diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index ce9860d..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Build and Deploy Flutter Web - -on: - push: - branches: - - main -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up Flutter - uses: subosito/flutter-action@v1 - with: - channel: 'stable' - - name: Get dependencies - run: | - cd example - flutter pub get - - uses: bluefireteam/flutter-gh-pages@v7 - with: - workingDir: example - baseHref: /flutter_document_scan_sdk/ diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 96486fd..0000000 --- a/.gitignore +++ /dev/null @@ -1,30 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. -/pubspec.lock -**/doc/api/ -.dart_tool/ -.packages -build/ diff --git a/.last_build_id b/.last_build_id new file mode 100644 index 0000000..737ce72 --- /dev/null +++ b/.last_build_id @@ -0,0 +1 @@ +d8597bb1535f729b031be609327c6a4b \ No newline at end of file diff --git a/.metadata b/.metadata deleted file mode 100644 index 45a40f1..0000000 --- a/.metadata +++ /dev/null @@ -1,42 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled. - -version: - revision: eb6d86ee27deecba4a83536aa20f366a6044895c - channel: stable - -project_type: plugin - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - - platform: android - create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - - platform: ios - create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - - platform: linux - create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - - platform: web - create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - - platform: windows - create_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - base_revision: eb6d86ee27deecba4a83536aa20f366a6044895c - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 68c1696..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "files.associations": { - "algorithm": "cpp", - "any": "cpp", - "atomic": "cpp", - "bit": "cpp", - "cctype": "cpp", - "charconv": "cpp", - "chrono": "cpp", - "clocale": "cpp", - "cmath": "cpp", - "compare": "cpp", - "concepts": "cpp", - "cstddef": "cpp", - "cstdint": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cstring": "cpp", - "ctime": "cpp", - "cwchar": "cpp", - "exception": "cpp", - "format": "cpp", - "forward_list": "cpp", - "functional": "cpp", - "initializer_list": "cpp", - "iomanip": "cpp", - "ios": "cpp", - "iosfwd": "cpp", - "iostream": "cpp", - "istream": "cpp", - "iterator": "cpp", - "limits": "cpp", - "list": "cpp", - "locale": "cpp", - "map": "cpp", - "memory": "cpp", - "mutex": "cpp", - "new": "cpp", - "optional": "cpp", - "ostream": "cpp", - "ratio": "cpp", - "set": "cpp", - "sstream": "cpp", - "stdexcept": "cpp", - "stop_token": "cpp", - "streambuf": "cpp", - "string": "cpp", - "system_error": "cpp", - "thread": "cpp", - "tuple": "cpp", - "type_traits": "cpp", - "typeinfo": "cpp", - "unordered_map": "cpp", - "utility": "cpp", - "variant": "cpp", - "vector": "cpp", - "xfacet": "cpp", - "xhash": "cpp", - "xiosbase": "cpp", - "xlocale": "cpp", - "xlocbuf": "cpp", - "xlocinfo": "cpp", - "xlocmes": "cpp", - "xlocmon": "cpp", - "xlocnum": "cpp", - "xloctime": "cpp", - "xmemory": "cpp", - "xstddef": "cpp", - "xstring": "cpp", - "xtr1common": "cpp", - "xtree": "cpp", - "xutility": "cpp", - "condition_variable": "cpp", - "deque": "cpp", - "queue": "cpp" - }, - "java.configuration.updateBuildConfiguration": "automatic", - "editor.formatOnSave": true -} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 5bcdaa8..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,42 +0,0 @@ -## 1.1.2 -- Support AGP 8 for Android. - -## 1.1.1 -- Adjusted the `ThresholdCompensation` value from 9 to 10 in the template file. - -## 1.1.0 -- Updated DDN iOS to v1.0.30. - -## 1.0.3 -- Fixed dependency issue for iOS. - -## 1.0.2 -- Updated DDN Android to v1.0.30. - -## 1.0.1 -- Instead of the `save()` method, use Dart APIs to save the image to a file. -- Added camera scanner to the example code, supporting Windows, Android, iOS and web. - -## 1.0.0 -- Added `normalizeBuffer()` and `detectBuffer()` for Linux, Android, iOS and web. - -## 0.5.0 -- Renamed `normalize()` to `normalizeFile`. -- Renamed `detect()` to `detectFile`. -- Added `normalizeBuffer()` and `detectBuffer()` for Windows. - -## 0.4.0 -- Updated example code to support quadrilateral editing. -- Updated DDNJS to 1.0.12. -- Fixed JS normalize function based on quadrilateral points. - -## 0.3.0 -* Supported Android and iOS. - -## 0.2.0 -* Supported Windows and Linux. -* Updated the example code. - -## 0.1.0 - -* Encapsulated Dynamsoft Document Normalizer for web development. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index a0b4bcc..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Xiao Ling - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index ddd1036..0000000 --- a/README.md +++ /dev/null @@ -1,137 +0,0 @@ -# flutter_document_scan_sdk -The Flutter plugin is a wrapper for Dynamsoft's [Document Normalizer SDK v1.x](https://www.dynamsoft.com/document-normalizer/docs/introduction/). It enables you to build document rectification applications for **Windows**, **Linux**, **web**, **Android** and **iOS**. - -## Try Document Rectification Example - -### Desktop: Windows & Linux - - -**Windows** - -```bash -cd example -flutter run -d windows -``` - -![Flutter windows document edge detection and normalization](https://www.dynamsoft.com/codepool/img/2022/12/flutter-windows-desktop-document-scanner.png) - - -**Linux** - -```bash -cd example -flutter run -d linux -``` - -![Flutter Linux document edge detection and normalization](https://www.dynamsoft.com/codepool/img/2022/12/flutter-linux-desktop-document-scanner.png) - -### Web -```bash -cd example -flutter run -d chrome -``` - -![Flutter web document edge detection and normalization](https://www.dynamsoft.com/codepool/img/2023/05/document-edge-edit.png) - -### Mobile: Android & iOS - -```bash -cd example -flutter run -``` - -![Flutter document rectification for Android and iOS](https://www.dynamsoft.com/codepool/img/2023/02/flutter-document-rectification-android-ios.jpg) - -## Getting a License Key for Dynamsoft Document Normalizer -[![](https://img.shields.io/badge/Get-30--day%20FREE%20Trial-blue)](https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform) - -## Supported Platforms -- Web -- Windows -- Linux -- Android -- iOS - -## Installation -Add `flutter_document_scan_sdk` as a dependency in your `pubspec.yaml` file. - -```yml -dependencies: - ... - flutter_document_scan_sdk: -``` - -### One More Step for Web -Include the JavaScript library of Dynamsoft Document Normalizer in your `index.html` file: - -```html - -``` - -## API Compatibility -| Methods | Android | iOS | Windows | Linux | Web| -| ----------- | ----------- | ----------- | ----------- |----------- |----------- | -| `Future init(String key)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | -| `Future?> detectFile(String file)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | :heavy_check_mark: | -| `Future normalizeFile(String file, dynamic points)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | :heavy_check_mark: | -| `Future setParameters(String params)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | -| `Future getParameters()` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | -| `Future?> detectBuffer(Uint8List bytes, int width, int height, int stride, int format)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | :heavy_check_mark: | -| `Future normalizeBuffer(Uint8List bytes, int width, int height, int stride, int format, dynamic points)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | :heavy_check_mark: | - -## Usage -- Initialize the document rectification SDK with a valid license key: - - ```dart - final _flutterDocumentScanSdkPlugin = FlutterDocumentScanSdk(); - await _flutterDocumentScanSdkPlugin.init( - "LICENSE-KEY"); - - await _flutterDocumentScanSdkPlugin.setParameters(Template.grayscale); - ``` - -- Do document edge detection and return quadrilaterals: - - ```dart - List? detectionResults = - await _flutterDocumentScanSdkPlugin - .detectFile(file); - ``` -- Detect document edges from a buffer: - - ```dart - List? detectionResults = - await _flutterDocumentScanSdkPlugin - .detectBuffer(bytes, width, height, stride, format); - ``` -- Rectify the document based on document corners: - - ```dart - NormalizedImage? normalizedImage = await _flutterDocumentScanSdkPlugin.normalizeFile( - file, detectionResults[0].points); - ``` -- Rectify the document based on document corners from a buffer: - - ```dart - NormalizedImage? normalizedImage = await _flutterDocumentScanSdkPlugin.normalizeBuffer( - bytes, width, height, stride, format, detectionResults[0].points); - ``` -- Save the rectified document image to a file: - - ```dart - if (normalizedUiImage != null) { - const String mimeType = 'image/png'; - ByteData? data = await normalizedUiImage! - .toByteData(format: ui.ImageByteFormat.png); - if (data != null) { - final XFile imageFile = XFile.fromData( - data.buffer.asUint8List(), - mimeType: mimeType, - ); - await imageFile.saveTo(path); - } - } - ``` - - - diff --git a/analysis_options.yaml b/analysis_options.yaml deleted file mode 100644 index a5744c1..0000000 --- a/analysis_options.yaml +++ /dev/null @@ -1,4 +0,0 @@ -include: package:flutter_lints/flutter.yaml - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore deleted file mode 100644 index 161bdcd..0000000 --- a/android/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/workspace.xml -/.idea/libraries -.DS_Store -/build -/captures -.cxx diff --git a/android/build.gradle b/android/build.gradle deleted file mode 100644 index 722c943..0000000 --- a/android/build.gradle +++ /dev/null @@ -1,46 +0,0 @@ -group 'com.dynamsoft.flutter_document_scan_sdk' -version '1.0' - -buildscript { - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' - } -} - -rootProject.allprojects { - repositories { - maven { - url "https://download2.dynamsoft.com/maven/aar" - } - google() - mavenCentral() - } -} - -apply plugin: 'com.android.library' - -android { - if (project.android.hasProperty('namespace')) { - namespace 'com.dynamsoft.flutter_document_scan_sdk' - } - - compileSdkVersion 31 - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - defaultConfig { - minSdkVersion 21 - } -} - -dependencies { - implementation 'com.dynamsoft:dynamsoftdocumentnormalizer:1.0.30' -} \ No newline at end of file diff --git a/android/settings.gradle b/android/settings.gradle deleted file mode 100644 index 741bbbf..0000000 --- a/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'flutter_document_scan_sdk' diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml deleted file mode 100644 index 679e323..0000000 --- a/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,3 +0,0 @@ - - diff --git a/android/src/main/java/com/dynamsoft/flutter_document_scan_sdk/FlutterDocumentScanSdkPlugin.java b/android/src/main/java/com/dynamsoft/flutter_document_scan_sdk/FlutterDocumentScanSdkPlugin.java deleted file mode 100644 index 67a79da..0000000 --- a/android/src/main/java/com/dynamsoft/flutter_document_scan_sdk/FlutterDocumentScanSdkPlugin.java +++ /dev/null @@ -1,433 +0,0 @@ -package com.dynamsoft.flutter_document_scan_sdk; - -import androidx.annotation.NonNull; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Looper; - -import io.flutter.embedding.engine.plugins.FlutterPlugin; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; - -import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding; -import io.flutter.embedding.engine.plugins.activity.ActivityAware; -import android.app.Activity; - -import java.util.concurrent.Executor; -import java.util.concurrent.Executors; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.dynamsoft.core.ImageData; -import com.dynamsoft.core.CoreException; -import com.dynamsoft.core.LicenseManager; -import com.dynamsoft.core.LicenseVerificationListener; -import com.dynamsoft.core.EnumImagePixelFormat; -import com.dynamsoft.core.Quadrilateral; - -import com.dynamsoft.ddn.DocumentNormalizer; -import com.dynamsoft.ddn.DetectedQuadResult; -import com.dynamsoft.ddn.DocumentNormalizerException; -import com.dynamsoft.ddn.NormalizedImageResult; - -import android.graphics.Point; - -/** FlutterDocumentScanSdkPlugin */ -public class FlutterDocumentScanSdkPlugin implements FlutterPlugin, MethodCallHandler, ActivityAware { - /// The MethodChannel that will the communication between Flutter and native Android - /// - /// This local reference serves to register the plugin with the Flutter Engine and unregister it - /// when the Flutter Engine is detached from the Activity - private MethodChannel channel; - private HandlerThread mHandlerThread; - private Handler mHandler; - private final Executor mExecutor; - private FlutterPluginBinding flutterPluginBinding; - private Activity activity; - private DocumentNormalizer mNormalizer; - private NormalizedImageResult mNormalizedImage; - - public FlutterDocumentScanSdkPlugin() { - mHandler = new Handler(Looper.getMainLooper()); - mExecutor = Executors.newSingleThreadExecutor(); - - try { - mNormalizer = new DocumentNormalizer(); - } catch (DocumentNormalizerException e) { - e.printStackTrace(); - } - } - - @Override - public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) { - channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "flutter_document_scan_sdk"); - channel.setMethodCallHandler(this); - this.flutterPluginBinding = flutterPluginBinding; - } - - @Override - public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) { - switch (call.method) { - case "getPlatformVersion": { - result.success("Android " + android.os.Build.VERSION.RELEASE); - break; - } - case "init": { - final String license = call.argument("key"); - LicenseManager.initLicense( - license, activity, - new LicenseVerificationListener() { - @Override - public void licenseVerificationCallback(boolean isSuccessful, CoreException e) { - if (isSuccessful) - { - result.success(0); - } - else { - result.success(-1); - } - } - }); - break; - } - case "setParameters": { - final String params = call.argument("params"); - try { - mNormalizer.initRuntimeSettingsFromString(params); - result.success(0); - } catch (DocumentNormalizerException e) { - result.success(-1); - } - - break; - } - case "getParameters": { - String parameters = ""; - if (mNormalizer != null) { - try { - parameters = mNormalizer.outputRuntimeSettings(""); - } catch (Exception e) { - // TODO: handle exception - } - } - result.success(parameters); - break; - } - case "detectBuffer": { - List> out = new ArrayList<>(); - final byte[] bytes = call.argument("bytes"); - final int width = call.argument("width"); - final int height = call.argument("height"); - final int stride = call.argument("stride"); - final int format = call.argument("format"); - final Result r = result; - mExecutor.execute(new Runnable() { - @Override - public void run() { - ImageData imageData = new ImageData(); - imageData.bytes = bytes; - imageData.width = width; - imageData.height = height; - imageData.stride = stride; - imageData.format = format; - - List> tmp = new ArrayList<>(); - try { - DetectedQuadResult[] detectedResults = mNormalizer.detectQuad(imageData); - tmp = WrapResults(detectedResults); - } catch (DocumentNormalizerException e) { - e.printStackTrace(); - } - - final List> out = tmp; - mHandler.post(new Runnable() { - @Override - public void run() { - r.success(out); - } - }); - } - }); - break; - } - case "normalizeBuffer": { - Map map = new HashMap<>(); - - final byte[] bytes = call.argument("bytes"); - final int width = call.argument("width"); - final int height = call.argument("height"); - final int stride = call.argument("stride"); - final int format = call.argument("format"); - final int x1 = call.argument("x1"); - final int y1 = call.argument("y1"); - final int x2 = call.argument("x2"); - final int y2 = call.argument("y2"); - final int x3 = call.argument("x3"); - final int y3 = call.argument("y3"); - final int x4 = call.argument("x4"); - final int y4 = call.argument("y4"); - - ImageData buffer = new ImageData(); - buffer.bytes = bytes; - buffer.width = width; - buffer.height = height; - buffer.stride = stride; - buffer.format = format; - - try { - Quadrilateral quad = new Quadrilateral(); - quad.points = new Point[4]; - quad.points[0] = new Point(x1, y1); - quad.points[1] = new Point(x2, y2); - quad.points[2] = new Point(x3, y3); - quad.points[3] = new Point(x4, y4); - mNormalizedImage = mNormalizer.normalize(buffer, quad); - - map = createNormalizedImage(); - } catch (DocumentNormalizerException e) { - e.printStackTrace(); - } - - result.success(map); - break; - } - case "detectFile": { - final String filename = call.argument("file"); - List> out = new ArrayList<>(); - try { - DetectedQuadResult[] detectedResults = mNormalizer.detectQuad(filename); - out = WrapResults(detectedResults); - } catch (DocumentNormalizerException e) { - e.printStackTrace(); - } - result.success(out); - break; - } - case "normalizeFile": { - final String filename = call.argument("file"); - final int x1 = call.argument("x1"); - final int y1 = call.argument("y1"); - final int x2 = call.argument("x2"); - final int y2 = call.argument("y2"); - final int x3 = call.argument("x3"); - final int y3 = call.argument("y3"); - final int x4 = call.argument("x4"); - final int y4 = call.argument("y4"); - - Map map = new HashMap<>(); - try { - Quadrilateral quad = new Quadrilateral(); - quad.points = new Point[4]; - quad.points[0] = new Point(x1, y1); - quad.points[1] = new Point(x2, y2); - quad.points[2] = new Point(x3, y3); - quad.points[3] = new Point(x4, y4); - mNormalizedImage = mNormalizer.normalize(filename, quad); - - map = createNormalizedImage(); - } catch (DocumentNormalizerException e) { - e.printStackTrace(); - } - - result.success(map); - break; - } - case "save": { - final String filename = call.argument("filename"); - if (mNormalizedImage != null) { - try { - mNormalizedImage.saveToFile(filename); - } catch (Exception e) { - - } - } - result.success(0); - break; - } - default: - result.notImplemented(); - } - } - - List> WrapResults(DetectedQuadResult[] detectedResults) { - List> out = new ArrayList<>(); - if (detectedResults != null && detectedResults.length > 0) { - for (int i = 0; i < detectedResults.length; i++) { - Map map = new HashMap<>(); - - DetectedQuadResult detectedResult = detectedResults[i]; - int confidence = detectedResult.confidenceAsDocumentBoundary; - Point[] points = detectedResult.location.points; - int x1 = points[0].x; - int y1 = points[0].y; - int x2 = points[1].x; - int y2 = points[1].y; - int x3 = points[2].x; - int y3 = points[2].y; - int x4 = points[3].x; - int y4 = points[3].y; - - map.put("confidence", confidence); - map.put("x1", x1); - map.put("y1", y1); - map.put("x2", x2); - map.put("y2", y2); - map.put("x3", x3); - map.put("y3", y3); - map.put("x4", x4); - map.put("y4", y4); - - out.add(map); - } - } - return out; - } - - Map createNormalizedImage() { - Map map = new HashMap<>(); - - if (mNormalizedImage != null) { - ImageData imageData = mNormalizedImage.image; - int width = imageData.width; - int height = imageData.height; - int stride = imageData.stride; - int format = imageData.format; - byte[] data = imageData.bytes; - int length = imageData.bytes.length; - int orientation = imageData.orientation; - - map.put("width", width); - map.put("height", height); - map.put("stride", stride); - map.put("format", format); - map.put("orientation", orientation); - map.put("length", length); - - byte[] rgba = new byte[width * height * 4]; - - if (format == EnumImagePixelFormat.IPF_RGB_888) { - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - - rgba[index * 4] = data[dataIndex]; // red - rgba[index * 4 + 1] = data[dataIndex + 1]; // green - rgba[index * 4 + 2] = data[dataIndex + 2]; // blue - rgba[index * 4 + 3] = (byte)255; // alpha - dataIndex += 3; - } - } - } - else if (format == EnumImagePixelFormat.IPF_GRAYSCALED) { - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - rgba[index * 4] = data[dataIndex]; - rgba[index * 4 + 1] = data[dataIndex]; - rgba[index * 4 + 2] = data[dataIndex]; - rgba[index * 4 + 3] = (byte)255; - dataIndex += 1; - } - } - } - else if (format == EnumImagePixelFormat.IPF_BINARY) { - byte[] grayscale = new byte[width * height]; - binary2grayscale(data, grayscale, width, height, stride, length); - - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - rgba[index * 4] = grayscale[dataIndex]; - rgba[index * 4 + 1] = grayscale[dataIndex]; - rgba[index * 4 + 2] = grayscale[dataIndex]; - rgba[index * 4 + 3] = (byte)255; - dataIndex += 1; - } - } - } - - map.put("data", rgba); - } - - return map; - } - - void binary2grayscale(byte[] data, byte[] output, int width, int height, int stride, int length) { - int index = 0; - - int skip = stride * 8 - width; - int shift = 0; - int n = 1; - - for (int i = 0; i < length; ++i) - { - byte b = data[i]; - int byteCount = 7; - while (byteCount >= 0) - { - int tmp = (b & (1 << byteCount)) >> byteCount; - - if (shift < stride * 8 * n - skip) - { - if (tmp == 1) - output[index] = (byte)255; - else - output[index] = 0; - index += 1; - } - - byteCount -= 1; - shift += 1; - } - - if (shift == stride * 8 * n) - { - n += 1; - } - } - } - - @Override - public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { - channel.setMethodCallHandler(null); - flutterPluginBinding = null; - } - - private void bind(ActivityPluginBinding activityPluginBinding) { - activity = activityPluginBinding.getActivity(); - } - - @Override - public void onAttachedToActivity(ActivityPluginBinding activityPluginBinding) { - bind(activityPluginBinding); - } - - @Override - public void onReattachedToActivityForConfigChanges(ActivityPluginBinding activityPluginBinding) { - bind(activityPluginBinding); - } - - @Override - public void onDetachedFromActivityForConfigChanges() { - activity = null; - } - - @Override - public void onDetachedFromActivity() { - activity = null; - } -} diff --git a/assets/AssetManifest.bin b/assets/AssetManifest.bin new file mode 100644 index 0000000..8332c0f --- /dev/null +++ b/assets/AssetManifest.bin @@ -0,0 +1 @@ + images/icon-about-gray.png  assetimages/icon-about-gray.pngimages/icon-about-orange.png  assetimages/icon-about-orange.pngimages/icon-arrow-green.png  assetimages/icon-arrow-green.pngimages/icon-arrow-orange.png  assetimages/icon-arrow-orange.pngimages/icon-camera.png  assetimages/icon-camera.pngimages/icon-capture.png  assetimages/icon-capture.pngimages/icon-delete.png  assetimages/icon-delete.pngimages/icon-history-gray.png  assetimages/icon-history-gray.pngimages/icon-history-orange.png  assetimages/icon-history-orange.pngimages/icon-home-gray.png  assetimages/icon-home-gray.pngimages/icon-home-orange.png  assetimages/icon-home-orange.pngimages/icon-image.png  assetimages/icon-image.pngimages/image-document.png  assetimages/image-document.pngimages/logo-ddn.png  assetimages/logo-ddn.png2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf \ No newline at end of file diff --git a/assets/AssetManifest.bin.json b/assets/AssetManifest.bin.json new file mode 100644 index 0000000..4401303 --- /dev/null +++ b/assets/AssetManifest.bin.json @@ -0,0 +1 @@ +"DQ8HGmltYWdlcy9pY29uLWFib3V0LWdyYXkucG5nDAENAQcFYXNzZXQHGmltYWdlcy9pY29uLWFib3V0LWdyYXkucG5nBxxpbWFnZXMvaWNvbi1hYm91dC1vcmFuZ2UucG5nDAENAQcFYXNzZXQHHGltYWdlcy9pY29uLWFib3V0LW9yYW5nZS5wbmcHG2ltYWdlcy9pY29uLWFycm93LWdyZWVuLnBuZwwBDQEHBWFzc2V0BxtpbWFnZXMvaWNvbi1hcnJvdy1ncmVlbi5wbmcHHGltYWdlcy9pY29uLWFycm93LW9yYW5nZS5wbmcMAQ0BBwVhc3NldAccaW1hZ2VzL2ljb24tYXJyb3ctb3JhbmdlLnBuZwcWaW1hZ2VzL2ljb24tY2FtZXJhLnBuZwwBDQEHBWFzc2V0BxZpbWFnZXMvaWNvbi1jYW1lcmEucG5nBxdpbWFnZXMvaWNvbi1jYXB0dXJlLnBuZwwBDQEHBWFzc2V0BxdpbWFnZXMvaWNvbi1jYXB0dXJlLnBuZwcWaW1hZ2VzL2ljb24tZGVsZXRlLnBuZwwBDQEHBWFzc2V0BxZpbWFnZXMvaWNvbi1kZWxldGUucG5nBxxpbWFnZXMvaWNvbi1oaXN0b3J5LWdyYXkucG5nDAENAQcFYXNzZXQHHGltYWdlcy9pY29uLWhpc3RvcnktZ3JheS5wbmcHHmltYWdlcy9pY29uLWhpc3Rvcnktb3JhbmdlLnBuZwwBDQEHBWFzc2V0Bx5pbWFnZXMvaWNvbi1oaXN0b3J5LW9yYW5nZS5wbmcHGWltYWdlcy9pY29uLWhvbWUtZ3JheS5wbmcMAQ0BBwVhc3NldAcZaW1hZ2VzL2ljb24taG9tZS1ncmF5LnBuZwcbaW1hZ2VzL2ljb24taG9tZS1vcmFuZ2UucG5nDAENAQcFYXNzZXQHG2ltYWdlcy9pY29uLWhvbWUtb3JhbmdlLnBuZwcVaW1hZ2VzL2ljb24taW1hZ2UucG5nDAENAQcFYXNzZXQHFWltYWdlcy9pY29uLWltYWdlLnBuZwcZaW1hZ2VzL2ltYWdlLWRvY3VtZW50LnBuZwwBDQEHBWFzc2V0BxlpbWFnZXMvaW1hZ2UtZG9jdW1lbnQucG5nBxNpbWFnZXMvbG9nby1kZG4ucG5nDAENAQcFYXNzZXQHE2ltYWdlcy9sb2dvLWRkbi5wbmcHMnBhY2thZ2VzL2N1cGVydGlub19pY29ucy9hc3NldHMvQ3VwZXJ0aW5vSWNvbnMudHRmDAENAQcFYXNzZXQHMnBhY2thZ2VzL2N1cGVydGlub19pY29ucy9hc3NldHMvQ3VwZXJ0aW5vSWNvbnMudHRm" \ No newline at end of file diff --git a/assets/AssetManifest.json b/assets/AssetManifest.json new file mode 100644 index 0000000..8bb8e2b --- /dev/null +++ b/assets/AssetManifest.json @@ -0,0 +1 @@ +{"images/icon-about-gray.png":["images/icon-about-gray.png"],"images/icon-about-orange.png":["images/icon-about-orange.png"],"images/icon-arrow-green.png":["images/icon-arrow-green.png"],"images/icon-arrow-orange.png":["images/icon-arrow-orange.png"],"images/icon-camera.png":["images/icon-camera.png"],"images/icon-capture.png":["images/icon-capture.png"],"images/icon-delete.png":["images/icon-delete.png"],"images/icon-history-gray.png":["images/icon-history-gray.png"],"images/icon-history-orange.png":["images/icon-history-orange.png"],"images/icon-home-gray.png":["images/icon-home-gray.png"],"images/icon-home-orange.png":["images/icon-home-orange.png"],"images/icon-image.png":["images/icon-image.png"],"images/image-document.png":["images/image-document.png"],"images/logo-ddn.png":["images/logo-ddn.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]} \ No newline at end of file diff --git a/assets/FontManifest.json b/assets/FontManifest.json new file mode 100644 index 0000000..464ab58 --- /dev/null +++ b/assets/FontManifest.json @@ -0,0 +1 @@ +[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}] \ No newline at end of file diff --git a/assets/NOTICES b/assets/NOTICES new file mode 100644 index 0000000..d6eb7bc --- /dev/null +++ b/assets/NOTICES @@ -0,0 +1,35048 @@ +aFileChooser + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2011 - 2013 Paul Burke + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +abseil-cpp + +Apache License +Version 2.0, January 2004 +https://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +abseil-cpp +angle +cpu_features +dart +etc1 +expat +flatbuffers +fuchsia_sdk +glslang +perfetto +shaderc +spirv-cross +txt +vulkan +vulkan-headers +vulkan-utility-libraries +vulkan-validation-layers +wuffs + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2009 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2010 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2012 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2014 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2013 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2016 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2019 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2020 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle + +Copyright (c) 2011 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle + +Copyright (c) 2013 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle + +Copyright 2017 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle +icu + +Copyright 2014 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle +skia + +Copyright 2018 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +engine +image_picker +spring_animation +tonic +txt +url_launcher_web +web_test_fonts +web_unicode + +Copyright 2013 The Flutter Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +skia + +Copyright 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2008-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2013-2017 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2013-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2020 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2002 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2010 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2011 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2012 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2013 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2013-2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +angle + +Copyright 2014 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2015 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2016 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2017 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2018 The ANGLE Project Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2018 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2019 The ANGLE Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2020 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2020 The ANGLE Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2021 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2021 The ANGLE Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2021-2022 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2022 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2023 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle +xxhash + +Copyright 2019 The ANGLE Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. + Ltd., nor the names of their contributors may be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +async +collection +mime +stream_channel +typed_data + +Copyright 2015, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +boolean_selector +meta + +Copyright 2016, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +boringssl + +Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +The licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] +-------------------------------------------------------------------------------- +boringssl + +Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +The licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2003 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2004 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2003 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2007 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2008 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2003 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2001 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2002-2006 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2003 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2004 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2005 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2006 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2006,2007 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2008 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2010 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2012 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2013 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2014, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2015, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2016, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2017, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2017, the HRSS authors. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2018, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2018, Google Inc. +Copyright (c) 2020, Arm Ltd. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2019, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2020, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2021, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2022, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2022, Robert Nagy + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2023, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + +Portions of the attached software ("Contribution") are developed by +SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + +The Contribution is licensed pursuant to the Eric Young open source +license provided above. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + +Portions of the attached software ("Contribution") are developed by +SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + +The Contribution is licensed pursuant to the OpenSSL open source +license provided above. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. +ECC cipher suite support in OpenSSL originally developed by +SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. +ECDH support in OpenSSL originally developed by +SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2005 Nokia. All rights reserved. + +The portions of the attached software ("Contribution") is developed by +Nokia Corporation and is licensed pursuant to the OpenSSL open source +license. + +The Contribution, originally written by Mika Kousa and Pasi Eronen of +Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites +support (see RFC 4279) to OpenSSL. + +No patent licenses or other rights except those expressly stated in +the OpenSSL open source license shall be deemed granted or received +expressly, by implication, estoppel, or otherwise. + +No assurances are provided by Nokia that the Contribution does not +infringe the patent or other intellectual property rights of any third +party or that the license provides you with all the necessary rights +to make use of the Contribution. + +THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN +ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA +SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY +OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR +OTHERWISE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2010 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2011 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2012 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2012, Intel Corporation. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2014, Intel Corporation. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2015, Intel Inc. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2015 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2016 Brian Smith. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2016 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2017 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2019 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2022 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2023 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +boringssl + +DTLS code by Eric Rescorla + +Copyright (C) 2006, Network Resonance, Inc. +Copyright (C) 2011, RTFM, Inc. +-------------------------------------------------------------------------------- +boringssl + +OpenSSL License +--------------- + +Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + + +This product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). + +Original SSLeay License +----------------------- + +Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +The licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] + +ISC license used for completely new code in BoringSSL: + +Copyright (c) 2015, Google Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +The code in third_party/fiat carries the MIT license: + +Copyright (c) 2015-2016 the fiat-crypto authors (see +https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Licenses for support code +------------------------- + +Parts of the TLS test suite are under the Go license. This code is not included +in BoringSSL (i.e. libcrypto and libssl) when compiled, however, so +distributing code linked against BoringSSL does not trigger this license: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +BoringSSL uses the Chromium test infrastructure to run a continuous build, +trybots etc. The scripts which manage this, and the script for generating build +metadata, are under the Chromium license. Distributing code linked against +BoringSSL does not trigger this license. + +Copyright 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +camera +camera_android_camerax +camera_avfoundation +camera_platform_interface +camera_web +camera_windows +cross_file +file_selector_linux +file_selector_macos +file_selector_platform_interface +file_selector_windows +flutter_lints +flutter_plugin_android_lifecycle +image_picker_for_web +image_picker_linux +image_picker_macos +image_picker_platform_interface +image_picker_windows +path_provider +path_provider_android +path_provider_foundation +path_provider_linux +path_provider_platform_interface +path_provider_windows +plugin_platform_interface +shared_preferences +shared_preferences_android +shared_preferences_foundation +shared_preferences_linux +shared_preferences_platform_interface +shared_preferences_web +shared_preferences_windows +url_launcher +url_launcher_android +url_launcher_ios +url_launcher_linux +url_launcher_macos +url_launcher_platform_interface +url_launcher_windows +xdg_directories + +Copyright 2013 The Flutter Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +ceval + +Copyright (c) 2021 e_t + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +characters +ffi + +Copyright 2019, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +clock +fake_async + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +cpu_features + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +For files in the `ndk_compat` folder: + + +Copyright (C) 2010 The Android Open Source Project +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +-------------------------------------------------------------------------------- +cpu_features + +Copyright (C) 2010 The Android Open Source Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +-------------------------------------------------------------------------------- +crypto +vm_service + +Copyright 2015, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +cupertino_icons + +The MIT License (MIT) + +Copyright (c) 2016 Vladimir Kharlampidi + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2003-2005 Tom Wu +Copyright (c) 2012 Adam Singer (adam@solvr.io) +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, +INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF +THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +In addition, the following condition applies: + +All redistributions must retain an intact copy of this copyright notice +and disclaimer. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2010, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2014 The Polymer Project Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright 2012, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +double-conversion +icu + +Copyright 2006-2008 the V8 project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +double-conversion +icu + +Copyright 2010 the V8 project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +double-conversion +icu + +Copyright 2012 the V8 project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +engine + +License for the Ahem font embedded below is from: +https://www.w3.org/Style/CSS/Test/Fonts/Ahem/COPYING + +The Ahem font in this directory belongs to the public domain. In +jurisdictions that do not recognize public domain ownership of these +files, the following Creative Commons Zero declaration applies: + + + +which is quoted below: + + The person who has associated a work with this document (the "Work") + affirms that he or she (the "Affirmer") is the/an author or owner of + the Work. The Work may be any work of authorship, including a + database. + + The Affirmer hereby fully, permanently and irrevocably waives and + relinquishes all of her or his copyright and related or neighboring + legal rights in the Work available under any federal or state law, + treaty or contract, including but not limited to moral rights, + publicity and privacy rights, rights protecting against unfair + competition and any rights protecting the extraction, dissemination + and reuse of data, whether such rights are present or future, vested + or contingent (the "Waiver"). The Affirmer makes the Waiver for the + benefit of the public at large and to the detriment of the Affirmer's + heirs or successors. + + The Affirmer understands and intends that the Waiver has the effect + of eliminating and entirely removing from the Affirmer's control all + the copyright and related or neighboring legal rights previously held + by the Affirmer in the Work, to that extent making the Work freely + available to the public for any and all uses and purposes without + restriction of any kind, including commercial use and uses in media + and formats or by methods that have not yet been invented or + conceived. Should the Waiver for any reason be judged legally + ineffective in any jurisdiction, the Affirmer hereby grants a free, + full, permanent, irrevocable, nonexclusive and worldwide license for + all her or his copyright and related or neighboring legal rights in + the Work. +-------------------------------------------------------------------------------- +etc_decoder + +Copyright (c) 2020-2022 Hans-Kristian Arntzen + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2004 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016-2019 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Yury Gribov + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2005 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2017 Rhodri James +Copyright (c) 2022 Thijs Schreijer + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2006 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016 Eric Rahm +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2016 Gaurav +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2016 Gustavo Grieco +Copyright (c) 2016 Pascal Cuoq +Copyright (c) 2016 Ed Schouten +Copyright (c) 2017-2022 Rhodri James +Copyright (c) 2017 Václav Slavík +Copyright (c) 2017 Viktor Szakats +Copyright (c) 2017 Chanho Park +Copyright (c) 2017 Rolf Eike Beer +Copyright (c) 2017 Hans Wennborg +Copyright (c) 2018 Anton Maklakov +Copyright (c) 2018 Benjamin Peterson +Copyright (c) 2018 Marco Maggi +Copyright (c) 2018 Mariusz Zaborski +Copyright (c) 2019 David Loffredo +Copyright (c) 2019-2020 Ben Wagner +Copyright (c) 2019 Vadim Zeitlin +Copyright (c) 2021 Dong-hee Na +Copyright (c) 2022 Samanta Navarro +Copyright (c) 2022 Jeffrey Walton +Copyright (c) 2022 Jann Horn + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2002 Fred L. Drake, Jr. +Copyright (c) 2006 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2016 Pascal Cuoq +Copyright (c) 2016 Don Lewis +Copyright (c) 2017 Rhodri James +Copyright (c) 2017 Alexander Bluhm +Copyright (c) 2017 Benbuck Nason +Copyright (c) 2017 José Gutiérrez de la Concha +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Dong-hee Na +Copyright (c) 2022 Martin Ettl + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2009 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2020 Joe Orton +Copyright (c) 2020 Kleber Tarcísio +Copyright (c) 2021 Tim Bray +Copyright (c) 2022 Martin Ettl + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2004 Fred L. Drake, Jr. +Copyright (c) 2002-2009 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2017 Franek Korta + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2005 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Benjamin Peterson +Copyright (c) 2018 Anton Maklakov +Copyright (c) 2019 David Loffredo +Copyright (c) 2020 Boris Kolpackov +Copyright (c) 2022 Martin Ettl + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2005 Karl Waclawek +Copyright (c) 2016-2019 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2005-2006 Karl Waclawek +Copyright (c) 2016-2019 Sebastian Pipping +Copyright (c) 2019 David Loffredo + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2022 Martin Ettl + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2017-2021 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Dong-hee Na + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Karl Waclawek +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2006 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Dong-hee Na + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2017-2019 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2018 Sebastian Pipping +Copyright (c) 2018 Marco Maggi + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2016-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001-2022 Expat maintainers + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1999-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2007 Karl Waclawek +Copyright (c) 2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2005 Karl Waclawek +Copyright (c) 2017-2021 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 2000 Clark Cooper +Copyright (c) 2017 Sebastian Pipping + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2003 Greg Stein +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2018 Yury Gribov +Copyright (c) 2019 David Loffredo + +Licensed under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat +harfbuzz + +Copyright (c) 2021 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fallback_root_certificates + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + +You may obtain a copy of this library's Source Code Form from: https://dart.googlesource.com/sdk/+/ffc8bb004a64f6357e3d5d1185e974e966f00931 +/third_party/fallback_root_certificates/ + +-------------------------------------------------------------------------------- +ffx_spd + +Copyright (c) 2017-2019 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) <2014> + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +ffx_spd + +Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +fiat + +Copyright (c) 2015-2020 the fiat-crypto authors (see + +https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +file + +Copyright 2017, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fixnum +stack_trace + +Copyright 2014, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +flatbuffers + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright 2014 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +flutter + +Copyright 2014 The Flutter Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +flutter_document_scan_sdk + +MIT License + +Copyright (c) 2022 Xiao Ling + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +flutter_exif_rotation + +BSD 3-Clause License + +Copyright (c) 2019, Nadia Ghebreial +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2000, 2001, 2002, 2003, 2006, 2010 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2000-2004, 2006-2011, 2013, 2014 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2001, 2002 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2001, 2002, 2003, 2004 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright (C) 2001-2008, 2011, 2013, 2014 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 1990, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2004, 2011 Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2014 + Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2015 + Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000, 2001, 2004 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000-2001, 2002 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000-2001, 2003 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000-2010, 2012-2014 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2001, 2002, 2012 Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2003 by +Francesco Zappa Nardelli + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 + +The FreeType Project LICENSE +---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org + + +--- end of FTL.TXT --- +-------------------------------------------------------------------------------- +freetype2 + +This software was written by Alexander Peslyak in 2001. No copyright is +claimed, and the software is hereby placed in the public domain. +In case this attempt to disclaim copyright and place the software in the +public domain is deemed null and void, then the software is +Copyright (c) 2001 Alexander Peslyak and it is hereby released to the +general public under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted. + +There's ABSOLUTELY NO WARRANTY, express or implied. +-------------------------------------------------------------------------------- +freetype2 + +This software was written by Alexander Peslyak in 2001. No copyright is +claimed, and the software is hereby placed in the public domain. +In case this attempt to disclaim copyright and place the software in the +public domain is deemed null and void, then the software is +Copyright (c) 2001 Alexander Peslyak and it is hereby released to the +general public under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted. + +There's ABSOLUTELY NO WARRANTY, express or implied. + +(This is a heavily cut-down "BSD license".) +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2014 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2016 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2017 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2018 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2019 The Fuchsia Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2019 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2020 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2021 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2022 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2023 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2024 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +musl as a whole is licensed under the following standard MIT license: + + +Copyright © 2005-2014 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Authors/contributors include: + +Alex Dowad +Alexander Monakov +Anthony G. Basile +Arvid Picciani +Bobby Bingham +Boris Brezillon +Brent Cook +Chris Spiegel +Clément Vasseur +Daniel Micay +Denys Vlasenko +Emil Renner Berthing +Felix Fietkau +Felix Janda +Gianluca Anzolin +Hauke Mehrtens +Hiltjo Posthuma +Isaac Dunham +Jaydeep Patil +Jens Gustedt +Jeremy Huntwork +Jo-Philipp Wich +Joakim Sindholt +John Spencer +Josiah Worcester +Justin Cormack +Khem Raj +Kylie McClain +Luca Barbato +Luka Perkov +M Farkas-Dyck (Strake) +Mahesh Bodapati +Michael Forney +Natanael Copa +Nicholas J. Kain +orc +Pascal Cuoq +Petr Hosek +Pierre Carrier +Rich Felker +Richard Pennington +Shiz +sin +Solar Designer +Stefan Kristiansson +Szabolcs Nagy +Timo Teräs +Trutz Behn +Valentin Ochs +William Haddon + +Portions of this software are derived from third-party works licensed +under terms compatible with the above MIT license: + +Much of the math library code (third_party/math/* and +third_party/complex/*, and third_party/include/libm.h) is +Copyright © 1993,2004 Sun Microsystems or +Copyright © 2003-2011 David Schultz or +Copyright © 2003-2009 Steven G. Kargl or +Copyright © 2003-2009 Bruce D. Evans or +Copyright © 2008 Stephen L. Moshier +and labelled as such in comments in the individual source files. All +have been licensed under extremely permissive terms. + +The smoothsort implementation (third_party/smoothsort/qsort.c) is +Copyright © 2011 Valentin Ochs and is licensed under an MIT-style +license. + +The x86_64 files in third_party/arch were written by Nicholas J. Kain +and is licensed under the standard MIT terms. + +All other files which have no copyright comments are original works +produced specifically for use as part of this library, written either +by Rich Felker, the main author of the library, or by one or more +contibutors listed above. Details on authorship of individual files +can be found in the git version control history of the project. The +omission of copyright and license comments in each file is in the +interest of source tree size. + +In addition, permission is hereby granted for all public header files +(include/* and arch/*/bits/*) and crt files intended to be linked into +applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit +the copyright notice and permission notice otherwise required by the +license, and to use these files without any requirement of +attribution. These files include substantial contributions from: + +Bobby Bingham +John Spencer +Nicholas J. Kain +Rich Felker +Richard Pennington +Stefan Kristiansson +Szabolcs Nagy + +all of whom have explicitly granted such permission. + +This file previously contained text expressing a belief that most of +the files covered by the above exception were sufficiently trivial not +to be subject to copyright, resulting in confusion over whether it +negated the permissions granted in the license. In the spirit of +permissive licensing, and of not having licensing issues being an +obstacle to adoption, that text has been removed. +-------------------------------------------------------------------------------- +glfw + +Copyright (C) 1997-2013 Sam Lantinga + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the +use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard + +Copyright (c) 2006-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2016 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2018 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2019 Camilla Löwy +Copyright (c) 2012 Torsten Walluhn + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2006-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2006-2018 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2016 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2019 Camilla Löwy +Copyright (c) 2012 Torsten Walluhn + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2021 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2014 Jonas Ådahl + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016 Google Inc. +Copyright (c) 2016-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016 Google Inc. +Copyright (c) 2016-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2021 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2022 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2019 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2018-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Copyright (C) 2015-2020 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2015 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +Copyright (C) 2017, 2019 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2015 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2015-2016 Google, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020-2021 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. +Copyright (c) 2023, Mobica Limited + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2020 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (c) 2002-2010 The ANGLE Project Authors. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2016-2020 Google, Inc. +Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2016 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2017 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013-2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2018-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2015 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2015-2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2015-2018 Google, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2019, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2022-2024 Arm Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 Google, Inc. +Copyright (C) 2020 The Khronos Group Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2018 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2018 Google, Inc. +Copyright (C) 2016 LunarG, Inc. +Copyright (C) 2023 Mobica Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017-2018 Google, Inc. +Copyright (C) 2017 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2018 The Khronos Group Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2020 The Khronos Group Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of The Khronos Group Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2023 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2013 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2014-2017 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2014-2020 The Khronos Group Inc. +Copyright (C) 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2019, Viktor Latypov +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2020, Travis Fort +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2021 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2022 ARM Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright(C) 2021 Advanced Micro Devices, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang +skia + +Copyright (c) 2014-2016 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang +spirv-cross + +Copyright (c) 2014-2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (C) 2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (C) 2012 Grigori Goronzy + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (C) 2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (c) Microsoft Corporation. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2004,2007,2009 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2004,2007,2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2006 Behdad Esfahbod +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007 Chris Wilson +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. +Copyright © 2019, Facebook Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2018,2019,2020 Ebrahim Byagowi +Copyright © 2018 Khaled Hosny + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2010,2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012,2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012,2018 Google, Inc. +Copyright © 2019 Facebook, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2009 Keith Stribley +Copyright © 2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2009 Keith Stribley +Copyright © 2015 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Codethink Limited +Copyright © 2010,2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Codethink Limited +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2015 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010 Red Hat, Inc. +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Martin Hosken +Copyright © 2011 SIL International + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Martin Hosken +Copyright © 2011 SIL International +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2013 Google, Inc. +Copyright © 2021 Khaled Hosny + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2014 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2014 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012 Mozilla Foundation. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2013 Mozilla Foundation. +Copyright © 2012,2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2017 Google, Inc. +Copyright © 2021 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2013 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2013 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2014 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015 Google, Inc. +Copyright © 2019 Adobe Inc. +Copyright © 2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015 Mozilla Foundation. +Copyright © 2015 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015-2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Elie Roux +Copyright © 2018 Google, Inc. +Copyright © 2018-2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. +Copyright © 2018 Khaled Hosny +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Igalia S.L. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. +Copyright © 2019 Facebook, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017,2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi +Copyright © 2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi +Copyright © 2020 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. +Copyright © 2019 Facebook, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. +Copyright © 2023 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018-2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe Inc. +Copyright © 2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Facebook, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019-2020 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2020 Ebrahim Byagowi + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2020 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Behdad Esfahbod. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc +Copyright © 2021, 2022 Black Foundry + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Matthias Clasen + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Behdad Esfahbod + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Behdad Esfahbod +Copyright © 1999 David Turner +Copyright © 2005 Werner Lemberg +Copyright © 2013-2015 Alexei Podtelezhnikov + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Google, Inc. + +This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz + +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010-2022 Google, Inc. +Copyright © 2015-2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012,2015 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2011 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod +Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. +Copyright © 1998-2005 David Turner and Werner Lemberg +Copyright © 2016 Igalia S.L. +Copyright © 2022 Matthias Clasen +Copyright © 2018,2021 Khaled Hosny +Copyright © 2018,2019,2020 Adobe, Inc +Copyright © 2013-2015 Alexei Podtelezhnikov + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +harfbuzz +icu +web_unicode + +Unicode® Copyright and Terms of Use +For the general privacy policy governing access to this site, see the Unicode Privacy Policy. + +A. Unicode Copyright +1. Copyright © 1991-2022 Unicode, Inc. All rights reserved. +B. Definitions +Unicode Data Files ("DATA FILES") include all data files under the directories: +https://www.unicode.org/Public/ +https://www.unicode.org/reports/ +https://www.unicode.org/ivd/data/ + +Unicode Data Files do not include PDF online code charts under the directory: +https://www.unicode.org/Public/ + +Unicode Software ("SOFTWARE") includes any source code published in the Unicode Standard +or any source code or compiled code under the directories: +https://www.unicode.org/Public/PROGRAMS/ +https://www.unicode.org/Public/cldr/ +http://site.icu-project.org/download/ +C. Terms of Use +1. Certain documents and files on this website contain a legend indicating that "Modification is permitted." Any person is hereby authorized, without fee, to modify such documents and files to create derivative works conforming to the Unicode® Standard, subject to Terms and Conditions herein. +2. Any person is hereby authorized, without fee, to view, use, reproduce, and distribute all documents and files, subject to the Terms and Conditions herein. +3. Further specifications of rights and restrictions pertaining to the use of the Unicode DATA FILES and SOFTWARE can be found in the Unicode Data Files and Software License. +4. Each version of the Unicode Standard has further specifications of rights and restrictions of use. For the book editions (Unicode 5.0 and earlier), these are found on the back of the title page. +5. The Unicode PDF online code charts carry specific restrictions. Those restrictions are incorporated as the first page of each PDF code chart. +6. All other files, including online documentation of the core specification for Unicode 6.0 and later, are covered under these general Terms of Use. +7. No license is granted to "mirror" the Unicode website where a fee is charged for access to the "mirror" site. +8. Modification is not permitted with respect to this document. All copies of this document must be verbatim. +D. Restricted Rights Legend +1. Any technical data or software which is licensed to the United States of America, its agencies and/or instrumentalities under this Agreement is commercial technical data or commercial computer software developed exclusively at private expense as defined in FAR 2.101, or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, as applicable, use, duplication or disclosure by the Government is subject to the restrictions set forth in this Agreement. +E.Warranties and Disclaimers +1. This publication and/or website may include technical or typographical errors or other inaccuracies. Changes are periodically added to the information herein; these changes will be incorporated in new editions of the publication and/or website. Unicode, Inc. may make improvements and/or changes in the product(s) and/or program(s) described in this publication and/or website at any time. +2. If this file has been purchased on magnetic or optical media from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange of the defective media within ninety (90) days of original purchase. +3. EXCEPT AS PROVIDED IN SECTION E.2, THIS PUBLICATION AND/OR SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE, INC. AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE. +F. Waiver of Damages +1. In no event shall Unicode, Inc. or its licensors be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever, whether or not Unicode, Inc. was advised of the possibility of the damage, including, without limitation, those resulting from the following: loss of use, data or profits, in connection with the use, modification or distribution of this information or its derivatives. +G. Trademarks & Logos +1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.’s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names. +3. The Unicode Consortium Name and Trademark Usage Policy (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc. +4. All third party trademarks referenced herein are the property of their respective owners. +H. Miscellaneous +1. Jurisdiction and Venue. This website is operated from a location in the State of California, United States of America. Unicode, Inc. makes no representation that the materials are appropriate for use in other locations. If you access this website from other locations, you are responsible for compliance with local laws. This Agreement, all use of this website and any claims and damages resulting from use of this website are governed solely by the laws of the State of California without regard to any principles which would apply the laws of a different jurisdiction. The user agrees that any disputes regarding this website shall be resolved solely in the courts located in Santa Clara County, California. The user agrees said courts have personal jurisdiction and agree to waive any right to transfer the dispute to any other forum. +2. Modification by Unicode, Inc. Unicode, Inc. shall have the right to modify this Agreement at any time by posting it to this website. The user may not assign any part of this Agreement without Unicode, Inc.’s prior written consent. +3. Taxes. The user agrees to pay any taxes arising from access to this website or use of the information herein, except for those based on Unicode’s net income. +4. Severability. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect. +5. Entire Agreement. This Agreement constitutes the entire agreement between the parties. + +EXHIBIT 1 +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +See Terms of Use +for definitions of Unicode Inc.’s Data Files and Software. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. +-------------------------------------------------------------------------------- +http +http_parser +matcher +path +source_span +string_scanner + +Copyright 2014, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +icu + +# Copyright (c) 2006-2015 International Business Machines Corporation, + # Apple Inc., and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2001, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2002, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2009, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1995-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2008, International Business Machines Corporation * +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2012, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2014, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1996-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2000, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2005, International Business Machines Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2009,2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2010, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2011, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2011,2014-2015 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2012, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines * +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2013, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2016, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1997-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1998-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2001, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2006,2013 IBM Corp. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2007, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2008, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2009, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2010, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2011, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2014 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2015 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines Corporation + and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 1999-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2004, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2012, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2005, International Business Machines Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2008,2010 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines * + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011, International Business Machines Corporation. * +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2011,2014 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2012, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2013, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines * + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2014, International Business Machines Corporation. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2015 IBM and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2015, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2001-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2005, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2008 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2008, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2011 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2011, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2014 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2015 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2015, International Business Machines Corporation and others. + All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016 International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016, International Business Machines Corporation and others. + All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003 - 2008, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003 - 2009, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003 - 2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003 - 2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2008, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2009, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2009,2012,2016 International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2010, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2014, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2015, International Business Machines * + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2016, International Business Machines * + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2003-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004 - 2008, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2004-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2005-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006 International Business Machines Corporation * +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006-2012, International Business Machines Corporation and others. * +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006-2014, International Business Machines Corporation * +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2006-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2008, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2008, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2008, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2014, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2007-2016, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008, Google, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2009, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2011, International Business Machines +Corporation, Google and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2012, International Business Machines Corporation * +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2014, Google, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2014, Google, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2015, Google, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2008-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2010 IBM Corporation and Others. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2010, Google, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2010, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2011, International Business Machines + Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2011, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2015, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2016, International Business Machines Corporation, * +Google, and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2009-2017, International Business Machines Corporation, * +Google, and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010 , Yahoo! Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2012,2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2012,2015 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2014, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2014, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2016 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2010-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2012, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2013, Apple Inc. and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2013, Apple Inc.; Unicode, Inc.; and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2015, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2011-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012 International Business Machines Corporation +and others. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012,2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2012-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2014, International Business Machines Corporation and * +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2014, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2013-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines Corporation and +others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2014-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2015-2016, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (C) The Internet Society (2002). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +-------------------------------------------------------------------------------- +icu + +Copyright (C) {1999-2001}, International Business Machines Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2015, International Business Machines Corporation and others. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2016, International Business Machines Corporation + and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1996-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2011, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1997-2016, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1999-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 1999-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2000-2004 IBM, Inc. and Others. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2000-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2000-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2005, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2007, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2010 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2012, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2001-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2005, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2005, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2006, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2007, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2010, International Business Machines Corporation * +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2011, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2012, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2014, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2016 International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2008, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2010 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2003-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2006, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2010, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2014 International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2015, International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2004-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2012, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2008-2010, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2008-2011, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2008-2015, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2009, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2011-2012 International Business Machines Corporation +and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2014, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2015, International Business Machines Corporation and +others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2010. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2011. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2012. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2014. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright (c) IBM Corporation, 2000-2016. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +Copyright 2001 and onwards Google Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright 2004 and onwards Google Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +Copyright 2007 Google Inc. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. +-------------------------------------------------------------------------------- +icu + +UNICODE LICENSE V3 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 2016-2023 Unicode, Inc. + +NOTICE TO USER: Carefully read the following legal agreement. BY +DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR +SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT +DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +ICU License - ICU 1.8.1 to ICU 57.1 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + +The Google Chrome software developed by Google is licensed under +the BSD license. Other software included in this distribution is +provided under other licenses, as set forth below. + +The BSD License +http://opensource.org/licenses/bsd-license.php +Copyright (C) 2006-2008, Google Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following +disclaimer in the documentation and/or other materials provided with +the distribution. +Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The word list in cjdict.txt are generated by combining three word lists +listed below with further processing for compound word breaking. The +frequency is generated with an iterative training against Google web +corpora. + +* Libtabe (Chinese) + - https://sourceforge.net/project/?group_id=1519 + - Its license terms and conditions are shown below. + +* IPADIC (Japanese) + - http://chasen.aist-nara.ac.jp/chasen/distribution.html + - Its license terms and conditions are shown below. + +Copyright (c) 1999 TaBE Project. +Copyright (c) 1999 Pai-Hsiang Hsiao. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +. Neither the name of the TaBE Project nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1999 Computer Systems and Communication Lab, + Institute of Information Science, Academia + Sinica. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +. Neither the name of the Computer Systems and Communication Lab + nor the names of its contributors may be used to endorse or + promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + University of Illinois +c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + +Copyright 2000, 2001, 2002, 2003 Nara Institute of Science +and Technology. All Rights Reserved. + +Use, reproduction, and distribution of this software is permitted. +Any copy of this software, whether in its original form or modified, +must include both the above copyright notice and the following +paragraphs. + +Nara Institute of Science and Technology (NAIST), +the copyright holders, disclaims all warranties with regard to this +software, including all implied warranties of merchantability and +fitness, in no event shall NAIST be liable for +any special, indirect or consequential damages or any damages +whatsoever resulting from loss of use, data or profits, whether in an +action of contract, negligence or other tortuous action, arising out +of or in connection with the use or performance of this software. + +A large portion of the dictionary entries +originate from ICOT Free Software. The following conditions for ICOT +Free Software applies to the current dictionary as well. + +Each User may also freely distribute the Program, whether in its +original form or modified, to any third party or parties, PROVIDED +that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear +on, or be attached to, the Program, which is distributed substantially +in the same form as set out herein and that such intended +distribution, if actually made, will neither violate or otherwise +contravene any of the laws and regulations of the countries having +jurisdiction over the User or the intended distribution itself. + +NO WARRANTY + +The program was produced on an experimental basis in the course of the +research and development conducted during the project and is provided +to users as so produced on an experimental basis. Accordingly, the +program is provided without any warranty whatsoever, whether express, +implied, statutory or otherwise. The term "warranty" used herein +includes, but is not limited to, any warranty of the quality, +performance, merchantability and fitness for a particular purpose of +the program and the nonexistence of any infringement or violation of +any right of any third party. + +Each user of the program will agree and understand, and be deemed to +have agreed and understood, that there is no warranty whatsoever for +the program and, accordingly, the entire risk arising from or +otherwise connected with the program is assumed by the user. + +Therefore, neither ICOT, the copyright holder, or any other +organization that participated in or was otherwise related to the +development of the program and their respective officials, directors, +officers and other employees shall be held liable for any and all +damages, including, without limitation, general, special, incidental +and consequential damages, arising out of or otherwise in connection +with the use or inability to use the program or any product, material +or result produced or otherwise obtained by using the program, +regardless of whether they have been advised of, or otherwise had +knowledge of, the possibility of such damages at any time during the +project or thereafter. Each user will be deemed to have agreed to the +foregoing by his or her commencement of use of the program. The term +"use" as used herein includes, but is not limited to, the use, +modification, copying and distribution of the program and the +production of secondary products from the program. + +In the case where the program, whether in its original form or +modified, was distributed or delivered to or received by a user from +any person, organization or entity other than ICOT, unless it makes or +grants independently of ICOT any specific warranty to the user in +writing, such person, organization or entity, will also be exempted +from and not be held liable to the user for any such damages as noted +above as far as the program is concerned. + +Lao Word Break Dictionary Data (laodict.txt) + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2015 International Business Machines Corporation +and others. All Rights Reserved. + +Project: https://github.com/rober42539/lao-dictionary +Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt +License: https://github.com/rober42539/lao-dictionary/LICENSE.txt + (copied below) + +This file is derived from the above dictionary version of Nov 22, 2020 + +Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. Redistributions in binary +form must reproduce the above copyright notice, this list of conditions and +the following disclaimer in the documentation and/or other materials +provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. + +Burmese Word Break Dictionary Data (burmesedict.txt) + +Copyright (c) 2014 International Business Machines Corporation +and others. All Rights Reserved. + +This list is part of a project hosted at: + github.com/kanyawtech/myanmar-karen-word-lists + +Copyright (c) 2013, LeRoy Benjamin Sharon +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: Redistributions of source code must retain the above +copyright notice, this list of conditions and the following +disclaimer. Redistributions in binary form must reproduce the +above copyright notice, this list of conditions and the following +disclaimer in the documentation and/or other materials provided +with the distribution. + + Neither the name Myanmar Karen Word Lists, nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +Google double-conversion + +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +File: install-sh (only for ICU4C) + + +Copyright 1991 by the Massachusetts Institute of Technology + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of M.I.T. not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. M.I.T. makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. +-------------------------------------------------------------------------------- +icu + +punycode.c 0.4.0 (2001-Nov-17-Sat) +http://www.cs.berkeley.edu/~amc/idn/ +Adam M. Costello +http://www.nicemice.net/amc/ + +Disclaimer and license + + Regarding this entire document or any portion of it (including + the pseudocode and C code), the author makes no guarantees and + is not responsible for any damage resulting from its use. The + author grants irrevocable permission to anyone to use, modify, + and distribute it in any way that does not diminish the rights + of anyone else to use, modify, and distribute it, provided that + redistributed derivative works do not contain misleading author or + version information. Derivative works need not be licensed under + similar terms. +-------------------------------------------------------------------------------- +include + +Copyright (C) 2011 Nick Bruun +Copyright (C) 2013 Vlad Lazarenko +Copyright (C) 2014 Nicolas Pauss +-------------------------------------------------------------------------------- +include + +Copyright (c) 2008-2009 Bjoern Hoehrmann + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +include + +Copyright (c) 2009 Florian Loitsch. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +include + +Copyright (c) 2011 - Nick Bruun. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. If you meet (any of) the author(s), you're encouraged to buy them a beer, + a drink or whatever is suited to the situation, given that you like the + software. +4. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +include + +Copyright (c) 2013-2019 Niels Lohmann . + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +inja + +Copyright (c) 2018-2021 Berscheid + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +inja + +Copyright (c) 2018-2021 Lars Berscheid + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +js + +Copyright 2012, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +json + +Copyright (c) 2013-2022 Niels Lohmann + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +khronos + +Copyright (c) 2013-2014 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +leak_tracker +leak_tracker_flutter_testing +leak_tracker_testing + +Copyright 2022, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +libXNVCtrl + +Copyright (c) 2008 NVIDIA, Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +libXNVCtrl + +Copyright (c) 2010 NVIDIA, Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +libcxx + +Copyright 2018 Ulf Adams +Copyright (c) Microsoft Corporation. All rights reserved. + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +--- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT + +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 1988 by Jef Poskanzer. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 1989 by Jef Poskanzer. +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). +All Rights Reserved. +Author: Siarhei Siamashka +Copyright (C) 2013-2014, Linaro Limited. All Rights Reserved. +Author: Ragesh Radhakrishnan +Copyright (C) 2014-2016, D. R. Commander. All Rights Reserved. +Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. +Copyright (C) 2016, Siarhei Siamashka. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). +All Rights Reserved. +Author: Siarhei Siamashka +Copyright (C) 2014, Siarhei Siamashka. All Rights Reserved. +Copyright (C) 2014, Linaro Limited. All Rights Reserved. +Copyright (C) 2015, D. R. Commander. All Rights Reserved. +Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2013, MIPS Technologies, Inc., California. +All Rights Reserved. +Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) + Darko Laus (darko.laus@imgtec.com) +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2013-2014, MIPS Technologies, Inc., California. +All Rights Reserved. +Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) + Darko Laus (darko.laus@imgtec.com) +Copyright (C) 2015, D. R. Commander. All Rights Reserved. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. +Copyright (C) 2014, Jay Foad. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2015, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2014 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2015 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2016 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011, 2015 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011-2016 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2010, D. R. Commander. + +Based on the x86 SIMD extension for IJG JPEG library - version 1.02 + +Copyright (C) 1999-2006, MIYASAKA Masaru. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +We are also required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." +-------------------------------------------------------------------------------- +libjpeg-turbo + +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) + +- The Modified (3-clause) BSD License, which is listed in + [turbojpeg.c](turbojpeg.c) + + This license covers the TurboJPEG API library and associated programs. + +- The zlib License, which is listed in [simd/jsimdext.inc](simd/jsimdext.inc) + + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License. + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License +-------------------------------------------------------------------------------- +libjpeg-turbo + +libjpeg-turbo note: This file has been modified by The libjpeg-turbo Project +to include only information relevant to libjpeg-turbo, to wordsmith certain +sections, and to remove impolitic language that existed in the libjpeg v8 +README. It is included only for reference. Please see README.md for +information specific to libjpeg-turbo. + + +The Independent JPEG Group's JPEG software +========================================== + +This distribution contains a release of the Independent JPEG Group's free JPEG +software. You are welcome to redistribute this software and to use it for any +purpose, subject to the conditions under LEGAL ISSUES, below. + +This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone, +Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, +Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, +and other members of the Independent JPEG Group. + +IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee +(also known as JPEG, together with ITU-T SG16). + + +DOCUMENTATION ROADMAP +===================== + +This file contains the following sections: + +OVERVIEW General description of JPEG and the IJG software. +LEGAL ISSUES Copyright, lack of warranty, terms of distribution. +REFERENCES Where to learn more about JPEG. +ARCHIVE LOCATIONS Where to find newer versions of this software. +FILE FORMAT WARS Software *not* to get. +TO DO Plans for future IJG releases. + +Other documentation files in the distribution are: + +User documentation: + usage.txt Usage instructions for cjpeg, djpeg, jpegtran, + rdjpgcom, and wrjpgcom. + *.1 Unix-style man pages for programs (same info as usage.txt). + wizard.txt Advanced usage instructions for JPEG wizards only. + change.log Version-to-version change highlights. +Programmer and internal documentation: + libjpeg.txt How to use the JPEG library in your own programs. + example.c Sample code for calling the JPEG library. + structure.txt Overview of the JPEG library's internal structure. + coderules.txt Coding style rules --- please read if you contribute code. + +Please read at least usage.txt. Some information can also be found in the JPEG +FAQ (Frequently Asked Questions) article. See ARCHIVE LOCATIONS below to find +out where to obtain the FAQ article. + +If you want to understand how the JPEG code works, we suggest reading one or +more of the REFERENCES, then looking at the documentation files (in roughly +the order listed) before diving into the code. + + +OVERVIEW +======== + +This package contains C software to implement JPEG image encoding, decoding, +and transcoding. JPEG (pronounced "jay-peg") is a standardized compression +method for full-color and grayscale images. JPEG's strong suit is compressing +photographic images or other types of images that have smooth color and +brightness transitions between neighboring pixels. Images with sharp lines or +other abrupt features may not compress well with JPEG, and a higher JPEG +quality may have to be used to avoid visible compression artifacts with such +images. + +JPEG is lossy, meaning that the output pixels are not necessarily identical to +the input pixels. However, on photographic content and other "smooth" images, +very good compression ratios can be obtained with no visible compression +artifacts, and extremely high compression ratios are possible if you are +willing to sacrifice image quality (by reducing the "quality" setting in the +compressor.) + +This software implements JPEG baseline, extended-sequential, and progressive +compression processes. Provision is made for supporting all variants of these +processes, although some uncommon parameter settings aren't implemented yet. +We have made no provision for supporting the hierarchical or lossless +processes defined in the standard. + +We provide a set of library routines for reading and writing JPEG image files, +plus two sample applications "cjpeg" and "djpeg", which use the library to +perform conversion between JPEG and some other popular image file formats. +The library is intended to be reused in other applications. + +In order to support file conversion and viewing software, we have included +considerable functionality beyond the bare JPEG coding/decoding capability; +for example, the color quantization modules are not strictly part of JPEG +decoding, but they are essential for output to colormapped file formats or +colormapped displays. These extra functions can be compiled out of the +library if not required for a particular application. + +We have also included "jpegtran", a utility for lossless transcoding between +different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple +applications for inserting and extracting textual comments in JFIF files. + +The emphasis in designing this software has been on achieving portability and +flexibility, while also making it fast enough to be useful. In particular, +the software is not intended to be read as a tutorial on JPEG. (See the +REFERENCES section for introductory material.) Rather, it is intended to +be reliable, portable, industrial-strength code. We do not claim to have +achieved that goal in every aspect of the software, but we strive for it. + +We welcome the use of this software as a component of commercial products. +No royalty is required, but we do ask for an acknowledgement in product +documentation, as described under LEGAL ISSUES. + + +LEGAL ISSUES +============ + +In plain English: + +1. We don't promise that this software works. (But if you find any bugs, + please let us know!) +2. You can use this software for whatever you want. You don't have to pay us. +3. You may not pretend that you wrote this software. If you use it in a + program, you must acknowledge somewhere in your documentation that + you've used the IJG code. + +In legalese: + +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +This software is copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. + + +The Unix configuration script "configure" was produced with GNU Autoconf. +It is copyright by the Free Software Foundation but is freely distributable. +The same holds for its supporting scripts (config.guess, config.sub, +ltmain.sh). Another support script, install-sh, is copyright by X Consortium +but is also freely distributable. + +The IJG distribution formerly included code to read and write GIF files. +To avoid entanglement with the Unisys LZW patent (now expired), GIF reading +support has been removed altogether, and the GIF writer has been simplified +to produce "uncompressed GIFs". This technique does not use the LZW +algorithm; the resulting GIF files are larger than usual, but are readable +by all standard GIF decoders. + +We are required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." + + +REFERENCES +========== + +We recommend reading one or more of these references before trying to +understand the innards of the JPEG software. + +The best short technical introduction to the JPEG compression algorithm is + Wallace, Gregory K. "The JPEG Still Picture Compression Standard", + Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. +(Adjacent articles in that issue discuss MPEG motion picture compression, +applications of JPEG, and related topics.) If you don't have the CACM issue +handy, a PDF file containing a revised version of Wallace's article is +available at http://www.ijg.org/files/Wallace.JPEG.pdf. The file (actually +a preprint for an article that appeared in IEEE Trans. Consumer Electronics) +omits the sample images that appeared in CACM, but it includes corrections +and some added material. Note: the Wallace article is copyright ACM and IEEE, +and it may not be used for commercial purposes. + +A somewhat less technical, more leisurely introduction to JPEG can be found in +"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by +M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides +good explanations and example C code for a multitude of compression methods +including JPEG. It is an excellent source if you are comfortable reading C +code but don't know much about data compression in general. The book's JPEG +sample code is far from industrial-strength, but when you are ready to look +at a full implementation, you've got one here... + +The best currently available description of JPEG is the textbook "JPEG Still +Image Data Compression Standard" by William B. Pennebaker and Joan L. +Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. +Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG +standards (DIS 10918-1 and draft DIS 10918-2). + +The original JPEG standard is divided into two parts, Part 1 being the actual +specification, while Part 2 covers compliance testing methods. Part 1 is +titled "Digital Compression and Coding of Continuous-tone Still Images, +Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS +10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of +Continuous-tone Still Images, Part 2: Compliance testing" and has document +numbers ISO/IEC IS 10918-2, ITU-T T.83. + +The JPEG standard does not specify all details of an interchangeable file +format. For the omitted details we follow the "JFIF" conventions, revision +1.02. JFIF 1.02 has been adopted as an Ecma International Technical Report +and thus received a formal publication status. It is available as a free +download in PDF format from +http://www.ecma-international.org/publications/techreports/E-TR-098.htm. +A PostScript version of the JFIF document is available at +http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at +http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures. + +The TIFF 6.0 file format specification can be obtained by FTP from +ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme +found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. +IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). +Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 +(Compression tag 7). Copies of this Note can be obtained from +http://www.ijg.org/files/. It is expected that the next revision +of the TIFF spec will replace the 6.0 JPEG design with the Note's design. +Although IJG's own code does not support TIFF/JPEG, the free libtiff library +uses our library to implement TIFF/JPEG per the Note. + + +ARCHIVE LOCATIONS +================= + +The "official" archive site for this software is www.ijg.org. +The most recent released version can always be found there in +directory "files". + +The JPEG FAQ (Frequently Asked Questions) article is a source of some +general information about JPEG. +It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ +and other news.answers archive sites, including the official news.answers +archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. +If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu +with body + send usenet/news.answers/jpeg-faq/part1 + send usenet/news.answers/jpeg-faq/part2 + + +FILE FORMAT WARS +================ + +The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together +with ITU-T SG16) currently promotes different formats containing the name +"JPEG" which are incompatible with original DCT-based JPEG. IJG therefore does +not support these formats (see REFERENCES). Indeed, one of the original +reasons for developing this free software was to help force convergence on +common, interoperable format standards for JPEG files. +Don't use an incompatible file format! +(In any case, our decoder will remain capable of reading existing JPEG +image files indefinitely.) + + +TO DO +===== + +Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. +-------------------------------------------------------------------------------- +libjxl + +Copyright 2021 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libmicrohttpd +skia + +Copyright (c) 2011 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libpng + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE +========================================= + +PNG Reference Library License version 2 +--------------------------------------- + +* Copyright (c) 1995-2024 The PNG Reference Library Authors. +* Copyright (c) 2018-2024 Cosmin Truta. +* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. +* Copyright (c) 1996-1997 Andreas Dilger. +* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + +2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + +1. The origin of this source code must not be misrepresented. + +2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + +3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. +-------------------------------------------------------------------------------- +libtess2 + +Copyright (C) [dates of first publication] Silicon Graphics, Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice including the dates of first publication and either this +permission notice or a reference to http://oss.sgi.com/projects/FreeB/ shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL SILICON GRAPHICS, INC. +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Silicon Graphics, Inc. shall not +be used in advertising or otherwise to promote the sale, use or other dealings in +this Software without prior written authorization from Silicon Graphics, Inc. +-------------------------------------------------------------------------------- +libwebp + +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2010 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2011 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2012 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2013 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2014 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2015 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2016 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2017 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2018 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2021 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2022 Google Inc. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +lints + +Copyright 2021, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +material_color_utilities + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2021 Google LLC + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +perfetto + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +Copyright (c) 2017, The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2015 Michael Bullington + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +Copyright 2012, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +pkg + +Copyright 2021, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +platform + +Copyright 2017, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +platform_detect + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 Workiva Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- +rapidjson + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip-> All rights reserved-> + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +rapidjson + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +rapidjson + +Copyright (c) 2006-2013 Alexander Chemeris + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the product nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +rapidjson + +The above software in this distribution may have been modified by +THL A29 Limited ("Tencent Modifications"). +All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. +-------------------------------------------------------------------------------- +share_plus + +Copyright 2017, the Flutter project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +share_plus_platform_interface + +Copyright 2017 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +skia + +Copyright (C) 2014 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2011 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2014 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2005 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2006 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2006-2012 The Android Open Source Project +Copyright 2012 Mozilla Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2007 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2008 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2008 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2009 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2009-2015 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2010 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2010 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 Google Inc. +Copyright 2012 Mozilla Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2013 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2013 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 Google Inc. +Copyright 2017 ARM Ltd. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2015 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2015 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Mozilla Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 ARM Ltd. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google, LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google LLC + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google LLC. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 The Android Open Source Project + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +spirv-cross + +Copyright 2014-2016,2021 The Khronos Group, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +spring_animation + +Copyright (c) Meta Platforms, Inc. and affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +sprintf + +Copyright (c) 2012, Richard Eames +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +sqlite + +The source code for SQLite is in the public domain. No claim of +copyright is made on any part of the core source code. (The +documentation and test code is a different matter - some sections of +documentation and test logic are governed by open-source licenses.) +All contributors to the SQLite core software have signed affidavits +specifically disavowing any copyright interest in the code. This means +that anybody is able to legally do anything they want with the SQLite +source code. + +There are other SQL database engines with liberal licenses that allow +the code to be broadly and freely used. But those other engines are +still governed by copyright law. SQLite is different in that copyright +law simply does not apply. + +The source code files for other SQL database engines typically begin +with a comment describing your legal rights to view and copy that +file. The SQLite source code contains no license since it is not +governed by copyright. Instead of a license, the SQLite source code +offers a blessing: + +May you do good and not evil +May you find forgiveness for yourself and forgive others +May you share freely, never taking more than you give. +-------------------------------------------------------------------------------- +stream_transform +term_glyph + +Copyright 2017, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +test_api + +Copyright 2018, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +uuid + +Copyright (c) 2021 Yulian Kuncheff + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +vector_math + +Copyright 2015, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (C) 2013 Andrew Magill + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +File: layers/external/vma/vk_mem_alloc.h + + +Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +vulkan-validation-layers +vulkan_memory_allocator + +Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +web + +Copyright 2023, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +web_locale_keymap + +Copyright (c) 2022 Google LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +win32 + +BSD 3-Clause License + +Copyright (c) 2024, Halil Durmus + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +xxhash + +Copyright (C) 2012-2016, Yann Collet + +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +xxhash + +Copyright (C) 2012-2016, Yann Collet. + +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 1998-2005 Gilles Vollant +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 2017 ARM, Inc. +Copyright 2017 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright 2017 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright 2018 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright 2019 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright 2022 The Chromium Authors + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +zlib + +version 1.2.12, March 27th, 2022 + +Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. diff --git a/assets/fonts/MaterialIcons-Regular.otf b/assets/fonts/MaterialIcons-Regular.otf new file mode 100644 index 0000000..aaa3774 Binary files /dev/null and b/assets/fonts/MaterialIcons-Regular.otf differ diff --git a/example/images/icon-about-gray.png b/assets/images/icon-about-gray.png similarity index 100% rename from example/images/icon-about-gray.png rename to assets/images/icon-about-gray.png diff --git a/example/images/icon-about-orange.png b/assets/images/icon-about-orange.png similarity index 100% rename from example/images/icon-about-orange.png rename to assets/images/icon-about-orange.png diff --git a/example/images/icon-arrow-green.png b/assets/images/icon-arrow-green.png similarity index 100% rename from example/images/icon-arrow-green.png rename to assets/images/icon-arrow-green.png diff --git a/example/images/icon-arrow-orange.png b/assets/images/icon-arrow-orange.png similarity index 100% rename from example/images/icon-arrow-orange.png rename to assets/images/icon-arrow-orange.png diff --git a/example/images/icon-camera.png b/assets/images/icon-camera.png similarity index 100% rename from example/images/icon-camera.png rename to assets/images/icon-camera.png diff --git a/example/images/icon-capture.png b/assets/images/icon-capture.png similarity index 100% rename from example/images/icon-capture.png rename to assets/images/icon-capture.png diff --git a/example/images/icon-delete.png b/assets/images/icon-delete.png similarity index 100% rename from example/images/icon-delete.png rename to assets/images/icon-delete.png diff --git a/example/images/icon-history-gray.png b/assets/images/icon-history-gray.png similarity index 100% rename from example/images/icon-history-gray.png rename to assets/images/icon-history-gray.png diff --git a/example/images/icon-history-orange.png b/assets/images/icon-history-orange.png similarity index 100% rename from example/images/icon-history-orange.png rename to assets/images/icon-history-orange.png diff --git a/example/images/icon-home-gray.png b/assets/images/icon-home-gray.png similarity index 100% rename from example/images/icon-home-gray.png rename to assets/images/icon-home-gray.png diff --git a/example/images/icon-home-orange.png b/assets/images/icon-home-orange.png similarity index 100% rename from example/images/icon-home-orange.png rename to assets/images/icon-home-orange.png diff --git a/example/images/icon-image.png b/assets/images/icon-image.png similarity index 100% rename from example/images/icon-image.png rename to assets/images/icon-image.png diff --git a/example/images/image-document.png b/assets/images/image-document.png similarity index 100% rename from example/images/image-document.png rename to assets/images/image-document.png diff --git a/example/images/logo-ddn.png b/assets/images/logo-ddn.png similarity index 100% rename from example/images/logo-ddn.png rename to assets/images/logo-ddn.png diff --git a/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf b/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf new file mode 100644 index 0000000..ba5317d Binary files /dev/null and b/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf differ diff --git a/assets/shaders/ink_sparkle.frag b/assets/shaders/ink_sparkle.frag new file mode 100644 index 0000000..d43532a --- /dev/null +++ b/assets/shaders/ink_sparkle.frag @@ -0,0 +1,126 @@ +{ + "sksl": { + "entrypoint": "ink_sparkle_fragment_main", + "shader": "// This SkSL shader is autogenerated by spirv-cross.\n\nfloat4 flutter_FragCoord;\n\nuniform vec4 u_color;\nuniform vec4 u_composite_1;\nuniform vec2 u_center;\nuniform float u_max_radius;\nuniform vec2 u_resolution_scale;\nuniform vec2 u_noise_scale;\nuniform float u_noise_phase;\nuniform vec2 u_circle1;\nuniform vec2 u_circle2;\nuniform vec2 u_circle3;\nuniform vec2 u_rotation1;\nuniform vec2 u_rotation2;\nuniform vec2 u_rotation3;\n\nvec4 fragColor;\n\nfloat u_alpha;\nfloat u_sparkle_alpha;\nfloat u_blur;\nfloat u_radius_scale;\n\nvec2 FLT_flutter_local_FlutterFragCoord()\n{\n return flutter_FragCoord.xy;\n}\n\nmat2 FLT_flutter_local_rotate2d(vec2 rad)\n{\n return mat2(vec2(rad.x, -rad.y), vec2(rad.y, rad.x));\n}\n\nfloat FLT_flutter_local_soft_circle(vec2 uv, vec2 xy, float radius, float blur)\n{\n float blur_half = blur * 0.5;\n float d = distance(uv, xy);\n return 1.0 - smoothstep(1.0 - blur_half, 1.0 + blur_half, d / radius);\n}\n\nfloat FLT_flutter_local_circle_grid(vec2 resolution, inout vec2 p, vec2 xy, vec2 rotation, float cell_diameter)\n{\n vec2 param = rotation;\n p = (FLT_flutter_local_rotate2d(param) * (xy - p)) + xy;\n p = mod(p, vec2(cell_diameter)) / resolution;\n float cell_uv = (cell_diameter / resolution.y) * 0.5;\n float r = 0.64999997615814208984375 * cell_uv;\n vec2 param_1 = p;\n vec2 param_2 = vec2(cell_uv);\n float param_3 = r;\n float param_4 = r * 50.0;\n return FLT_flutter_local_soft_circle(param_1, param_2, param_3, param_4);\n}\n\nfloat FLT_flutter_local_turbulence(vec2 uv)\n{\n vec2 uv_scale = uv * vec2(0.800000011920928955078125);\n vec2 param = vec2(0.800000011920928955078125);\n vec2 param_1 = uv_scale;\n vec2 param_2 = u_circle1;\n vec2 param_3 = u_rotation1;\n float param_4 = 0.17000000178813934326171875;\n float _319 = FLT_flutter_local_circle_grid(param, param_1, param_2, param_3, param_4);\n float g1 = _319;\n vec2 param_5 = vec2(0.800000011920928955078125);\n vec2 param_6 = uv_scale;\n vec2 param_7 = u_circle2;\n vec2 param_8 = u_rotation2;\n float param_9 = 0.20000000298023223876953125;\n float _331 = FLT_flutter_local_circle_grid(param_5, param_6, param_7, param_8, param_9);\n float g2 = _331;\n vec2 param_10 = vec2(0.800000011920928955078125);\n vec2 param_11 = uv_scale;\n vec2 param_12 = u_circle3;\n vec2 param_13 = u_rotation3;\n float param_14 = 0.2750000059604644775390625;\n float _344 = FLT_flutter_local_circle_grid(param_10, param_11, param_12, param_13, param_14);\n float g3 = _344;\n float v = (((g1 * g1) + g2) - g3) * 0.5;\n return clamp(0.449999988079071044921875 + (0.800000011920928955078125 * v), 0.0, 1.0);\n}\n\nfloat FLT_flutter_local_soft_ring(vec2 uv, vec2 xy, float radius, float thickness, float blur)\n{\n vec2 param = uv;\n vec2 param_1 = xy;\n float param_2 = radius + thickness;\n float param_3 = blur;\n float circle_outer = FLT_flutter_local_soft_circle(param, param_1, param_2, param_3);\n vec2 param_4 = uv;\n vec2 param_5 = xy;\n float param_6 = max(radius - thickness, 0.0);\n float param_7 = blur;\n float circle_inner = FLT_flutter_local_soft_circle(param_4, param_5, param_6, param_7);\n return clamp(circle_outer - circle_inner, 0.0, 1.0);\n}\n\nfloat FLT_flutter_local_triangle_noise(inout vec2 n)\n{\n n = fract(n * vec2(5.398700237274169921875, 5.442100048065185546875));\n n += vec2(dot(n.yx, n + vec2(21.5351009368896484375, 14.3136997222900390625)));\n float xy = n.x * n.y;\n return (fract(xy * 95.43070220947265625) + fract(xy * 75.0496063232421875)) - 1.0;\n}\n\nfloat FLT_flutter_local_threshold(float v, float l, float h)\n{\n return step(l, v) * (1.0 - step(h, v));\n}\n\nfloat FLT_flutter_local_sparkle(vec2 uv, float t)\n{\n vec2 param = uv;\n float _242 = FLT_flutter_local_triangle_noise(param);\n float n = _242;\n float param_1 = n;\n float param_2 = 0.0;\n float param_3 = 0.0500000007450580596923828125;\n float s = FLT_flutter_local_threshold(param_1, param_2, param_3);\n float param_4 = n + sin(3.1415927410125732421875 * (t + 0.3499999940395355224609375));\n float param_5 = 0.100000001490116119384765625;\n float param_6 = 0.1500000059604644775390625;\n s += FLT_flutter_local_threshold(param_4, param_5, param_6);\n float param_7 = n + sin(3.1415927410125732421875 * (t + 0.699999988079071044921875));\n float param_8 = 0.20000000298023223876953125;\n float param_9 = 0.25;\n s += FLT_flutter_local_threshold(param_7, param_8, param_9);\n float param_10 = n + sin(3.1415927410125732421875 * (t + 1.0499999523162841796875));\n float param_11 = 0.300000011920928955078125;\n float param_12 = 0.3499999940395355224609375;\n s += FLT_flutter_local_threshold(param_10, param_11, param_12);\n return clamp(s, 0.0, 1.0) * 0.550000011920928955078125;\n}\n\nvoid FLT_main()\n{\n u_alpha = u_composite_1.x;\n u_sparkle_alpha = u_composite_1.y;\n u_blur = u_composite_1.z;\n u_radius_scale = u_composite_1.w;\n vec2 p = FLT_flutter_local_FlutterFragCoord();\n vec2 uv_1 = p * u_resolution_scale;\n vec2 density_uv = uv_1 - mod(p, u_noise_scale);\n float radius = u_max_radius * u_radius_scale;\n vec2 param_13 = uv_1;\n float turbulence = FLT_flutter_local_turbulence(param_13);\n vec2 param_14 = p;\n vec2 param_15 = u_center;\n float param_16 = radius;\n float param_17 = 0.0500000007450580596923828125 * u_max_radius;\n float param_18 = u_blur;\n float ring = FLT_flutter_local_soft_ring(param_14, param_15, param_16, param_17, param_18);\n vec2 param_19 = density_uv;\n float param_20 = u_noise_phase;\n float sparkle = ((FLT_flutter_local_sparkle(param_19, param_20) * ring) * turbulence) * u_sparkle_alpha;\n vec2 param_21 = p;\n vec2 param_22 = u_center;\n float param_23 = radius;\n float param_24 = u_blur;\n float wave_alpha = (FLT_flutter_local_soft_circle(param_21, param_22, param_23, param_24) * u_alpha) * u_color.w;\n vec4 wave_color = vec4(u_color.xyz * wave_alpha, wave_alpha);\n fragColor = mix(wave_color, vec4(1.0), vec4(sparkle));\n}\n\nhalf4 main(float2 iFragCoord)\n{\n flutter_FragCoord = float4(iFragCoord, 0, 0);\n FLT_main();\n return fragColor;\n}\n", + "stage": 1, + "uniforms": [ + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 0, + "name": "u_color", + "rows": 4, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 1, + "name": "u_composite_1", + "rows": 4, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 2, + "name": "u_center", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 3, + "name": "u_max_radius", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 4, + "name": "u_resolution_scale", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 5, + "name": "u_noise_scale", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 6, + "name": "u_noise_phase", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 7, + "name": "u_circle1", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 8, + "name": "u_circle2", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 9, + "name": "u_circle3", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 10, + "name": "u_rotation1", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 11, + "name": "u_rotation2", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 12, + "name": "u_rotation3", + "rows": 2, + "type": 10 + } + ] + } +} \ No newline at end of file diff --git a/canvaskit/canvaskit.js b/canvaskit/canvaskit.js new file mode 100644 index 0000000..d023371 --- /dev/null +++ b/canvaskit/canvaskit.js @@ -0,0 +1,215 @@ + +var CanvasKitInit = (() => { + var _scriptDir = import.meta.url; + + return ( +async function(moduleArg = {}) { + +var r=moduleArg,aa,ba;r.ready=new Promise((a,b)=>{aa=a;ba=b}); +(function(a){a.Md=a.Md||[];a.Md.push(function(){a.MakeSWCanvasSurface=function(b){var c=b,e="undefined"!==typeof OffscreenCanvas&&c instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&c instanceof HTMLCanvasElement||e||(c=document.getElementById(b),c)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.me=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var e={width:b,height:c,colorType:a.ColorType.RGBA_8888, +alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,k=a._malloc(f);if(e=a.Surface._makeRasterDirect(e,k,4*b))e.me=null,e.Ue=b,e.Re=c,e.Se=f,e.xe=k,e.getCanvas().clear(a.TRANSPARENT);return e};a.MakeRasterDirectSurface=function(b,c,e){return a.Surface._makeRasterDirect(b,c.byteOffset,e)};a.Surface.prototype.flush=function(b){a.Jd(this.Id);this._flush();if(this.me){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.xe,this.Se);c=new ImageData(c,this.Ue,this.Re);b?this.me.getContext("2d").putImageData(c, +0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.me.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=function(){this.xe&&a._free(this.xe);this.delete()};a.Jd=a.Jd||function(){};a.ne=a.ne||function(){return null}})})(r); +(function(a){a.Md=a.Md||[];a.Md.push(function(){function b(m,p,w){return m&&m.hasOwnProperty(p)?m[p]:w}function c(m){var p=da(ea);ea[p]=m;return p}function e(m){return m.naturalHeight||m.videoHeight||m.displayHeight||m.height}function f(m){return m.naturalWidth||m.videoWidth||m.displayWidth||m.width}function k(m,p,w,y){m.bindTexture(m.TEXTURE_2D,p);y||w.alphaType!==a.AlphaType.Premul||m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return p}function l(m,p,w){w||p.alphaType!==a.AlphaType.Premul|| +m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);m.bindTexture(m.TEXTURE_2D,null)}a.GetWebGLContext=function(m,p){if(!m)throw"null canvas passed into makeWebGLContext";var w={alpha:b(p,"alpha",1),depth:b(p,"depth",1),stencil:b(p,"stencil",8),antialias:b(p,"antialias",0),premultipliedAlpha:b(p,"premultipliedAlpha",1),preserveDrawingBuffer:b(p,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(p,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(p,"failIfMajorPerformanceCaveat", +0),enableExtensionsByDefault:b(p,"enableExtensionsByDefault",1),explicitSwapControl:b(p,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(p,"renderViaOffscreenBackBuffer",0)};w.majorVersion=p&&p.majorVersion?p.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(w.explicitSwapControl)throw"explicitSwapControl is not supported";m=fa(m,w);if(!m)return 0;ha(m);v.Ud.getExtension("WEBGL_debug_renderer_info");return m};a.deleteContext=function(m){v===ia[m]&&(v=null);"object"==typeof JSEvents&& +JSEvents.yf(ia[m].Ud.canvas);ia[m]&&ia[m].Ud.canvas&&(ia[m].Ud.canvas.Oe=void 0);ia[m]=null};a._setTextureCleanup({deleteTexture:function(m,p){var w=ea[p];w&&ia[m].Ud.deleteTexture(w);ea[p]=null}});a.MakeWebGLContext=function(m){if(!this.Jd(m))return null;var p=this._MakeGrContext();if(!p)return null;p.Id=m;var w=p.delete.bind(p);p["delete"]=function(){a.Jd(this.Id);w()}.bind(p);return v.ze=p};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Jd(this.Id); +this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Jd(this.Id);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Jd(this.Id);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(m){a.Jd(this.Id);this._setResourceCacheLimitBytes(m)};a.MakeOnScreenGLSurface=function(m,p,w,y,B,D){if(!this.Jd(m.Id))return null;p=void 0===B||void 0===D? +this._MakeOnScreenGLSurface(m,p,w,y):this._MakeOnScreenGLSurface(m,p,w,y,B,D);if(!p)return null;p.Id=m.Id;return p};a.MakeRenderTarget=function(){var m=arguments[0];if(!this.Jd(m.Id))return null;if(3===arguments.length){var p=this._MakeRenderTargetWH(m,arguments[1],arguments[2]);if(!p)return null}else if(2===arguments.length){if(p=this._MakeRenderTargetII(m,arguments[1]),!p)return null}else return null;p.Id=m.Id;return p};a.MakeWebGLCanvasSurface=function(m,p,w){p=p||null;var y=m,B="undefined"!== +typeof OffscreenCanvas&&y instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&y instanceof HTMLCanvasElement||B||(y=document.getElementById(m),y)))throw"Canvas with id "+m+" was not found";m=this.GetWebGLContext(y,w);if(!m||0>m)throw"failed to create webgl context: err "+m;m=this.MakeWebGLContext(m);p=this.MakeOnScreenGLSurface(m,y.width,y.height,p);return p?p:(p=y.cloneNode(!0),y.parentNode.replaceChild(p,y),p.classList.add("ck-replaced"),a.MakeSWCanvasSurface(p))};a.MakeCanvasSurface= +a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(m,p){a.Jd(this.Id);m=c(m);if(p=this._makeImageFromTexture(this.Id,m,p))p.he=m;return p};a.Surface.prototype.makeImageFromTextureSource=function(m,p,w){p||(p={height:e(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});p.colorSpace||(p.colorSpace=a.ColorSpace.SRGB);a.Jd(this.Id);var y=v.Ud;w=k(y,y.createTexture(),p,w);2===v.version?y.texImage2D(y.TEXTURE_2D,0,y.RGBA,p.width,p.height, +0,y.RGBA,y.UNSIGNED_BYTE,m):y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,m);l(y,p);this._resetContext();return this.makeImageFromTexture(w,p)};a.Surface.prototype.updateTextureFromSource=function(m,p,w){if(m.he){a.Jd(this.Id);var y=m.getImageInfo(),B=v.Ud,D=k(B,ea[m.he],y,w);2===v.version?B.texImage2D(B.TEXTURE_2D,0,B.RGBA,f(p),e(p),0,B.RGBA,B.UNSIGNED_BYTE,p):B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,p);l(B,y,w);this._resetContext();ea[m.he]=null;m.he=c(D);y.colorSpace= +m.getColorSpace();p=this._makeImageFromTexture(this.Id,m.he,y);w=m.kd.Kd;B=m.kd.Pd;m.kd.Kd=p.kd.Kd;m.kd.Pd=p.kd.Pd;p.kd.Kd=w;p.kd.Pd=B;p.delete();y.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(m,p,w){p||(p={height:e(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});p.colorSpace||(p.colorSpace=a.ColorSpace.SRGB);var y={makeTexture:function(){var B=v,D=B.Ud,u=k(D,D.createTexture(),p,w);2===B.version?D.texImage2D(D.TEXTURE_2D,0,D.RGBA, +p.width,p.height,0,D.RGBA,D.UNSIGNED_BYTE,m):D.texImage2D(D.TEXTURE_2D,0,D.RGBA,D.RGBA,D.UNSIGNED_BYTE,m);l(D,p,w);return c(u)},freeSrc:function(){}};"VideoFrame"===m.constructor.name&&(y.freeSrc=function(){m.close()});return a.Image._makeFromGenerator(p,y)};a.Jd=function(m){return m?ha(m):!1};a.ne=function(){return v&&v.ze&&!v.ze.isDeleted()?v.ze:null}})})(r); +(function(a){function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(255*g[2])<<0)>>>0}function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var d=Math.floor(g.length/4),h=new Uint32Array(d),n=0;nz;z++)a.HEAPF32[t+n]=g[x][z],n++;g=h}else g=M;d.Rd=g}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof g;return d}function p(g){if(!g)return M;var d=T.toTypedArray();if(g.length){if(6===g.length||9===g.length)return l(g,"HEAPF32",H),6===g.length&&a.HEAPF32.set(fd,6+H/4),H;if(16===g.length)return d[0]=g[0],d[1]=g[1],d[2]=g[3],d[3]=g[4],d[4]=g[5],d[5]=g[7],d[6]=g[12],d[7]=g[13],d[8]=g[15],H;throw"invalid matrix size"; +}if(void 0===g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m41;d[3]=g.m12;d[4]=g.m22;d[5]=g.m42;d[6]=g.m14;d[7]=g.m24;d[8]=g.m44;return H}function w(g){if(!g)return M;var d=Y.toTypedArray();if(g.length){if(16!==g.length&&6!==g.length&&9!==g.length)throw"invalid matrix size";if(16===g.length)return l(g,"HEAPF32",ca);d.fill(0);d[0]=g[0];d[1]=g[1];d[3]=g[2];d[4]=g[3];d[5]=g[4];d[7]=g[5];d[10]=1;d[12]=g[6];d[13]=g[7];d[15]=g[8];6===g.length&&(d[12]=0,d[13]=0,d[15]=1);return ca}if(void 0=== +g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m31;d[3]=g.m41;d[4]=g.m12;d[5]=g.m22;d[6]=g.m32;d[7]=g.m42;d[8]=g.m13;d[9]=g.m23;d[10]=g.m33;d[11]=g.m43;d[12]=g.m14;d[13]=g.m24;d[14]=g.m34;d[15]=g.m44;return ca}function y(g,d){return l(g,"HEAPF32",d||va)}function B(g,d,h,n){var t=Na.toTypedArray();t[0]=g;t[1]=d;t[2]=h;t[3]=n;return va}function D(g){for(var d=new Float32Array(4),h=0;4>h;h++)d[h]=a.HEAPF32[g/4+h];return d}function u(g,d){return l(g,"HEAPF32",d||X)}function F(g,d){return l(g, +"HEAPF32",d||Eb)}a.Color=function(g,d,h,n){void 0===n&&(n=1);return a.Color4f(f(g)/255,f(d)/255,f(h)/255,n)};a.ColorAsInt=function(g,d,h,n){void 0===n&&(n=255);return(f(n)<<24|f(g)<<16|f(d)<<8|f(h)<<0&268435455)>>>0};a.Color4f=function(g,d,h,n){void 0===n&&(n=1);return Float32Array.of(g,d,h,n)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1, +1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(g){return[Math.floor(255* +g[0]),Math.floor(255*g[1]),Math.floor(255*g[2]),g[3]]};a.parseColorString=function(g,d){g=g.toLowerCase();if(g.startsWith("#")){d=255;switch(g.length){case 9:d=parseInt(g.slice(7,9),16);case 7:var h=parseInt(g.slice(1,3),16);var n=parseInt(g.slice(3,5),16);var t=parseInt(g.slice(5,7),16);break;case 5:d=17*parseInt(g.slice(4,5),16);case 4:h=17*parseInt(g.slice(1,2),16),n=17*parseInt(g.slice(2,3),16),t=17*parseInt(g.slice(3,4),16)}return a.Color(h,n,t,d/255)}return g.startsWith("rgba")?(g=g.slice(5, +-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("rgb")?(g=g.slice(4,-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("gray(")||g.startsWith("hsl")||!d||(g=d[g],void 0===g)?a.BLACK:g};a.multiplyByAlpha=function(g,d){g=g.slice();g[3]=Math.max(0,Math.min(g[3]*d,1));return g};a.Malloc=function(g,d){var h=a._malloc(d*g.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:h,be:null,subarray:function(n,t){n=this.toTypedArray().subarray(n,t);n._ck=!0;return n},toTypedArray:function(){if(this.be&& +this.be.length)return this.be;this.be=new g(a.HEAPU8.buffer,h,d);this.be._ck=!0;return this.be}}};a.Free=function(g){a._free(g.byteOffset);g.byteOffset=M;g.toTypedArray=null;g.be=null};var H=M,T,ca=M,Y,va=M,Na,na,X=M,fc,Ba=M,gc,Fb=M,hc,Gb=M,hb,Sa=M,ic,Eb=M,jc,kc=M,fd=Float32Array.of(0,0,1),M=0;a.onRuntimeInitialized=function(){function g(d,h,n,t,x,z,E){z||(z=4*t.width,t.colorType===a.ColorType.RGBA_F16?z*=2:t.colorType===a.ColorType.RGBA_F32&&(z*=4));var J=z*t.height;var I=x?x.byteOffset:a._malloc(J); +if(E?!d._readPixels(t,I,z,h,n,E):!d._readPixels(t,I,z,h,n))return x||a._free(I),null;if(x)return x.toTypedArray();switch(t.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,I,J)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,I,J)).slice();break;default:return null}a._free(I);return d}Na=a.Malloc(Float32Array,4);va=Na.byteOffset;Y=a.Malloc(Float32Array,16);ca=Y.byteOffset;T=a.Malloc(Float32Array,9);H=T.byteOffset;ic=a.Malloc(Float32Array, +12);Eb=ic.byteOffset;jc=a.Malloc(Float32Array,12);kc=jc.byteOffset;na=a.Malloc(Float32Array,4);X=na.byteOffset;fc=a.Malloc(Float32Array,4);Ba=fc.byteOffset;gc=a.Malloc(Float32Array,3);Fb=gc.byteOffset;hc=a.Malloc(Float32Array,3);Gb=hc.byteOffset;hb=a.Malloc(Int32Array,4);Sa=hb.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds= +function(d){var h=l(d,"HEAPF32"),n=a.Path._MakeFromCmds(h,d.length);k(h,d);return n};a.Path.MakeFromVerbsPointsWeights=function(d,h,n){var t=l(d,"HEAPU8"),x=l(h,"HEAPF32"),z=l(n,"HEAPF32"),E=a.Path._MakeFromVerbsPointsWeights(t,d.length,x,h.length,z,n&&n.length||0);k(t,d);k(x,h);k(z,n);return E};a.Path.prototype.addArc=function(d,h,n){d=u(d);this._addArc(d,h,n);return this};a.Path.prototype.addCircle=function(d,h,n,t){this._addCircle(d,h,n,!!t);return this};a.Path.prototype.addOval=function(d,h,n){void 0=== +n&&(n=1);d=u(d);this._addOval(d,!!h,n);return this};a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),h=d[0],n=!1;"boolean"===typeof d[d.length-1]&&(n=d.pop());if(1===d.length)this._addPath(h,1,0,0,0,1,0,0,0,1,n);else if(2===d.length)d=d[1],this._addPath(h,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,n);else if(7===d.length||10===d.length)this._addPath(h,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,n);else return null;return this};a.Path.prototype.addPoly= +function(d,h){var n=l(d,"HEAPF32");this._addPoly(n,d.length/2,h);k(n,d);return this};a.Path.prototype.addRect=function(d,h){d=u(d);this._addRect(d,!!h);return this};a.Path.prototype.addRRect=function(d,h){d=F(d);this._addRRect(d,!!h);return this};a.Path.prototype.addVerbsPointsWeights=function(d,h,n){var t=l(d,"HEAPU8"),x=l(h,"HEAPF32"),z=l(n,"HEAPF32");this._addVerbsPointsWeights(t,d.length,x,h.length,z,n&&n.length||0);k(t,d);k(x,h);k(z,n)};a.Path.prototype.arc=function(d,h,n,t,x,z){d=a.LTRBRect(d- +n,h-n,d+n,h+n);x=(x-t)/Math.PI*180-360*!!z;z=new a.Path;z.addArc(d,t/Math.PI*180,x);this.addPath(z,!0);z.delete();return this};a.Path.prototype.arcToOval=function(d,h,n,t){d=u(d);this._arcToOval(d,h,n,t);return this};a.Path.prototype.arcToRotated=function(d,h,n,t,x,z,E){this._arcToRotated(d,h,n,!!t,!!x,z,E);return this};a.Path.prototype.arcToTangent=function(d,h,n,t,x){this._arcToTangent(d,h,n,t,x);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo= +function(d,h,n,t,x){this._conicTo(d,h,n,t,x);return this};a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.cubicTo=function(d,h,n,t,x,z){this._cubicTo(d,h,n,t,x,z);return this};a.Path.prototype.dash=function(d,h,n){return this._dash(d,h,n)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.lineTo=function(d, +h){this._lineTo(d,h);return this};a.Path.prototype.moveTo=function(d,h){this._moveTo(d,h);return this};a.Path.prototype.offset=function(d,h){this._transform(1,0,d,0,1,h,0,0,1);return this};a.Path.prototype.quadTo=function(d,h,n,t){this._quadTo(d,h,n,t);return this};a.Path.prototype.rArcTo=function(d,h,n,t,x,z,E){this._rArcTo(d,h,n,t,x,z,E);return this};a.Path.prototype.rConicTo=function(d,h,n,t,x){this._rConicTo(d,h,n,t,x);return this};a.Path.prototype.rCubicTo=function(d,h,n,t,x,z){this._rCubicTo(d, +h,n,t,x,z);return this};a.Path.prototype.rLineTo=function(d,h){this._rLineTo(d,h);return this};a.Path.prototype.rMoveTo=function(d,h){this._rMoveTo(d,h);return this};a.Path.prototype.rQuadTo=function(d,h,n,t){this._rQuadTo(d,h,n,t);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1=== +arguments.length){var d=arguments[0];this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,h,n){return this._trim(d,h,!!n)?this:null};a.Image.prototype.encodeToBytes=function(d,h){var n=a.ne();d=d||a.ImageFormat.PNG;h=h||100; +return n?this._encodeToBytes(d,h,n):this._encodeToBytes(d,h)};a.Image.prototype.makeShaderCubic=function(d,h,n,t,x){x=p(x);return this._makeShaderCubic(d,h,n,t,x)};a.Image.prototype.makeShaderOptions=function(d,h,n,t,x){x=p(x);return this._makeShaderOptions(d,h,n,t,x)};a.Image.prototype.readPixels=function(d,h,n,t,x){var z=a.ne();return g(this,d,h,n,t,x,z)};a.Canvas.prototype.clear=function(d){a.Jd(this.Id);d=y(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,h,n){a.Jd(this.Id);d=F(d);this._clipRRect(d, +h,n)};a.Canvas.prototype.clipRect=function(d,h,n){a.Jd(this.Id);d=u(d);this._clipRect(d,h,n)};a.Canvas.prototype.concat=function(d){a.Jd(this.Id);d=w(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,h,n,t,x){a.Jd(this.Id);d=u(d);this._drawArc(d,h,n,t,x)};a.Canvas.prototype.drawAtlas=function(d,h,n,t,x,z,E){if(d&&t&&h&&n&&h.length===n.length){a.Jd(this.Id);x||(x=a.BlendMode.SrcOver);var J=l(h,"HEAPF32"),I=l(n,"HEAPF32"),U=n.length/4,V=l(c(z),"HEAPU32");if(E&&"B"in E&&"C"in E)this._drawAtlasCubic(d, +I,J,V,U,x,E.B,E.C,t);else{let q=a.FilterMode.Linear,A=a.MipmapMode.None;E&&(q=E.filter,"mipmap"in E&&(A=E.mipmap));this._drawAtlasOptions(d,I,J,V,U,x,q,A,t)}k(J,h);k(I,n);k(V,z)}};a.Canvas.prototype.drawCircle=function(d,h,n,t){a.Jd(this.Id);this._drawCircle(d,h,n,t)};a.Canvas.prototype.drawColor=function(d,h){a.Jd(this.Id);d=y(d);void 0!==h?this._drawColor(d,h):this._drawColor(d)};a.Canvas.prototype.drawColorInt=function(d,h){a.Jd(this.Id);this._drawColorInt(d,h||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents= +function(d,h,n,t,x){a.Jd(this.Id);d=B(d,h,n,t);void 0!==x?this._drawColor(d,x):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,h,n){a.Jd(this.Id);d=F(d,Eb);h=F(h,kc);this._drawDRRect(d,h,n)};a.Canvas.prototype.drawImage=function(d,h,n,t){a.Jd(this.Id);this._drawImage(d,h,n,t||null)};a.Canvas.prototype.drawImageCubic=function(d,h,n,t,x,z){a.Jd(this.Id);this._drawImageCubic(d,h,n,t,x,z||null)};a.Canvas.prototype.drawImageOptions=function(d,h,n,t,x,z){a.Jd(this.Id);this._drawImageOptions(d, +h,n,t,x,z||null)};a.Canvas.prototype.drawImageNine=function(d,h,n,t,x){a.Jd(this.Id);h=l(h,"HEAP32",Sa);n=u(n);this._drawImageNine(d,h,n,t,x||null)};a.Canvas.prototype.drawImageRect=function(d,h,n,t,x){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRect(d,X,Ba,t,!!x)};a.Canvas.prototype.drawImageRectCubic=function(d,h,n,t,x,z){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRectCubic(d,X,Ba,t,x,z||null)};a.Canvas.prototype.drawImageRectOptions=function(d,h,n,t,x,z){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRectOptions(d, +X,Ba,t,x,z||null)};a.Canvas.prototype.drawLine=function(d,h,n,t,x){a.Jd(this.Id);this._drawLine(d,h,n,t,x)};a.Canvas.prototype.drawOval=function(d,h){a.Jd(this.Id);d=u(d);this._drawOval(d,h)};a.Canvas.prototype.drawPaint=function(d){a.Jd(this.Id);this._drawPaint(d)};a.Canvas.prototype.drawParagraph=function(d,h,n){a.Jd(this.Id);this._drawParagraph(d,h,n)};a.Canvas.prototype.drawPatch=function(d,h,n,t,x){if(24>d.length)throw"Need 12 cubic points";if(h&&4>h.length)throw"Need 4 colors";if(n&&8>n.length)throw"Need 4 shader coordinates"; +a.Jd(this.Id);const z=l(d,"HEAPF32"),E=h?l(c(h),"HEAPU32"):M,J=n?l(n,"HEAPF32"):M;t||(t=a.BlendMode.Modulate);this._drawPatch(z,E,J,t,x);k(J,n);k(E,h);k(z,d)};a.Canvas.prototype.drawPath=function(d,h){a.Jd(this.Id);this._drawPath(d,h)};a.Canvas.prototype.drawPicture=function(d){a.Jd(this.Id);this._drawPicture(d)};a.Canvas.prototype.drawPoints=function(d,h,n){a.Jd(this.Id);var t=l(h,"HEAPF32");this._drawPoints(d,t,h.length/2,n);k(t,h)};a.Canvas.prototype.drawRRect=function(d,h){a.Jd(this.Id);d=F(d); +this._drawRRect(d,h)};a.Canvas.prototype.drawRect=function(d,h){a.Jd(this.Id);d=u(d);this._drawRect(d,h)};a.Canvas.prototype.drawRect4f=function(d,h,n,t,x){a.Jd(this.Id);this._drawRect4f(d,h,n,t,x)};a.Canvas.prototype.drawShadow=function(d,h,n,t,x,z,E){a.Jd(this.Id);var J=l(x,"HEAPF32"),I=l(z,"HEAPF32");h=l(h,"HEAPF32",Fb);n=l(n,"HEAPF32",Gb);this._drawShadow(d,h,n,t,J,I,E);k(J,x);k(I,z)};a.getShadowLocalBounds=function(d,h,n,t,x,z,E){d=p(d);n=l(n,"HEAPF32",Fb);t=l(t,"HEAPF32",Gb);if(!this._getShadowLocalBounds(d, +h,n,t,x,z,X))return null;h=na.toTypedArray();return E?(E.set(h),E):h.slice()};a.Canvas.prototype.drawTextBlob=function(d,h,n,t){a.Jd(this.Id);this._drawTextBlob(d,h,n,t)};a.Canvas.prototype.drawVertices=function(d,h,n){a.Jd(this.Id);this._drawVertices(d,h,n)};a.Canvas.prototype.getDeviceClipBounds=function(d){this._getDeviceClipBounds(Sa);var h=hb.toTypedArray();d?d.set(h):d=h.slice();return d};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(ca);for(var d=ca,h=Array(16),n=0;16> +n;n++)h[n]=a.HEAPF32[d/4+n];return h};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(H);for(var d=Array(9),h=0;9>h;h++)d[h]=a.HEAPF32[H/4+h];return d};a.Canvas.prototype.makeSurface=function(d){d=this._makeSurface(d);d.Id=this.Id;return d};a.Canvas.prototype.readPixels=function(d,h,n,t,x){a.Jd(this.Id);return g(this,d,h,n,t,x)};a.Canvas.prototype.saveLayer=function(d,h,n,t){h=u(h);return this._saveLayer(d||null,h,n||null,t||0)};a.Canvas.prototype.writePixels=function(d,h,n,t,x, +z,E,J){if(d.byteLength%(h*n))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Jd(this.Id);var I=d.byteLength/(h*n);z=z||a.AlphaType.Unpremul;E=E||a.ColorType.RGBA_8888;J=J||a.ColorSpace.SRGB;var U=I*h;I=l(d,"HEAPU8");h=this._writePixels({width:h,height:n,colorType:E,alphaType:z,colorSpace:J},I,U,t,x);k(I,d);return h};a.ColorFilter.MakeBlend=function(d,h,n){d=y(d);n=n||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(d,h,n)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix"; +var h=l(d,"HEAPF32"),n=a.ColorFilter._makeMatrix(h);k(h,d);return n};a.ContourMeasure.prototype.getPosTan=function(d,h){this._getPosTan(d,X);d=na.toTypedArray();return h?(h.set(d),h):d.slice()};a.ImageFilter.prototype.getOutputBounds=function(d,h,n){d=u(d,X);h=p(h);this._getOutputBounds(d,h,Sa);h=hb.toTypedArray();return n?(n.set(h),n):h.slice()};a.ImageFilter.MakeDropShadow=function(d,h,n,t,x,z){x=y(x,va);return a.ImageFilter._MakeDropShadow(d,h,n,t,x,z)};a.ImageFilter.MakeDropShadowOnly=function(d, +h,n,t,x,z){x=y(x,va);return a.ImageFilter._MakeDropShadowOnly(d,h,n,t,x,z)};a.ImageFilter.MakeImage=function(d,h,n,t){n=u(n,X);t=u(t,Ba);if("B"in h&&"C"in h)return a.ImageFilter._MakeImageCubic(d,h.B,h.C,n,t);const x=h.filter;let z=a.MipmapMode.None;"mipmap"in h&&(z=h.mipmap);return a.ImageFilter._MakeImageOptions(d,x,z,n,t)};a.ImageFilter.MakeMatrixTransform=function(d,h,n){d=p(d);if("B"in h&&"C"in h)return a.ImageFilter._MakeMatrixTransformCubic(d,h.B,h.C,n);const t=h.filter;let x=a.MipmapMode.None; +"mipmap"in h&&(x=h.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(d,t,x,n)};a.Paint.prototype.getColor=function(){this._getColor(va);return D(va)};a.Paint.prototype.setColor=function(d,h){h=h||null;d=y(d);this._setColor(d,h)};a.Paint.prototype.setColorComponents=function(d,h,n,t,x){x=x||null;d=B(d,h,n,t);this._setColor(d,x)};a.Path.prototype.getPoint=function(d,h){this._getPoint(d,X);d=na.toTypedArray();return h?(h[0]=d[0],h[1]=d[1],h):d.slice(0,2)};a.Picture.prototype.makeShader=function(d, +h,n,t,x){t=p(t);x=u(x);return this._makeShader(d,h,n,t,x)};a.Picture.prototype.cullRect=function(d){this._cullRect(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.PictureRecorder.prototype.beginRecording=function(d,h){d=u(d);return this._beginRecording(d,!!h)};a.Surface.prototype.getCanvas=function(){var d=this._getCanvas();d.Id=this.Id;return d};a.Surface.prototype.makeImageSnapshot=function(d){a.Jd(this.Id);d=l(d,"HEAP32",Sa);return this._makeImageSnapshot(d)};a.Surface.prototype.makeSurface= +function(d){a.Jd(this.Id);d=this._makeSurface(d);d.Id=this.Id;return d};a.Surface.prototype.Te=function(d,h){this.ge||(this.ge=this.getCanvas());return requestAnimationFrame(function(){a.Jd(this.Id);d(this.ge);this.flush(h)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Te);a.Surface.prototype.Qe=function(d,h){this.ge||(this.ge=this.getCanvas());requestAnimationFrame(function(){a.Jd(this.Id);d(this.ge);this.flush(h);this.dispose()}.bind(this))}; +a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Qe);a.PathEffect.MakeDash=function(d,h){h||(h=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length";var n=l(d,"HEAPF32");h=a.PathEffect._MakeDash(n,d.length,h);k(n,d);return h};a.PathEffect.MakeLine2D=function(d,h){h=p(h);return a.PathEffect._MakeLine2D(d,h)};a.PathEffect.MakePath2D=function(d,h){d=p(d);return a.PathEffect._MakePath2D(d,h)};a.Shader.MakeColor=function(d,h){h=h||null;d=y(d);return a.Shader._MakeColor(d, +h)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(d,h,n,t,x,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=p(z);var V=na.toTypedArray();V.set(d);V.set(h,2);d=a.Shader._MakeLinearGradient(X,I.Rd,I.colorType,U,I.count,x,E,z,J);k(I.Rd,n);t&&k(U,t);return d};a.Shader.MakeRadialGradient=function(d,h,n,t,x,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=p(z);d=a.Shader._MakeRadialGradient(d[0],d[1],h,I.Rd,I.colorType,U,I.count,x,E, +z,J);k(I.Rd,n);t&&k(U,t);return d};a.Shader.MakeSweepGradient=function(d,h,n,t,x,z,E,J,I,U){U=U||null;var V=m(n),q=l(t,"HEAPF32");E=E||0;J=J||0;I=I||360;z=p(z);d=a.Shader._MakeSweepGradient(d,h,V.Rd,V.colorType,q,V.count,x,J,I,E,z,U);k(V.Rd,n);t&&k(q,t);return d};a.Shader.MakeTwoPointConicalGradient=function(d,h,n,t,x,z,E,J,I,U){U=U||null;var V=m(x),q=l(z,"HEAPF32");I=I||0;J=p(J);var A=na.toTypedArray();A.set(d);A.set(n,2);d=a.Shader._MakeTwoPointConicalGradient(X,h,t,V.Rd,V.colorType,q,V.count,E, +I,J,U);k(V.Rd,x);z&&k(q,z);return d};a.Vertices.prototype.bounds=function(d){this._bounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Md&&a.Md.forEach(function(d){d()})};a.computeTonalColors=function(g){var d=l(g.ambient,"HEAPF32"),h=l(g.spot,"HEAPF32");this._computeTonalColors(d,h);var n={ambient:D(d),spot:D(h)};k(d,g.ambient);k(h,g.spot);return n};a.LTRBRect=function(g,d,h,n){return Float32Array.of(g,d,h,n)};a.XYWHRect=function(g,d,h,n){return Float32Array.of(g,d,g+h,d+n)};a.LTRBiRect= +function(g,d,h,n){return Int32Array.of(g,d,h,n)};a.XYWHiRect=function(g,d,h,n){return Int32Array.of(g,d,g+h,d+n)};a.RRectXY=function(g,d,h){return Float32Array.of(g[0],g[1],g[2],g[3],d,h,d,h,d,h,d,h)};a.MakeAnimatedImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeAnimatedImage(d,g.byteLength))?g:null};a.MakeImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeImage(d,g.byteLength))? +g:null};var Ta=null;a.MakeImageFromCanvasImageSource=function(g){var d=g.width,h=g.height;Ta||(Ta=document.createElement("canvas"));Ta.width=d;Ta.height=h;var n=Ta.getContext("2d",{willReadFrequently:!0});n.drawImage(g,0,0);g=n.getImageData(0,0,d,h);return a.MakeImage({width:d,height:h,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},g.data,4*d)};a.MakeImage=function(g,d,h){var n=a._malloc(d.length);a.HEAPU8.set(d,n);return a._MakeImage(g,n,d.length,h)}; +a.MakeVertices=function(g,d,h,n,t,x){var z=t&&t.length||0,E=0;h&&h.length&&(E|=1);n&&n.length&&(E|=2);void 0===x||x||(E|=4);g=new a._VerticesBuilder(g,d.length/2,z,E);l(d,"HEAPF32",g.positions());g.texCoords()&&l(h,"HEAPF32",g.texCoords());g.colors()&&l(c(n),"HEAPU32",g.colors());g.indices()&&l(t,"HEAPU16",g.indices());return g.detach()};(function(g){g.Md=g.Md||[];g.Md.push(function(){function d(q){q&&(q.dir=0===q.dir?g.TextDirection.RTL:g.TextDirection.LTR);return q}function h(q){if(!q||!q.length)return[]; +for(var A=[],P=0;Pd)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.Font.prototype.getGlyphIntercepts=function(g,d,h,n){var t=l(g,"HEAPU16"),x=l(d,"HEAPF32");return this._getGlyphIntercepts(t, +g.length,!(g&&g._ck),x,d.length,!(d&&d._ck),h,n)};a.Font.prototype.getGlyphWidths=function(g,d,h){var n=l(g,"HEAPU16"),t=a._malloc(4*g.length);this._getGlyphWidthBounds(n,g.length,t,M,d||null);d=new Float32Array(a.HEAPU8.buffer,t,g.length);k(n,g);if(h)return h.set(d),a._free(t),h;g=Float32Array.from(d);a._free(t);return g};a.FontMgr.FromData=function(){if(!arguments.length)return null;var g=arguments;1===g.length&&Array.isArray(g[0])&&(g=arguments[0]);if(!g.length)return null;for(var d=[],h=[],n= +0;nd)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.TextBlob.MakeOnPath=function(g,d,h,n){if(g&&g.length&&d&&d.countPoints()){if(1===d.countPoints())return this.MakeFromText(g,h);n||(n=0);var t=h.getGlyphIDs(g);t=h.getGlyphWidths(t);var x=[];d=new a.ContourMeasureIter(d,!1,1);for(var z=d.next(),E=new Float32Array(4),J=0;Jz.length()){z.delete();z=d.next();if(!z){g=g.substring(0,J);break}n=I/2}z.getPosTan(n,E);var U=E[2],V=E[3];x.push(U,V,E[0]-I/2*U,E[1]-I/2*V);n+=I/2}g=this.MakeFromRSXform(g,x,h);z&&z.delete();d.delete();return g}};a.TextBlob.MakeFromRSXform=function(g,d,h){var n=ja(g)+1,t=a._malloc(n);ka(g,C,t,n);g=l(d,"HEAPF32");h=a.TextBlob._MakeFromRSXform(t,n-1,g,h);a._free(t);return h?h:null};a.TextBlob.MakeFromRSXformGlyphs=function(g,d,h){var n=l(g,"HEAPU16");d=l(d,"HEAPF32"); +h=a.TextBlob._MakeFromRSXformGlyphs(n,2*g.length,d,h);k(n,g);return h?h:null};a.TextBlob.MakeFromGlyphs=function(g,d){var h=l(g,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(h,2*g.length,d);k(h,g);return d?d:null};a.TextBlob.MakeFromText=function(g,d){var h=ja(g)+1,n=a._malloc(h);ka(g,C,n,h);g=a.TextBlob._MakeFromText(n,h-1,d);a._free(n);return g?g:null};a.MallocGlyphIDs=function(g){return a.Malloc(Uint16Array,g)}});a.Md=a.Md||[];a.Md.push(function(){a.MakePicture=function(g){g=new Uint8Array(g);var d= +a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._MakePicture(d,g.byteLength))?g:null}});a.Md=a.Md||[];a.Md.push(function(){a.RuntimeEffect.Make=function(g,d){return a.RuntimeEffect._Make(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.MakeForBlender=function(g,d){return a.RuntimeEffect._MakeForBlender(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.prototype.makeShader=function(g,d){var h=!g._ck,n=l(g,"HEAPF32");d=p(d);return this._makeShader(n, +4*g.length,h,d)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(g,d,h){var n=!g._ck,t=l(g,"HEAPF32");h=p(h);for(var x=[],z=0;z{throw b;},pa="object"==typeof window,ra="function"==typeof importScripts,sa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,ta="",ua,wa,xa; +if(sa){const {createRequire:a}=await import("module");var require=a(import.meta.url),fs=require("fs"),ya=require("path");ra?ta=ya.dirname(ta)+"/":ta=require("url").fileURLToPath(new URL("./",import.meta.url));ua=(b,c)=>{b=b.startsWith("file://")?new URL(b):ya.normalize(b);return fs.readFileSync(b,c?void 0:"utf8")};xa=b=>{b=ua(b,!0);b.buffer||(b=new Uint8Array(b));return b};wa=(b,c,e,f=!0)=>{b=b.startsWith("file://")?new URL(b):ya.normalize(b);fs.readFile(b,f?void 0: +"utf8",(k,l)=>{k?e(k):c(f?l.buffer:l)})};!r.thisProgram&&1{process.exitCode=b;throw c;};r.inspect=()=>"[Emscripten Module object]"}else if(pa||ra)ra?ta=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ta=document.currentScript.src),_scriptDir&&(ta=_scriptDir),0!==ta.indexOf("blob:")?ta=ta.substr(0,ta.replace(/[?#].*/,"").lastIndexOf("/")+1):ta="",ua=a=>{var b=new XMLHttpRequest;b.open("GET", +a,!1);b.send(null);return b.responseText},ra&&(xa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),wa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var Aa=r.print||console.log.bind(console),Ca=r.printErr||console.error.bind(console);Object.assign(r,la);la=null;r.thisProgram&&(ma=r.thisProgram); +r.quit&&(oa=r.quit);var Da;r.wasmBinary&&(Da=r.wasmBinary);var noExitRuntime=r.noExitRuntime||!0;"object"!=typeof WebAssembly&&Ea("no native wasm support detected");var Fa,G,Ga=!1,Ha,C,Ia,Ja,K,L,N,Ka;function La(){var a=Fa.buffer;r.HEAP8=Ha=new Int8Array(a);r.HEAP16=Ia=new Int16Array(a);r.HEAP32=K=new Int32Array(a);r.HEAPU8=C=new Uint8Array(a);r.HEAPU16=Ja=new Uint16Array(a);r.HEAPU32=L=new Uint32Array(a);r.HEAPF32=N=new Float32Array(a);r.HEAPF64=Ka=new Float64Array(a)}var Ma,Oa=[],Pa=[],Qa=[]; +function Ra(){var a=r.preRun.shift();Oa.unshift(a)}var Ua=0,Va=null,Wa=null;function Ea(a){if(r.onAbort)r.onAbort(a);a="Aborted("+a+")";Ca(a);Ga=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Xa(a){return a.startsWith("data:application/octet-stream;base64,")}var Ya;if(r.locateFile){if(Ya="canvaskit.wasm",!Xa(Ya)){var Za=Ya;Ya=r.locateFile?r.locateFile(Za,ta):ta+Za}}else Ya=(new URL("canvaskit.wasm",import.meta.url)).href; +function $a(a){if(a==Ya&&Da)return new Uint8Array(Da);if(xa)return xa(a);throw"both async and sync fetching of the wasm failed";}function ab(a){if(!Da&&(pa||ra)){if("function"==typeof fetch&&!a.startsWith("file://"))return fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>$a(a));if(wa)return new Promise((b,c)=>{wa(a,e=>b(new Uint8Array(e)),c)})}return Promise.resolve().then(()=>$a(a))} +function bb(a,b,c){return ab(a).then(e=>WebAssembly.instantiate(e,b)).then(e=>e).then(c,e=>{Ca("failed to asynchronously prepare wasm: "+e);Ea(e)})} +function cb(a,b){var c=Ya;return Da||"function"!=typeof WebAssembly.instantiateStreaming||Xa(c)||c.startsWith("file://")||sa||"function"!=typeof fetch?bb(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){Ca("wasm streaming compile failed: "+f);Ca("falling back to ArrayBuffer instantiation");return bb(c,a,b)}))}function db(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}var eb=a=>{for(;0>2]=b};this.we=function(b){L[this.Kd+8>>2]=b};this.Zd=function(b,c){this.ve();this.Pe(b);this.we(c)};this.ve=function(){L[this.Kd+16>>2]=0}} +var gb=0,ib=0,jb="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,kb=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}, +lb={};function mb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function nb(a){return this.fromWireType(K[a>>2])}var ob={},pb={},qb={},rb=void 0;function sb(a){throw new rb(a);} +function tb(a,b,c){function e(m){m=c(m);m.length!==a.length&&sb("Mismatched type converter count");for(var p=0;p{pb.hasOwnProperty(m)?f[p]=pb[m]:(k.push(m),ob.hasOwnProperty(m)||(ob[m]=[]),ob[m].push(()=>{f[p]=pb[m];++l;l===k.length&&e(f)}))});0===k.length&&e(f)} +function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${a}`);}}var wb=void 0;function O(a){for(var b="";C[a];)b+=wb[C[a++]];return b}var xb=void 0;function Q(a){throw new xb(a);} +function yb(a,b,c={}){var e=b.name;a||Q(`type "${e}" must have a positive integer typeid pointer`);if(pb.hasOwnProperty(a)){if(c.ff)return;Q(`Cannot register type '${e}' twice`)}pb[a]=b;delete qb[a];ob.hasOwnProperty(a)&&(b=ob[a],delete ob[a],b.forEach(f=>f()))}function ub(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");yb(a,b,c)}function zb(a){Q(a.kd.Nd.Ld.name+" instance already deleted")}var Ab=!1;function Bb(){} +function Cb(a){--a.count.value;0===a.count.value&&(a.Pd?a.Td.Xd(a.Pd):a.Nd.Ld.Xd(a.Kd))}function Db(a,b,c){if(b===c)return a;if(void 0===c.Qd)return null;a=Db(a,b,c.Qd);return null===a?null:c.Ye(a)}var Jb={},Kb=[];function Lb(){for(;Kb.length;){var a=Kb.pop();a.kd.ee=!1;a["delete"]()}}var Mb=void 0,Nb={};function Ob(a,b){for(void 0===b&&Q("ptr should not be undefined");a.Qd;)b=a.ke(b),a=a.Qd;return Nb[b]} +function Pb(a,b){b.Nd&&b.Kd||sb("makeClassHandle requires ptr and ptrType");!!b.Td!==!!b.Pd&&sb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Qb(Object.create(a,{kd:{value:b}}))}function Qb(a){if("undefined"===typeof FinalizationRegistry)return Qb=b=>b,a;Ab=new FinalizationRegistry(b=>{Cb(b.kd)});Qb=b=>{var c=b.kd;c.Pd&&Ab.register(b,{kd:c},b);return b};Bb=b=>{Ab.unregister(b)};return Qb(a)}function Rb(){} +function Sb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a}function Tb(a,b){a=Sb(a);return{[a]:function(){return b.apply(this,arguments)}}[a]} +function Ub(a,b,c){if(void 0===a[b].Od){var e=a[b];a[b]=function(){a[b].Od.hasOwnProperty(arguments.length)||Q(`Function '${c}' called with an invalid number of arguments (${arguments.length}) - expects one of (${a[b].Od})!`);return a[b].Od[arguments.length].apply(this,arguments)};a[b].Od=[];a[b].Od[e.ce]=e}} +function Vb(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Od&&void 0!==r[a].Od[c])&&Q(`Cannot register public name '${a}' twice`),Ub(r,a,a),r.hasOwnProperty(c)&&Q(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`),r[a].Od[c]=b):(r[a]=b,void 0!==c&&(r[a].xf=c))}function Wb(a,b,c,e,f,k,l,m){this.name=a;this.constructor=b;this.fe=c;this.Xd=e;this.Qd=f;this.af=k;this.ke=l;this.Ye=m;this.kf=[]} +function Xb(a,b,c){for(;b!==c;)b.ke||Q(`Expected null or instance of ${c.name}, got an instance of ${b.name}`),a=b.ke(a),b=b.Qd;return a}function Yb(a,b){if(null===b)return this.Ae&&Q(`null is not a valid ${this.name}`),0;b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);return Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld)} +function $b(a,b){if(null===b){this.Ae&&Q(`null is not a valid ${this.name}`);if(this.pe){var c=this.Be();null!==a&&a.push(this.Xd,c);return c}return 0}b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);!this.oe&&b.kd.Nd.oe&&Q(`Cannot convert argument of type ${b.kd.Td?b.kd.Td.name:b.kd.Nd.name} to parameter type ${this.name}`);c=Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld);if(this.pe)switch(void 0===b.kd.Pd&&Q("Passing raw pointer to smart pointer is illegal"), +this.qf){case 0:b.kd.Td===this?c=b.kd.Pd:Q(`Cannot convert argument of type ${b.kd.Td?b.kd.Td.name:b.kd.Nd.name} to parameter type ${this.name}`);break;case 1:c=b.kd.Pd;break;case 2:if(b.kd.Td===this)c=b.kd.Pd;else{var e=b.clone();c=this.lf(c,ac(function(){e["delete"]()}));null!==a&&a.push(this.Xd,c)}break;default:Q("Unsupporting sharing policy")}return c} +function bc(a,b){if(null===b)return this.Ae&&Q(`null is not a valid ${this.name}`),0;b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);b.kd.Nd.oe&&Q(`Cannot convert argument of type ${b.kd.Nd.name} to parameter type ${this.name}`);return Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld)} +function cc(a,b,c,e,f,k,l,m,p,w,y){this.name=a;this.Ld=b;this.Ae=c;this.oe=e;this.pe=f;this.jf=k;this.qf=l;this.Ke=m;this.Be=p;this.lf=w;this.Xd=y;f||void 0!==b.Qd?this.toWireType=$b:(this.toWireType=e?Yb:bc,this.Sd=null)}function dc(a,b,c){r.hasOwnProperty(a)||sb("Replacing nonexistant public symbol");void 0!==r[a].Od&&void 0!==c?r[a].Od[c]=b:(r[a]=b,r[a].ce=c)} +var ec=(a,b)=>{var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var e=r["dynCall_"+a];e=c&&c.length?e.apply(null,[b].concat(c)):e.call(null,b)}else e=Ma.get(b).apply(null,c);return e}};function mc(a,b){a=O(a);var c=a.includes("j")?ec(a,b):Ma.get(b);"function"!=typeof c&&Q(`unknown function pointer with signature ${a}: ${b}`);return c}var nc=void 0;function oc(a){a=pc(a);var b=O(a);qc(a);return b} +function rc(a,b){function c(k){f[k]||pb[k]||(qb[k]?qb[k].forEach(c):(e.push(k),f[k]=!0))}var e=[],f={};b.forEach(c);throw new nc(`${a}: `+e.map(oc).join([", "]));} +function sc(a,b,c,e,f){var k=b.length;2>k&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==b[1]&&null!==c,m=!1;for(c=1;c>2]);return c}function uc(){this.Wd=[void 0];this.Ie=[]}var vc=new uc;function wc(a){a>=vc.Zd&&0===--vc.get(a).Le&&vc.we(a)} +var xc=a=>{a||Q("Cannot use deleted val. handle = "+a);return vc.get(a).value},ac=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:return vc.ve({Le:1,value:a})}};function yc(a,b,c){switch(b){case 0:return function(e){return this.fromWireType((c?Ha:C)[e])};case 1:return function(e){return this.fromWireType((c?Ia:Ja)[e>>1])};case 2:return function(e){return this.fromWireType((c?K:L)[e>>2])};default:throw new TypeError("Unknown integer type: "+a);}} +function zc(a,b){var c=pb[a];void 0===c&&Q(b+" has unknown type "+oc(a));return c}function Zb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Ac(a,b){switch(b){case 2:return function(c){return this.fromWireType(N[c>>2])};case 3:return function(c){return this.fromWireType(Ka[c>>3])};default:throw new TypeError("Unknown float type: "+a);}} +function Bc(a,b,c){switch(b){case 0:return c?function(e){return Ha[e]}:function(e){return C[e]};case 1:return c?function(e){return Ia[e>>1]}:function(e){return Ja[e>>1]};case 2:return c?function(e){return K[e>>2]}:function(e){return L[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}} +var ka=(a,b,c,e)=>{if(!(0=l){var m=a.charCodeAt(++k);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(c>=e)break;b[c++]=l}else{if(2047>=l){if(c+1>=e)break;b[c++]=192|l>>6}else{if(65535>=l){if(c+2>=e)break;b[c++]=224|l>>12}else{if(c+3>=e)break;b[c++]=240|l>>18;b[c++]=128|l>>12&63}b[c++]=128|l>>6&63}b[c++]=128|l&63}}b[c]=0;return c-f},ja=a=>{for(var b=0,c=0;c=e?b++:2047>= +e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b},Cc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Dc=(a,b)=>{var c=a>>1;for(var e=c+b/2;!(c>=e)&&Ja[c];)++c;c<<=1;if(32=b/2);++e){var f=Ia[a+2*e>>1];if(0==f)break;c+=String.fromCharCode(f)}return c},Ec=(a,b,c)=>{void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f>1]=a.charCodeAt(f),b+=2;Ia[b>>1]=0;return b-e}, +Fc=a=>2*a.length,Gc=(a,b)=>{for(var c=0,e="";!(c>=b/4);){var f=K[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e},Hc=(a,b,c)=>{void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f=k){var l=a.charCodeAt(++f);k=65536+((k&1023)<<10)|l&1023}K[b>>2]=k;b+=4;if(b+4>c)break}K[b>>2]=0;return b-e},Ic=a=>{for(var b=0,c=0;c=e&&++c;b+=4}return b},Jc={};function Kc(a){var b=Jc[a];return void 0===b?O(a):b}var Lc=[]; +function Mc(){function a(b){b.$$$embind_global$$$=b;var c="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object."); +}function Nc(a){var b=Lc.length;Lc.push(a);return b}function Oc(a,b){for(var c=Array(a),e=0;e>2],"parameter "+e);return c}var Pc=[];function Qc(a){var b=Array(a+1);return function(c,e,f){b[0]=c;for(var k=0;k>2],"parameter "+k);b[k+1]=l.readValueFromPointer(f);f+=l.argPackAdvance}c=new (c.bind.apply(c,b));return ac(c)}}var Rc={}; +function Sc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,k){b.drawArraysInstancedANGLE(c,e,f,k)},a.drawElementsInstanced=function(c,e,f,k,l){b.drawElementsInstancedANGLE(c,e,f,k,l)})} +function Tc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Uc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})} +var Vc=1,Wc=[],Xc=[],Yc=[],Zc=[],ea=[],$c=[],ad=[],ia=[],bd=[],cd=[],dd={},ed={},gd=4;function R(a){hd||(hd=a)}function da(a){for(var b=Vc++,c=a.length;ca.version||!b.Ge)b.Ge=b.getExtension("EXT_disjoint_timer_query");b.wf=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}} +var v,hd,ld={},nd=()=>{if(!md){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ma||"./this.program"},b;for(b in ld)void 0===ld[b]?delete a[b]:a[b]=ld[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);md=c}return md},md,od=[null,[],[]];function pd(a){S.bindVertexArray(ad[a])} +function qd(a,b){for(var c=0;c>2];S.deleteVertexArray(ad[e]);ad[e]=null}}var rd=[];function sd(a,b,c,e){S.drawElements(a,b,c,e)}function td(a,b,c,e){for(var f=0;f>2]=l}}function ud(a,b){td(a,b,"createVertexArray",ad)} +function vd(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&R(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=S.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>v.version){R(1282);return}e=2*(S.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>v.version){R(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=S.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":R(1280);return;case "object":if(null=== +f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:R(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a>2]=f[a];break;case 2:N[b+4*a>>2]=f[a];break;case 4:Ha[b+a>>0]=f[a]?1:0}return}try{e=f.name|0}catch(k){R(1280); +Ca("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+k+")");return}}break;default:R(1280);Ca("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;L[b>>2]=c;L[b+4>>2]=(c-L[b>>2])/4294967296;break;case 0:K[b>>2]=e;break;case 2:N[b>>2]=e;break;case 4:Ha[b>>0]=e?1:0}}else R(1281)}var xd=a=>{var b=ja(a)+1,c=wd(b);c&&ka(a,C,c,b);return c}; +function yd(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function zd(a){a-=5120;return 0==a?Ha:1==a?C:2==a?Ia:4==a?K:6==a?N:5==a||28922==a||28520==a||30779==a||30782==a?L:Ja}function Ad(a,b,c,e,f){a=zd(a);var k=31-Math.clz32(a.BYTES_PER_ELEMENT),l=gd;return a.subarray(f>>k,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<>k)} +function W(a){var b=S.We;if(b){var c=b.je[a];"number"==typeof c&&(b.je[a]=c=S.getUniformLocation(b,b.Me[a]+(00===a%4&&(0!==a%100||0===a%400),Ed=[31,29,31,30,31,30,31,31,30,31,30,31],Fd=[31,28,31,30,31,30,31,31,30,31,30,31];function Gd(a){var b=Array(ja(a)+1);ka(a,b,0,b.length);return b} +var Hd=(a,b,c,e)=>{function f(u,F,H){for(u="number"==typeof u?u.toString():u||"";u.lengthca?-1:0T-u.getDate())F-=T-u.getDate()+1,u.setDate(1),11>H?u.setMonth(H+1):(u.setMonth(0),u.setFullYear(u.getFullYear()+1));else{u.setDate(u.getDate()+F);break}}H=new Date(u.getFullYear()+1,0,4);F=m(new Date(u.getFullYear(), +0,4));H=m(H);return 0>=l(F,u)?0>=l(H,u)?u.getFullYear()+1:u.getFullYear():u.getFullYear()-1}var w=K[e+40>>2];e={tf:K[e>>2],sf:K[e+4>>2],te:K[e+8>>2],Ce:K[e+12>>2],ue:K[e+16>>2],ae:K[e+20>>2],Vd:K[e+24>>2],$d:K[e+28>>2],zf:K[e+32>>2],rf:K[e+36>>2],uf:w?w?kb(C,w):"":""};c=c?kb(C,c):"";w={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y", +"%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in w)c=c.replace(new RegExp(y,"g"),w[y]);var B="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),D="January February March April May June July August September October November December".split(" ");w={"%a":u=>B[u.Vd].substring(0,3),"%A":u=>B[u.Vd],"%b":u=>D[u.ue].substring(0,3),"%B":u=>D[u.ue],"%C":u=>k((u.ae+1900)/ +100|0,2),"%d":u=>k(u.Ce,2),"%e":u=>f(u.Ce,2," "),"%g":u=>p(u).toString().substring(2),"%G":u=>p(u),"%H":u=>k(u.te,2),"%I":u=>{u=u.te;0==u?u=12:12{for(var F=0,H=0;H<=u.ue-1;F+=(Dd(u.ae+1900)?Ed:Fd)[H++]);return k(u.Ce+F,3)},"%m":u=>k(u.ue+1,2),"%M":u=>k(u.sf,2),"%n":()=>"\n","%p":u=>0<=u.te&&12>u.te?"AM":"PM","%S":u=>k(u.tf,2),"%t":()=>"\t","%u":u=>u.Vd||7,"%U":u=>k(Math.floor((u.$d+7-u.Vd)/7),2),"%V":u=>{var F=Math.floor((u.$d+7-(u.Vd+6)%7)/7);2>=(u.Vd+371-u.$d- +2)%7&&F++;if(F)53==F&&(H=(u.Vd+371-u.$d)%7,4==H||3==H&&Dd(u.ae)||(F=1));else{F=52;var H=(u.Vd+7-u.$d-1)%7;(4==H||5==H&&Dd(u.ae%400-1))&&F++}return k(F,2)},"%w":u=>u.Vd,"%W":u=>k(Math.floor((u.$d+7-(u.Vd+6)%7)/7),2),"%y":u=>(u.ae+1900).toString().substring(2),"%Y":u=>u.ae+1900,"%z":u=>{u=u.rf;var F=0<=u;u=Math.abs(u)/60;return(F?"+":"-")+String("0000"+(u/60*100+u%60)).slice(-4)},"%Z":u=>u.uf,"%%":()=>"%"};c=c.replace(/%%/g,"\x00\x00");for(y in w)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),w[y](e))); +c=c.replace(/\0\0/g,"%");y=Gd(c);if(y.length>b)return 0;Ha.set(y,a);return y.length-1};rb=r.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}};for(var Id=Array(256),Jd=0;256>Jd;++Jd)Id[Jd]=String.fromCharCode(Jd);wb=Id;xb=r.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}}; +Rb.prototype.isAliasOf=function(a){if(!(this instanceof Rb&&a instanceof Rb))return!1;var b=this.kd.Nd.Ld,c=this.kd.Kd,e=a.kd.Nd.Ld;for(a=a.kd.Kd;b.Qd;)c=b.ke(c),b=b.Qd;for(;e.Qd;)a=e.ke(a),e=e.Qd;return b===e&&c===a}; +Rb.prototype.clone=function(){this.kd.Kd||zb(this);if(this.kd.ie)return this.kd.count.value+=1,this;var a=Qb,b=Object,c=b.create,e=Object.getPrototypeOf(this),f=this.kd;a=a(c.call(b,e,{kd:{value:{count:f.count,ee:f.ee,ie:f.ie,Kd:f.Kd,Nd:f.Nd,Pd:f.Pd,Td:f.Td}}}));a.kd.count.value+=1;a.kd.ee=!1;return a};Rb.prototype["delete"]=function(){this.kd.Kd||zb(this);this.kd.ee&&!this.kd.ie&&Q("Object already scheduled for deletion");Bb(this);Cb(this.kd);this.kd.ie||(this.kd.Pd=void 0,this.kd.Kd=void 0)}; +Rb.prototype.isDeleted=function(){return!this.kd.Kd};Rb.prototype.deleteLater=function(){this.kd.Kd||zb(this);this.kd.ee&&!this.kd.ie&&Q("Object already scheduled for deletion");Kb.push(this);1===Kb.length&&Mb&&Mb(Lb);this.kd.ee=!0;return this};r.getInheritedInstanceCount=function(){return Object.keys(Nb).length};r.getLiveInheritedInstances=function(){var a=[],b;for(b in Nb)Nb.hasOwnProperty(b)&&a.push(Nb[b]);return a};r.flushPendingDeletes=Lb;r.setDelayFunction=function(a){Mb=a;Kb.length&&Mb&&Mb(Lb)}; +cc.prototype.bf=function(a){this.Ke&&(a=this.Ke(a));return a};cc.prototype.Ee=function(a){this.Xd&&this.Xd(a)};cc.prototype.argPackAdvance=8;cc.prototype.readValueFromPointer=nb;cc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()}; +cc.prototype.fromWireType=function(a){function b(){return this.pe?Pb(this.Ld.fe,{Nd:this.jf,Kd:c,Td:this,Pd:a}):Pb(this.Ld.fe,{Nd:this,Kd:a})}var c=this.bf(a);if(!c)return this.Ee(a),null;var e=Ob(this.Ld,c);if(void 0!==e){if(0===e.kd.count.value)return e.kd.Kd=c,e.kd.Pd=a,e.clone();e=e.clone();this.Ee(a);return e}e=this.Ld.af(c);e=Jb[e];if(!e)return b.call(this);e=this.oe?e.Ve:e.pointerType;var f=Db(c,this.Ld,e.Ld);return null===f?b.call(this):this.pe?Pb(e.Ld.fe,{Nd:e,Kd:f,Td:this,Pd:a}):Pb(e.Ld.fe, +{Nd:e,Kd:f})};nc=r.UnboundTypeError=function(a,b){var c=Tb(b,function(e){this.name=b;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c}(Error,"UnboundTypeError"); +Object.assign(uc.prototype,{get(a){return this.Wd[a]},has(a){return void 0!==this.Wd[a]},ve(a){var b=this.Ie.pop()||this.Wd.length;this.Wd[b]=a;return b},we(a){this.Wd[a]=void 0;this.Ie.push(a)}});vc.Wd.push({value:void 0},{value:null},{value:!0},{value:!1});vc.Zd=vc.Wd.length;r.count_emval_handles=function(){for(var a=0,b=vc.Zd;bKd;++Kd)rd.push(Array(Kd));var Ld=new Float32Array(288); +for(Kd=0;288>Kd;++Kd)Bd[Kd]=Ld.subarray(0,Kd+1);var Md=new Int32Array(288);for(Kd=0;288>Kd;++Kd)Cd[Kd]=Md.subarray(0,Kd+1); +var $d={H:function(a,b,c){(new fb(a)).Zd(b,c);gb=a;ib++;throw gb;},$:function(){return 0},$c:()=>{},_c:function(){return 0},Zc:()=>{},Yc:()=>{},_:function(){},Xc:()=>{},D:function(a){var b=lb[a];delete lb[a];var c=b.Be,e=b.Xd,f=b.He,k=f.map(l=>l.ef).concat(f.map(l=>l.nf));tb([a],k,l=>{var m={};f.forEach((p,w)=>{var y=l[w],B=p.cf,D=p.df,u=l[w+f.length],F=p.mf,H=p.pf;m[p.$e]={read:T=>y.fromWireType(B(D,T)),write:(T,ca)=>{var Y=[];F(H,T,u.toWireType(Y,ca));mb(Y)}}});return[{name:b.name,fromWireType:function(p){var w= +{},y;for(y in m)w[y]=m[y].read(p);e(p);return w},toWireType:function(p,w){for(var y in m)if(!(y in w))throw new TypeError(`Missing field: "${y}"`);var B=c();for(y in m)m[y].write(B,w[y]);null!==p&&p.push(e,B);return B},argPackAdvance:8,readValueFromPointer:nb,Sd:e}]})},fa:function(){},Tc:function(a,b,c,e,f){var k=vb(c);b=O(b);ub(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,m){return m?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var m=Ha;else if(2===c)m=Ia; +else if(4===c)m=K;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(m[l>>k])},Sd:null})},l:function(a,b,c,e,f,k,l,m,p,w,y,B,D){y=O(y);k=mc(f,k);m&&(m=mc(l,m));w&&(w=mc(p,w));D=mc(B,D);var u=Sb(y);Vb(u,function(){rc(`Cannot construct ${y} due to unbound types`,[e])});tb([a,b,c],e?[e]:[],function(F){F=F[0];if(e){var H=F.Ld;var T=H.fe}else T=Rb.prototype;F=Tb(u,function(){if(Object.getPrototypeOf(this)!==ca)throw new xb("Use 'new' to construct "+y);if(void 0===Y.Yd)throw new xb(y+ +" has no accessible constructor");var Na=Y.Yd[arguments.length];if(void 0===Na)throw new xb(`Tried to invoke ctor of ${y} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(Y.Yd).toString()}) parameters instead!`);return Na.apply(this,arguments)});var ca=Object.create(T,{constructor:{value:F}});F.prototype=ca;var Y=new Wb(y,F,ca,D,H,k,m,w);Y.Qd&&(void 0===Y.Qd.le&&(Y.Qd.le=[]),Y.Qd.le.push(Y));H=new cc(y,Y,!0,!1,!1);T=new cc(y+"*",Y,!1,!1,!1);var va=new cc(y+" const*", +Y,!1,!0,!1);Jb[a]={pointerType:T,Ve:va};dc(u,F);return[H,T,va]})},e:function(a,b,c,e,f,k,l){var m=tc(c,e);b=O(b);k=mc(f,k);tb([],[a],function(p){function w(){rc(`Cannot call ${y} due to unbound types`,m)}p=p[0];var y=`${p.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var B=p.Ld.constructor;void 0===B[b]?(w.ce=c-1,B[b]=w):(Ub(B,b,y),B[b].Od[c-1]=w);tb([],m,function(D){D=[D[0],null].concat(D.slice(1));D=sc(y,D,null,k,l);void 0===B[b].Od?(D.ce=c-1,B[b]=D):B[b].Od[c-1]=D;if(p.Ld.le)for(const u of p.Ld.le)u.constructor.hasOwnProperty(b)|| +(u.constructor[b]=D);return[]});return[]})},B:function(a,b,c,e,f,k){var l=tc(b,c);f=mc(e,f);tb([],[a],function(m){m=m[0];var p=`constructor ${m.name}`;void 0===m.Ld.Yd&&(m.Ld.Yd=[]);if(void 0!==m.Ld.Yd[b-1])throw new xb(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${m.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);m.Ld.Yd[b-1]=()=>{rc(`Cannot construct ${m.name} due to unbound types`,l)}; +tb([],l,function(w){w.splice(1,0,null);m.Ld.Yd[b-1]=sc(p,w,null,f,k);return[]});return[]})},a:function(a,b,c,e,f,k,l,m){var p=tc(c,e);b=O(b);k=mc(f,k);tb([],[a],function(w){function y(){rc(`Cannot call ${B} due to unbound types`,p)}w=w[0];var B=`${w.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);m&&w.Ld.kf.push(b);var D=w.Ld.fe,u=D[b];void 0===u||void 0===u.Od&&u.className!==w.name&&u.ce===c-2?(y.ce=c-2,y.className=w.name,D[b]=y):(Ub(D,b,B),D[b].Od[c-2]=y);tb([],p,function(F){F=sc(B,F, +w,k,l);void 0===D[b].Od?(F.ce=c-2,D[b]=F):D[b].Od[c-2]=F;return[]});return[]})},s:function(a,b,c){a=O(a);tb([],[b],function(e){e=e[0];r[a]=e.fromWireType(c);return[]})},Sc:function(a,b){b=O(b);ub(a,{name:b,fromWireType:function(c){var e=xc(c);wc(c);return e},toWireType:function(c,e){return ac(e)},argPackAdvance:8,readValueFromPointer:nb,Sd:null})},j:function(a,b,c,e){function f(){}c=vb(c);b=O(b);f.values={};ub(a,{name:b,constructor:f,fromWireType:function(k){return this.constructor.values[k]},toWireType:function(k, +l){return l.value},argPackAdvance:8,readValueFromPointer:yc(b,c,e),Sd:null});Vb(b,f)},b:function(a,b,c){var e=zc(a,"enum");b=O(b);a=e.constructor;e=Object.create(e.constructor.prototype,{value:{value:c},constructor:{value:Tb(`${e.name}_${b}`,function(){})}});a.values[c]=e;a[b]=e},Y:function(a,b,c){c=vb(c);b=O(b);ub(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){return f},argPackAdvance:8,readValueFromPointer:Ac(b,c),Sd:null})},v:function(a,b,c,e,f,k){var l=tc(b,c);a=O(a);f= +mc(e,f);Vb(a,function(){rc(`Cannot call ${a} due to unbound types`,l)},b-1);tb([],l,function(m){m=[m[0],null].concat(m.slice(1));dc(a,sc(a,m,null,f,k),b-1);return[]})},E:function(a,b,c,e,f){b=O(b);-1===f&&(f=4294967295);f=vb(c);var k=m=>m;if(0===e){var l=32-8*c;k=m=>m<>>l}c=b.includes("unsigned")?function(m,p){return p>>>0}:function(m,p){return p};ub(a,{name:b,fromWireType:k,toWireType:c,argPackAdvance:8,readValueFromPointer:Bc(b,f,0!==e),Sd:null})},r:function(a,b,c){function e(k){k>>=2;var l= +L;return new f(l.buffer,l[k+1],l[k])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=O(c);ub(a,{name:c,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{ff:!0})},o:function(a,b,c,e,f,k,l,m,p,w,y,B){c=O(c);k=mc(f,k);m=mc(l,m);w=mc(p,w);B=mc(y,B);tb([a],[b],function(D){D=D[0];return[new cc(c,D.Ld,!1,!1,!0,D,e,k,m,w,B)]})},X:function(a,b){b=O(b);var c="std::string"===b;ub(a,{name:b,fromWireType:function(e){var f=L[e>>2],k=e+4;if(c)for(var l= +k,m=0;m<=f;++m){var p=k+m;if(m==f||0==C[p]){l=l?kb(C,l,p-l):"";if(void 0===w)var w=l;else w+=String.fromCharCode(0),w+=l;l=p+1}}else{w=Array(f);for(m=0;m>2]= +l;if(c&&k)ka(f,C,p,l+1);else if(k)for(k=0;kJa;var m=1}else 4===b&&(e=Gc,f=Hc,k=Ic,l=()=>L,m=2);ub(a,{name:c,fromWireType:function(p){for(var w=L[p>>2],y=l(),B,D=p+4,u=0;u<=w;++u){var F= +p+4+u*b;if(u==w||0==y[F>>m])D=e(D,F-D),void 0===B?B=D:(B+=String.fromCharCode(0),B+=D),D=F+b}qc(p);return B},toWireType:function(p,w){"string"!=typeof w&&Q(`Cannot pass non-string to C++ string type ${c}`);var y=k(w),B=wd(4+y+b);L[B>>2]=y>>m;f(w,B+4,y+b);null!==p&&p.push(qc,B);return B},argPackAdvance:8,readValueFromPointer:nb,Sd:function(p){qc(p)}})},C:function(a,b,c,e,f,k){lb[a]={name:O(b),Be:mc(c,e),Xd:mc(f,k),He:[]}},d:function(a,b,c,e,f,k,l,m,p,w){lb[a].He.push({$e:O(b),ef:c,cf:mc(e,f),df:k, +nf:l,mf:mc(m,p),pf:w})},Rc:function(a,b){b=O(b);ub(a,{hf:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},Qc:()=>!0,Pc:()=>{throw Infinity;},G:function(a,b,c){a=xc(a);b=zc(b,"emval::as");var e=[],f=ac(e);L[c>>2]=f;return b.toWireType(e,a)},N:function(a,b,c,e,f){a=Lc[a];b=xc(b);c=Kc(c);var k=[];L[e>>2]=ac(k);return a(b,c,k,f)},t:function(a,b,c,e){a=Lc[a];b=xc(b);c=Kc(c);a(b,c,null,e)},c:wc,M:function(a){if(0===a)return ac(Mc());a=Kc(a);return ac(Mc()[a])},p:function(a, +b){var c=Oc(a,b),e=c[0];b=e.name+"_$"+c.slice(1).map(function(l){return l.name}).join("_")+"$";var f=Pc[b];if(void 0!==f)return f;var k=Array(a-1);f=Nc((l,m,p,w)=>{for(var y=0,B=0;B{Ea("")},Nc:()=>performance.now(),Mc:a=>{var b=C.length;a>>>=0;if(2147483648=c;c*=2){var e=b*(1+.2/c); +e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);a:{f=f.min.call(f,2147483648,e+(65536-e%65536)%65536)-Fa.buffer.byteLength+65535>>>16;try{Fa.grow(f);La();var k=1;break a}catch(l){}k=void 0}if(k)return!0}return!1},Lc:function(){return v?v.handle:0},Wc:(a,b)=>{var c=0;nd().forEach(function(e,f){var k=b+c;f=L[a+4*f>>2]=k;for(k=0;k>0]=e.charCodeAt(k);Ha[f>>0]=0;c+=e.length+1});return 0},Vc:(a,b)=>{var c=nd();L[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});L[b>> +2]=e;return 0},Kc:a=>{if(!noExitRuntime){if(r.onExit)r.onExit(a);Ga=!0}oa(a,new db(a))},P:()=>52,ha:function(){return 52},Uc:()=>52,ga:function(){return 70},Z:(a,b,c,e)=>{for(var f=0,k=0;k>2],m=L[b+4>>2];b+=8;for(var p=0;p>2]=f;return 0},Jc:function(a){S.activeTexture(a)},Ic:function(a,b){S.attachShader(Xc[a],$c[b])},Hc:function(a,b,c){S.bindAttribLocation(Xc[a],b,c?kb(C,c):"")},Gc:function(a, +b){35051==a?S.ye=b:35052==a&&(S.de=b);S.bindBuffer(a,Wc[b])},W:function(a,b){S.bindFramebuffer(a,Yc[b])},Fc:function(a,b){S.bindRenderbuffer(a,Zc[b])},Ec:function(a,b){S.bindSampler(a,bd[b])},Dc:function(a,b){S.bindTexture(a,ea[b])},Cc:pd,Bc:pd,Ac:function(a,b,c,e){S.blendColor(a,b,c,e)},zc:function(a){S.blendEquation(a)},yc:function(a,b){S.blendFunc(a,b)},xc:function(a,b,c,e,f,k,l,m,p,w){S.blitFramebuffer(a,b,c,e,f,k,l,m,p,w)},wc:function(a,b,c,e){2<=v.version?c&&b?S.bufferData(a,C,e,c,b):S.bufferData(a, +b,e):S.bufferData(a,c?C.subarray(c,c+b):b,e)},vc:function(a,b,c,e){2<=v.version?c&&S.bufferSubData(a,b,C,e,c):S.bufferSubData(a,b,C.subarray(e,e+c))},uc:function(a){return S.checkFramebufferStatus(a)},V:function(a){S.clear(a)},U:function(a,b,c,e){S.clearColor(a,b,c,e)},T:function(a){S.clearStencil(a)},ca:function(a,b,c,e){return S.clientWaitSync(cd[a],b,(c>>>0)+4294967296*e)},tc:function(a,b,c,e){S.colorMask(!!a,!!b,!!c,!!e)},sc:function(a){S.compileShader($c[a])},rc:function(a,b,c,e,f,k,l,m){2<= +v.version?S.de||!l?S.compressedTexImage2D(a,b,c,e,f,k,l,m):S.compressedTexImage2D(a,b,c,e,f,k,C,m,l):S.compressedTexImage2D(a,b,c,e,f,k,m?C.subarray(m,m+l):null)},qc:function(a,b,c,e,f,k,l,m,p){2<=v.version?S.de||!m?S.compressedTexSubImage2D(a,b,c,e,f,k,l,m,p):S.compressedTexSubImage2D(a,b,c,e,f,k,l,C,p,m):S.compressedTexSubImage2D(a,b,c,e,f,k,l,p?C.subarray(p,p+m):null)},pc:function(a,b,c,e,f){S.copyBufferSubData(a,b,c,e,f)},oc:function(a,b,c,e,f,k,l,m){S.copyTexSubImage2D(a,b,c,e,f,k,l,m)},nc:function(){var a= +da(Xc),b=S.createProgram();b.name=a;b.se=b.qe=b.re=0;b.De=1;Xc[a]=b;return a},mc:function(a){var b=da($c);$c[b]=S.createShader(a);return b},lc:function(a){S.cullFace(a)},kc:function(a,b){for(var c=0;c>2],f=Wc[e];f&&(S.deleteBuffer(f),f.name=0,Wc[e]=null,e==S.ye&&(S.ye=0),e==S.de&&(S.de=0))}},jc:function(a,b){for(var c=0;c>2],f=Yc[e];f&&(S.deleteFramebuffer(f),f.name=0,Yc[e]=null)}},ic:function(a){if(a){var b=Xc[a];b?(S.deleteProgram(b),b.name=0,Xc[a]=null): +R(1281)}},hc:function(a,b){for(var c=0;c>2],f=Zc[e];f&&(S.deleteRenderbuffer(f),f.name=0,Zc[e]=null)}},gc:function(a,b){for(var c=0;c>2],f=bd[e];f&&(S.deleteSampler(f),f.name=0,bd[e]=null)}},fc:function(a){if(a){var b=$c[a];b?(S.deleteShader(b),$c[a]=null):R(1281)}},ec:function(a){if(a){var b=cd[a];b?(S.deleteSync(b),b.name=0,cd[a]=null):R(1281)}},dc:function(a,b){for(var c=0;c>2],f=ea[e];f&&(S.deleteTexture(f),f.name=0,ea[e]=null)}}, +cc:qd,bc:qd,ac:function(a){S.depthMask(!!a)},$b:function(a){S.disable(a)},_b:function(a){S.disableVertexAttribArray(a)},Zb:function(a,b,c){S.drawArrays(a,b,c)},Yb:function(a,b,c,e){S.drawArraysInstanced(a,b,c,e)},Xb:function(a,b,c,e,f){S.Fe.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},Wb:function(a,b){for(var c=rd[a],e=0;e>2];S.drawBuffers(c)},Vb:sd,Ub:function(a,b,c,e,f){S.drawElementsInstanced(a,b,c,e,f)},Tb:function(a,b,c,e,f,k,l){S.Fe.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a, +b,c,e,f,k,l)},Sb:function(a,b,c,e,f,k){sd(a,e,f,k)},Rb:function(a){S.enable(a)},Qb:function(a){S.enableVertexAttribArray(a)},Pb:function(a,b){return(a=S.fenceSync(a,b))?(b=da(cd),a.name=b,cd[b]=a,b):0},Ob:function(){S.finish()},Nb:function(){S.flush()},Mb:function(a,b,c,e){S.framebufferRenderbuffer(a,b,c,Zc[e])},Lb:function(a,b,c,e,f){S.framebufferTexture2D(a,b,c,ea[e],f)},Kb:function(a){S.frontFace(a)},Jb:function(a,b){td(a,b,"createBuffer",Wc)},Ib:function(a,b){td(a,b,"createFramebuffer",Yc)},Hb:function(a, +b){td(a,b,"createRenderbuffer",Zc)},Gb:function(a,b){td(a,b,"createSampler",bd)},Fb:function(a,b){td(a,b,"createTexture",ea)},Eb:ud,Db:ud,Cb:function(a){S.generateMipmap(a)},Bb:function(a,b,c){c?K[c>>2]=S.getBufferParameter(a,b):R(1281)},Ab:function(){var a=S.getError()||hd;hd=0;return a},zb:function(a,b){vd(a,b,2)},yb:function(a,b,c,e){a=S.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;K[e>>2]=a},K:function(a,b){vd(a,b,0)},xb:function(a, +b,c,e){a=S.getProgramInfoLog(Xc[a]);null===a&&(a="(unknown error)");b=0>2]=b)},wb:function(a,b,c){if(c)if(a>=Vc)R(1281);else if(a=Xc[a],35716==b)a=S.getProgramInfoLog(a),null===a&&(a="(unknown error)"),K[c>>2]=a.length+1;else if(35719==b){if(!a.se)for(b=0;b>2]=a.se}else if(35722==b){if(!a.qe)for(b=0;b>2]=a.qe}else if(35381==b){if(!a.re)for(b=0;b>2]=a.re}else K[c>>2]=S.getProgramParameter(a,b);else R(1281)},vb:function(a,b,c){c?K[c>>2]=S.getRenderbufferParameter(a,b):R(1281)},ub:function(a,b,c,e){a=S.getShaderInfoLog($c[a]);null===a&&(a="(unknown error)");b=0>2]=b)},tb:function(a,b,c,e){a=S.getShaderPrecisionFormat(a,b);K[c>>2]=a.rangeMin;K[c+4>> +2]=a.rangeMax;K[e>>2]=a.precision},sb:function(a,b,c){c?35716==b?(a=S.getShaderInfoLog($c[a]),null===a&&(a="(unknown error)"),K[c>>2]=a?a.length+1:0):35720==b?(a=S.getShaderSource($c[a]),K[c>>2]=a?a.length+1:0):K[c>>2]=S.getShaderParameter($c[a],b):R(1281)},S:function(a){var b=dd[a];if(!b){switch(a){case 7939:b=S.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=xd(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=S.getParameter(a))||R(1280);b=b&&xd(b);break; +case 7938:b=S.getParameter(7938);b=2<=v.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=xd(b);break;case 35724:b=S.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=xd(b);break;default:R(1280)}dd[a]=b}return b},rb:function(a,b){if(2>v.version)return R(1282),0;var c=ed[a];if(c)return 0>b||b>=c.length?(R(1281),0):c[b];switch(a){case 7939:return c=S.getSupportedExtensions()||[], +c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return xd(e)}),c=ed[a]=c,0>b||b>=c.length?(R(1281),0):c[b];default:return R(1280),0}},qb:function(a,b){b=b?kb(C,b):"";if(a=Xc[a]){var c=a,e=c.je,f=c.Ne,k;if(!e)for(c.je=e={},c.Me={},k=0;k>>0,f=b.slice(0, +k));if((f=a.Ne[f])&&e>2];S.invalidateFramebuffer(a,e)},ob:function(a,b,c,e,f,k,l){for(var m=rd[b],p=0;p>2];S.invalidateSubFramebuffer(a,m,e,f,k,l)},nb:function(a){return S.isSync(cd[a])},mb:function(a){return(a=ea[a])?S.isTexture(a):0},lb:function(a){S.lineWidth(a)},kb:function(a){a=Xc[a];S.linkProgram(a);a.je=0;a.Ne={}},jb:function(a, +b,c,e,f,k){S.Je.multiDrawArraysInstancedBaseInstanceWEBGL(a,K,b>>2,K,c>>2,K,e>>2,L,f>>2,k)},ib:function(a,b,c,e,f,k,l,m){S.Je.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,K,b>>2,c,K,e>>2,K,f>>2,K,k>>2,L,l>>2,m)},hb:function(a,b){3317==a&&(gd=b);S.pixelStorei(a,b)},gb:function(a){S.readBuffer(a)},fb:function(a,b,c,e,f,k,l){if(2<=v.version)if(S.ye)S.readPixels(a,b,c,e,f,k,l);else{var m=zd(k);S.readPixels(a,b,c,e,f,k,m,l>>31-Math.clz32(m.BYTES_PER_ELEMENT))}else(l=Ad(k,f,c,e,l))?S.readPixels(a, +b,c,e,f,k,l):R(1280)},eb:function(a,b,c,e){S.renderbufferStorage(a,b,c,e)},db:function(a,b,c,e,f){S.renderbufferStorageMultisample(a,b,c,e,f)},cb:function(a,b,c){S.samplerParameterf(bd[a],b,c)},bb:function(a,b,c){S.samplerParameteri(bd[a],b,c)},ab:function(a,b,c){S.samplerParameteri(bd[a],b,K[c>>2])},$a:function(a,b,c,e){S.scissor(a,b,c,e)},_a:function(a,b,c,e){for(var f="",k=0;k>2]:-1,m=K[c+4*k>>2];l=m?kb(C,m,0>l?void 0:l):"";f+=l}S.shaderSource($c[a],f)},Za:function(a,b, +c){S.stencilFunc(a,b,c)},Ya:function(a,b,c,e){S.stencilFuncSeparate(a,b,c,e)},Xa:function(a){S.stencilMask(a)},Wa:function(a,b){S.stencilMaskSeparate(a,b)},Va:function(a,b,c){S.stencilOp(a,b,c)},Ua:function(a,b,c,e){S.stencilOpSeparate(a,b,c,e)},Ta:function(a,b,c,e,f,k,l,m,p){if(2<=v.version)if(S.de)S.texImage2D(a,b,c,e,f,k,l,m,p);else if(p){var w=zd(m);S.texImage2D(a,b,c,e,f,k,l,m,w,p>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texImage2D(a,b,c,e,f,k,l,m,null);else S.texImage2D(a,b,c,e,f,k,l,m,p? +Ad(m,l,e,f,p):null)},Sa:function(a,b,c){S.texParameterf(a,b,c)},Ra:function(a,b,c){S.texParameterf(a,b,N[c>>2])},Qa:function(a,b,c){S.texParameteri(a,b,c)},Pa:function(a,b,c){S.texParameteri(a,b,K[c>>2])},Oa:function(a,b,c,e,f){S.texStorage2D(a,b,c,e,f)},Na:function(a,b,c,e,f,k,l,m,p){if(2<=v.version)if(S.de)S.texSubImage2D(a,b,c,e,f,k,l,m,p);else if(p){var w=zd(m);S.texSubImage2D(a,b,c,e,f,k,l,m,w,p>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texSubImage2D(a,b,c,e,f,k,l,m,null);else w=null,p&&(w= +Ad(m,l,f,k,p)),S.texSubImage2D(a,b,c,e,f,k,l,m,w)},Ma:function(a,b){S.uniform1f(W(a),b)},La:function(a,b,c){if(2<=v.version)b&&S.uniform1fv(W(a),N,c>>2,b);else{if(288>=b)for(var e=Bd[b-1],f=0;f>2];else e=N.subarray(c>>2,c+4*b>>2);S.uniform1fv(W(a),e)}},Ka:function(a,b){S.uniform1i(W(a),b)},Ja:function(a,b,c){if(2<=v.version)b&&S.uniform1iv(W(a),K,c>>2,b);else{if(288>=b)for(var e=Cd[b-1],f=0;f>2];else e=K.subarray(c>>2,c+4*b>>2);S.uniform1iv(W(a),e)}},Ia:function(a, +b,c){S.uniform2f(W(a),b,c)},Ha:function(a,b,c){if(2<=v.version)b&&S.uniform2fv(W(a),N,c>>2,2*b);else{if(144>=b)for(var e=Bd[2*b-1],f=0;f<2*b;f+=2)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2];else e=N.subarray(c>>2,c+8*b>>2);S.uniform2fv(W(a),e)}},Ga:function(a,b,c){S.uniform2i(W(a),b,c)},Fa:function(a,b,c){if(2<=v.version)b&&S.uniform2iv(W(a),K,c>>2,2*b);else{if(144>=b)for(var e=Cd[2*b-1],f=0;f<2*b;f+=2)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2];else e=K.subarray(c>>2,c+8*b>>2);S.uniform2iv(W(a),e)}},Ea:function(a, +b,c,e){S.uniform3f(W(a),b,c,e)},Da:function(a,b,c){if(2<=v.version)b&&S.uniform3fv(W(a),N,c>>2,3*b);else{if(96>=b)for(var e=Bd[3*b-1],f=0;f<3*b;f+=3)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2],e[f+2]=N[c+(4*f+8)>>2];else e=N.subarray(c>>2,c+12*b>>2);S.uniform3fv(W(a),e)}},Ca:function(a,b,c,e){S.uniform3i(W(a),b,c,e)},Ba:function(a,b,c){if(2<=v.version)b&&S.uniform3iv(W(a),K,c>>2,3*b);else{if(96>=b)for(var e=Cd[3*b-1],f=0;f<3*b;f+=3)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2],e[f+2]=K[c+(4*f+8)>>2];else e= +K.subarray(c>>2,c+12*b>>2);S.uniform3iv(W(a),e)}},Aa:function(a,b,c,e,f){S.uniform4f(W(a),b,c,e,f)},za:function(a,b,c){if(2<=v.version)b&&S.uniform4fv(W(a),N,c>>2,4*b);else{if(72>=b){var e=Bd[4*b-1],f=N;c>>=2;for(var k=0;k<4*b;k+=4){var l=c+k;e[k]=f[l];e[k+1]=f[l+1];e[k+2]=f[l+2];e[k+3]=f[l+3]}}else e=N.subarray(c>>2,c+16*b>>2);S.uniform4fv(W(a),e)}},ya:function(a,b,c,e,f){S.uniform4i(W(a),b,c,e,f)},xa:function(a,b,c){if(2<=v.version)b&&S.uniform4iv(W(a),K,c>>2,4*b);else{if(72>=b)for(var e=Cd[4*b- +1],f=0;f<4*b;f+=4)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2],e[f+2]=K[c+(4*f+8)>>2],e[f+3]=K[c+(4*f+12)>>2];else e=K.subarray(c>>2,c+16*b>>2);S.uniform4iv(W(a),e)}},wa:function(a,b,c,e){if(2<=v.version)b&&S.uniformMatrix2fv(W(a),!!c,N,e>>2,4*b);else{if(72>=b)for(var f=Bd[4*b-1],k=0;k<4*b;k+=4)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2];else f=N.subarray(e>>2,e+16*b>>2);S.uniformMatrix2fv(W(a),!!c,f)}},va:function(a,b,c,e){if(2<=v.version)b&&S.uniformMatrix3fv(W(a), +!!c,N,e>>2,9*b);else{if(32>=b)for(var f=Bd[9*b-1],k=0;k<9*b;k+=9)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2],f[k+4]=N[e+(4*k+16)>>2],f[k+5]=N[e+(4*k+20)>>2],f[k+6]=N[e+(4*k+24)>>2],f[k+7]=N[e+(4*k+28)>>2],f[k+8]=N[e+(4*k+32)>>2];else f=N.subarray(e>>2,e+36*b>>2);S.uniformMatrix3fv(W(a),!!c,f)}},ua:function(a,b,c,e){if(2<=v.version)b&&S.uniformMatrix4fv(W(a),!!c,N,e>>2,16*b);else{if(18>=b){var f=Bd[16*b-1],k=N;e>>=2;for(var l=0;l<16*b;l+=16){var m=e+l;f[l]= +k[m];f[l+1]=k[m+1];f[l+2]=k[m+2];f[l+3]=k[m+3];f[l+4]=k[m+4];f[l+5]=k[m+5];f[l+6]=k[m+6];f[l+7]=k[m+7];f[l+8]=k[m+8];f[l+9]=k[m+9];f[l+10]=k[m+10];f[l+11]=k[m+11];f[l+12]=k[m+12];f[l+13]=k[m+13];f[l+14]=k[m+14];f[l+15]=k[m+15]}}else f=N.subarray(e>>2,e+64*b>>2);S.uniformMatrix4fv(W(a),!!c,f)}},ta:function(a){a=Xc[a];S.useProgram(a);S.We=a},sa:function(a,b){S.vertexAttrib1f(a,b)},ra:function(a,b){S.vertexAttrib2f(a,N[b>>2],N[b+4>>2])},qa:function(a,b){S.vertexAttrib3f(a,N[b>>2],N[b+4>>2],N[b+8>>2])}, +pa:function(a,b){S.vertexAttrib4f(a,N[b>>2],N[b+4>>2],N[b+8>>2],N[b+12>>2])},oa:function(a,b){S.vertexAttribDivisor(a,b)},na:function(a,b,c,e,f){S.vertexAttribIPointer(a,b,c,e,f)},ma:function(a,b,c,e,f,k){S.vertexAttribPointer(a,b,c,!!e,f,k)},la:function(a,b,c,e){S.viewport(a,b,c,e)},ba:function(a,b,c,e){S.waitSync(cd[a],b,(c>>>0)+4294967296*e)},n:Nd,u:Od,k:Pd,J:Qd,R:Rd,Q:Sd,x:Td,y:Ud,q:Vd,w:Wd,ka:Xd,ja:Yd,ia:Zd,aa:(a,b,c,e)=>Hd(a,b,c,e)}; +(function(){function a(c){G=c=c.exports;Fa=G.ad;La();Ma=G.dd;Pa.unshift(G.bd);Ua--;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(0==Ua&&(null!==Va&&(clearInterval(Va),Va=null),Wa)){var e=Wa;Wa=null;e()}return c}var b={a:$d};Ua++;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){Ca("Module.instantiateWasm callback failed with error: "+c),ba(c)}cb(b,function(c){a(c.instance)}).catch(ba);return{}})(); +var wd=r._malloc=a=>(wd=r._malloc=G.cd)(a),qc=r._free=a=>(qc=r._free=G.ed)(a),pc=a=>(pc=G.fd)(a);r.__embind_initialize_bindings=()=>(r.__embind_initialize_bindings=G.gd)();var ae=(a,b)=>(ae=G.hd)(a,b),be=()=>(be=G.id)(),ce=a=>(ce=G.jd)(a);r.dynCall_viji=(a,b,c,e,f)=>(r.dynCall_viji=G.ld)(a,b,c,e,f);r.dynCall_vijiii=(a,b,c,e,f,k,l)=>(r.dynCall_vijiii=G.md)(a,b,c,e,f,k,l);r.dynCall_viiiiij=(a,b,c,e,f,k,l,m)=>(r.dynCall_viiiiij=G.nd)(a,b,c,e,f,k,l,m); +r.dynCall_iiiji=(a,b,c,e,f,k)=>(r.dynCall_iiiji=G.od)(a,b,c,e,f,k);r.dynCall_jii=(a,b,c)=>(r.dynCall_jii=G.pd)(a,b,c);r.dynCall_vij=(a,b,c,e)=>(r.dynCall_vij=G.qd)(a,b,c,e);r.dynCall_iiij=(a,b,c,e,f)=>(r.dynCall_iiij=G.rd)(a,b,c,e,f);r.dynCall_iiiij=(a,b,c,e,f,k)=>(r.dynCall_iiiij=G.sd)(a,b,c,e,f,k);r.dynCall_viij=(a,b,c,e,f)=>(r.dynCall_viij=G.td)(a,b,c,e,f);r.dynCall_viiij=(a,b,c,e,f,k)=>(r.dynCall_viiij=G.ud)(a,b,c,e,f,k); +r.dynCall_jiiiiii=(a,b,c,e,f,k,l)=>(r.dynCall_jiiiiii=G.vd)(a,b,c,e,f,k,l);r.dynCall_jiiiiji=(a,b,c,e,f,k,l,m)=>(r.dynCall_jiiiiji=G.wd)(a,b,c,e,f,k,l,m);r.dynCall_ji=(a,b)=>(r.dynCall_ji=G.xd)(a,b);r.dynCall_iijj=(a,b,c,e,f,k)=>(r.dynCall_iijj=G.yd)(a,b,c,e,f,k);r.dynCall_iiji=(a,b,c,e,f)=>(r.dynCall_iiji=G.zd)(a,b,c,e,f);r.dynCall_iijjiii=(a,b,c,e,f,k,l,m,p)=>(r.dynCall_iijjiii=G.Ad)(a,b,c,e,f,k,l,m,p);r.dynCall_iij=(a,b,c,e)=>(r.dynCall_iij=G.Bd)(a,b,c,e); +r.dynCall_vijjjii=(a,b,c,e,f,k,l,m,p,w)=>(r.dynCall_vijjjii=G.Cd)(a,b,c,e,f,k,l,m,p,w);r.dynCall_jiji=(a,b,c,e,f)=>(r.dynCall_jiji=G.Dd)(a,b,c,e,f);r.dynCall_viijii=(a,b,c,e,f,k,l)=>(r.dynCall_viijii=G.Ed)(a,b,c,e,f,k,l);r.dynCall_iiiiij=(a,b,c,e,f,k,l)=>(r.dynCall_iiiiij=G.Fd)(a,b,c,e,f,k,l);r.dynCall_iiiiijj=(a,b,c,e,f,k,l,m,p)=>(r.dynCall_iiiiijj=G.Gd)(a,b,c,e,f,k,l,m,p);r.dynCall_iiiiiijj=(a,b,c,e,f,k,l,m,p,w)=>(r.dynCall_iiiiiijj=G.Hd)(a,b,c,e,f,k,l,m,p,w); +function Wd(a,b,c,e,f){var k=be();try{Ma.get(a)(b,c,e,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Od(a,b,c){var e=be();try{return Ma.get(a)(b,c)}catch(f){ce(e);if(f!==f+0)throw f;ae(1,0)}}function Ud(a,b,c){var e=be();try{Ma.get(a)(b,c)}catch(f){ce(e);if(f!==f+0)throw f;ae(1,0)}}function Nd(a,b){var c=be();try{return Ma.get(a)(b)}catch(e){ce(c);if(e!==e+0)throw e;ae(1,0)}}function Td(a,b){var c=be();try{Ma.get(a)(b)}catch(e){ce(c);if(e!==e+0)throw e;ae(1,0)}} +function Pd(a,b,c,e){var f=be();try{return Ma.get(a)(b,c,e)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Zd(a,b,c,e,f,k,l,m,p,w){var y=be();try{Ma.get(a)(b,c,e,f,k,l,m,p,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}function Vd(a,b,c,e){var f=be();try{Ma.get(a)(b,c,e)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Yd(a,b,c,e,f,k,l){var m=be();try{Ma.get(a)(b,c,e,f,k,l)}catch(p){ce(m);if(p!==p+0)throw p;ae(1,0)}} +function Qd(a,b,c,e,f){var k=be();try{return Ma.get(a)(b,c,e,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Rd(a,b,c,e,f,k,l){var m=be();try{return Ma.get(a)(b,c,e,f,k,l)}catch(p){ce(m);if(p!==p+0)throw p;ae(1,0)}}function Xd(a,b,c,e,f,k){var l=be();try{Ma.get(a)(b,c,e,f,k)}catch(m){ce(l);if(m!==m+0)throw m;ae(1,0)}}function Sd(a,b,c,e,f,k,l,m,p,w){var y=be();try{return Ma.get(a)(b,c,e,f,k,l,m,p,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}var de;Wa=function ee(){de||fe();de||(Wa=ee)}; +function fe(){function a(){if(!de&&(de=!0,r.calledRun=!0,!Ga)){eb(Pa);aa(r);if(r.onRuntimeInitialized)r.onRuntimeInitialized();if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var b=r.postRun.shift();Qa.unshift(b)}eb(Qa)}}if(!(0\28SkColorSpace*\29 +219:__memcpy +220:SkString::~SkString\28\29 +221:__memset +222:GrGLSLShaderBuilder::codeAppendf\28char\20const*\2c\20...\29 +223:uprv_free_74 +224:memcmp +225:SkColorInfo::~SkColorInfo\28\29 +226:SkDebugf\28char\20const*\2c\20...\29 +227:SkString::SkString\28\29 +228:SkData::~SkData\28\29 +229:SkContainerAllocator::allocate\28int\2c\20double\29 +230:memmove +231:SkString::insert\28unsigned\20long\2c\20char\20const*\29 +232:hb_blob_destroy +233:uprv_malloc_74 +234:SkPath::~SkPath\28\29 +235:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::~__func\28\29 +236:strlen +237:sk_report_container_overflow_and_die\28\29 +238:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\29 +239:SkSL::ErrorReporter::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +240:SkArenaAlloc::ensureSpace\28unsigned\20int\2c\20unsigned\20int\29 +241:SkRasterPipeline::append\28SkRasterPipelineOp\2c\20void*\29 +242:strcmp +243:SkString::SkString\28char\20const*\29 +244:ft_mem_free +245:FT_MulFix +246:emscripten::default_smart_ptr_trait>::share\28void*\29 +247:SkTDStorage::append\28\29 +248:SkMatrix::computeTypeMask\28\29\20const +249:GrGpuResource::notifyARefCntIsZero\28GrIORef::LastRemovedRef\29\20const +250:testSetjmp +251:SkWriter32::growToAtLeast\28unsigned\20long\29 +252:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\2c\20unsigned\20long\29 +253:fmaxf +254:std::__2::basic_string\2c\20std::__2::allocator>::size\5babi:v160004\5d\28\29\20const +255:SkString::SkString\28SkString&&\29 +256:SkSL::Pool::AllocMemory\28unsigned\20long\29 +257:std::__2::basic_string\2c\20std::__2::allocator>::__throw_length_error\5babi:v160004\5d\28\29\20const +258:GrColorInfo::~GrColorInfo\28\29 +259:SkIRect::intersect\28SkIRect\20const&\2c\20SkIRect\20const&\29 +260:GrBackendFormat::~GrBackendFormat\28\29 +261:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\29 +262:GrContext_Base::caps\28\29\20const +263:icu_74::UnicodeString::~UnicodeString\28\29 +264:std::__2::vector>::__throw_length_error\5babi:v160004\5d\28\29\20const +265:SkPaint::~SkPaint\28\29 +266:icu_74::UMemory::operator\20delete\28void*\29 +267:strncmp +268:SkTDStorage::~SkTDStorage\28\29 +269:sk_malloc_throw\28unsigned\20long\2c\20unsigned\20long\29 +270:SkTDStorage::SkTDStorage\28int\29 +271:SkSL::RP::Generator::pushExpression\28SkSL::Expression\20const&\2c\20bool\29 +272:SkStrokeRec::getStyle\28\29\20const +273:SkString::SkString\28SkString\20const&\29 +274:void\20emscripten::internal::raw_destructor\28SkContourMeasure*\29 +275:hb_ot_map_builder_t::add_feature\28unsigned\20int\2c\20hb_ot_map_feature_flags_t\2c\20unsigned\20int\29 +276:SkMatrix::mapRect\28SkRect*\2c\20SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +277:SkBitmap::~SkBitmap\28\29 +278:SkFontMgr*\20emscripten::base::convertPointer\28skia::textlayout::TypefaceFontProvider*\29 +279:hb_buffer_t::make_room_for\28unsigned\20int\2c\20unsigned\20int\29 +280:fminf +281:SkArenaAlloc::installFooter\28char*\20\28*\29\28char*\29\2c\20unsigned\20int\29 +282:SkArenaAlloc::allocObjectWithFooter\28unsigned\20int\2c\20unsigned\20int\29 +283:icu_74::CharString::append\28char\20const*\2c\20int\2c\20UErrorCode&\29 +284:skia_private::TArray::push_back\28SkPoint\20const&\29 +285:SkString::operator=\28SkString&&\29 +286:SkSemaphore::osSignal\28int\29 +287:SkPath::SkPath\28\29 +288:skia_png_error +289:hb_buffer_t::message\28hb_font_t*\2c\20char\20const*\2c\20...\29 +290:SkSL::Parser::nextRawToken\28\29 +291:SkArenaAlloc::~SkArenaAlloc\28\29 +292:SkMatrix::computePerspectiveTypeMask\28\29\20const +293:icu_74::StringPiece::StringPiece\28char\20const*\29 +294:SkSemaphore::osWait\28\29 +295:std::__2::__shared_weak_count::__release_weak\28\29 +296:SkColorInfo::SkColorInfo\28SkColorInfo\20const&\29 +297:SkIntersections::insert\28double\2c\20double\2c\20SkDPoint\20const&\29 +298:dlmalloc +299:FT_DivFix +300:SkString::appendf\28char\20const*\2c\20...\29 +301:uprv_isASCIILetter_74 +302:std::__throw_bad_array_new_length\5babi:v160004\5d\28\29 +303:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +304:skia_png_free +305:SkChecksum::Hash32\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20int\29 +306:utext_setNativeIndex_74 +307:utext_getNativeIndex_74 +308:skia_png_crc_finish +309:SkPath::lineTo\28float\2c\20float\29 +310:SkMatrix::setTranslate\28float\2c\20float\29 +311:ures_closeBundle\28UResourceBundle*\2c\20signed\20char\29 +312:skia_png_chunk_benign_error +313:SkMatrix::mapPoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +314:dlrealloc +315:skia_png_warning +316:SkBlitter::~SkBlitter\28\29 +317:OT::VarData::get_delta\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20OT::VarRegionList\20const&\2c\20float*\29\20const +318:ft_mem_qrealloc +319:SkColorInfo::bytesPerPixel\28\29\20const +320:SkPaint::SkPaint\28SkPaint\20const&\29 +321:GrVertexChunkBuilder::allocChunk\28int\29 +322:OT::DeltaSetIndexMap::map\28unsigned\20int\29\20const +323:strchr +324:ft_mem_realloc +325:SkReadBuffer::readUInt\28\29 +326:strstr +327:SkMatrix::reset\28\29 +328:SkImageInfo::MakeUnknown\28int\2c\20int\29 +329:GrSurfaceProxyView::asRenderTargetProxy\28\29\20const +330:skia_private::TArray::push_back\28unsigned\20char&&\29 +331:SkBitmap::SkBitmap\28\29 +332:skia_private::TArray::push_back\28unsigned\20long\20const&\29 +333:SkPath::SkPath\28SkPath\20const&\29 +334:ft_validator_error +335:SkPaint::SkPaint\28\29 +336:SkOpPtT::segment\28\29\20const +337:GrTextureGenerator::isTextureGenerator\28\29\20const +338:SkSL::Parser::expect\28SkSL::Token::Kind\2c\20char\20const*\2c\20SkSL::Token*\29 +339:SkJSONWriter::appendName\28char\20const*\29 +340:sk_malloc_flags\28unsigned\20long\2c\20unsigned\20int\29 +341:std::__2::basic_string\2c\20std::__2::allocator>::__get_pointer\5babi:v160004\5d\28\29 +342:skia_private::TArray\2c\20true>::push_back\28sk_sp&&\29 +343:SkMatrix::invertNonIdentity\28SkMatrix*\29\20const +344:SkJSONWriter::beginValue\28bool\29 +345:uhash_close_74 +346:dlcalloc +347:SkSL::RP::Builder::appendInstruction\28SkSL::RP::BuilderOp\2c\20SkSL::RP::Builder::SlotList\2c\20int\2c\20int\2c\20int\2c\20int\29 +348:SkImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +349:skia_private::TArray::push_back\28SkSL::RP::Instruction&&\29 +350:skia_png_get_uint_32 +351:skia_png_calculate_crc +352:std::__2::basic_string\2c\20std::__2::allocator>::resize\5babi:v160004\5d\28unsigned\20long\29 +353:SkSL::GLSLCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +354:skgpu::Swizzle::Swizzle\28char\20const*\29 +355:SkPoint::Length\28float\2c\20float\29 +356:GrImageInfo::GrImageInfo\28GrImageInfo\20const&\29 +357:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +358:SkPath::getBounds\28\29\20const +359:std::__2::locale::~locale\28\29 +360:SkLoadICULib\28\29 +361:ucptrie_internalSmallIndex_74 +362:skia_private::TArray::push_back\28SkString&&\29 +363:icu_74::CharString::append\28char\2c\20UErrorCode&\29 +364:SkPathRef::Editor::Editor\28sk_sp*\2c\20int\2c\20int\2c\20int\29 +365:FT_Stream_Seek +366:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28char\29 +367:SkRect::join\28SkRect\20const&\29 +368:SkRect::intersect\28SkRect\20const&\29 +369:std::__2::__throw_bad_function_call\5babi:v160004\5d\28\29 +370:hb_blob_reference +371:cf2_stack_popFixed +372:GrGLExtensions::has\28char\20const*\29\20const +373:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +374:SkRect::setBoundsCheck\28SkPoint\20const*\2c\20int\29 +375:SkRasterPipeline::uncheckedAppend\28SkRasterPipelineOp\2c\20void*\29 +376:SkCachedData::internalUnref\28bool\29\20const +377:GrProcessor::operator\20new\28unsigned\20long\29 +378:FT_MulDiv +379:strcpy +380:std::__2::to_string\28int\29 +381:skia_private::TArray>\2c\20true>::operator=\28skia_private::TArray>\2c\20true>&&\29 +382:std::__2::ios_base::getloc\28\29\20const +383:icu_74::UnicodeString::doAppend\28char16_t\20const*\2c\20int\2c\20int\29 +384:SkRegion::~SkRegion\28\29 +385:skia_png_read_push_finish_row +386:skia::textlayout::TextStyle::~TextStyle\28\29 +387:hb_blob_make_immutable +388:SkString::operator=\28char\20const*\29 +389:SkSemaphore::~SkSemaphore\28\29 +390:SkReadBuffer::setInvalid\28\29 +391:SkColorInfo::operator=\28SkColorInfo&&\29 +392:umtx_unlock_74 +393:hb_ot_map_builder_t::add_pause\28unsigned\20int\2c\20bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +394:embind_init_Paragraph\28\29::$_10::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +395:cff1_path_procs_extents_t::curve\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +396:VP8GetValue +397:uhash_get_74 +398:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28\29 +399:skgpu::ganesh::SurfaceContext::caps\28\29\20const +400:icu_74::UnicodeSet::~UnicodeSet\28\29 +401:icu_74::UnicodeSet::contains\28int\29\20const +402:SkSL::String::printf\28char\20const*\2c\20...\29 +403:SkPoint::normalize\28\29 +404:SkColorInfo::operator=\28SkColorInfo\20const&\29 +405:SkArenaAlloc::SkArenaAlloc\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +406:FT_Stream_ReadUShort +407:utext_next32_74 +408:jdiv_round_up +409:SkSL::RP::Builder::binary_op\28SkSL::RP::BuilderOp\2c\20int\29 +410:SkImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +411:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +412:jzero_far +413:hb_blob_get_data_writable +414:SkPathRef::growForVerb\28int\2c\20float\29 +415:SkColorInfo::SkColorInfo\28SkColorInfo&&\29 +416:skia_png_write_data +417:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +418:SkSL::Type::matches\28SkSL::Type\20const&\29\20const +419:SkRuntimeEffect::uniformSize\28\29\20const +420:SkMatrix::setConcat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +421:FT_Stream_ExitFrame +422:umtx_lock_74 +423:subtag_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +424:skia_private::TArray::push_back_raw\28int\29 +425:__shgetc +426:SkBlitter::~SkBlitter\28\29.1 +427:FT_Stream_GetUShort +428:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28wchar_t\20const*\29 +429:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28char\20const*\29 +430:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +431:SkSL::SymbolTable::addWithoutOwnershipOrDie\28SkSL::Symbol*\29 +432:SkPoint::scale\28float\2c\20SkPoint*\29\20const +433:SkIRect\20skif::Mapping::map\28SkIRect\20const&\2c\20SkMatrix\20const&\29 +434:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20char\20const*\2c\20char\20const*\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +435:sktext::gpu::BagOfBytes::~BagOfBytes\28\29 +436:icu_74::UVector32::expandCapacity\28int\2c\20UErrorCode&\29 +437:hb_face_reference_table +438:SkStringPrintf\28char\20const*\2c\20...\29 +439:GrSurfaceProxyView::asTextureProxy\28\29\20const +440:RoughlyEqualUlps\28float\2c\20float\29 +441:GrGLSLVaryingHandler::addVarying\28char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVaryingHandler::Interpolation\29 +442:skia_png_chunk_error +443:SkTDStorage::reserve\28int\29 +444:SkPath::Iter::next\28SkPoint*\29 +445:SkDynamicMemoryWStream::write\28void\20const*\2c\20unsigned\20long\29 +446:OT::Layout::Common::Coverage::get_coverage\28unsigned\20int\29\20const +447:GrQuad::MakeFromRect\28SkRect\20const&\2c\20SkMatrix\20const&\29 +448:round +449:SkRecord::grow\28\29 +450:SkRGBA4f<\28SkAlphaType\293>::toBytes_RGBA\28\29\20const +451:GrProcessor::operator\20new\28unsigned\20long\2c\20unsigned\20long\29 +452:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::SymbolTable*\29\20const +453:skgpu::ganesh::SurfaceDrawContext::addDrawOp\28GrClip\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::function\20const&\29 +454:skgpu::ResourceKeyHash\28unsigned\20int\20const*\2c\20unsigned\20long\29 +455:icu_74::UVector::elementAt\28int\29\20const +456:VP8LoadFinalBytes +457:SkSL::TProgramVisitor::visitStatement\28SkSL::Statement\20const&\29 +458:SkSL::RP::Builder::discard_stack\28int\2c\20int\29 +459:SkPath::conicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +460:SkCanvas::predrawNotify\28bool\29 +461:std::__2::__cloc\28\29 +462:sscanf +463:SkSurfaceProps::SkSurfaceProps\28\29 +464:SkStrikeSpec::~SkStrikeSpec\28\29 +465:SkPath::moveTo\28float\2c\20float\29 +466:GrSkSLFP::GrSkSLFP\28sk_sp\2c\20char\20const*\2c\20GrSkSLFP::OptFlags\29 +467:GrBackendFormat::GrBackendFormat\28\29 +468:icu_74::umtx_initImplPreInit\28icu_74::UInitOnce&\29 +469:icu_74::umtx_initImplPostInit\28icu_74::UInitOnce&\29 +470:__multf3 +471:VP8LReadBits +472:SkTDStorage::append\28int\29 +473:SkPath::isFinite\28\29\20const +474:SkMatrix::setScale\28float\2c\20float\29 +475:GrOpsRenderPass::setScissorRect\28SkIRect\20const&\29 +476:GrOpsRenderPass::bindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +477:GrCaps::getDefaultBackendFormat\28GrColorType\2c\20skgpu::Renderable\29\20const +478:hb_draw_funcs_t::start_path\28void*\2c\20hb_draw_state_t&\29 +479:SkSL::ConstructorCompound::MakeFromConstants\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20double\20const*\29 +480:SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +481:SkPath::isEmpty\28\29\20const +482:SkColorSpaceXformSteps::SkColorSpaceXformSteps\28SkColorSpace\20const*\2c\20SkAlphaType\2c\20SkColorSpace\20const*\2c\20SkAlphaType\29 +483:GrSimpleMeshDrawOpHelper::~GrSimpleMeshDrawOpHelper\28\29 +484:GrProcessorSet::GrProcessorSet\28GrPaint&&\29 +485:GrBackendFormats::AsGLFormat\28GrBackendFormat\20const&\29 +486:std::__2::locale::id::__get\28\29 +487:std::__2::locale::facet::facet\5babi:v160004\5d\28unsigned\20long\29 +488:skia_private::TArray::push_back_raw\28int\29 +489:hb_buffer_t::_infos_set_glyph_flags\28hb_glyph_info_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +490:SkSL::PipelineStage::PipelineStageCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +491:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29 +492:SkSL::GLSLCodeGenerator::writeIdentifier\28std::__2::basic_string_view>\29 +493:SkPath::reset\28\29 +494:SkPath::operator=\28SkPath\20const&\29 +495:GrGeometryProcessor::AttributeSet::initImplicit\28GrGeometryProcessor::Attribute\20const*\2c\20int\29 +496:GrContext_Base::contextID\28\29\20const +497:FT_Stream_EnterFrame +498:AlmostEqualUlps\28float\2c\20float\29 +499:udata_close_74 +500:ucln_common_registerCleanup_74 +501:std::__2::locale::__imp::install\28std::__2::locale::facet*\2c\20long\29 +502:skia_png_read_data +503:SkSpinlock::contendedAcquire\28\29 +504:SkSL::evaluate_n_way_intrinsic\28SkSL::Context\20const&\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29\20\28.18\29 +505:SkSL::FunctionDeclaration::description\28\29\20const +506:SkPaint::setStyle\28SkPaint::Style\29 +507:SkMatrix::setRectToRect\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkMatrix::ScaleToFit\29 +508:SkDPoint::approximatelyEqual\28SkDPoint\20const&\29\20const +509:GrSurfaceProxy::backingStoreDimensions\28\29\20const +510:GrOpsRenderPass::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +511:uprv_asciitolower_74 +512:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +513:skgpu::ganesh::SurfaceContext::drawingManager\28\29 +514:skgpu::UniqueKey::GenerateDomain\28\29 +515:hb_buffer_t::_set_glyph_flags\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +516:emscripten_longjmp +517:GrMeshDrawOp::GrMeshDrawOp\28unsigned\20int\29 +518:FT_RoundFix +519:uprv_realloc_74 +520:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +521:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28unsigned\20char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +522:icu_74::UnicodeSet::UnicodeSet\28\29 +523:hb_face_get_glyph_count +524:cf2_stack_pushFixed +525:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +526:__multi3 +527:SkSL::RP::Builder::push_duplicates\28int\29 +528:SkMatrix::postTranslate\28float\2c\20float\29 +529:SkColorInfo::refColorSpace\28\29\20const +530:SkCanvas::concat\28SkMatrix\20const&\29 +531:SkBlockAllocator::reset\28\29 +532:SkBitmapDevice::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +533:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20SkFilterMode\2c\20SkMipmapMode\29 +534:GrGLSLVaryingHandler::addPassThroughAttribute\28GrShaderVar\20const&\2c\20char\20const*\2c\20GrGLSLVaryingHandler::Interpolation\29 +535:GrFragmentProcessor::registerChild\28std::__2::unique_ptr>\2c\20SkSL::SampleUsage\29 +536:FT_Stream_ReleaseFrame +537:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +538:skia::textlayout::TextStyle::TextStyle\28skia::textlayout::TextStyle\20const&\29 +539:hb_buffer_t::merge_clusters_impl\28unsigned\20int\2c\20unsigned\20int\29 +540:decltype\28fp.sanitize\28this\29\29\20hb_sanitize_context_t::_dispatch\28OT::Layout::Common::Coverage\20const&\2c\20hb_priority<1u>\29 +541:SkWStream::writePackedUInt\28unsigned\20long\29 +542:SkSL::RP::Builder::push_constant_i\28int\2c\20int\29 +543:SkSL::BreakStatement::~BreakStatement\28\29 +544:SkPaint::setShader\28sk_sp\29 +545:SkNullBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +546:SkBitmap::setImmutable\28\29 +547:GrPipeline::visitProxies\28std::__2::function\20const&\29\20const +548:GrGeometryProcessor::GrGeometryProcessor\28GrProcessor::ClassID\29 +549:void\20emscripten::internal::raw_destructor\28GrDirectContext*\29 +550:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +551:icu_74::UnicodeSet::add\28int\2c\20int\29 +552:SkString::equals\28SkString\20const&\29\20const +553:SkSL::fold_expression\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +554:SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0::operator\28\29\28SkSL::FunctionDefinition\20const*\2c\20SkSL::FunctionDefinition\20const*\29\20const +555:SkSL::RP::Generator::binaryOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +556:SkJSONWriter::appendf\28char\20const*\2c\20...\29 +557:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29 +558:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b10\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +559:Cr_z_crc32 +560:u_strlen_74 +561:skia_png_push_save_buffer +562:cosf +563:SkSL::Type::MakeAliasType\28std::__2::basic_string_view>\2c\20SkSL::Type\20const&\29 +564:SkSL::RP::SlotManager::getVariableSlots\28SkSL::Variable\20const&\29 +565:SkSL::RP::Builder::unary_op\28SkSL::RP::BuilderOp\2c\20int\29 +566:SkReadBuffer::readScalar\28\29 +567:GrProcessorSet::visitProxies\28std::__2::function\20const&\29\20const +568:GrGLTexture::target\28\29\20const +569:ures_getByKey_74 +570:sk_srgb_singleton\28\29 +571:fmodf +572:fma +573:SkSurface_Base::aboutToDraw\28SkSurface::ContentChangeMode\29 +574:SkSL::Pool::FreeMemory\28void*\29 +575:SkPaint::SkPaint\28SkPaint&&\29 +576:SkDPoint::ApproximatelyEqual\28SkPoint\20const&\2c\20SkPoint\20const&\29 +577:SkBitmap::SkBitmap\28SkBitmap\20const&\29 +578:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__push_back_slow_path>>\28std::__2::unique_ptr>&&\29 +579:std::__2::basic_string\2c\20std::__2::allocator>::__init_copy_ctor_external\28char\20const*\2c\20unsigned\20long\29 +580:skip_spaces +581:skcms_Transform +582:sk_realloc_throw\28void*\2c\20unsigned\20long\29 +583:emscripten::smart_ptr_trait>::get\28sk_sp\20const&\29 +584:cff2_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +585:cff1_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +586:bool\20OT::Layout::Common::Coverage::collect_coverage\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>>\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>*\29\20const +587:SkString::operator=\28SkString\20const&\29 +588:SkSL::Type::toCompound\28SkSL::Context\20const&\2c\20int\2c\20int\29\20const +589:SkPath::transform\28SkMatrix\20const&\2c\20SkPath*\2c\20SkApplyPerspectiveClip\29\20const +590:SkPath::quadTo\28float\2c\20float\2c\20float\2c\20float\29 +591:SkCanvas::save\28\29 +592:SkBlockAllocator::addBlock\28int\2c\20int\29 +593:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +594:SkAAClipBlitter::~SkAAClipBlitter\28\29 +595:OT::hb_ot_apply_context_t::match_properties_mark\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +596:GrThreadSafeCache::VertexData::~VertexData\28\29 +597:GrShape::asPath\28SkPath*\2c\20bool\29\20const +598:GrShaderVar::appendDecl\28GrShaderCaps\20const*\2c\20SkString*\29\20const +599:GrPixmapBase::~GrPixmapBase\28\29 +600:GrGLSLVaryingHandler::emitAttributes\28GrGeometryProcessor\20const&\29 +601:uhash_put_74 +602:std::__2::unique_ptr::reset\5babi:v160004\5d\28unsigned\20char*\29 +603:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +604:skia_private::TArray::push_back\28SkPaint\20const&\29 +605:png_icc_profile_error +606:icu_74::UnicodeString::getChar32At\28int\29\20const +607:icu_74::CharStringByteSink::CharStringByteSink\28icu_74::CharString*\29 +608:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression\20const&\29 +609:SkRasterClip::~SkRasterClip\28\29 +610:SkPixmap::reset\28SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +611:SkPathRef::~SkPathRef\28\29 +612:SkPath::countPoints\28\29\20const +613:SkPaint::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +614:SkPaint::canComputeFastBounds\28\29\20const +615:SkOpPtT::contains\28SkOpPtT\20const*\29\20const +616:SkOpAngle::segment\28\29\20const +617:SkMatrix::preConcat\28SkMatrix\20const&\29 +618:SkMatrix::mapVectors\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +619:SkMasks::getRed\28unsigned\20int\29\20const +620:SkMasks::getGreen\28unsigned\20int\29\20const +621:SkMasks::getBlue\28unsigned\20int\29\20const +622:SkColorInfo::shiftPerPixel\28\29\20const +623:GrProcessorSet::~GrProcessorSet\28\29 +624:GrMeshDrawOp::createProgramInfo\28GrMeshDrawTarget*\29 +625:FT_Stream_ReadFields +626:AutoLayerForImageFilter::~AutoLayerForImageFilter\28\29 +627:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +628:saveSetjmp +629:operator==\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +630:icu_74::UnicodeString::UnicodeString\28icu_74::UnicodeString\20const&\29 +631:icu_74::UnicodeSet::compact\28\29 +632:hb_face_t::load_num_glyphs\28\29\20const +633:emscripten::internal::MethodInvoker::invoke\28int\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +634:emscripten::default_smart_ptr_trait>::construct_null\28\29 +635:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +636:VP8GetSignedValue +637:SkSafeMath::Mul\28unsigned\20long\2c\20unsigned\20long\29 +638:SkSL::Type::MakeVectorType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\29 +639:SkRasterPipeline::SkRasterPipeline\28SkArenaAlloc*\29 +640:SkPoint::setLength\28float\29 +641:SkImageGenerator::onIsValid\28GrRecordingContext*\29\20const +642:OT::GDEF::accelerator_t::mark_set_covers\28unsigned\20int\2c\20unsigned\20int\29\20const +643:GrTextureProxy::mipmapped\28\29\20const +644:GrGpuResource::~GrGpuResource\28\29 +645:FT_Stream_GetULong +646:FT_Get_Char_Index +647:Cr_z__tr_flush_bits +648:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +649:void\20emscripten::internal::MemberAccess::setWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20int\29 +650:uhash_setKeyDeleter_74 +651:uhash_init_74 +652:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +653:std::__2::__throw_overflow_error\5babi:v160004\5d\28char\20const*\29 +654:skia_private::THashMap::set\28char\20const*\2c\20unsigned\20int\29 +655:skia_png_chunk_report +656:skgpu::UniqueKey::operator=\28skgpu::UniqueKey\20const&\29 +657:sk_double_nearly_zero\28double\29 +658:int\20emscripten::internal::MemberAccess::getWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +659:icu_74::UnicodeString::tempSubString\28int\2c\20int\29\20const +660:icu_74::Locale::~Locale\28\29 +661:hb_font_get_glyph +662:ft_mem_qalloc +663:fit_linear\28skcms_Curve\20const*\2c\20int\2c\20float\2c\20float*\2c\20float*\2c\20float*\29 +664:expf +665:_output_with_dotted_circle\28hb_buffer_t*\29 +666:WebPSafeMalloc +667:SkStream::readS32\28int*\29 +668:SkSL::GLSLCodeGenerator::getTypeName\28SkSL::Type\20const&\29 +669:SkRGBA4f<\28SkAlphaType\293>::FromColor\28unsigned\20int\29 +670:SkPath::Iter::Iter\28SkPath\20const&\2c\20bool\29 +671:SkMatrix::postConcat\28SkMatrix\20const&\29 +672:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_3::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +673:SkGlyph::rowBytes\28\29\20const +674:SkDrawable::getFlattenableType\28\29\20const +675:SkDrawable::getBounds\28\29 +676:SkDCubic::ptAtT\28double\29\20const +677:SkColorSpace::MakeSRGB\28\29 +678:SkColorInfo::SkColorInfo\28\29 +679:GrOpFlushState::drawMesh\28GrSimpleMesh\20const&\29 +680:GrImageInfo::GrImageInfo\28SkImageInfo\20const&\29 +681:DefaultGeoProc::Impl::~Impl\28\29 +682:skif::LayerSpace::mapRect\28skif::LayerSpace\20const&\29\20const +683:out +684:jpeg_fill_bit_buffer +685:icu_74::ReorderingBuffer::appendZeroCC\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29 +686:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +687:SkString::data\28\29 +688:SkShaderBase::SkShaderBase\28\29 +689:SkSL::Type::coerceExpression\28std::__2::unique_ptr>\2c\20SkSL::Context\20const&\29\20const +690:SkSL::Type::MakeGenericType\28char\20const*\2c\20SkSpan\2c\20SkSL::Type\20const*\29 +691:SkSL::ConstantFolder::GetConstantValueForVariable\28SkSL::Expression\20const&\29 +692:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29 +693:SkRegion::setRect\28SkIRect\20const&\29 +694:SkRegion::SkRegion\28\29 +695:SkRecords::FillBounds::adjustForSaveLayerPaints\28SkRect*\2c\20int\29\20const +696:SkPathStroker::lineTo\28SkPoint\20const&\2c\20SkPath::Iter\20const*\29 +697:SkPaint::setPathEffect\28sk_sp\29 +698:SkPaint::setMaskFilter\28sk_sp\29 +699:SkPaint::setColor\28unsigned\20int\29 +700:SkPaint::setColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\29 +701:SkOpContourBuilder::flush\28\29 +702:SkImageFilter::getInput\28int\29\20const +703:SkData::MakeWithCopy\28void\20const*\2c\20unsigned\20long\29 +704:SkCanvas::~SkCanvas\28\29.1 +705:SkCanvas::restoreToCount\28int\29 +706:SkCanvas::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +707:SkAutoPixmapStorage::~SkAutoPixmapStorage\28\29 +708:GrMatrixEffect::Make\28SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +709:u_memcpy_74 +710:std::__2::char_traits::assign\28char&\2c\20char\20const&\29 +711:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +712:std::__2::__check_grouping\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int&\29 +713:skia_png_malloc +714:skia::textlayout::Cluster::run\28\29\20const +715:skgpu::ganesh::SurfaceDrawContext::drawFilledQuad\28GrClip\20const*\2c\20GrPaint&&\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\29 +716:sk_sp::~sk_sp\28\29 +717:png_write_complete_chunk +718:pad +719:icu_74::UnicodeString::UnicodeString\28char16_t\20const*\29 +720:icu_74::UnicodeSet::add\28int\29 +721:hb_lockable_set_t::fini\28hb_mutex_t&\29 +722:ft_mem_alloc +723:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkBlendMode\29 +724:__ashlti3 +725:SkWBuffer::writeNoSizeCheck\28void\20const*\2c\20unsigned\20long\29 +726:SkTCoincident::setPerp\28SkTCurve\20const&\2c\20double\2c\20SkDPoint\20const&\2c\20SkTCurve\20const&\29 +727:SkStrokeRec::SkStrokeRec\28SkStrokeRec::InitStyle\29 +728:SkString::printf\28char\20const*\2c\20...\29 +729:SkSL::Type::MakeMatrixType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\2c\20signed\20char\29 +730:SkSL::Operator::tightOperatorName\28\29\20const +731:SkReadBuffer::readColor4f\28SkRGBA4f<\28SkAlphaType\293>*\29 +732:SkPixmap::reset\28\29 +733:SkPictureData::requiredPaint\28SkReadBuffer*\29\20const +734:SkPath::cubicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +735:SkPath::close\28\29 +736:SkPaintToGrPaint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +737:SkPaint::setBlendMode\28SkBlendMode\29 +738:SkFindUnitQuadRoots\28float\2c\20float\2c\20float\2c\20float*\29 +739:SkDeque::push_back\28\29 +740:SkCanvas::internalQuickReject\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\29 +741:SkBinaryWriteBuffer::writeBool\28bool\29 +742:OT::hb_paint_context_t::return_t\20OT::Paint::dispatch\28OT::hb_paint_context_t*\29\20const +743:GrShape::bounds\28\29\20const +744:GrProgramInfo::GrProgramInfo\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrGeometryProcessor\20const*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +745:GrPixmapBase::GrPixmapBase\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +746:GrColorInfo::GrColorInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\29 +747:FT_Outline_Translate +748:FT_Load_Glyph +749:FT_GlyphLoader_CheckPoints +750:DefaultGeoProc::~DefaultGeoProc\28\29 +751:utext_current32_74 +752:u_terminateUChars_74 +753:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +754:std::__2::basic_string\2c\20std::__2::allocator>::__set_short_size\5babi:v160004\5d\28unsigned\20long\29 +755:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_size\5babi:v160004\5d\28unsigned\20long\29 +756:sinf +757:icu_74::BMPSet::~BMPSet\28\29.1 +758:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28GrDirectContext&\2c\20unsigned\20long\29\2c\20GrDirectContext*\2c\20unsigned\20long\29 +759:byn$mgfn-shared$std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +760:SkTextBlob::~SkTextBlob\28\29 +761:SkRasterPipeline::extend\28SkRasterPipeline\20const&\29 +762:SkMatrix::preTranslate\28float\2c\20float\29 +763:SkMatrix::mapXY\28float\2c\20float\2c\20SkPoint*\29\20const +764:SkMatrix::mapRadius\28float\29\20const +765:SkIRect::join\28SkIRect\20const&\29 +766:SkData::MakeUninitialized\28unsigned\20long\29 +767:SkDQuad::RootsValidT\28double\2c\20double\2c\20double\2c\20double*\29 +768:SkDLine::nearPoint\28SkDPoint\20const&\2c\20bool*\29\20const +769:SkConic::chopIntoQuadsPOW2\28SkPoint*\2c\20int\29\20const +770:SkColorSpaceXformSteps::apply\28float*\29\20const +771:SkCodec::applyColorXform\28void*\2c\20void\20const*\2c\20int\29\20const +772:SkCachedData::internalRef\28bool\29\20const +773:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29 +774:GrSurface::RefCntedReleaseProc::~RefCntedReleaseProc\28\29 +775:GrStyle::initPathEffect\28sk_sp\29 +776:GrProcessor::operator\20delete\28void*\29 +777:GrGpuResource::hasRef\28\29\20const +778:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::~Impl\28\29 +779:GrBufferAllocPool::~GrBufferAllocPool\28\29.1 +780:strncpy +781:std::__2::numpunct::thousands_sep\5babi:v160004\5d\28\29\20const +782:std::__2::numpunct::grouping\5babi:v160004\5d\28\29\20const +783:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +784:skia_png_malloc_warn +785:rewind\28GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +786:icu_74::UVector::removeAllElements\28\29 +787:icu_74::BytesTrie::~BytesTrie\28\29 +788:icu_74::BytesTrie::next\28int\29 +789:cf2_stack_popInt +790:SkUTF::NextUTF8\28char\20const**\2c\20char\20const*\29 +791:SkSL::GLSLCodeGenerator::write\28std::__2::basic_string_view>\29 +792:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29 +793:SkPaint::setColorFilter\28sk_sp\29 +794:SkMatrixPriv::MapRect\28SkM44\20const&\2c\20SkRect\20const&\29 +795:SkImageInfo::MakeA8\28int\2c\20int\29 +796:SkData::MakeWithProc\28void\20const*\2c\20unsigned\20long\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +797:SkData::MakeEmpty\28\29 +798:SkConic::computeQuadPOW2\28float\29\20const +799:SkColorTypeIsAlwaysOpaque\28SkColorType\29 +800:SkColorInfo::makeColorType\28SkColorType\29\20const +801:SkCodec::~SkCodec\28\29 +802:SkAAClip::quickContains\28int\2c\20int\2c\20int\2c\20int\29\20const +803:SkAAClip::isRect\28\29\20const +804:GrSurface::ComputeSize\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20bool\29 +805:GrSimpleMeshDrawOpHelper::GrSimpleMeshDrawOpHelper\28GrProcessorSet*\2c\20GrAAType\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +806:GrGeometryProcessor::ProgramImpl::SetTransform\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrResourceHandle\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix*\29 +807:GrDrawingManager::flushIfNecessary\28\29 +808:GrBlendFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkBlendMode\2c\20bool\29 +809:FT_Stream_ExtractFrame +810:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +811:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +812:std::__2::basic_string\2c\20std::__2::allocator>::__is_long\5babi:v160004\5d\28\29\20const +813:std::__2::__throw_bad_optional_access\5babi:v160004\5d\28\29 +814:skia_png_malloc_base +815:skgpu::ganesh::AsView\28GrRecordingContext*\2c\20SkImage\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +816:skcms_TransferFunction_eval +817:pow +818:icu_74::UnicodeString::setToBogus\28\29 +819:icu_74::UnicodeString::releaseBuffer\28int\29 +820:icu_74::UnicodeSet::_appendToPat\28icu_74::UnicodeString&\2c\20int\2c\20signed\20char\29 +821:icu_74::UVector::~UVector\28\29 +822:hb_ot_face_t::init0\28hb_face_t*\29 +823:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::get\28\29\20const +824:__addtf3 +825:SkTDStorage::reset\28\29 +826:SkScan::AntiHairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +827:SkSL::TProgramVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +828:SkSL::RP::Builder::label\28int\29 +829:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +830:SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +831:SkReadBuffer::skip\28unsigned\20long\2c\20unsigned\20long\29 +832:SkPath::countVerbs\28\29\20const +833:SkMatrix::set9\28float\20const*\29 +834:SkMatrix::getMaxScale\28\29\20const +835:SkImageInfo::computeByteSize\28unsigned\20long\29\20const +836:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +837:SkImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +838:SkImageFilter_Base::SkImageFilter_Base\28sk_sp\20const*\2c\20int\2c\20std::__2::optional\29 +839:SkFontMgr::countFamilies\28\29\20const +840:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\2c\20bool\2c\20SkBlitter*\29\20const +841:SkDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +842:SkBlockAllocator::SkBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\2c\20unsigned\20long\29 +843:SkBlender::Mode\28SkBlendMode\29 +844:ReadHuffmanCode +845:GrSurfaceProxy::~GrSurfaceProxy\28\29 +846:GrRenderTask::makeClosed\28GrRecordingContext*\29 +847:GrGpuBuffer::unmap\28\29 +848:GrContext_Base::options\28\29\20const +849:GrCaps::getReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +850:GrBufferAllocPool::reset\28\29 +851:FT_Stream_ReadByte +852:std::__2::char_traits::assign\28wchar_t&\2c\20wchar_t\20const&\29 +853:std::__2::char_traits::copy\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +854:std::__2::basic_string\2c\20std::__2::allocator>::begin\5babi:v160004\5d\28\29 +855:std::__2::__next_prime\28unsigned\20long\29 +856:std::__2::__libcpp_snprintf_l\28char*\2c\20unsigned\20long\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +857:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29 +858:locale_get_default_74 +859:is_equal\28std::type_info\20const*\2c\20std::type_info\20const*\2c\20bool\29 +860:hb_buffer_t::sync\28\29 +861:cbrtf +862:__floatsitf +863:WebPSafeCalloc +864:StreamRemainingLengthIsBelow\28SkStream*\2c\20unsigned\20long\29 +865:SkSize\20skif::Mapping::map\28SkSize\20const&\2c\20SkMatrix\20const&\29 +866:SkSL::RP::Builder::swizzle\28int\2c\20SkSpan\29 +867:SkSL::Parser::expression\28\29 +868:SkRuntimeEffect::Uniform::sizeInBytes\28\29\20const +869:SkRGBA4f<\28SkAlphaType\293>::toSkColor\28\29\20const +870:SkPath::isConvex\28\29\20const +871:SkImageFilter_Base::getFlattenableType\28\29\20const +872:SkImageFilter_Base::getChildOutputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +873:SkImageFilter_Base::getChildInputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +874:SkIDChangeListener::List::~List\28\29 +875:SkDQuad::ptAtT\28double\29\20const +876:SkDLine::exactPoint\28SkDPoint\20const&\29\20const +877:SkDConic::ptAtT\28double\29\20const +878:SkColorInfo::makeAlphaType\28SkAlphaType\29\20const +879:SkCanvas::restore\28\29 +880:SkCanvas::drawImage\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +881:SkBitmap::setInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +882:SkAAClip::Builder::addRun\28int\2c\20int\2c\20unsigned\20int\2c\20int\29 +883:GrSkSLFP::addChild\28std::__2::unique_ptr>\2c\20bool\29 +884:GrGLSLShaderBuilder::appendTextureLookup\28SkString*\2c\20GrResourceHandle\2c\20char\20const*\29\20const +885:GrFragmentProcessor::cloneAndRegisterAllChildProcessors\28GrFragmentProcessor\20const&\29 +886:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::~SwizzleFragmentProcessor\28\29 +887:GrDrawOpAtlas::~GrDrawOpAtlas\28\29 +888:GrBackendFormat::GrBackendFormat\28GrBackendFormat\20const&\29 +889:AutoLayerForImageFilter::AutoLayerForImageFilter\28SkCanvas*\2c\20SkPaint\20const&\2c\20SkRect\20const*\2c\20bool\29 +890:AutoFTAccess::AutoFTAccess\28SkTypeface_FreeType\20const*\29 +891:AlmostPequalUlps\28float\2c\20float\29 +892:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__emplace_back_slow_path>\28unsigned\20int\20const&\2c\20sk_sp&&\29 +893:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20char\29\20const +894:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\29 +895:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_cap\5babi:v160004\5d\28unsigned\20long\29 +896:skia_png_reset_crc +897:skia_png_benign_error +898:memchr +899:icu_74::UnicodeString::operator=\28icu_74::UnicodeString\20const&\29 +900:icu_74::UnicodeString::doReplace\28int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20int\29 +901:icu_74::UnicodeString::UnicodeString\28signed\20char\2c\20icu_74::ConstChar16Ptr\2c\20int\29 +902:icu_74::UVector::adoptElement\28void*\2c\20UErrorCode&\29 +903:icu_74::MlBreakEngine::initKeyValue\28UResourceBundle*\2c\20char\20const*\2c\20char\20const*\2c\20icu_74::Hashtable&\2c\20UErrorCode&\29 +904:icu_74::ByteSinkUtil::appendUnchanged\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink&\2c\20unsigned\20int\2c\20icu_74::Edits*\2c\20UErrorCode&\29 +905:hb_buffer_t::sync_so_far\28\29 +906:hb_buffer_t::move_to\28unsigned\20int\29 +907:VP8ExitCritical +908:SkTDStorage::resize\28int\29 +909:SkSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +910:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20float\29 +911:SkStream::readPackedUInt\28unsigned\20long*\29 +912:SkSL::Type::coercionCost\28SkSL::Type\20const&\29\20const +913:SkSL::Type::clone\28SkSL::Context\20const&\2c\20SkSL::SymbolTable*\29\20const +914:SkSL::RP::Generator::writeStatement\28SkSL::Statement\20const&\29 +915:SkSL::Parser::operatorRight\28SkSL::Parser::AutoDepth&\2c\20SkSL::OperatorKind\2c\20std::__2::unique_ptr>\20\28SkSL::Parser::*\29\28\29\2c\20std::__2::unique_ptr>&\29 +916:SkRuntimeEffectBuilder::writableUniformData\28\29 +917:SkRuntimeEffect::findUniform\28std::__2::basic_string_view>\29\20const +918:SkResourceCache::Key::init\28void*\2c\20unsigned\20long\20long\2c\20unsigned\20long\29 +919:SkReadBuffer::skip\28unsigned\20long\29 +920:SkReadBuffer::readFlattenable\28SkFlattenable::Type\29 +921:SkRRect::initializeRect\28SkRect\20const&\29 +922:SkPaint::asBlendMode\28\29\20const +923:SkGlyph::path\28\29\20const +924:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\29 +925:GrRenderTargetProxy::arenas\28\29 +926:GrOpFlushState::caps\28\29\20const +927:GrGpuResource::hasNoCommandBufferUsages\28\29\20const +928:GrGeometryProcessor::ProgramImpl::WriteLocalCoord\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20GrShaderVar\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +929:GrGLTextureParameters::SamplerOverriddenState::SamplerOverriddenState\28\29 +930:GrGLGpu::deleteFramebuffer\28unsigned\20int\29 +931:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\29 +932:FT_Stream_ReadULong +933:FT_Get_Module +934:Cr_z__tr_flush_block +935:AlmostBequalUlps\28float\2c\20float\29 +936:utext_previous32_74 +937:ures_hasNext_74 +938:ures_getByKeyWithFallback_74 +939:std::__2::numpunct::truename\5babi:v160004\5d\28\29\20const +940:std::__2::moneypunct::do_grouping\28\29\20const +941:std::__2::locale::use_facet\28std::__2::locale::id&\29\20const +942:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29\20const +943:std::__2::basic_string\2c\20std::__2::allocator>::empty\5babi:v160004\5d\28\29\20const +944:sktext::gpu::BagOfBytes::needMoreBytes\28int\2c\20int\29 +945:skia_png_save_int_32 +946:skia_png_safecat +947:skia_png_gamma_significant +948:skgpu::ganesh::SurfaceContext::readPixels\28GrDirectContext*\2c\20GrPixmap\2c\20SkIPoint\29 +949:icu_74::UnicodeString::setTo\28signed\20char\2c\20icu_74::ConstChar16Ptr\2c\20int\29 +950:icu_74::UnicodeString::getBuffer\28int\29 +951:icu_74::UnicodeString::doAppend\28icu_74::UnicodeString\20const&\2c\20int\2c\20int\29 +952:icu_74::UVector32::~UVector32\28\29 +953:icu_74::RuleBasedBreakIterator::handleNext\28\29 +954:icu_74::Locale::Locale\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +955:hb_lazy_loader_t\2c\20hb_face_t\2c\2026u\2c\20OT::GPOS_accelerator_t>::get\28\29\20const +956:hb_font_get_nominal_glyph +957:hb_buffer_t::clear_output\28\29 +958:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPaint*\29 +959:emscripten::internal::FunctionInvoker::invoke\28unsigned\20long\20\28**\29\28GrDirectContext&\29\2c\20GrDirectContext*\29 +960:cff_parse_num +961:\28anonymous\20namespace\29::write_trc_tag\28skcms_Curve\20const&\29 +962:T_CString_toLowerCase_74 +963:SkWStream::writeScalarAsText\28float\29 +964:SkTSect::SkTSect\28SkTCurve\20const&\29 +965:SkString::set\28char\20const*\2c\20unsigned\20long\29 +966:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Context\20const&\2c\20SkSL::Symbol*\29 +967:SkSL::Swizzle::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29 +968:SkSL::Parser::layoutInt\28\29 +969:SkSL::Parser::expectIdentifier\28SkSL::Token*\29 +970:SkRegion::Cliperator::next\28\29 +971:SkRegion::Cliperator::Cliperator\28SkRegion\20const&\2c\20SkIRect\20const&\29 +972:SkRRect::setOval\28SkRect\20const&\29 +973:SkPictureRecorder::~SkPictureRecorder\28\29 +974:SkPathRef::CreateEmpty\28\29 +975:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +976:SkPaint::operator=\28SkPaint&&\29 +977:SkMasks::getAlpha\28unsigned\20int\29\20const +978:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29 +979:SkImageFilters::Crop\28SkRect\20const&\2c\20SkTileMode\2c\20sk_sp\29 +980:SkImageFilter_Base::getChildOutput\28int\2c\20skif::Context\20const&\29\20const +981:SkIDChangeListener::List::List\28\29 +982:SkData::MakeFromMalloc\28void\20const*\2c\20unsigned\20long\29 +983:SkDRect::setBounds\28SkTCurve\20const&\29 +984:SkColorFilter::isAlphaUnchanged\28\29\20const +985:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +986:SkCanvas::translate\28float\2c\20float\29 +987:SkBitmapCache::Rec::getKey\28\29\20const +988:PS_Conv_ToFixed +989:OT::hb_ot_apply_context_t::hb_ot_apply_context_t\28unsigned\20int\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +990:GrTriangulator::Line::intersect\28GrTriangulator::Line\20const&\2c\20SkPoint*\29\20const +991:GrSimpleMeshDrawOpHelper::isCompatible\28GrSimpleMeshDrawOpHelper\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +992:GrQuad::MakeFromSkQuad\28SkPoint\20const*\2c\20SkMatrix\20const&\29 +993:GrOpsRenderPass::bindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +994:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkISize\20const&\29 +995:GrGLSLShaderBuilder::appendTextureLookup\28GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +996:GrColorInfo::GrColorInfo\28SkColorInfo\20const&\29 +997:AlmostDequalUlps\28double\2c\20double\29 +998:utrace_exit_74 +999:utrace_entry_74 +1000:ures_getNextResource_74 +1001:uprv_toupper_74 +1002:tt_face_get_name +1003:strrchr +1004:std::__2::vector>::size\5babi:v160004\5d\28\29\20const +1005:std::__2::to_string\28long\20long\29 +1006:std::__2::__libcpp_locale_guard::~__libcpp_locale_guard\5babi:v160004\5d\28\29 +1007:std::__2::__libcpp_locale_guard::__libcpp_locale_guard\5babi:v160004\5d\28__locale_struct*&\29 +1008:skif::FilterResult::~FilterResult\28\29 +1009:skia_png_app_error +1010:skgpu::ganesh::SurfaceFillContext::getOpsTask\28\29 +1011:isdigit +1012:icu_74::UnicodeString::doIndexOf\28char16_t\2c\20int\2c\20int\29\20const +1013:hb_sanitize_context_t::return_t\20OT::Paint::dispatch\28hb_sanitize_context_t*\29\20const +1014:hb_ot_layout_lookup_would_substitute +1015:hb_buffer_t::unsafe_to_break\28unsigned\20int\2c\20unsigned\20int\29 +1016:ft_module_get_service +1017:cf2_hintmap_map +1018:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +1019:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +1020:__sindf +1021:__shlim +1022:__cosdf +1023:\28anonymous\20namespace\29::init_resb_result\28UResourceDataEntry*\2c\20unsigned\20int\2c\20char\20const*\2c\20int\2c\20UResourceDataEntry*\2c\20char\20const*\2c\20int\2c\20UResourceBundle*\2c\20UErrorCode*\29 +1024:SkTiff::ImageFileDirectory::getEntryValuesGeneric\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20int\2c\20void*\29\20const +1025:SkSurface::getCanvas\28\29 +1026:SkSL::cast_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +1027:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitType\28SkSL::Type\20const&\29 +1028:SkSL::VariableReference::VariableReference\28SkSL::Position\2c\20SkSL::Variable\20const*\2c\20SkSL::VariableRefKind\29 +1029:SkSL::Variable::initialValue\28\29\20const +1030:SkSL::SymbolTable::lookup\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +1031:SkSL::SymbolTable::addArrayDimension\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20int\29 +1032:SkSL::StringStream::str\28\29\20const +1033:SkSL::RP::Program::appendCopy\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29\20const +1034:SkSL::RP::Generator::makeLValue\28SkSL::Expression\20const&\2c\20bool\29 +1035:SkSL::RP::DynamicIndexLValue::dynamicSlotRange\28\29 +1036:SkSL::GLSLCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1037:SkSL::Expression::description\28\29\20const +1038:SkSL::Analysis::UpdateVariableRefKind\28SkSL::Expression*\2c\20SkSL::VariableRefKind\2c\20SkSL::ErrorReporter*\29 +1039:SkRegion::setEmpty\28\29 +1040:SkRasterPipeline::appendLoadDst\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +1041:SkRRect::setRectRadii\28SkRect\20const&\2c\20SkPoint\20const*\29 +1042:SkPointPriv::DistanceToLineSegmentBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +1043:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +1044:SkPath::addPath\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPath::AddPathMode\29 +1045:SkPaint::setImageFilter\28sk_sp\29 +1046:SkOpSpanBase::contains\28SkOpSegment\20const*\29\20const +1047:SkMipmap::ComputeLevelCount\28int\2c\20int\29 +1048:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint\20const*\2c\20int\29\20const +1049:SkMatrix::isSimilarity\28float\29\20const +1050:SkKnownRuntimeEffects::GetKnownRuntimeEffect\28SkKnownRuntimeEffects::StableKey\29 +1051:SkImageFilter::countInputs\28\29\20const +1052:SkIDChangeListener::List::changed\28\29 +1053:SkDynamicMemoryWStream::detachAsData\28\29 +1054:SkColorSpace::Equals\28SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +1055:SkColorFilter::filterColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\2c\20SkColorSpace*\29\20const +1056:SkCanvas::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +1057:SkAutoPixmapStorage::SkAutoPixmapStorage\28\29 +1058:SkAAClipBlitterWrapper::init\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1059:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28\29 +1060:RunBasedAdditiveBlitter::flush\28\29 +1061:GrSurface::onRelease\28\29 +1062:GrStyledShape::unstyledKeySize\28\29\20const +1063:GrShape::convex\28bool\29\20const +1064:GrRecordingContext::threadSafeCache\28\29 +1065:GrProxyProvider::caps\28\29\20const +1066:GrOp::GrOp\28unsigned\20int\29 +1067:GrMakeUncachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +1068:GrGLSLShaderBuilder::getMangledFunctionName\28char\20const*\29 +1069:GrGLGpu::bindBuffer\28GrGpuBufferType\2c\20GrBuffer\20const*\29 +1070:GrGLAttribArrayState::set\28GrGLGpu*\2c\20int\2c\20GrBuffer\20const*\2c\20GrVertexAttribType\2c\20SkSLType\2c\20int\2c\20unsigned\20long\2c\20int\29 +1071:GrAAConvexTessellator::Ring::computeNormals\28GrAAConvexTessellator\20const&\29 +1072:GrAAConvexTessellator::Ring::computeBisectors\28GrAAConvexTessellator\20const&\29 +1073:FT_Activate_Size +1074:Cr_z_adler32 +1075:vsnprintf +1076:void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1077:void\20extend_pts<\28SkPaint::Cap\291>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1078:ucptrie_getRange_74 +1079:u_strchr_74 +1080:top12 +1081:toSkImageInfo\28SimpleImageInfo\20const&\29 +1082:std::__2::pair::type\2c\20std::__2::__unwrap_ref_decay::type>\20std::__2::make_pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +1083:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +1084:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +1085:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::destroy\28std::__2::__tree_node\2c\20void*>*\29 +1086:std::__2::__num_put_base::__identify_padding\28char*\2c\20char*\2c\20std::__2::ios_base\20const&\29 +1087:std::__2::__num_get_base::__get_base\28std::__2::ios_base&\29 +1088:std::__2::__libcpp_asprintf_l\28char**\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +1089:skia_private::THashTable::Traits>::removeSlot\28int\29 +1090:skia_png_zstream_error +1091:skia::textlayout::TextLine::iterateThroughVisualRuns\28bool\2c\20std::__2::function\2c\20float*\29>\20const&\29\20const +1092:skia::textlayout::ParagraphImpl::cluster\28unsigned\20long\29 +1093:skia::textlayout::Cluster::runOrNull\28\29\20const +1094:skgpu::ganesh::SurfaceFillContext::replaceOpsTask\28\29 +1095:skcms_TransferFunction_getType +1096:skcms_GetTagBySignature +1097:res_getStringNoTrace_74 +1098:read_curve\28unsigned\20char\20const*\2c\20unsigned\20int\2c\20skcms_Curve*\2c\20unsigned\20int*\29 +1099:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1100:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1101:icu_74::UnicodeString::unBogus\28\29 +1102:icu_74::UnicodeSetStringSpan::~UnicodeSetStringSpan\28\29 +1103:icu_74::SimpleFilteredSentenceBreakIterator::operator==\28icu_74::BreakIterator\20const&\29\20const +1104:icu_74::Locale::init\28char\20const*\2c\20signed\20char\29 +1105:hb_serialize_context_t::pop_pack\28bool\29 +1106:hb_lazy_loader_t\2c\20hb_face_t\2c\206u\2c\20hb_blob_t>::get\28\29\20const +1107:getenv +1108:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::__wrap_iter\20const&\2c\20std::__2::__wrap_iter\20const&\29 +1109:afm_parser_read_vals +1110:__extenddftf2 +1111:\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1112:\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1113:\28anonymous\20namespace\29::colrv1_transform\28FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\2c\20SkCanvas*\2c\20SkMatrix*\29 +1114:WebPRescalerImport +1115:SkTDStorage::removeShuffle\28int\29 +1116:SkString::SkString\28char\20const*\2c\20unsigned\20long\29 +1117:SkScan::HairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1118:SkSL::ProgramUsage::get\28SkSL::Variable\20const&\29\20const +1119:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29 +1120:SkSL::InlineCandidateAnalyzer::visitExpression\28std::__2::unique_ptr>*\29 +1121:SkSL::GLSLCodeGenerator::getTypePrecision\28SkSL::Type\20const&\29 +1122:SkReadBuffer::readByteArray\28void*\2c\20unsigned\20long\29 +1123:SkRasterPipeline::run\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +1124:SkRBuffer::read\28void*\2c\20unsigned\20long\29 +1125:SkPictureData::optionalPaint\28SkReadBuffer*\29\20const +1126:SkPathWriter::isClosed\28\29\20const +1127:SkPath::isRect\28SkRect*\2c\20bool*\2c\20SkPathDirection*\29\20const +1128:SkPath::getGenerationID\28\29\20const +1129:SkPaint::setStrokeWidth\28float\29 +1130:SkOpSegment::nextChase\28SkOpSpanBase**\2c\20int*\2c\20SkOpSpan**\2c\20SkOpSpanBase**\29\20const +1131:SkOpSegment::addCurveTo\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkPathWriter*\29\20const +1132:SkMemoryStream::Make\28sk_sp\29 +1133:SkMatrix::preScale\28float\2c\20float\29 +1134:SkMatrix::postScale\28float\2c\20float\29 +1135:SkMask::computeImageSize\28\29\20const +1136:SkIntersections::removeOne\28int\29 +1137:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\29 +1138:SkDevice::makeSpecial\28SkBitmap\20const&\29 +1139:SkDLine::ptAtT\28double\29\20const +1140:SkBulkGlyphMetrics::~SkBulkGlyphMetrics\28\29 +1141:SkBlockMemoryStream::getLength\28\29\20const +1142:SkBitmap::peekPixels\28SkPixmap*\29\20const +1143:SkAAClip::setEmpty\28\29 +1144:PS_Conv_Strtol +1145:OT::Layout::GSUB_impl::SubstLookup*\20hb_serialize_context_t::push\28\29 +1146:GrTriangulator::makeConnectingEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\2c\20int\29 +1147:GrTextureProxy::~GrTextureProxy\28\29 +1148:GrSimpleMeshDrawOpHelper::createProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1149:GrResourceAllocator::addInterval\28GrSurfaceProxy*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20GrResourceAllocator::ActualUse\2c\20GrResourceAllocator::AllowRecycling\29 +1150:GrRecordingContextPriv::makeSFCWithFallback\28GrImageInfo\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1151:GrGpuBuffer::updateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +1152:GrGLTextureParameters::NonsamplerState::NonsamplerState\28\29 +1153:GrGLSLShaderBuilder::~GrGLSLShaderBuilder\28\29 +1154:GrGLSLProgramBuilder::nameVariable\28char\2c\20char\20const*\2c\20bool\29 +1155:GrGLGpu::prepareToDraw\28GrPrimitiveType\29 +1156:GrGLFormatFromGLEnum\28unsigned\20int\29 +1157:GrBackendTexture::getBackendFormat\28\29\20const +1158:GrBackendFormats::MakeGL\28unsigned\20int\2c\20unsigned\20int\29 +1159:GrBackendFormatToCompressionType\28GrBackendFormat\20const&\29 +1160:FilterLoop24_C +1161:FT_Stream_Skip +1162:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1163:AAT::Lookup::sanitize\28hb_sanitize_context_t*\29\20const +1164:utext_close_74 +1165:ures_open_74 +1166:ures_getStringByKey_74 +1167:ures_getKey_74 +1168:ulocimp_getLanguage_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1169:uhash_puti_74 +1170:u_terminateChars_74 +1171:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +1172:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\20const*\2c\20char\20const*\29\20const +1173:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::writeTriangleStack\28skgpu::tess::MiddleOutPolygonTriangulator::PoppedTriangleStack&&\29 +1174:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +1175:std::__2::basic_string\2c\20std::__2::allocator>::__get_long_cap\5babi:v160004\5d\28\29\20const +1176:skif::LayerSpace::ceil\28\29\20const +1177:skia_private::TArray::push_back\28float\20const&\29 +1178:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1179:skia_png_write_finish_row +1180:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29 +1181:scalbn +1182:non-virtual\20thunk\20to\20GrOpFlushState::allocator\28\29 +1183:icu_74::UnicodeSet::applyPattern\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +1184:icu_74::Normalizer2Impl::getFCD16FromNormData\28int\29\20const +1185:icu_74::Locale::Locale\28\29 +1186:icu_74::BytesTrie::readValue\28unsigned\20char\20const*\2c\20int\29 +1187:hb_lazy_loader_t\2c\20hb_face_t\2c\2022u\2c\20hb_blob_t>::get\28\29\20const +1188:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::get\28\29\20const +1189:hb_buffer_get_glyph_infos +1190:hb_buffer_destroy +1191:embind_init_Paragraph\28\29::$_5::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +1192:cff2_path_param_t::line_to\28CFF::point_t\20const&\29 +1193:cff1_path_param_t::line_to\28CFF::point_t\20const&\29 +1194:cf2_stack_getReal +1195:byn$mgfn-shared$GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +1196:antifilldot8\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\2c\20bool\29 +1197:afm_stream_skip_spaces +1198:WebPRescalerInit +1199:WebPRescalerExportRow +1200:SkWStream::writeDecAsText\28int\29 +1201:SkTextBlobBuilder::allocInternal\28SkFont\20const&\2c\20SkTextBlob::GlyphPositioning\2c\20int\2c\20int\2c\20SkPoint\2c\20SkRect\20const*\29 +1202:SkTDStorage::append\28void\20const*\2c\20int\29 +1203:SkString::Rec::Make\28char\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +1204:SkStrike::digestFor\28skglyph::ActionType\2c\20SkPackedGlyphID\29 +1205:SkShaders::Color\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\29 +1206:SkShader::makeWithLocalMatrix\28SkMatrix\20const&\29\20const +1207:SkSafeMath::Add\28unsigned\20long\2c\20unsigned\20long\29 +1208:SkSL::Parser::assignmentExpression\28\29 +1209:SkSL::ConstructorSplat::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1210:SkSL::ConstructorScalarCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1211:SkResourceCache::Find\28SkResourceCache::Key\20const&\2c\20bool\20\28*\29\28SkResourceCache::Rec\20const&\2c\20void*\29\2c\20void*\29 +1212:SkRegion::SkRegion\28SkIRect\20const&\29 +1213:SkRect::toQuad\28SkPoint*\29\20const +1214:SkRasterPipeline::appendTransferFunction\28skcms_TransferFunction\20const&\29 +1215:SkRasterPipeline::appendStore\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +1216:SkRasterPipeline::appendConstantColor\28SkArenaAlloc*\2c\20float\20const*\29 +1217:SkRasterClip::SkRasterClip\28\29 +1218:SkRRect::checkCornerContainment\28float\2c\20float\29\20const +1219:SkPictureData::getImage\28SkReadBuffer*\29\20const +1220:SkPathMeasure::getLength\28\29 +1221:SkPathBuilder::~SkPathBuilder\28\29 +1222:SkPathBuilder::detach\28\29 +1223:SkPathBuilder::SkPathBuilder\28\29 +1224:SkPath::addPoly\28SkPoint\20const*\2c\20int\2c\20bool\29 +1225:SkPaint::refPathEffect\28\29\20const +1226:SkMipmap::getLevel\28int\2c\20SkMipmap::Level*\29\20const +1227:SkJSONWriter::endArray\28\29 +1228:SkJSONWriter::appendCString\28char\20const*\2c\20char\20const*\29 +1229:SkIntersections::setCoincident\28int\29 +1230:SkImageInfo::computeOffset\28int\2c\20int\2c\20unsigned\20long\29\20const +1231:SkImageFilter_Base::flatten\28SkWriteBuffer&\29\20const +1232:SkDrawBase::SkDrawBase\28\29 +1233:SkDLine::NearPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1234:SkDLine::NearPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1235:SkDLine::ExactPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1236:SkDLine::ExactPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1237:SkColorSpaceXformSteps::apply\28SkRasterPipeline*\29\20const +1238:SkColorFilter::asAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +1239:SkCodec::SkCodec\28SkEncodedInfo&&\2c\20skcms_PixelFormat\2c\20std::__2::unique_ptr>\2c\20SkEncodedOrigin\29 +1240:SkCanvas::drawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +1241:SkCanvas::drawColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +1242:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\2c\20SkEnumBitMask\29 +1243:SkBulkGlyphMetrics::SkBulkGlyphMetrics\28SkStrikeSpec\20const&\29 +1244:SkBlockAllocator::releaseBlock\28SkBlockAllocator::Block*\29 +1245:SkBitmap::asImage\28\29\20const +1246:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1247:OT::MVAR::get_var\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29\20const +1248:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\2c\20bool\2c\20GrProcessorAnalysisCoverage\29 +1249:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20GrCaps\20const&\2c\20float\20const*\29 +1250:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\29 +1251:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1252:GrResourceProvider::findResourceByUniqueKey\28skgpu::UniqueKey\20const&\29 +1253:GrRecordingContext::OwnedArenas::get\28\29 +1254:GrProxyProvider::createProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\29 +1255:GrProxyProvider::assignUniqueKeyToProxy\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\29 +1256:GrProcessorSet::finalize\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkRGBA4f<\28SkAlphaType\292>*\29 +1257:GrOpFlushState::allocator\28\29 +1258:GrOp::cutChain\28\29 +1259:GrMeshDrawTarget::makeVertexWriter\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +1260:GrGpuResource::GrGpuResource\28GrGpu*\2c\20std::__2::basic_string_view>\29 +1261:GrGeometryProcessor::TextureSampler::reset\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +1262:GrGeometryProcessor::AttributeSet::end\28\29\20const +1263:GrGeometryProcessor::AttributeSet::Iter::operator++\28\29 +1264:GrGeometryProcessor::AttributeSet::Iter::operator*\28\29\20const +1265:GrGLTextureParameters::set\28GrGLTextureParameters::SamplerOverriddenState\20const*\2c\20GrGLTextureParameters::NonsamplerState\20const&\2c\20unsigned\20long\20long\29 +1266:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29 +1267:GrBackendTexture::~GrBackendTexture\28\29 +1268:FT_Outline_Get_CBox +1269:FT_Get_Sfnt_Table +1270:utf8_prevCharSafeBody_74 +1271:ures_getString_74 +1272:ulocimp_getScript_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1273:uhash_open_74 +1274:u_UCharsToChars_74 +1275:std::__2::vector>::__destroy_vector::__destroy_vector\28std::__2::vector>&\29 +1276:std::__2::moneypunct::negative_sign\5babi:v160004\5d\28\29\20const +1277:std::__2::moneypunct::neg_format\5babi:v160004\5d\28\29\20const +1278:std::__2::moneypunct::do_pos_format\28\29\20const +1279:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +1280:std::__2::char_traits::copy\28wchar_t*\2c\20wchar_t\20const*\2c\20unsigned\20long\29 +1281:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1282:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1283:std::__2::basic_string\2c\20std::__2::allocator>::__set_size\5babi:v160004\5d\28unsigned\20long\29 +1284:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\2c\20unsigned\20long\29 +1285:std::__2::__itoa::__append2\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1286:snprintf +1287:sktext::gpu::GlyphVector::glyphs\28\29\20const +1288:sktext::SkStrikePromise::SkStrikePromise\28sktext::SkStrikePromise&&\29 +1289:skif::FilterResult::resolve\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +1290:skif::FilterResult::analyzeBounds\28SkMatrix\20const&\2c\20SkIRect\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +1291:skia_png_read_finish_row +1292:skia_png_handle_unknown +1293:skia_png_gamma_correct +1294:skia_png_colorspace_sync +1295:skia_png_app_warning +1296:skia::textlayout::TextStyle::operator=\28skia::textlayout::TextStyle\20const&\29 +1297:skia::textlayout::TextLine::offset\28\29\20const +1298:skia::textlayout::Run::placeholderStyle\28\29\20const +1299:skia::textlayout::Cluster::Cluster\28skia::textlayout::ParagraphImpl*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkSpan\2c\20float\2c\20float\29 +1300:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1301:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20std::__2::basic_string_view>\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1302:skgpu::ganesh::SurfaceContext::PixelTransferResult::~PixelTransferResult\28\29 +1303:skgpu::ganesh::ClipStack::SaveRecord::state\28\29\20const +1304:sk_doubles_nearly_equal_ulps\28double\2c\20double\2c\20unsigned\20char\29 +1305:ps_parser_to_token +1306:isspace +1307:icu_74::UnicodeString::moveIndex32\28int\2c\20int\29\20const +1308:icu_74::UnicodeString::cloneArrayIfNeeded\28int\2c\20int\2c\20signed\20char\2c\20int**\2c\20signed\20char\29 +1309:icu_74::UnicodeSet::span\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1310:icu_74::UVector::indexOf\28void*\2c\20int\29\20const +1311:icu_74::UVector::addElement\28void*\2c\20UErrorCode&\29 +1312:icu_74::UVector32::UVector32\28UErrorCode&\29 +1313:icu_74::RuleCharacterIterator::next\28int\2c\20signed\20char&\2c\20UErrorCode&\29 +1314:icu_74::ReorderingBuffer::appendBMP\28char16_t\2c\20unsigned\20char\2c\20UErrorCode&\29 +1315:icu_74::LSR::deleteOwned\28\29 +1316:icu_74::ICUServiceKey::prefix\28icu_74::UnicodeString&\29\20const +1317:icu_74::Edits::addReplace\28int\2c\20int\29 +1318:icu_74::CharString::appendInvariantChars\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +1319:icu_74::CharString::appendInvariantChars\28char16_t\20const*\2c\20int\2c\20UErrorCode&\29 +1320:icu_74::BreakIterator::buildInstance\28icu_74::Locale\20const&\2c\20char\20const*\2c\20UErrorCode&\29 +1321:hb_face_t::load_upem\28\29\20const +1322:hb_buffer_t::merge_out_clusters\28unsigned\20int\2c\20unsigned\20int\29 +1323:hb_buffer_t::enlarge\28unsigned\20int\29 +1324:hb_buffer_reverse +1325:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29\2c\20SkCanvas*\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint*\29 +1326:cff_index_init +1327:cf2_glyphpath_curveTo +1328:atan2f +1329:WebPCopyPlane +1330:SkTMaskGamma_build_correcting_lut\28unsigned\20char*\2c\20unsigned\20int\2c\20float\2c\20SkColorSpaceLuminance\20const&\2c\20float\29 +1331:SkSurface_Raster::type\28\29\20const +1332:SkString::swap\28SkString&\29 +1333:SkString::reset\28\29 +1334:SkSampler::Fill\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\29 +1335:SkSL::Type::MakeTextureType\28char\20const*\2c\20SpvDim_\2c\20bool\2c\20bool\2c\20bool\2c\20SkSL::Type::TextureAccess\29 +1336:SkSL::Type::MakeSpecialType\28char\20const*\2c\20char\20const*\2c\20SkSL::Type::TypeKind\29 +1337:SkSL::RP::Builder::push_slots_or_immutable\28SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +1338:SkSL::RP::Builder::push_clone_from_stack\28SkSL::RP::SlotRange\2c\20int\2c\20int\29 +1339:SkSL::Program::~Program\28\29 +1340:SkSL::PipelineStage::PipelineStageCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1341:SkSL::Operator::isAssignment\28\29\20const +1342:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mul\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +1343:SkSL::InlineCandidateAnalyzer::visitStatement\28std::__2::unique_ptr>*\2c\20bool\29 +1344:SkSL::GLSLCodeGenerator::writeModifiers\28SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20bool\29 +1345:SkSL::ExpressionStatement::Make\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1346:SkSL::ConstructorCompound::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +1347:SkSL::Analysis::GetReturnComplexity\28SkSL::FunctionDefinition\20const&\29 +1348:SkSL::AliasType::resolve\28\29\20const +1349:SkResourceCache::Add\28SkResourceCache::Rec*\2c\20void*\29 +1350:SkRegion::writeToMemory\28void*\29\20const +1351:SkReadBuffer::readMatrix\28SkMatrix*\29 +1352:SkReadBuffer::readBool\28\29 +1353:SkRasterClip::setRect\28SkIRect\20const&\29 +1354:SkRasterClip::SkRasterClip\28SkRasterClip\20const&\29 +1355:SkPathMeasure::~SkPathMeasure\28\29 +1356:SkPathMeasure::SkPathMeasure\28SkPath\20const&\2c\20bool\2c\20float\29 +1357:SkPath::swap\28SkPath&\29 +1358:SkParse::FindScalars\28char\20const*\2c\20float*\2c\20int\29 +1359:SkPaint::operator=\28SkPaint\20const&\29 +1360:SkOpSpan::computeWindSum\28\29 +1361:SkOpSegment::existing\28double\2c\20SkOpSegment\20const*\29\20const +1362:SkOpPtT::find\28SkOpSegment\20const*\29\20const +1363:SkOpCoincidence::addEndMovedSpans\28SkOpSpan\20const*\2c\20SkOpSpanBase\20const*\29 +1364:SkNoDrawCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1365:SkMakeImageFromRasterBitmap\28SkBitmap\20const&\2c\20SkCopyPixelsMode\29 +1366:SkImage_Ganesh::SkImage_Ganesh\28sk_sp\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20SkColorInfo\29 +1367:SkImageInfo::makeColorSpace\28sk_sp\29\20const +1368:SkImage::refColorSpace\28\29\20const +1369:SkGlyph::imageSize\28\29\20const +1370:SkGetICULib\28\29 +1371:SkFont::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +1372:SkFont::setSubpixel\28bool\29 +1373:SkDraw::SkDraw\28\29 +1374:SkDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +1375:SkColorTypeBytesPerPixel\28SkColorType\29 +1376:SkColorFilter::makeComposed\28sk_sp\29\20const +1377:SkChopQuadAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +1378:SkCanvas::drawImageRect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1379:SkBmpCodec::getDstRow\28int\2c\20int\29\20const +1380:SkAutoDescriptor::SkAutoDescriptor\28\29 +1381:OT::DeltaSetIndexMap::sanitize\28hb_sanitize_context_t*\29\20const +1382:OT::ClassDef::sanitize\28hb_sanitize_context_t*\29\20const +1383:GrTriangulator::Comparator::sweep_lt\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +1384:GrTextureProxy::textureType\28\29\20const +1385:GrSurfaceProxy::createSurfaceImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\29\20const +1386:GrStyledShape::writeUnstyledKey\28unsigned\20int*\29\20const +1387:GrStyledShape::simplify\28\29 +1388:GrSkSLFP::setInput\28std::__2::unique_ptr>\29 +1389:GrSimpleMeshDrawOpHelperWithStencil::GrSimpleMeshDrawOpHelperWithStencil\28GrProcessorSet*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +1390:GrShape::operator=\28GrShape\20const&\29 +1391:GrResourceProvider::createPatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const*\29 +1392:GrRenderTarget::~GrRenderTarget\28\29 +1393:GrRecordingContextPriv::makeSC\28GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1394:GrOpFlushState::detachAppliedClip\28\29 +1395:GrGpuBuffer::map\28\29 +1396:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\29 +1397:GrGLSLShaderBuilder::declAppend\28GrShaderVar\20const&\29 +1398:GrGLGpu::didDrawTo\28GrRenderTarget*\29 +1399:GrFragmentProcessors::Make\28GrRecordingContext*\2c\20SkColorFilter\20const*\2c\20std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1400:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +1401:GrCaps::validateSurfaceParams\28SkISize\20const&\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20GrTextureType\29\20const +1402:GrBufferAllocPool::putBack\28unsigned\20long\29 +1403:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29::$_0::operator\28\29\28SkIRect\2c\20SkIRect\29\20const +1404:GrBackendTexture::GrBackendTexture\28\29 +1405:GrAAConvexTessellator::createInsetRing\28GrAAConvexTessellator::Ring\20const&\2c\20GrAAConvexTessellator::Ring*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +1406:FT_Stream_GetByte +1407:FT_Set_Transform +1408:FT_Add_Module +1409:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +1410:AlmostLessOrEqualUlps\28float\2c\20float\29 +1411:ActiveEdge::intersect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29\20const +1412:wrapper_cmp +1413:void\20std::__2::reverse\5babi:v160004\5d\28char*\2c\20char*\29 +1414:void\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__do_rehash\28unsigned\20long\29 +1415:utrace_data_74 +1416:utf8_nextCharSafeBody_74 +1417:utext_setup_74 +1418:uhash_openSize_74 +1419:uhash_nextElement_74 +1420:ubidi_getParaLevelAtIndex_74 +1421:u_charType_74 +1422:tanf +1423:std::__2::vector>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29 +1424:std::__2::vector>::capacity\5babi:v160004\5d\28\29\20const +1425:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ios_base&\2c\20wchar_t\29 +1426:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ios_base&\2c\20char\29 +1427:std::__2::char_traits::to_int_type\28char\29 +1428:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1429:std::__2::basic_ios>::~basic_ios\28\29 +1430:std::__2::basic_ios>::setstate\5babi:v160004\5d\28unsigned\20int\29 +1431:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28void\20\28*&&\29\28void*\29\29 +1432:sktext::gpu::GlyphVector::~GlyphVector\28\29 +1433:sktext::StrikeMutationMonitor::~StrikeMutationMonitor\28\29 +1434:sktext::StrikeMutationMonitor::StrikeMutationMonitor\28sktext::StrikeForGPU*\29 +1435:skif::RoundOut\28SkRect\29 +1436:skif::LayerSpace::contains\28skif::LayerSpace\20const&\29\20const +1437:skif::FilterResult::AutoSurface::snap\28\29 +1438:skif::FilterResult::AutoSurface::AutoSurface\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\2c\20bool\2c\20SkSurfaceProps\20const*\29 +1439:skif::Backend::~Backend\28\29.1 +1440:skia_private::TArray::push_back\28skif::FilterResult::Builder::SampledFilterResult&&\29 +1441:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::~STArray\28\29 +1442:skia_png_chunk_unknown_handling +1443:skia::textlayout::TextStyle::TextStyle\28\29 +1444:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const +1445:skgpu::ganesh::SurfaceFillContext::internalClear\28SkIRect\20const*\2c\20std::__2::array\2c\20bool\29 +1446:skgpu::ganesh::SurfaceDrawContext::fillRectToRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +1447:skgpu::SkSLToBackend\28SkSL::ShaderCaps\20const*\2c\20bool\20\28*\29\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20skgpu::ShaderErrorHandler*\29 +1448:skgpu::GetApproxSize\28SkISize\29 +1449:skcms_Matrix3x3_invert +1450:res_getTableItemByKey_74 +1451:icu_74::UnicodeString::operator=\28icu_74::UnicodeString&&\29 +1452:icu_74::UnicodeString::doEquals\28icu_74::UnicodeString\20const&\2c\20int\29\20const +1453:icu_74::UnicodeSet::ensureCapacity\28int\29 +1454:icu_74::UnicodeSet::clear\28\29 +1455:icu_74::UVector::UVector\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +1456:icu_74::UVector32::setElementAt\28int\2c\20int\29 +1457:icu_74::RuleCharacterIterator::setPos\28icu_74::RuleCharacterIterator::Pos\20const&\29 +1458:icu_74::ResourceTable::findValue\28char\20const*\2c\20icu_74::ResourceValue&\29\20const +1459:icu_74::Locale::operator=\28icu_74::Locale\20const&\29 +1460:icu_74::Edits::addUnchanged\28int\29 +1461:icu_74::CharString::extract\28char*\2c\20int\2c\20UErrorCode&\29\20const +1462:hb_lazy_loader_t\2c\20hb_face_t\2c\2011u\2c\20hb_blob_t>::get\28\29\20const +1463:hb_lazy_loader_t\2c\20hb_face_t\2c\202u\2c\20hb_blob_t>::get\28\29\20const +1464:hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +1465:hb_font_t::scale_glyph_extents\28hb_glyph_extents_t*\29 +1466:hb_font_t::get_glyph_h_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +1467:hb_buffer_append +1468:emscripten::internal::MethodInvoker\29\2c\20void\2c\20SkFont*\2c\20sk_sp>::invoke\28void\20\28SkFont::*\20const&\29\28sk_sp\29\2c\20SkFont*\2c\20sk_sp*\29 +1469:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28\29\29 +1470:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +1471:cos +1472:cf2_glyphpath_lineTo +1473:byn$mgfn-shared$SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +1474:alloc_small +1475:af_latin_hints_compute_segments +1476:_hb_glyph_info_set_unicode_props\28hb_glyph_info_t*\2c\20hb_buffer_t*\29 +1477:__lshrti3 +1478:__letf2 +1479:__cxx_global_array_dtor.3 +1480:\28anonymous\20namespace\29::SkBlurImageFilter::~SkBlurImageFilter\28\29 +1481:SkUTF::ToUTF16\28int\2c\20unsigned\20short*\29 +1482:SkTextBlobBuilder::~SkTextBlobBuilder\28\29 +1483:SkTextBlobBuilder::make\28\29 +1484:SkSurfaces::RenderTarget\28GrRecordingContext*\2c\20skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20int\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const*\2c\20bool\2c\20bool\29 +1485:SkSurface::makeImageSnapshot\28\29 +1486:SkString::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +1487:SkString::insertUnichar\28unsigned\20long\2c\20int\29 +1488:SkStrikeSpec::findOrCreateScopedStrike\28sktext::StrikeForGPUCacheInterface*\29\20const +1489:SkStrikeCache::GlobalStrikeCache\28\29 +1490:SkShader::isAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +1491:SkSL::is_constant_value\28SkSL::Expression\20const&\2c\20double\29 +1492:SkSL::evaluate_pairwise_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +1493:SkSL::compile_and_shrink\28SkSL::Compiler*\2c\20SkSL::ProgramKind\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Module\20const*\29 +1494:SkSL::\28anonymous\20namespace\29::ReturnsOnAllPathsVisitor::visitStatement\28SkSL::Statement\20const&\29 +1495:SkSL::Type::MakeScalarType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type::NumberKind\2c\20signed\20char\2c\20signed\20char\29 +1496:SkSL::RP::Generator::pushBinaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +1497:SkSL::RP::Builder::push_clone\28int\2c\20int\29 +1498:SkSL::ProgramUsage::remove\28SkSL::Statement\20const*\29 +1499:SkSL::Parser::statement\28bool\29 +1500:SkSL::Operator::determineBinaryType\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\29\20const +1501:SkSL::ModifierFlags::description\28\29\20const +1502:SkSL::Layout::paddedDescription\28\29\20const +1503:SkSL::GetModuleData\28SkSL::ModuleName\2c\20char\20const*\29 +1504:SkSL::FieldAccess::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +1505:SkSL::ConstructorCompoundCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1506:SkSL::Compiler::~Compiler\28\29 +1507:SkSL::Analysis::IsSameExpressionTree\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1508:SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +1509:SkRect\20skif::Mapping::map\28SkRect\20const&\2c\20SkMatrix\20const&\29 +1510:SkRectPriv::Subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkIRect*\29 +1511:SkPictureRecorder::SkPictureRecorder\28\29 +1512:SkPictureData::~SkPictureData\28\29 +1513:SkPathMeasure::nextContour\28\29 +1514:SkPathMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29 +1515:SkPathMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29 +1516:SkPathBuilder::lineTo\28SkPoint\29 +1517:SkPath::getPoint\28int\29\20const +1518:SkPath::getLastPt\28SkPoint*\29\20const +1519:SkPaint::setBlender\28sk_sp\29 +1520:SkPaint::setAlphaf\28float\29 +1521:SkOpSegment::addT\28double\29 +1522:SkNoPixelsDevice::ClipState&\20skia_private::TArray::emplace_back\28SkIRect&&\2c\20bool&&\2c\20bool&&\29 +1523:SkNextID::ImageID\28\29 +1524:SkMessageBus::Inbox::Inbox\28unsigned\20int\29 +1525:SkJSONWriter::endObject\28\29 +1526:SkImage_Lazy::generator\28\29\20const +1527:SkImage_Base::~SkImage_Base\28\29 +1528:SkImage_Base::SkImage_Base\28SkImageInfo\20const&\2c\20unsigned\20int\29 +1529:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +1530:SkImage::isAlphaOnly\28\29\20const +1531:SkFont::getWidthsBounds\28unsigned\20short\20const*\2c\20int\2c\20float*\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +1532:SkFont::getMetrics\28SkFontMetrics*\29\20const +1533:SkFont::SkFont\28sk_sp\2c\20float\29 +1534:SkFont::SkFont\28\29 +1535:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20SkRect\20const*\29\20const +1536:SkDevice::setGlobalCTM\28SkM44\20const&\29 +1537:SkDescriptor::operator==\28SkDescriptor\20const&\29\20const +1538:SkConvertPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +1539:SkConic::chopAt\28float\2c\20SkConic*\29\20const +1540:SkColorSpace::gammaIsLinear\28\29\20const +1541:SkColorSpace::MakeRGB\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +1542:SkCodec::fillIncompleteImage\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\2c\20int\2c\20int\29 +1543:SkCanvas::saveLayer\28SkRect\20const*\2c\20SkPaint\20const*\29 +1544:SkCanvas::drawPaint\28SkPaint\20const&\29 +1545:SkCanvas::ImageSetEntry::~ImageSetEntry\28\29 +1546:SkBulkGlyphMetrics::glyphs\28SkSpan\29 +1547:SkBitmap::operator=\28SkBitmap&&\29 +1548:SkBitmap::getGenerationID\28\29\20const +1549:SkArenaAllocWithReset::reset\28\29 +1550:OT::Layout::GPOS_impl::AnchorFormat3::sanitize\28hb_sanitize_context_t*\29\20const +1551:OT::GDEF::get_glyph_props\28unsigned\20int\29\20const +1552:OT::CmapSubtable::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +1553:Ins_UNKNOWN +1554:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\2c\20bool\29 +1555:GrSurfaceProxyView::mipmapped\28\29\20const +1556:GrSurfaceProxy::instantiateImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::UniqueKey\20const*\29 +1557:GrSimpleMeshDrawOpHelperWithStencil::isCompatible\28GrSimpleMeshDrawOpHelperWithStencil\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +1558:GrSimpleMeshDrawOpHelperWithStencil::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1559:GrShape::simplifyRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +1560:GrQuad::projectedBounds\28\29\20const +1561:GrProcessorSet::MakeEmptySet\28\29 +1562:GrPorterDuffXPFactory::SimpleSrcOverXP\28\29 +1563:GrPixmap::Allocate\28GrImageInfo\20const&\29 +1564:GrPathTessellationShader::MakeSimpleTriangleShader\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +1565:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29 +1566:GrImageInfo::operator=\28GrImageInfo&&\29 +1567:GrImageInfo::makeColorType\28GrColorType\29\20const +1568:GrGpuResource::setUniqueKey\28skgpu::UniqueKey\20const&\29 +1569:GrGpuResource::release\28\29 +1570:GrGpuResource::isPurgeable\28\29\20const +1571:GrGeometryProcessor::textureSampler\28int\29\20const +1572:GrGeometryProcessor::AttributeSet::begin\28\29\20const +1573:GrGLSLShaderBuilder::addFeature\28unsigned\20int\2c\20char\20const*\29 +1574:GrGLGpu::clearErrorsAndCheckForOOM\28\29 +1575:GrGLGpu::bindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\2c\20GrGLGpu::TempFBOTarget\29 +1576:GrGLCompileAndAttachShader\28GrGLContext\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20bool\2c\20GrThreadSafePipelineBuilder::Stats*\2c\20skgpu::ShaderErrorHandler*\29 +1577:GrFragmentProcessor::MakeColor\28SkRGBA4f<\28SkAlphaType\292>\29 +1578:GrDirectContextPriv::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +1579:GrDefaultGeoProcFactory::Make\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +1580:GrConvertPixels\28GrPixmap\20const&\2c\20GrCPixmap\20const&\2c\20bool\29 +1581:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +1582:GrColorInfo::GrColorInfo\28\29 +1583:GrBlurUtils::convolve_gaussian_1d\28skgpu::ganesh::SurfaceFillContext*\2c\20GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\2c\20SkIRect\20const&\2c\20SkAlphaType\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\29 +1584:GrBackendFormat::operator=\28GrBackendFormat\20const&\29 +1585:FT_Stream_Read +1586:FT_GlyphLoader_Rewind +1587:FT_Done_Face +1588:Cr_z_inflate +1589:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1590:void\20std::__2::__stable_sort\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +1591:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20unsigned\20int*&\2c\20unsigned\20int*&\29 +1592:void\20icu_74::\28anonymous\20namespace\29::MixedBlocks::extend\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\29 +1593:void\20hb_serialize_context_t::add_link\2c\20true>>\28OT::OffsetTo\2c\20true>&\2c\20unsigned\20int\2c\20hb_serialize_context_t::whence_t\2c\20unsigned\20int\29 +1594:void\20emscripten::internal::MemberAccess::setWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20bool\29 +1595:utext_nativeLength_74 +1596:ures_openDirect_74 +1597:ures_getStringWithAlias\28UResourceBundle\20const*\2c\20unsigned\20int\2c\20int\2c\20int*\2c\20UErrorCode*\29 +1598:ures_getStringByKeyWithFallback_74 +1599:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +1600:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +1601:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +1602:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +1603:ulocimp_getKeywordValue_74 +1604:ulocimp_getCountry_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1605:ulocimp_forLanguageTag_74 +1606:uenum_close_74 +1607:udata_getMemory_74 +1608:ucptrie_openFromBinary_74 +1609:u_charsToUChars_74 +1610:toupper +1611:top12.2 +1612:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1613:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1614:std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>::type\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29\20const +1615:std::__2::ctype::narrow\5babi:v160004\5d\28char\2c\20char\29\20const +1616:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\29 +1617:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1618:std::__2::basic_streambuf>::~basic_streambuf\28\29 +1619:std::__2::basic_streambuf>::setg\5babi:v160004\5d\28char*\2c\20char*\2c\20char*\29 +1620:std::__2::__num_get::__stage2_int_loop\28wchar_t\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20wchar_t\20const*\29 +1621:std::__2::__num_get::__stage2_int_loop\28char\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20char\20const*\29 +1622:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1623:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1624:src_p\28unsigned\20char\2c\20unsigned\20char\29 +1625:skif::FilterResult::subset\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +1626:skif::FilterResult::operator=\28skif::FilterResult&&\29 +1627:skia_private::THashMap::operator\5b\5d\28SkSL::Variable\20const*\20const&\29 +1628:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1629:skia_private::TArray::resize_back\28int\29 +1630:skia_png_get_valid +1631:skia_png_gamma_8bit_correct +1632:skia_png_free_data +1633:skia_png_chunk_warning +1634:skia::textlayout::TextLine::measureTextInsideOneRun\28skia::textlayout::SkRange\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20float\2c\20bool\2c\20skia::textlayout::TextLine::TextAdjustment\29\20const +1635:skia::textlayout::Run::positionX\28unsigned\20long\29\20const +1636:skia::textlayout::Run::Run\28skia::textlayout::ParagraphImpl*\2c\20SkShaper::RunHandler::RunInfo\20const&\2c\20unsigned\20long\2c\20float\2c\20bool\2c\20float\2c\20unsigned\20long\2c\20float\29 +1637:skia::textlayout::ParagraphCacheKey::operator==\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +1638:skia::textlayout::FontCollection::enableFontFallback\28\29 +1639:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::chopAndWriteCubics\28skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20int\29 +1640:skgpu::ganesh::SmallPathAtlasMgr::reset\28\29 +1641:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::vertexSize\28\29\20const +1642:skgpu::ganesh::Device::readSurfaceView\28\29 +1643:skgpu::ganesh::ClipStack::clip\28skgpu::ganesh::ClipStack::RawElement&&\29 +1644:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::RawElement\20const&\29\20const +1645:skgpu::ganesh::ClipStack::RawElement::RawElement\28SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\2c\20SkClipOp\29 +1646:skgpu::TAsyncReadResult::Plane&\20skia_private::TArray::Plane\2c\20false>::emplace_back\2c\20unsigned\20long&>\28sk_sp&&\2c\20unsigned\20long&\29 +1647:skgpu::Swizzle::asString\28\29\20const +1648:skgpu::ScratchKey::GenerateResourceType\28\29 +1649:skgpu::GetBlendFormula\28bool\2c\20bool\2c\20SkBlendMode\29 +1650:select_curve_ops\28skcms_Curve\20const*\2c\20int\2c\20OpAndArg*\29 +1651:sbrk +1652:ps_tofixedarray +1653:processPropertySeq\28UBiDi*\2c\20LevState*\2c\20unsigned\20char\2c\20int\2c\20int\29 +1654:png_format_buffer +1655:png_check_keyword +1656:nextafterf +1657:jpeg_huff_decode +1658:init_entry\28char\20const*\2c\20char\20const*\2c\20UErrorCode*\29 +1659:icu_74::UnicodeString::countChar32\28int\2c\20int\29\20const +1660:icu_74::UnicodeString::UnicodeString\28char\20const*\2c\20int\2c\20icu_74::UnicodeString::EInvariant\29 +1661:icu_74::UnicodeSet::getRangeStart\28int\29\20const +1662:icu_74::UnicodeSet::getRangeEnd\28int\29\20const +1663:icu_74::UnicodeSet::getRangeCount\28\29\20const +1664:icu_74::UVector::UVector\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20int\2c\20UErrorCode&\29 +1665:icu_74::UVector32::addElement\28int\2c\20UErrorCode&\29 +1666:icu_74::UVector32::UVector32\28int\2c\20UErrorCode&\29 +1667:icu_74::UCharsTrie::next\28int\29 +1668:icu_74::UCharsTrie::branchNext\28char16_t\20const*\2c\20int\2c\20int\29 +1669:icu_74::StackUResourceBundle::StackUResourceBundle\28\29 +1670:icu_74::ReorderingBuffer::appendSupplementary\28int\2c\20unsigned\20char\2c\20UErrorCode&\29 +1671:icu_74::Norm2AllModes::createNFCInstance\28UErrorCode&\29 +1672:icu_74::LanguageBreakEngine::LanguageBreakEngine\28\29 +1673:icu_74::LSR::LSR\28char\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20int\2c\20UErrorCode&\29 +1674:icu_74::CharacterProperties::getInclusionsForProperty\28UProperty\2c\20UErrorCode&\29 +1675:icu_74::CharString::ensureCapacity\28int\2c\20int\2c\20UErrorCode&\29 +1676:hb_unicode_funcs_destroy +1677:hb_serialize_context_t::pop_discard\28\29 +1678:hb_buffer_set_flags +1679:hb_blob_create_sub_blob +1680:hb_array_t::hash\28\29\20const +1681:hairquad\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1682:haircubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1683:fmt_u +1684:flush_pending +1685:emscripten::internal::Invoker>::invoke\28sk_sp\20\28*\29\28\29\29 +1686:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\29\2c\20SkPath*\29 +1687:do_fixed +1688:destroy_face +1689:decltype\28fp\28\28SkRecords::NoOp*\29\28nullptr\29\29\29\20SkRecord::Record::mutate\28SkRecord::Destroyer&\29 +1690:char*\20const&\20std::__2::max\5babi:v160004\5d\28char*\20const&\2c\20char*\20const&\29 +1691:cf2_stack_pushInt +1692:cf2_interpT2CharString +1693:cf2_glyphpath_moveTo +1694:byn$mgfn-shared$skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +1695:byn$mgfn-shared$skif::Backend::~Backend\28\29.1 +1696:byn$mgfn-shared$SkUnicode_icu::isEmoji\28int\29 +1697:byn$mgfn-shared$SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +1698:byn$mgfn-shared$GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +1699:bool\20hb_hashmap_t::set_with_hash\28unsigned\20int\20const&\2c\20unsigned\20int\2c\20unsigned\20int\20const&\2c\20bool\29 +1700:bool\20emscripten::internal::MemberAccess::getWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +1701:_isVariantSubtag\28char\20const*\2c\20int\29 +1702:_hb_ot_metrics_get_position_common\28hb_font_t*\2c\20hb_ot_metrics_tag_t\2c\20int*\29 +1703:_getStringOrCopyKey\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +1704:__wasi_syscall_ret +1705:__tandf +1706:__syscall_ret +1707:__floatunsitf +1708:__cxa_allocate_exception +1709:\28anonymous\20namespace\29::PathGeoBuilder::createMeshAndPutBackReserve\28\29 +1710:\28anonymous\20namespace\29::MeshOp::fixedFunctionFlags\28\29\20const +1711:\28anonymous\20namespace\29::DrawAtlasOpImpl::fixedFunctionFlags\28\29\20const +1712:WebPDemuxGetI +1713:VP8LDoFillBitWindow +1714:VP8LClear +1715:TT_Get_MM_Var +1716:SkWStream::writeScalar\28float\29 +1717:SkUTF::UTF8ToUTF16\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20unsigned\20long\29 +1718:SkTypeface::MakeEmpty\28\29 +1719:SkTSect::BinarySearch\28SkTSect*\2c\20SkTSect*\2c\20SkIntersections*\29 +1720:SkTConic::operator\5b\5d\28int\29\20const +1721:SkTBlockList::reset\28\29 +1722:SkTBlockList::reset\28\29 +1723:SkString::insertU32\28unsigned\20long\2c\20unsigned\20int\29 +1724:SkSpecialImages::MakeDeferredFromGpu\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1725:SkShaders::MatrixRec::applyForFragmentProcessor\28SkMatrix\20const&\29\20const +1726:SkScan::FillRect\28SkRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +1727:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1728:SkSL::optimize_comparison\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20bool\20\28*\29\28double\2c\20double\29\29 +1729:SkSL::Type::convertArraySize\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20long\20long\29\20const +1730:SkSL::String::appendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20...\29 +1731:SkSL::RP::Builder::dot_floats\28int\29 +1732:SkSL::ProgramUsage::get\28SkSL::FunctionDeclaration\20const&\29\20const +1733:SkSL::Parser::type\28SkSL::Modifiers*\29 +1734:SkSL::Parser::modifiers\28\29 +1735:SkSL::ConstructorDiagonalMatrix::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1736:SkSL::ConstructorArrayCast::~ConstructorArrayCast\28\29 +1737:SkSL::ConstantFolder::MakeConstantValueForVariable\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1738:SkSL::Compiler::Compiler\28\29 +1739:SkSL::Analysis::IsTrivialExpression\28SkSL::Expression\20const&\29 +1740:SkRuntimeShaderBuilder::~SkRuntimeShaderBuilder\28\29 +1741:SkRuntimeShaderBuilder::makeShader\28SkMatrix\20const*\29\20const +1742:SkRuntimeShaderBuilder::SkRuntimeShaderBuilder\28sk_sp\29 +1743:SkRuntimeEffectPriv::CanDraw\28SkCapabilities\20const*\2c\20SkRuntimeEffect\20const*\29 +1744:SkRegion::setPath\28SkPath\20const&\2c\20SkRegion\20const&\29 +1745:SkRegion::operator=\28SkRegion\20const&\29 +1746:SkRegion::op\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\29 +1747:SkRegion::Iterator::next\28\29 +1748:SkRasterPipeline::compile\28\29\20const +1749:SkRasterPipeline::appendClampIfNormalized\28SkImageInfo\20const&\29 +1750:SkRRect::transform\28SkMatrix\20const&\2c\20SkRRect*\29\20const +1751:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20SkBBHFactory*\29 +1752:SkPathWriter::finishContour\28\29 +1753:SkPathStroker::cubicPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +1754:SkPath::getSegmentMasks\28\29\20const +1755:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\29 +1756:SkPaintPriv::ComputeLuminanceColor\28SkPaint\20const&\29 +1757:SkPaint::nothingToDraw\28\29\20const +1758:SkPaint::isSrcOver\28\29\20const +1759:SkOpAngle::linesOnOriginalSide\28SkOpAngle\20const*\29 +1760:SkNotifyBitmapGenIDIsStale\28unsigned\20int\29 +1761:SkNoDrawCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +1762:SkMipmap::Build\28SkPixmap\20const&\2c\20SkDiscardableMemory*\20\28*\29\28unsigned\20long\29\2c\20bool\29 +1763:SkMeshSpecification::~SkMeshSpecification\28\29 +1764:SkMatrix::setSinCos\28float\2c\20float\2c\20float\2c\20float\29 +1765:SkMatrix::setRSXform\28SkRSXform\20const&\29 +1766:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint3\20const*\2c\20int\29\20const +1767:SkMaskFilterBase::getFlattenableType\28\29\20const +1768:SkMaskBuilder::AllocImage\28unsigned\20long\2c\20SkMaskBuilder::AllocType\29 +1769:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_2D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1770:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1771:SkJSONWriter::appendString\28char\20const*\2c\20unsigned\20long\29 +1772:SkIntersections::insertNear\28double\2c\20double\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29 +1773:SkIntersections::flip\28\29 +1774:SkImageFilters::Empty\28\29 +1775:SkImageFilter_Base::~SkImageFilter_Base\28\29 +1776:SkGlyph::drawable\28\29\20const +1777:SkFont::unicharToGlyph\28int\29\20const +1778:SkFont::setTypeface\28sk_sp\29 +1779:SkFont::setHinting\28SkFontHinting\29 +1780:SkFindQuadMaxCurvature\28SkPoint\20const*\29 +1781:SkEvalCubicAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29 +1782:SkDrawTiler::stepAndSetupTileDraw\28\29 +1783:SkDrawTiler::SkDrawTiler\28SkBitmapDevice*\2c\20SkRect\20const*\29 +1784:SkDevice::accessPixels\28SkPixmap*\29 +1785:SkDeque::SkDeque\28unsigned\20long\2c\20void*\2c\20unsigned\20long\2c\20int\29 +1786:SkDCubic::FindExtrema\28double\20const*\2c\20double*\29 +1787:SkColorFilters::Blend\28unsigned\20int\2c\20SkBlendMode\29 +1788:SkCodec::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +1789:SkCanvas::topDevice\28\29\20const +1790:SkCanvas::internalRestore\28\29 +1791:SkCanvas::init\28sk_sp\29 +1792:SkCanvas::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +1793:SkBlendMode_AsCoeff\28SkBlendMode\2c\20SkBlendModeCoeff*\2c\20SkBlendModeCoeff*\29 +1794:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29 +1795:SkAutoPixmapStorage::tryAlloc\28SkImageInfo\20const&\29 +1796:SkAAClip::SkAAClip\28\29 +1797:OT::glyf_accelerator_t::glyf_accelerator_t\28hb_face_t*\29 +1798:OT::VariationStore::sanitize\28hb_sanitize_context_t*\29\20const +1799:OT::Layout::GPOS_impl::ValueFormat::sanitize_value_devices\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\29\20const +1800:OT::Layout::GPOS_impl::ValueFormat::apply_value\28OT::hb_ot_apply_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20hb_glyph_position_t&\29\20const +1801:OT::HVARVVAR::sanitize\28hb_sanitize_context_t*\29\20const +1802:GrTriangulator::VertexList::insert\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\29 +1803:GrTriangulator::Poly::addEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20GrTriangulator*\29 +1804:GrTriangulator::EdgeList::remove\28GrTriangulator::Edge*\29 +1805:GrStyledShape::operator=\28GrStyledShape\20const&\29 +1806:GrSimpleMeshDrawOpHelperWithStencil::createProgramInfoWithStencil\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1807:GrResourceCache::purgeAsNeeded\28\29 +1808:GrRenderTask::addDependency\28GrDrawingManager*\2c\20GrSurfaceProxy*\2c\20skgpu::Mipmapped\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +1809:GrRenderTask::GrRenderTask\28\29 +1810:GrRenderTarget::onRelease\28\29 +1811:GrProxyProvider::findOrCreateProxyByUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxy::UseAllocator\29 +1812:GrProcessorSet::operator==\28GrProcessorSet\20const&\29\20const +1813:GrPathUtils::generateQuadraticPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +1814:GrMeshDrawOp::QuadHelper::QuadHelper\28GrMeshDrawTarget*\2c\20unsigned\20long\2c\20int\29 +1815:GrIsStrokeHairlineOrEquivalent\28GrStyle\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +1816:GrImageContext::abandoned\28\29 +1817:GrGpuResource::registerWithCache\28skgpu::Budgeted\29 +1818:GrGpuBuffer::isMapped\28\29\20const +1819:GrGpu::submitToGpu\28GrSyncCpu\29 +1820:GrGpu::didWriteToSurface\28GrSurface*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const*\2c\20unsigned\20int\29\20const +1821:GrGeometryProcessor::ProgramImpl::setupUniformColor\28GrGLSLFPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20GrResourceHandle*\29 +1822:GrGLGpu::flushRenderTarget\28GrGLRenderTarget*\2c\20bool\29 +1823:GrFragmentProcessor::visitTextureEffects\28std::__2::function\20const&\29\20const +1824:GrFragmentProcessor::visitProxies\28std::__2::function\20const&\29\20const +1825:GrCpuBuffer::ref\28\29\20const +1826:GrBufferAllocPool::makeSpace\28unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\29 +1827:GrBackendTextures::GetGLTextureInfo\28GrBackendTexture\20const&\2c\20GrGLTextureInfo*\29 +1828:FilterLoop26_C +1829:FT_Vector_Transform +1830:FT_Vector_NormLen +1831:FT_Outline_Transform +1832:CFF::dict_opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1833:AlmostBetweenUlps\28float\2c\20float\2c\20float\29 +1834:void\20std::__2::vector>::__emplace_back_slow_path\28skia::textlayout::OneLineShaper::RunBlock&\29 +1835:utext_openUChars_74 +1836:utext_char32At_74 +1837:ures_openWithType\28UResourceBundle*\2c\20char\20const*\2c\20char\20const*\2c\20UResOpenType\2c\20UErrorCode*\29 +1838:ures_getSize_74 +1839:udata_openChoice_74 +1840:ucptrie_internalSmallU8Index_74 +1841:ucptrie_get_74 +1842:ubidi_getMemory_74 +1843:ubidi_getClass_74 +1844:transform\28unsigned\20int*\2c\20unsigned\20char\20const*\29 +1845:toUpperOrTitle\28int\2c\20int\20\28*\29\28void*\2c\20signed\20char\29\2c\20void*\2c\20char16_t\20const**\2c\20int\2c\20signed\20char\29 +1846:strtod +1847:strcspn +1848:std::__2::locale::locale\28std::__2::locale\20const&\29 +1849:std::__2::locale::classic\28\29 +1850:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +1851:std::__2::chrono::__libcpp_steady_clock_now\28\29 +1852:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20char\20const*\29 +1853:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +1854:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1855:std::__2::__wrap_iter\20std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float\20const*\2c\20float\20const*\29 +1856:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1857:std::__2::__throw_bad_variant_access\5babi:v160004\5d\28\29 +1858:std::__2::__split_buffer>::push_front\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +1859:std::__2::__shared_count::__release_shared\5babi:v160004\5d\28\29 +1860:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20wchar_t&\29 +1861:std::__2::__num_get::__do_widen\28std::__2::ios_base&\2c\20wchar_t*\29\20const +1862:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20char&\29 +1863:std::__2::__itoa::__append1\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1864:sktext::gpu::VertexFiller::vertexStride\28SkMatrix\20const&\29\20const +1865:skif::RoundIn\28SkRect\29 +1866:skif::LayerSpace::round\28\29\20const +1867:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +1868:skif::FilterResult::applyTransform\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkSamplingOptions\20const&\29\20const +1869:skif::FilterResult::Builder::~Builder\28\29 +1870:skif::FilterResult::Builder::Builder\28skif::Context\20const&\29 +1871:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\29 +1872:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +1873:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +1874:skia_private::TArray::resize_back\28int\29 +1875:skia_private::TArray::push_back_raw\28int\29 +1876:skia_png_sig_cmp +1877:skia_png_set_progressive_read_fn +1878:skia_png_set_longjmp_fn +1879:skia_png_set_interlace_handling +1880:skia_png_reciprocal +1881:skia_png_read_chunk_header +1882:skia_png_get_io_ptr +1883:skia_png_calloc +1884:skia::textlayout::TextLine::~TextLine\28\29 +1885:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle\20const&\29 +1886:skia::textlayout::ParagraphCacheKey::~ParagraphCacheKey\28\29 +1887:skia::textlayout::FontCollection::findTypefaces\28std::__2::vector>\20const&\2c\20SkFontStyle\2c\20std::__2::optional\20const&\29 +1888:skia::textlayout::Cluster::trimmedWidth\28unsigned\20long\29\20const +1889:skgpu::ganesh::TextureOp::BatchSizeLimiter::createOp\28GrTextureSetEntry*\2c\20int\2c\20GrAAType\29 +1890:skgpu::ganesh::SurfaceFillContext::fillWithFP\28std::__2::unique_ptr>\29 +1891:skgpu::ganesh::SurfaceDrawContext::drawShapeUsingPathRenderer\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\2c\20bool\29 +1892:skgpu::ganesh::SurfaceDrawContext::drawRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const*\29 +1893:skgpu::ganesh::SurfaceDrawContext::drawRRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20GrStyle\20const&\29 +1894:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29 +1895:skgpu::ganesh::QuadPerEdgeAA::CalcIndexBufferOption\28GrAAType\2c\20int\29 +1896:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrSurfaceProxyView\20const&\29\20const +1897:skgpu::ganesh::Device::targetProxy\28\29 +1898:skgpu::ganesh::ClipStack::getConservativeBounds\28\29\20const +1899:skgpu::TAsyncReadResult::addTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult\20const&\2c\20SkISize\2c\20unsigned\20long\2c\20skgpu::TClientMappedBufferManager*\29 +1900:skgpu::Plot::resetRects\28\29 +1901:skcms_TransferFunction_invert +1902:res_getTableItemByIndex_74 +1903:res_getArrayItem_74 +1904:ps_dimension_add_t1stem +1905:powf +1906:log2f +1907:log +1908:jcopy_sample_rows +1909:icu_74::initSingletons\28char\20const*\2c\20UErrorCode&\29 +1910:icu_74::\28anonymous\20namespace\29::AliasReplacer::replaceLanguage\28bool\2c\20bool\2c\20bool\2c\20icu_74::UVector&\2c\20UErrorCode&\29 +1911:icu_74::UnicodeString::append\28int\29 +1912:icu_74::UnicodeSetStringSpan::UnicodeSetStringSpan\28icu_74::UnicodeSet\20const&\2c\20icu_74::UVector\20const&\2c\20unsigned\20int\29 +1913:icu_74::UnicodeSet::spanUTF8\28char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1914:icu_74::UnicodeSet::spanBack\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1915:icu_74::UnicodeSet::spanBackUTF8\28char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1916:icu_74::UnicodeSet::retain\28int\20const*\2c\20int\2c\20signed\20char\29 +1917:icu_74::UnicodeSet::removeAllStrings\28\29 +1918:icu_74::UnicodeSet::operator=\28icu_74::UnicodeSet\20const&\29 +1919:icu_74::UnicodeSet::complement\28\29 +1920:icu_74::UnicodeSet::_add\28icu_74::UnicodeString\20const&\29 +1921:icu_74::UVector32::setSize\28int\29 +1922:icu_74::UCharsTrieBuilder::write\28char16_t\20const*\2c\20int\29 +1923:icu_74::StringEnumeration::~StringEnumeration\28\29 +1924:icu_74::RuleCharacterIterator::getPos\28icu_74::RuleCharacterIterator::Pos&\29\20const +1925:icu_74::RuleBasedBreakIterator::BreakCache::populatePreceding\28UErrorCode&\29 +1926:icu_74::ResourceDataValue::~ResourceDataValue\28\29 +1927:icu_74::ReorderingBuffer::previousCC\28\29 +1928:icu_74::Normalizer2Impl::compose\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +1929:icu_74::Normalizer2Factory::getNFCImpl\28UErrorCode&\29 +1930:icu_74::LocaleUtility::initLocaleFromName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale&\29 +1931:icu_74::LocaleKeyFactory::~LocaleKeyFactory\28\29 +1932:icu_74::Locale::setToBogus\28\29 +1933:icu_74::LSR::indexForRegion\28char\20const*\29 +1934:icu_74::LSR::LSR\28icu_74::StringPiece\2c\20icu_74::StringPiece\2c\20icu_74::StringPiece\2c\20int\2c\20UErrorCode&\29 +1935:icu_74::BreakIterator::createInstance\28icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +1936:hb_font_t::has_func\28unsigned\20int\29 +1937:hb_buffer_create_similar +1938:ft_service_list_lookup +1939:fseek +1940:fiprintf +1941:fflush +1942:expm1 +1943:emscripten::internal::MethodInvoker::invoke\28void\20\28GrDirectContext::*\20const&\29\28\29\2c\20GrDirectContext*\29 +1944:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +1945:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\29\2c\20SkFont*\29 +1946:do_putc +1947:crc32_z +1948:cf2_hintmap_insertHint +1949:cf2_hintmap_build +1950:cf2_glyphpath_pushPrevElem +1951:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +1952:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +1953:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +1954:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +1955:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +1956:blit_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +1957:afm_stream_read_one +1958:af_latin_hints_link_segments +1959:af_latin_compute_stem_width +1960:af_glyph_hints_reload +1961:acosf +1962:__sin +1963:__cos +1964:\28anonymous\20namespace\29::PathSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +1965:VP8LHuffmanTablesDeallocate +1966:UDataMemory_createNewInstance_74 +1967:SkWriter32::writeSampling\28SkSamplingOptions\20const&\29 +1968:SkVertices::Builder::detach\28\29 +1969:SkUTF::NextUTF8WithReplacement\28char\20const**\2c\20char\20const*\29 +1970:SkTypeface_FreeType::~SkTypeface_FreeType\28\29 +1971:SkTypeface_FreeType::FaceRec::~FaceRec\28\29 +1972:SkTypeface::SkTypeface\28SkFontStyle\20const&\2c\20bool\29 +1973:SkTextBlobBuilder::TightRunBounds\28SkTextBlob::RunRecord\20const&\29 +1974:SkTextBlob::RunRecord::textSizePtr\28\29\20const +1975:SkTMultiMap::remove\28skgpu::ScratchKey\20const&\2c\20GrGpuResource\20const*\29 +1976:SkTMultiMap::insert\28skgpu::ScratchKey\20const&\2c\20GrGpuResource*\29 +1977:SkTDStorage::insert\28int\2c\20int\2c\20void\20const*\29 +1978:SkTDPQueue<\28anonymous\20namespace\29::RunIteratorQueue::Entry\2c\20&\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\2c\20\28int*\20\28*\29\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\290>::insert\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\29 +1979:SkSwizzler::Make\28SkEncodedInfo\20const&\2c\20unsigned\20int\20const*\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20SkIRect\20const*\29 +1980:SkSurfaces::Raster\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +1981:SkSurface_Base::~SkSurface_Base\28\29 +1982:SkSurface::recordingContext\28\29\20const +1983:SkString::resize\28unsigned\20long\29 +1984:SkStrikeSpec::SkStrikeSpec\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1985:SkStrikeSpec::MakeMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1986:SkStrikeSpec::MakeCanonicalized\28SkFont\20const&\2c\20SkPaint\20const*\29 +1987:SkStrikeCache::findOrCreateStrike\28SkStrikeSpec\20const&\29 +1988:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +1989:SkShaders::MatrixRec::apply\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +1990:SkShaders::MatrixRec::MatrixRec\28SkMatrix\20const&\29 +1991:SkShaders::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +1992:SkScan::FillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\29 +1993:SkScalerContext_FreeType::emboldenIfNeeded\28FT_FaceRec_*\2c\20FT_GlyphSlotRec_*\2c\20unsigned\20short\29 +1994:SkSL::Type::displayName\28\29\20const +1995:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20double\2c\20SkSL::Position\29\20const +1996:SkSL::SymbolTable::find\28std::__2::basic_string_view>\29\20const +1997:SkSL::String::Separator\28\29::Output::~Output\28\29 +1998:SkSL::RP::SlotManager::addSlotDebugInfoForGroup\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20int*\2c\20bool\29 +1999:SkSL::RP::Generator::foldComparisonOp\28SkSL::Operator\2c\20int\29 +2000:SkSL::RP::Builder::branch_if_no_lanes_active\28int\29 +2001:SkSL::PrefixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +2002:SkSL::PipelineStage::PipelineStageCodeGenerator::typedVariable\28SkSL::Type\20const&\2c\20std::__2::basic_string_view>\29 +2003:SkSL::Parser::parseArrayDimensions\28SkSL::Position\2c\20SkSL::Type\20const**\29 +2004:SkSL::Parser::arraySize\28long\20long*\29 +2005:SkSL::Operator::operatorName\28\29\20const +2006:SkSL::ModifierFlags::paddedDescription\28\29\20const +2007:SkSL::IndexExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +2008:SkSL::ConstantFolder::GetConstantValue\28SkSL::Expression\20const&\2c\20double*\29 +2009:SkSL::ConstantFolder::GetConstantInt\28SkSL::Expression\20const&\2c\20long\20long*\29 +2010:SkSL::Compiler::convertProgram\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::ProgramSettings\20const&\29 +2011:SkResourceCache::remove\28SkResourceCache::Rec*\29 +2012:SkRegion::op\28SkRegion\20const&\2c\20SkIRect\20const&\2c\20SkRegion::Op\29 +2013:SkRegion::Iterator::Iterator\28SkRegion\20const&\29 +2014:SkRectPriv::ClosestDisjointEdge\28SkIRect\20const&\2c\20SkIRect\20const&\29 +2015:SkRecords::FillBounds::bounds\28SkRecords::DrawArc\20const&\29\20const +2016:SkReadBuffer::setMemory\28void\20const*\2c\20unsigned\20long\29 +2017:SkRasterClip::SkRasterClip\28SkIRect\20const&\29 +2018:SkRRect::writeToMemory\28void*\29\20const +2019:SkRRect::setRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +2020:SkPointPriv::DistanceToLineBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPointPriv::Side*\29 +2021:SkPoint::setNormalize\28float\2c\20float\29 +2022:SkPixmapUtils::SwapWidthHeight\28SkImageInfo\20const&\29 +2023:SkPictureRecorder::finishRecordingAsPicture\28\29 +2024:SkPathPriv::ComputeFirstDirection\28SkPath\20const&\29 +2025:SkPathEffect::asADash\28SkPathEffect::DashInfo*\29\20const +2026:SkPathEdgeIter::SkPathEdgeIter\28SkPath\20const&\29 +2027:SkPath::rewind\28\29 +2028:SkPath::isLine\28SkPoint*\29\20const +2029:SkPath::incReserve\28int\2c\20int\2c\20int\29 +2030:SkPath::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2031:SkPaint::setStrokeCap\28SkPaint::Cap\29 +2032:SkPaint::refShader\28\29\20const +2033:SkOpSpan::setWindSum\28int\29 +2034:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20int\2c\20SkOpSpanBase**\29 +2035:SkOpContourBuilder::addCurve\28SkPath::Verb\2c\20SkPoint\20const*\2c\20float\29 +2036:SkOpAngle::starter\28\29 +2037:SkOpAngle::insert\28SkOpAngle*\29 +2038:SkNoDestructor::SkNoDestructor\28SkSL::String::Separator\28\29::Output&&\29 +2039:SkMatrixPriv::InverseMapRect\28SkMatrix\20const&\2c\20SkRect*\2c\20SkRect\20const&\29 +2040:SkMatrix::setSinCos\28float\2c\20float\29 +2041:SkMatrix::decomposeScale\28SkSize*\2c\20SkMatrix*\29\20const +2042:SkMaskFilter::MakeBlur\28SkBlurStyle\2c\20float\2c\20bool\29 +2043:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29 +2044:SkMD5::write\28void\20const*\2c\20unsigned\20long\29 +2045:SkLineClipper::IntersectLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\29 +2046:SkImage_GaneshBase::SkImage_GaneshBase\28sk_sp\2c\20SkImageInfo\2c\20unsigned\20int\29 +2047:SkImageGenerator::onRefEncodedData\28\29 +2048:SkImage::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +2049:SkImage::makeRasterImage\28GrDirectContext*\2c\20SkImage::CachingHint\29\20const +2050:SkIDChangeListener::SkIDChangeListener\28\29 +2051:SkIDChangeListener::List::reset\28\29 +2052:SkGradientBaseShader::flatten\28SkWriteBuffer&\29\20const +2053:SkFontMgr::RefEmpty\28\29 +2054:SkFont::setEdging\28SkFont::Edging\29 +2055:SkEvalQuadAt\28SkPoint\20const*\2c\20float\29 +2056:SkEncodedInfo::makeImageInfo\28\29\20const +2057:SkEdgeClipper::next\28SkPoint*\29 +2058:SkDevice::scalerContextFlags\28\29\20const +2059:SkConic::evalAt\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +2060:SkColorInfo::SkColorInfo\28SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +2061:SkCodec::skipScanlines\28int\29 +2062:SkChopCubicAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +2063:SkCapabilities::RasterBackend\28\29 +2064:SkCanvas::saveLayer\28SkCanvas::SaveLayerRec\20const&\29 +2065:SkCanvas::imageInfo\28\29\20const +2066:SkCanvas::drawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +2067:SkCanvas::drawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +2068:SkCanvas::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +2069:SkBmpBaseCodec::~SkBmpBaseCodec\28\29 +2070:SkBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +2071:SkBlendMode\20SkReadBuffer::read32LE\28SkBlendMode\29 +2072:SkBitmap::operator=\28SkBitmap\20const&\29 +2073:SkBitmap::extractSubset\28SkBitmap*\2c\20SkIRect\20const&\29\20const +2074:SkBitmap::SkBitmap\28SkBitmap&&\29 +2075:SkBinaryWriteBuffer::writeByteArray\28void\20const*\2c\20unsigned\20long\29 +2076:SkBinaryWriteBuffer::SkBinaryWriteBuffer\28SkSerialProcs\20const&\29 +2077:SkBaseShadowTessellator::handleLine\28SkPoint\20const&\29 +2078:SkAAClip::setRegion\28SkRegion\20const&\29 +2079:R +2080:OT::hb_ot_apply_context_t::_set_glyph_class\28unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +2081:OT::cmap::find_subtable\28unsigned\20int\2c\20unsigned\20int\29\20const +2082:GrXPFactory::FromBlendMode\28SkBlendMode\29 +2083:GrTriangulator::setBottom\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2084:GrTriangulator::mergeCollinearEdges\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2085:GrTriangulator::Edge::disconnect\28\29 +2086:GrThreadSafeCache::find\28skgpu::UniqueKey\20const&\29 +2087:GrThreadSafeCache::add\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2088:GrThreadSafeCache::Entry::makeEmpty\28\29 +2089:GrSurfaceProxyView::operator==\28GrSurfaceProxyView\20const&\29\20const +2090:GrSurfaceProxyView::Copy\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\29 +2091:GrSurfaceProxyPriv::doLazyInstantiation\28GrResourceProvider*\29 +2092:GrSurfaceProxy::isFunctionallyExact\28\29\20const +2093:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20sk_sp*\29 +2094:GrSimpleMeshDrawOpHelperWithStencil::fixedFunctionFlags\28\29\20const +2095:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20GrProcessorAnalysisColor*\29 +2096:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrProcessorSet&&\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrPipeline::InputFlags\2c\20GrUserStencilSettings\20const*\29 +2097:GrSimpleMeshDrawOpHelper::CreatePipeline\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20skgpu::Swizzle\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrProcessorSet&&\2c\20GrPipeline::InputFlags\29 +2098:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20void\20const*\2c\20skgpu::UniqueKey\20const&\29 +2099:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20skgpu::UniqueKey\20const&\2c\20void\20\28*\29\28skgpu::VertexWriter\2c\20unsigned\20long\29\29 +2100:GrResourceCache::findAndRefScratchResource\28skgpu::ScratchKey\20const&\29 +2101:GrRecordingContextPriv::makeSFC\28GrImageInfo\2c\20std::__2::basic_string_view>\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2102:GrQuadUtils::TessellationHelper::Vertices::moveAlong\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +2103:GrQuad::asRect\28SkRect*\29\20const +2104:GrProcessorSet::GrProcessorSet\28GrProcessorSet&&\29 +2105:GrPathUtils::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +2106:GrGpu::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +2107:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +2108:GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +2109:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +2110:GrGLSLColorSpaceXformHelper::emitCode\28GrGLSLUniformHandler*\2c\20GrColorSpaceXform\20const*\2c\20unsigned\20int\29 +2111:GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +2112:GrGLRenderTarget::bindInternal\28unsigned\20int\2c\20bool\29 +2113:GrGLGpu::getErrorAndCheckForOOM\28\29 +2114:GrGLGpu::bindTexture\28int\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20GrGLTexture*\29 +2115:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkMatrix\20const&\29 +2116:GrFragmentProcessor::visitWithImpls\28std::__2::function\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\20const +2117:GrFragmentProcessor::ColorMatrix\28std::__2::unique_ptr>\2c\20float\20const*\2c\20bool\2c\20bool\2c\20bool\29 +2118:GrDrawingManager::appendTask\28sk_sp\29 +2119:GrColorInfo::GrColorInfo\28GrColorInfo\20const&\29 +2120:GrCaps::isFormatCompressed\28GrBackendFormat\20const&\29\20const +2121:GrAAConvexTessellator::lineTo\28SkPoint\20const&\2c\20GrAAConvexTessellator::CurveState\29 +2122:FT_Select_Metrics +2123:FT_Select_Charmap +2124:FT_Get_Next_Char +2125:FT_Get_Module_Interface +2126:FT_Done_Size +2127:DecodeImageStream +2128:CFF::opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +2129:CFF::Charset::get_glyph\28unsigned\20int\2c\20unsigned\20int\29\20const +2130:wuffs_gif__decoder__num_decoded_frames +2131:void\20std::__2::vector\2c\20std::__2::allocator>>::__push_back_slow_path\20const&>\28sk_sp\20const&\29 +2132:void\20std::__2::reverse\5babi:v160004\5d\28wchar_t*\2c\20wchar_t*\29 +2133:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.2 +2134:void\20merge_sort<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2135:void\20merge_sort<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2136:void\20icu_74::\28anonymous\20namespace\29::MixedBlocks::extend\28unsigned\20int\20const*\2c\20int\2c\20int\2c\20int\29 +2137:void\20emscripten::internal::MemberAccess::setWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts&\2c\20float\29 +2138:validate_offsetToRestore\28SkReadBuffer*\2c\20unsigned\20long\29 +2139:utrie2_enum_74 +2140:utext_clone_74 +2141:ustr_hashUCharsN_74 +2142:ures_getValueWithFallback_74 +2143:ures_appendResPath\28UResourceBundle*\2c\20char\20const*\2c\20int\2c\20UErrorCode*\29 +2144:uprv_isInvariantUString_74 +2145:umutablecptrie_set_74 +2146:umutablecptrie_close_74 +2147:uloc_getVariant_74 +2148:uhash_setValueDeleter_74 +2149:uenum_next_74 +2150:ubidi_setPara_74 +2151:ubidi_getVisualRun_74 +2152:ubidi_getRuns_74 +2153:u_strstr_74 +2154:u_getPropertyValueEnum_74 +2155:u_getIntPropertyValue_74 +2156:tt_set_mm_blend +2157:tt_face_get_ps_name +2158:trinkle +2159:strtox.1 +2160:strtoul +2161:std::__2::unique_ptr::release\5babi:v160004\5d\28\29 +2162:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrTriangulator::Vertex*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +2163:std::__2::pair::pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +2164:std::__2::moneypunct::do_decimal_point\28\29\20const +2165:std::__2::moneypunct::do_decimal_point\28\29\20const +2166:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28std::__2::basic_istream>&\29 +2167:std::__2::ios_base::good\5babi:v160004\5d\28\29\20const +2168:std::__2::default_delete\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot>::type\20std::__2::default_delete\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot>\28skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot*\29\20const +2169:std::__2::ctype::toupper\5babi:v160004\5d\28char\29\20const +2170:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +2171:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2172:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +2173:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +2174:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2175:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +2176:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2177:std::__2::basic_string\2c\20std::__2::allocator>::__get_short_size\5babi:v160004\5d\28\29\20const +2178:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +2179:std::__2::basic_streambuf>::__pbump\5babi:v160004\5d\28long\29 +2180:std::__2::basic_iostream>::~basic_iostream\28\29.1 +2181:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20wchar_t*\2c\20unsigned\20long\29 +2182:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20char*\2c\20unsigned\20long\29 +2183:std::__2::__num_put_base::__format_int\28char*\2c\20char\20const*\2c\20bool\2c\20unsigned\20int\29 +2184:std::__2::__num_put_base::__format_float\28char*\2c\20char\20const*\2c\20unsigned\20int\29 +2185:std::__2::__itoa::__append8\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2186:sktext::gpu::VertexFiller::deviceRectAndCheckTransform\28SkMatrix\20const&\29\20const +2187:sktext::gpu::TextBlob::Key::operator==\28sktext::gpu::TextBlob::Key\20const&\29\20const +2188:sktext::gpu::GlyphVector::packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29 +2189:sktext::SkStrikePromise::strike\28\29 +2190:skif::\28anonymous\20namespace\29::downscale_step_count\28float\29 +2191:skif::FilterResult::getAnalyzedShaderView\28skif::Context\20const&\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\29\20const +2192:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20bool\2c\20SkBlender\20const*\29\20const +2193:skif::FilterResult::applyCrop\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkTileMode\29\20const +2194:skif::Context::~Context\28\29 +2195:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::resize\28int\29 +2196:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +2197:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +2198:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2199:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::resize\28int\29 +2200:skia_private::THashTable::Traits>::resize\28int\29 +2201:skia_private::TArray::move\28void*\29 +2202:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2203:skia_private::TArray\2c\20true>::push_back\28SkRGBA4f<\28SkAlphaType\293>&&\29 +2204:skia_png_set_text_2 +2205:skia_png_set_palette_to_rgb +2206:skia_png_handle_IHDR +2207:skia_png_handle_IEND +2208:skia_png_destroy_write_struct +2209:skia::textlayout::operator==\28skia::textlayout::FontArguments\20const&\2c\20skia::textlayout::FontArguments\20const&\29 +2210:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::Cluster*\29 +2211:skia::textlayout::FontCollection::getFontManagerOrder\28\29\20const +2212:skia::textlayout::FontArguments::FontArguments\28skia::textlayout::FontArguments\20const&\29 +2213:skia::textlayout::Decorations::calculateGaps\28skia::textlayout::TextLine::ClipContext\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\29 +2214:skia::textlayout::Block&\20skia_private::TArray::emplace_back\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20skia::textlayout::TextStyle\20const&\29 +2215:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::fixedFunctionFlags\28\29\20const +2216:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +2217:skgpu::ganesh::SurfaceFillContext::SurfaceFillContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +2218:skgpu::ganesh::SurfaceDrawContext::drawShape\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\29 +2219:skgpu::ganesh::SurfaceDrawContext::drawPaint\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\29 +2220:skgpu::ganesh::SurfaceDrawContext::MakeWithFallback\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2221:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +2222:skgpu::ganesh::SurfaceContext::PixelTransferResult::operator=\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +2223:skgpu::ganesh::SmallPathAtlasMgr::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2224:skgpu::ganesh::OpsTask::~OpsTask\28\29 +2225:skgpu::ganesh::OpsTask::setColorLoadOp\28GrLoadOp\2c\20std::__2::array\29 +2226:skgpu::ganesh::OpsTask::deleteOps\28\29 +2227:skgpu::ganesh::FillRectOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +2228:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29::$_0::operator\28\29\28int\29\20const +2229:skgpu::ganesh::ClipStack::~ClipStack\28\29 +2230:skgpu::TClientMappedBufferManager::~TClientMappedBufferManager\28\29 +2231:skgpu::Swizzle::apply\28SkRasterPipeline*\29\20const +2232:skgpu::Plot::addSubImage\28int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2233:skgpu::GetLCDBlendFormula\28SkBlendMode\29 +2234:skcms_TransferFunction_isHLGish +2235:skcms_Matrix3x3_concat +2236:sk_srgb_linear_singleton\28\29 +2237:shr +2238:shl +2239:setRegionCheck\28SkRegion*\2c\20SkRegion\20const&\29 +2240:res_findResource_74 +2241:read_header\28SkStream*\2c\20SkPngChunkReader*\2c\20SkCodec**\2c\20png_struct_def**\2c\20png_info_def**\29 +2242:ps_dimension_set_mask_bits +2243:operator==\28SkPath\20const&\2c\20SkPath\20const&\29 +2244:mbrtowc +2245:jround_up +2246:jpeg_make_d_derived_tbl +2247:init\28\29 +2248:ilogbf +2249:icu_74::locale_set_default_internal\28char\20const*\2c\20UErrorCode&\29 +2250:icu_74::compute\28int\2c\20icu_74::ReadArray2D\20const&\2c\20icu_74::ReadArray2D\20const&\2c\20icu_74::ReadArray1D\20const&\2c\20icu_74::ReadArray1D\20const&\2c\20icu_74::Array1D&\2c\20icu_74::Array1D&\2c\20icu_74::Array1D&\29 +2251:icu_74::UnicodeString::getChar32Start\28int\29\20const +2252:icu_74::UnicodeString::fromUTF8\28icu_74::StringPiece\29 +2253:icu_74::UnicodeString::extract\28int\2c\20int\2c\20char*\2c\20int\2c\20icu_74::UnicodeString::EInvariant\29\20const +2254:icu_74::UnicodeString::doReplace\28int\2c\20int\2c\20icu_74::UnicodeString\20const&\2c\20int\2c\20int\29 +2255:icu_74::UnicodeString::copyFrom\28icu_74::UnicodeString\20const&\2c\20signed\20char\29 +2256:icu_74::UnicodeSet::setToBogus\28\29 +2257:icu_74::UnicodeSet::freeze\28\29 +2258:icu_74::UnicodeSet::copyFrom\28icu_74::UnicodeSet\20const&\2c\20signed\20char\29 +2259:icu_74::UnicodeSet::add\28int\20const*\2c\20int\2c\20signed\20char\29 +2260:icu_74::UnicodeSet::_toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +2261:icu_74::UnicodeSet::UnicodeSet\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +2262:icu_74::UVector::removeElementAt\28int\29 +2263:icu_74::UDataPathIterator::next\28UErrorCode*\29 +2264:icu_74::StringTrieBuilder::writeNode\28int\2c\20int\2c\20int\29 +2265:icu_74::StringEnumeration::StringEnumeration\28\29 +2266:icu_74::SimpleFilteredSentenceBreakIterator::breakExceptionAt\28int\29 +2267:icu_74::RuleBasedBreakIterator::DictionaryCache::reset\28\29 +2268:icu_74::RuleBasedBreakIterator::BreakCache::reset\28int\2c\20int\29 +2269:icu_74::RuleBasedBreakIterator::BreakCache::populateNear\28int\2c\20UErrorCode&\29 +2270:icu_74::RuleBasedBreakIterator::BreakCache::populateFollowing\28\29 +2271:icu_74::ResourceDataValue::getBinary\28int&\2c\20UErrorCode&\29\20const +2272:icu_74::ResourceDataValue::getArray\28UErrorCode&\29\20const +2273:icu_74::ResourceArray::getValue\28int\2c\20icu_74::ResourceValue&\29\20const +2274:icu_74::ReorderingBuffer::init\28int\2c\20UErrorCode&\29 +2275:icu_74::Normalizer2Impl::makeFCD\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer*\2c\20UErrorCode&\29\20const +2276:icu_74::Normalizer2Impl::hasCompBoundaryBefore\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\29\20const +2277:icu_74::Normalizer2Impl::decomposeShort\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::Normalizer2Impl::StopAt\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2278:icu_74::Normalizer2Impl::addPropertyStarts\28USetAdder\20const*\2c\20UErrorCode&\29\20const +2279:icu_74::ICU_Utility::skipWhitespace\28icu_74::UnicodeString\20const&\2c\20int&\2c\20signed\20char\29 +2280:icu_74::CheckedArrayByteSink::CheckedArrayByteSink\28char*\2c\20int\29 +2281:hb_ucd_get_unicode_funcs +2282:hb_syllabic_insert_dotted_circles\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +2283:hb_shape_full +2284:hb_serialize_context_t::~hb_serialize_context_t\28\29 +2285:hb_serialize_context_t::resolve_links\28\29 +2286:hb_serialize_context_t::reset\28\29 +2287:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::get\28\29\20const +2288:hb_lazy_loader_t\2c\20hb_face_t\2c\2034u\2c\20hb_blob_t>::get\28\29\20const +2289:hb_language_from_string +2290:hb_font_t::mults_changed\28\29 +2291:hb_font_destroy +2292:hb_buffer_t::next_glyph\28\29 +2293:get_sof +2294:ftell +2295:ft_var_readpackedpoints +2296:ft_mem_strdup +2297:float\20emscripten::internal::MemberAccess::getWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts\20const&\29 +2298:fill_window +2299:exp +2300:encodeImage\28GrDirectContext*\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +2301:emscripten::val\20MakeTypedArray\28int\2c\20float\20const*\29 +2302:emscripten::internal::MethodInvoker::invoke\28float\20\28SkContourMeasure::*\20const&\29\28\29\20const\2c\20SkContourMeasure\20const*\29 +2303:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +2304:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +2305:dquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2306:do_clip_op\28SkReadBuffer*\2c\20SkCanvas*\2c\20SkRegion::Op\2c\20SkClipOp*\29 +2307:do_anti_hairline\28int\2c\20int\2c\20int\2c\20int\2c\20SkIRect\20const*\2c\20SkBlitter*\29 +2308:doWriteReverse\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2309:doWriteForward\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2310:dline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2311:dispose_chunk +2312:direct_blur_y\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2313:decltype\28fp\28\28SkRecords::NoOp\29\28\29\29\29\20SkRecord::Record::visit\28SkRecords::Draw&\29\20const +2314:dcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2315:dconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2316:crop_rect_edge\28SkRect\20const&\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +2317:createPath\28char\20const*\2c\20int\2c\20char\20const*\2c\20int\2c\20char\20const*\2c\20icu_74::CharString&\2c\20UErrorCode*\29 +2318:char*\20std::__2::__rewrap_iter\5babi:v160004\5d>\28char*\2c\20char*\29 +2319:cff_slot_load +2320:cff_parse_real +2321:cff_index_get_sid_string +2322:cff_index_access_element +2323:cf2_doStems +2324:cf2_doFlex +2325:byn$mgfn-shared$tt_cmap8_get_info +2326:byn$mgfn-shared$tt_cmap0_get_info +2327:byn$mgfn-shared$skia_png_set_strip_16 +2328:byn$mgfn-shared$isBidiControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +2329:byn$mgfn-shared$SkSL::Tracer::line\28int\29 +2330:byn$mgfn-shared$AlmostBequalUlps\28float\2c\20float\29 +2331:buffer_verify_error\28hb_buffer_t*\2c\20hb_font_t*\2c\20char\20const*\2c\20...\29 +2332:blur_y_rect\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2333:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29::$_0::operator\28\29\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29\20const +2334:af_sort_and_quantize_widths +2335:af_glyph_hints_align_weak_points +2336:af_glyph_hints_align_strong_points +2337:af_face_globals_new +2338:af_cjk_compute_stem_width +2339:add_huff_table +2340:addPoint\28UBiDi*\2c\20int\2c\20int\29 +2341:_addExtensionToList\28ExtensionListEntry**\2c\20ExtensionListEntry*\2c\20signed\20char\29 +2342:__uselocale +2343:__math_xflow +2344:__cxxabiv1::__base_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2345:\28anonymous\20namespace\29::make_vertices_spec\28bool\2c\20bool\29 +2346:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_1::operator\28\29\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20bool\29\20const +2347:\28anonymous\20namespace\29::draw_stencil_rect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrHardClip\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2348:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2349:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2350:\28anonymous\20namespace\29::CacheImpl::removeInternal\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +2351:WebPRescalerExport +2352:WebPInitAlphaProcessing +2353:WebPFreeDecBuffer +2354:WebPDemuxDelete +2355:VP8SetError +2356:VP8LInverseTransform +2357:VP8LDelete +2358:VP8LColorCacheClear +2359:UDataMemory_init_74 +2360:TT_Load_Context +2361:StringBuffer\20apply_format_string<1024>\28char\20const*\2c\20void*\2c\20char\20\28&\29\20\5b1024\5d\2c\20SkString*\29 +2362:SkYUVAPixmaps::operator=\28SkYUVAPixmaps\20const&\29 +2363:SkYUVAPixmapInfo::SupportedDataTypes::enableDataType\28SkYUVAPixmapInfo::DataType\2c\20int\29 +2364:SkWriter32::writeMatrix\28SkMatrix\20const&\29 +2365:SkWriter32::snapshotAsData\28\29\20const +2366:SkVertices::uniqueID\28\29\20const +2367:SkVertices::approximateSize\28\29\20const +2368:SkUnicode::convertUtf8ToUtf16\28char\20const*\2c\20int\29 +2369:SkUTF::UTF16ToUTF8\28char*\2c\20int\2c\20unsigned\20short\20const*\2c\20unsigned\20long\29 +2370:SkTypefaceCache::NewTypefaceID\28\29 +2371:SkTextBlobRunIterator::next\28\29 +2372:SkTextBlobRunIterator::SkTextBlobRunIterator\28SkTextBlob\20const*\29 +2373:SkTextBlobBuilder::SkTextBlobBuilder\28\29 +2374:SkTextBlobBuilder::ConservativeRunBounds\28SkTextBlob::RunRecord\20const&\29 +2375:SkTSpan::closestBoundedT\28SkDPoint\20const&\29\20const +2376:SkTSect::updateBounded\28SkTSpan*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2377:SkTSect::trim\28SkTSpan*\2c\20SkTSect*\29 +2378:SkTDStorage::erase\28int\2c\20int\29 +2379:SkTDPQueue::percolateUpIfNecessary\28int\29 +2380:SkSurfaceProps::SkSurfaceProps\28unsigned\20int\2c\20SkPixelGeometry\2c\20float\2c\20float\29 +2381:SkStrokerPriv::JoinFactory\28SkPaint::Join\29 +2382:SkStrokeRec::setStrokeStyle\28float\2c\20bool\29 +2383:SkStrokeRec::setFillStyle\28\29 +2384:SkStrokeRec::applyToPath\28SkPath*\2c\20SkPath\20const&\29\20const +2385:SkString::set\28char\20const*\29 +2386:SkStrikeSpec::findOrCreateStrike\28\29\20const +2387:SkStrikeSpec::MakeWithNoDevice\28SkFont\20const&\2c\20SkPaint\20const*\29 +2388:SkStrike::unlock\28\29 +2389:SkStrike::lock\28\29 +2390:SkSharedMutex::SkSharedMutex\28\29 +2391:SkShadowTessellator::MakeSpot\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20bool\2c\20bool\29 +2392:SkShaders::Empty\28\29 +2393:SkShaders::Color\28unsigned\20int\29 +2394:SkShaderBase::appendRootStages\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2395:SkScalerContext::~SkScalerContext\28\29.1 +2396:SkSL::write_stringstream\28SkSL::StringStream\20const&\2c\20SkSL::OutputStream&\29 +2397:SkSL::evaluate_3_way_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2398:SkSL::VarDeclaration::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\2c\20std::__2::unique_ptr>\29 +2399:SkSL::Type::priority\28\29\20const +2400:SkSL::Type::checkIfUsableInArray\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +2401:SkSL::SymbolTable::takeOwnershipOfString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +2402:SkSL::SymbolTable::isBuiltinType\28std::__2::basic_string_view>\29\20const +2403:SkSL::RP::SlotManager::mapVariableToSlots\28SkSL::Variable\20const&\2c\20SkSL::RP::SlotRange\29 +2404:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const +2405:SkSL::RP::Generator::pushVectorizedExpression\28SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +2406:SkSL::RP::Builder::ternary_op\28SkSL::RP::BuilderOp\2c\20int\29 +2407:SkSL::RP::Builder::simplifyPopSlotsUnmasked\28SkSL::RP::SlotRange*\29 +2408:SkSL::RP::Builder::pop_slots_unmasked\28SkSL::RP::SlotRange\29 +2409:SkSL::RP::Builder::exchange_src\28\29 +2410:SkSL::ProgramUsage::remove\28SkSL::ProgramElement\20const&\29 +2411:SkSL::ProgramUsage::isDead\28SkSL::Variable\20const&\29\20const +2412:SkSL::Pool::~Pool\28\29 +2413:SkSL::PipelineStage::PipelineStageCodeGenerator::typeName\28SkSL::Type\20const&\29 +2414:SkSL::LiteralType::priority\28\29\20const +2415:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +2416:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_dot\28std::__2::array\20const&\29 +2417:SkSL::GLSLCodeGenerator::writeAnyConstructor\28SkSL::AnyConstructor\20const&\2c\20SkSL::OperatorPrecedence\29 +2418:SkSL::ExpressionArray::clone\28\29\20const +2419:SkSL::Compiler::errorText\28bool\29 +2420:SkSL::Block::Make\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2421:SkSL::Block::MakeBlock\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2422:SkSL::Analysis::DetectVarDeclarationWithoutScope\28SkSL::Statement\20const&\2c\20SkSL::ErrorReporter*\29 +2423:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpace\20const*\29 +2424:SkRuntimeEffect::getRPProgram\28SkSL::DebugTracePriv*\29\20const +2425:SkRegion::getBoundaryPath\28SkPath*\29\20const +2426:SkRegion::Spanerator::next\28int*\2c\20int*\29 +2427:SkRegion::SkRegion\28SkRegion\20const&\29 +2428:SkReduceOrder::Quad\28SkPoint\20const*\2c\20SkPoint*\29 +2429:SkReadBuffer::skipByteArray\28unsigned\20long*\29 +2430:SkReadBuffer::readSampling\28\29 +2431:SkReadBuffer::readRRect\28SkRRect*\29 +2432:SkReadBuffer::checkInt\28int\2c\20int\29 +2433:SkRasterPipeline::appendMatrix\28SkArenaAlloc*\2c\20SkMatrix\20const&\29 +2434:SkQuads::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2435:SkQuadraticEdge::updateQuadratic\28\29 +2436:SkPngCodec::~SkPngCodec\28\29.1 +2437:SkPngCodec::processData\28\29 +2438:SkPixmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2439:SkPictureRecord::~SkPictureRecord\28\29 +2440:SkPicture::~SkPicture\28\29.1 +2441:SkPathStroker::quadStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2442:SkPathStroker::preJoinTo\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20bool\29 +2443:SkPathStroker::intersectRay\28SkQuadConstruct*\2c\20SkPathStroker::IntersectRayType\29\20const +2444:SkPathStroker::cubicStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2445:SkPathStroker::conicStroke\28SkConic\20const&\2c\20SkQuadConstruct*\29 +2446:SkPathMeasure::isClosed\28\29 +2447:SkPathEffectBase::getFlattenableType\28\29\20const +2448:SkPathBuilder::moveTo\28SkPoint\29 +2449:SkPathBuilder::incReserve\28int\2c\20int\29 +2450:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2451:SkPath::isLastContourClosed\28\29\20const +2452:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2453:SkPaintToGrPaintReplaceShader\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2454:SkPaint::setStrokeMiter\28float\29 +2455:SkPaint::setStrokeJoin\28SkPaint::Join\29 +2456:SkOpSpanBase::mergeMatches\28SkOpSpanBase*\29 +2457:SkOpSpanBase::addOpp\28SkOpSpanBase*\29 +2458:SkOpSegment::subDivide\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkDCurve*\29\20const +2459:SkOpSegment::release\28SkOpSpan\20const*\29 +2460:SkOpSegment::operand\28\29\20const +2461:SkOpSegment::moveNearby\28\29 +2462:SkOpSegment::markDone\28SkOpSpan*\29 +2463:SkOpSegment::markAndChaseDone\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpSpanBase**\29 +2464:SkOpSegment::isClose\28double\2c\20SkOpSegment\20const*\29\20const +2465:SkOpSegment::init\28SkPoint*\2c\20float\2c\20SkOpContour*\2c\20SkPath::Verb\29 +2466:SkOpSegment::addT\28double\2c\20SkPoint\20const&\29 +2467:SkOpCoincidence::fixUp\28SkOpPtT*\2c\20SkOpPtT\20const*\29 +2468:SkOpCoincidence::add\28SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\29 +2469:SkOpCoincidence::addMissing\28bool*\29 +2470:SkOpCoincidence::addIfMissing\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double\2c\20double\2c\20SkOpSegment*\2c\20SkOpSegment*\2c\20bool*\29 +2471:SkOpCoincidence::addExpanded\28\29 +2472:SkOpAngle::set\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2473:SkOpAngle::lineOnOneSide\28SkDPoint\20const&\2c\20SkDVector\20const&\2c\20SkOpAngle\20const*\2c\20bool\29\20const +2474:SkNoPixelsDevice::ClipState::op\28SkClipOp\2c\20SkM44\20const&\2c\20SkRect\20const&\2c\20bool\2c\20bool\29 +2475:SkMatrix\20skif::Mapping::map\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +2476:SkMatrixPriv::DifferentialAreaScale\28SkMatrix\20const&\2c\20SkPoint\20const&\29 +2477:SkMatrix::writeToMemory\28void*\29\20const +2478:SkMatrix::preservesRightAngles\28float\29\20const +2479:SkM44::normalizePerspective\28\29 +2480:SkLatticeIter::~SkLatticeIter\28\29 +2481:SkLatticeIter::next\28SkIRect*\2c\20SkRect*\2c\20bool*\2c\20unsigned\20int*\29 +2482:SkImages::RasterFromBitmap\28SkBitmap\20const&\29 +2483:SkImage_Lazy::Validator::Validator\28sk_sp\2c\20SkColorType\20const*\2c\20sk_sp\29 +2484:SkImageShader::MakeSubset\28sk_sp\2c\20SkRect\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2485:SkImageFilters::Image\28sk_sp\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\29 +2486:SkImageFilters::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +2487:SkImage::readPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +2488:SkHalfToFloat\28unsigned\20short\29 +2489:SkGradientShader::MakeSweep\28float\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2490:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2491:SkGradientBaseShader::commonAsAGradient\28SkShaderBase::GradientInfo*\29\20const +2492:SkGradientBaseShader::ValidGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2493:SkGradientBaseShader::SkGradientBaseShader\28SkGradientBaseShader::Descriptor\20const&\2c\20SkMatrix\20const&\29 +2494:SkGradientBaseShader::MakeDegenerateGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20float\20const*\2c\20int\2c\20sk_sp\2c\20SkTileMode\29 +2495:SkGradientBaseShader::Descriptor::~Descriptor\28\29 +2496:SkGradientBaseShader::Descriptor::Descriptor\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2497:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkPath\20const*\2c\20bool\29 +2498:SkFontMgr::matchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +2499:SkFont::setSize\28float\29 +2500:SkEvalQuadAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +2501:SkEncodedInfo::~SkEncodedInfo\28\29 +2502:SkEmptyFontMgr::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +2503:SkDrawableList::~SkDrawableList\28\29 +2504:SkDrawable::draw\28SkCanvas*\2c\20SkMatrix\20const*\29 +2505:SkData::PrivateNewWithCopy\28void\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +2506:SkDashPathEffect::Make\28float\20const*\2c\20int\2c\20float\29 +2507:SkDQuad::monotonicInX\28\29\20const +2508:SkDCubic::dxdyAtT\28double\29\20const +2509:SkDCubic::RootsValidT\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +2510:SkCubicEdge::updateCubic\28\29 +2511:SkConicalGradient::~SkConicalGradient\28\29 +2512:SkColorSpace::serialize\28\29\20const +2513:SkColorSpace::MakeSRGBLinear\28\29 +2514:SkColorFilterPriv::MakeGaussian\28\29 +2515:SkColorConverter::SkColorConverter\28unsigned\20int\20const*\2c\20int\29 +2516:SkCodec::startScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const*\29 +2517:SkCodec::handleFrameIndex\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20std::__2::function\29 +2518:SkCodec::getScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +2519:SkChopQuadAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2520:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\20const*\2c\20int\29 +2521:SkChopCubicAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2522:SkCharToGlyphCache::SkCharToGlyphCache\28\29 +2523:SkCanvas::getTotalMatrix\28\29\20const +2524:SkCanvas::getLocalToDevice\28\29\20const +2525:SkCanvas::getLocalClipBounds\28\29\20const +2526:SkCanvas::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +2527:SkCanvas::drawAtlas\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +2528:SkCanvas::concat\28SkM44\20const&\29 +2529:SkCanvas::SkCanvas\28SkBitmap\20const&\29 +2530:SkCanvas::ImageSetEntry::ImageSetEntry\28SkCanvas::ImageSetEntry\20const&\29 +2531:SkBmpCodec::ReadHeader\28SkStream*\2c\20bool\2c\20std::__2::unique_ptr>*\29 +2532:SkBlurMaskFilterImpl::computeXformedSigma\28SkMatrix\20const&\29\20const +2533:SkBlitter::blitRectRegion\28SkIRect\20const&\2c\20SkRegion\20const&\29 +2534:SkBlendMode_ShouldPreScaleCoverage\28SkBlendMode\2c\20bool\29 +2535:SkBlendMode_AppendStages\28SkBlendMode\2c\20SkRasterPipeline*\29 +2536:SkBitmap::tryAllocPixels\28SkBitmap::Allocator*\29 +2537:SkBitmap::readPixels\28SkPixmap\20const&\2c\20int\2c\20int\29\20const +2538:SkBitmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2539:SkBitmap::installPixels\28SkPixmap\20const&\29 +2540:SkBitmap::allocPixels\28SkImageInfo\20const&\29 +2541:SkBaseShadowTessellator::handleQuad\28SkPoint\20const*\29 +2542:SkAutoDescriptor::~SkAutoDescriptor\28\29 +2543:SkAnimatedImage::getFrameCount\28\29\20const +2544:SkAAClip::~SkAAClip\28\29 +2545:SkAAClip::setPath\28SkPath\20const&\2c\20SkIRect\20const&\2c\20bool\29 +2546:SkAAClip::op\28SkAAClip\20const&\2c\20SkClipOp\29 +2547:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GSUB_impl::SubstLookup\20const&\29 +2548:OT::hb_ot_apply_context_t::replace_glyph\28unsigned\20int\29 +2549:OT::apply_lookup\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20unsigned\20int\29 +2550:OT::Layout::GPOS_impl::ValueFormat::get_device\28OT::IntType\20const*\2c\20bool*\2c\20void\20const*\2c\20hb_sanitize_context_t&\29 +2551:OT::Layout::GPOS_impl::AnchorFormat3::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2552:OT::Layout::GPOS_impl::AnchorFormat2::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2553:OT::ClassDef::get_class\28unsigned\20int\29\20const +2554:JpegDecoderMgr::~JpegDecoderMgr\28\29 +2555:GrTriangulator::simplify\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +2556:GrTriangulator::setTop\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2557:GrTriangulator::mergeCoincidentVertices\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29\20const +2558:GrTriangulator::Vertex*\20SkArenaAlloc::make\28SkPoint&\2c\20int&&\29 +2559:GrThreadSafeCache::remove\28skgpu::UniqueKey\20const&\29 +2560:GrThreadSafeCache::internalFind\28skgpu::UniqueKey\20const&\29 +2561:GrThreadSafeCache::internalAdd\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2562:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29 +2563:GrTexture::markMipmapsClean\28\29 +2564:GrTessellationShader::MakePipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedClip&&\2c\20GrProcessorSet&&\29 +2565:GrSurfaceProxyView::concatSwizzle\28skgpu::Swizzle\29 +2566:GrSurfaceProxy::LazyCallbackResult::LazyCallbackResult\28sk_sp\29 +2567:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20GrSurfaceProxy::RectsMustMatch\2c\20sk_sp*\29 +2568:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +2569:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +2570:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrPipeline\20const*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrUserStencilSettings\20const*\29 +2571:GrShape::simplifyLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\29 +2572:GrShape::reset\28\29 +2573:GrShape::conservativeContains\28SkPoint\20const&\29\20const +2574:GrSWMaskHelper::init\28SkIRect\20const&\29 +2575:GrResourceProvider::createNonAAQuadIndexBuffer\28\29 +2576:GrResourceProvider::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\2c\20GrResourceProvider::ZeroInit\29 +2577:GrResourceCache::refAndMakeResourceMRU\28GrGpuResource*\29 +2578:GrResourceCache::findAndRefUniqueResource\28skgpu::UniqueKey\20const&\29 +2579:GrRenderTask::addTarget\28GrDrawingManager*\2c\20sk_sp\29 +2580:GrRenderTarget::~GrRenderTarget\28\29.1 +2581:GrRecordingContextPriv::createDevice\28skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\2c\20skgpu::ganesh::Device::InitContents\29 +2582:GrQuadUtils::WillUseHairline\28GrQuad\20const&\2c\20GrAAType\2c\20GrQuadAAFlags\29 +2583:GrQuadUtils::CropToRect\28SkRect\20const&\2c\20GrAA\2c\20DrawQuad*\2c\20bool\29 +2584:GrProxyProvider::processInvalidUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\29 +2585:GrPorterDuffXPFactory::Get\28SkBlendMode\29 +2586:GrPixmap::operator=\28GrPixmap&&\29 +2587:GrPathUtils::scaleToleranceToSrc\28float\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +2588:GrPathUtils::quadraticPointCount\28SkPoint\20const*\2c\20float\29 +2589:GrPathUtils::cubicPointCount\28SkPoint\20const*\2c\20float\29 +2590:GrPaint::setPorterDuffXPFactory\28SkBlendMode\29 +2591:GrPaint::GrPaint\28GrPaint\20const&\29 +2592:GrOpsRenderPass::draw\28int\2c\20int\29 +2593:GrOpsRenderPass::drawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +2594:GrMeshDrawOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2595:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29 +2596:GrGradientShader::MakeGradientFP\28SkGradientBaseShader\20const&\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\2c\20std::__2::unique_ptr>\2c\20SkMatrix\20const*\29 +2597:GrGpuResource::getContext\28\29 +2598:GrGpu::writePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +2599:GrGLTexture::onSetLabel\28\29 +2600:GrGLTexture::onRelease\28\29 +2601:GrGLTexture::onAbandon\28\29 +2602:GrGLTexture::backendFormat\28\29\20const +2603:GrGLSLUniformHandler::addInputSampler\28skgpu::Swizzle\20const&\2c\20char\20const*\29 +2604:GrGLSLShaderBuilder::appendFunctionDecl\28SkSLType\2c\20char\20const*\2c\20SkSpan\29 +2605:GrGLSLProgramBuilder::fragmentProcessorHasCoordsParam\28GrFragmentProcessor\20const*\29\20const +2606:GrGLRenderTarget::onRelease\28\29 +2607:GrGLRenderTarget::onAbandon\28\29 +2608:GrGLGpu::resolveRenderFBOs\28GrGLRenderTarget*\2c\20SkIRect\20const&\2c\20GrGLRenderTarget::ResolveDirection\2c\20bool\29 +2609:GrGLGpu::flushBlendAndColorWrite\28skgpu::BlendInfo\20const&\2c\20skgpu::Swizzle\20const&\29 +2610:GrGLGetVersionFromString\28char\20const*\29 +2611:GrGLCheckLinkStatus\28GrGLGpu\20const*\2c\20unsigned\20int\2c\20bool\2c\20skgpu::ShaderErrorHandler*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const**\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +2612:GrGLCaps::maxRenderTargetSampleCount\28GrGLFormat\29\20const +2613:GrFragmentProcessors::Make\28SkBlenderBase\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20GrFPArgs\20const&\29 +2614:GrFragmentProcessor::isEqual\28GrFragmentProcessor\20const&\29\20const +2615:GrFragmentProcessor::asTextureEffect\28\29\20const +2616:GrFragmentProcessor::Rect\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRect\29 +2617:GrFragmentProcessor::ModulateRGBA\28std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2618:GrDrawingManager::~GrDrawingManager\28\29 +2619:GrDrawingManager::removeRenderTasks\28\29 +2620:GrDrawingManager::getPathRenderer\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\2c\20bool\2c\20skgpu::ganesh::PathRendererChain::DrawType\2c\20skgpu::ganesh::PathRenderer::StencilSupport*\29 +2621:GrDrawOpAtlas::compact\28skgpu::AtlasToken\29 +2622:GrContext_Base::~GrContext_Base\28\29 +2623:GrContext_Base::defaultBackendFormat\28SkColorType\2c\20skgpu::Renderable\29\20const +2624:GrColorSpaceXform::XformKey\28GrColorSpaceXform\20const*\29 +2625:GrColorSpaceXform::Make\28SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +2626:GrColorSpaceXform::Make\28GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +2627:GrColorInfo::operator=\28GrColorInfo\20const&\29 +2628:GrCaps::supportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +2629:GrCaps::getFallbackColorTypeAndFormat\28GrColorType\2c\20int\29\20const +2630:GrCaps::areColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +2631:GrBufferAllocPool::~GrBufferAllocPool\28\29 +2632:GrBlurUtils::DrawShapeWithMaskFilter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\29 +2633:GrBaseContextPriv::getShaderErrorHandler\28\29\20const +2634:GrBackendTexture::GrBackendTexture\28GrBackendTexture\20const&\29 +2635:GrBackendRenderTarget::getBackendFormat\28\29\20const +2636:GrBackendFormat::operator==\28GrBackendFormat\20const&\29\20const +2637:GrAAConvexTessellator::createOuterRing\28GrAAConvexTessellator::Ring\20const&\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring*\29 +2638:GrAAConvexTessellator::createInsetRings\28GrAAConvexTessellator::Ring&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring**\29 +2639:FindSortableTop\28SkOpContourHead*\29 +2640:FT_Set_Charmap +2641:FT_Outline_Decompose +2642:FT_Open_Face +2643:FT_New_Size +2644:FT_Load_Sfnt_Table +2645:FT_GlyphLoader_Add +2646:FT_Get_Color_Glyph_Paint +2647:FT_Get_Color_Glyph_Layer +2648:FT_Get_Advance +2649:FT_Done_Library +2650:FT_CMap_New +2651:End +2652:DecodeImageData\28sk_sp\29 +2653:Current_Ratio +2654:Cr_z__tr_stored_block +2655:ClipParams_unpackRegionOp\28SkReadBuffer*\2c\20unsigned\20int\29 +2656:CircleOp::Circle&\20skia_private::TArray::emplace_back\28CircleOp::Circle&&\29 +2657:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +2658:AlmostEqualUlps_Pin\28float\2c\20float\29 +2659:wuffs_lzw__decoder__workbuf_len +2660:wuffs_gif__decoder__decode_image_config +2661:wuffs_gif__decoder__decode_frame_config +2662:winding_mono_quad\28SkPoint\20const*\2c\20float\2c\20float\2c\20int*\29 +2663:winding_mono_conic\28SkConic\20const&\2c\20float\2c\20float\2c\20int*\29 +2664:wcrtomb +2665:wchar_t\20const*\20std::__2::find\5babi:v160004\5d\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const&\29 +2666:void\20std::__2::__introsort\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2667:void\20std::__2::__introsort\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\2c\20std::__2::iterator_traits<\28anonymous\20namespace\29::Entry*>::difference_type\29 +2668:void\20std::__2::__introsort\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\2c\20std::__2::iterator_traits::difference_type\29 +2669:void\20std::__2::__introsort\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2670:void\20std::__2::__inplace_merge\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +2671:void\20sort_r_simple\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void*\29\2c\20void*\29 +2672:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.3 +2673:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +2674:void\20SkTIntroSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29>\28int\2c\20double*\2c\20int\2c\20void\20SkTQSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29\20const&\29 +2675:void\20SkTIntroSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29>\28int\2c\20SkEdge*\2c\20int\2c\20void\20SkTQSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29\20const&\29 +2676:vfprintf +2677:valid_args\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20unsigned\20long*\29 +2678:utf8_back1SafeBody_74 +2679:ustrcase_internalToUpper_74 +2680:uscript_getShortName_74 +2681:uscript_getScript_74 +2682:uprv_strnicmp_74 +2683:uprv_strdup_74 +2684:uprv_sortArray_74 +2685:uprv_min_74 +2686:uprv_mapFile_74 +2687:uprv_compareASCIIPropertyNames_74 +2688:update_offset_to_base\28char\20const*\2c\20long\29 +2689:update_box +2690:unsigned\20long\20const&\20std::__2::min\5babi:v160004\5d\28unsigned\20long\20const&\2c\20unsigned\20long\20const&\29 +2691:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2692:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2693:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2694:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2695:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2696:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2697:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2698:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2699:umutablecptrie_get_74 +2700:ultag_isUnicodeLocaleAttributes_74 +2701:ultag_isPrivateuseValueSubtags_74 +2702:ulocimp_getKeywords_74 +2703:ulocimp_canonicalize_74 +2704:uloc_openKeywords_74 +2705:uhash_remove_74 +2706:uhash_hashChars_74 +2707:uhash_getiAndFound_74 +2708:uhash_compareChars_74 +2709:udata_getHashTable\28UErrorCode&\29 +2710:ucstrTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +2711:u_strToUTF8_74 +2712:u_strToUTF8WithSub_74 +2713:u_strCompare_74 +2714:u_memmove_74 +2715:u_getUnicodeProperties_74 +2716:u_getDataDirectory_74 +2717:u_charMirror_74 +2718:tt_size_reset +2719:tt_sbit_decoder_load_metrics +2720:tt_face_get_location +2721:tt_face_find_bdf_prop +2722:tolower +2723:toTextStyle\28SimpleTextStyle\20const&\29 +2724:t1_cmap_unicode_done +2725:subdivide_cubic_to\28SkPath*\2c\20SkPoint\20const*\2c\20int\29 +2726:subdivide\28SkConic\20const&\2c\20SkPoint*\2c\20int\29 +2727:subQuickSort\28char*\2c\20int\2c\20int\2c\20int\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void\20const*\29\2c\20void\20const*\2c\20void*\2c\20void*\29 +2728:strtox +2729:strtoull_l +2730:strcat +2731:std::logic_error::~logic_error\28\29.1 +2732:std::__2::vector>::__append\28unsigned\20long\29 +2733:std::__2::vector>::push_back\5babi:v160004\5d\28float&&\29 +2734:std::__2::vector>::__append\28unsigned\20long\29 +2735:std::__2::vector<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20std::__2::allocator<\28anonymous\20namespace\29::CacheImpl::Value*>>::__throw_length_error\5babi:v160004\5d\28\29\20const +2736:std::__2::vector>::reserve\28unsigned\20long\29 +2737:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +2738:std::__2::unique_ptr<\28anonymous\20namespace\29::SoftwarePathData\2c\20std::__2::default_delete<\28anonymous\20namespace\29::SoftwarePathData>>::reset\5babi:v160004\5d\28\28anonymous\20namespace\29::SoftwarePathData*\29 +2739:std::__2::time_put>>::~time_put\28\29.1 +2740:std::__2::pair\2c\20std::__2::allocator>>>::~pair\28\29 +2741:std::__2::pair\20std::__2::__copy_trivial::operator\28\29\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +2742:std::__2::locale::operator=\28std::__2::locale\20const&\29 +2743:std::__2::locale::locale\28\29 +2744:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\29 +2745:std::__2::ios_base::~ios_base\28\29 +2746:std::__2::ios_base::init\28void*\29 +2747:std::__2::ios_base::clear\28unsigned\20int\29 +2748:std::__2::fpos<__mbstate_t>::fpos\5babi:v160004\5d\28long\20long\29 +2749:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28SkAnimatedImage::Frame&\2c\20SkAnimatedImage::Frame&\29 +2750:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::ProgramUsage*\29\20const +2751:std::__2::decay>::__call\28std::declval\20const&>\28\29\29\29>::type\20std::__2::__to_address\5babi:v160004\5d\2c\20void>\28std::__2::__wrap_iter\20const&\29 +2752:std::__2::chrono::duration>::duration\5babi:v160004\5d\28long\20long\20const&\2c\20std::__2::enable_if::value\20&&\20\28std::__2::integral_constant::value\20||\20!treat_as_floating_point::value\29\2c\20void>::type*\29 +2753:std::__2::char_traits::move\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +2754:std::__2::char_traits::assign\28char*\2c\20unsigned\20long\2c\20char\29 +2755:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.2 +2756:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29 +2757:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2758:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28wchar_t\29 +2759:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +2760:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::allocator\20const&\29 +2761:std::__2::basic_string\2c\20std::__2::allocator>::__make_iterator\5babi:v160004\5d\28char*\29 +2762:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +2763:std::__2::basic_streambuf>::setp\5babi:v160004\5d\28char*\2c\20char*\29 +2764:std::__2::basic_streambuf>::basic_streambuf\28\29 +2765:std::__2::basic_ostream>::~basic_ostream\28\29.1 +2766:std::__2::basic_istream>::~basic_istream\28\29.1 +2767:std::__2::basic_istream>::sentry::sentry\28std::__2::basic_istream>&\2c\20bool\29 +2768:std::__2::basic_iostream>::~basic_iostream\28\29.2 +2769:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2770:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2771:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2772:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2773:std::__2::__throw_system_error\28int\2c\20char\20const*\29 +2774:std::__2::__throw_out_of_range\5babi:v160004\5d\28char\20const*\29 +2775:std::__2::__throw_length_error\5babi:v160004\5d\28char\20const*\29 +2776:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +2777:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20wchar_t*\2c\20wchar_t&\2c\20wchar_t&\29 +2778:std::__2::__num_get::__stage2_float_loop\28wchar_t\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20wchar_t*\29 +2779:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20char*\2c\20char&\2c\20char&\29 +2780:std::__2::__num_get::__stage2_float_loop\28char\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20char*\29 +2781:std::__2::__libcpp_wcrtomb_l\5babi:v160004\5d\28char*\2c\20wchar_t\2c\20__mbstate_t*\2c\20__locale_struct*\29 +2782:std::__2::__less::operator\28\29\5babi:v160004\5d\28unsigned\20int\20const&\2c\20unsigned\20long\20const&\29\20const +2783:std::__2::__itoa::__base_10_u32\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2784:std::__2::__itoa::__append6\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2785:std::__2::__itoa::__append4\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2786:std::__2::__call_once\28unsigned\20long\20volatile&\2c\20void*\2c\20void\20\28*\29\28void*\29\29 +2787:sktext::gpu::VertexFiller::flatten\28SkWriteBuffer&\29\20const +2788:sktext::gpu::VertexFiller::Make\28skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20SkRect\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::FillerType\29 +2789:sktext::gpu::SubRunContainer::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20SkRefCnt\20const*\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +2790:sktext::gpu::SubRunAllocator::SubRunAllocator\28int\29 +2791:sktext::gpu::GlyphVector::flatten\28SkWriteBuffer&\29\20const +2792:sktext::gpu::GlyphVector::Make\28sktext::SkStrikePromise&&\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\29 +2793:sktext::SkStrikePromise::flatten\28SkWriteBuffer&\29\20const +2794:sktext::GlyphRunBuilder::makeGlyphRunList\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20SkPoint\29 +2795:sktext::GlyphRun::GlyphRun\28SkFont\20const&\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\29 +2796:skpaint_to_grpaint_impl\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::optional>>\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2797:skip_literal_string +2798:skif::\28anonymous\20namespace\29::are_axes_nearly_integer_aligned\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +2799:skif::LayerSpace::relevantSubset\28skif::LayerSpace\2c\20SkTileMode\29\20const +2800:skif::FilterResult::applyColorFilter\28skif::Context\20const&\2c\20sk_sp\29\20const +2801:skif::FilterResult::Builder::outputBounds\28std::__2::optional>\29\20const +2802:skif::FilterResult::Builder::drawShader\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +2803:skif::FilterResult::Builder::createInputShaders\28skif::LayerSpace\20const&\2c\20bool\29 +2804:skia_private::THashTable\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::resize\28int\29 +2805:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeSlot\28int\29 +2806:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2807:skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2808:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2809:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +2810:skia_private::THashTable::Traits>::resize\28int\29 +2811:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::find\28GrProgramDesc\20const&\29\20const +2812:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrThreadSafeCache::Entry*&&\29 +2813:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2814:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +2815:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrTextureProxy*&&\29 +2816:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2817:skia_private::THashTable::Traits>::uncheckedSet\28FT_Opaque_Paint_&&\29 +2818:skia_private::THashTable::Traits>::resize\28int\29 +2819:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::~THashMap\28\29 +2820:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::find\28std::__2::basic_string_view>\20const&\29\20const +2821:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::THashMap\28std::initializer_list>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>\29 +2822:skia_private::THashMap>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::unique_ptr>\29 +2823:skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::set\28SkIcuBreakIteratorCache::Request\2c\20sk_sp\29 +2824:skia_private::TArray::resize_back\28int\29 +2825:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2826:skia_private::TArray::push_back\28SkRasterPipeline_MemoryCtxInfo&&\29 +2827:skia_private::TArray::push_back_raw\28int\29 +2828:skia_private::TArray::resize_back\28int\29 +2829:skia_png_write_chunk +2830:skia_png_set_sBIT +2831:skia_png_set_read_fn +2832:skia_png_set_packing +2833:skia_png_set_bKGD +2834:skia_png_save_uint_32 +2835:skia_png_reciprocal2 +2836:skia_png_realloc_array +2837:skia_png_read_start_row +2838:skia_png_read_IDAT_data +2839:skia_png_handle_zTXt +2840:skia_png_handle_tRNS +2841:skia_png_handle_tIME +2842:skia_png_handle_tEXt +2843:skia_png_handle_sRGB +2844:skia_png_handle_sPLT +2845:skia_png_handle_sCAL +2846:skia_png_handle_sBIT +2847:skia_png_handle_pHYs +2848:skia_png_handle_pCAL +2849:skia_png_handle_oFFs +2850:skia_png_handle_iTXt +2851:skia_png_handle_iCCP +2852:skia_png_handle_hIST +2853:skia_png_handle_gAMA +2854:skia_png_handle_cHRM +2855:skia_png_handle_bKGD +2856:skia_png_handle_as_unknown +2857:skia_png_handle_PLTE +2858:skia_png_do_strip_channel +2859:skia_png_destroy_read_struct +2860:skia_png_destroy_info_struct +2861:skia_png_compress_IDAT +2862:skia_png_combine_row +2863:skia_png_colorspace_set_sRGB +2864:skia_png_check_fp_string +2865:skia_png_check_fp_number +2866:skia::textlayout::TypefaceFontStyleSet::createTypeface\28int\29 +2867:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::$_0::operator\28\29\28sk_sp\2c\20sk_sp\29\20const +2868:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const +2869:skia::textlayout::TextLine::getGlyphPositionAtCoordinate\28float\29 +2870:skia::textlayout::Run::isResolved\28\29\20const +2871:skia::textlayout::Run::copyTo\28SkTextBlobBuilder&\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +2872:skia::textlayout::ParagraphImpl::buildClusterTable\28\29 +2873:skia::textlayout::OneLineShaper::~OneLineShaper\28\29 +2874:skia::textlayout::FontCollection::setDefaultFontManager\28sk_sp\29 +2875:skia::textlayout::FontCollection::FontCollection\28\29 +2876:skia::textlayout::Cluster::isSoftBreak\28\29\20const +2877:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::flush\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\29\20const +2878:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +2879:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::programInfo\28\29 +2880:skgpu::ganesh::SurfaceFillContext::discard\28\29 +2881:skgpu::ganesh::SurfaceDrawContext::internalStencilClear\28SkIRect\20const*\2c\20bool\29 +2882:skgpu::ganesh::SurfaceDrawContext::drawPath\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrStyle\20const&\29 +2883:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29 +2884:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +2885:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29::$_0::operator\28\29\28GrSurfaceProxyView\2c\20SkIRect\29\20const +2886:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +2887:skgpu::ganesh::QuadPerEdgeAA::MinColorType\28SkRGBA4f<\28SkAlphaType\292>\29 +2888:skgpu::ganesh::PathRendererChain::PathRendererChain\28GrRecordingContext*\2c\20skgpu::ganesh::PathRendererChain::Options\20const&\29 +2889:skgpu::ganesh::PathRenderer::getStencilSupport\28GrStyledShape\20const&\29\20const +2890:skgpu::ganesh::PathCurveTessellator::draw\28GrOpFlushState*\29\20const +2891:skgpu::ganesh::OpsTask::recordOp\28std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\2c\20GrCaps\20const&\29 +2892:skgpu::ganesh::FilterAndMipmapHaveNoEffect\28GrQuad\20const&\2c\20GrQuad\20const&\29 +2893:skgpu::ganesh::FillRectOp::MakeNonAARect\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +2894:skgpu::ganesh::FillRRectOp::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2895:skgpu::ganesh::Device::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +2896:skgpu::ganesh::Device::drawImageQuadDirect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +2897:skgpu::ganesh::Device::Make\28std::__2::unique_ptr>\2c\20SkAlphaType\2c\20skgpu::ganesh::Device::InitContents\29 +2898:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::setup_dashed_rect\28SkRect\20const&\2c\20skgpu::VertexWriter&\2c\20SkMatrix\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashCap\29 +2899:skgpu::ganesh::ClipStack::SaveRecord::invalidateMasks\28GrProxyProvider*\2c\20SkTBlockList*\29 +2900:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::SaveRecord\20const&\29\20const +2901:skgpu::ganesh::AtlasTextOp::operator\20new\28unsigned\20long\29 +2902:skgpu::ganesh::AtlasTextOp::Geometry::Make\28sktext::gpu::AtlasSubRun\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\2c\20sk_sp&&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\29 +2903:skgpu::ganesh::AtlasRenderTask::addAtlasDrawOp\28std::__2::unique_ptr>\2c\20GrCaps\20const&\29 +2904:skcms_Transform::$_2::operator\28\29\28skcms_Curve\20const*\2c\20int\29\20const +2905:skcms_TransferFunction_isPQish +2906:skcms_MaxRoundtripError +2907:sk_sp::~sk_sp\28\29 +2908:sk_free_releaseproc\28void\20const*\2c\20void*\29 +2909:siprintf +2910:sift +2911:shallowTextClone\28UText*\2c\20UText\20const*\2c\20UErrorCode*\29 +2912:rotate\28SkDCubic\20const&\2c\20int\2c\20int\2c\20SkDCubic&\29 +2913:res_getResource_74 +2914:read_metadata\28std::__2::vector>\20const&\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +2915:read_header\28SkStream*\2c\20SkISize*\29 +2916:quad_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2917:qsort +2918:psh_globals_set_scale +2919:ps_parser_skip_PS_token +2920:ps_builder_done +2921:png_text_compress +2922:png_inflate_read +2923:png_inflate_claim +2924:png_image_size +2925:png_colorspace_endpoints_match +2926:png_build_16bit_table +2927:normalize +2928:next_marker +2929:morphpoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\2c\20SkPathMeasure&\2c\20float\29 +2930:make_unpremul_effect\28std::__2::unique_ptr>\29 +2931:long\20std::__2::__libcpp_atomic_refcount_decrement\5babi:v160004\5d\28long&\29 +2932:long\20const&\20std::__2::min\5babi:v160004\5d\28long\20const&\2c\20long\20const&\29 +2933:log1p +2934:locale_getKeywordsStart_74 +2935:load_truetype_glyph +2936:loadParentsExceptRoot\28UResourceDataEntry*&\2c\20char*\2c\20int\2c\20signed\20char\2c\20char*\2c\20UErrorCode*\29 +2937:line_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2938:lang_find_or_insert\28char\20const*\29 +2939:jpeg_calc_output_dimensions +2940:inner_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +2941:inflate_table +2942:increment_simple_rowgroup_ctr +2943:icu_74::spanOneUTF8\28icu_74::UnicodeSet\20const&\2c\20unsigned\20char\20const*\2c\20int\29 +2944:icu_74::enumGroupNames\28icu_74::UCharNames*\2c\20unsigned\20short\20const*\2c\20int\2c\20int\2c\20signed\20char\20\28*\29\28void*\2c\20int\2c\20UCharNameChoice\2c\20char\20const*\2c\20int\29\2c\20void*\2c\20UCharNameChoice\29 +2945:icu_74::\28anonymous\20namespace\29::appendResult\28char16_t*\2c\20int\2c\20int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20int\2c\20icu_74::Edits*\29 +2946:icu_74::\28anonymous\20namespace\29::AliasReplacer::replace\28icu_74::Locale\20const&\2c\20icu_74::CharString&\2c\20UErrorCode&\29::$_0::__invoke\28UElement\2c\20UElement\29 +2947:icu_74::XLikelySubtagsData::readStrings\28icu_74::ResourceTable\20const&\2c\20char\20const*\2c\20icu_74::ResourceValue&\2c\20icu_74::LocalMemory&\2c\20int&\2c\20UErrorCode&\29 +2948:icu_74::UniqueCharStrings::addByValue\28icu_74::UnicodeString\2c\20UErrorCode&\29 +2949:icu_74::UnicodeString::getTerminatedBuffer\28\29 +2950:icu_74::UnicodeString::doCompare\28int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20int\29\20const +2951:icu_74::UnicodeString::UnicodeString\28char16_t\20const*\2c\20int\29 +2952:icu_74::UnicodeSet::retainAll\28icu_74::UnicodeSet\20const&\29 +2953:icu_74::UnicodeSet::remove\28int\2c\20int\29 +2954:icu_74::UnicodeSet::exclusiveOr\28int\20const*\2c\20int\2c\20signed\20char\29 +2955:icu_74::UnicodeSet::ensureBufferCapacity\28int\29 +2956:icu_74::UnicodeSet::applyIntPropertyValue\28UProperty\2c\20int\2c\20UErrorCode&\29 +2957:icu_74::UnicodeSet::applyFilter\28signed\20char\20\28*\29\28int\2c\20void*\29\2c\20void*\2c\20icu_74::UnicodeSet\20const*\2c\20UErrorCode&\29 +2958:icu_74::UnicodeSet::UnicodeSet\28icu_74::UnicodeSet\20const&\29 +2959:icu_74::UVector::sort\28int\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +2960:icu_74::UVector::removeElement\28void*\29 +2961:icu_74::UVector::insertElementAt\28void*\2c\20int\2c\20UErrorCode&\29 +2962:icu_74::UStack::UStack\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +2963:icu_74::UCharsTrieBuilder::add\28icu_74::UnicodeString\20const&\2c\20int\2c\20UErrorCode&\29 +2964:icu_74::StringTrieBuilder::~StringTrieBuilder\28\29 +2965:icu_74::StringPiece::compare\28icu_74::StringPiece\29 +2966:icu_74::SimpleFilteredSentenceBreakIterator::internalNext\28int\29 +2967:icu_74::RuleCharacterIterator::atEnd\28\29\20const +2968:icu_74::ResourceDataValue::getTable\28UErrorCode&\29\20const +2969:icu_74::ResourceDataValue::getString\28int&\2c\20UErrorCode&\29\20const +2970:icu_74::ReorderingBuffer::append\28char16_t\20const*\2c\20int\2c\20signed\20char\2c\20unsigned\20char\2c\20unsigned\20char\2c\20UErrorCode&\29 +2971:icu_74::PatternProps::isWhiteSpace\28int\29 +2972:icu_74::Normalizer2Impl::~Normalizer2Impl\28\29 +2973:icu_74::Normalizer2Impl::decompose\28int\2c\20unsigned\20short\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2974:icu_74::Normalizer2Impl::decompose\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer*\2c\20UErrorCode&\29\20const +2975:icu_74::Normalizer2Impl::decomposeShort\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2976:icu_74::Norm2AllModes::~Norm2AllModes\28\29 +2977:icu_74::Norm2AllModes::createInstance\28icu_74::Normalizer2Impl*\2c\20UErrorCode&\29 +2978:icu_74::LocaleUtility::initNameFromLocale\28icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29 +2979:icu_74::LocaleBuilder::~LocaleBuilder\28\29 +2980:icu_74::Locale::getKeywordValue\28icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20UErrorCode&\29\20const +2981:icu_74::Locale::getDefault\28\29 +2982:icu_74::LoadedNormalizer2Impl::load\28char\20const*\2c\20char\20const*\2c\20UErrorCode&\29 +2983:icu_74::ICUServiceKey::~ICUServiceKey\28\29 +2984:icu_74::ICUResourceBundleFactory::~ICUResourceBundleFactory\28\29 +2985:icu_74::ICULocaleService::~ICULocaleService\28\29 +2986:icu_74::EmojiProps::getSingleton\28UErrorCode&\29 +2987:icu_74::Edits::reset\28\29 +2988:icu_74::DictionaryBreakEngine::~DictionaryBreakEngine\28\29 +2989:icu_74::ByteSinkUtil::appendChange\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20char16_t\20const*\2c\20int\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29 +2990:icu_74::BreakIterator::makeInstance\28icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +2991:hb_tag_from_string +2992:hb_shape_plan_destroy +2993:hb_script_get_horizontal_direction +2994:hb_paint_extents_context_t::push_clip\28hb_extents_t\29 +2995:hb_ot_color_palette_get_colors +2996:hb_lazy_loader_t\2c\20hb_face_t\2c\2012u\2c\20OT::vmtx_accelerator_t>::get\28\29\20const +2997:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get\28\29\20const +2998:hb_lazy_loader_t\2c\20hb_face_t\2c\201u\2c\20hb_blob_t>::get\28\29\20const +2999:hb_lazy_loader_t\2c\20hb_face_t\2c\2018u\2c\20hb_blob_t>::get\28\29\20const +3000:hb_hashmap_t::alloc\28unsigned\20int\29 +3001:hb_font_funcs_destroy +3002:hb_face_get_upem +3003:hb_face_destroy +3004:hb_draw_cubic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +3005:hb_buffer_set_segment_properties +3006:hb_blob_create +3007:gray_render_line +3008:get_vendor\28char\20const*\29 +3009:get_renderer\28char\20const*\2c\20GrGLExtensions\20const&\29 +3010:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29 +3011:get_joining_type\28unsigned\20int\2c\20hb_unicode_general_category_t\29 +3012:getDefaultScript\28icu_74::CharString\20const&\2c\20icu_74::CharString\20const&\29 +3013:generate_distance_field_from_image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\29 +3014:ft_var_readpackeddeltas +3015:ft_var_get_item_delta +3016:ft_var_done_item_variation_store +3017:ft_glyphslot_done +3018:ft_glyphslot_alloc_bitmap +3019:freelocale +3020:free_pool +3021:fquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3022:fp_barrierf +3023:fline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3024:fixN0c\28BracketData*\2c\20int\2c\20int\2c\20unsigned\20char\29 +3025:findFirstExisting\28char\20const*\2c\20char*\2c\20char\20const*\2c\20UResOpenType\2c\20signed\20char*\2c\20signed\20char*\2c\20signed\20char*\2c\20UErrorCode*\29 +3026:fcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3027:fconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3028:fclose +3029:expm1f +3030:exp2 +3031:emscripten::internal::MethodInvoker::invoke\28void\20\28SkFont::*\20const&\29\28float\29\2c\20SkFont*\2c\20float\29 +3032:emscripten::internal::MethodInvoker\20\28SkAnimatedImage::*\29\28\29\2c\20sk_sp\2c\20SkAnimatedImage*>::invoke\28sk_sp\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +3033:emscripten::internal::Invoker>\2c\20SimpleParagraphStyle\2c\20sk_sp>::invoke\28std::__2::unique_ptr>\20\28*\29\28SimpleParagraphStyle\2c\20sk_sp\29\2c\20SimpleParagraphStyle*\2c\20sk_sp*\29 +3034:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +3035:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFontMgr&\2c\20int\29\2c\20SkFontMgr*\2c\20int\29 +3036:do_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +3037:doLoadFromIndividualFiles\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\2c\20UErrorCode*\29 +3038:doLoadFromCommonData\28signed\20char\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\2c\20UErrorCode*\29 +3039:decompose\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\2c\20unsigned\20int\29 +3040:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0>\28skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3041:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool&\2c\20GrPipeline*&\2c\20GrUserStencilSettings\20const*&&\2c\20\28anonymous\20namespace\29::DrawAtlasPathShader*&\2c\20GrPrimitiveType&&\2c\20GrXferBarrierFlags&\2c\20GrLoadOp&\29::'lambda'\28void*\29>\28GrProgramInfo&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3042:cubic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3043:conic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3044:char\20const*\20std::__2::find\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char\20const&\29 +3045:char\20const*\20std::__2::__rewrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +3046:cff_index_get_pointers +3047:cff2_path_param_t::move_to\28CFF::point_t\20const&\29 +3048:cff1_path_param_t::move_to\28CFF::point_t\20const&\29 +3049:cf2_glyphpath_computeOffset +3050:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3051:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3052:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3053:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3054:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3055:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3056:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3057:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3058:byn$mgfn-shared$void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +3059:byn$mgfn-shared$ultag_isExtensionSubtags_74 +3060:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3061:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +3062:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray&&\29 +3063:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +3064:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3065:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +3066:byn$mgfn-shared$icu_74::LaoBreakEngine::~LaoBreakEngine\28\29.1 +3067:byn$mgfn-shared$icu_74::LaoBreakEngine::~LaoBreakEngine\28\29 +3068:byn$mgfn-shared$getInPC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +3069:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +3070:byn$mgfn-shared$SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +3071:byn$mgfn-shared$SkImageInfo::MakeN32Premul\28int\2c\20int\29 +3072:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +3073:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +3074:byn$mgfn-shared$SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3075:byn$mgfn-shared$Round_To_Grid +3076:byn$mgfn-shared$LineConicIntersections::addLineNearEndPoints\28\29 +3077:byn$mgfn-shared$GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +3078:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +3079:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +3080:byn$mgfn-shared$DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3081:build_tree +3082:bracketAddOpening\28BracketData*\2c\20char16_t\2c\20int\29 +3083:bool\20OT::glyf_impl::Glyph::get_points\28hb_font_t*\2c\20OT::glyf_accelerator_t\20const&\2c\20contour_point_vector_t&\2c\20contour_point_vector_t*\2c\20head_maxp_info_t*\2c\20unsigned\20int*\2c\20bool\2c\20bool\2c\20bool\2c\20hb_array_t\2c\20hb_map_t*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +3084:bool\20OT::glyf_accelerator_t::get_points\28hb_font_t*\2c\20unsigned\20int\2c\20OT::glyf_accelerator_t::points_aggregator_t\29\20const +3085:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3086:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3087:blit_aaa_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +3088:auto\20std::__2::__unwrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +3089:atan +3090:alloc_large +3091:af_glyph_hints_done +3092:add_quad\28SkPoint\20const*\2c\20skia_private::TArray*\29 +3093:acos +3094:aaa_fill_path\28SkPath\20const&\2c\20SkIRect\20const&\2c\20AdditiveBlitter*\2c\20int\2c\20int\2c\20bool\2c\20bool\2c\20bool\29 +3095:_get_path\28OT::cff1::accelerator_t\20const*\2c\20hb_font_t*\2c\20unsigned\20int\2c\20hb_draw_session_t&\2c\20bool\2c\20CFF::point_t*\29 +3096:_get_bounds\28OT::cff1::accelerator_t\20const*\2c\20unsigned\20int\2c\20bounds_t&\2c\20bool\29 +3097:_getVariant\28char\20const*\2c\20char\2c\20icu_74::ByteSink&\2c\20signed\20char\29 +3098:_enumPropertyStartsRange\28void\20const*\2c\20int\2c\20int\2c\20unsigned\20int\29 +3099:_embind_register_bindings +3100:_canonicalize\28char\20const*\2c\20icu_74::ByteSink&\2c\20unsigned\20int\2c\20UErrorCode*\29 +3101:__trunctfdf2 +3102:__towrite +3103:__toread +3104:__subtf3 +3105:__strchrnul +3106:__rem_pio2f +3107:__rem_pio2 +3108:__math_uflowf +3109:__math_oflowf +3110:__fwritex +3111:__dynamic_cast +3112:__cxxabiv1::__class_type_info::process_static_type_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\29\20const +3113:__cxxabiv1::__class_type_info::process_static_type_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\29\20const +3114:__cxxabiv1::__class_type_info::process_found_base_class\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +3115:__cxxabiv1::__base_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +3116:\28anonymous\20namespace\29::ulayout_ensureData\28UErrorCode&\29 +3117:\28anonymous\20namespace\29::shape_contains_rect\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20bool\29 +3118:\28anonymous\20namespace\29::getRange\28void\20const*\2c\20int\2c\20unsigned\20int\20\28*\29\28void\20const*\2c\20unsigned\20int\29\2c\20void\20const*\2c\20unsigned\20int*\29 +3119:\28anonymous\20namespace\29::generateFacePathCOLRv1\28FT_FaceRec_*\2c\20unsigned\20short\2c\20SkPath*\29 +3120:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads_with_constraint\28SkPoint\20const*\2c\20float\2c\20SkPathFirstDirection\2c\20skia_private::TArray*\2c\20int\29 +3121:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\2c\20int\2c\20bool\2c\20bool\29 +3122:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const +3123:\28anonymous\20namespace\29::bloat_quad\28SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkMatrix\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +3124:\28anonymous\20namespace\29::SkEmptyTypeface::onMakeClone\28SkFontArguments\20const&\29\20const +3125:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29.1 +3126:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29 +3127:\28anonymous\20namespace\29::SkBlurImageFilter::mapSigma\28skif::Mapping\20const&\2c\20bool\29\20const +3128:\28anonymous\20namespace\29::DrawAtlasOpImpl::visitProxies\28std::__2::function\20const&\29\20const +3129:\28anonymous\20namespace\29::DrawAtlasOpImpl::programInfo\28\29 +3130:\28anonymous\20namespace\29::DrawAtlasOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +3131:\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +3132:\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +3133:WebPRescaleNeededLines +3134:WebPInitDecBufferInternal +3135:WebPInitCustomIo +3136:WebPGetFeaturesInternal +3137:WebPDemuxGetFrame +3138:VP8LInitBitReader +3139:VP8LColorIndexInverseTransformAlpha +3140:VP8InitIoInternal +3141:VP8InitBitReader +3142:UDatamemory_assign_74 +3143:T_CString_toUpperCase_74 +3144:TT_Vary_Apply_Glyph_Deltas +3145:TT_Set_Var_Design +3146:SkWuffsCodec::decodeFrame\28\29 +3147:SkVertices::MakeCopy\28SkVertices::VertexMode\2c\20int\2c\20SkPoint\20const*\2c\20SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20short\20const*\29 +3148:SkVertices::Builder::texCoords\28\29 +3149:SkVertices::Builder::positions\28\29 +3150:SkVertices::Builder::init\28SkVertices::Desc\20const&\29 +3151:SkVertices::Builder::colors\28\29 +3152:SkVertices::Builder::Builder\28SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +3153:SkUnicodes::ICU::Make\28\29 +3154:SkUnicode_icu::extractPositions\28char\20const*\2c\20int\2c\20SkUnicode::BreakType\2c\20char\20const*\2c\20std::__2::function\20const&\29 +3155:SkTypeface_FreeType::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +3156:SkTypeface::getTableSize\28unsigned\20int\29\20const +3157:SkTiff::ImageFileDirectory::getEntryTag\28unsigned\20short\29\20const +3158:SkTiff::ImageFileDirectory::MakeFromOffset\28sk_sp\2c\20bool\2c\20unsigned\20int\2c\20bool\29 +3159:SkTextBlobRunIterator::positioning\28\29\20const +3160:SkTSpan::splitAt\28SkTSpan*\2c\20double\2c\20SkArenaAlloc*\29 +3161:SkTSect::computePerpendiculars\28SkTSect*\2c\20SkTSpan*\2c\20SkTSpan*\29 +3162:SkTDStorage::insert\28int\29 +3163:SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +3164:SkTDPQueue::percolateDownIfNecessary\28int\29 +3165:SkTConic::hullIntersects\28SkDConic\20const&\2c\20bool*\29\20const +3166:SkSurface_Base::SkSurface_Base\28int\2c\20int\2c\20SkSurfaceProps\20const*\29 +3167:SkStrokerPriv::CapFactory\28SkPaint::Cap\29 +3168:SkStrokeRec::getInflationRadius\28\29\20const +3169:SkString::equals\28char\20const*\29\20const +3170:SkStrikeSpec::MakeTransformMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +3171:SkStrikeSpec::MakePath\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\29 +3172:SkStrike::glyph\28SkGlyphDigest\29 +3173:SkShapers::HB::ShapeDontWrapOrReorder\28sk_sp\2c\20sk_sp\29 +3174:SkShaper::TrivialRunIterator::endOfCurrentRun\28\29\20const +3175:SkShaper::TrivialRunIterator::atEnd\28\29\20const +3176:SkShaper::MakeFontMgrRunIterator\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20sk_sp\29 +3177:SkShadowTessellator::MakeAmbient\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20bool\29 +3178:SkScan::FillTriangle\28SkPoint\20const*\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3179:SkScan::FillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3180:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3181:SkScan::AntiHairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3182:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\2c\20bool\29 +3183:SkScalerContextRec::CachedMaskGamma\28unsigned\20char\2c\20unsigned\20char\29 +3184:SkScalerContextFTUtils::drawSVGGlyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +3185:SkScalarInterpFunc\28float\2c\20float\20const*\2c\20float\20const*\2c\20int\29 +3186:SkSLTypeString\28SkSLType\29 +3187:SkSL::simplify_negation\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\29 +3188:SkSL::simplify_matrix_multiplication\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3189:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +3190:SkSL::build_argument_type_list\28SkSpan>\20const>\29 +3191:SkSL::\28anonymous\20namespace\29::SwitchCaseContainsExit::visitStatement\28SkSL::Statement\20const&\29 +3192:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::returnsInputAlpha\28SkSL::Expression\20const&\29 +3193:SkSL::\28anonymous\20namespace\29::ConstantExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +3194:SkSL::Variable::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\29 +3195:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29\20const +3196:SkSL::Type::MakeSamplerType\28char\20const*\2c\20SkSL::Type\20const&\29 +3197:SkSL::SymbolTable::moveSymbolTo\28SkSL::SymbolTable*\2c\20SkSL::Symbol*\2c\20SkSL::Context\20const&\29 +3198:SkSL::SymbolTable::isType\28std::__2::basic_string_view>\29\20const +3199:SkSL::Symbol::instantiate\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +3200:SkSL::StructType::slotCount\28\29\20const +3201:SkSL::SampleUsage::merge\28SkSL::SampleUsage\20const&\29 +3202:SkSL::ReturnStatement::~ReturnStatement\28\29.1 +3203:SkSL::ReturnStatement::~ReturnStatement\28\29 +3204:SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +3205:SkSL::RP::Generator::pushTernaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +3206:SkSL::RP::Generator::pushStructuredComparison\28SkSL::RP::LValue*\2c\20SkSL::Operator\2c\20SkSL::RP::LValue*\2c\20SkSL::Type\20const&\29 +3207:SkSL::RP::Generator::pushMatrixMultiply\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3208:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29 +3209:SkSL::RP::Builder::push_uniform\28SkSL::RP::SlotRange\29 +3210:SkSL::RP::Builder::merge_condition_mask\28\29 +3211:SkSL::RP::Builder::jump\28int\29 +3212:SkSL::RP::Builder::branch_if_no_active_lanes_on_stack_top_equal\28int\2c\20int\29 +3213:SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +3214:SkSL::Pool::detachFromThread\28\29 +3215:SkSL::PipelineStage::ConvertProgram\28SkSL::Program\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20SkSL::PipelineStage::Callbacks*\29 +3216:SkSL::Parser::unaryExpression\28\29 +3217:SkSL::Parser::swizzle\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::basic_string_view>\2c\20SkSL::Position\29 +3218:SkSL::Parser::block\28bool\2c\20std::__2::unique_ptr>*\29 +3219:SkSL::Operator::getBinaryPrecedence\28\29\20const +3220:SkSL::ModuleLoader::loadGPUModule\28SkSL::Compiler*\29 +3221:SkSL::ModifierFlags::checkPermittedFlags\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\29\20const +3222:SkSL::MethodReference::~MethodReference\28\29.1 +3223:SkSL::MethodReference::~MethodReference\28\29 +3224:SkSL::Mangler::uniqueName\28std::__2::basic_string_view>\2c\20SkSL::SymbolTable*\29 +3225:SkSL::LiteralType::slotType\28unsigned\20long\29\20const +3226:SkSL::Layout::operator==\28SkSL::Layout\20const&\29\20const +3227:SkSL::Layout::checkPermittedLayout\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkEnumBitMask\29\20const +3228:SkSL::Inliner::analyze\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\29 +3229:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29 +3230:SkSL::GLSLCodeGenerator::writeLiteral\28SkSL::Literal\20const&\29 +3231:SkSL::GLSLCodeGenerator::writeFunctionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +3232:SkSL::ForStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3233:SkSL::FieldAccess::description\28SkSL::OperatorPrecedence\29\20const +3234:SkSL::Expression::isIncomplete\28SkSL::Context\20const&\29\20const +3235:SkSL::Expression::compareConstant\28SkSL::Expression\20const&\29\20const +3236:SkSL::DebugTracePriv::~DebugTracePriv\28\29 +3237:SkSL::Context::Context\28SkSL::BuiltinTypes\20const&\2c\20SkSL::ErrorReporter&\29 +3238:SkSL::ConstructorArrayCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +3239:SkSL::ConstructorArray::~ConstructorArray\28\29 +3240:SkSL::ConstructorArray::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +3241:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +3242:SkSL::Analysis::CallsColorTransformIntrinsics\28SkSL::Program\20const&\29 +3243:SkSL::AliasType::bitWidth\28\29\20const +3244:SkRuntimeEffectPriv::VarAsUniform\28SkSL::Variable\20const&\2c\20SkSL::Context\20const&\2c\20unsigned\20long*\29 +3245:SkRuntimeEffectPriv::UniformsAsSpan\28SkSpan\2c\20sk_sp\2c\20bool\2c\20SkColorSpace\20const*\2c\20SkArenaAlloc*\29 +3246:SkRuntimeEffect::source\28\29\20const +3247:SkRuntimeEffect::makeShader\28sk_sp\2c\20SkSpan\2c\20SkMatrix\20const*\29\20const +3248:SkRuntimeEffect::MakeForBlender\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +3249:SkResourceCache::checkMessages\28\29 +3250:SkResourceCache::NewCachedData\28unsigned\20long\29 +3251:SkRegion::translate\28int\2c\20int\2c\20SkRegion*\29\20const +3252:SkReduceOrder::Cubic\28SkPoint\20const*\2c\20SkPoint*\29 +3253:SkRectPriv::QuadContainsRectMask\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +3254:SkRecords::PreCachedPath::PreCachedPath\28SkPath\20const&\29 +3255:SkRecords::FillBounds::pushSaveBlock\28SkPaint\20const*\29 +3256:SkRecordDraw\28SkRecord\20const&\2c\20SkCanvas*\2c\20SkPicture\20const*\20const*\2c\20SkDrawable*\20const*\2c\20int\2c\20SkBBoxHierarchy\20const*\2c\20SkPicture::AbortCallback*\29 +3257:SkReadBuffer::readPoint\28SkPoint*\29 +3258:SkReadBuffer::readPath\28SkPath*\29 +3259:SkReadBuffer::readByteArrayAsData\28\29 +3260:SkReadBuffer::readArray\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3261:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29 +3262:SkRasterPipelineBlitter::blitRectWithTrace\28int\2c\20int\2c\20int\2c\20int\2c\20bool\29 +3263:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +3264:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29 +3265:SkRasterPipeline::appendLoad\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +3266:SkRasterClip::op\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkClipOp\2c\20bool\29 +3267:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29 +3268:SkRRect::scaleRadii\28\29 +3269:SkRRect::AreRectAndRadiiValid\28SkRect\20const&\2c\20SkPoint\20const*\29 +3270:SkRBuffer::skip\28unsigned\20long\29 +3271:SkPngCodec::IsPng\28void\20const*\2c\20unsigned\20long\29 +3272:SkPixmap::setColorSpace\28sk_sp\29 +3273:SkPixelRef::~SkPixelRef\28\29 +3274:SkPixelRef::notifyPixelsChanged\28\29 +3275:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20sk_sp\29 +3276:SkPictureRecord::addPathToHeap\28SkPath\20const&\29 +3277:SkPictureData::getPath\28SkReadBuffer*\29\20const +3278:SkPicture::serialize\28SkWStream*\2c\20SkSerialProcs\20const*\2c\20SkRefCntSet*\2c\20bool\29\20const +3279:SkPathWriter::update\28SkOpPtT\20const*\29 +3280:SkPathStroker::strokeCloseEnough\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20SkQuadConstruct*\29\20const +3281:SkPathStroker::finishContour\28bool\2c\20bool\29 +3282:SkPathRef::reset\28\29 +3283:SkPathRef::isRRect\28SkRRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +3284:SkPathRef::addGenIDChangeListener\28sk_sp\29 +3285:SkPathPriv::IsRectContour\28SkPath\20const&\2c\20bool\2c\20int*\2c\20SkPoint\20const**\2c\20bool*\2c\20SkPathDirection*\2c\20SkRect*\29 +3286:SkPathEffectBase::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +3287:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\29\20const +3288:SkPathBuilder::quadTo\28SkPoint\2c\20SkPoint\29 +3289:SkPathBuilder::cubicTo\28SkPoint\2c\20SkPoint\2c\20SkPoint\29 +3290:SkPath::writeToMemory\28void*\29\20const +3291:SkPath::reversePathTo\28SkPath\20const&\29 +3292:SkPath::rQuadTo\28float\2c\20float\2c\20float\2c\20float\29 +3293:SkPath::contains\28float\2c\20float\29\20const +3294:SkPath::arcTo\28float\2c\20float\2c\20float\2c\20SkPath::ArcSize\2c\20SkPathDirection\2c\20float\2c\20float\29 +3295:SkPath::approximateBytesUsed\28\29\20const +3296:SkPath::addCircle\28float\2c\20float\2c\20float\2c\20SkPathDirection\29 +3297:SkPath::Rect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3298:SkParse::FindScalar\28char\20const*\2c\20float*\29 +3299:SkPairPathEffect::flatten\28SkWriteBuffer&\29\20const +3300:SkPaintToGrPaintWithBlend\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +3301:SkPaint::refImageFilter\28\29\20const +3302:SkPaint::refBlender\28\29\20const +3303:SkPaint::getBlendMode_or\28SkBlendMode\29\20const +3304:SkPackARGB_as_RGBA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3305:SkPackARGB_as_BGRA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3306:SkOpSpan::setOppSum\28int\29 +3307:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20SkOpSpanBase**\29 +3308:SkOpSegment::markAllDone\28\29 +3309:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +3310:SkOpPtT::contains\28SkOpSegment\20const*\29\20const +3311:SkOpEdgeBuilder::closeContour\28SkPoint\20const&\2c\20SkPoint\20const&\29 +3312:SkOpCoincidence::releaseDeleted\28\29 +3313:SkOpCoincidence::markCollapsed\28SkOpPtT*\29 +3314:SkOpCoincidence::findOverlaps\28SkOpCoincidence*\29\20const +3315:SkOpCoincidence::expand\28\29 +3316:SkOpCoincidence::apply\28\29 +3317:SkOpAngle::orderable\28SkOpAngle*\29 +3318:SkOpAngle::computeSector\28\29 +3319:SkNullBlitter::~SkNullBlitter\28\29 +3320:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\2c\20sk_sp\29 +3321:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\29 +3322:SkNoDestructor>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>>::SkNoDestructor\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>&&\29 +3323:SkMessageBus::BufferFinishedMessage\2c\20GrDirectContext::DirectContextID\2c\20false>::Get\28\29 +3324:SkMemoryStream::SkMemoryStream\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +3325:SkMemoryStream::SkMemoryStream\28sk_sp\29 +3326:SkMatrix::setRotate\28float\29 +3327:SkMatrix::setPolyToPoly\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20int\29 +3328:SkMatrix::postSkew\28float\2c\20float\29 +3329:SkMatrix::invert\28SkMatrix*\29\20const +3330:SkMatrix::getMinScale\28\29\20const +3331:SkMatrix::getMinMaxScales\28float*\29\20const +3332:SkMaskBuilder::PrepareDestination\28int\2c\20int\2c\20SkMask\20const&\29 +3333:SkMakeBitmapShaderForPaint\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20SkCopyPixelsMode\29 +3334:SkLineClipper::ClipLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\2c\20bool\29 +3335:SkJpegCodec::ReadHeader\28SkStream*\2c\20SkCodec**\2c\20JpegDecoderMgr**\2c\20std::__2::unique_ptr>\29 +3336:SkJSONWriter::separator\28bool\29 +3337:SkIntersections::intersectRay\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +3338:SkIntersections::intersectRay\28SkDLine\20const&\2c\20SkDLine\20const&\29 +3339:SkIntersections::intersectRay\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +3340:SkIntersections::intersectRay\28SkDConic\20const&\2c\20SkDLine\20const&\29 +3341:SkIntersections::cleanUpParallelLines\28bool\29 +3342:SkImage_Raster::onPeekBitmap\28\29\20const +3343:SkImage_Raster::SkImage_Raster\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20int\29 +3344:SkImage_Ganesh::~SkImage_Ganesh\28\29 +3345:SkImageShader::Make\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +3346:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\29 +3347:SkImageInfo::MakeN32Premul\28SkISize\29 +3348:SkImageGenerator::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +3349:SkImageGenerator::SkImageGenerator\28SkImageInfo\20const&\2c\20unsigned\20int\29 +3350:SkImageFilters::MatrixTransform\28SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20sk_sp\29 +3351:SkImageFilters::Blur\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +3352:SkImageFilter_Base::getInputBounds\28skif::Mapping\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\29\20const +3353:SkImageFilter_Base::filterImage\28skif::Context\20const&\29\20const +3354:SkImageFilter_Base::affectsTransparentBlack\28\29\20const +3355:SkImage::width\28\29\20const +3356:SkImage::readPixels\28GrDirectContext*\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +3357:SkImage::hasMipmaps\28\29\20const +3358:SkIcuBreakIteratorCache::makeBreakIterator\28SkUnicode::BreakType\2c\20char\20const*\29 +3359:SkIDChangeListener::List::add\28sk_sp\29 +3360:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3361:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3362:SkGradientBaseShader::AppendInterpolatedToDstStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20bool\2c\20SkGradientShader::Interpolation\20const&\2c\20SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +3363:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkScalerContext*\29 +3364:SkGlyph::mask\28\29\20const +3365:SkFontScanner_FreeType::GetAxes\28FT_FaceRec_*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29 +3366:SkFontPriv::ApproximateTransformedTextSize\28SkFont\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\20const&\29 +3367:SkFontMgr::matchFamily\28char\20const*\29\20const +3368:SkFindCubicMaxCurvature\28SkPoint\20const*\2c\20float*\29 +3369:SkExif::parse_ifd\28SkExif::Metadata&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +3370:SkEncodedInfo::ICCProfile::Make\28sk_sp\29 +3371:SkEmptyFontMgr::onMatchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +3372:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkIRect\20const*\2c\20int\29 +3373:SkDynamicMemoryWStream::padToAlign4\28\29 +3374:SkDrawable::SkDrawable\28\29 +3375:SkDrawBase::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29\20const +3376:SkDrawBase::drawDevicePoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\2c\20SkDevice*\29\20const +3377:SkDraw::drawBitmap\28SkBitmap\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29\20const +3378:SkDevice::simplifyGlyphRunRSXFormAndRedraw\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +3379:SkDevice::setDeviceCoordinateSystem\28SkM44\20const&\2c\20SkM44\20const&\2c\20SkM44\20const&\2c\20int\2c\20int\29 +3380:SkDevice::SkDevice\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +3381:SkDataTable::at\28int\2c\20unsigned\20long*\29\20const +3382:SkData::MakeZeroInitialized\28unsigned\20long\29 +3383:SkData::MakeFromStream\28SkStream*\2c\20unsigned\20long\29 +3384:SkDQuad::dxdyAtT\28double\29\20const +3385:SkDQuad::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +3386:SkDQuad::FindExtrema\28double\20const*\2c\20double*\29 +3387:SkDCubic::subDivide\28double\2c\20double\29\20const +3388:SkDCubic::searchRoots\28double*\2c\20int\2c\20double\2c\20SkDCubic::SearchAxis\2c\20double*\29\20const +3389:SkDCubic::Coefficients\28double\20const*\2c\20double*\2c\20double*\2c\20double*\2c\20double*\29 +3390:SkDConic::dxdyAtT\28double\29\20const +3391:SkDConic::FindExtrema\28double\20const*\2c\20float\2c\20double*\29 +3392:SkCopyStreamToData\28SkStream*\29 +3393:SkContourMeasure_segTo\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20float\2c\20SkPath*\29 +3394:SkContourMeasureIter::next\28\29 +3395:SkContourMeasureIter::Impl::compute_quad_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3396:SkContourMeasureIter::Impl::compute_cubic_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3397:SkContourMeasureIter::Impl::compute_conic_segs\28SkConic\20const&\2c\20float\2c\20int\2c\20SkPoint\20const&\2c\20int\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20int\29 +3398:SkContourMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +3399:SkConic::evalAt\28float\29\20const +3400:SkConic::TransformW\28SkPoint\20const*\2c\20float\2c\20SkMatrix\20const&\29 +3401:SkColorToPMColor4f\28unsigned\20int\2c\20GrColorInfo\20const&\29 +3402:SkColorSpace::transferFn\28skcms_TransferFunction*\29\20const +3403:SkColorSpace::toXYZD50\28skcms_Matrix3x3*\29\20const +3404:SkColorPalette::SkColorPalette\28unsigned\20int\20const*\2c\20int\29 +3405:SkColorFilters::Blend\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\2c\20SkBlendMode\29 +3406:SkColor4fPrepForDst\28SkRGBA4f<\28SkAlphaType\293>\2c\20GrColorInfo\20const&\29 +3407:SkCodec::startIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +3408:SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +3409:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\2c\20float\29 +3410:SkCanvas::setMatrix\28SkM44\20const&\29 +3411:SkCanvas::scale\28float\2c\20float\29 +3412:SkCanvas::private_draw_shadow_rec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +3413:SkCanvas::peekPixels\28SkPixmap*\29 +3414:SkCanvas::onResetClip\28\29 +3415:SkCanvas::onClipShader\28sk_sp\2c\20SkClipOp\29 +3416:SkCanvas::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +3417:SkCanvas::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3418:SkCanvas::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3419:SkCanvas::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3420:SkCanvas::internal_private_resetClip\28\29 +3421:SkCanvas::internalSaveLayer\28SkCanvas::SaveLayerRec\20const&\2c\20SkCanvas::SaveLayerStrategy\2c\20bool\29 +3422:SkCanvas::internalDrawDeviceWithFilter\28SkDevice*\2c\20SkDevice*\2c\20SkSpan>\2c\20SkPaint\20const&\2c\20SkCanvas::DeviceCompatibleWithFilter\2c\20SkColorInfo\20const&\2c\20float\2c\20bool\29 +3423:SkCanvas::experimental_DrawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +3424:SkCanvas::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +3425:SkCanvas::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +3426:SkCanvas::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +3427:SkCanvas::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +3428:SkCanvas::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +3429:SkCanvas::drawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +3430:SkCanvas::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +3431:SkCanvas::attemptBlurredRRectDraw\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20SkEnumBitMask\29 +3432:SkCanvas::SkCanvas\28SkIRect\20const&\29 +3433:SkCachedData::~SkCachedData\28\29 +3434:SkCTMShader::~SkCTMShader\28\29.1 +3435:SkBmpRLECodec::setPixel\28void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\29 +3436:SkBmpCodec::prepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +3437:SkBlitterClipper::apply\28SkBlitter*\2c\20SkRegion\20const*\2c\20SkIRect\20const*\29 +3438:SkBlitter::blitRegion\28SkRegion\20const&\29 +3439:SkBitmapDevice::BDDraw::~BDDraw\28\29 +3440:SkBitmapCacheDesc::Make\28SkImage\20const*\29 +3441:SkBitmap::writePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +3442:SkBitmap::setPixels\28void*\29 +3443:SkBitmap::pixelRefOrigin\28\29\20const +3444:SkBitmap::notifyPixelsChanged\28\29\20const +3445:SkBitmap::isImmutable\28\29\20const +3446:SkBitmap::allocPixels\28\29 +3447:SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3448:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29.1 +3449:SkBaseShadowTessellator::handleCubic\28SkMatrix\20const&\2c\20SkPoint*\29 +3450:SkBaseShadowTessellator::handleConic\28SkMatrix\20const&\2c\20SkPoint*\2c\20float\29 +3451:SkAutoPathBoundsUpdate::SkAutoPathBoundsUpdate\28SkPath*\2c\20SkRect\20const&\29 +3452:SkAutoDescriptor::SkAutoDescriptor\28SkAutoDescriptor&&\29 +3453:SkArenaAllocWithReset::SkArenaAllocWithReset\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3454:SkAnimatedImage::decodeNextFrame\28\29 +3455:SkAnimatedImage::Frame::copyTo\28SkAnimatedImage::Frame*\29\20const +3456:SkAnalyticQuadraticEdge::updateQuadratic\28\29 +3457:SkAnalyticCubicEdge::updateCubic\28bool\29 +3458:SkAlphaRuns::reset\28int\29 +3459:SkAAClip::setRect\28SkIRect\20const&\29 +3460:Simplify\28SkPath\20const&\2c\20SkPath*\29 +3461:ReconstructRow +3462:R.1 +3463:OpAsWinding::nextEdge\28Contour&\2c\20OpAsWinding::Edge\29 +3464:OT::sbix::sanitize\28hb_sanitize_context_t*\29\20const +3465:OT::post::accelerator_t::cmp_gids\28void\20const*\2c\20void\20const*\2c\20void*\29 +3466:OT::gvar::sanitize_shallow\28hb_sanitize_context_t*\29\20const +3467:OT::fvar::sanitize\28hb_sanitize_context_t*\29\20const +3468:OT::cmap::sanitize\28hb_sanitize_context_t*\29\20const +3469:OT::cmap::accelerator_t::accelerator_t\28hb_face_t*\29 +3470:OT::cff2::accelerator_templ_t>::~accelerator_templ_t\28\29 +3471:OT::avar::sanitize\28hb_sanitize_context_t*\29\20const +3472:OT::VarRegionList::evaluate\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +3473:OT::Rule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +3474:OT::OpenTypeFontFile::sanitize\28hb_sanitize_context_t*\29\20const +3475:OT::MVAR::sanitize\28hb_sanitize_context_t*\29\20const +3476:OT::Layout::GSUB_impl::SubstLookup::serialize_ligature\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20hb_sorted_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\29 +3477:OT::Layout::GPOS_impl::MarkArray::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20OT::Layout::GPOS_impl::AnchorMatrix\20const&\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +3478:OT::GDEFVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3479:OT::Device::get_y_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3480:OT::Device::get_x_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3481:OT::ClipList::get_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\2c\20OT::VarStoreInstancer\20const&\29\20const +3482:OT::ChainRule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +3483:OT::CPAL::sanitize\28hb_sanitize_context_t*\29\20const +3484:OT::COLR::sanitize\28hb_sanitize_context_t*\29\20const +3485:OT::COLR::paint_glyph\28hb_font_t*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29\20const +3486:MakeRasterCopyPriv\28SkPixmap\20const&\2c\20unsigned\20int\29 +3487:LineQuadraticIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineQuadraticIntersections::PinTPoint\29 +3488:LineQuadraticIntersections::checkCoincident\28\29 +3489:LineQuadraticIntersections::addLineNearEndPoints\28\29 +3490:LineCubicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineCubicIntersections::PinTPoint\29 +3491:LineCubicIntersections::checkCoincident\28\29 +3492:LineCubicIntersections::addLineNearEndPoints\28\29 +3493:LineConicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineConicIntersections::PinTPoint\29 +3494:LineConicIntersections::checkCoincident\28\29 +3495:LineConicIntersections::addLineNearEndPoints\28\29 +3496:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\29 +3497:GrVertexChunkBuilder::~GrVertexChunkBuilder\28\29 +3498:GrTriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +3499:GrTriangulator::splitEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +3500:GrTriangulator::pathToPolys\28float\2c\20SkRect\20const&\2c\20bool*\29 +3501:GrTriangulator::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20GrTriangulator::VertexList*\2c\20int\29\20const +3502:GrTriangulator::emitTriangle\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20skgpu::VertexWriter\29\20const +3503:GrTriangulator::checkForIntersection\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +3504:GrTriangulator::applyFillType\28int\29\20const +3505:GrTriangulator::EdgeList::insert\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +3506:GrTriangulator::Edge::insertBelow\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3507:GrTriangulator::Edge::insertAbove\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3508:GrToGLStencilFunc\28GrStencilTest\29 +3509:GrThreadSafeCache::dropAllRefs\28\29 +3510:GrTextureRenderTargetProxy::callbackDesc\28\29\20const +3511:GrTexture::GrTexture\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20GrTextureType\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +3512:GrTexture::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20skgpu::ScratchKey*\29 +3513:GrSurfaceProxyView::asTextureProxyRef\28\29\20const +3514:GrSurfaceProxy::GrSurfaceProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +3515:GrSurfaceProxy::GrSurfaceProxy\28sk_sp\2c\20SkBackingFit\2c\20GrSurfaceProxy::UseAllocator\29 +3516:GrSurface::setRelease\28sk_sp\29 +3517:GrStyledShape::styledBounds\28\29\20const +3518:GrStyledShape::asLine\28SkPoint*\2c\20bool*\29\20const +3519:GrStyledShape::addGenIDChangeListener\28sk_sp\29\20const +3520:GrSimpleMeshDrawOpHelper::fixedFunctionFlags\28\29\20const +3521:GrShape::setRect\28SkRect\20const&\29 +3522:GrShape::setRRect\28SkRRect\20const&\29 +3523:GrShape::segmentMask\28\29\20const +3524:GrResourceProvider::assignUniqueKeyToResource\28skgpu::UniqueKey\20const&\2c\20GrGpuResource*\29 +3525:GrResourceCache::releaseAll\28\29 +3526:GrResourceCache::getNextTimestamp\28\29 +3527:GrRenderTask::addDependency\28GrRenderTask*\29 +3528:GrRenderTargetProxy::canUseStencil\28GrCaps\20const&\29\20const +3529:GrRecordingContextPriv::addOnFlushCallbackObject\28GrOnFlushCallbackObject*\29 +3530:GrRecordingContext::~GrRecordingContext\28\29 +3531:GrRecordingContext::abandonContext\28\29 +3532:GrQuadUtils::TessellationHelper::Vertices::moveTo\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +3533:GrQuadUtils::TessellationHelper::EdgeEquations::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\29 +3534:GrQuadUtils::ResolveAAType\28GrAAType\2c\20GrQuadAAFlags\2c\20GrQuad\20const&\2c\20GrAAType*\2c\20GrQuadAAFlags*\29 +3535:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA&&\2c\20GrQuad\20const*\29 +3536:GrPixmap::GrPixmap\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +3537:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29 +3538:GrPersistentCacheUtils::UnpackCachedShaders\28SkReadBuffer*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20int\2c\20GrPersistentCacheUtils::ShaderMetadata*\29 +3539:GrPathUtils::convertCubicToQuads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\29 +3540:GrPathTessellationShader::Make\28GrShaderCaps\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::tess::PatchAttribs\29 +3541:GrOp::chainConcat\28std::__2::unique_ptr>\29 +3542:GrOp::GenOpClassID\28\29 +3543:GrMeshDrawOp::PatternHelper::PatternHelper\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +3544:GrMemoryPool::Make\28unsigned\20long\2c\20unsigned\20long\29 +3545:GrMakeKeyFromImageID\28skgpu::UniqueKey*\2c\20unsigned\20int\2c\20SkIRect\20const&\29 +3546:GrImageInfo::GrImageInfo\28GrColorInfo\20const&\2c\20SkISize\20const&\29 +3547:GrGpuResource::removeScratchKey\28\29 +3548:GrGpuResource::registerWithCacheWrapped\28GrWrapCacheable\29 +3549:GrGpuResource::dumpMemoryStatisticsPriv\28SkTraceMemoryDump*\2c\20SkString\20const&\2c\20char\20const*\2c\20unsigned\20long\29\20const +3550:GrGpuBuffer::onGpuMemorySize\28\29\20const +3551:GrGpu::resolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +3552:GrGpu::executeFlushInfo\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3553:GrGeometryProcessor::TextureSampler::TextureSampler\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +3554:GrGeometryProcessor::ProgramImpl::ComputeMatrixKeys\28GrShaderCaps\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3555:GrGLUniformHandler::getUniformVariable\28GrResourceHandle\29\20const +3556:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +3557:GrGLSemaphore::GrGLSemaphore\28GrGLGpu*\2c\20bool\29 +3558:GrGLSLVaryingHandler::~GrGLSLVaryingHandler\28\29 +3559:GrGLSLShaderBuilder::emitFunction\28SkSLType\2c\20char\20const*\2c\20SkSpan\2c\20char\20const*\29 +3560:GrGLSLProgramDataManager::setSkMatrix\28GrResourceHandle\2c\20SkMatrix\20const&\29\20const +3561:GrGLSLProgramBuilder::writeFPFunction\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +3562:GrGLSLProgramBuilder::invokeFP\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +3563:GrGLSLProgramBuilder::addRTFlipUniform\28char\20const*\29 +3564:GrGLSLFragmentShaderBuilder::dstColor\28\29 +3565:GrGLSLBlend::BlendKey\28SkBlendMode\29 +3566:GrGLProgramBuilder::~GrGLProgramBuilder\28\29 +3567:GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29 +3568:GrGLGpu::flushScissor\28GrScissorState\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +3569:GrGLGpu::flushClearColor\28std::__2::array\29 +3570:GrGLGpu::deleteFence\28__GLsync*\29 +3571:GrGLGpu::createTexture\28SkISize\2c\20GrGLFormat\2c\20unsigned\20int\2c\20skgpu::Renderable\2c\20GrGLTextureParameters::SamplerOverriddenState*\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +3572:GrGLGpu::copySurfaceAsDraw\28GrSurface*\2c\20bool\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +3573:GrGLGpu::SamplerObjectCache::~SamplerObjectCache\28\29 +3574:GrGLGpu::HWVertexArrayState::bindInternalVertexArray\28GrGLGpu*\2c\20GrBuffer\20const*\29 +3575:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +3576:GrGLFinishCallbacks::callAll\28bool\29 +3577:GrGLBuffer::Make\28GrGLGpu*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +3578:GrGLAttribArrayState::enableVertexArrays\28GrGLGpu\20const*\2c\20int\2c\20GrPrimitiveRestart\29 +3579:GrFragmentProcessors::make_effect_fp\28sk_sp\2c\20char\20const*\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkSpan\2c\20GrFPArgs\20const&\29 +3580:GrFragmentProcessors::MakeChildFP\28SkRuntimeEffect::ChildPtr\20const&\2c\20GrFPArgs\20const&\29 +3581:GrFragmentProcessors::IsSupported\28SkMaskFilter\20const*\29 +3582:GrFragmentProcessor::makeProgramImpl\28\29\20const +3583:GrFragmentProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +3584:GrFragmentProcessor::MulInputByChildAlpha\28std::__2::unique_ptr>\29 +3585:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +3586:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29 +3587:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3588:GrDynamicAtlas::makeNode\28GrDynamicAtlas::Node*\2c\20int\2c\20int\2c\20int\2c\20int\29 +3589:GrDrawingManager::setLastRenderTask\28GrSurfaceProxy\20const*\2c\20GrRenderTask*\29 +3590:GrDrawingManager::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3591:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29 +3592:GrDirectContext::resetContext\28unsigned\20int\29 +3593:GrDirectContext::getResourceCacheLimit\28\29\20const +3594:GrDefaultGeoProcFactory::MakeForDeviceSpace\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +3595:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20sk_sp\29 +3596:GrColorSpaceXform::apply\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3597:GrColorSpaceXform::Equals\28GrColorSpaceXform\20const*\2c\20GrColorSpaceXform\20const*\29 +3598:GrBufferAllocPool::unmap\28\29 +3599:GrBlurUtils::can_filter_mask\28SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect*\29 +3600:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29 +3601:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +3602:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20sk_sp\2c\20std::__2::basic_string_view>\29 +3603:GrBackendFormatStencilBits\28GrBackendFormat\20const&\29 +3604:GrBackendFormat::asMockCompressionType\28\29\20const +3605:GrAATriangulator::~GrAATriangulator\28\29 +3606:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrAATriangulator::EventList*\29\20const +3607:GrAAConvexTessellator::fanRing\28GrAAConvexTessellator::Ring\20const&\29 +3608:GrAAConvexTessellator::computePtAlongBisector\28int\2c\20SkPoint\20const&\2c\20int\2c\20float\2c\20SkPoint*\29\20const +3609:FT_Stream_ReadAt +3610:FT_Stream_OpenMemory +3611:FT_Set_Char_Size +3612:FT_Request_Metrics +3613:FT_Hypot +3614:FT_Get_Var_Design_Coordinates +3615:FT_Get_Paint +3616:FT_Get_MM_Var +3617:DecodeImageData +3618:Cr_z_inflate_table +3619:Cr_z_inflateReset +3620:Cr_z_deflateEnd +3621:Cr_z_copy_with_crc +3622:Compute_Point_Displacement +3623:AAT::trak::sanitize\28hb_sanitize_context_t*\29\20const +3624:AAT::ltag::sanitize\28hb_sanitize_context_t*\29\20const +3625:AAT::feat::sanitize\28hb_sanitize_context_t*\29\20const +3626:AAT::StateTable::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +3627:AAT::Lookup>\2c\20OT::IntType\2c\20false>>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3628:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3629:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3630:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3631:zeroinfnan +3632:xyz_almost_equal\28skcms_Matrix3x3\20const&\2c\20skcms_Matrix3x3\20const&\29 +3633:wuffs_lzw__decoder__transform_io +3634:wuffs_gif__decoder__set_quirk_enabled +3635:wuffs_gif__decoder__restart_frame +3636:wuffs_gif__decoder__num_animation_loops +3637:wuffs_gif__decoder__frame_dirty_rect +3638:wuffs_gif__decoder__decode_up_to_id_part1 +3639:wuffs_gif__decoder__decode_frame +3640:write_vertex_position\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrShaderVar\20const&\2c\20SkMatrix\20const&\2c\20char\20const*\2c\20GrShaderVar*\2c\20GrResourceHandle*\29 +3641:write_passthrough_vertex_position\28GrGLSLVertexBuilder*\2c\20GrShaderVar\20const&\2c\20GrShaderVar*\29 +3642:wctomb +3643:wchar_t*\20std::__2::copy\5babi:v160004\5d\2c\20wchar_t*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20wchar_t*\29 +3644:walk_simple_edges\28SkEdge*\2c\20SkBlitter*\2c\20int\2c\20int\29 +3645:vsscanf +3646:void\20std::__2::vector>::__emplace_back_slow_path&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&>\28SkFont\20const&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\29 +3647:void\20std::__2::vector>::assign\28skia::textlayout::FontFeature*\2c\20skia::textlayout::FontFeature*\29 +3648:void\20std::__2::vector\2c\20std::__2::allocator>>::__emplace_back_slow_path>\28sk_sp&&\29 +3649:void\20std::__2::vector>::assign\28SkString*\2c\20SkString*\29 +3650:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\29 +3651:void\20std::__2::vector>::__push_back_slow_path\28SkSL::FunctionDebugInfo&&\29 +3652:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Varying&&\29 +3653:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Attribute&&\29 +3654:void\20std::__2::vector>::assign\28SkFontArguments::VariationPosition::Coordinate*\2c\20SkFontArguments::VariationPosition::Coordinate*\29 +3655:void\20std::__2::vector>::__emplace_back_slow_path\28SkRect&\2c\20int&\2c\20int&\29 +3656:void\20std::__2::allocator_traits>::construct\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\29 +3657:void\20std::__2::__tree_balance_after_insert\5babi:v160004\5d*>\28std::__2::__tree_node_base*\2c\20std::__2::__tree_node_base*\29 +3658:void\20std::__2::__stable_sort_move\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\29 +3659:void\20std::__2::__sift_up\5babi:v160004\5d*>>\28std::__2::__wrap_iter*>\2c\20std::__2::__wrap_iter*>\2c\20GrGeometryProcessor::ProgramImpl::emitTransformCode\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\29::$_0&\2c\20std::__2::iterator_traits*>>::difference_type\29 +3660:void\20std::__2::__optional_storage_base::__assign_from\5babi:v160004\5d\20const&>\28std::__2::__optional_copy_assign_base\20const&\29 +3661:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20char*&\2c\20char*&\29 +3662:void\20sorted_merge<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3663:void\20sorted_merge<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3664:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.1 +3665:void\20skgpu::ganesh::SurfaceFillContext::clear<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\20const&\29 +3666:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +3667:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader&\2c\20sk_sp*\29 +3668:void\20emscripten::internal::MemberAccess::setWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle&\2c\20SimpleFontStyle*\29 +3669:void\20\28anonymous\20namespace\29::copyFT2LCD16\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\29 +3670:void\20SkTIntroSort\28int\2c\20int*\2c\20int\2c\20DistanceLessThan\20const&\29 +3671:void\20SkTIntroSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29>\28int\2c\20float*\2c\20int\2c\20void\20SkTQSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29\20const&\29 +3672:void\20SkTIntroSort\28int\2c\20SkString*\2c\20int\2c\20bool\20\20const\28&\29\28SkString\20const&\2c\20SkString\20const&\29\29 +3673:void\20SkTIntroSort\28int\2c\20SkOpRayHit**\2c\20int\2c\20bool\20\20const\28&\29\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29\29 +3674:void\20SkTIntroSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29>\28int\2c\20SkOpContour*\2c\20int\2c\20void\20SkTQSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29\20const&\29 +3675:void\20SkTIntroSort>\2c\20SkCodec::Result*\29::Entry\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan>\28int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::Entry*\2c\20int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan\20const&\29 +3676:void\20SkTIntroSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29>\28int\2c\20SkClosestRecord\20const*\2c\20int\2c\20void\20SkTQSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29\20const&\29 +3677:void\20SkTIntroSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29>\28int\2c\20SkAnalyticEdge*\2c\20int\2c\20void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const&\29 +3678:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\20const\28&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3679:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\28*\20const&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3680:void\20SkTIntroSort\28int\2c\20Edge*\2c\20int\2c\20EdgeLT\20const&\29 +3681:void\20GrGeometryProcessor::ProgramImpl::collectTransforms\28GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGLSLUniformHandler*\2c\20GrShaderType\2c\20GrShaderVar\20const&\2c\20GrShaderVar\20const&\2c\20GrPipeline\20const&\29::$_0::operator\28\29<$_0>\28$_0&\2c\20GrFragmentProcessor\20const&\2c\20bool\2c\20GrFragmentProcessor\20const*\2c\20int\2c\20GrGeometryProcessor::ProgramImpl::BaseCoord\29 +3682:void\20AAT::StateTableDriver::drive::driver_context_t>\28AAT::LigatureSubtable::driver_context_t*\2c\20AAT::hb_aat_apply_context_t*\29::'lambda0'\28\29::operator\28\29\28\29\20const +3683:virtual\20thunk\20to\20GrGLTexture::onSetLabel\28\29 +3684:virtual\20thunk\20to\20GrGLTexture::backendFormat\28\29\20const +3685:vfiprintf +3686:validate_texel_levels\28SkISize\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20GrCaps\20const*\29 +3687:utf8TextClose\28UText*\29 +3688:utf8TextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +3689:utext_openConstUnicodeString_74 +3690:utext_moveIndex32_74 +3691:utext_getPreviousNativeIndex_74 +3692:utext_extract_74 +3693:ures_resetIterator_74 +3694:ures_initStackObject_74 +3695:ures_getInt_74 +3696:ures_getIntVector_74 +3697:ures_copyResb_74 +3698:uprv_stricmp_74 +3699:uprv_getMaxValues_74 +3700:uprv_compareInvAscii_74 +3701:upropsvec_addPropertyStarts_74 +3702:uprops_getSource_74 +3703:uprops_addPropertyStarts_74 +3704:unsigned\20short\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3705:unsigned\20long\20long\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3706:unsigned\20int\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3707:unsigned\20int\20const*\20std::__2::lower_bound\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20unsigned\20long\20const&\29 +3708:unorm_getFCD16_74 +3709:ultag_isUnicodeLocaleKey_74 +3710:ultag_isScriptSubtag_74 +3711:ultag_isLanguageSubtag_74 +3712:ultag_isExtensionSubtags_74 +3713:ultag_getTKeyStart_74 +3714:ulocimp_toBcpType_74 +3715:uloc_toUnicodeLocaleType_74 +3716:uloc_toUnicodeLocaleKey_74 +3717:uloc_setKeywordValue_74 +3718:uloc_getTableStringWithFallback_74 +3719:uloc_getScript_74 +3720:uloc_getName_74 +3721:uloc_getLanguage_74 +3722:uloc_getDisplayName_74 +3723:uloc_getCountry_74 +3724:uloc_canonicalize_74 +3725:uenum_unext_74 +3726:udata_open_74 +3727:udata_checkCommonData_74 +3728:ucptrie_internalU8PrevIndex_74 +3729:uchar_addPropertyStarts_74 +3730:ucase_toFullUpper_74 +3731:ucase_toFullLower_74 +3732:ucase_toFullFolding_74 +3733:ucase_getTypeOrIgnorable_74 +3734:ucase_addPropertyStarts_74 +3735:ubidi_getPairedBracketType_74 +3736:ubidi_close_74 +3737:u_unescapeAt_74 +3738:u_strFindFirst_74 +3739:u_memrchr_74 +3740:u_memcmp_74 +3741:u_hasBinaryProperty_74 +3742:u_getPropertyEnum_74 +3743:tt_size_run_prep +3744:tt_size_done_bytecode +3745:tt_sbit_decoder_load_image +3746:tt_face_vary_cvt +3747:tt_face_palette_set +3748:tt_face_load_cvt +3749:tt_face_get_metrics +3750:tt_done_blend +3751:tt_delta_interpolate +3752:tt_cmap4_set_range +3753:tt_cmap4_next +3754:tt_cmap4_char_map_linear +3755:tt_cmap4_char_map_binary +3756:tt_cmap14_get_def_chars +3757:tt_cmap13_next +3758:tt_cmap12_next +3759:tt_cmap12_init +3760:tt_cmap12_char_map_binary +3761:tt_apply_mvar +3762:toParagraphStyle\28SimpleParagraphStyle\20const&\29 +3763:tanhf +3764:t1_lookup_glyph_by_stdcharcode_ps +3765:t1_builder_close_contour +3766:t1_builder_check_points +3767:strtoull +3768:strtoll_l +3769:strtol +3770:strspn +3771:store_int +3772:std::logic_error::~logic_error\28\29 +3773:std::logic_error::logic_error\28char\20const*\29 +3774:std::exception::exception\5babi:v160004\5d\28\29 +3775:std::__2::vector>::max_size\28\29\20const +3776:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +3777:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +3778:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::locale::facet**\29 +3779:std::__2::vector>::__annotate_shrink\5babi:v160004\5d\28unsigned\20long\29\20const +3780:std::__2::vector>::__annotate_new\5babi:v160004\5d\28unsigned\20long\29\20const +3781:std::__2::vector>::__annotate_delete\5babi:v160004\5d\28\29\20const +3782:std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float&&\29 +3783:std::__2::vector>::__append\28unsigned\20long\29 +3784:std::__2::unique_ptr::operator=\5babi:v160004\5d\28std::__2::unique_ptr&&\29 +3785:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3786:std::__2::unique_ptr>\20SkSL::coalesce_vector\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +3787:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::nullptr_t\29 +3788:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda0'\28\29::operator\28\29\28\29\20const +3789:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +3790:std::__2::to_string\28unsigned\20long\29 +3791:std::__2::to_chars_result\20std::__2::__to_chars_itoa\5babi:v160004\5d\28char*\2c\20char*\2c\20unsigned\20int\2c\20std::__2::integral_constant\29 +3792:std::__2::time_put>>::~time_put\28\29 +3793:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3794:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3795:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3796:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3797:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3798:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3799:std::__2::reverse_iterator::operator++\5babi:v160004\5d\28\29 +3800:std::__2::reverse_iterator::operator*\5babi:v160004\5d\28\29\20const +3801:std::__2::priority_queue>\2c\20GrAATriangulator::EventComparator>::push\28GrAATriangulator::Event*\20const&\29 +3802:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrFragmentProcessor\20const*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +3803:std::__2::pair*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__emplace_unique_key_args\28int\20const&\2c\20int\20const&\29 +3804:std::__2::pair\2c\20std::__2::allocator>>>::pair\28std::__2::pair\2c\20std::__2::allocator>>>&&\29 +3805:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28wchar_t\29 +3806:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28char\29 +3807:std::__2::optional&\20std::__2::optional::operator=\5babi:v160004\5d\28SkPath\20const&\29 +3808:std::__2::numpunct::~numpunct\28\29 +3809:std::__2::numpunct::~numpunct\28\29 +3810:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3811:std::__2::num_get>>\20const&\20std::__2::use_facet\5babi:v160004\5d>>>\28std::__2::locale\20const&\29 +3812:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3813:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3814:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3815:std::__2::moneypunct::do_negative_sign\28\29\20const +3816:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3817:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3818:std::__2::moneypunct::do_negative_sign\28\29\20const +3819:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20wchar_t*&\2c\20wchar_t*\29 +3820:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20char*&\2c\20char*\29 +3821:std::__2::locale::__imp::~__imp\28\29 +3822:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20std::__2::random_access_iterator_tag\29 +3823:std::__2::iterator_traits\2c\20std::__2::allocator>\20const*>::difference_type\20std::__2::distance\5babi:v160004\5d\2c\20std::__2::allocator>\20const*>\28std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +3824:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28char*\2c\20char*\29 +3825:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::random_access_iterator_tag\29 +3826:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3827:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3828:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3829:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3830:std::__2::ios_base::width\5babi:v160004\5d\28long\29 +3831:std::__2::ios_base::imbue\28std::__2::locale\20const&\29 +3832:std::__2::ios_base::__call_callbacks\28std::__2::ios_base::event\29 +3833:std::__2::hash::operator\28\29\28skia::textlayout::FontArguments\20const&\29\20const +3834:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28char&\2c\20char&\29 +3835:std::__2::enable_if<__is_cpp17_random_access_iterator::value\2c\20char*>::type\20std::__2::copy_n\5babi:v160004\5d\28char\20const*\2c\20unsigned\20long\2c\20char*\29 +3836:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28wchar_t\20const*\2c\20wchar_t\20const*\29 +3837:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28char*\2c\20char*\29 +3838:std::__2::deque>::__add_back_capacity\28\29 +3839:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::gpu::TextBlobRedrawCoordinator*\29\20const +3840:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::GlyphRunBuilder*\29\20const +3841:std::__2::ctype::~ctype\28\29 +3842:std::__2::codecvt::~codecvt\28\29 +3843:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3844:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char32_t\20const*\2c\20char32_t\20const*\2c\20char32_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3845:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3846:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char32_t*\2c\20char32_t*\2c\20char32_t*&\29\20const +3847:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char16_t\20const*\2c\20char16_t\20const*\2c\20char16_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3848:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3849:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char16_t*\2c\20char16_t*\2c\20char16_t*&\29\20const +3850:std::__2::char_traits::not_eof\28int\29 +3851:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28\29\20const +3852:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29 +3853:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20wchar_t\20const*\29 +3854:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3855:std::__2::basic_string\2c\20std::__2::allocator>::resize\28unsigned\20long\2c\20char\29 +3856:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +3857:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20char\29 +3858:std::__2::basic_string\2c\20std::__2::allocator>::basic_string>\2c\20void>\28std::__2::basic_string_view>\20const&\29 +3859:std::__2::basic_string\2c\20std::__2::allocator>::__throw_out_of_range\5babi:v160004\5d\28\29\20const +3860:std::__2::basic_string\2c\20std::__2::allocator>::__null_terminate_at\5babi:v160004\5d\28char*\2c\20unsigned\20long\29 +3861:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +3862:std::__2::basic_string\2c\20std::__2::allocator>&\20skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::emplace_back\28char\20const*&&\29 +3863:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3864:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3865:std::__2::basic_streambuf>::sputc\5babi:v160004\5d\28char\29 +3866:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3867:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3868:std::__2::basic_ostream>::~basic_ostream\28\29.2 +3869:std::__2::basic_ostream>::sentry::~sentry\28\29 +3870:std::__2::basic_ostream>::sentry::sentry\28std::__2::basic_ostream>&\29 +3871:std::__2::basic_ostream>::operator<<\28float\29 +3872:std::__2::basic_ostream>::flush\28\29 +3873:std::__2::basic_istream>::~basic_istream\28\29.2 +3874:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\2c\20unsigned\20long\29 +3875:std::__2::allocator::deallocate\5babi:v160004\5d\28wchar_t*\2c\20unsigned\20long\29 +3876:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3877:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3878:std::__2::__wrap_iter\20std::__2::vector>::insert\2c\200>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +3879:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3880:std::__2::__time_put::__time_put\5babi:v160004\5d\28\29 +3881:std::__2::__time_put::__do_put\28char*\2c\20char*&\2c\20tm\20const*\2c\20char\2c\20char\29\20const +3882:std::__2::__split_buffer>::push_back\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +3883:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3884:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3885:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3886:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3887:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3888:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20wchar_t&\2c\20wchar_t&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3889:std::__2::__money_put::__format\28wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20unsigned\20int\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3890:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20char&\2c\20char&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3891:std::__2::__money_put::__format\28char*\2c\20char*&\2c\20char*&\2c\20unsigned\20int\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3892:std::__2::__libcpp_sscanf_l\28char\20const*\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +3893:std::__2::__libcpp_mbrtowc_l\5babi:v160004\5d\28wchar_t*\2c\20char\20const*\2c\20unsigned\20long\2c\20__mbstate_t*\2c\20__locale_struct*\29 +3894:std::__2::__libcpp_mb_cur_max_l\5babi:v160004\5d\28__locale_struct*\29 +3895:std::__2::__libcpp_deallocate\5babi:v160004\5d\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3896:std::__2::__libcpp_allocate\5babi:v160004\5d\28unsigned\20long\2c\20unsigned\20long\29 +3897:std::__2::__is_overaligned_for_new\5babi:v160004\5d\28unsigned\20long\29 +3898:std::__2::__function::__value_func::swap\5babi:v160004\5d\28std::__2::__function::__value_func&\29 +3899:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +3900:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +3901:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +3902:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy\28\29 +3903:std::__2::__constexpr_wcslen\5babi:v160004\5d\28wchar_t\20const*\29 +3904:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::__sso_allocator&\2c\20unsigned\20long\29 +3905:start_input_pass +3906:sktext::gpu::can_use_direct\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3907:sktext::gpu::build_distance_adjust_table\28float\29 +3908:sktext::gpu::VertexFiller::opMaskType\28\29\20const +3909:sktext::gpu::VertexFiller::isLCD\28\29\20const +3910:sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const +3911:sktext::gpu::TextBlobRedrawCoordinator::internalRemove\28sktext::gpu::TextBlob*\29 +3912:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_2::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3913:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_0::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3914:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29 +3915:sktext::gpu::SubRunContainer::EstimateAllocSize\28sktext::GlyphRunList\20const&\29 +3916:sktext::gpu::SubRunAllocator::SubRunAllocator\28char*\2c\20int\2c\20int\29 +3917:sktext::gpu::StrikeCache::~StrikeCache\28\29 +3918:sktext::gpu::SlugImpl::Make\28SkMatrix\20const&\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\29 +3919:sktext::gpu::BagOfBytes::BagOfBytes\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29::$_1::operator\28\29\28\29\20const +3920:sktext::glyphrun_source_bounds\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkZip\2c\20SkSpan\29 +3921:sktext::SkStrikePromise::resetStrike\28\29 +3922:sktext::GlyphRunList::makeBlob\28\29\20const +3923:sktext::GlyphRunBuilder::blobToGlyphRunList\28SkTextBlob\20const&\2c\20SkPoint\29 +3924:skstd::to_string\28float\29 +3925:skpathutils::FillPathWithPaint\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkPath*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29 +3926:skjpeg_err_exit\28jpeg_common_struct*\29 +3927:skip_string +3928:skip_procedure +3929:skif::\28anonymous\20namespace\29::decompose_transform\28SkMatrix\20const&\2c\20SkPoint\2c\20SkMatrix*\2c\20SkMatrix*\29 +3930:skif::Mapping::adjustLayerSpace\28SkMatrix\20const&\29 +3931:skif::FilterResult::imageAndOffset\28skif::Context\20const&\29\20const +3932:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20SkBlender\20const*\29\20const +3933:skif::FilterResult::drawAnalyzedImage\28skif::Context\20const&\2c\20SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\2c\20SkBlender\20const*\29\20const +3934:skif::FilterResult::MakeFromImage\28skif::Context\20const&\2c\20sk_sp\2c\20SkRect\2c\20skif::ParameterSpace\2c\20SkSamplingOptions\20const&\29 +3935:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\29 +3936:skif::FilterResult::FilterResult\28\29 +3937:skif::Context::withNewSource\28skif::FilterResult\20const&\29\20const +3938:skia_private::THashTable::Traits>::set\28unsigned\20long\20long\29 +3939:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3940:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +3941:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeIfExists\28unsigned\20int\20const&\29 +3942:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair&&\29 +3943:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\29 +3944:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\29 +3945:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3946:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +3947:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::find\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3948:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3949:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +3950:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::resize\28int\29 +3951:skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair&&\29 +3952:skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair&&\2c\20unsigned\20int\29 +3953:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28skgpu::ganesh::SmallPathShapeData*&&\29 +3954:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3955:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::uncheckedSet\28sk_sp&&\29 +3956:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::resize\28int\29 +3957:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::uncheckedSet\28\28anonymous\20namespace\29::CacheImpl::Value*&&\29 +3958:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::resize\28int\29 +3959:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3960:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3961:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3962:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3963:skia_private::THashTable::uncheckedSet\28SkResourceCache::Rec*&&\29 +3964:skia_private::THashTable::resize\28int\29 +3965:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::set\28SkLRUCache::Entry*\29 +3966:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::resize\28int\29 +3967:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::removeIfExists\28unsigned\20int\20const&\29 +3968:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::resize\28int\29 +3969:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*&&\29 +3970:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::resize\28int\29 +3971:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrGpuResource*&&\29 +3972:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3973:skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::set\28unsigned\20int\2c\20sk_sp\20\28*\29\28SkReadBuffer&\29\29 +3974:skia_private::THashMap::set\28int\2c\20int\29 +3975:skia_private::THashMap>\2c\20SkGoodHash>::remove\28SkImageFilter\20const*\20const&\29 +3976:skia_private::TArray::push_back_raw\28int\29 +3977:skia_private::TArray::resize_back\28int\29 +3978:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::checkRealloc\28int\2c\20double\29 +3979:skia_private::TArray::~TArray\28\29 +3980:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3981:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3982:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3983:skia_private::TArray::BufferFinishedMessage\2c\20false>::operator=\28skia_private::TArray::BufferFinishedMessage\2c\20false>&&\29 +3984:skia_private::TArray::BufferFinishedMessage\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +3985:skia_private::TArray::Plane\2c\20false>::move\28void*\29 +3986:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3987:skia_private::TArray\29::ReorderedArgument\2c\20false>::push_back\28SkSL::optimize_constructor_swizzle\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ConstructorCompound\20const&\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29::ReorderedArgument&&\29 +3988:skia_private::TArray::TArray\28skia_private::TArray&&\29 +3989:skia_private::TArray::swap\28skia_private::TArray&\29 +3990:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +3991:skia_private::TArray::push_back_raw\28int\29 +3992:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +3993:skia_private::TArray::push_back_raw\28int\29 +3994:skia_private::TArray::push_back_raw\28int\29 +3995:skia_private::TArray::move_back_n\28int\2c\20GrTextureProxy**\29 +3996:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3997:skia_private::TArray::push_back_n\28int\2c\20EllipticalRRectOp::RRect\20const*\29 +3998:skia_png_zfree +3999:skia_png_write_zTXt +4000:skia_png_write_tIME +4001:skia_png_write_tEXt +4002:skia_png_write_iTXt +4003:skia_png_set_write_fn +4004:skia_png_set_strip_16 +4005:skia_png_set_read_user_transform_fn +4006:skia_png_set_read_user_chunk_fn +4007:skia_png_set_option +4008:skia_png_set_mem_fn +4009:skia_png_set_expand_gray_1_2_4_to_8 +4010:skia_png_set_error_fn +4011:skia_png_set_compression_level +4012:skia_png_set_IHDR +4013:skia_png_read_filter_row +4014:skia_png_process_IDAT_data +4015:skia_png_icc_set_sRGB +4016:skia_png_icc_check_tag_table +4017:skia_png_icc_check_header +4018:skia_png_get_uint_31 +4019:skia_png_get_sBIT +4020:skia_png_get_rowbytes +4021:skia_png_get_error_ptr +4022:skia_png_get_IHDR +4023:skia_png_do_swap +4024:skia_png_do_read_transformations +4025:skia_png_do_read_interlace +4026:skia_png_do_packswap +4027:skia_png_do_invert +4028:skia_png_do_gray_to_rgb +4029:skia_png_do_expand +4030:skia_png_do_check_palette_indexes +4031:skia_png_do_bgr +4032:skia_png_destroy_png_struct +4033:skia_png_destroy_gamma_table +4034:skia_png_create_png_struct +4035:skia_png_create_info_struct +4036:skia_png_crc_read +4037:skia_png_colorspace_sync_info +4038:skia_png_check_IHDR +4039:skia::textlayout::TypefaceFontStyleSet::matchStyle\28SkFontStyle\20const&\29 +4040:skia::textlayout::TextStyle::matchOneAttribute\28skia::textlayout::StyleType\2c\20skia::textlayout::TextStyle\20const&\29\20const +4041:skia::textlayout::TextStyle::equals\28skia::textlayout::TextStyle\20const&\29\20const +4042:skia::textlayout::TextShadow::operator!=\28skia::textlayout::TextShadow\20const&\29\20const +4043:skia::textlayout::TextLine::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +4044:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const::$_0::operator\28\29\28unsigned\20long\20const&\29\20const +4045:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkRect\29::operator\28\29\28SkRect\29\20const +4046:skia::textlayout::TextLine::getMetrics\28\29\20const +4047:skia::textlayout::TextLine::ensureTextBlobCachePopulated\28\29 +4048:skia::textlayout::TextLine::buildTextBlob\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +4049:skia::textlayout::TextLine::TextLine\28skia::textlayout::ParagraphImpl*\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20skia::textlayout::InternalLineMetrics\29 +4050:skia::textlayout::TextLine&\20skia_private::TArray::emplace_back&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&>\28skia::textlayout::ParagraphImpl*&&\2c\20SkPoint&\2c\20SkPoint&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&\29 +4051:skia::textlayout::Run::shift\28skia::textlayout::Cluster\20const*\2c\20float\29 +4052:skia::textlayout::Run::newRunBuffer\28\29 +4053:skia::textlayout::Run::findLimitingGlyphClusters\28skia::textlayout::SkRange\29\20const +4054:skia::textlayout::Run::addSpacesAtTheEnd\28float\2c\20skia::textlayout::Cluster*\29 +4055:skia::textlayout::ParagraphStyle::effective_align\28\29\20const +4056:skia::textlayout::ParagraphStyle::ParagraphStyle\28\29 +4057:skia::textlayout::ParagraphPainter::DecorationStyle::DecorationStyle\28unsigned\20int\2c\20float\2c\20std::__2::optional\29 +4058:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29 +4059:skia::textlayout::ParagraphImpl::text\28skia::textlayout::SkRange\29 +4060:skia::textlayout::ParagraphImpl::resolveStrut\28\29 +4061:skia::textlayout::ParagraphImpl::getGlyphInfoAtUTF16Offset\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +4062:skia::textlayout::ParagraphImpl::getGlyphClusterAt\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +4063:skia::textlayout::ParagraphImpl::findPreviousGraphemeBoundary\28unsigned\20long\29\20const +4064:skia::textlayout::ParagraphImpl::computeEmptyMetrics\28\29 +4065:skia::textlayout::ParagraphImpl::clusters\28skia::textlayout::SkRange\29 +4066:skia::textlayout::ParagraphImpl::block\28unsigned\20long\29 +4067:skia::textlayout::ParagraphCacheValue::~ParagraphCacheValue\28\29 +4068:skia::textlayout::ParagraphCacheKey::ParagraphCacheKey\28skia::textlayout::ParagraphImpl\20const*\29 +4069:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29 +4070:skia::textlayout::ParagraphBuilderImpl::make\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +4071:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\2c\20bool\29 +4072:skia::textlayout::ParagraphBuilderImpl::ParagraphBuilderImpl\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +4073:skia::textlayout::Paragraph::~Paragraph\28\29 +4074:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29 +4075:skia::textlayout::FontCollection::~FontCollection\28\29 +4076:skia::textlayout::FontCollection::matchTypeface\28SkString\20const&\2c\20SkFontStyle\29 +4077:skia::textlayout::FontCollection::defaultFallback\28int\2c\20SkFontStyle\2c\20SkString\20const&\29 +4078:skia::textlayout::FontCollection::FamilyKey::Hasher::operator\28\29\28skia::textlayout::FontCollection::FamilyKey\20const&\29\20const +4079:skgpu::tess::\28anonymous\20namespace\29::write_curve_index_buffer_base_index\28skgpu::VertexWriter\2c\20unsigned\20long\2c\20unsigned\20short\29 +4080:skgpu::tess::StrokeIterator::next\28\29 +4081:skgpu::tess::StrokeIterator::finishOpenContour\28\29 +4082:skgpu::tess::PreChopPathCurves\28float\2c\20SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +4083:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29 +4084:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::SmallPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20GrUserStencilSettings\20const*\29 +4085:skgpu::ganesh::\28anonymous\20namespace\29::ChopPathIfNecessary\28SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkStrokeRec\20const&\2c\20SkPath*\29 +4086:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::recordDraw\28GrMeshDrawTarget*\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20int\2c\20unsigned\20short*\29 +4087:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::AAFlatteningConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20float\2c\20SkStrokeRec::Style\2c\20SkPaint::Join\2c\20float\2c\20GrUserStencilSettings\20const*\29 +4088:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::AAConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrUserStencilSettings\20const*\29 +4089:skgpu::ganesh::TextureOp::Make\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20SkBlendMode\2c\20GrAAType\2c\20DrawQuad*\2c\20SkRect\20const*\29 +4090:skgpu::ganesh::TessellationPathRenderer::IsSupported\28GrCaps\20const&\29 +4091:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +4092:skgpu::ganesh::SurfaceFillContext::blitTexture\28GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\29 +4093:skgpu::ganesh::SurfaceFillContext::addOp\28std::__2::unique_ptr>\29 +4094:skgpu::ganesh::SurfaceFillContext::addDrawOp\28std::__2::unique_ptr>\29 +4095:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29.1 +4096:skgpu::ganesh::SurfaceDrawContext::drawVertices\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20sk_sp\2c\20GrPrimitiveType*\2c\20bool\29 +4097:skgpu::ganesh::SurfaceDrawContext::drawTexturedQuad\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkBlendMode\2c\20DrawQuad*\2c\20SkRect\20const*\29 +4098:skgpu::ganesh::SurfaceDrawContext::drawTexture\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkBlendMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +4099:skgpu::ganesh::SurfaceDrawContext::drawStrokedLine\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkStrokeRec\20const&\29 +4100:skgpu::ganesh::SurfaceDrawContext::drawRegion\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrStyle\20const&\2c\20GrUserStencilSettings\20const*\29 +4101:skgpu::ganesh::SurfaceDrawContext::drawOval\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\29 +4102:skgpu::ganesh::SurfaceDrawContext::SurfaceDrawContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4103:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29 +4104:skgpu::ganesh::SurfaceContext::writePixels\28GrDirectContext*\2c\20GrCPixmap\2c\20SkIPoint\29 +4105:skgpu::ganesh::SurfaceContext::copy\28sk_sp\2c\20SkIRect\2c\20SkIPoint\29 +4106:skgpu::ganesh::SurfaceContext::copyScaled\28sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20SkFilterMode\29 +4107:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +4108:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::FinishContext::~FinishContext\28\29 +4109:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +4110:skgpu::ganesh::SurfaceContext::SurfaceContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +4111:skgpu::ganesh::StrokeTessellator::draw\28GrOpFlushState*\29\20const +4112:skgpu::ganesh::StrokeTessellateOp::prePrepareTessellator\28GrTessellationShader::ProgramArgs&&\2c\20GrAppliedClip&&\29 +4113:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::NonAAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrSimpleMeshDrawOpHelper::InputFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\2c\20GrAAType\29 +4114:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::RectInfo\20const&\2c\20bool\29 +4115:skgpu::ganesh::StencilMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkRegion::Op\2c\20GrAA\29 +4116:skgpu::ganesh::SoftwarePathRenderer::DrawAroundInvPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +4117:skgpu::ganesh::SmallPathAtlasMgr::findOrCreate\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +4118:skgpu::ganesh::SmallPathAtlasMgr::deleteCacheEntry\28skgpu::ganesh::SmallPathShapeData*\29 +4119:skgpu::ganesh::ShadowRRectOp::Make\28GrRecordingContext*\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20float\2c\20float\29 +4120:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::RegionOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +4121:skgpu::ganesh::RasterAsView\28GrRecordingContext*\2c\20SkImage_Raster\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +4122:skgpu::ganesh::QuadPerEdgeAA::Tessellator::append\28GrQuad*\2c\20GrQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\29 +4123:skgpu::ganesh::QuadPerEdgeAA::Tessellator::Tessellator\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29 +4124:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::initializeAttrs\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29 +4125:skgpu::ganesh::QuadPerEdgeAA::IssueDraw\28GrCaps\20const&\2c\20GrOpsRenderPass*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +4126:skgpu::ganesh::QuadPerEdgeAA::GetIndexBuffer\28GrMeshDrawTarget*\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +4127:skgpu::ganesh::PathTessellateOp::usesMSAA\28\29\20const +4128:skgpu::ganesh::PathTessellateOp::prepareTessellator\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4129:skgpu::ganesh::PathTessellateOp::PathTessellateOp\28SkArenaAlloc*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\2c\20SkRect\20const&\29 +4130:skgpu::ganesh::PathStencilCoverOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4131:skgpu::ganesh::PathInnerTriangulateOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4132:skgpu::ganesh::PathCurveTessellator::~PathCurveTessellator\28\29 +4133:skgpu::ganesh::PathCurveTessellator::prepareWithTriangles\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20GrTriangulator::BreadcrumbTriangleList*\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +4134:skgpu::ganesh::OpsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +4135:skgpu::ganesh::OpsTask::onExecute\28GrOpFlushState*\29 +4136:skgpu::ganesh::OpsTask::addOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +4137:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +4138:skgpu::ganesh::OpsTask::OpsTask\28GrDrawingManager*\2c\20GrSurfaceProxyView\2c\20GrAuditTrail*\2c\20sk_sp\29 +4139:skgpu::ganesh::OpsTask::OpChain::tryConcat\28skgpu::ganesh::OpsTask::OpChain::List*\2c\20GrProcessorSet::Analysis\2c\20GrDstProxyView\20const&\2c\20GrAppliedClip\20const*\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrAuditTrail*\29 +4140:skgpu::ganesh::MakeFragmentProcessorFromView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +4141:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29 +4142:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29 +4143:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::NonAALatticeOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20std::__2::unique_ptr>\2c\20SkRect\20const&\29 +4144:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20GrAA\29 +4145:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::FillRRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29 +4146:skgpu::ganesh::DrawAtlasPathOp::prepareProgram\28GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +4147:skgpu::ganesh::Device::replaceBackingProxy\28SkSurface::ContentChangeMode\2c\20sk_sp\2c\20GrColorType\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +4148:skgpu::ganesh::Device::makeSpecial\28SkBitmap\20const&\29 +4149:skgpu::ganesh::Device::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +4150:skgpu::ganesh::Device::drawEdgeAAImage\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20SkTileMode\29 +4151:skgpu::ganesh::Device::discard\28\29 +4152:skgpu::ganesh::Device::android_utils_clipAsRgn\28SkRegion*\29\20const +4153:skgpu::ganesh::DefaultPathRenderer::internalDrawPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20bool\29 +4154:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +4155:skgpu::ganesh::CopyView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\2c\20std::__2::basic_string_view>\29 +4156:skgpu::ganesh::ClipStack::clipPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrAA\2c\20SkClipOp\29 +4157:skgpu::ganesh::ClipStack::SaveRecord::replaceWithElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +4158:skgpu::ganesh::ClipStack::SaveRecord::addElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +4159:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::Draw\20const&\29\20const +4160:skgpu::ganesh::AtlasTextOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +4161:skgpu::ganesh::AtlasTextOp::AtlasTextOp\28skgpu::ganesh::AtlasTextOp::MaskType\2c\20bool\2c\20int\2c\20SkRect\2c\20skgpu::ganesh::AtlasTextOp::Geometry*\2c\20GrColorInfo\20const&\2c\20GrPaint&&\29 +4162:skgpu::ganesh::AtlasRenderTask::stencilAtlasRect\28GrRecordingContext*\2c\20SkRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrUserStencilSettings\20const*\29 +4163:skgpu::ganesh::AtlasRenderTask::addPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIPoint\2c\20int\2c\20int\2c\20bool\2c\20SkIPoint16*\29 +4164:skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +4165:skgpu::ganesh::AtlasPathRenderer::addPathToAtlas\28GrRecordingContext*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRect\20const&\2c\20SkIRect*\2c\20SkIPoint16*\2c\20bool*\2c\20std::__2::function\20const&\29 +4166:skgpu::ganesh::AsFragmentProcessor\28GrRecordingContext*\2c\20SkImage\20const*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +4167:skgpu::TiledTextureUtils::OptimizeSampleArea\28SkISize\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkRect*\2c\20SkRect*\2c\20SkMatrix*\29 +4168:skgpu::TClientMappedBufferManager::process\28\29 +4169:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29 +4170:skgpu::RectanizerSkyline::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +4171:skgpu::Plot::Plot\28int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20SkColorType\2c\20unsigned\20long\29 +4172:skgpu::GetReducedBlendModeInfo\28SkBlendMode\29 +4173:skgpu::CreateIntegralTable\28int\29 +4174:skgpu::BlendFuncName\28SkBlendMode\29 +4175:skcms_private::baseline::exec_stages\28skcms_private::Op\20const*\2c\20void\20const**\2c\20char\20const*\2c\20char*\2c\20int\29 +4176:skcms_private::baseline::clut\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\29 +4177:skcms_ApproximatelyEqualProfiles +4178:sk_sp\20sk_make_sp\2c\20SkSurfaceProps\20const*&>\28SkImageInfo\20const&\2c\20sk_sp&&\2c\20SkSurfaceProps\20const*&\29 +4179:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader\20const&\29 +4180:sk_fopen\28char\20const*\2c\20SkFILE_Flags\29 +4181:sk_fgetsize\28_IO_FILE*\29 +4182:sk_fclose\28_IO_FILE*\29 +4183:sk_error_fn\28png_struct_def*\2c\20char\20const*\29 +4184:setup_masks_arabic_plan\28arabic_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_script_t\29 +4185:set_khr_debug_label\28GrGLGpu*\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +4186:setThrew +4187:setCommonICUData\28UDataMemory*\2c\20signed\20char\2c\20UErrorCode*\29 +4188:serialize_image\28SkImage\20const*\2c\20SkSerialProcs\29 +4189:send_tree +4190:sect_with_vertical\28SkPoint\20const*\2c\20float\29 +4191:sect_with_horizontal\28SkPoint\20const*\2c\20float\29 +4192:scanexp +4193:scalbnl +4194:rewind_if_necessary\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +4195:resolveImplicitLevels\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +4196:reset_and_decode_image_config\28wuffs_gif__decoder__struct*\2c\20wuffs_base__image_config__struct*\2c\20wuffs_base__io_buffer__struct*\2c\20SkStream*\29 +4197:res_unload_74 +4198:res_countArrayItems_74 +4199:renderbuffer_storage_msaa\28GrGLGpu*\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +4200:recursive_edge_intersect\28GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint*\2c\20double*\2c\20double*\29 +4201:reclassify_vertex\28TriangulationVertex*\2c\20SkPoint\20const*\2c\20int\2c\20ReflexHash*\2c\20SkTInternalLList*\29 +4202:quad_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4203:quad_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4204:quad_in_line\28SkPoint\20const*\29 +4205:psh_hint_table_init +4206:psh_hint_table_find_strong_points +4207:psh_hint_table_activate_mask +4208:psh_hint_align +4209:psh_glyph_interpolate_strong_points +4210:psh_glyph_interpolate_other_points +4211:psh_glyph_interpolate_normal_points +4212:psh_blues_set_zones +4213:ps_parser_load_field +4214:ps_dimension_end +4215:ps_dimension_done +4216:ps_builder_start_point +4217:printf_core +4218:premultiply_argb_as_rgba\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4219:premultiply_argb_as_bgra\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4220:position_cluster\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29 +4221:portable::uniform_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4222:portable::set_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4223:portable::memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\29 +4224:portable::copy_from_indirect_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4225:portable::copy_2_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4226:portable::check_decal_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4227:pop_arg +4228:pntz +4229:png_inflate +4230:png_deflate_claim +4231:png_decompress_chunk +4232:png_cache_unknown_chunk +4233:operator==\28SkPaint\20const&\2c\20SkPaint\20const&\29 +4234:open_face +4235:openCommonData\28char\20const*\2c\20int\2c\20UErrorCode*\29 +4236:offsetTOCEntryCount\28UDataMemory\20const*\29 +4237:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +4238:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4239:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4240:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +4241:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +4242:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4243:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +4244:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +4245:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::size\28\29\20const +4246:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4247:nearly_equal\28double\2c\20double\29 +4248:mbsrtowcs +4249:map_quad_general\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20SkMatrix\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +4250:make_tiled_gradient\28GrFPArgs\20const&\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +4251:make_premul_effect\28std::__2::unique_ptr>\29 +4252:make_dual_interval_colorizer\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20float\29 +4253:make_clamped_gradient\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20bool\29 +4254:make_bmp_proxy\28GrProxyProvider*\2c\20SkBitmap\20const&\2c\20GrColorType\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +4255:longest_match +4256:long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4257:long\20long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4258:long\20double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4259:load_post_names +4260:line_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4261:line_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4262:legalfunc$_embind_register_bigint +4263:jpeg_open_backing_store +4264:jpeg_destroy +4265:jpeg_alloc_huff_table +4266:jinit_upsampler +4267:isSpecialTypeCodepoints\28char\20const*\29 +4268:internal_memalign +4269:int\20icu_74::\28anonymous\20namespace\29::MixedBlocks::findBlock\28unsigned\20short\20const*\2c\20unsigned\20short\20const*\2c\20int\29\20const +4270:int\20icu_74::\28anonymous\20namespace\29::MixedBlocks::findBlock\28unsigned\20short\20const*\2c\20unsigned\20int\20const*\2c\20int\29\20const +4271:insertRootBundle\28UResourceDataEntry*&\2c\20UErrorCode*\29 +4272:initial_reordering_consonant_syllable\28hb_ot_shape_plan_t\20const*\2c\20hb_face_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +4273:init_error_limit +4274:init_block +4275:image_filter_color_type\28SkColorInfo\20const&\29 +4276:icu_74::set32x64Bits\28unsigned\20int*\2c\20int\2c\20int\29 +4277:icu_74::getExtName\28unsigned\20int\2c\20char*\2c\20unsigned\20short\29 +4278:icu_74::compareUnicodeString\28UElement\2c\20UElement\29 +4279:icu_74::cloneUnicodeString\28UElement*\2c\20UElement*\29 +4280:icu_74::\28anonymous\20namespace\29::mungeCharName\28char*\2c\20char\20const*\2c\20int\29 +4281:icu_74::\28anonymous\20namespace\29::MutableCodePointTrie::getDataBlock\28int\29 +4282:icu_74::XLikelySubtagsData::readLSREncodedStrings\28icu_74::ResourceTable\20const&\2c\20char\20const*\2c\20icu_74::ResourceValue&\2c\20icu_74::ResourceArray\20const&\2c\20icu_74::LocalMemory&\2c\20int&\2c\20UErrorCode&\29 +4283:icu_74::XLikelySubtags::~XLikelySubtags\28\29 +4284:icu_74::XLikelySubtags::initLikelySubtags\28UErrorCode&\29 +4285:icu_74::UnicodeString::setCharAt\28int\2c\20char16_t\29 +4286:icu_74::UnicodeString::indexOf\28char16_t\20const*\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +4287:icu_74::UnicodeString::doReverse\28int\2c\20int\29 +4288:icu_74::UnicodeSetStringSpan::span\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4289:icu_74::UnicodeSetStringSpan::spanUTF8\28unsigned\20char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4290:icu_74::UnicodeSetStringSpan::spanBack\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4291:icu_74::UnicodeSetStringSpan::spanBackUTF8\28unsigned\20char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4292:icu_74::UnicodeSet::set\28int\2c\20int\29 +4293:icu_74::UnicodeSet::setPattern\28char16_t\20const*\2c\20int\29 +4294:icu_74::UnicodeSet::remove\28int\29 +4295:icu_74::UnicodeSet::removeAll\28icu_74::UnicodeSet\20const&\29 +4296:icu_74::UnicodeSet::matches\28icu_74::Replaceable\20const&\2c\20int&\2c\20int\2c\20signed\20char\29 +4297:icu_74::UnicodeSet::matchesIndexValue\28unsigned\20char\29\20const +4298:icu_74::UnicodeSet::clone\28\29\20const +4299:icu_74::UnicodeSet::cloneAsThawed\28\29\20const +4300:icu_74::UnicodeSet::applyPattern\28icu_74::RuleCharacterIterator&\2c\20icu_74::SymbolTable\20const*\2c\20icu_74::UnicodeString&\2c\20unsigned\20int\2c\20icu_74::UnicodeSet&\20\28icu_74::UnicodeSet::*\29\28int\29\2c\20int\2c\20UErrorCode&\29 +4301:icu_74::UnicodeSet::applyPatternIgnoreSpace\28icu_74::UnicodeString\20const&\2c\20icu_74::ParsePosition&\2c\20icu_74::SymbolTable\20const*\2c\20UErrorCode&\29 +4302:icu_74::UnicodeSet::add\28icu_74::UnicodeString\20const&\29 +4303:icu_74::UnicodeSet::addAll\28icu_74::UnicodeSet\20const&\29 +4304:icu_74::UnicodeSet::_generatePattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +4305:icu_74::UnicodeSet::UnicodeSet\28int\2c\20int\29 +4306:icu_74::UVector::sortedInsert\28void*\2c\20int\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +4307:icu_74::UVector::setElementAt\28void*\2c\20int\29 +4308:icu_74::UVector::assign\28icu_74::UVector\20const&\2c\20void\20\28*\29\28UElement*\2c\20UElement*\29\2c\20UErrorCode&\29 +4309:icu_74::UVector::UVector\28UErrorCode&\29 +4310:icu_74::UStringSet::~UStringSet\28\29.1 +4311:icu_74::UStringSet::~UStringSet\28\29 +4312:icu_74::UDataPathIterator::UDataPathIterator\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +4313:icu_74::UCharsTrieBuilder::build\28UStringTrieBuildOption\2c\20UErrorCode&\29 +4314:icu_74::UCharsTrieBuilder::UCharsTrieBuilder\28UErrorCode&\29 +4315:icu_74::UCharsTrie::nextForCodePoint\28int\29 +4316:icu_74::UCharsTrie::Iterator::next\28UErrorCode&\29 +4317:icu_74::UCharsTrie::Iterator::branchNext\28char16_t\20const*\2c\20int\2c\20UErrorCode&\29 +4318:icu_74::UCharCharacterIterator::setText\28icu_74::ConstChar16Ptr\2c\20int\29 +4319:icu_74::StringTrieBuilder::writeBranchSubNode\28int\2c\20int\2c\20int\2c\20int\29 +4320:icu_74::StringTrieBuilder::LinearMatchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +4321:icu_74::StringTrieBuilder::LinearMatchNode::markRightEdgesFirst\28int\29 +4322:icu_74::RuleCharacterIterator::skipIgnored\28int\29 +4323:icu_74::RuleBasedBreakIterator::~RuleBasedBreakIterator\28\29 +4324:icu_74::RuleBasedBreakIterator::handleSafePrevious\28int\29 +4325:icu_74::RuleBasedBreakIterator::RuleBasedBreakIterator\28UErrorCode*\29 +4326:icu_74::RuleBasedBreakIterator::DictionaryCache::~DictionaryCache\28\29 +4327:icu_74::RuleBasedBreakIterator::DictionaryCache::populateDictionary\28int\2c\20int\2c\20int\2c\20int\29 +4328:icu_74::RuleBasedBreakIterator::BreakCache::seek\28int\29 +4329:icu_74::RuleBasedBreakIterator::BreakCache::current\28\29 +4330:icu_74::ResourceDataValue::getIntVector\28int&\2c\20UErrorCode&\29\20const +4331:icu_74::ReorderingBuffer::equals\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\29\20const +4332:icu_74::RBBIDataWrapper::removeReference\28\29 +4333:icu_74::PropNameData::getPropertyOrValueEnum\28int\2c\20char\20const*\29 +4334:icu_74::Normalizer2WithImpl::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29\20const +4335:icu_74::Normalizer2WithImpl::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4336:icu_74::Normalizer2Impl::recompose\28icu_74::ReorderingBuffer&\2c\20int\2c\20signed\20char\29\20const +4337:icu_74::Normalizer2Impl::init\28int\20const*\2c\20UCPTrie\20const*\2c\20unsigned\20short\20const*\2c\20unsigned\20char\20const*\29 +4338:icu_74::Normalizer2Impl::findNextFCDBoundary\28char16_t\20const*\2c\20char16_t\20const*\29\20const +4339:icu_74::Normalizer2Impl::decomposeUTF8\28unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink*\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +4340:icu_74::Normalizer2Impl::composeUTF8\28unsigned\20int\2c\20signed\20char\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink*\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +4341:icu_74::Normalizer2Impl::composeQuickCheck\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20UNormalizationCheckResult*\29\20const +4342:icu_74::Normalizer2Factory::getNFKC_CFImpl\28UErrorCode&\29 +4343:icu_74::Normalizer2Factory::getInstance\28UNormalizationMode\2c\20UErrorCode&\29 +4344:icu_74::Normalizer2::getNFCInstance\28UErrorCode&\29 +4345:icu_74::NoopNormalizer2::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4346:icu_74::NoopNormalizer2::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4347:icu_74::MlBreakEngine::~MlBreakEngine\28\29 +4348:icu_74::LocaleUtility::canonicalLocaleString\28icu_74::UnicodeString\20const*\2c\20icu_74::UnicodeString&\29 +4349:icu_74::LocaleKeyFactory::LocaleKeyFactory\28int\29 +4350:icu_74::LocaleKey::LocaleKey\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString\20const*\2c\20int\29 +4351:icu_74::LocaleBuilder::build\28UErrorCode&\29 +4352:icu_74::LocaleBuilder::LocaleBuilder\28\29 +4353:icu_74::LocaleBased::setLocaleIDs\28char\20const*\2c\20char\20const*\29 +4354:icu_74::Locale::setKeywordValue\28char\20const*\2c\20char\20const*\2c\20UErrorCode&\29 +4355:icu_74::Locale::operator=\28icu_74::Locale&&\29 +4356:icu_74::Locale::operator==\28icu_74::Locale\20const&\29\20const +4357:icu_74::Locale::createKeywords\28UErrorCode&\29\20const +4358:icu_74::Locale::createFromName\28char\20const*\29 +4359:icu_74::LaoBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +4360:icu_74::LSR::operator=\28icu_74::LSR&&\29 +4361:icu_74::InitCanonIterData::doInit\28icu_74::Normalizer2Impl*\2c\20UErrorCode&\29 +4362:icu_74::ICU_Utility::shouldAlwaysBeEscaped\28int\29 +4363:icu_74::ICU_Utility::isUnprintable\28int\29 +4364:icu_74::ICU_Utility::escape\28icu_74::UnicodeString&\2c\20int\29 +4365:icu_74::ICUServiceKey::parseSuffix\28icu_74::UnicodeString&\29 +4366:icu_74::ICUService::~ICUService\28\29 +4367:icu_74::ICUService::getVisibleIDs\28icu_74::UVector&\2c\20UErrorCode&\29\20const +4368:icu_74::ICUService::clearServiceCache\28\29 +4369:icu_74::ICUNotifier::~ICUNotifier\28\29 +4370:icu_74::Hashtable::put\28icu_74::UnicodeString\20const&\2c\20void*\2c\20UErrorCode&\29 +4371:icu_74::DecomposeNormalizer2::hasBoundaryBefore\28int\29\20const +4372:icu_74::DecomposeNormalizer2::hasBoundaryAfter\28int\29\20const +4373:icu_74::CjkBreakEngine::~CjkBreakEngine\28\29 +4374:icu_74::CjkBreakEngine::CjkBreakEngine\28icu_74::DictionaryMatcher*\2c\20icu_74::LanguageType\2c\20UErrorCode&\29 +4375:icu_74::CharString::truncate\28int\29 +4376:icu_74::CharString::cloneData\28UErrorCode&\29\20const +4377:icu_74::CharString*\20icu_74::MemoryPool::create\28char\20const*&\2c\20UErrorCode&\29 +4378:icu_74::CharString*\20icu_74::MemoryPool::create<>\28\29 +4379:icu_74::CanonIterData::addToStartSet\28int\2c\20int\2c\20UErrorCode&\29 +4380:icu_74::BytesTrie::branchNext\28unsigned\20char\20const*\2c\20int\2c\20int\29 +4381:icu_74::ByteSinkUtil::appendCodePoint\28int\2c\20int\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\29 +4382:icu_74::BreakIterator::getLocale\28ULocDataLocaleType\2c\20UErrorCode&\29\20const +4383:icu_74::BreakIterator::getLocaleID\28ULocDataLocaleType\2c\20UErrorCode&\29\20const +4384:icu_74::BreakIterator::createCharacterInstance\28icu_74::Locale\20const&\2c\20UErrorCode&\29 +4385:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +4386:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +4387:hb_utf8_t::next\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int\29 +4388:hb_unicode_script +4389:hb_unicode_mirroring_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +4390:hb_unicode_funcs_t::is_default_ignorable\28unsigned\20int\29 +4391:hb_shape_plan_key_t::init\28bool\2c\20hb_face_t*\2c\20hb_segment_properties_t\20const*\2c\20hb_feature_t\20const*\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20char\20const*\20const*\29 +4392:hb_shape_plan_create2 +4393:hb_serialize_context_t::fini\28\29 +4394:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +4395:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +4396:hb_paint_extents_paint_linear_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +4397:hb_paint_extents_get_funcs\28\29 +4398:hb_paint_extents_context_t::hb_paint_extents_context_t\28\29 +4399:hb_ot_map_t::fini\28\29 +4400:hb_ot_layout_table_select_script +4401:hb_ot_layout_table_get_lookup_count +4402:hb_ot_layout_table_find_feature_variations +4403:hb_ot_layout_table_find_feature\28hb_face_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +4404:hb_ot_layout_script_select_language +4405:hb_ot_layout_language_get_required_feature +4406:hb_ot_layout_language_find_feature +4407:hb_ot_layout_has_substitution +4408:hb_ot_layout_feature_with_variations_get_lookups +4409:hb_ot_layout_collect_features_map +4410:hb_ot_font_set_funcs +4411:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::create\28hb_face_t*\29 +4412:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::get\28\29\20const +4413:hb_lazy_loader_t\2c\20hb_face_t\2c\2019u\2c\20hb_blob_t>::get\28\29\20const +4414:hb_lazy_loader_t\2c\20hb_face_t\2c\2035u\2c\20hb_blob_t>::get\28\29\20const +4415:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::get\28\29\20const +4416:hb_lazy_loader_t\2c\20hb_face_t\2c\2032u\2c\20hb_blob_t>::get\28\29\20const +4417:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get\28\29\20const +4418:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get\28\29\20const +4419:hb_language_matches +4420:hb_indic_get_categories\28unsigned\20int\29 +4421:hb_hashmap_t::fetch_item\28hb_serialize_context_t::object_t\20const*\20const&\2c\20unsigned\20int\29\20const +4422:hb_hashmap_t::alloc\28unsigned\20int\29 +4423:hb_font_t::get_glyph_v_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +4424:hb_font_set_variations +4425:hb_font_set_funcs +4426:hb_font_get_variation_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +4427:hb_font_get_glyph_h_advance +4428:hb_font_get_glyph_extents +4429:hb_font_get_font_h_extents_nil\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +4430:hb_font_funcs_set_variation_glyph_func +4431:hb_font_funcs_set_nominal_glyphs_func +4432:hb_font_funcs_set_nominal_glyph_func +4433:hb_font_funcs_set_glyph_h_advances_func +4434:hb_font_funcs_set_glyph_extents_func +4435:hb_font_funcs_create +4436:hb_draw_move_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4437:hb_draw_funcs_set_quadratic_to_func +4438:hb_draw_funcs_set_move_to_func +4439:hb_draw_funcs_set_line_to_func +4440:hb_draw_funcs_set_cubic_to_func +4441:hb_draw_funcs_destroy +4442:hb_draw_funcs_create +4443:hb_draw_extents_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4444:hb_buffer_t::sort\28unsigned\20int\2c\20unsigned\20int\2c\20int\20\28*\29\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29\29 +4445:hb_buffer_t::safe_to_insert_tatweel\28unsigned\20int\2c\20unsigned\20int\29 +4446:hb_buffer_t::output_info\28hb_glyph_info_t\20const&\29 +4447:hb_buffer_t::message_impl\28hb_font_t*\2c\20char\20const*\2c\20void*\29 +4448:hb_buffer_t::leave\28\29 +4449:hb_buffer_t::delete_glyphs_inplace\28bool\20\28*\29\28hb_glyph_info_t\20const*\29\29 +4450:hb_buffer_t::clear_positions\28\29 +4451:hb_buffer_set_length +4452:hb_buffer_get_glyph_positions +4453:hb_buffer_diff +4454:hb_buffer_create +4455:hb_buffer_clear_contents +4456:hb_buffer_add_utf8 +4457:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4458:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4459:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4460:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4461:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4462:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4463:hb_aat_layout_remove_deleted_glyphs\28hb_buffer_t*\29 +4464:hair_cubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4465:getint +4466:get_win_string +4467:get_dst_swizzle_and_store\28GrColorType\2c\20SkRasterPipelineOp*\2c\20LumMode*\2c\20bool*\2c\20bool*\29 +4468:get_driver_and_version\28GrGLStandard\2c\20GrGLVendor\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +4469:getFallbackData\28UResourceBundle\20const*\2c\20char\20const**\2c\20unsigned\20int*\2c\20UErrorCode*\29 +4470:gen_key\28skgpu::KeyBuilder*\2c\20GrProgramInfo\20const&\2c\20GrCaps\20const&\29 +4471:gen_fp_key\28GrFragmentProcessor\20const&\2c\20GrCaps\20const&\2c\20skgpu::KeyBuilder*\29 +4472:gather_uniforms_and_check_for_main\28SkSL::Program\20const&\2c\20std::__2::vector>*\2c\20std::__2::vector>*\2c\20SkRuntimeEffect::Uniform::Flags\2c\20unsigned\20long*\29 +4473:fwrite +4474:ft_var_to_normalized +4475:ft_var_load_item_variation_store +4476:ft_var_load_hvvar +4477:ft_var_load_avar +4478:ft_var_get_value_pointer +4479:ft_var_apply_tuple +4480:ft_validator_init +4481:ft_mem_strcpyn +4482:ft_hash_num_lookup +4483:ft_glyphslot_set_bitmap +4484:ft_glyphslot_preset_bitmap +4485:ft_corner_orientation +4486:ft_corner_is_flat +4487:frexp +4488:free_entry\28UResourceDataEntry*\29 +4489:fread +4490:fp_force_eval +4491:fp_barrier.1 +4492:fopen +4493:fold_opacity_layer_color_to_paint\28SkPaint\20const*\2c\20bool\2c\20SkPaint*\29 +4494:fmodl +4495:float\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4496:fill_shadow_rec\28SkPath\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkDrawShadowRec*\29 +4497:fill_inverse_cmap +4498:fileno +4499:examine_app0 +4500:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkClipOp\2c\20bool\29 +4501:emscripten::internal::Invoker\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +4502:emscripten::internal::Invoker\2c\20SkBlendMode\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29\2c\20SkBlendMode\2c\20sk_sp*\2c\20sk_sp*\29 +4503:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\29 +4504:emscripten::internal::Invoker\2c\20SkBlendMode>::invoke\28sk_sp\20\28*\29\28SkBlendMode\29\2c\20SkBlendMode\29 +4505:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4506:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\29 +4507:emscripten::internal::FunctionInvoker\29\2c\20void\2c\20SkPaint&\2c\20unsigned\20long\2c\20sk_sp>::invoke\28void\20\28**\29\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29\2c\20SkPaint*\2c\20unsigned\20long\2c\20sk_sp*\29 +4508:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +4509:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +4510:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +4511:emscripten::internal::FunctionInvoker\20\28*\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkCanvas&\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\29 +4512:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\29\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +4513:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +4514:embind_init_builtin\28\29 +4515:embind_init_Skia\28\29 +4516:embind_init_Paragraph\28\29::$_0::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +4517:embind_init_Paragraph\28\29 +4518:embind_init_ParagraphGen\28\29 +4519:edge_line_needs_recursion\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4520:draw_nine\28SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\2c\20bool\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +4521:dquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4522:dquad_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4523:double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4524:doOpenChoice\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\29 +4525:dline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4526:dline_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4527:deserialize_image\28sk_sp\2c\20SkDeserialProcs\2c\20std::__2::optional\29 +4528:deflate_stored +4529:decompose_current_character\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\29 +4530:decltype\28std::__2::__unwrap_iter_impl\2c\20true>::__unwrap\28std::declval>\28\29\29\29\20std::__2::__unwrap_iter\5babi:v160004\5d\2c\20std::__2::__unwrap_iter_impl\2c\20true>\2c\200>\28std::__2::__wrap_iter\29 +4531:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::Make\28SkArenaAlloc*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4532:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&\2c\20skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathCurveTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4533:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4534:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker\2c\20int&>\28int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4535:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkShaderBase\20const&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTransformShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4536:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4537:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29>\28GrThreadSafeCache::Entry&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4538:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29 +4539:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrRRectShadowGeoProc::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4540:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28GrQuadEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4541:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29::'lambda'\28void*\29>\28GrPipeline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4542:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldA8TextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4543:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29 +4544:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29 +4545:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4546:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4547:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>>::__generic_construct\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__ctor\2c\20std::__2::unique_ptr>>>&\2c\20std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&>\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&\29 +4548:dcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4549:dcubic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4550:dconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4551:dconic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4552:data_destroy_arabic\28void*\29 +4553:data_create_arabic\28hb_ot_shape_plan_t\20const*\29 +4554:cycle +4555:cubic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4556:cubic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4557:create_colorindex +4558:copysignl +4559:copy_bitmap_subset\28SkBitmap\20const&\2c\20SkIRect\20const&\29 +4560:conic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4561:conic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4562:compute_pos_tan\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +4563:compute_intersection\28OffsetSegment\20const&\2c\20OffsetSegment\20const&\2c\20SkPoint*\2c\20float*\2c\20float*\29 +4564:compress_block +4565:compose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +4566:clipHandlesSprite\28SkRasterClip\20const&\2c\20int\2c\20int\2c\20SkPixmap\20const&\29 +4567:clamp\28SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Comparator\20const&\29 +4568:checkint +4569:check_inverse_on_empty_return\28SkRegion*\2c\20SkPath\20const&\2c\20SkRegion\20const&\29 +4570:charIterTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +4571:char*\20std::__2::copy\5babi:v160004\5d\2c\20char*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20char*\29 +4572:char*\20std::__2::copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +4573:cff_vstore_done +4574:cff_subfont_load +4575:cff_subfont_done +4576:cff_size_select +4577:cff_parser_run +4578:cff_make_private_dict +4579:cff_load_private_dict +4580:cff_index_get_name +4581:cff_get_kerning +4582:cff_blend_build_vector +4583:cf2_getSeacComponent +4584:cf2_computeDarkening +4585:cf2_arrstack_push +4586:cbrt +4587:byn$mgfn-shared$void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +4588:byn$mgfn-shared$void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +4589:byn$mgfn-shared$virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +4590:byn$mgfn-shared$uloc_getName_74 +4591:byn$mgfn-shared$uhash_put_74 +4592:byn$mgfn-shared$ubidi_getClass_74 +4593:byn$mgfn-shared$t1_hints_open +4594:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +4595:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +4596:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +4597:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +4598:byn$mgfn-shared$std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +4599:byn$mgfn-shared$std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +4600:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +4601:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +4602:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +4603:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +4604:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4605:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4606:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4607:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +4608:byn$mgfn-shared$skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4609:byn$mgfn-shared$skgpu::ScratchKey::GenerateResourceType\28\29 +4610:byn$mgfn-shared$skcms_TransferFunction_isPQish +4611:byn$mgfn-shared$setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4612:byn$mgfn-shared$portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4613:byn$mgfn-shared$portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4614:byn$mgfn-shared$portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4615:byn$mgfn-shared$portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4616:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4617:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4618:byn$mgfn-shared$make_unpremul_effect\28std::__2::unique_ptr>\29 +4619:byn$mgfn-shared$icu_74::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +4620:byn$mgfn-shared$icu_74::ResourceDataValue::getIntVector\28int&\2c\20UErrorCode&\29\20const +4621:byn$mgfn-shared$hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4622:byn$mgfn-shared$hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +4623:byn$mgfn-shared$embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +4624:byn$mgfn-shared$embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +4625:byn$mgfn-shared$embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +4626:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4627:byn$mgfn-shared$decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4628:byn$mgfn-shared$cf2_stack_pushInt +4629:byn$mgfn-shared$__cxx_global_array_dtor.1 +4630:byn$mgfn-shared$\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +4631:byn$mgfn-shared$\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4632:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4633:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4634:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4635:byn$mgfn-shared$SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4636:byn$mgfn-shared$SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +4637:byn$mgfn-shared$SkSL::RP::LValue::~LValue\28\29.1 +4638:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +4639:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +4640:byn$mgfn-shared$SkSL::FunctionReference::clone\28SkSL::Position\29\20const +4641:byn$mgfn-shared$SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +4642:byn$mgfn-shared$SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +4643:byn$mgfn-shared$SkSL::ChildCall::clone\28SkSL::Position\29\20const +4644:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +4645:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29 +4646:byn$mgfn-shared$SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +4647:byn$mgfn-shared$SkRecorder::onDrawPaint\28SkPaint\20const&\29 +4648:byn$mgfn-shared$SkRecorder::didScale\28float\2c\20float\29 +4649:byn$mgfn-shared$SkRecorder::didConcat44\28SkM44\20const&\29 +4650:byn$mgfn-shared$SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4651:byn$mgfn-shared$SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +4652:byn$mgfn-shared$SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +4653:byn$mgfn-shared$SkPictureRecord::didConcat44\28SkM44\20const&\29 +4654:byn$mgfn-shared$SkPairPathEffect::~SkPairPathEffect\28\29.1 +4655:byn$mgfn-shared$SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +4656:byn$mgfn-shared$SkJSONWriter::endArray\28\29 +4657:byn$mgfn-shared$SkComposePathEffect::~SkComposePathEffect\28\29 +4658:byn$mgfn-shared$SkColorSpace::MakeSRGB\28\29 +4659:byn$mgfn-shared$SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +4660:byn$mgfn-shared$OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +4661:byn$mgfn-shared$GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4662:byn$mgfn-shared$GrPathTessellationShader::Impl::~Impl\28\29 +4663:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +4664:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +4665:byn$mgfn-shared$GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +4666:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +4667:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +4668:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +4669:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +4670:byn$mgfn-shared$GrBicubicEffect::onMakeProgramImpl\28\29\20const +4671:byn$mgfn-shared$Cr_z_inflate_table +4672:byn$mgfn-shared$BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +4673:byn$mgfn-shared$AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +4674:build_ycc_rgb_table +4675:bracketProcessChar\28BracketData*\2c\20int\29 +4676:bracketInit\28UBiDi*\2c\20BracketData*\29 +4677:bool\20std::__2::operator==\5babi:v160004\5d\28std::__2::unique_ptr\20const&\2c\20std::nullptr_t\29 +4678:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +4679:bool\20std::__2::__insertion_sort_incomplete\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +4680:bool\20std::__2::__insertion_sort_incomplete<\28anonymous\20namespace\29::EntryComparator&\2c\20\28anonymous\20namespace\29::Entry*>\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +4681:bool\20std::__2::__insertion_sort_incomplete\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +4682:bool\20std::__2::__insertion_sort_incomplete\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +4683:bool\20is_parallel\28SkDLine\20const&\2c\20SkTCurve\20const&\29 +4684:bool\20hb_hashmap_t::set_with_hash\28hb_serialize_context_t::object_t*&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool\29 +4685:bool\20apply_string\28OT::hb_ot_apply_context_t*\2c\20GSUBProxy::Lookup\20const&\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\29 +4686:bool\20OT::hb_accelerate_subtables_context_t::cache_func_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\2c\20bool\29 +4687:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4688:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4689:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4690:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4691:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4692:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4693:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4694:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4695:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4696:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4697:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4698:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4699:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4700:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4701:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4702:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4703:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4704:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4705:bool\20OT::OffsetTo\2c\20true>::serialize_serialize\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&>\28hb_serialize_context_t*\2c\20hb_map_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&\29 +4706:bool\20GrTTopoSort_Visit\28GrRenderTask*\2c\20unsigned\20int*\29 +4707:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +4708:blend_line\28SkColorType\2c\20void*\2c\20SkColorType\2c\20void\20const*\2c\20SkAlphaType\2c\20bool\2c\20int\29 +4709:bits_to_runs\28SkBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\2c\20long\2c\20unsigned\20char\29 +4710:barycentric_coords\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +4711:auto\20std::__2::__unwrap_range\5babi:v160004\5d\2c\20std::__2::__wrap_iter>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4712:atanf +4713:apply_forward\28OT::hb_ot_apply_context_t*\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\2c\20unsigned\20int\29 +4714:apply_alpha_and_colorfilter\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20SkPaint\20const&\29 +4715:append_multitexture_lookup\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20GrGLSLVarying\20const&\2c\20char\20const*\2c\20char\20const*\29 +4716:append_color_output\28PorterDuffXferProcessor\20const&\2c\20GrGLSLXPFragmentBuilder*\2c\20skgpu::BlendFormula::OutputType\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +4717:af_loader_compute_darkening +4718:af_latin_metrics_scale_dim +4719:af_latin_hints_detect_features +4720:af_latin_hint_edges +4721:af_hint_normal_stem +4722:af_cjk_metrics_scale_dim +4723:af_cjk_metrics_scale +4724:af_cjk_metrics_init_widths +4725:af_cjk_metrics_check_digits +4726:af_cjk_hints_init +4727:af_cjk_hints_detect_features +4728:af_cjk_hints_compute_blue_edges +4729:af_cjk_hints_apply +4730:af_cjk_hint_edges +4731:af_cjk_get_standard_widths +4732:af_axis_hints_new_edge +4733:adler32 +4734:a_ctz_32 +4735:_uhash_remove\28UHashtable*\2c\20UElement\29 +4736:_uhash_rehash\28UHashtable*\2c\20UErrorCode*\29 +4737:_uhash_put\28UHashtable*\2c\20UElement\2c\20UElement\2c\20signed\20char\2c\20UErrorCode*\29 +4738:_uhash_create\28int\20\28*\29\28UElement\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20int\2c\20UErrorCode*\29 +4739:_iup_worker_interpolate +4740:_isUnicodeExtensionSubtag\28int&\2c\20char\20const*\2c\20int\29 +4741:_isTransformedExtensionSubtag\28int&\2c\20char\20const*\2c\20int\29 +4742:_hb_preprocess_text_vowel_constraints\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4743:_hb_ot_shape +4744:_hb_options_init\28\29 +4745:_hb_grapheme_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +4746:_hb_font_create\28hb_face_t*\29 +4747:_hb_fallback_shape +4748:_glyf_get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29 +4749:__vfprintf_internal +4750:__trunctfsf2 +4751:__tan +4752:__rem_pio2_large +4753:__overflow +4754:__newlocale +4755:__munmap +4756:__mmap +4757:__math_xflowf +4758:__math_invalidf +4759:__loc_is_allocated +4760:__isxdigit_l +4761:__getf2 +4762:__get_locale +4763:__ftello_unlocked +4764:__fstatat +4765:__fseeko_unlocked +4766:__floatscan +4767:__expo2 +4768:__divtf3 +4769:__cxxabiv1::__base_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +4770:\28anonymous\20namespace\29::write_text_tag\28char\20const*\29 +4771:\28anonymous\20namespace\29::write_mAB_or_mBA_tag\28unsigned\20int\2c\20skcms_Curve\20const*\2c\20skcms_Curve\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20skcms_Curve\20const*\2c\20skcms_Matrix3x4\20const*\29 +4772:\28anonymous\20namespace\29::set_uv_quad\28SkPoint\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +4773:\28anonymous\20namespace\29::safe_to_ignore_subset_rect\28GrAAType\2c\20SkFilterMode\2c\20DrawQuad\20const&\2c\20SkRect\20const&\29 +4774:\28anonymous\20namespace\29::prepare_for_direct_mask_drawing\28SkStrike*\2c\20SkMatrix\20const&\2c\20SkZip\2c\20SkZip\2c\20SkZip\29 +4775:\28anonymous\20namespace\29::morphology_pass\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20\28anonymous\20namespace\29::MorphType\2c\20\28anonymous\20namespace\29::MorphDirection\2c\20int\29 +4776:\28anonymous\20namespace\29::make_non_convex_fill_op\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20skgpu::ganesh::FillPathFlags\2c\20GrAAType\2c\20SkRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\29 +4777:\28anonymous\20namespace\29::is_newer_better\28SkData*\2c\20SkData*\29 +4778:\28anonymous\20namespace\29::get_glyph_run_intercepts\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20float\20const*\2c\20float*\2c\20int*\29 +4779:\28anonymous\20namespace\29::get_cicp_trfn\28skcms_TransferFunction\20const&\29 +4780:\28anonymous\20namespace\29::get_cicp_primaries\28skcms_Matrix3x3\20const&\29 +4781:\28anonymous\20namespace\29::getStringArray\28ResourceData\20const*\2c\20icu_74::ResourceArray\20const&\2c\20icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29 +4782:\28anonymous\20namespace\29::getInclusionsForSource\28UPropertySource\2c\20UErrorCode&\29 +4783:\28anonymous\20namespace\29::draw_to_sw_mask\28GrSWMaskHelper*\2c\20skgpu::ganesh::ClipStack::Element\20const&\2c\20bool\29 +4784:\28anonymous\20namespace\29::determine_clipped_src_rect\28SkIRect\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkISize\20const&\2c\20SkRect\20const*\29 +4785:\28anonymous\20namespace\29::create_hb_face\28SkTypeface\20const&\29::$_0::__invoke\28void*\29 +4786:\28anonymous\20namespace\29::cpu_blur\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20sk_sp\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28double\29\20const +4787:\28anonymous\20namespace\29::copyFTBitmap\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\29 +4788:\28anonymous\20namespace\29::colrv1_start_glyph\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +4789:\28anonymous\20namespace\29::colrv1_draw_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\29 +4790:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29 +4791:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29 +4792:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29 +4793:\28anonymous\20namespace\29::TriangulatingPathOp::TriangulatingPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +4794:\28anonymous\20namespace\29::TriangulatingPathOp::Triangulate\28GrEagerVertexAllocator*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool*\29 +4795:\28anonymous\20namespace\29::TriangulatingPathOp::CreateKey\28skgpu::UniqueKey*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\29 +4796:\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4797:\28anonymous\20namespace\29::TextureOpImpl::propagateCoverageAAThroughoutChain\28\29 +4798:\28anonymous\20namespace\29::TextureOpImpl::characterize\28\28anonymous\20namespace\29::TextureOpImpl::Desc*\29\20const +4799:\28anonymous\20namespace\29::TextureOpImpl::appendQuad\28DrawQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\29 +4800:\28anonymous\20namespace\29::TextureOpImpl::Make\28GrRecordingContext*\2c\20GrTextureSetEntry*\2c\20int\2c\20int\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20GrAAType\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +4801:\28anonymous\20namespace\29::TextureOpImpl::FillInVertices\28GrCaps\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl*\2c\20\28anonymous\20namespace\29::TextureOpImpl::Desc*\2c\20char*\29 +4802:\28anonymous\20namespace\29::SpotVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +4803:\28anonymous\20namespace\29::SkImageImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +4804:\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4805:\28anonymous\20namespace\29::RunIteratorQueue::advanceRuns\28\29 +4806:\28anonymous\20namespace\29::Pass::blur\28int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +4807:\28anonymous\20namespace\29::MipLevelHelper::allocAndInit\28SkArenaAlloc*\2c\20SkSamplingOptions\20const&\2c\20SkTileMode\2c\20SkTileMode\29 +4808:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29 +4809:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20sk_sp\2c\20GrPrimitiveType\20const*\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4810:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMesh\20const&\2c\20skia_private::TArray>\2c\20true>\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4811:\28anonymous\20namespace\29::MeshOp::Mesh::Mesh\28SkMesh\20const&\29 +4812:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29 +4813:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29 +4814:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineStruct\28char\20const*\29 +4815:\28anonymous\20namespace\29::FillRectOpImpl::tessellate\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29\20const +4816:\28anonymous\20namespace\29::FillRectOpImpl::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4817:\28anonymous\20namespace\29::FillRectOpImpl::FillRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4818:\28anonymous\20namespace\29::EllipticalRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\29 +4819:\28anonymous\20namespace\29::DrawAtlasOpImpl::DrawAtlasOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrAAType\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +4820:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4821:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4822:\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4823:\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4824:\28anonymous\20namespace\29::DefaultPathOp::programInfo\28\29 +4825:\28anonymous\20namespace\29::DefaultPathOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4826:\28anonymous\20namespace\29::DefaultPathOp::DefaultPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4827:\28anonymous\20namespace\29::ClipGeometry\20\28anonymous\20namespace\29::get_clip_geometry\28skgpu::ganesh::ClipStack::SaveRecord\20const&\2c\20skgpu::ganesh::ClipStack::Draw\20const&\29 +4828:\28anonymous\20namespace\29::CircularRRectEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +4829:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29 +4830:\28anonymous\20namespace\29::CachedTessellations::CachedTessellations\28\29 +4831:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29 +4832:\28anonymous\20namespace\29::AAHairlineOp::AAHairlineOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIRect\2c\20float\2c\20GrUserStencilSettings\20const*\29 +4833:WebPResetDecParams +4834:WebPRescalerGetScaledDimensions +4835:WebPMultRows +4836:WebPMultARGBRows +4837:WebPIoInitFromOptions +4838:WebPInitUpsamplers +4839:WebPFlipBuffer +4840:WebPDemuxGetChunk +4841:WebPCopyDecBufferPixels +4842:WebPAllocateDecBuffer +4843:VP8RemapBitReader +4844:VP8LHuffmanTablesAllocate +4845:VP8LDspInit +4846:VP8LConvertFromBGRA +4847:VP8LColorCacheInit +4848:VP8LColorCacheCopy +4849:VP8LBuildHuffmanTable +4850:VP8LBitReaderSetBuffer +4851:VP8InitScanline +4852:VP8GetInfo +4853:VP8BitReaderSetBuffer +4854:Update_Max +4855:TransformOne_C +4856:TT_Set_Named_Instance +4857:TT_Hint_Glyph +4858:StoreFrame +4859:SortContourList\28SkOpContourHead**\2c\20bool\2c\20bool\29 +4860:SkYUVAPixmapInfo::isSupported\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\29\20const +4861:SkWuffsCodec::seekFrame\28int\29 +4862:SkWuffsCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +4863:SkWuffsCodec::onIncrementalDecodeTwoPass\28\29 +4864:SkWuffsCodec::decodeFrameConfig\28\29 +4865:SkWriter32::writeString\28char\20const*\2c\20unsigned\20long\29 +4866:SkWriteICCProfile\28skcms_ICCProfile\20const*\2c\20char\20const*\29 +4867:SkWebpDecoder::IsWebp\28void\20const*\2c\20unsigned\20long\29 +4868:SkWebpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4869:SkWbmpDecoder::IsWbmp\28void\20const*\2c\20unsigned\20long\29 +4870:SkWbmpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4871:SkWStream::SizeOfPackedUInt\28unsigned\20long\29 +4872:SkWBuffer::padToAlign4\28\29 +4873:SkVertices::Builder::indices\28\29 +4874:SkUnicode_icu::extractWords\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +4875:SkUnicode::convertUtf16ToUtf8\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4876:SkUTF::NextUTF16\28unsigned\20short\20const**\2c\20unsigned\20short\20const*\29 +4877:SkTypeface_FreeType::FaceRec::Make\28SkTypeface_FreeType\20const*\29 +4878:SkTypeface_Custom::onGetFamilyName\28SkString*\29\20const +4879:SkTypeface::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +4880:SkTypeface::serialize\28SkWStream*\2c\20SkTypeface::SerializeBehavior\29\20const +4881:SkTypeface::openStream\28int*\29\20const +4882:SkTypeface::getFamilyName\28SkString*\29\20const +4883:SkTransformShader::update\28SkMatrix\20const&\29 +4884:SkTransformShader::SkTransformShader\28SkShaderBase\20const&\2c\20bool\29 +4885:SkTiff::ImageFileDirectory::getEntryRawData\28unsigned\20short\2c\20unsigned\20short*\2c\20unsigned\20short*\2c\20unsigned\20int*\2c\20unsigned\20char\20const**\2c\20unsigned\20long*\29\20const +4886:SkTextBlobBuilder::allocRunPos\28SkFont\20const&\2c\20int\2c\20SkRect\20const*\29 +4887:SkTextBlob::getIntercepts\28float\20const*\2c\20float*\2c\20SkPaint\20const*\29\20const +4888:SkTextBlob::RunRecord::StorageSize\28unsigned\20int\2c\20unsigned\20int\2c\20SkTextBlob::GlyphPositioning\2c\20SkSafeMath*\29 +4889:SkTextBlob::MakeFromText\28void\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4890:SkTextBlob::MakeFromRSXform\28void\20const*\2c\20unsigned\20long\2c\20SkRSXform\20const*\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4891:SkTextBlob::Iter::experimentalNext\28SkTextBlob::Iter::ExperimentalRun*\29 +4892:SkTextBlob::Iter::Iter\28SkTextBlob\20const&\29 +4893:SkTaskGroup::wait\28\29 +4894:SkTaskGroup::add\28std::__2::function\29 +4895:SkTSpan::onlyEndPointsInCommon\28SkTSpan\20const*\2c\20bool*\2c\20bool*\2c\20bool*\29 +4896:SkTSpan::linearIntersects\28SkTCurve\20const&\29\20const +4897:SkTSect::removeAllBut\28SkTSpan\20const*\2c\20SkTSpan*\2c\20SkTSect*\29 +4898:SkTSect::intersects\28SkTSpan*\2c\20SkTSect*\2c\20SkTSpan*\2c\20int*\29 +4899:SkTSect::deleteEmptySpans\28\29 +4900:SkTSect::addSplitAt\28SkTSpan*\2c\20double\29 +4901:SkTSect::addForPerp\28SkTSpan*\2c\20double\29 +4902:SkTSect::EndsEqual\28SkTSect\20const*\2c\20SkTSect\20const*\2c\20SkIntersections*\29 +4903:SkTMultiMap::~SkTMultiMap\28\29 +4904:SkTMaskGamma<3\2c\203\2c\203>::SkTMaskGamma\28float\2c\20float\29 +4905:SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::find\28SkImageFilterCacheKey\20const&\29\20const +4906:SkTDStorage::calculateSizeOrDie\28int\29::$_1::operator\28\29\28\29\20const +4907:SkTDStorage::SkTDStorage\28SkTDStorage&&\29 +4908:SkTCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4909:SkTConic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +4910:SkTConic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +4911:SkTConic::controlsInside\28\29\20const +4912:SkTConic::collapsed\28\29\20const +4913:SkTBlockList::reset\28\29 +4914:SkTBlockList::reset\28\29 +4915:SkTBlockList::push_back\28GrGLProgramDataManager::GLUniformInfo\20const&\29 +4916:SkSwizzler::MakeSimple\28int\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +4917:SkSurfaces::WrapPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +4918:SkSurface_Base::outstandingImageSnapshot\28\29\20const +4919:SkSurface_Base::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +4920:SkSurface_Base::onCapabilities\28\29 +4921:SkStrokeRec::setHairlineStyle\28\29 +4922:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20SkPaint::Style\2c\20float\29 +4923:SkStrokeRec::GetInflationRadius\28SkPaint::Join\2c\20float\2c\20SkPaint::Cap\2c\20float\29 +4924:SkString::insertHex\28unsigned\20long\2c\20unsigned\20int\2c\20int\29 +4925:SkString::appendVAList\28char\20const*\2c\20void*\29 +4926:SkString::SkString\28std::__2::basic_string_view>\29 +4927:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec\20const&\29 +4928:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29 +4929:SkStrSplit\28char\20const*\2c\20char\20const*\2c\20SkStrSplitMode\2c\20skia_private::TArray*\29 +4930:SkStrAppendS32\28char*\2c\20int\29 +4931:SkSpriteBlitter_Memcpy::~SkSpriteBlitter_Memcpy\28\29 +4932:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4933:SkSpecialImages::AsBitmap\28SkSpecialImage\20const*\2c\20SkBitmap*\29 +4934:SkSharedMutex::releaseShared\28\29 +4935:SkShapers::unicode::BidiRunIterator\28sk_sp\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20char\29 +4936:SkShapers::HB::ScriptRunIterator\28char\20const*\2c\20unsigned\20long\29 +4937:SkShaper::MakeStdLanguageRunIterator\28char\20const*\2c\20unsigned\20long\29 +4938:SkShaders::MatrixRec::concat\28SkMatrix\20const&\29\20const +4939:SkShaders::Blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\29 +4940:SkShaderUtils::VisitLineByLine\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::function\20const&\29 +4941:SkShaderUtils::PrettyPrint\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4942:SkShaderUtils::GLSLPrettyPrint::parseUntil\28char\20const*\29 +4943:SkShaderUtils::GLSLPrettyPrint::hasToken\28char\20const*\29 +4944:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +4945:SkShaderBlurAlgorithm::evalBlur1D\28float\2c\20int\2c\20SkV2\2c\20sk_sp\2c\20SkIRect\2c\20SkTileMode\2c\20SkIRect\29\20const +4946:SkShaderBlurAlgorithm::Compute2DBlurOffsets\28SkISize\2c\20std::__2::array&\29 +4947:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20std::__2::array&\29 +4948:SkShaderBlurAlgorithm::Compute1DBlurLinearKernel\28float\2c\20int\2c\20std::__2::array&\29 +4949:SkShaderBase::getFlattenableType\28\29\20const +4950:SkShaderBase::asLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +4951:SkShader::makeWithColorFilter\28sk_sp\29\20const +4952:SkScan::PathRequiresTiling\28SkIRect\20const&\29 +4953:SkScan::HairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +4954:SkScan::AntiFrameRect\28SkRect\20const&\2c\20SkPoint\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4955:SkScan::AntiFillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4956:SkScan::AntiFillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4957:SkScan::AAAFillPath\28SkPath\20const&\2c\20SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +4958:SkScalerContext_FreeType::updateGlyphBoundsIfSubpixel\28SkGlyph\20const&\2c\20SkRect*\2c\20bool\29 +4959:SkScalerContext_FreeType::shouldSubpixelBitmap\28SkGlyph\20const&\2c\20SkMatrix\20const&\29 +4960:SkScalerContextRec::getSingleMatrix\28SkMatrix*\29\20const +4961:SkScalerContextFTUtils::drawCOLRv1Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4962:SkScalerContextFTUtils::drawCOLRv0Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4963:SkScalerContext::internalMakeGlyph\28SkPackedGlyphID\2c\20SkMask::Format\2c\20SkArenaAlloc*\29 +4964:SkScalerContext::internalGetPath\28SkGlyph&\2c\20SkArenaAlloc*\29 +4965:SkScalerContext::getFontMetrics\28SkFontMetrics*\29 +4966:SkScalerContext::SkScalerContext\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4967:SkScalerContext::PreprocessRec\28SkTypeface\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const&\29 +4968:SkScalerContext::MakeRecAndEffects\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\2c\20SkScalerContextRec*\2c\20SkScalerContextEffects*\29 +4969:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4970:SkScalerContext::GetMaskPreBlend\28SkScalerContextRec\20const&\29 +4971:SkScalerContext::AutoDescriptorGivenRecAndEffects\28SkScalerContextRec\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkAutoDescriptor*\29 +4972:SkSampledCodec::sampledDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +4973:SkSampledCodec::accountForNativeScaling\28int*\2c\20int*\29\20const +4974:SkSampledCodec::SkSampledCodec\28SkCodec*\29 +4975:SkSL::zero_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\29 +4976:SkSL::type_to_sksltype\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSLType*\29 +4977:SkSL::stoi\28std::__2::basic_string_view>\2c\20long\20long*\29 +4978:SkSL::splat_scalar\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4979:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_2::operator\28\29\28int\29\20const +4980:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_1::operator\28\29\28int\29\20const +4981:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4982:SkSL::negate_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4983:SkSL::make_reciprocal_expression\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29 +4984:SkSL::index_out_of_range\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20long\20long\2c\20SkSL::Expression\20const&\29 +4985:SkSL::get_struct_definitions_from_module\28SkSL::Program&\2c\20SkSL::Module\20const&\2c\20std::__2::vector>*\29 +4986:SkSL::find_existing_declaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20SkSL::IntrinsicKind\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray>\2c\20true>&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration**\29::$_0::operator\28\29\28\29\20const +4987:SkSL::extract_matrix\28SkSL::Expression\20const*\2c\20float*\29 +4988:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +4989:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_4::operator\28\29\28int\29\20const +4990:SkSL::\28anonymous\20namespace\29::check_valid_uniform_type\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Context\20const&\2c\20bool\29::$_0::operator\28\29\28\29\20const +4991:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4992:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +4993:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4994:SkSL::VariableReference::setRefKind\28SkSL::VariableRefKind\29 +4995:SkSL::Variable::setVarDeclaration\28SkSL::VarDeclaration*\29 +4996:SkSL::Variable::setGlobalVarDeclaration\28SkSL::GlobalVarDeclaration*\29 +4997:SkSL::Variable::globalVarDeclaration\28\29\20const +4998:SkSL::Variable::Make\28SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20std::__2::basic_string_view>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20bool\2c\20SkSL::VariableStorage\29 +4999:SkSL::Variable::MakeScratchVariable\28SkSL::Context\20const&\2c\20SkSL::Mangler&\2c\20std::__2::basic_string_view>\2c\20SkSL::Type\20const*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>\29 +5000:SkSL::VarDeclaration::Make\28SkSL::Context\20const&\2c\20SkSL::Variable*\2c\20SkSL::Type\20const*\2c\20int\2c\20std::__2::unique_ptr>\29 +5001:SkSL::VarDeclaration::ErrorCheck\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Type\20const*\2c\20SkSL::VariableStorage\29 +5002:SkSL::TypeReference::description\28SkSL::OperatorPrecedence\29\20const +5003:SkSL::TypeReference::VerifyType\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Position\29 +5004:SkSL::TypeReference::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\29 +5005:SkSL::Type::MakeStructType\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20bool\29 +5006:SkSL::Type::MakeLiteralType\28char\20const*\2c\20SkSL::Type\20const&\2c\20signed\20char\29 +5007:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::addDeclaringElement\28SkSL::ProgramElement\20const*\29 +5008:SkSL::ToGLSL\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29 +5009:SkSL::TernaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5010:SkSL::SymbolTable::insertNewParent\28\29 +5011:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Symbol*\29 +5012:SkSL::Swizzle::MaskString\28skia_private::FixedArray<4\2c\20signed\20char>\20const&\29 +5013:SkSL::SwitchStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5014:SkSL::SwitchCase::Make\28SkSL::Position\2c\20long\20long\2c\20std::__2::unique_ptr>\29 +5015:SkSL::SwitchCase::MakeDefault\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +5016:SkSL::StructType::StructType\28SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20int\2c\20bool\2c\20bool\29 +5017:SkSL::String::vappendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20void*\29 +5018:SkSL::SingleArgumentConstructor::argumentSpan\28\29 +5019:SkSL::RP::stack_usage\28SkSL::RP::Instruction\20const&\29 +5020:SkSL::RP::UnownedLValueSlice::isWritable\28\29\20const +5021:SkSL::RP::UnownedLValueSlice::dynamicSlotRange\28\29 +5022:SkSL::RP::ScratchLValue::~ScratchLValue\28\29 +5023:SkSL::RP::Program::~Program\28\29 +5024:SkSL::RP::LValue::swizzle\28\29 +5025:SkSL::RP::Generator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\29 +5026:SkSL::RP::Generator::writeFunction\28SkSL::IRNode\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSpan>\20const>\29 +5027:SkSL::RP::Generator::storeImmutableValueToSlots\28skia_private::TArray\20const&\2c\20SkSL::RP::SlotRange\29 +5028:SkSL::RP::Generator::pushVariableReferencePartial\28SkSL::VariableReference\20const&\2c\20SkSL::RP::SlotRange\29 +5029:SkSL::RP::Generator::pushPrefixExpression\28SkSL::Operator\2c\20SkSL::Expression\20const&\29 +5030:SkSL::RP::Generator::pushIntrinsic\28SkSL::IntrinsicKind\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +5031:SkSL::RP::Generator::pushImmutableData\28SkSL::Expression\20const&\29 +5032:SkSL::RP::Generator::pushAbsFloatIntrinsic\28int\29 +5033:SkSL::RP::Generator::getImmutableValueForExpression\28SkSL::Expression\20const&\2c\20skia_private::TArray*\29 +5034:SkSL::RP::Generator::foldWithMultiOp\28SkSL::RP::BuilderOp\2c\20int\29 +5035:SkSL::RP::Generator::findPreexistingImmutableData\28skia_private::TArray\20const&\29 +5036:SkSL::RP::Builder::push_slots_or_immutable_indirect\28SkSL::RP::SlotRange\2c\20int\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +5037:SkSL::RP::Builder::push_condition_mask\28\29 +5038:SkSL::RP::Builder::pad_stack\28int\29 +5039:SkSL::RP::Builder::copy_stack_to_slots\28SkSL::RP::SlotRange\2c\20int\29 +5040:SkSL::RP::Builder::branch_if_any_lanes_active\28int\29 +5041:SkSL::ProgramVisitor::visit\28SkSL::Program\20const&\29 +5042:SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +5043:SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +5044:SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +5045:SkSL::Pool::attachToThread\28\29 +5046:SkSL::PipelineStage::PipelineStageCodeGenerator::functionName\28SkSL::FunctionDeclaration\20const&\29 +5047:SkSL::PipelineStage::PipelineStageCodeGenerator::functionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +5048:SkSL::Parser::~Parser\28\29 +5049:SkSL::Parser::varDeclarations\28\29 +5050:SkSL::Parser::varDeclarationsOrExpressionStatement\28\29 +5051:SkSL::Parser::switchCaseBody\28SkSL::ExpressionArray*\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>*\2c\20std::__2::unique_ptr>\29 +5052:SkSL::Parser::statementOrNop\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +5053:SkSL::Parser::shiftExpression\28\29 +5054:SkSL::Parser::relationalExpression\28\29 +5055:SkSL::Parser::parameter\28std::__2::unique_ptr>*\29 +5056:SkSL::Parser::multiplicativeExpression\28\29 +5057:SkSL::Parser::logicalXorExpression\28\29 +5058:SkSL::Parser::logicalAndExpression\28\29 +5059:SkSL::Parser::localVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +5060:SkSL::Parser::intLiteral\28long\20long*\29 +5061:SkSL::Parser::globalVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +5062:SkSL::Parser::equalityExpression\28\29 +5063:SkSL::Parser::directive\28bool\29 +5064:SkSL::Parser::declarations\28\29 +5065:SkSL::Parser::checkNext\28SkSL::Token::Kind\2c\20SkSL::Token*\29 +5066:SkSL::Parser::bitwiseXorExpression\28\29 +5067:SkSL::Parser::bitwiseOrExpression\28\29 +5068:SkSL::Parser::bitwiseAndExpression\28\29 +5069:SkSL::Parser::additiveExpression\28\29 +5070:SkSL::Parser::Parser\28SkSL::Compiler*\2c\20SkSL::ProgramSettings\20const&\2c\20SkSL::ProgramKind\2c\20std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>\29 +5071:SkSL::MultiArgumentConstructor::argumentSpan\28\29 +5072:SkSL::ModuleLoader::~ModuleLoader\28\29 +5073:SkSL::ModuleLoader::loadVertexModule\28SkSL::Compiler*\29 +5074:SkSL::ModuleLoader::loadSharedModule\28SkSL::Compiler*\29 +5075:SkSL::ModuleLoader::loadPublicModule\28SkSL::Compiler*\29 +5076:SkSL::ModuleLoader::loadGraphiteVertexModule\28SkSL::Compiler*\29 +5077:SkSL::ModuleLoader::loadGraphiteFragmentModule\28SkSL::Compiler*\29 +5078:SkSL::ModuleLoader::loadFragmentModule\28SkSL::Compiler*\29 +5079:SkSL::ModuleLoader::Get\28\29 +5080:SkSL::MatrixType::bitWidth\28\29\20const +5081:SkSL::MakeRasterPipelineProgram\28SkSL::Program\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSL::DebugTracePriv*\2c\20bool\29 +5082:SkSL::Layout::description\28\29\20const +5083:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_length\28std::__2::array\20const&\29 +5084:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +5085:SkSL::InterfaceBlock::~InterfaceBlock\28\29 +5086:SkSL::Inliner::candidateCanBeInlined\28SkSL::InlineCandidate\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20skia_private::THashMap*\29 +5087:SkSL::IfStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5088:SkSL::GLSLCodeGenerator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\2c\20bool\29 +5089:SkSL::GLSLCodeGenerator::writeProgramElement\28SkSL::ProgramElement\20const&\29 +5090:SkSL::GLSLCodeGenerator::writeMinAbsHack\28SkSL::Expression&\2c\20SkSL::Expression&\29 +5091:SkSL::GLSLCodeGenerator::generateCode\28\29 +5092:SkSL::FunctionDefinition::~FunctionDefinition\28\29.1 +5093:SkSL::FunctionDefinition::~FunctionDefinition\28\29 +5094:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::visitStatementPtr\28std::__2::unique_ptr>&\29 +5095:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::addLocalVariable\28SkSL::Variable\20const*\2c\20SkSL::Position\29 +5096:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29.1 +5097:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29 +5098:SkSL::FunctionDeclaration::mangledName\28\29\20const +5099:SkSL::FunctionDeclaration::determineFinalTypes\28SkSL::ExpressionArray\20const&\2c\20skia_private::STArray<8\2c\20SkSL::Type\20const*\2c\20true>*\2c\20SkSL::Type\20const**\29\20const +5100:SkSL::FunctionDeclaration::FunctionDeclaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20SkSL::Type\20const*\2c\20SkSL::IntrinsicKind\29 +5101:SkSL::FunctionCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +5102:SkSL::FunctionCall::FindBestFunctionForCall\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\20const&\29 +5103:SkSL::FunctionCall::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +5104:SkSL::ForStatement::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5105:SkSL::FindIntrinsicKind\28std::__2::basic_string_view>\29 +5106:SkSL::FieldAccess::~FieldAccess\28\29.1 +5107:SkSL::FieldAccess::~FieldAccess\28\29 +5108:SkSL::ExpressionStatement::Convert\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +5109:SkSL::DoStatement::~DoStatement\28\29.1 +5110:SkSL::DoStatement::~DoStatement\28\29 +5111:SkSL::DebugTracePriv::setSource\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +5112:SkSL::ConstructorScalarCast::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +5113:SkSL::ConstructorMatrixResize::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +5114:SkSL::Constructor::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +5115:SkSL::ConstantFolder::Simplify\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +5116:SkSL::Compiler::writeErrorCount\28\29 +5117:SkSL::Compiler::initializeContext\28SkSL::Module\20const*\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\2c\20std::__2::basic_string_view>\2c\20bool\29 +5118:SkSL::Compiler::cleanupContext\28\29 +5119:SkSL::ChildCall::~ChildCall\28\29.1 +5120:SkSL::ChildCall::~ChildCall\28\29 +5121:SkSL::ChildCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const&\2c\20SkSL::ExpressionArray\29 +5122:SkSL::BinaryExpression::isAssignmentIntoVariable\28\29 +5123:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\2c\20SkSL::Type\20const*\29 +5124:SkSL::Analysis::\28anonymous\20namespace\29::LoopControlFlowVisitor::visitStatement\28SkSL::Statement\20const&\29 +5125:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29 +5126:SkSL::Analysis::IsConstantExpression\28SkSL::Expression\20const&\29 +5127:SkSL::Analysis::IsAssignable\28SkSL::Expression&\2c\20SkSL::Analysis::AssignmentInfo*\2c\20SkSL::ErrorReporter*\29 +5128:SkSL::Analysis::GetLoopUnrollInfo\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\20const&\2c\20SkSL::Statement\20const*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Expression\20const*\2c\20SkSL::Statement\20const*\2c\20SkSL::ErrorReporter*\29 +5129:SkSL::Analysis::GetLoopControlFlowInfo\28SkSL::Statement\20const&\29 +5130:SkSL::AliasType::numberKind\28\29\20const +5131:SkSL::AliasType::isAllowedInES2\28\29\20const +5132:SkRuntimeShader::~SkRuntimeShader\28\29 +5133:SkRuntimeEffectPriv::WriteChildEffects\28SkWriteBuffer&\2c\20SkSpan\29 +5134:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpaceXformSteps\20const&\29 +5135:SkRuntimeEffect::~SkRuntimeEffect\28\29 +5136:SkRuntimeEffect::makeShader\28sk_sp\2c\20sk_sp*\2c\20unsigned\20long\2c\20SkMatrix\20const*\29\20const +5137:SkRuntimeEffect::makeColorFilter\28sk_sp\2c\20SkSpan\29\20const +5138:SkRuntimeEffect::TracedShader*\20emscripten::internal::raw_constructor\28\29 +5139:SkRuntimeEffect::MakeInternal\28std::__2::unique_ptr>\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +5140:SkRuntimeEffect::ChildPtr&\20skia_private::TArray::emplace_back&>\28sk_sp&\29 +5141:SkRuntimeBlender::flatten\28SkWriteBuffer&\29\20const +5142:SkRgnBuilder::~SkRgnBuilder\28\29 +5143:SkResourceCache::PostPurgeSharedID\28unsigned\20long\20long\29 +5144:SkResourceCache::GetDiscardableFactory\28\29 +5145:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::rowBytes\28int\29\20const +5146:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +5147:SkRegion::Spanerator::Spanerator\28SkRegion\20const&\2c\20int\2c\20int\2c\20int\29 +5148:SkRegion::Oper\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\2c\20SkRegion*\29 +5149:SkRefCntSet::~SkRefCntSet\28\29 +5150:SkRefCntBase::internal_dispose\28\29\20const +5151:SkReduceOrder::reduce\28SkDQuad\20const&\29 +5152:SkReduceOrder::Conic\28SkConic\20const&\2c\20SkPoint*\29 +5153:SkRectClipBlitter::requestRowsPreserved\28\29\20const +5154:SkRectClipBlitter::allocBlitMemory\28unsigned\20long\29 +5155:SkRect::intersect\28SkRect\20const&\2c\20SkRect\20const&\29 +5156:SkRecords::TypedMatrix::TypedMatrix\28SkMatrix\20const&\29 +5157:SkRecords::FillBounds::popSaveBlock\28\29 +5158:SkRecordOptimize\28SkRecord*\29 +5159:SkRecordFillBounds\28SkRect\20const&\2c\20SkRecord\20const&\2c\20SkRect*\2c\20SkBBoxHierarchy::Metadata*\29 +5160:SkRecord::bytesUsed\28\29\20const +5161:SkReadPixelsRec::trim\28int\2c\20int\29 +5162:SkReadBuffer::readString\28unsigned\20long*\29 +5163:SkReadBuffer::readRegion\28SkRegion*\29 +5164:SkReadBuffer::readRect\28\29 +5165:SkReadBuffer::readPoint3\28SkPoint3*\29 +5166:SkReadBuffer::readPad32\28void*\2c\20unsigned\20long\29 +5167:SkRasterPipeline_<256ul>::SkRasterPipeline_\28\29 +5168:SkRasterPipeline::tailPointer\28\29 +5169:SkRasterPipeline::appendSetRGB\28SkArenaAlloc*\2c\20float\20const*\29 +5170:SkRasterPipeline::addMemoryContext\28SkRasterPipeline_MemoryCtx*\2c\20int\2c\20bool\2c\20bool\29 +5171:SkRasterClipStack::SkRasterClipStack\28int\2c\20int\29 +5172:SkRTreeFactory::operator\28\29\28\29\20const +5173:SkRTree::search\28SkRTree::Node*\2c\20SkRect\20const&\2c\20std::__2::vector>*\29\20const +5174:SkRTree::bulkLoad\28std::__2::vector>*\2c\20int\29 +5175:SkRTree::allocateNodeAtLevel\28unsigned\20short\29 +5176:SkRSXform::toQuad\28float\2c\20float\2c\20SkPoint*\29\20const +5177:SkRRect::isValid\28\29\20const +5178:SkRRect::computeType\28\29 +5179:SkRGBA4f<\28SkAlphaType\292>\20skgpu::Swizzle::applyTo<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +5180:SkRBuffer::skipToAlign4\28\29 +5181:SkQuads::EvalAt\28double\2c\20double\2c\20double\2c\20double\29 +5182:SkQuadraticEdge::setQuadraticWithoutUpdate\28SkPoint\20const*\2c\20int\29 +5183:SkPtrSet::reset\28\29 +5184:SkPtrSet::copyToArray\28void**\29\20const +5185:SkPtrSet::add\28void*\29 +5186:SkPoint::Normalize\28SkPoint*\29 +5187:SkPngEncoder::Make\28SkWStream*\2c\20SkPixmap\20const&\2c\20SkPngEncoder::Options\20const&\29 +5188:SkPngEncoder::Encode\28GrDirectContext*\2c\20SkImage\20const*\2c\20SkPngEncoder::Options\20const&\29 +5189:SkPngCodec::initializeXforms\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +5190:SkPngCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +5191:SkPngCodec::allocateStorage\28SkImageInfo\20const&\29 +5192:SkPixmapUtils::Orient\28SkPixmap\20const&\2c\20SkPixmap\20const&\2c\20SkEncodedOrigin\29 +5193:SkPixmap::erase\28unsigned\20int\2c\20SkIRect\20const&\29\20const +5194:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const +5195:SkPixelRef::getGenerationID\28\29\20const +5196:SkPixelRef::addGenIDChangeListener\28sk_sp\29 +5197:SkPixelRef::SkPixelRef\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +5198:SkPictureShader::CachedImageInfo::makeImage\28sk_sp\2c\20SkPicture\20const*\29\20const +5199:SkPictureShader::CachedImageInfo::Make\28SkRect\20const&\2c\20SkMatrix\20const&\2c\20SkColorType\2c\20SkColorSpace*\2c\20int\2c\20SkSurfaceProps\20const&\29 +5200:SkPictureRecord::endRecording\28\29 +5201:SkPictureRecord::beginRecording\28\29 +5202:SkPicturePriv::Flatten\28sk_sp\2c\20SkWriteBuffer&\29 +5203:SkPicturePlayback::draw\28SkCanvas*\2c\20SkPicture::AbortCallback*\2c\20SkReadBuffer*\29 +5204:SkPictureData::parseBufferTag\28SkReadBuffer&\2c\20unsigned\20int\2c\20unsigned\20int\29 +5205:SkPictureData::getPicture\28SkReadBuffer*\29\20const +5206:SkPictureData::getDrawable\28SkReadBuffer*\29\20const +5207:SkPictureData::flatten\28SkWriteBuffer&\29\20const +5208:SkPictureData::flattenToBuffer\28SkWriteBuffer&\2c\20bool\29\20const +5209:SkPictureData::SkPictureData\28SkPictureRecord\20const&\2c\20SkPictInfo\20const&\29 +5210:SkPicture::backport\28\29\20const +5211:SkPicture::SkPicture\28\29 +5212:SkPicture::MakeFromStreamPriv\28SkStream*\2c\20SkDeserialProcs\20const*\2c\20SkTypefacePlayback*\2c\20int\29 +5213:SkPerlinNoiseShader::getPaintingData\28\29\20const +5214:SkPathWriter::assemble\28\29 +5215:SkPathWriter::SkPathWriter\28SkPath&\29 +5216:SkPathRef::resetToSize\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5217:SkPathRef::SkPathRef\28SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20unsigned\20int\29 +5218:SkPathPriv::IsNestedFillRects\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\29 +5219:SkPathPriv::CreateDrawArcPath\28SkPath*\2c\20SkArc\20const&\2c\20bool\29 +5220:SkPathEffectBase::PointData::~PointData\28\29 +5221:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +5222:SkPathBuilder::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +5223:SkPath::writeToMemoryAsRRect\28void*\29\20const +5224:SkPath::setLastPt\28float\2c\20float\29 +5225:SkPath::reverseAddPath\28SkPath\20const&\29 +5226:SkPath::readFromMemory\28void\20const*\2c\20unsigned\20long\29 +5227:SkPath::offset\28float\2c\20float\2c\20SkPath*\29\20const +5228:SkPath::isZeroLengthSincePoint\28int\29\20const +5229:SkPath::isRRect\28SkRRect*\29\20const +5230:SkPath::isOval\28SkRect*\29\20const +5231:SkPath::conservativelyContainsRect\28SkRect\20const&\29\20const +5232:SkPath::computeConvexity\28\29\20const +5233:SkPath::addPath\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath::AddPathMode\29 +5234:SkPath::Polygon\28SkPoint\20const*\2c\20int\2c\20bool\2c\20SkPathFillType\2c\20bool\29 +5235:SkPath2DPathEffect::Make\28SkMatrix\20const&\2c\20SkPath\20const&\29 +5236:SkParsePath::ToSVGString\28SkPath\20const&\2c\20SkParsePath::PathEncoding\29::$_0::operator\28\29\28char\2c\20SkPoint\20const*\2c\20unsigned\20long\29\20const +5237:SkParseEncodedOrigin\28void\20const*\2c\20unsigned\20long\2c\20SkEncodedOrigin*\29 +5238:SkPaintPriv::ShouldDither\28SkPaint\20const&\2c\20SkColorType\29 +5239:SkPaintPriv::Overwrites\28SkPaint\20const*\2c\20SkPaintPriv::ShaderOverrideOpacity\29 +5240:SkPaint::setStroke\28bool\29 +5241:SkPaint::reset\28\29 +5242:SkPaint::refColorFilter\28\29\20const +5243:SkOpSpanBase::merge\28SkOpSpan*\29 +5244:SkOpSpanBase::globalState\28\29\20const +5245:SkOpSpan::sortableTop\28SkOpContour*\29 +5246:SkOpSpan::release\28SkOpPtT\20const*\29 +5247:SkOpSpan::insertCoincidence\28SkOpSegment\20const*\2c\20bool\2c\20bool\29 +5248:SkOpSpan::init\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +5249:SkOpSegment::updateWindingReverse\28SkOpAngle\20const*\29 +5250:SkOpSegment::oppXor\28\29\20const +5251:SkOpSegment::moveMultiples\28\29 +5252:SkOpSegment::isXor\28\29\20const +5253:SkOpSegment::findNextWinding\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +5254:SkOpSegment::findNextOp\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\2c\20bool*\2c\20SkPathOp\2c\20int\2c\20int\29 +5255:SkOpSegment::computeSum\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpAngle::IncludeType\29 +5256:SkOpSegment::collapsed\28double\2c\20double\29\20const +5257:SkOpSegment::addExpanded\28double\2c\20SkOpSpanBase\20const*\2c\20bool*\29 +5258:SkOpSegment::activeAngle\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +5259:SkOpSegment::UseInnerWinding\28int\2c\20int\29 +5260:SkOpPtT::ptAlreadySeen\28SkOpPtT\20const*\29\20const +5261:SkOpPtT::contains\28SkOpSegment\20const*\2c\20double\29\20const +5262:SkOpGlobalState::SkOpGlobalState\28SkOpContourHead*\2c\20SkArenaAlloc*\29 +5263:SkOpEdgeBuilder::preFetch\28\29 +5264:SkOpEdgeBuilder::init\28\29 +5265:SkOpEdgeBuilder::finish\28\29 +5266:SkOpContourBuilder::addConic\28SkPoint*\2c\20float\29 +5267:SkOpContour::addQuad\28SkPoint*\29 +5268:SkOpContour::addCubic\28SkPoint*\29 +5269:SkOpContour::addConic\28SkPoint*\2c\20float\29 +5270:SkOpCoincidence::release\28SkOpSegment\20const*\29 +5271:SkOpCoincidence::mark\28\29 +5272:SkOpCoincidence::markCollapsed\28SkCoincidentSpans*\2c\20SkOpPtT*\29 +5273:SkOpCoincidence::fixUp\28SkCoincidentSpans*\2c\20SkOpPtT*\2c\20SkOpPtT\20const*\29 +5274:SkOpCoincidence::contains\28SkCoincidentSpans\20const*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\29\20const +5275:SkOpCoincidence::checkOverlap\28SkCoincidentSpans*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20SkTDArray*\29\20const +5276:SkOpCoincidence::addOrOverlap\28SkOpSegment*\2c\20SkOpSegment*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20bool*\29 +5277:SkOpAngle::tangentsDiverge\28SkOpAngle\20const*\2c\20double\29 +5278:SkOpAngle::setSpans\28\29 +5279:SkOpAngle::setSector\28\29 +5280:SkOpAngle::previous\28\29\20const +5281:SkOpAngle::midToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +5282:SkOpAngle::loopCount\28\29\20const +5283:SkOpAngle::loopContains\28SkOpAngle\20const*\29\20const +5284:SkOpAngle::lastMarked\28\29\20const +5285:SkOpAngle::endToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +5286:SkOpAngle::alignmentSameSide\28SkOpAngle\20const*\2c\20int*\29\20const +5287:SkOpAngle::after\28SkOpAngle*\29 +5288:SkOffsetSimplePolygon\28SkPoint\20const*\2c\20int\2c\20SkRect\20const&\2c\20float\2c\20SkTDArray*\2c\20SkTDArray*\29 +5289:SkNoDrawCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +5290:SkNoDrawCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +5291:SkMipmapBuilder::countLevels\28\29\20const +5292:SkMipmap::countLevels\28\29\20const +5293:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +5294:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +5295:SkMeshPriv::CpuBuffer::size\28\29\20const +5296:SkMeshPriv::CpuBuffer::peek\28\29\20const +5297:SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +5298:SkMatrix::setRotate\28float\2c\20float\2c\20float\29 +5299:SkMatrix::mapRectScaleTranslate\28SkRect*\2c\20SkRect\20const&\29\20const +5300:SkMatrix::isFinite\28\29\20const +5301:SkMatrix::RotTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +5302:SkMaskSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +5303:SkMaskFilterBase::NinePatch::~NinePatch\28\29 +5304:SkMask::computeTotalImageSize\28\29\20const +5305:SkMakeResourceCacheSharedIDForBitmap\28unsigned\20int\29 +5306:SkMD5::finish\28\29 +5307:SkMD5::SkMD5\28\29 +5308:SkMD5::Digest::toHexString\28\29\20const +5309:SkM44::preTranslate\28float\2c\20float\2c\20float\29 +5310:SkM44::postTranslate\28float\2c\20float\2c\20float\29 +5311:SkLocalMatrixShader::type\28\29\20const +5312:SkLinearColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +5313:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\29 +5314:SkLatticeIter::SkLatticeIter\28SkCanvas::Lattice\20const&\2c\20SkRect\20const&\29 +5315:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::~SkLRUCache\28\29 +5316:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::reset\28\29 +5317:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::insert\28GrProgramDesc\20const&\2c\20std::__2::unique_ptr>\29 +5318:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29::$_0::operator\28\29\28int\2c\20SkRuntimeEffect::Options\20const&\29\20const +5319:SkJpegMetadataDecoderImpl::SkJpegMetadataDecoderImpl\28std::__2::vector>\29 +5320:SkJpegDecoder::IsJpeg\28void\20const*\2c\20unsigned\20long\29 +5321:SkJpegCodec::readRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20SkCodec::Options\20const&\29 +5322:SkJpegCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +5323:SkIsSimplePolygon\28SkPoint\20const*\2c\20int\29 +5324:SkIsConvexPolygon\28SkPoint\20const*\2c\20int\29 +5325:SkInvert4x4Matrix\28float\20const*\2c\20float*\29 +5326:SkInvert3x3Matrix\28float\20const*\2c\20float*\29 +5327:SkInvert2x2Matrix\28float\20const*\2c\20float*\29 +5328:SkIntersections::vertical\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5329:SkIntersections::vertical\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5330:SkIntersections::vertical\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5331:SkIntersections::vertical\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5332:SkIntersections::mostOutside\28double\2c\20double\2c\20SkDPoint\20const&\29\20const +5333:SkIntersections::intersect\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +5334:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDQuad\20const&\29 +5335:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +5336:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDConic\20const&\29 +5337:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDQuad\20const&\29 +5338:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDLine\20const&\29 +5339:SkIntersections::insertCoincident\28double\2c\20double\2c\20SkDPoint\20const&\29 +5340:SkIntersections::horizontal\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5341:SkIntersections::horizontal\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5342:SkIntersections::horizontal\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5343:SkIntersections::horizontal\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5344:SkImages::RasterFromPixmap\28SkPixmap\20const&\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +5345:SkImages::RasterFromData\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\29 +5346:SkImages::DeferredFromGenerator\28std::__2::unique_ptr>\29 +5347:SkImage_Raster::onPeekMips\28\29\20const +5348:SkImage_Lazy::~SkImage_Lazy\28\29.1 +5349:SkImage_Lazy::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +5350:SkImage_GaneshBase::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +5351:SkImage_Base::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +5352:SkImage_Base::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +5353:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_1::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +5354:SkImageInfo::validRowBytes\28unsigned\20long\29\20const +5355:SkImageInfo::MakeN32Premul\28int\2c\20int\29 +5356:SkImageGenerator::~SkImageGenerator\28\29.1 +5357:SkImageFilters::ColorFilter\28sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +5358:SkImageFilter_Base::getCTMCapability\28\29\20const +5359:SkImageFilterCache::Get\28SkImageFilterCache::CreateIfNecessary\29 +5360:SkImageFilter::computeFastBounds\28SkRect\20const&\29\20const +5361:SkImage::withMipmaps\28sk_sp\29\20const +5362:SkImage::peekPixels\28SkPixmap*\29\20const +5363:SkImage::height\28\29\20const +5364:SkIcuBreakIteratorCache::purgeIfNeeded\28\29 +5365:SkIcoDecoder::IsIco\28void\20const*\2c\20unsigned\20long\29 +5366:SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +5367:SkGradientBaseShader::~SkGradientBaseShader\28\29 +5368:SkGradientBaseShader::AppendGradientFillStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\29 +5369:SkGlyphRunListPainterCPU::SkGlyphRunListPainterCPU\28SkSurfaceProps\20const&\2c\20SkColorType\2c\20SkColorSpace*\29 +5370:SkGlyph::setImage\28SkArenaAlloc*\2c\20SkScalerContext*\29 +5371:SkGlyph::setDrawable\28SkArenaAlloc*\2c\20SkScalerContext*\29 +5372:SkGlyph::pathIsHairline\28\29\20const +5373:SkGlyph::mask\28SkPoint\29\20const +5374:SkGlyph::SkGlyph\28SkGlyph&&\29 +5375:SkGifDecoder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::SelectionPolicy\2c\20SkCodec::Result*\29 +5376:SkGifDecoder::IsGif\28void\20const*\2c\20unsigned\20long\29 +5377:SkGenerateDistanceFieldFromA8Image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20unsigned\20long\29 +5378:SkGaussFilter::SkGaussFilter\28double\29 +5379:SkFrameHolder::setAlphaAndRequiredFrame\28SkFrame*\29 +5380:SkFrame::fillIn\28SkCodec::FrameInfo*\2c\20bool\29\20const +5381:SkFontStyleSet_Custom::appendTypeface\28sk_sp\29 +5382:SkFontStyleSet_Custom::SkFontStyleSet_Custom\28SkString\29 +5383:SkFontScanner_FreeType::scanInstance\28SkStreamAsset*\2c\20int\2c\20int\2c\20SkString*\2c\20SkFontStyle*\2c\20bool*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29\20const +5384:SkFontScanner_FreeType::computeAxisValues\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\2c\20SkFontArguments::VariationPosition\2c\20int*\2c\20SkString\20const&\2c\20SkFontStyle*\2c\20SkFontArguments::VariationPosition::Coordinate\20const*\29 +5385:SkFontScanner_FreeType::SkFontScanner_FreeType\28\29 +5386:SkFontPriv::GetFontBounds\28SkFont\20const&\29 +5387:SkFontMgr::matchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +5388:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20int\29\20const +5389:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +5390:SkFontMgr::legacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +5391:SkFontDescriptor::SkFontStyleWidthForWidthAxisValue\28float\29 +5392:SkFontDescriptor::SkFontDescriptor\28\29 +5393:SkFont::setupForAsPaths\28SkPaint*\29 +5394:SkFont::setSkewX\28float\29 +5395:SkFont::setLinearMetrics\28bool\29 +5396:SkFont::setEmbolden\28bool\29 +5397:SkFont::operator==\28SkFont\20const&\29\20const +5398:SkFont::getPaths\28unsigned\20short\20const*\2c\20int\2c\20void\20\28*\29\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29\2c\20void*\29\20const +5399:SkFlattenable::RegisterFlattenablesIfNeeded\28\29 +5400:SkFlattenable::PrivateInitializer::InitEffects\28\29 +5401:SkFlattenable::NameToFactory\28char\20const*\29 +5402:SkFlattenable::FactoryToName\28sk_sp\20\28*\29\28SkReadBuffer&\29\29 +5403:SkFindQuadExtrema\28float\2c\20float\2c\20float\2c\20float*\29 +5404:SkFindCubicExtrema\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +5405:SkFactorySet::~SkFactorySet\28\29 +5406:SkEncoder::encodeRows\28int\29 +5407:SkEmptyPicture::approximateBytesUsed\28\29\20const +5408:SkEdgeClipper::clipQuad\28SkPoint\20const*\2c\20SkRect\20const&\29 +5409:SkEdgeClipper::ClipPath\28SkPath\20const&\2c\20SkRect\20const&\2c\20bool\2c\20void\20\28*\29\28SkEdgeClipper*\2c\20bool\2c\20void*\29\2c\20void*\29 +5410:SkEdgeBuilder::buildEdges\28SkPath\20const&\2c\20SkIRect\20const*\29 +5411:SkDynamicMemoryWStream::bytesWritten\28\29\20const +5412:SkDrawableList::newDrawableSnapshot\28\29 +5413:SkDrawTreatAAStrokeAsHairline\28float\2c\20SkMatrix\20const&\2c\20float*\29 +5414:SkDrawShadowMetrics::GetSpotShadowTransform\28SkPoint3\20const&\2c\20float\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkRect\20const&\2c\20bool\2c\20SkMatrix*\2c\20float*\29 +5415:SkDrawShadowMetrics::GetLocalBounds\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect*\29 +5416:SkDrawBase::drawPaint\28SkPaint\20const&\29\20const +5417:SkDrawBase::DrawToMask\28SkPath\20const&\2c\20SkIRect\20const&\2c\20SkMaskFilter\20const*\2c\20SkMatrix\20const*\2c\20SkMaskBuilder*\2c\20SkMaskBuilder::CreateMode\2c\20SkStrokeRec::InitStyle\29 +5418:SkDraw::drawSprite\28SkBitmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29\20const +5419:SkDiscretePathEffectImpl::flatten\28SkWriteBuffer&\29\20const +5420:SkDiscretePathEffect::Make\28float\2c\20float\2c\20unsigned\20int\29 +5421:SkDevice::getRelativeTransform\28SkDevice\20const&\29\20const +5422:SkDevice::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +5423:SkDevice::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +5424:SkDevice::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +5425:SkDevice::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +5426:SkDescriptor::addEntry\28unsigned\20int\2c\20unsigned\20long\2c\20void\20const*\29 +5427:SkDeque::Iter::next\28\29 +5428:SkDeque::Iter::Iter\28SkDeque\20const&\2c\20SkDeque::Iter::IterStart\29 +5429:SkData::MakeSubset\28SkData\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +5430:SkDashPath::InternalFilter\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20float\20const*\2c\20int\2c\20float\2c\20int\2c\20float\2c\20float\2c\20SkDashPath::StrokeRecApplication\29 +5431:SkDashPath::CalcDashParameters\28float\2c\20float\20const*\2c\20int\2c\20float*\2c\20int*\2c\20float*\2c\20float*\29 +5432:SkDRect::setBounds\28SkDQuad\20const&\2c\20SkDQuad\20const&\2c\20double\2c\20double\29 +5433:SkDRect::setBounds\28SkDCubic\20const&\2c\20SkDCubic\20const&\2c\20double\2c\20double\29 +5434:SkDRect::setBounds\28SkDConic\20const&\2c\20SkDConic\20const&\2c\20double\2c\20double\29 +5435:SkDQuad::subDivide\28double\2c\20double\29\20const +5436:SkDQuad::monotonicInY\28\29\20const +5437:SkDQuad::isLinear\28int\2c\20int\29\20const +5438:SkDQuad::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +5439:SkDPoint::approximatelyDEqual\28SkDPoint\20const&\29\20const +5440:SkDCurveSweep::setCurveHullSweep\28SkPath::Verb\29 +5441:SkDCurve::nearPoint\28SkPath::Verb\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29\20const +5442:SkDCubic::monotonicInX\28\29\20const +5443:SkDCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +5444:SkDCubic::hullIntersects\28SkDPoint\20const*\2c\20int\2c\20bool*\29\20const +5445:SkDConic::subDivide\28double\2c\20double\29\20const +5446:SkCubics::RootsReal\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +5447:SkCubicEdge::setCubicWithoutUpdate\28SkPoint\20const*\2c\20int\2c\20bool\29 +5448:SkCubicClipper::ChopMonoAtY\28SkPoint\20const*\2c\20float\2c\20float*\29 +5449:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20SkArenaAlloc*\2c\20sk_sp\29 +5450:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkArenaAlloc*\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +5451:SkContourMeasureIter::~SkContourMeasureIter\28\29 +5452:SkContourMeasureIter::SkContourMeasureIter\28SkPath\20const&\2c\20bool\2c\20float\29 +5453:SkContourMeasure::length\28\29\20const +5454:SkContourMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29\20const +5455:SkConic::BuildUnitArc\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRotationDirection\2c\20SkMatrix\20const*\2c\20SkConic*\29 +5456:SkComputeRadialSteps\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float*\2c\20float*\2c\20int*\29 +5457:SkCompressedDataSize\28SkTextureCompressionType\2c\20SkISize\2c\20skia_private::TArray*\2c\20bool\29 +5458:SkColorTypeValidateAlphaType\28SkColorType\2c\20SkAlphaType\2c\20SkAlphaType*\29 +5459:SkColorSpaceSingletonFactory::Make\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +5460:SkColorSpaceLuminance::Fetch\28float\29 +5461:SkColorSpace::toProfile\28skcms_ICCProfile*\29\20const +5462:SkColorSpace::makeLinearGamma\28\29\20const +5463:SkColorSpace::isSRGB\28\29\20const +5464:SkColorMatrix_RGB2YUV\28SkYUVColorSpace\2c\20float*\29 +5465:SkColorInfo::makeColorSpace\28sk_sp\29\20const +5466:SkColorFilterShader::SkColorFilterShader\28sk_sp\2c\20float\2c\20sk_sp\29 +5467:SkColor4fXformer::SkColor4fXformer\28SkGradientBaseShader\20const*\2c\20SkColorSpace*\2c\20bool\29 +5468:SkCoincidentSpans::extend\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +5469:SkCodecs::get_decoders_for_editing\28\29 +5470:SkCodec::outputScanline\28int\29\20const +5471:SkCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +5472:SkCodec::initializeColorXform\28SkImageInfo\20const&\2c\20SkEncodedInfo::Alpha\2c\20bool\29 +5473:SkChopQuadAtMaxCurvature\28SkPoint\20const*\2c\20SkPoint*\29 +5474:SkChopQuadAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +5475:SkChopMonoCubicAtX\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +5476:SkChopCubicAtInflections\28SkPoint\20const*\2c\20SkPoint*\29 +5477:SkCharToGlyphCache::findGlyphIndex\28int\29\20const +5478:SkCanvasPriv::WriteLattice\28void*\2c\20SkCanvas::Lattice\20const&\29 +5479:SkCanvasPriv::ReadLattice\28SkReadBuffer&\2c\20SkCanvas::Lattice*\29 +5480:SkCanvasPriv::GetDstClipAndMatrixCounts\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20int*\2c\20int*\29 +5481:SkCanvas::~SkCanvas\28\29 +5482:SkCanvas::skew\28float\2c\20float\29 +5483:SkCanvas::only_axis_aligned_saveBehind\28SkRect\20const*\29 +5484:SkCanvas::getDeviceClipBounds\28\29\20const +5485:SkCanvas::experimental_DrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +5486:SkCanvas::drawVertices\28sk_sp\20const&\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +5487:SkCanvas::drawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +5488:SkCanvas::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +5489:SkCanvas::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +5490:SkCanvas::drawImageNine\28SkImage\20const*\2c\20SkIRect\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +5491:SkCanvas::drawClippedToSaveBehind\28SkPaint\20const&\29 +5492:SkCanvas::drawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +5493:SkCanvas::didTranslate\28float\2c\20float\29 +5494:SkCanvas::clipShader\28sk_sp\2c\20SkClipOp\29 +5495:SkCanvas::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +5496:SkCanvas::SkCanvas\28sk_sp\29 +5497:SkCanvas::ImageSetEntry::ImageSetEntry\28\29 +5498:SkCachedData::SkCachedData\28void*\2c\20unsigned\20long\29 +5499:SkCachedData::SkCachedData\28unsigned\20long\2c\20SkDiscardableMemory*\29 +5500:SkCTMShader::isOpaque\28\29\20const +5501:SkBulkGlyphMetricsAndPaths::glyphs\28SkSpan\29 +5502:SkBmpStandardCodec::decodeIcoMask\28SkStream*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +5503:SkBmpMaskCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +5504:SkBmpDecoder::IsBmp\28void\20const*\2c\20unsigned\20long\29 +5505:SkBmpCodec::SkBmpCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +5506:SkBmpBaseCodec::SkBmpBaseCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +5507:SkBlurMask::ConvertRadiusToSigma\28float\29 +5508:SkBlurMask::ComputeBlurredScanline\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20unsigned\20int\2c\20float\29 +5509:SkBlurMask::BlurRect\28float\2c\20SkMaskBuilder*\2c\20SkRect\20const&\2c\20SkBlurStyle\2c\20SkIPoint*\2c\20SkMaskBuilder::CreateMode\29 +5510:SkBlockMemoryStream::getPosition\28\29\20const +5511:SkBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +5512:SkBlitter::Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +5513:SkBlitter::ChooseSprite\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkArenaAlloc*\2c\20sk_sp\29 +5514:SkBlenderBase::affectsTransparentBlack\28\29\20const +5515:SkBlendShader::~SkBlendShader\28\29.1 +5516:SkBlendShader::~SkBlendShader\28\29 +5517:SkBitmapImageGetPixelRef\28SkImage\20const*\29 +5518:SkBitmapDevice::SkBitmapDevice\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\2c\20void*\29 +5519:SkBitmapDevice::Create\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\2c\20SkRasterHandleAllocator*\29 +5520:SkBitmapCache::Rec::install\28SkBitmap*\29 +5521:SkBitmapCache::Rec::diagnostic_only_getDiscardable\28\29\20const +5522:SkBitmapCache::Find\28SkBitmapCacheDesc\20const&\2c\20SkBitmap*\29 +5523:SkBitmapCache::Alloc\28SkBitmapCacheDesc\20const&\2c\20SkImageInfo\20const&\2c\20SkPixmap*\29 +5524:SkBitmapCache::Add\28std::__2::unique_ptr\2c\20SkBitmap*\29 +5525:SkBitmap::setPixelRef\28sk_sp\2c\20int\2c\20int\29 +5526:SkBitmap::setAlphaType\28SkAlphaType\29 +5527:SkBitmap::reset\28\29 +5528:SkBitmap::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +5529:SkBitmap::getAddr\28int\2c\20int\29\20const +5530:SkBitmap::allocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +5531:SkBitmap::HeapAllocator::allocPixelRef\28SkBitmap*\29 +5532:SkBinaryWriteBuffer::writeFlattenable\28SkFlattenable\20const*\29 +5533:SkBinaryWriteBuffer::writeColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +5534:SkBigPicture::SkBigPicture\28SkRect\20const&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20sk_sp\2c\20unsigned\20long\29 +5535:SkBezierQuad::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +5536:SkBezierCubic::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +5537:SkBasicEdgeBuilder::~SkBasicEdgeBuilder\28\29 +5538:SkBaseShadowTessellator::finishPathPolygon\28\29 +5539:SkBaseShadowTessellator::computeConvexShadow\28float\2c\20float\2c\20bool\29 +5540:SkBaseShadowTessellator::computeConcaveShadow\28float\2c\20float\29 +5541:SkBaseShadowTessellator::clipUmbraPoint\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\29 +5542:SkBaseShadowTessellator::addInnerPoint\28SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20int*\29 +5543:SkBaseShadowTessellator::addEdge\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20bool\2c\20bool\29 +5544:SkBaseShadowTessellator::addArc\28SkPoint\20const&\2c\20float\2c\20bool\29 +5545:SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint\28\29 +5546:SkAutoCanvasMatrixPaint::SkAutoCanvasMatrixPaint\28SkCanvas*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\2c\20SkRect\20const&\29 +5547:SkAndroidCodecAdapter::~SkAndroidCodecAdapter\28\29 +5548:SkAndroidCodecAdapter::SkAndroidCodecAdapter\28SkCodec*\29 +5549:SkAndroidCodec::~SkAndroidCodec\28\29 +5550:SkAndroidCodec::getAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const*\29 +5551:SkAndroidCodec::SkAndroidCodec\28SkCodec*\29 +5552:SkAnalyticEdge::update\28int\2c\20bool\29 +5553:SkAnalyticEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5554:SkAnalyticEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\29 +5555:SkAAClip::operator=\28SkAAClip\20const&\29 +5556:SkAAClip::op\28SkIRect\20const&\2c\20SkClipOp\29 +5557:SkAAClip::Builder::flushRow\28bool\29 +5558:SkAAClip::Builder::finish\28SkAAClip*\29 +5559:SkAAClip::Builder::Blitter::~Blitter\28\29 +5560:SkAAClip::Builder::Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +5561:Sk2DPathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +5562:SimpleImageInfo*\20emscripten::internal::raw_constructor\28\29 +5563:SimpleFontStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle\20const&\29 +5564:SharedGenerator::isTextureGenerator\28\29 +5565:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29.1 +5566:RgnOper::addSpan\28int\2c\20int\20const*\2c\20int\20const*\29 +5567:PorterDuffXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +5568:PathSegment::init\28\29 +5569:PathAddVerbsPointsWeights\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +5570:ParseSingleImage +5571:ParseHeadersInternal +5572:PS_Conv_ASCIIHexDecode +5573:Op\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\2c\20SkPath*\29 +5574:OpAsWinding::markReverse\28Contour*\2c\20Contour*\29 +5575:OpAsWinding::getDirection\28Contour&\29 +5576:OpAsWinding::checkContainerChildren\28Contour*\2c\20Contour*\29 +5577:OffsetEdge::computeCrossingDistance\28OffsetEdge\20const*\29 +5578:OT::sbix::accelerator_t::get_png_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5579:OT::sbix::accelerator_t::choose_strike\28hb_font_t*\29\20const +5580:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5581:OT::hmtxvmtx::accelerator_t::get_advance_with_var_unscaled\28unsigned\20int\2c\20hb_font_t*\2c\20float*\29\20const +5582:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5583:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GPOS_impl::PosLookup\20const&\29 +5584:OT::hb_kern_machine_t::kern\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20bool\29\20const +5585:OT::hb_accelerate_subtables_context_t::return_t\20OT::Context::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5586:OT::hb_accelerate_subtables_context_t::return_t\20OT::ChainContext::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5587:OT::glyf_accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\29\20const +5588:OT::glyf_accelerator_t::get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29\20const +5589:OT::cmap::accelerator_t::get_variation_glyph\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +5590:OT::cff2::accelerator_templ_t>::accelerator_templ_t\28hb_face_t*\29 +5591:OT::cff2::accelerator_templ_t>::_fini\28\29 +5592:OT::cff1::lookup_expert_subset_charset_for_sid\28unsigned\20int\29 +5593:OT::cff1::lookup_expert_charset_for_sid\28unsigned\20int\29 +5594:OT::cff1::accelerator_templ_t>::~accelerator_templ_t\28\29 +5595:OT::cff1::accelerator_templ_t>::_fini\28\29 +5596:OT::TupleVariationData::unpack_points\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +5597:OT::SBIXStrike::get_glyph_blob\28unsigned\20int\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +5598:OT::RuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5599:OT::RuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +5600:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5601:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5602:OT::PaintTranslate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5603:OT::PaintSolid::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5604:OT::PaintSkewAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5605:OT::PaintSkew::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5606:OT::PaintScaleUniformAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5607:OT::PaintScaleUniform::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5608:OT::PaintScaleAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5609:OT::PaintScale::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5610:OT::PaintRotateAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5611:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5612:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5613:OT::Lookup::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +5614:OT::Layout::propagate_attachment_offsets\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5615:OT::Layout::GSUB_impl::MultipleSubstFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5616:OT::Layout::GSUB_impl::Ligature::apply\28OT::hb_ot_apply_context_t*\29\20const +5617:OT::Layout::GPOS_impl::reverse_cursive_minor_offset\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5618:OT::Layout::GPOS_impl::MarkRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5619:OT::Layout::GPOS_impl::MarkBasePosFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5620:OT::Layout::GPOS_impl::AnchorMatrix::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5621:OT::IndexSubtableRecord::get_image_data\28unsigned\20int\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5622:OT::FeatureVariationRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5623:OT::FeatureParams::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5624:OT::ContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5625:OT::ContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5626:OT::ContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5627:OT::ContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5628:OT::ColorStop::get_color_stop\28OT::hb_paint_context_t*\2c\20hb_color_stop_t*\2c\20unsigned\20int\2c\20OT::VarStoreInstancer\20const&\29\20const +5629:OT::ColorLine::static_get_extend\28hb_color_line_t*\2c\20void*\2c\20void*\29 +5630:OT::ChainRuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5631:OT::ChainRuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5632:OT::ChainRuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5633:OT::ChainContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5634:OT::ChainContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5635:OT::ChainContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5636:OT::ChainContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5637:OT::CBDT::accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5638:OT::Affine2x3::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5639:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29 +5640:Load_SBit_Png +5641:LineCubicIntersections::intersectRay\28double*\29 +5642:LineCubicIntersections::VerticalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5643:LineCubicIntersections::HorizontalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5644:Launch +5645:JpegDecoderMgr::returnFalse\28char\20const*\29 +5646:JpegDecoderMgr::getEncodedColor\28SkEncodedInfo::Color*\29 +5647:JSObjectFromLineMetrics\28skia::textlayout::LineMetrics&\29 +5648:JSObjectFromGlyphInfo\28skia::textlayout::Paragraph::GlyphInfo&\29 +5649:Ins_DELTAP +5650:HandleCoincidence\28SkOpContourHead*\2c\20SkOpCoincidence*\29 +5651:GrWritePixelsTask::~GrWritePixelsTask\28\29 +5652:GrWaitRenderTask::~GrWaitRenderTask\28\29 +5653:GrVertexBufferAllocPool::makeSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +5654:GrVertexBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5655:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20SkPathFillType\2c\20skgpu::VertexWriter\29\20const +5656:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20GrEagerVertexAllocator*\29\20const +5657:GrTriangulator::mergeEdgesBelow\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5658:GrTriangulator::mergeEdgesAbove\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5659:GrTriangulator::makeSortedVertex\28SkPoint\20const&\2c\20unsigned\20char\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29\20const +5660:GrTriangulator::makeEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\29 +5661:GrTriangulator::computeBisector\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\29\20const +5662:GrTriangulator::appendQuadraticToContour\28SkPoint\20const*\2c\20float\2c\20GrTriangulator::VertexList*\29\20const +5663:GrTriangulator::SortMesh\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +5664:GrTriangulator::FindEnclosingEdges\28GrTriangulator::Vertex\20const&\2c\20GrTriangulator::EdgeList\20const&\2c\20GrTriangulator::Edge**\2c\20GrTriangulator::Edge**\29 +5665:GrTriangulator::Edge::intersect\28GrTriangulator::Edge\20const&\2c\20SkPoint*\2c\20unsigned\20char*\29\20const +5666:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29 +5667:GrThreadSafeCache::~GrThreadSafeCache\28\29 +5668:GrThreadSafeCache::findVertsWithData\28skgpu::UniqueKey\20const&\29 +5669:GrThreadSafeCache::addVertsWithData\28skgpu::UniqueKey\20const&\2c\20sk_sp\2c\20bool\20\28*\29\28SkData*\2c\20SkData*\29\29 +5670:GrThreadSafeCache::Entry::set\28skgpu::UniqueKey\20const&\2c\20sk_sp\29 +5671:GrThreadSafeCache::CreateLazyView\28GrDirectContext*\2c\20GrColorType\2c\20SkISize\2c\20GrSurfaceOrigin\2c\20SkBackingFit\29 +5672:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29 +5673:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +5674:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28GrCaps\20const&\2c\20std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\2c\20std::__2::basic_string_view>\29 +5675:GrTextureProxyPriv::setDeferredUploader\28std::__2::unique_ptr>\29 +5676:GrTextureProxy::setUniqueKey\28GrProxyProvider*\2c\20skgpu::UniqueKey\20const&\29 +5677:GrTextureProxy::clearUniqueKey\28\29 +5678:GrTextureProxy::ProxiesAreCompatibleAsDynamicState\28GrSurfaceProxy\20const*\2c\20GrSurfaceProxy\20const*\29 +5679:GrTextureProxy::GrTextureProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29.1 +5680:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_1::operator\28\29\28int\2c\20GrSamplerState::WrapMode\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20float\29\20const +5681:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_2::operator\28\29\28GrTextureEffect::ShaderMode\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +5682:GrTexture::markMipmapsDirty\28\29 +5683:GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +5684:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29 +5685:GrSurfaceProxyPriv::exactify\28\29 +5686:GrSurfaceProxy::GrSurfaceProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5687:GrStyledShape::setInheritedKey\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +5688:GrStyledShape::asRRect\28SkRRect*\2c\20bool*\29\20const +5689:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20SkPaint\20const&\2c\20GrStyledShape::DoSimplify\29 +5690:GrStyle::~GrStyle\28\29 +5691:GrStyle::applyToPath\28SkPath*\2c\20SkStrokeRec::InitStyle*\2c\20SkPath\20const&\2c\20float\29\20const +5692:GrStyle::applyPathEffect\28SkPath*\2c\20SkStrokeRec*\2c\20SkPath\20const&\29\20const +5693:GrStencilSettings::SetClipBitSettings\28bool\29 +5694:GrStagingBufferManager::detachBuffers\28\29 +5695:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineStruct\28char\20const*\29 +5696:GrShape::simplify\28unsigned\20int\29 +5697:GrShape::conservativeContains\28SkRect\20const&\29\20const +5698:GrShape::closed\28\29\20const +5699:GrSWMaskHelper::toTextureView\28GrRecordingContext*\2c\20SkBackingFit\29 +5700:GrSWMaskHelper::drawShape\28GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5701:GrSWMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5702:GrResourceProvider::writePixels\28sk_sp\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\29\20const +5703:GrResourceProvider::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +5704:GrResourceProvider::prepareLevels\28GrBackendFormat\20const&\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\2c\20skia_private::AutoSTArray<14\2c\20GrMipLevel>*\2c\20skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>*\29\20const +5705:GrResourceProvider::getExactScratch\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5706:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5707:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20GrColorType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMipLevel\20const*\2c\20std::__2::basic_string_view>\29 +5708:GrResourceProvider::createApproxTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5709:GrResourceCache::~GrResourceCache\28\29 +5710:GrResourceCache::removeResource\28GrGpuResource*\29 +5711:GrResourceCache::processFreedGpuResources\28\29 +5712:GrResourceCache::insertResource\28GrGpuResource*\29 +5713:GrResourceCache::didChangeBudgetStatus\28GrGpuResource*\29 +5714:GrResourceAllocator::~GrResourceAllocator\28\29 +5715:GrResourceAllocator::planAssignment\28\29 +5716:GrResourceAllocator::expire\28unsigned\20int\29 +5717:GrRenderTask::makeSkippable\28\29 +5718:GrRenderTask::isInstantiated\28\29\20const +5719:GrRenderTarget::GrRenderTarget\28GrGpu*\2c\20SkISize\20const&\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20sk_sp\29 +5720:GrRecordingContext::init\28\29 +5721:GrRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\2c\20GrShaderCaps\20const&\29 +5722:GrQuadUtils::TessellationHelper::reset\28GrQuad\20const&\2c\20GrQuad\20const*\29 +5723:GrQuadUtils::TessellationHelper::outset\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad*\2c\20GrQuad*\29 +5724:GrQuadUtils::TessellationHelper::adjustDegenerateVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +5725:GrQuadUtils::TessellationHelper::OutsetRequest::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20GrQuad::Type\2c\20skvx::Vec<4\2c\20float>\20const&\29 +5726:GrQuadUtils::TessellationHelper::EdgeVectors::reset\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad::Type\29 +5727:GrQuadUtils::ClipToW0\28DrawQuad*\2c\20DrawQuad*\29 +5728:GrQuad::bounds\28\29\20const +5729:GrProxyProvider::~GrProxyProvider\28\29 +5730:GrProxyProvider::wrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\2c\20sk_sp\29 +5731:GrProxyProvider::removeUniqueKeyFromProxy\28GrTextureProxy*\29 +5732:GrProxyProvider::processInvalidUniqueKeyImpl\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\2c\20GrProxyProvider::RemoveTableEntry\29 +5733:GrProxyProvider::createLazyProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20GrInternalSurfaceFlags\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5734:GrProxyProvider::contextID\28\29\20const +5735:GrProxyProvider::adoptUniqueKeyFromSurface\28GrTextureProxy*\2c\20GrSurface\20const*\29 +5736:GrPixmapBase::clip\28SkISize\2c\20SkIPoint*\29 +5737:GrPixmap::GrPixmap\28GrImageInfo\2c\20sk_sp\2c\20unsigned\20long\29 +5738:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20sk_sp\2c\20GrAppliedHardClip\20const&\29 +5739:GrPersistentCacheUtils::GetType\28SkReadBuffer*\29 +5740:GrPathUtils::QuadUVMatrix::set\28SkPoint\20const*\29 +5741:GrPathTessellationShader::MakeStencilOnlyPipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedHardClip\20const&\2c\20GrPipeline::InputFlags\29 +5742:GrPaint::setCoverageSetOpXPFactory\28SkRegion::Op\2c\20bool\29 +5743:GrOvalOpFactory::MakeOvalOp\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\2c\20GrShaderCaps\20const*\29 +5744:GrOpsRenderPass::drawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +5745:GrOpsRenderPass::drawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5746:GrOpsRenderPass::drawIndexPattern\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5747:GrOpFlushState::reset\28\29 +5748:GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp\28GrOp\20const*\2c\20SkRect\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +5749:GrOpFlushState::addASAPUpload\28std::__2::function&\29>&&\29 +5750:GrOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5751:GrOp::combineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5752:GrOnFlushResourceProvider::instantiateProxy\28GrSurfaceProxy*\29 +5753:GrMeshDrawTarget::allocMesh\28\29 +5754:GrMeshDrawOp::PatternHelper::init\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +5755:GrMeshDrawOp::CombinedQuadCountWillOverflow\28GrAAType\2c\20bool\2c\20int\29 +5756:GrMemoryPool::allocate\28unsigned\20long\29 +5757:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::changed\28\29 +5758:GrIndexBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20int*\29 +5759:GrIndexBufferAllocPool::makeSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5760:GrImageInfo::refColorSpace\28\29\20const +5761:GrImageInfo::minRowBytes\28\29\20const +5762:GrImageInfo::makeDimensions\28SkISize\29\20const +5763:GrImageInfo::bpp\28\29\20const +5764:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20int\2c\20int\29 +5765:GrImageContext::abandonContext\28\29 +5766:GrGpuResource::makeBudgeted\28\29 +5767:GrGpuResource::getResourceName\28\29\20const +5768:GrGpuResource::abandon\28\29 +5769:GrGpuResource::CreateUniqueID\28\29 +5770:GrGpu::~GrGpu\28\29 +5771:GrGpu::regenerateMipMapLevels\28GrTexture*\29 +5772:GrGpu::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5773:GrGpu::createTextureCommon\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5774:GrGeometryProcessor::AttributeSet::addToKey\28skgpu::KeyBuilder*\29\20const +5775:GrGLVertexArray::invalidateCachedState\28\29 +5776:GrGLTextureParameters::invalidate\28\29 +5777:GrGLTexture::MakeWrapped\28GrGLGpu*\2c\20GrMipmapStatus\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrWrapCacheable\2c\20GrIOType\2c\20std::__2::basic_string_view>\29 +5778:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20skgpu::Budgeted\2c\20GrGLTexture::Desc\20const&\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5779:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5780:GrGLSLVaryingHandler::getFragDecls\28SkString*\2c\20SkString*\29\20const +5781:GrGLSLVaryingHandler::addAttribute\28GrShaderVar\20const&\29 +5782:GrGLSLUniformHandler::liftUniformToVertexShader\28GrProcessor\20const&\2c\20SkString\29 +5783:GrGLSLShaderBuilder::finalize\28unsigned\20int\29 +5784:GrGLSLShaderBuilder::emitFunction\28char\20const*\2c\20char\20const*\29 +5785:GrGLSLShaderBuilder::emitFunctionPrototype\28char\20const*\29 +5786:GrGLSLShaderBuilder::appendTextureLookupAndBlend\28char\20const*\2c\20SkBlendMode\2c\20GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +5787:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29::$_0::operator\28\29\28char\20const*\2c\20GrResourceHandle\2c\20skcms_TFType\29\20const +5788:GrGLSLShaderBuilder::addLayoutQualifier\28char\20const*\2c\20GrGLSLShaderBuilder::InterfaceQualifier\29 +5789:GrGLSLShaderBuilder::GrGLSLShaderBuilder\28GrGLSLProgramBuilder*\29 +5790:GrGLSLProgramDataManager::setRuntimeEffectUniforms\28SkSpan\2c\20SkSpan\20const>\2c\20SkSpan\2c\20void\20const*\29\20const +5791:GrGLSLProgramBuilder::~GrGLSLProgramBuilder\28\29 +5792:GrGLSLBlend::SetBlendModeUniformData\28GrGLSLProgramDataManager\20const&\2c\20GrResourceHandle\2c\20SkBlendMode\29 +5793:GrGLSLBlend::BlendExpression\28GrProcessor\20const*\2c\20GrGLSLUniformHandler*\2c\20GrResourceHandle*\2c\20char\20const*\2c\20char\20const*\2c\20SkBlendMode\29 +5794:GrGLRenderTarget::GrGLRenderTarget\28GrGLGpu*\2c\20SkISize\20const&\2c\20GrGLFormat\2c\20int\2c\20GrGLRenderTarget::IDs\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5795:GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5796:GrGLProgramDataManager::set2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5797:GrGLProgramBuilder::uniformHandler\28\29 +5798:GrGLProgramBuilder::PrecompileProgram\28GrDirectContext*\2c\20GrGLPrecompiledProgram*\2c\20SkData\20const&\29::$_0::operator\28\29\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29\20const +5799:GrGLProgramBuilder::CreateProgram\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrGLPrecompiledProgram\20const*\29 +5800:GrGLProgram::~GrGLProgram\28\29 +5801:GrGLMakeAssembledWebGLInterface\28void*\2c\20void\20\28*\20\28*\29\28void*\2c\20char\20const*\29\29\28\29\29 +5802:GrGLGpu::~GrGLGpu\28\29 +5803:GrGLGpu::uploadTexData\28SkISize\2c\20unsigned\20int\2c\20SkIRect\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\2c\20GrMipLevel\20const*\2c\20int\29 +5804:GrGLGpu::uploadCompressedTexData\28SkTextureCompressionType\2c\20GrGLFormat\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20unsigned\20int\2c\20void\20const*\2c\20unsigned\20long\29 +5805:GrGLGpu::uploadColorToTex\28GrGLFormat\2c\20SkISize\2c\20unsigned\20int\2c\20std::__2::array\2c\20unsigned\20int\29 +5806:GrGLGpu::readOrTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20int\29 +5807:GrGLGpu::getCompatibleStencilIndex\28GrGLFormat\29 +5808:GrGLGpu::deleteSync\28__GLsync*\29 +5809:GrGLGpu::createRenderTargetObjects\28GrGLTexture::Desc\20const&\2c\20int\2c\20GrGLRenderTarget::IDs*\29 +5810:GrGLGpu::createCompressedTexture2D\28SkISize\2c\20SkTextureCompressionType\2c\20GrGLFormat\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrGLTextureParameters::SamplerOverriddenState*\29 +5811:GrGLGpu::bindFramebuffer\28unsigned\20int\2c\20unsigned\20int\29 +5812:GrGLGpu::ProgramCache::reset\28\29 +5813:GrGLGpu::ProgramCache::findOrCreateProgramImpl\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrThreadSafePipelineBuilder::Stats::ProgramCacheResult*\29 +5814:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29 +5815:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\29 +5816:GrGLFormatIsCompressed\28GrGLFormat\29 +5817:GrGLFinishCallbacks::check\28\29 +5818:GrGLContext::~GrGLContext\28\29.1 +5819:GrGLContext::~GrGLContext\28\29 +5820:GrGLCaps::~GrGLCaps\28\29 +5821:GrGLCaps::getTexSubImageExternalFormatAndType\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5822:GrGLCaps::getTexSubImageDefaultFormatTypeAndColorType\28GrGLFormat\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20GrColorType*\29\20const +5823:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrGLFormat\29\20const +5824:GrGLCaps::formatSupportsTexStorage\28GrGLFormat\29\20const +5825:GrGLCaps::canCopyAsDraw\28GrGLFormat\2c\20bool\2c\20bool\29\20const +5826:GrGLCaps::canCopyAsBlit\28GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20SkRect\20const&\2c\20bool\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29\20const +5827:GrFragmentProcessor::~GrFragmentProcessor\28\29 +5828:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5829:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5830:GrFragmentProcessor::ProgramImpl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +5831:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::Make\28std::__2::unique_ptr>\29 +5832:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5833:GrFragmentProcessor::ClampOutput\28std::__2::unique_ptr>\29 +5834:GrFixedClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +5835:GrFixedClip::getConservativeBounds\28\29\20const +5836:GrFixedClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +5837:GrEagerDynamicVertexAllocator::unlock\28int\29 +5838:GrDynamicAtlas::readView\28GrCaps\20const&\29\20const +5839:GrDynamicAtlas::instantiate\28GrOnFlushResourceProvider*\2c\20sk_sp\29 +5840:GrDriverBugWorkarounds::GrDriverBugWorkarounds\28\29 +5841:GrDrawingManager::getLastRenderTask\28GrSurfaceProxy\20const*\29\20const +5842:GrDrawingManager::flush\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +5843:GrDrawOpAtlasConfig::atlasDimensions\28skgpu::MaskFormat\29\20const +5844:GrDrawOpAtlasConfig::GrDrawOpAtlasConfig\28int\2c\20unsigned\20long\29 +5845:GrDrawOpAtlas::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +5846:GrDrawOpAtlas::Make\28GrProxyProvider*\2c\20GrBackendFormat\20const&\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20int\2c\20int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20GrDrawOpAtlas::AllowMultitexturing\2c\20skgpu::PlotEvictionCallback*\2c\20std::__2::basic_string_view>\29 +5847:GrDistanceFieldA8TextGeoProc::onTextureSampler\28int\29\20const +5848:GrDistanceFieldA8TextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5849:GrDisableColorXPFactory::MakeXferProcessor\28\29 +5850:GrDirectContextPriv::validPMUPMConversionExists\28\29 +5851:GrDirectContext::~GrDirectContext\28\29 +5852:GrDirectContext::onGetSmallPathAtlasMgr\28\29 +5853:GrDirectContext::getResourceCacheLimits\28int*\2c\20unsigned\20long*\29\20const +5854:GrCopyRenderTask::~GrCopyRenderTask\28\29 +5855:GrCopyRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +5856:GrCopyBaseMipMapToView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Budgeted\29 +5857:GrContext_Base::threadSafeProxy\28\29 +5858:GrContext_Base::maxSurfaceSampleCountForColorType\28SkColorType\29\20const +5859:GrContext_Base::backend\28\29\20const +5860:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29 +5861:GrColorInfo::makeColorType\28GrColorType\29\20const +5862:GrColorInfo::isLinearlyBlended\28\29\20const +5863:GrColorFragmentProcessorAnalysis::GrColorFragmentProcessorAnalysis\28GrProcessorAnalysisColor\20const&\2c\20std::__2::unique_ptr>\20const*\2c\20int\29 +5864:GrClip::IsPixelAligned\28SkRect\20const&\29 +5865:GrCaps::surfaceSupportsWritePixels\28GrSurface\20const*\29\20const +5866:GrCaps::getDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\2c\20bool\29\20const +5867:GrCPixmap::GrCPixmap\28GrPixmap\20const&\29 +5868:GrBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\2c\20unsigned\20long*\29 +5869:GrBufferAllocPool::createBlock\28unsigned\20long\29 +5870:GrBufferAllocPool::CpuBufferCache::makeBuffer\28unsigned\20long\2c\20bool\29 +5871:GrBlurUtils::draw_shape_with_mask_filter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\29 +5872:GrBlurUtils::draw_mask\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrPaint&&\2c\20GrSurfaceProxyView\29 +5873:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29 +5874:GrBlurUtils::\28anonymous\20namespace\29::make_texture_effect\28GrCaps\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrSamplerState\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkISize\20const&\29 +5875:GrBitmapTextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5876:GrBicubicEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5877:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5878:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20std::__2::basic_string_view>\29 +5879:GrBackendTexture::operator=\28GrBackendTexture\20const&\29 +5880:GrBackendRenderTargets::MakeGL\28int\2c\20int\2c\20int\2c\20int\2c\20GrGLFramebufferInfo\20const&\29 +5881:GrBackendRenderTargets::GetGLFramebufferInfo\28GrBackendRenderTarget\20const&\2c\20GrGLFramebufferInfo*\29 +5882:GrBackendRenderTarget::~GrBackendRenderTarget\28\29 +5883:GrBackendRenderTarget::isProtected\28\29\20const +5884:GrBackendFormatBytesPerBlock\28GrBackendFormat\20const&\29 +5885:GrBackendFormat::makeTexture2D\28\29\20const +5886:GrBackendFormat::isMockStencilFormat\28\29\20const +5887:GrBackendFormat::MakeMock\28GrColorType\2c\20SkTextureCompressionType\2c\20bool\29 +5888:GrAuditTrail::opsCombined\28GrOp\20const*\2c\20GrOp\20const*\29 +5889:GrAttachment::ComputeSharedAttachmentUniqueKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::UniqueKey*\29 +5890:GrAtlasManager::~GrAtlasManager\28\29 +5891:GrAtlasManager::getViews\28skgpu::MaskFormat\2c\20unsigned\20int*\29 +5892:GrAtlasManager::freeAll\28\29 +5893:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::EventList*\2c\20GrTriangulator::Comparator\20const&\29\20const +5894:GrAATriangulator::collapseOverlapRegions\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\2c\20GrAATriangulator::EventComparator\29 +5895:GrAAConvexTessellator::quadTo\28SkPoint\20const*\29 +5896:GetVariationDesignPosition\28AutoFTAccess&\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20int\29 +5897:GetShapedLines\28skia::textlayout::Paragraph&\29 +5898:GetLargeValue +5899:FontMgrRunIterator::endOfCurrentRun\28\29\20const +5900:FontMgrRunIterator::atEnd\28\29\20const +5901:FinishRow +5902:FindUndone\28SkOpContourHead*\29 +5903:FT_Stream_Close +5904:FT_Sfnt_Table_Info +5905:FT_Render_Glyph_Internal +5906:FT_Remove_Module +5907:FT_Outline_Get_Orientation +5908:FT_Outline_EmboldenXY +5909:FT_New_Library +5910:FT_New_GlyphSlot +5911:FT_List_Iterate +5912:FT_List_Find +5913:FT_List_Finalize +5914:FT_GlyphLoader_CheckSubGlyphs +5915:FT_Get_Postscript_Name +5916:FT_Get_Paint_Layers +5917:FT_Get_PS_Font_Info +5918:FT_Get_Kerning +5919:FT_Get_Glyph_Name +5920:FT_Get_FSType_Flags +5921:FT_Get_Colorline_Stops +5922:FT_Get_Color_Glyph_ClipBox +5923:FT_Bitmap_Convert +5924:FT_Add_Default_Modules +5925:EllipticalRRectOp::~EllipticalRRectOp\28\29.1 +5926:EllipticalRRectOp::~EllipticalRRectOp\28\29 +5927:EllipticalRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5928:EllipticalRRectOp::RRect&\20skia_private::TArray::emplace_back\28EllipticalRRectOp::RRect&&\29 +5929:EllipticalRRectOp::EllipticalRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20SkPoint\2c\20bool\29 +5930:EllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5931:EllipseOp::EllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20EllipseOp::DeviceSpaceParams\20const&\2c\20SkStrokeRec\20const&\29 +5932:EllipseGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5933:DIEllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5934:DIEllipseOp::DIEllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20DIEllipseOp::DeviceSpaceParams\20const&\2c\20SkMatrix\20const&\29 +5935:CustomXP::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +5936:CustomXP::makeProgramImpl\28\29\20const::Impl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +5937:Cr_z_deflateReset +5938:Cr_z_deflate +5939:Cr_z_crc32_z +5940:CoverageSetOpXP::onIsEqual\28GrXferProcessor\20const&\29\20const +5941:CircularRRectOp::~CircularRRectOp\28\29.1 +5942:CircularRRectOp::~CircularRRectOp\28\29 +5943:CircularRRectOp::CircularRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +5944:CircleOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5945:CircleOp::CircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5946:CircleGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5947:CheckDecBuffer +5948:CFF::path_procs_t::rlineto\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +5949:CFF::dict_interpreter_t\2c\20CFF::interp_env_t>::interpret\28CFF::cff1_private_dict_values_base_t&\29 +5950:CFF::cff2_cs_opset_t::process_blend\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +5951:CFF::FDSelect3_4\2c\20OT::IntType>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5952:CFF::Charset::get_sid\28unsigned\20int\2c\20unsigned\20int\2c\20CFF::code_pair_t*\29\20const +5953:CFF::CFFIndex>::get_size\28\29\20const +5954:CFF::CFF2FDSelect::get_fd\28unsigned\20int\29\20const +5955:ButtCapDashedCircleOp::ButtCapDashedCircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5956:BuildHuffmanTable +5957:AutoLayerForImageFilter::addMaskFilterLayer\28SkRect\20const*\29 +5958:AsWinding\28SkPath\20const&\2c\20SkPath*\29 +5959:AngleWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20bool*\29 +5960:AddIntersectTs\28SkOpContour*\2c\20SkOpContour*\2c\20SkOpCoincidence*\29 +5961:ActiveEdgeList::replace\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +5962:ActiveEdgeList::remove\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5963:ActiveEdgeList::insert\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5964:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5965:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5966:AAT::TrackData::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5967:AAT::TrackData::get_tracking\28void\20const*\2c\20float\29\20const +5968:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5969:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5970:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5971:AAT::RearrangementSubtable::driver_context_t::transition\28AAT::StateTableDriver*\2c\20AAT::Entry\20const&\29 +5972:AAT::NoncontextualSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +5973:AAT::Lookup>::sanitize\28hb_sanitize_context_t*\29\20const +5974:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +5975:AAT::InsertionSubtable::driver_context_t::transition\28AAT::StateTableDriver::EntryData>*\2c\20AAT::Entry::EntryData>\20const&\29 +5976:ycck_cmyk_convert +5977:ycc_rgb_convert +5978:ycc_rgb565_convert +5979:ycc_rgb565D_convert +5980:xyzd50_to_lab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5981:xyzd50_to_hcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5982:wuffs_gif__decoder__tell_me_more +5983:wuffs_gif__decoder__set_report_metadata +5984:wuffs_gif__decoder__num_decoded_frame_configs +5985:wuffs_base__pixel_swizzler__xxxxxxxx__index_binary_alpha__src_over +5986:wuffs_base__pixel_swizzler__xxxxxxxx__index__src +5987:wuffs_base__pixel_swizzler__xxxx__index_binary_alpha__src_over +5988:wuffs_base__pixel_swizzler__xxxx__index__src +5989:wuffs_base__pixel_swizzler__xxx__index_binary_alpha__src_over +5990:wuffs_base__pixel_swizzler__xxx__index__src +5991:wuffs_base__pixel_swizzler__transparent_black_src_over +5992:wuffs_base__pixel_swizzler__transparent_black_src +5993:wuffs_base__pixel_swizzler__copy_1_1 +5994:wuffs_base__pixel_swizzler__bgr_565__index_binary_alpha__src_over +5995:wuffs_base__pixel_swizzler__bgr_565__index__src +5996:webgl_get_gl_proc\28void*\2c\20char\20const*\29 +5997:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\2c\20int&&\29 +5998:void\20std::__2::__call_once_proxy\5babi:v160004\5d>\28void*\29 +5999:void\20std::__2::__call_once_proxy\5babi:v160004\5d>\28void*\29 +6000:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +6001:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +6002:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +6003:void\20emscripten::internal::raw_destructor\28SkVertices::Builder*\29 +6004:void\20emscripten::internal::raw_destructor\28SkRuntimeEffect::TracedShader*\29 +6005:void\20emscripten::internal::raw_destructor\28SkPictureRecorder*\29 +6006:void\20emscripten::internal::raw_destructor\28SkPath*\29 +6007:void\20emscripten::internal::raw_destructor\28SkPaint*\29 +6008:void\20emscripten::internal::raw_destructor\28SkContourMeasureIter*\29 +6009:void\20emscripten::internal::raw_destructor\28SimpleImageInfo*\29 +6010:void\20emscripten::internal::MemberAccess::setWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleTextStyle*\29 +6011:void\20emscripten::internal::MemberAccess::setWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleStrutStyle*\29 +6012:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo&\2c\20sk_sp*\29 +6013:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::TypefaceFontProvider*\29 +6014:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::ParagraphBuilderImpl*\29 +6015:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::Paragraph*\29 +6016:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::FontCollection*\29 +6017:void\20const*\20emscripten::internal::getActualType\28SkVertices*\29 +6018:void\20const*\20emscripten::internal::getActualType\28SkVertices::Builder*\29 +6019:void\20const*\20emscripten::internal::getActualType\28SkTypeface*\29 +6020:void\20const*\20emscripten::internal::getActualType\28SkTextBlob*\29 +6021:void\20const*\20emscripten::internal::getActualType\28SkSurface*\29 +6022:void\20const*\20emscripten::internal::getActualType\28SkShader*\29 +6023:void\20const*\20emscripten::internal::getActualType\28SkSL::DebugTrace*\29 +6024:void\20const*\20emscripten::internal::getActualType\28SkRuntimeEffect*\29 +6025:void\20const*\20emscripten::internal::getActualType\28SkPictureRecorder*\29 +6026:void\20const*\20emscripten::internal::getActualType\28SkPicture*\29 +6027:void\20const*\20emscripten::internal::getActualType\28SkPathEffect*\29 +6028:void\20const*\20emscripten::internal::getActualType\28SkPath*\29 +6029:void\20const*\20emscripten::internal::getActualType\28SkPaint*\29 +6030:void\20const*\20emscripten::internal::getActualType\28SkMaskFilter*\29 +6031:void\20const*\20emscripten::internal::getActualType\28SkImageFilter*\29 +6032:void\20const*\20emscripten::internal::getActualType\28SkImage*\29 +6033:void\20const*\20emscripten::internal::getActualType\28SkFontMgr*\29 +6034:void\20const*\20emscripten::internal::getActualType\28SkFont*\29 +6035:void\20const*\20emscripten::internal::getActualType\28SkContourMeasureIter*\29 +6036:void\20const*\20emscripten::internal::getActualType\28SkContourMeasure*\29 +6037:void\20const*\20emscripten::internal::getActualType\28SkColorSpace*\29 +6038:void\20const*\20emscripten::internal::getActualType\28SkColorFilter*\29 +6039:void\20const*\20emscripten::internal::getActualType\28SkCanvas*\29 +6040:void\20const*\20emscripten::internal::getActualType\28SkBlender*\29 +6041:void\20const*\20emscripten::internal::getActualType\28SkAnimatedImage*\29 +6042:void\20const*\20emscripten::internal::getActualType\28GrDirectContext*\29 +6043:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6044:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6045:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6046:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6047:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6048:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6049:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6050:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6051:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6052:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6053:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6054:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6055:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6056:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6057:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6058:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6059:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6060:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6061:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6062:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6063:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6064:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6065:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6066:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6067:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6068:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6069:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6070:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6071:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6072:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6073:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6074:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6075:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6076:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6077:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6078:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6079:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6080:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6081:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6082:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6083:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6084:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6085:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6086:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6087:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6088:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6089:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6090:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6091:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6092:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6093:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6094:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6095:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6096:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6097:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6098:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6099:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6100:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6101:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6102:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6103:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6104:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6105:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6106:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6107:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6108:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6109:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6110:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6111:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6112:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6113:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6114:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6115:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6116:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6117:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6118:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6119:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6120:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6121:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6122:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6123:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6124:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6125:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6126:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6127:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6128:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6129:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6130:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6131:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6132:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6133:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6134:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6135:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6136:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6137:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6138:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6139:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6140:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6141:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6142:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6143:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6144:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6145:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6146:void\20SkSwizzler::SkipLeading8888ZerosThen<&sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6147:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6148:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6149:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6150:void\20SkSwizzler::SkipLeading8888ZerosThen<©\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6151:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +6152:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +6153:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29.1 +6154:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29 +6155:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29.1 +6156:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29 +6157:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +6158:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +6159:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +6160:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +6161:virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +6162:virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +6163:virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +6164:virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +6165:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29.1 +6166:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29 +6167:virtual\20thunk\20to\20GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +6168:virtual\20thunk\20to\20GrTextureProxy::instantiate\28GrResourceProvider*\29 +6169:virtual\20thunk\20to\20GrTextureProxy::getUniqueKey\28\29\20const +6170:virtual\20thunk\20to\20GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +6171:virtual\20thunk\20to\20GrTextureProxy::callbackDesc\28\29\20const +6172:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29\20const +6173:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29 +6174:virtual\20thunk\20to\20GrTexture::onGpuMemorySize\28\29\20const +6175:virtual\20thunk\20to\20GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +6176:virtual\20thunk\20to\20GrTexture::asTexture\28\29\20const +6177:virtual\20thunk\20to\20GrTexture::asTexture\28\29 +6178:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +6179:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +6180:virtual\20thunk\20to\20GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +6181:virtual\20thunk\20to\20GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +6182:virtual\20thunk\20to\20GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +6183:virtual\20thunk\20to\20GrRenderTargetProxy::callbackDesc\28\29\20const +6184:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29\20const +6185:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29 +6186:virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +6187:virtual\20thunk\20to\20GrRenderTarget::onAbandon\28\29 +6188:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29\20const +6189:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29 +6190:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +6191:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +6192:virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +6193:virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +6194:virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +6195:virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6196:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29.1 +6197:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29 +6198:virtual\20thunk\20to\20GrGLTexture::onRelease\28\29 +6199:virtual\20thunk\20to\20GrGLTexture::onAbandon\28\29 +6200:virtual\20thunk\20to\20GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6201:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +6202:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +6203:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::onFinalize\28\29 +6204:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +6205:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29 +6206:virtual\20thunk\20to\20GrGLRenderTarget::onRelease\28\29 +6207:virtual\20thunk\20to\20GrGLRenderTarget::onGpuMemorySize\28\29\20const +6208:virtual\20thunk\20to\20GrGLRenderTarget::onAbandon\28\29 +6209:virtual\20thunk\20to\20GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6210:virtual\20thunk\20to\20GrGLRenderTarget::backendFormat\28\29\20const +6211:utf8TextMapOffsetToNative\28UText\20const*\29 +6212:utf8TextMapIndexToUTF16\28UText\20const*\2c\20long\20long\29 +6213:utf8TextLength\28UText*\29 +6214:utf8TextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6215:utf8TextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6216:utext_openUTF8_74 +6217:ures_loc_resetLocales\28UEnumeration*\2c\20UErrorCode*\29 +6218:ures_loc_nextLocale\28UEnumeration*\2c\20int*\2c\20UErrorCode*\29 +6219:ures_loc_countLocales\28UEnumeration*\2c\20UErrorCode*\29 +6220:ures_loc_closeLocales\28UEnumeration*\29 +6221:ures_cleanup\28\29 +6222:unistrTextReplace\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t\20const*\2c\20int\2c\20UErrorCode*\29 +6223:unistrTextLength\28UText*\29 +6224:unistrTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6225:unistrTextCopy\28UText*\2c\20long\20long\2c\20long\20long\2c\20long\20long\2c\20signed\20char\2c\20UErrorCode*\29 +6226:unistrTextClose\28UText*\29 +6227:unistrTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6228:unistrTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +6229:uloc_kw_resetKeywords\28UEnumeration*\2c\20UErrorCode*\29 +6230:uloc_kw_nextKeyword\28UEnumeration*\2c\20int*\2c\20UErrorCode*\29 +6231:uloc_kw_countKeywords\28UEnumeration*\2c\20UErrorCode*\29 +6232:uloc_kw_closeKeywords\28UEnumeration*\29 +6233:uloc_key_type_cleanup\28\29 +6234:uloc_getDefault_74 +6235:uloc_forLanguageTag_74 +6236:uhash_hashUnicodeString_74 +6237:uhash_hashUChars_74 +6238:uhash_hashIChars_74 +6239:uhash_deleteHashtable_74 +6240:uhash_compareUnicodeString_74 +6241:uhash_compareUChars_74 +6242:uhash_compareLong_74 +6243:uhash_compareIChars_74 +6244:uenum_unextDefault_74 +6245:udata_cleanup\28\29 +6246:ucstrTextLength\28UText*\29 +6247:ucstrTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6248:ucstrTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6249:ubrk_setUText_74 +6250:ubrk_setText_74 +6251:ubrk_preceding_74 +6252:ubrk_open_74 +6253:ubrk_next_74 +6254:ubrk_getRuleStatus_74 +6255:ubrk_following_74 +6256:ubrk_first_74 +6257:ubrk_current_74 +6258:ubidi_reorderVisual_74 +6259:ubidi_openSized_74 +6260:ubidi_getLevelAt_74 +6261:ubidi_getLength_74 +6262:ubidi_getDirection_74 +6263:u_strToUpper_74 +6264:u_isspace_74 +6265:u_iscntrl_74 +6266:u_isWhitespace_74 +6267:u_errorName_74 +6268:tt_vadvance_adjust +6269:tt_slot_init +6270:tt_size_select +6271:tt_size_reset_iterator +6272:tt_size_request +6273:tt_size_init +6274:tt_size_done +6275:tt_sbit_decoder_load_png +6276:tt_sbit_decoder_load_compound +6277:tt_sbit_decoder_load_byte_aligned +6278:tt_sbit_decoder_load_bit_aligned +6279:tt_property_set +6280:tt_property_get +6281:tt_name_ascii_from_utf16 +6282:tt_name_ascii_from_other +6283:tt_hadvance_adjust +6284:tt_glyph_load +6285:tt_get_var_blend +6286:tt_get_interface +6287:tt_get_glyph_name +6288:tt_get_cmap_info +6289:tt_get_advances +6290:tt_face_set_sbit_strike +6291:tt_face_load_strike_metrics +6292:tt_face_load_sbit_image +6293:tt_face_load_sbit +6294:tt_face_load_post +6295:tt_face_load_pclt +6296:tt_face_load_os2 +6297:tt_face_load_name +6298:tt_face_load_maxp +6299:tt_face_load_kern +6300:tt_face_load_hmtx +6301:tt_face_load_hhea +6302:tt_face_load_head +6303:tt_face_load_gasp +6304:tt_face_load_font_dir +6305:tt_face_load_cpal +6306:tt_face_load_colr +6307:tt_face_load_cmap +6308:tt_face_load_bhed +6309:tt_face_load_any +6310:tt_face_init +6311:tt_face_goto_table +6312:tt_face_get_paint_layers +6313:tt_face_get_paint +6314:tt_face_get_kerning +6315:tt_face_get_colr_layer +6316:tt_face_get_colr_glyph_paint +6317:tt_face_get_colorline_stops +6318:tt_face_get_color_glyph_clipbox +6319:tt_face_free_sbit +6320:tt_face_free_ps_names +6321:tt_face_free_name +6322:tt_face_free_cpal +6323:tt_face_free_colr +6324:tt_face_done +6325:tt_face_colr_blend_layer +6326:tt_driver_init +6327:tt_cvt_ready_iterator +6328:tt_cmap_unicode_init +6329:tt_cmap_unicode_char_next +6330:tt_cmap_unicode_char_index +6331:tt_cmap_init +6332:tt_cmap8_validate +6333:tt_cmap8_get_info +6334:tt_cmap8_char_next +6335:tt_cmap8_char_index +6336:tt_cmap6_validate +6337:tt_cmap6_get_info +6338:tt_cmap6_char_next +6339:tt_cmap6_char_index +6340:tt_cmap4_validate +6341:tt_cmap4_init +6342:tt_cmap4_get_info +6343:tt_cmap4_char_next +6344:tt_cmap4_char_index +6345:tt_cmap2_validate +6346:tt_cmap2_get_info +6347:tt_cmap2_char_next +6348:tt_cmap2_char_index +6349:tt_cmap14_variants +6350:tt_cmap14_variant_chars +6351:tt_cmap14_validate +6352:tt_cmap14_init +6353:tt_cmap14_get_info +6354:tt_cmap14_done +6355:tt_cmap14_char_variants +6356:tt_cmap14_char_var_isdefault +6357:tt_cmap14_char_var_index +6358:tt_cmap14_char_next +6359:tt_cmap13_validate +6360:tt_cmap13_get_info +6361:tt_cmap13_char_next +6362:tt_cmap13_char_index +6363:tt_cmap12_validate +6364:tt_cmap12_get_info +6365:tt_cmap12_char_next +6366:tt_cmap12_char_index +6367:tt_cmap10_validate +6368:tt_cmap10_get_info +6369:tt_cmap10_char_next +6370:tt_cmap10_char_index +6371:tt_cmap0_validate +6372:tt_cmap0_get_info +6373:tt_cmap0_char_next +6374:tt_cmap0_char_index +6375:transform_scanline_rgbA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6376:transform_scanline_memcpy\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6377:transform_scanline_bgra_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6378:transform_scanline_bgra_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6379:transform_scanline_bgra_10101010_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6380:transform_scanline_bgr_101010x_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6381:transform_scanline_bgr_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6382:transform_scanline_bgrA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6383:transform_scanline_RGBX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6384:transform_scanline_F32_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6385:transform_scanline_F32\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6386:transform_scanline_F16_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6387:transform_scanline_F16\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6388:transform_scanline_BGRX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6389:transform_scanline_BGRA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6390:transform_scanline_A8_to_GrayAlpha\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6391:transform_scanline_565\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6392:transform_scanline_444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6393:transform_scanline_4444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6394:transform_scanline_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6395:transform_scanline_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6396:transform_scanline_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6397:t2_hints_stems +6398:t2_hints_open +6399:t1_make_subfont +6400:t1_hints_stem +6401:t1_hints_open +6402:t1_decrypt +6403:t1_decoder_parse_metrics +6404:t1_decoder_init +6405:t1_decoder_done +6406:t1_cmap_unicode_init +6407:t1_cmap_unicode_char_next +6408:t1_cmap_unicode_char_index +6409:t1_cmap_std_done +6410:t1_cmap_std_char_next +6411:t1_cmap_std_char_index +6412:t1_cmap_standard_init +6413:t1_cmap_expert_init +6414:t1_cmap_custom_init +6415:t1_cmap_custom_done +6416:t1_cmap_custom_char_next +6417:t1_cmap_custom_char_index +6418:t1_builder_start_point +6419:t1_builder_init +6420:t1_builder_add_point1 +6421:t1_builder_add_point +6422:t1_builder_add_contour +6423:swizzle_small_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6424:swizzle_small_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6425:swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6426:swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6427:swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6428:swizzle_rgba16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6429:swizzle_rgba16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6430:swizzle_rgba16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6431:swizzle_rgba16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6432:swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6433:swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6434:swizzle_rgb_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6435:swizzle_rgb16_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6436:swizzle_rgb16_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6437:swizzle_rgb16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6438:swizzle_mask32_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6439:swizzle_mask32_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6440:swizzle_mask32_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6441:swizzle_mask32_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6442:swizzle_mask32_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6443:swizzle_mask32_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6444:swizzle_mask32_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6445:swizzle_mask24_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6446:swizzle_mask24_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6447:swizzle_mask24_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6448:swizzle_mask24_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6449:swizzle_mask24_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6450:swizzle_mask24_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6451:swizzle_mask24_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6452:swizzle_mask16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6453:swizzle_mask16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6454:swizzle_mask16_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6455:swizzle_mask16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6456:swizzle_mask16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6457:swizzle_mask16_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6458:swizzle_mask16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6459:swizzle_index_to_n32_skipZ\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6460:swizzle_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6461:swizzle_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6462:swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6463:swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6464:swizzle_grayalpha_to_a8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6465:swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6466:swizzle_gray_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6467:swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6468:swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6469:swizzle_cmyk_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6470:swizzle_bit_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6471:swizzle_bit_to_grayscale\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6472:swizzle_bit_to_f16\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6473:swizzle_bit_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6474:swizzle_bgr_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6475:string_read +6476:std::exception::what\28\29\20const +6477:std::bad_variant_access::what\28\29\20const +6478:std::bad_optional_access::what\28\29\20const +6479:std::bad_array_new_length::what\28\29\20const +6480:std::bad_alloc::what\28\29\20const +6481:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +6482:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +6483:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20tm\20const*\2c\20char\2c\20char\29\20const +6484:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20tm\20const*\2c\20char\2c\20char\29\20const +6485:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6486:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6487:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6488:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6489:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6490:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +6491:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6492:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6493:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6494:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6495:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6496:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +6497:std::__2::numpunct::~numpunct\28\29.1 +6498:std::__2::numpunct::do_truename\28\29\20const +6499:std::__2::numpunct::do_grouping\28\29\20const +6500:std::__2::numpunct::do_falsename\28\29\20const +6501:std::__2::numpunct::~numpunct\28\29.1 +6502:std::__2::numpunct::do_truename\28\29\20const +6503:std::__2::numpunct::do_thousands_sep\28\29\20const +6504:std::__2::numpunct::do_grouping\28\29\20const +6505:std::__2::numpunct::do_falsename\28\29\20const +6506:std::__2::numpunct::do_decimal_point\28\29\20const +6507:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20void\20const*\29\20const +6508:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\29\20const +6509:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\20long\29\20const +6510:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +6511:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +6512:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +6513:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20double\29\20const +6514:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20bool\29\20const +6515:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20void\20const*\29\20const +6516:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\29\20const +6517:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\20long\29\20const +6518:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +6519:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +6520:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +6521:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20double\29\20const +6522:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20bool\29\20const +6523:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +6524:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +6525:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +6526:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +6527:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6528:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +6529:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +6530:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +6531:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +6532:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +6533:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +6534:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +6535:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +6536:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6537:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +6538:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +6539:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +6540:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +6541:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6542:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +6543:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6544:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +6545:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +6546:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6547:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +6548:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6549:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6550:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6551:std::__2::locale::id::__init\28\29 +6552:std::__2::locale::__imp::~__imp\28\29.1 +6553:std::__2::ios_base::~ios_base\28\29.1 +6554:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +6555:std::__2::ctype::do_toupper\28wchar_t\29\20const +6556:std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +6557:std::__2::ctype::do_tolower\28wchar_t\29\20const +6558:std::__2::ctype::do_tolower\28wchar_t*\2c\20wchar_t\20const*\29\20const +6559:std::__2::ctype::do_scan_not\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6560:std::__2::ctype::do_scan_is\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6561:std::__2::ctype::do_narrow\28wchar_t\2c\20char\29\20const +6562:std::__2::ctype::do_narrow\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20char\2c\20char*\29\20const +6563:std::__2::ctype::do_is\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20unsigned\20long*\29\20const +6564:std::__2::ctype::do_is\28unsigned\20long\2c\20wchar_t\29\20const +6565:std::__2::ctype::~ctype\28\29.1 +6566:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +6567:std::__2::ctype::do_toupper\28char\29\20const +6568:std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +6569:std::__2::ctype::do_tolower\28char\29\20const +6570:std::__2::ctype::do_tolower\28char*\2c\20char\20const*\29\20const +6571:std::__2::ctype::do_narrow\28char\2c\20char\29\20const +6572:std::__2::ctype::do_narrow\28char\20const*\2c\20char\20const*\2c\20char\2c\20char*\29\20const +6573:std::__2::collate::do_transform\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6574:std::__2::collate::do_hash\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6575:std::__2::collate::do_compare\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6576:std::__2::collate::do_transform\28char\20const*\2c\20char\20const*\29\20const +6577:std::__2::collate::do_hash\28char\20const*\2c\20char\20const*\29\20const +6578:std::__2::collate::do_compare\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +6579:std::__2::codecvt::~codecvt\28\29.1 +6580:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +6581:std::__2::codecvt::do_out\28__mbstate_t&\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +6582:std::__2::codecvt::do_max_length\28\29\20const +6583:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +6584:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20wchar_t*\2c\20wchar_t*\2c\20wchar_t*&\29\20const +6585:std::__2::codecvt::do_encoding\28\29\20const +6586:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +6587:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29.1 +6588:std::__2::basic_stringbuf\2c\20std::__2::allocator>::underflow\28\29 +6589:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +6590:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +6591:std::__2::basic_stringbuf\2c\20std::__2::allocator>::pbackfail\28int\29 +6592:std::__2::basic_stringbuf\2c\20std::__2::allocator>::overflow\28int\29 +6593:std::__2::basic_streambuf>::~basic_streambuf\28\29.1 +6594:std::__2::basic_streambuf>::xsputn\28char\20const*\2c\20long\29 +6595:std::__2::basic_streambuf>::xsgetn\28char*\2c\20long\29 +6596:std::__2::basic_streambuf>::uflow\28\29 +6597:std::__2::basic_streambuf>::setbuf\28char*\2c\20long\29 +6598:std::__2::basic_streambuf>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +6599:std::__2::basic_streambuf>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +6600:std::__2::bad_function_call::what\28\29\20const +6601:std::__2::__time_get_c_storage::__x\28\29\20const +6602:std::__2::__time_get_c_storage::__weeks\28\29\20const +6603:std::__2::__time_get_c_storage::__r\28\29\20const +6604:std::__2::__time_get_c_storage::__months\28\29\20const +6605:std::__2::__time_get_c_storage::__c\28\29\20const +6606:std::__2::__time_get_c_storage::__am_pm\28\29\20const +6607:std::__2::__time_get_c_storage::__X\28\29\20const +6608:std::__2::__time_get_c_storage::__x\28\29\20const +6609:std::__2::__time_get_c_storage::__weeks\28\29\20const +6610:std::__2::__time_get_c_storage::__r\28\29\20const +6611:std::__2::__time_get_c_storage::__months\28\29\20const +6612:std::__2::__time_get_c_storage::__c\28\29\20const +6613:std::__2::__time_get_c_storage::__am_pm\28\29\20const +6614:std::__2::__time_get_c_storage::__X\28\29\20const +6615:std::__2::__shared_ptr_pointer<_IO_FILE*\2c\20void\20\28*\29\28_IO_FILE*\29\2c\20std::__2::allocator<_IO_FILE>>::__on_zero_shared\28\29 +6616:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6617:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6618:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6619:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6620:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6621:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6622:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6623:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6624:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6625:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6626:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6627:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6628:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6629:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6630:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6631:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6632:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6633:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6634:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6635:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6636:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6637:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6638:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6639:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6640:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6641:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6642:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6643:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6644:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6645:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6646:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6647:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6648:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6649:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6650:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6651:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6652:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6653:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6654:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6655:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6656:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6657:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6658:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6659:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6660:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6661:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6662:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6663:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6664:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6665:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6666:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6667:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6668:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6669:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6670:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6671:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6672:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6673:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6674:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6675:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6676:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6677:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6678:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6679:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6680:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6681:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6682:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6683:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6684:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6685:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6686:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6687:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29 +6688:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>*\29\20const +6689:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28\29\20const +6690:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::operator\28\29\28skia::textlayout::Cluster*&&\29 +6691:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28std::__2::__function::__base*\29\20const +6692:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28\29\20const +6693:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6694:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28\29\20const +6695:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20SkSpan&&\2c\20float&\2c\20unsigned\20long&&\2c\20unsigned\20char&&\29 +6696:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28std::__2::__function::__base\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>*\29\20const +6697:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +6698:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::operator\28\29\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29 +6699:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6700:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28\29\20const +6701:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::operator\28\29\28sk_sp&&\29 +6702:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6703:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28\29\20const +6704:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::operator\28\29\28skia::textlayout::SkRange&&\29 +6705:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6706:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28\29\20const +6707:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6708:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6709:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6710:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29.1 +6711:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29 +6712:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::operator\28\29\28void*&&\2c\20void\20const*&&\29 +6713:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy_deallocate\28\29 +6714:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy\28\29 +6715:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6716:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28\29\20const +6717:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6718:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6719:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6720:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6721:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6722:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6723:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6724:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6725:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6726:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6727:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6728:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6729:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6730:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6731:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6732:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6733:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6734:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6735:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*&&\2c\20int&&\2c\20int&&\2c\20skgpu::MaskFormat&&\2c\20int&&\29 +6736:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28std::__2::__function::__base\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>*\29\20const +6737:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28\29\20const +6738:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::operator\28\29\28GrSurfaceProxy\20const*&&\29 +6739:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6740:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28\29\20const +6741:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6742:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6743:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6744:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6745:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6746:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6747:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6748:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6749:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6750:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6751:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::operator\28\29\28\29 +6752:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6753:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28\29\20const +6754:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6755:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6756:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6757:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6758:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6759:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6760:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6761:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6762:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6763:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6764:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6765:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6766:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6767:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6768:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6769:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6770:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6771:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6772:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6773:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6774:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6775:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6776:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6777:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6778:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6779:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6780:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6781:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6782:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29.1 +6783:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29 +6784:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6785:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy_deallocate\28\29 +6786:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy\28\29 +6787:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6788:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6789:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6790:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6791:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6792:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::operator\28\29\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\29 +6793:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6794:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6795:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6796:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6797:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::operator\28\29\28SkVertices\20const*&&\2c\20SkBlendMode&&\2c\20SkPaint\20const&\2c\20float&&\2c\20float&&\2c\20bool&&\29 +6798:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6799:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28\29\20const +6800:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::operator\28\29\28SkIRect\20const&\29 +6801:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6802:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +6803:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::operator\28\29\28SkImageInfo\20const&\2c\20void*&&\2c\20unsigned\20long&&\2c\20SkCodec::Options\20const&\2c\20int&&\29 +6804:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6805:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28\29\20const +6806:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6807:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6808:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6809:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6810:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6811:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6812:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6813:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6814:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6815:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6816:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6817:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6818:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6819:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6820:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6821:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6822:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6823:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6824:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6825:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6826:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6827:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::operator\28\29\28GrTextureProxy*&&\2c\20SkIRect&&\2c\20GrColorType&&\2c\20void\20const*&&\2c\20unsigned\20long&&\29 +6828:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6829:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28\29\20const +6830:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::operator\28\29\28GrBackendTexture&&\29 +6831:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28std::__2::__function::__base*\29\20const +6832:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28\29\20const +6833:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6834:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6835:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6836:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6837:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6838:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6839:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6840:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6841:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6842:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6843:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6844:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6845:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6846:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6847:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6848:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6849:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6850:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6851:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6852:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6853:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6854:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6855:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6856:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6857:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6858:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6859:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +6860:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6861:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6862:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::operator\28\29\28int&&\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*&&\29 +6863:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6864:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +6865:start_pass_upsample +6866:start_pass_phuff_decoder +6867:start_pass_merged_upsample +6868:start_pass_main +6869:start_pass_huff_decoder +6870:start_pass_dpost +6871:start_pass_2_quant +6872:start_pass_1_quant +6873:start_pass +6874:start_output_pass +6875:start_input_pass.1 +6876:stackSave +6877:stackRestore +6878:srgb_to_hwb\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6879:srgb_to_hsl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6880:srcover_p\28unsigned\20char\2c\20unsigned\20char\29 +6881:sn_write +6882:sktext::gpu::post_purge_blob_message\28unsigned\20int\2c\20unsigned\20int\29 +6883:sktext::gpu::TextBlob::~TextBlob\28\29.1 +6884:sktext::gpu::TextBlob::~TextBlob\28\29 +6885:sktext::gpu::SubRun::~SubRun\28\29 +6886:sktext::gpu::SlugImpl::~SlugImpl\28\29.1 +6887:sktext::gpu::SlugImpl::~SlugImpl\28\29 +6888:sktext::gpu::SlugImpl::sourceBounds\28\29\20const +6889:sktext::gpu::SlugImpl::sourceBoundsWithOrigin\28\29\20const +6890:sktext::gpu::SlugImpl::doFlatten\28SkWriteBuffer&\29\20const +6891:sktext::gpu::SDFMaskFilterImpl::getTypeName\28\29\20const +6892:sktext::gpu::SDFMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +6893:sktext::gpu::SDFMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +6894:skip_variable +6895:skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +6896:skif::\28anonymous\20namespace\29::RasterBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6897:skif::\28anonymous\20namespace\29::RasterBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6898:skif::\28anonymous\20namespace\29::RasterBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6899:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +6900:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +6901:skif::\28anonymous\20namespace\29::GaneshBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6902:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +6903:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6904:skif::\28anonymous\20namespace\29::GaneshBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6905:skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +6906:skia_png_zalloc +6907:skia_png_write_rows +6908:skia_png_write_info +6909:skia_png_write_end +6910:skia_png_user_version_check +6911:skia_png_set_text +6912:skia_png_set_sRGB +6913:skia_png_set_keep_unknown_chunks +6914:skia_png_set_iCCP +6915:skia_png_set_gray_to_rgb +6916:skia_png_set_filter +6917:skia_png_set_filler +6918:skia_png_read_update_info +6919:skia_png_read_info +6920:skia_png_read_image +6921:skia_png_read_end +6922:skia_png_push_fill_buffer +6923:skia_png_process_data +6924:skia_png_default_write_data +6925:skia_png_default_read_data +6926:skia_png_default_flush +6927:skia_png_create_read_struct +6928:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29.1 +6929:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29 +6930:skia::textlayout::TypefaceFontStyleSet::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +6931:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29.1 +6932:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29 +6933:skia::textlayout::TypefaceFontProvider::onMatchFamily\28char\20const*\29\20const +6934:skia::textlayout::TypefaceFontProvider::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +6935:skia::textlayout::TypefaceFontProvider::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +6936:skia::textlayout::TypefaceFontProvider::onGetFamilyName\28int\2c\20SkString*\29\20const +6937:skia::textlayout::TypefaceFontProvider::onCreateStyleSet\28int\29\20const +6938:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29.1 +6939:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29 +6940:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6941:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6942:skia::textlayout::PositionWithAffinity*\20emscripten::internal::raw_constructor\28\29 +6943:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29.1 +6944:skia::textlayout::ParagraphImpl::visit\28std::__2::function\20const&\29 +6945:skia::textlayout::ParagraphImpl::updateTextAlign\28skia::textlayout::TextAlign\29 +6946:skia::textlayout::ParagraphImpl::updateForegroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6947:skia::textlayout::ParagraphImpl::updateFontSize\28unsigned\20long\2c\20unsigned\20long\2c\20float\29 +6948:skia::textlayout::ParagraphImpl::updateBackgroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6949:skia::textlayout::ParagraphImpl::unresolvedGlyphs\28\29 +6950:skia::textlayout::ParagraphImpl::unresolvedCodepoints\28\29 +6951:skia::textlayout::ParagraphImpl::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +6952:skia::textlayout::ParagraphImpl::paint\28SkCanvas*\2c\20float\2c\20float\29 +6953:skia::textlayout::ParagraphImpl::markDirty\28\29 +6954:skia::textlayout::ParagraphImpl::lineNumber\28\29 +6955:skia::textlayout::ParagraphImpl::layout\28float\29 +6956:skia::textlayout::ParagraphImpl::getWordBoundary\28unsigned\20int\29 +6957:skia::textlayout::ParagraphImpl::getRectsForRange\28unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +6958:skia::textlayout::ParagraphImpl::getRectsForPlaceholders\28\29 +6959:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6960:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29 +6961:skia::textlayout::ParagraphImpl::getLineNumberAt\28unsigned\20long\29\20const +6962:skia::textlayout::ParagraphImpl::getLineNumberAtUTF16Offset\28unsigned\20long\29 +6963:skia::textlayout::ParagraphImpl::getLineMetrics\28std::__2::vector>&\29 +6964:skia::textlayout::ParagraphImpl::getLineMetricsAt\28int\2c\20skia::textlayout::LineMetrics*\29\20const +6965:skia::textlayout::ParagraphImpl::getGlyphPositionAtCoordinate\28float\2c\20float\29 +6966:skia::textlayout::ParagraphImpl::getFonts\28\29\20const +6967:skia::textlayout::ParagraphImpl::getFontAt\28unsigned\20long\29\20const +6968:skia::textlayout::ParagraphImpl::getFontAtUTF16Offset\28unsigned\20long\29 +6969:skia::textlayout::ParagraphImpl::getClosestUTF16GlyphInfoAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +6970:skia::textlayout::ParagraphImpl::getClosestGlyphClusterAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +6971:skia::textlayout::ParagraphImpl::getActualTextRange\28int\2c\20bool\29\20const +6972:skia::textlayout::ParagraphImpl::extendedVisit\28std::__2::function\20const&\29 +6973:skia::textlayout::ParagraphImpl::containsEmoji\28SkTextBlob*\29 +6974:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29::$_0::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6975:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29 +6976:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29.1 +6977:skia::textlayout::ParagraphBuilderImpl::pushStyle\28skia::textlayout::TextStyle\20const&\29 +6978:skia::textlayout::ParagraphBuilderImpl::pop\28\29 +6979:skia::textlayout::ParagraphBuilderImpl::peekStyle\28\29 +6980:skia::textlayout::ParagraphBuilderImpl::getText\28\29 +6981:skia::textlayout::ParagraphBuilderImpl::getParagraphStyle\28\29\20const +6982:skia::textlayout::ParagraphBuilderImpl::addText\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +6983:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\2c\20unsigned\20long\29 +6984:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\29 +6985:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\29 +6986:skia::textlayout::ParagraphBuilderImpl::Reset\28\29 +6987:skia::textlayout::ParagraphBuilderImpl::RequiresClientICU\28\29 +6988:skia::textlayout::ParagraphBuilderImpl::Build\28\29 +6989:skia::textlayout::Paragraph::getMinIntrinsicWidth\28\29 +6990:skia::textlayout::Paragraph::getMaxWidth\28\29 +6991:skia::textlayout::Paragraph::getMaxIntrinsicWidth\28\29 +6992:skia::textlayout::Paragraph::getLongestLine\28\29 +6993:skia::textlayout::Paragraph::getIdeographicBaseline\28\29 +6994:skia::textlayout::Paragraph::getHeight\28\29 +6995:skia::textlayout::Paragraph::getAlphabeticBaseline\28\29 +6996:skia::textlayout::Paragraph::didExceedMaxLines\28\29 +6997:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29.1 +6998:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29 +6999:skia::textlayout::OneLineShaper::~OneLineShaper\28\29.1 +7000:skia::textlayout::OneLineShaper::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +7001:skia::textlayout::OneLineShaper::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +7002:skia::textlayout::LangIterator::~LangIterator\28\29.1 +7003:skia::textlayout::LangIterator::~LangIterator\28\29 +7004:skia::textlayout::LangIterator::endOfCurrentRun\28\29\20const +7005:skia::textlayout::LangIterator::currentLanguage\28\29\20const +7006:skia::textlayout::LangIterator::consume\28\29 +7007:skia::textlayout::LangIterator::atEnd\28\29\20const +7008:skia::textlayout::FontCollection::~FontCollection\28\29.1 +7009:skia::textlayout::CanvasParagraphPainter::translate\28float\2c\20float\29 +7010:skia::textlayout::CanvasParagraphPainter::save\28\29 +7011:skia::textlayout::CanvasParagraphPainter::restore\28\29 +7012:skia::textlayout::CanvasParagraphPainter::drawTextShadow\28sk_sp\20const&\2c\20float\2c\20float\2c\20unsigned\20int\2c\20float\29 +7013:skia::textlayout::CanvasParagraphPainter::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20std::__2::variant\20const&\29 +7014:skia::textlayout::CanvasParagraphPainter::drawRect\28SkRect\20const&\2c\20std::__2::variant\20const&\29 +7015:skia::textlayout::CanvasParagraphPainter::drawPath\28SkPath\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7016:skia::textlayout::CanvasParagraphPainter::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7017:skia::textlayout::CanvasParagraphPainter::drawFilledRect\28SkRect\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7018:skia::textlayout::CanvasParagraphPainter::clipRect\28SkRect\20const&\29 +7019:skgpu::tess::FixedCountWedges::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7020:skgpu::tess::FixedCountWedges::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7021:skgpu::tess::FixedCountStrokes::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7022:skgpu::tess::FixedCountCurves::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7023:skgpu::tess::FixedCountCurves::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7024:skgpu::ganesh::texture_proxy_view_from_planes\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20skgpu::Budgeted\29::$_0::__invoke\28void*\2c\20void*\29 +7025:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29.1 +7026:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::visitProxies\28std::__2::function\20const&\29\20const +7027:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7028:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7029:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7030:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::name\28\29\20const +7031:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::fixedFunctionFlags\28\29\20const +7032:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7033:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::name\28\29\20const +7034:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7035:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7036:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7037:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7038:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29.1 +7039:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29 +7040:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::name\28\29\20const +7041:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7042:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7043:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29.1 +7044:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29 +7045:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +7046:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7047:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7048:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7049:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7050:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::name\28\29\20const +7051:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::fixedFunctionFlags\28\29\20const +7052:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7053:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29.1 +7054:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29 +7055:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +7056:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7057:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7058:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7059:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7060:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::name\28\29\20const +7061:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7062:skgpu::ganesh::TriangulatingPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7063:skgpu::ganesh::TriangulatingPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7064:skgpu::ganesh::TriangulatingPathRenderer::name\28\29\20const +7065:skgpu::ganesh::TessellationPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7066:skgpu::ganesh::TessellationPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7067:skgpu::ganesh::TessellationPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7068:skgpu::ganesh::TessellationPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7069:skgpu::ganesh::TessellationPathRenderer::name\28\29\20const +7070:skgpu::ganesh::SurfaceDrawContext::willReplaceOpsTask\28skgpu::ganesh::OpsTask*\2c\20skgpu::ganesh::OpsTask*\29 +7071:skgpu::ganesh::SurfaceDrawContext::canDiscardPreviousOpsOnFullClear\28\29\20const +7072:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29.1 +7073:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +7074:skgpu::ganesh::SurfaceContext::asyncReadPixels\28GrDirectContext*\2c\20SkIRect\20const&\2c\20SkColorType\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +7075:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29.1 +7076:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29 +7077:skgpu::ganesh::StrokeTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +7078:skgpu::ganesh::StrokeTessellateOp::usesStencil\28\29\20const +7079:skgpu::ganesh::StrokeTessellateOp::onPrepare\28GrOpFlushState*\29 +7080:skgpu::ganesh::StrokeTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7081:skgpu::ganesh::StrokeTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7082:skgpu::ganesh::StrokeTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7083:skgpu::ganesh::StrokeTessellateOp::name\28\29\20const +7084:skgpu::ganesh::StrokeTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7085:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29.1 +7086:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29 +7087:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +7088:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::programInfo\28\29 +7089:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7090:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7091:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7092:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::name\28\29\20const +7093:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7094:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29.1 +7095:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29 +7096:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +7097:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::programInfo\28\29 +7098:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7099:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7100:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7101:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7102:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::name\28\29\20const +7103:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7104:skgpu::ganesh::StencilClip::~StencilClip\28\29.1 +7105:skgpu::ganesh::StencilClip::~StencilClip\28\29 +7106:skgpu::ganesh::StencilClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +7107:skgpu::ganesh::StencilClip::getConservativeBounds\28\29\20const +7108:skgpu::ganesh::StencilClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +7109:skgpu::ganesh::SoftwarePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7110:skgpu::ganesh::SoftwarePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7111:skgpu::ganesh::SoftwarePathRenderer::name\28\29\20const +7112:skgpu::ganesh::SmallPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7113:skgpu::ganesh::SmallPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7114:skgpu::ganesh::SmallPathRenderer::name\28\29\20const +7115:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +7116:skgpu::ganesh::SmallPathAtlasMgr::preFlush\28GrOnFlushResourceProvider*\29 +7117:skgpu::ganesh::SmallPathAtlasMgr::postFlush\28skgpu::AtlasToken\29 +7118:skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +7119:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29.1 +7120:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29 +7121:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7122:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::programInfo\28\29 +7123:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7124:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7125:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7126:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7127:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::name\28\29\20const +7128:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7129:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_quad_generic\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7130:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7131:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7132:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7133:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7134:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7135:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7136:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7137:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29.1 +7138:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29 +7139:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::onTextureSampler\28int\29\20const +7140:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::name\28\29\20const +7141:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7142:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7143:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7144:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7145:skgpu::ganesh::PathWedgeTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +7146:skgpu::ganesh::PathTessellator::~PathTessellator\28\29 +7147:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29.1 +7148:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29 +7149:skgpu::ganesh::PathTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +7150:skgpu::ganesh::PathTessellateOp::usesStencil\28\29\20const +7151:skgpu::ganesh::PathTessellateOp::onPrepare\28GrOpFlushState*\29 +7152:skgpu::ganesh::PathTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7153:skgpu::ganesh::PathTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7154:skgpu::ganesh::PathTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7155:skgpu::ganesh::PathTessellateOp::name\28\29\20const +7156:skgpu::ganesh::PathTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7157:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29.1 +7158:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29 +7159:skgpu::ganesh::PathStencilCoverOp::visitProxies\28std::__2::function\20const&\29\20const +7160:skgpu::ganesh::PathStencilCoverOp::onPrepare\28GrOpFlushState*\29 +7161:skgpu::ganesh::PathStencilCoverOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7162:skgpu::ganesh::PathStencilCoverOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7163:skgpu::ganesh::PathStencilCoverOp::name\28\29\20const +7164:skgpu::ganesh::PathStencilCoverOp::fixedFunctionFlags\28\29\20const +7165:skgpu::ganesh::PathStencilCoverOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7166:skgpu::ganesh::PathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7167:skgpu::ganesh::PathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7168:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29.1 +7169:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29 +7170:skgpu::ganesh::PathInnerTriangulateOp::visitProxies\28std::__2::function\20const&\29\20const +7171:skgpu::ganesh::PathInnerTriangulateOp::onPrepare\28GrOpFlushState*\29 +7172:skgpu::ganesh::PathInnerTriangulateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7173:skgpu::ganesh::PathInnerTriangulateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7174:skgpu::ganesh::PathInnerTriangulateOp::name\28\29\20const +7175:skgpu::ganesh::PathInnerTriangulateOp::fixedFunctionFlags\28\29\20const +7176:skgpu::ganesh::PathInnerTriangulateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7177:skgpu::ganesh::PathCurveTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +7178:skgpu::ganesh::OpsTask::~OpsTask\28\29.1 +7179:skgpu::ganesh::OpsTask::onPrepare\28GrOpFlushState*\29 +7180:skgpu::ganesh::OpsTask::onPrePrepare\28GrRecordingContext*\29 +7181:skgpu::ganesh::OpsTask::onMakeSkippable\28\29 +7182:skgpu::ganesh::OpsTask::onIsUsed\28GrSurfaceProxy*\29\20const +7183:skgpu::ganesh::OpsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +7184:skgpu::ganesh::OpsTask::endFlush\28GrDrawingManager*\29 +7185:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29.1 +7186:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::visitProxies\28std::__2::function\20const&\29\20const +7187:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7188:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7189:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7190:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7191:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::name\28\29\20const +7192:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7193:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29.1 +7194:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29 +7195:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::onTextureSampler\28int\29\20const +7196:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::name\28\29\20const +7197:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7198:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7199:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7200:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7201:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29.1 +7202:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29 +7203:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7204:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::programInfo\28\29 +7205:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7206:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7207:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7208:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7209:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::name\28\29\20const +7210:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7211:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::clipToShape\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkClipOp\2c\20SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\29 +7212:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29.1 +7213:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29 +7214:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::name\28\29\20const +7215:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7216:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7217:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7218:skgpu::ganesh::DrawableOp::~DrawableOp\28\29.1 +7219:skgpu::ganesh::DrawableOp::~DrawableOp\28\29 +7220:skgpu::ganesh::DrawableOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7221:skgpu::ganesh::DrawableOp::name\28\29\20const +7222:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29.1 +7223:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29 +7224:skgpu::ganesh::DrawAtlasPathOp::visitProxies\28std::__2::function\20const&\29\20const +7225:skgpu::ganesh::DrawAtlasPathOp::onPrepare\28GrOpFlushState*\29 +7226:skgpu::ganesh::DrawAtlasPathOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7227:skgpu::ganesh::DrawAtlasPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7228:skgpu::ganesh::DrawAtlasPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7229:skgpu::ganesh::DrawAtlasPathOp::name\28\29\20const +7230:skgpu::ganesh::DrawAtlasPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7231:skgpu::ganesh::Device::~Device\28\29.1 +7232:skgpu::ganesh::Device::~Device\28\29 +7233:skgpu::ganesh::Device::strikeDeviceInfo\28\29\20const +7234:skgpu::ganesh::Device::snapSpecial\28SkIRect\20const&\2c\20bool\29 +7235:skgpu::ganesh::Device::snapSpecialScaled\28SkIRect\20const&\2c\20SkISize\20const&\29 +7236:skgpu::ganesh::Device::replaceClip\28SkIRect\20const&\29 +7237:skgpu::ganesh::Device::recordingContext\28\29\20const +7238:skgpu::ganesh::Device::pushClipStack\28\29 +7239:skgpu::ganesh::Device::popClipStack\28\29 +7240:skgpu::ganesh::Device::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +7241:skgpu::ganesh::Device::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +7242:skgpu::ganesh::Device::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +7243:skgpu::ganesh::Device::onClipShader\28sk_sp\29 +7244:skgpu::ganesh::Device::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +7245:skgpu::ganesh::Device::makeSpecial\28SkImage\20const*\29 +7246:skgpu::ganesh::Device::isClipWideOpen\28\29\20const +7247:skgpu::ganesh::Device::isClipRect\28\29\20const +7248:skgpu::ganesh::Device::isClipEmpty\28\29\20const +7249:skgpu::ganesh::Device::isClipAntiAliased\28\29\20const +7250:skgpu::ganesh::Device::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +7251:skgpu::ganesh::Device::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7252:skgpu::ganesh::Device::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +7253:skgpu::ganesh::Device::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +7254:skgpu::ganesh::Device::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +7255:skgpu::ganesh::Device::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +7256:skgpu::ganesh::Device::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +7257:skgpu::ganesh::Device::drawPaint\28SkPaint\20const&\29 +7258:skgpu::ganesh::Device::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +7259:skgpu::ganesh::Device::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +7260:skgpu::ganesh::Device::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7261:skgpu::ganesh::Device::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +7262:skgpu::ganesh::Device::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +7263:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7264:skgpu::ganesh::Device::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +7265:skgpu::ganesh::Device::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +7266:skgpu::ganesh::Device::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +7267:skgpu::ganesh::Device::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +7268:skgpu::ganesh::Device::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7269:skgpu::ganesh::Device::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +7270:skgpu::ganesh::Device::devClipBounds\28\29\20const +7271:skgpu::ganesh::Device::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +7272:skgpu::ganesh::Device::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +7273:skgpu::ganesh::Device::convertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +7274:skgpu::ganesh::Device::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +7275:skgpu::ganesh::Device::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +7276:skgpu::ganesh::Device::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +7277:skgpu::ganesh::Device::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +7278:skgpu::ganesh::Device::android_utils_clipWithStencil\28\29 +7279:skgpu::ganesh::DefaultPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7280:skgpu::ganesh::DefaultPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7281:skgpu::ganesh::DefaultPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7282:skgpu::ganesh::DefaultPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7283:skgpu::ganesh::DefaultPathRenderer::name\28\29\20const +7284:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::name\28\29\20const +7285:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7286:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7287:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7288:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::name\28\29\20const +7289:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7290:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7291:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7292:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29.1 +7293:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29 +7294:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7295:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::programInfo\28\29 +7296:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7297:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7298:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7299:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7300:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::name\28\29\20const +7301:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::fixedFunctionFlags\28\29\20const +7302:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7303:skgpu::ganesh::DashLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7304:skgpu::ganesh::DashLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7305:skgpu::ganesh::DashLinePathRenderer::name\28\29\20const +7306:skgpu::ganesh::ClipStack::~ClipStack\28\29.1 +7307:skgpu::ganesh::ClipStack::preApply\28SkRect\20const&\2c\20GrAA\29\20const +7308:skgpu::ganesh::ClipStack::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +7309:skgpu::ganesh::ClearOp::~ClearOp\28\29 +7310:skgpu::ganesh::ClearOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7311:skgpu::ganesh::ClearOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7312:skgpu::ganesh::ClearOp::name\28\29\20const +7313:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29.1 +7314:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29 +7315:skgpu::ganesh::AtlasTextOp::visitProxies\28std::__2::function\20const&\29\20const +7316:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7317:skgpu::ganesh::AtlasTextOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7318:skgpu::ganesh::AtlasTextOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7319:skgpu::ganesh::AtlasTextOp::name\28\29\20const +7320:skgpu::ganesh::AtlasTextOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7321:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29.1 +7322:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29 +7323:skgpu::ganesh::AtlasRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +7324:skgpu::ganesh::AtlasRenderTask::onExecute\28GrOpFlushState*\29 +7325:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +7326:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +7327:skgpu::ganesh::AtlasPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7328:skgpu::ganesh::AtlasPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7329:skgpu::ganesh::AtlasPathRenderer::name\28\29\20const +7330:skgpu::ganesh::AALinearizingConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7331:skgpu::ganesh::AALinearizingConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7332:skgpu::ganesh::AALinearizingConvexPathRenderer::name\28\29\20const +7333:skgpu::ganesh::AAHairLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7334:skgpu::ganesh::AAHairLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7335:skgpu::ganesh::AAHairLinePathRenderer::name\28\29\20const +7336:skgpu::ganesh::AAConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7337:skgpu::ganesh::AAConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7338:skgpu::ganesh::AAConvexPathRenderer::name\28\29\20const +7339:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29.1 +7340:skgpu::TAsyncReadResult::rowBytes\28int\29\20const +7341:skgpu::TAsyncReadResult::data\28int\29\20const +7342:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29.1 +7343:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29 +7344:skgpu::StringKeyBuilder::appendComment\28char\20const*\29 +7345:skgpu::StringKeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +7346:skgpu::ShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\2c\20bool\29 +7347:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29.1 +7348:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29 +7349:skgpu::RectanizerSkyline::reset\28\29 +7350:skgpu::RectanizerSkyline::percentFull\28\29\20const +7351:skgpu::RectanizerPow2::reset\28\29 +7352:skgpu::RectanizerPow2::percentFull\28\29\20const +7353:skgpu::RectanizerPow2::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +7354:skgpu::Plot::~Plot\28\29.1 +7355:skgpu::Plot::~Plot\28\29 +7356:skgpu::KeyBuilder::~KeyBuilder\28\29 +7357:skgpu::KeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +7358:skgpu::DefaultShaderErrorHandler\28\29::DefaultShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\29 +7359:sk_write_fn\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20long\29 +7360:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo\20const&\29 +7361:sk_read_user_chunk\28png_struct_def*\2c\20png_unknown_chunk_t*\29 +7362:sk_mmap_releaseproc\28void\20const*\2c\20void*\29 +7363:sk_ft_stream_io\28FT_StreamRec_*\2c\20unsigned\20long\2c\20unsigned\20char*\2c\20unsigned\20long\29 +7364:sk_ft_realloc\28FT_MemoryRec_*\2c\20long\2c\20long\2c\20void*\29 +7365:sk_ft_free\28FT_MemoryRec_*\2c\20void*\29 +7366:sk_ft_alloc\28FT_MemoryRec_*\2c\20long\29 +7367:sk_dataref_releaseproc\28void\20const*\2c\20void*\29 +7368:sfnt_table_info +7369:sfnt_stream_close +7370:sfnt_load_face +7371:sfnt_is_postscript +7372:sfnt_is_alphanumeric +7373:sfnt_init_face +7374:sfnt_get_ps_name +7375:sfnt_get_name_index +7376:sfnt_get_name_id +7377:sfnt_get_interface +7378:sfnt_get_glyph_name +7379:sfnt_get_charset_id +7380:sfnt_done_face +7381:setup_syllables_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7382:setup_syllables_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7383:setup_syllables_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7384:setup_syllables_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7385:setup_masks_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7386:setup_masks_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7387:setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7388:setup_masks_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7389:setup_masks_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7390:setup_masks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7391:service_cleanup\28\29 +7392:sep_upsample +7393:self_destruct +7394:scriptGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +7395:save_marker +7396:sample8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7397:sample6\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7398:sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7399:sample2\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7400:sample1\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7401:rgb_rgb_convert +7402:rgb_rgb565_convert +7403:rgb_rgb565D_convert +7404:rgb_gray_convert +7405:reverse_hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7406:reverse_hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7407:reset_marker_reader +7408:reset_input_controller +7409:reset_error_mgr +7410:request_virt_sarray +7411:request_virt_barray +7412:reorder_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7413:reorder_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7414:reorder_marks_hebrew\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +7415:reorder_marks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +7416:reorder_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7417:release_data\28void*\2c\20void*\29 +7418:record_stch\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7419:record_rphf_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7420:record_pref_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7421:realize_virt_arrays +7422:read_restart_marker +7423:read_markers +7424:read_data_from_FT_Stream +7425:rbbi_cleanup_74 +7426:quantize_ord_dither +7427:quantize_fs_dither +7428:quantize3_ord_dither +7429:putil_cleanup\28\29 +7430:psnames_get_service +7431:pshinter_get_t2_funcs +7432:pshinter_get_t1_funcs +7433:pshinter_get_globals_funcs +7434:psh_globals_new +7435:psh_globals_destroy +7436:psaux_get_glyph_name +7437:ps_table_release +7438:ps_table_new +7439:ps_table_done +7440:ps_table_add +7441:ps_property_set +7442:ps_property_get +7443:ps_parser_to_token_array +7444:ps_parser_to_int +7445:ps_parser_to_fixed_array +7446:ps_parser_to_fixed +7447:ps_parser_to_coord_array +7448:ps_parser_to_bytes +7449:ps_parser_skip_spaces +7450:ps_parser_load_field_table +7451:ps_parser_init +7452:ps_hints_t2mask +7453:ps_hints_t2counter +7454:ps_hints_t1stem3 +7455:ps_hints_t1reset +7456:ps_hints_close +7457:ps_hints_apply +7458:ps_hinter_init +7459:ps_hinter_done +7460:ps_get_standard_strings +7461:ps_get_macintosh_name +7462:ps_decoder_init +7463:ps_builder_init +7464:progress_monitor\28jpeg_common_struct*\29 +7465:process_data_simple_main +7466:process_data_crank_post +7467:process_data_context_main +7468:prescan_quantize +7469:preprocess_text_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7470:preprocess_text_thai\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7471:preprocess_text_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7472:preprocess_text_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7473:prepare_for_output_pass +7474:premultiply_data +7475:premul_rgb\28SkRGBA4f<\28SkAlphaType\292>\29 +7476:premul_polar\28SkRGBA4f<\28SkAlphaType\292>\29 +7477:postprocess_glyphs_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7478:post_process_prepass +7479:post_process_2pass +7480:post_process_1pass +7481:portable::xy_to_unit_angle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7482:portable::xy_to_radius\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7483:portable::xy_to_2pt_conical_well_behaved\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7484:portable::xy_to_2pt_conical_strip\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7485:portable::xy_to_2pt_conical_smaller\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7486:portable::xy_to_2pt_conical_greater\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7487:portable::xy_to_2pt_conical_focal_on_circle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7488:portable::xor_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7489:portable::white_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7490:portable::unpremul_polar\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7491:portable::unpremul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7492:portable::uniform_color_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7493:portable::trace_var\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7494:portable::trace_scope\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7495:portable::trace_line\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7496:portable::trace_exit\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7497:portable::trace_enter\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7498:portable::tan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7499:portable::swizzle_copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7500:portable::swizzle_copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7501:portable::swizzle_copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7502:portable::swizzle_copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7503:portable::swizzle_copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7504:portable::swizzle_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7505:portable::swizzle_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7506:portable::swizzle_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7507:portable::swizzle_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7508:portable::swizzle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7509:portable::swap_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7510:portable::swap_rb_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7511:portable::swap_rb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7512:portable::sub_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7513:portable::sub_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7514:portable::sub_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7515:portable::sub_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7516:portable::sub_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7517:portable::sub_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7518:portable::sub_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7519:portable::sub_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7520:portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7521:portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7522:portable::store_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7523:portable::store_src_a\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7524:portable::store_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7525:portable::store_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7526:portable::store_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7527:portable::store_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7528:portable::store_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7529:portable::store_r8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7530:portable::store_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7531:portable::store_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7532:portable::store_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7533:portable::store_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7534:portable::store_device_xy01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7535:portable::store_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7536:portable::store_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7537:portable::store_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7538:portable::store_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7539:portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7540:portable::store_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7541:portable::store_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7542:portable::store_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7543:portable::store_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7544:portable::store_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7545:portable::store_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7546:portable::store_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7547:portable::start_pipeline\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkRasterPipelineStage*\2c\20SkSpan\2c\20unsigned\20char*\29 +7548:portable::stack_rewind\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7549:portable::stack_checkpoint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7550:portable::srcover_rgba_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7551:portable::srcover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7552:portable::srcout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7553:portable::srcin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7554:portable::srcatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7555:portable::sqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7556:portable::splat_4_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7557:portable::splat_3_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7558:portable::splat_2_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7559:portable::softlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7560:portable::smoothstep_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7561:portable::sin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7562:portable::shuffle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7563:portable::set_base_pointer\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7564:portable::seed_shader\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7565:portable::screen\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7566:portable::scale_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7567:portable::scale_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7568:portable::scale_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7569:portable::scale_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7570:portable::saturation\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7571:portable::rgb_to_hsl\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7572:portable::repeat_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7573:portable::repeat_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7574:portable::repeat_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7575:portable::refract_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7576:portable::reenable_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7577:portable::rect_memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +7578:portable::rect_memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20long\2c\20int\29 +7579:portable::rect_memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\2c\20unsigned\20long\2c\20int\29 +7580:portable::premul_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7581:portable::premul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7582:portable::pow_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7583:portable::plus_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7584:portable::perlin_noise\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7585:portable::parametric\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7586:portable::overlay\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7587:portable::negate_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7588:portable::multiply\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7589:portable::mul_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7590:portable::mul_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7591:portable::mul_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7592:portable::mul_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7593:portable::mul_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7594:portable::mul_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7595:portable::mul_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7596:portable::mul_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7597:portable::mul_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7598:portable::mul_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7599:portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7600:portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7601:portable::move_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7602:portable::move_dst_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7603:portable::modulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7604:portable::mod_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7605:portable::mod_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7606:portable::mod_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7607:portable::mod_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7608:portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7609:portable::mix_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7610:portable::mix_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7611:portable::mix_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7612:portable::mix_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7613:portable::mix_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7614:portable::mix_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7615:portable::mix_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7616:portable::mix_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7617:portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7618:portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7619:portable::mirror_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7620:portable::mirror_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7621:portable::mirror_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7622:portable::mipmap_linear_update\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7623:portable::mipmap_linear_init\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7624:portable::mipmap_linear_finish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7625:portable::min_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7626:portable::min_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7627:portable::min_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7628:portable::min_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7629:portable::min_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7630:portable::min_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7631:portable::min_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7632:portable::min_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7633:portable::min_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7634:portable::min_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7635:portable::min_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7636:portable::min_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7637:portable::min_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7638:portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7639:portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7640:portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7641:portable::merge_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7642:portable::merge_inv_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7643:portable::merge_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7644:portable::memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\29 +7645:portable::memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\29 +7646:portable::max_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7647:portable::max_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7648:portable::max_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7649:portable::max_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7650:portable::max_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7651:portable::max_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7652:portable::max_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7653:portable::max_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7654:portable::max_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7655:portable::max_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7656:portable::max_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7657:portable::max_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7658:portable::max_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7659:portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7660:portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7661:portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7662:portable::matrix_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7663:portable::matrix_scale_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7664:portable::matrix_perspective\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7665:portable::matrix_multiply_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7666:portable::matrix_multiply_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7667:portable::matrix_multiply_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7668:portable::matrix_4x5\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7669:portable::matrix_4x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7670:portable::matrix_3x4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7671:portable::matrix_3x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7672:portable::matrix_2x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7673:portable::mask_off_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7674:portable::mask_off_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7675:portable::mask_2pt_conical_nan\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7676:portable::mask_2pt_conical_degenerates\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7677:portable::luminosity\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7678:portable::log_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7679:portable::log2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7680:portable::load_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7681:portable::load_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7682:portable::load_rgf16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7683:portable::load_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7684:portable::load_rg88_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7685:portable::load_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7686:portable::load_rg1616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7687:portable::load_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7688:portable::load_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7689:portable::load_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7690:portable::load_f32_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7691:portable::load_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7692:portable::load_f16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7693:portable::load_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7694:portable::load_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7695:portable::load_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7696:portable::load_af16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7697:portable::load_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7698:portable::load_a8_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7699:portable::load_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7700:portable::load_a16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7701:portable::load_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7702:portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7703:portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7704:portable::load_565_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7705:portable::load_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7706:portable::load_4444_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7707:portable::load_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7708:portable::load_16161616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7709:portable::load_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7710:portable::load_10x6_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7711:portable::load_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7712:portable::load_1010102_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7713:portable::load_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7714:portable::load_1010102_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7715:portable::load_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7716:portable::load_10101010_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7717:portable::load_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7718:portable::lighten\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7719:portable::lerp_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7720:portable::lerp_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7721:portable::lerp_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7722:portable::lerp_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7723:portable::just_return\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7724:portable::jump\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7725:portable::invsqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7726:portable::invsqrt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7727:portable::invsqrt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7728:portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7729:portable::inverted_CMYK_to_RGB1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7730:portable::inverted_CMYK_to_BGR1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7731:portable::inverse_mat4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7732:portable::inverse_mat3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7733:portable::inverse_mat2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7734:portable::init_lane_masks\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7735:portable::hue\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7736:portable::hsl_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7737:portable::hardlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7738:portable::gray_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7739:portable::grayA_to_rgbA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7740:portable::grayA_to_RGBA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7741:portable::gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7742:portable::gauss_a_to_rgba\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7743:portable::gather_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7744:portable::gather_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7745:portable::gather_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7746:portable::gather_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7747:portable::gather_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7748:portable::gather_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7749:portable::gather_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7750:portable::gather_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7751:portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7752:portable::gather_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7753:portable::gather_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7754:portable::gather_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7755:portable::gather_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7756:portable::gather_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7757:portable::gather_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7758:portable::gather_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7759:portable::gamma_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7760:portable::force_opaque_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7761:portable::force_opaque\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7762:portable::floor_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7763:portable::floor_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7764:portable::floor_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7765:portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7766:portable::exp_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7767:portable::exp2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7768:portable::exclusion\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7769:portable::exchange_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7770:portable::evenly_spaced_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7771:portable::evenly_spaced_2_stop_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7772:portable::emboss\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7773:portable::dstover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7774:portable::dstout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7775:portable::dstin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7776:portable::dstatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7777:portable::dot_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7778:portable::dot_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7779:portable::dot_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7780:portable::div_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7781:portable::div_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7782:portable::div_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7783:portable::div_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7784:portable::div_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7785:portable::div_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7786:portable::div_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7787:portable::div_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7788:portable::div_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7789:portable::div_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7790:portable::div_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7791:portable::div_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7792:portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7793:portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7794:portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7795:portable::dither\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7796:portable::difference\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7797:portable::decal_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7798:portable::decal_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7799:portable::decal_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7800:portable::darken\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7801:portable::css_oklab_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7802:portable::css_oklab_gamut_map_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7803:portable::css_lab_to_xyz\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7804:portable::css_hwb_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7805:portable::css_hsl_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7806:portable::css_hcl_to_lab\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7807:portable::cos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7808:portable::copy_uniform\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7809:portable::copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7810:portable::copy_slot_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7811:portable::copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7812:portable::copy_immutable_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7813:portable::copy_constant\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7814:portable::copy_4_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7815:portable::copy_4_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7816:portable::copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7817:portable::copy_4_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7818:portable::copy_3_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7819:portable::copy_3_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7820:portable::copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7821:portable::copy_3_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7822:portable::copy_2_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7823:portable::copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7824:portable::continue_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7825:portable::colordodge\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7826:portable::colorburn\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7827:portable::color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7828:portable::cmpne_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7829:portable::cmpne_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7830:portable::cmpne_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7831:portable::cmpne_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7832:portable::cmpne_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7833:portable::cmpne_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7834:portable::cmpne_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7835:portable::cmpne_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7836:portable::cmpne_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7837:portable::cmpne_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7838:portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7839:portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7840:portable::cmplt_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7841:portable::cmplt_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7842:portable::cmplt_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7843:portable::cmplt_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7844:portable::cmplt_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7845:portable::cmplt_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7846:portable::cmplt_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7847:portable::cmplt_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7848:portable::cmplt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7849:portable::cmplt_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7850:portable::cmplt_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7851:portable::cmplt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7852:portable::cmplt_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7853:portable::cmplt_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7854:portable::cmplt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7855:portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7856:portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7857:portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7858:portable::cmple_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7859:portable::cmple_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7860:portable::cmple_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7861:portable::cmple_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7862:portable::cmple_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7863:portable::cmple_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7864:portable::cmple_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7865:portable::cmple_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7866:portable::cmple_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7867:portable::cmple_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7868:portable::cmple_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7869:portable::cmple_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7870:portable::cmple_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7871:portable::cmple_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7872:portable::cmple_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7873:portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7874:portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7875:portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7876:portable::cmpeq_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7877:portable::cmpeq_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7878:portable::cmpeq_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7879:portable::cmpeq_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7880:portable::cmpeq_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7881:portable::cmpeq_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7882:portable::cmpeq_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7883:portable::cmpeq_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7884:portable::cmpeq_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7885:portable::cmpeq_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7886:portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7887:portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7888:portable::clear\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7889:portable::clamp_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7890:portable::clamp_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7891:portable::clamp_gamut\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7892:portable::clamp_01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7893:portable::ceil_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7894:portable::ceil_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7895:portable::ceil_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7896:portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7897:portable::cast_to_uint_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7898:portable::cast_to_uint_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7899:portable::cast_to_uint_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7900:portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7901:portable::cast_to_int_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7902:portable::cast_to_int_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7903:portable::cast_to_int_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7904:portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7905:portable::cast_to_float_from_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7906:portable::cast_to_float_from_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7907:portable::cast_to_float_from_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7908:portable::cast_to_float_from_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7909:portable::cast_to_float_from_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7910:portable::cast_to_float_from_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7911:portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7912:portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7913:portable::case_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7914:portable::callback\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7915:portable::byte_tables\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7916:portable::bt709_luminance_or_luma_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7917:portable::bt709_luminance_or_luma_to_alpha\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7918:portable::branch_if_no_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7919:portable::branch_if_no_active_lanes_eq\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7920:portable::branch_if_any_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7921:portable::branch_if_all_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7922:portable::blit_row_s32a_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +7923:portable::black_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7924:portable::bitwise_xor_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7925:portable::bitwise_xor_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7926:portable::bitwise_xor_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7927:portable::bitwise_xor_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7928:portable::bitwise_xor_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7929:portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7930:portable::bitwise_or_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7931:portable::bitwise_or_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7932:portable::bitwise_or_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7933:portable::bitwise_or_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7934:portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7935:portable::bitwise_and_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7936:portable::bitwise_and_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7937:portable::bitwise_and_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7938:portable::bitwise_and_imm_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7939:portable::bitwise_and_imm_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7940:portable::bitwise_and_imm_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7941:portable::bitwise_and_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7942:portable::bitwise_and_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7943:portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7944:portable::bilinear_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7945:portable::bilinear_py\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7946:portable::bilinear_px\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7947:portable::bilinear_ny\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7948:portable::bilinear_nx\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7949:portable::bilerp_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7950:portable::bicubic_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7951:portable::bicubic_p3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7952:portable::bicubic_p3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7953:portable::bicubic_p1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7954:portable::bicubic_p1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7955:portable::bicubic_n3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7956:portable::bicubic_n3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7957:portable::bicubic_n1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7958:portable::bicubic_n1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7959:portable::bicubic_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7960:portable::atan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7961:portable::atan2_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7962:portable::asin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7963:portable::alter_2pt_conical_unswap\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7964:portable::alter_2pt_conical_compensate_focal\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7965:portable::alpha_to_red_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7966:portable::alpha_to_red\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7967:portable::alpha_to_gray_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7968:portable::alpha_to_gray\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7969:portable::add_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7970:portable::add_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7971:portable::add_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7972:portable::add_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7973:portable::add_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7974:portable::add_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7975:portable::add_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7976:portable::add_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7977:portable::add_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7978:portable::add_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7979:portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7980:portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7981:portable::acos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7982:portable::accumulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7983:portable::abs_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7984:portable::abs_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7985:portable::abs_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7986:portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7987:portable::RGB_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7988:portable::RGB_to_BGR1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7989:portable::RGBA_to_rgbA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7990:portable::RGBA_to_bgrA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7991:portable::RGBA_to_BGRA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7992:portable::PQish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7993:portable::HLGish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7994:portable::HLGinvish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7995:pop_arg_long_double +7996:pointerTOCLookupFn\28UDataMemory\20const*\2c\20char\20const*\2c\20int*\2c\20UErrorCode*\29 +7997:png_read_filter_row_up +7998:png_read_filter_row_sub +7999:png_read_filter_row_paeth_multibyte_pixel +8000:png_read_filter_row_paeth_1byte_pixel +8001:png_read_filter_row_avg +8002:pass2_no_dither +8003:pass2_fs_dither +8004:override_features_khmer\28hb_ot_shape_planner_t*\29 +8005:override_features_indic\28hb_ot_shape_planner_t*\29 +8006:override_features_hangul\28hb_ot_shape_planner_t*\29 +8007:output_message\28jpeg_common_struct*\29 +8008:output_message +8009:offsetTOCLookupFn\28UDataMemory\20const*\2c\20char\20const*\2c\20int*\2c\20UErrorCode*\29 +8010:null_convert +8011:noop_upsample +8012:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +8013:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +8014:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +8015:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +8016:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.3 +8017:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.2 +8018:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +8019:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +8020:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +8021:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +8022:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +8023:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +8024:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +8025:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +8026:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +8027:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +8028:non-virtual\20thunk\20to\20icu_74::UnicodeSet::~UnicodeSet\28\29.1 +8029:non-virtual\20thunk\20to\20icu_74::UnicodeSet::~UnicodeSet\28\29 +8030:non-virtual\20thunk\20to\20icu_74::UnicodeSet::toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +8031:non-virtual\20thunk\20to\20icu_74::UnicodeSet::matches\28icu_74::Replaceable\20const&\2c\20int&\2c\20int\2c\20signed\20char\29 +8032:non-virtual\20thunk\20to\20icu_74::UnicodeSet::matchesIndexValue\28unsigned\20char\29\20const +8033:non-virtual\20thunk\20to\20icu_74::UnicodeSet::addMatchSetTo\28icu_74::UnicodeSet&\29\20const +8034:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +8035:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8036:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8037:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +8038:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8039:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +8040:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +8041:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8042:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8043:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +8044:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8045:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +8046:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8047:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8048:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +8049:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8050:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +8051:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +8052:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +8053:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +8054:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +8055:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +8056:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29.1 +8057:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29 +8058:non-virtual\20thunk\20to\20GrOpFlushState::writeView\28\29\20const +8059:non-virtual\20thunk\20to\20GrOpFlushState::usesMSAASurface\28\29\20const +8060:non-virtual\20thunk\20to\20GrOpFlushState::threadSafeCache\28\29\20const +8061:non-virtual\20thunk\20to\20GrOpFlushState::strikeCache\28\29\20const +8062:non-virtual\20thunk\20to\20GrOpFlushState::smallPathAtlasManager\28\29\20const +8063:non-virtual\20thunk\20to\20GrOpFlushState::sampledProxyArray\28\29 +8064:non-virtual\20thunk\20to\20GrOpFlushState::rtProxy\28\29\20const +8065:non-virtual\20thunk\20to\20GrOpFlushState::resourceProvider\28\29\20const +8066:non-virtual\20thunk\20to\20GrOpFlushState::renderPassBarriers\28\29\20const +8067:non-virtual\20thunk\20to\20GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +8068:non-virtual\20thunk\20to\20GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +8069:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndirectDraws\28int\29 +8070:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndices\28int\29 +8071:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +8072:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +8073:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +8074:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +8075:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +8076:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +8077:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +8078:non-virtual\20thunk\20to\20GrOpFlushState::dstProxyView\28\29\20const +8079:non-virtual\20thunk\20to\20GrOpFlushState::detachAppliedClip\28\29 +8080:non-virtual\20thunk\20to\20GrOpFlushState::deferredUploadTarget\28\29 +8081:non-virtual\20thunk\20to\20GrOpFlushState::colorLoadOp\28\29\20const +8082:non-virtual\20thunk\20to\20GrOpFlushState::caps\28\29\20const +8083:non-virtual\20thunk\20to\20GrOpFlushState::atlasManager\28\29\20const +8084:non-virtual\20thunk\20to\20GrOpFlushState::appliedClip\28\29\20const +8085:non-virtual\20thunk\20to\20GrGpuBuffer::~GrGpuBuffer\28\29 +8086:non-virtual\20thunk\20to\20GrGpuBuffer::unref\28\29\20const +8087:non-virtual\20thunk\20to\20GrGpuBuffer::ref\28\29\20const +8088:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +8089:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +8090:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onSetLabel\28\29 +8091:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +8092:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +8093:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +8094:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +8095:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::backendFormat\28\29\20const +8096:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +8097:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +8098:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +8099:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +8100:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::dstColor\28\29 +8101:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29.1 +8102:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29 +8103:new_color_map_2_quant +8104:new_color_map_1_quant +8105:merged_2v_upsample +8106:merged_1v_upsample +8107:locale_cleanup\28\29 +8108:lin_srgb_to_oklab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +8109:lin_srgb_to_okhcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +8110:legalstub$dynCall_vijjjii +8111:legalstub$dynCall_vijiii +8112:legalstub$dynCall_viji +8113:legalstub$dynCall_vij +8114:legalstub$dynCall_viijii +8115:legalstub$dynCall_viij +8116:legalstub$dynCall_viiij +8117:legalstub$dynCall_viiiiij +8118:legalstub$dynCall_jiji +8119:legalstub$dynCall_jiiiiji +8120:legalstub$dynCall_jiiiiii +8121:legalstub$dynCall_jii +8122:legalstub$dynCall_ji +8123:legalstub$dynCall_iijjiii +8124:legalstub$dynCall_iijj +8125:legalstub$dynCall_iiji +8126:legalstub$dynCall_iij +8127:legalstub$dynCall_iiiji +8128:legalstub$dynCall_iiij +8129:legalstub$dynCall_iiiij +8130:legalstub$dynCall_iiiiijj +8131:legalstub$dynCall_iiiiij +8132:legalstub$dynCall_iiiiiijj +8133:legalfunc$glWaitSync +8134:legalfunc$glClientWaitSync +8135:lcd_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +8136:layoutGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +8137:jpeg_start_decompress +8138:jpeg_skip_scanlines +8139:jpeg_save_markers +8140:jpeg_resync_to_restart +8141:jpeg_read_scanlines +8142:jpeg_read_raw_data +8143:jpeg_read_header +8144:jpeg_idct_islow +8145:jpeg_idct_ifast +8146:jpeg_idct_float +8147:jpeg_idct_9x9 +8148:jpeg_idct_7x7 +8149:jpeg_idct_6x6 +8150:jpeg_idct_5x5 +8151:jpeg_idct_4x4 +8152:jpeg_idct_3x3 +8153:jpeg_idct_2x2 +8154:jpeg_idct_1x1 +8155:jpeg_idct_16x16 +8156:jpeg_idct_15x15 +8157:jpeg_idct_14x14 +8158:jpeg_idct_13x13 +8159:jpeg_idct_12x12 +8160:jpeg_idct_11x11 +8161:jpeg_idct_10x10 +8162:jpeg_crop_scanline +8163:is_deleted_glyph\28hb_glyph_info_t\20const*\29 +8164:isRegionalIndicator\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8165:isPOSIX_xdigit\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8166:isPOSIX_print\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8167:isPOSIX_graph\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8168:isPOSIX_blank\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8169:isPOSIX_alnum\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8170:isNormInert\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8171:isMirrored\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8172:isJoinControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8173:isIDSUnaryOperator\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8174:isIDCompatMathStart\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8175:isIDCompatMathContinue\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8176:isCanonSegmentStarter\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8177:isBidiControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8178:isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8179:int_upsample +8180:initial_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8181:icu_74::uprv_normalizer2_cleanup\28\29 +8182:icu_74::uprv_loaded_normalizer2_cleanup\28\29 +8183:icu_74::unames_cleanup\28\29 +8184:icu_74::umtx_init\28\29 +8185:icu_74::umtx_cleanup\28\29 +8186:icu_74::sortComparator\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +8187:icu_74::segmentStarterMapper\28void\20const*\2c\20unsigned\20int\29 +8188:icu_74::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8189:icu_74::compareElementStrings\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +8190:icu_74::cacheDeleter\28void*\29 +8191:icu_74::\28anonymous\20namespace\29::versionFilter\28int\2c\20void*\29 +8192:icu_74::\28anonymous\20namespace\29::utf16_caseContextIterator\28void*\2c\20signed\20char\29 +8193:icu_74::\28anonymous\20namespace\29::numericValueFilter\28int\2c\20void*\29 +8194:icu_74::\28anonymous\20namespace\29::intPropertyFilter\28int\2c\20void*\29 +8195:icu_74::\28anonymous\20namespace\29::emojiprops_cleanup\28\29 +8196:icu_74::\28anonymous\20namespace\29::cleanup\28\29 +8197:icu_74::\28anonymous\20namespace\29::cleanupKnownCanonicalized\28\29 +8198:icu_74::\28anonymous\20namespace\29::AliasReplacer::replace\28icu_74::Locale\20const&\2c\20icu_74::CharString&\2c\20UErrorCode&\29::$_1::__invoke\28void*\29 +8199:icu_74::\28anonymous\20namespace\29::AliasReplacer::AliasReplacer\28UErrorCode\29::'lambda'\28UElement\2c\20UElement\29::__invoke\28UElement\2c\20UElement\29 +8200:icu_74::\28anonymous\20namespace\29::AliasData::cleanup\28\29 +8201:icu_74::UnicodeString::~UnicodeString\28\29.1 +8202:icu_74::UnicodeString::handleReplaceBetween\28int\2c\20int\2c\20icu_74::UnicodeString\20const&\29 +8203:icu_74::UnicodeString::getLength\28\29\20const +8204:icu_74::UnicodeString::getDynamicClassID\28\29\20const +8205:icu_74::UnicodeString::getCharAt\28int\29\20const +8206:icu_74::UnicodeString::extractBetween\28int\2c\20int\2c\20icu_74::UnicodeString&\29\20const +8207:icu_74::UnicodeString::copy\28int\2c\20int\2c\20int\29 +8208:icu_74::UnicodeString::clone\28\29\20const +8209:icu_74::UnicodeSet::~UnicodeSet\28\29.1 +8210:icu_74::UnicodeSet::toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +8211:icu_74::UnicodeSet::size\28\29\20const +8212:icu_74::UnicodeSet::retain\28int\2c\20int\29 +8213:icu_74::UnicodeSet::operator==\28icu_74::UnicodeSet\20const&\29\20const +8214:icu_74::UnicodeSet::isEmpty\28\29\20const +8215:icu_74::UnicodeSet::hashCode\28\29\20const +8216:icu_74::UnicodeSet::getDynamicClassID\28\29\20const +8217:icu_74::UnicodeSet::contains\28int\2c\20int\29\20const +8218:icu_74::UnicodeSet::containsAll\28icu_74::UnicodeSet\20const&\29\20const +8219:icu_74::UnicodeSet::complement\28int\2c\20int\29 +8220:icu_74::UnicodeSet::complementAll\28icu_74::UnicodeSet\20const&\29 +8221:icu_74::UnicodeSet::addMatchSetTo\28icu_74::UnicodeSet&\29\20const +8222:icu_74::UnhandledEngine::~UnhandledEngine\28\29.1 +8223:icu_74::UnhandledEngine::~UnhandledEngine\28\29 +8224:icu_74::UnhandledEngine::handles\28int\2c\20char\20const*\29\20const +8225:icu_74::UnhandledEngine::handleCharacter\28int\29 +8226:icu_74::UnhandledEngine::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8227:icu_74::UVector::~UVector\28\29.1 +8228:icu_74::UVector::getDynamicClassID\28\29\20const +8229:icu_74::UVector32::~UVector32\28\29.1 +8230:icu_74::UVector32::getDynamicClassID\28\29\20const +8231:icu_74::UStack::getDynamicClassID\28\29\20const +8232:icu_74::UCharsTrieBuilder::~UCharsTrieBuilder\28\29.1 +8233:icu_74::UCharsTrieBuilder::~UCharsTrieBuilder\28\29 +8234:icu_74::UCharsTrieBuilder::write\28int\29 +8235:icu_74::UCharsTrieBuilder::writeValueAndType\28signed\20char\2c\20int\2c\20int\29 +8236:icu_74::UCharsTrieBuilder::writeValueAndFinal\28int\2c\20signed\20char\29 +8237:icu_74::UCharsTrieBuilder::writeElementUnits\28int\2c\20int\2c\20int\29 +8238:icu_74::UCharsTrieBuilder::writeDeltaTo\28int\29 +8239:icu_74::UCharsTrieBuilder::skipElementsBySomeUnits\28int\2c\20int\2c\20int\29\20const +8240:icu_74::UCharsTrieBuilder::indexOfElementWithNextUnit\28int\2c\20int\2c\20char16_t\29\20const +8241:icu_74::UCharsTrieBuilder::getMinLinearMatch\28\29\20const +8242:icu_74::UCharsTrieBuilder::getLimitOfLinearMatch\28int\2c\20int\2c\20int\29\20const +8243:icu_74::UCharsTrieBuilder::getElementValue\28int\29\20const +8244:icu_74::UCharsTrieBuilder::getElementUnit\28int\2c\20int\29\20const +8245:icu_74::UCharsTrieBuilder::getElementStringLength\28int\29\20const +8246:icu_74::UCharsTrieBuilder::createLinearMatchNode\28int\2c\20int\2c\20int\2c\20icu_74::StringTrieBuilder::Node*\29\20const +8247:icu_74::UCharsTrieBuilder::countElementUnits\28int\2c\20int\2c\20int\29\20const +8248:icu_74::UCharsTrieBuilder::UCTLinearMatchNode::write\28icu_74::StringTrieBuilder&\29 +8249:icu_74::UCharsTrieBuilder::UCTLinearMatchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8250:icu_74::UCharsDictionaryMatcher::~UCharsDictionaryMatcher\28\29.1 +8251:icu_74::UCharsDictionaryMatcher::~UCharsDictionaryMatcher\28\29 +8252:icu_74::UCharsDictionaryMatcher::matches\28UText*\2c\20int\2c\20int\2c\20int*\2c\20int*\2c\20int*\2c\20int*\29\20const +8253:icu_74::UCharCharacterIterator::setIndex\28int\29 +8254:icu_74::UCharCharacterIterator::setIndex32\28int\29 +8255:icu_74::UCharCharacterIterator::previous\28\29 +8256:icu_74::UCharCharacterIterator::previous32\28\29 +8257:icu_74::UCharCharacterIterator::operator==\28icu_74::ForwardCharacterIterator\20const&\29\20const +8258:icu_74::UCharCharacterIterator::next\28\29 +8259:icu_74::UCharCharacterIterator::nextPostInc\28\29 +8260:icu_74::UCharCharacterIterator::next32\28\29 +8261:icu_74::UCharCharacterIterator::next32PostInc\28\29 +8262:icu_74::UCharCharacterIterator::move\28int\2c\20icu_74::CharacterIterator::EOrigin\29 +8263:icu_74::UCharCharacterIterator::move32\28int\2c\20icu_74::CharacterIterator::EOrigin\29 +8264:icu_74::UCharCharacterIterator::last\28\29 +8265:icu_74::UCharCharacterIterator::last32\28\29 +8266:icu_74::UCharCharacterIterator::hashCode\28\29\20const +8267:icu_74::UCharCharacterIterator::hasPrevious\28\29 +8268:icu_74::UCharCharacterIterator::hasNext\28\29 +8269:icu_74::UCharCharacterIterator::getText\28icu_74::UnicodeString&\29 +8270:icu_74::UCharCharacterIterator::getDynamicClassID\28\29\20const +8271:icu_74::UCharCharacterIterator::first\28\29 +8272:icu_74::UCharCharacterIterator::firstPostInc\28\29 +8273:icu_74::UCharCharacterIterator::first32\28\29 +8274:icu_74::UCharCharacterIterator::first32PostInc\28\29 +8275:icu_74::UCharCharacterIterator::current\28\29\20const +8276:icu_74::UCharCharacterIterator::current32\28\29\20const +8277:icu_74::UCharCharacterIterator::clone\28\29\20const +8278:icu_74::ThaiBreakEngine::~ThaiBreakEngine\28\29.1 +8279:icu_74::ThaiBreakEngine::~ThaiBreakEngine\28\29 +8280:icu_74::ThaiBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8281:icu_74::StringTrieBuilder::SplitBranchNode::write\28icu_74::StringTrieBuilder&\29 +8282:icu_74::StringTrieBuilder::SplitBranchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8283:icu_74::StringTrieBuilder::SplitBranchNode::markRightEdgesFirst\28int\29 +8284:icu_74::StringTrieBuilder::Node::markRightEdgesFirst\28int\29 +8285:icu_74::StringTrieBuilder::ListBranchNode::write\28icu_74::StringTrieBuilder&\29 +8286:icu_74::StringTrieBuilder::ListBranchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8287:icu_74::StringTrieBuilder::ListBranchNode::markRightEdgesFirst\28int\29 +8288:icu_74::StringTrieBuilder::IntermediateValueNode::write\28icu_74::StringTrieBuilder&\29 +8289:icu_74::StringTrieBuilder::IntermediateValueNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8290:icu_74::StringTrieBuilder::IntermediateValueNode::markRightEdgesFirst\28int\29 +8291:icu_74::StringTrieBuilder::FinalValueNode::write\28icu_74::StringTrieBuilder&\29 +8292:icu_74::StringTrieBuilder::FinalValueNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8293:icu_74::StringTrieBuilder::BranchHeadNode::write\28icu_74::StringTrieBuilder&\29 +8294:icu_74::StringEnumeration::unext\28int*\2c\20UErrorCode&\29 +8295:icu_74::StringEnumeration::snext\28UErrorCode&\29 +8296:icu_74::StringEnumeration::operator==\28icu_74::StringEnumeration\20const&\29\20const +8297:icu_74::StringEnumeration::operator!=\28icu_74::StringEnumeration\20const&\29\20const +8298:icu_74::StringEnumeration::next\28int*\2c\20UErrorCode&\29 +8299:icu_74::SimpleLocaleKeyFactory::~SimpleLocaleKeyFactory\28\29.1 +8300:icu_74::SimpleLocaleKeyFactory::~SimpleLocaleKeyFactory\28\29 +8301:icu_74::SimpleLocaleKeyFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8302:icu_74::SimpleLocaleKeyFactory::getDynamicClassID\28\29\20const +8303:icu_74::SimpleLocaleKeyFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8304:icu_74::SimpleFilteredSentenceBreakIterator::~SimpleFilteredSentenceBreakIterator\28\29.1 +8305:icu_74::SimpleFilteredSentenceBreakIterator::~SimpleFilteredSentenceBreakIterator\28\29 +8306:icu_74::SimpleFilteredSentenceBreakIterator::setText\28icu_74::UnicodeString\20const&\29 +8307:icu_74::SimpleFilteredSentenceBreakIterator::setText\28UText*\2c\20UErrorCode&\29 +8308:icu_74::SimpleFilteredSentenceBreakIterator::refreshInputText\28UText*\2c\20UErrorCode&\29 +8309:icu_74::SimpleFilteredSentenceBreakIterator::previous\28\29 +8310:icu_74::SimpleFilteredSentenceBreakIterator::preceding\28int\29 +8311:icu_74::SimpleFilteredSentenceBreakIterator::next\28int\29 +8312:icu_74::SimpleFilteredSentenceBreakIterator::next\28\29 +8313:icu_74::SimpleFilteredSentenceBreakIterator::last\28\29 +8314:icu_74::SimpleFilteredSentenceBreakIterator::isBoundary\28int\29 +8315:icu_74::SimpleFilteredSentenceBreakIterator::getUText\28UText*\2c\20UErrorCode&\29\20const +8316:icu_74::SimpleFilteredSentenceBreakIterator::getText\28\29\20const +8317:icu_74::SimpleFilteredSentenceBreakIterator::following\28int\29 +8318:icu_74::SimpleFilteredSentenceBreakIterator::first\28\29 +8319:icu_74::SimpleFilteredSentenceBreakIterator::current\28\29\20const +8320:icu_74::SimpleFilteredSentenceBreakIterator::createBufferClone\28void*\2c\20int&\2c\20UErrorCode&\29 +8321:icu_74::SimpleFilteredSentenceBreakIterator::clone\28\29\20const +8322:icu_74::SimpleFilteredSentenceBreakIterator::adoptText\28icu_74::CharacterIterator*\29 +8323:icu_74::SimpleFilteredSentenceBreakData::~SimpleFilteredSentenceBreakData\28\29.1 +8324:icu_74::SimpleFilteredSentenceBreakData::~SimpleFilteredSentenceBreakData\28\29 +8325:icu_74::SimpleFilteredBreakIteratorBuilder::~SimpleFilteredBreakIteratorBuilder\28\29.1 +8326:icu_74::SimpleFilteredBreakIteratorBuilder::~SimpleFilteredBreakIteratorBuilder\28\29 +8327:icu_74::SimpleFilteredBreakIteratorBuilder::unsuppressBreakAfter\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +8328:icu_74::SimpleFilteredBreakIteratorBuilder::suppressBreakAfter\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +8329:icu_74::SimpleFilteredBreakIteratorBuilder::build\28icu_74::BreakIterator*\2c\20UErrorCode&\29 +8330:icu_74::SimpleFactory::~SimpleFactory\28\29.1 +8331:icu_74::SimpleFactory::~SimpleFactory\28\29 +8332:icu_74::SimpleFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8333:icu_74::SimpleFactory::getDynamicClassID\28\29\20const +8334:icu_74::SimpleFactory::getDisplayName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29\20const +8335:icu_74::SimpleFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8336:icu_74::ServiceEnumeration::~ServiceEnumeration\28\29.1 +8337:icu_74::ServiceEnumeration::~ServiceEnumeration\28\29 +8338:icu_74::ServiceEnumeration::snext\28UErrorCode&\29 +8339:icu_74::ServiceEnumeration::reset\28UErrorCode&\29 +8340:icu_74::ServiceEnumeration::getDynamicClassID\28\29\20const +8341:icu_74::ServiceEnumeration::count\28UErrorCode&\29\20const +8342:icu_74::ServiceEnumeration::clone\28\29\20const +8343:icu_74::RuleBasedBreakIterator::~RuleBasedBreakIterator\28\29.1 +8344:icu_74::RuleBasedBreakIterator::setText\28icu_74::UnicodeString\20const&\29 +8345:icu_74::RuleBasedBreakIterator::setText\28UText*\2c\20UErrorCode&\29 +8346:icu_74::RuleBasedBreakIterator::refreshInputText\28UText*\2c\20UErrorCode&\29 +8347:icu_74::RuleBasedBreakIterator::previous\28\29 +8348:icu_74::RuleBasedBreakIterator::preceding\28int\29 +8349:icu_74::RuleBasedBreakIterator::operator==\28icu_74::BreakIterator\20const&\29\20const +8350:icu_74::RuleBasedBreakIterator::next\28int\29 +8351:icu_74::RuleBasedBreakIterator::next\28\29 +8352:icu_74::RuleBasedBreakIterator::last\28\29 +8353:icu_74::RuleBasedBreakIterator::isBoundary\28int\29 +8354:icu_74::RuleBasedBreakIterator::hashCode\28\29\20const +8355:icu_74::RuleBasedBreakIterator::getUText\28UText*\2c\20UErrorCode&\29\20const +8356:icu_74::RuleBasedBreakIterator::getText\28\29\20const +8357:icu_74::RuleBasedBreakIterator::getRules\28\29\20const +8358:icu_74::RuleBasedBreakIterator::getRuleStatus\28\29\20const +8359:icu_74::RuleBasedBreakIterator::getRuleStatusVec\28int*\2c\20int\2c\20UErrorCode&\29 +8360:icu_74::RuleBasedBreakIterator::getDynamicClassID\28\29\20const +8361:icu_74::RuleBasedBreakIterator::getBinaryRules\28unsigned\20int&\29 +8362:icu_74::RuleBasedBreakIterator::following\28int\29 +8363:icu_74::RuleBasedBreakIterator::first\28\29 +8364:icu_74::RuleBasedBreakIterator::current\28\29\20const +8365:icu_74::RuleBasedBreakIterator::createBufferClone\28void*\2c\20int&\2c\20UErrorCode&\29 +8366:icu_74::RuleBasedBreakIterator::clone\28\29\20const +8367:icu_74::RuleBasedBreakIterator::adoptText\28icu_74::CharacterIterator*\29 +8368:icu_74::RuleBasedBreakIterator::BreakCache::~BreakCache\28\29.1 +8369:icu_74::RuleBasedBreakIterator::BreakCache::~BreakCache\28\29 +8370:icu_74::ResourceDataValue::~ResourceDataValue\28\29.1 +8371:icu_74::ResourceDataValue::isNoInheritanceMarker\28\29\20const +8372:icu_74::ResourceDataValue::getUInt\28UErrorCode&\29\20const +8373:icu_74::ResourceDataValue::getType\28\29\20const +8374:icu_74::ResourceDataValue::getStringOrFirstOfArray\28UErrorCode&\29\20const +8375:icu_74::ResourceDataValue::getStringArray\28icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29\20const +8376:icu_74::ResourceDataValue::getStringArrayOrStringAsArray\28icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29\20const +8377:icu_74::ResourceDataValue::getInt\28UErrorCode&\29\20const +8378:icu_74::ResourceDataValue::getAliasString\28int&\2c\20UErrorCode&\29\20const +8379:icu_74::ResourceBundle::~ResourceBundle\28\29.1 +8380:icu_74::ResourceBundle::~ResourceBundle\28\29 +8381:icu_74::ResourceBundle::getDynamicClassID\28\29\20const +8382:icu_74::ParsePosition::getDynamicClassID\28\29\20const +8383:icu_74::Normalizer2WithImpl::spanQuickCheckYes\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8384:icu_74::Normalizer2WithImpl::normalize\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString&\2c\20UErrorCode&\29\20const +8385:icu_74::Normalizer2WithImpl::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8386:icu_74::Normalizer2WithImpl::getRawDecomposition\28int\2c\20icu_74::UnicodeString&\29\20const +8387:icu_74::Normalizer2WithImpl::getDecomposition\28int\2c\20icu_74::UnicodeString&\29\20const +8388:icu_74::Normalizer2WithImpl::getCombiningClass\28int\29\20const +8389:icu_74::Normalizer2WithImpl::composePair\28int\2c\20int\29\20const +8390:icu_74::Normalizer2WithImpl::append\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8391:icu_74::Normalizer2Impl::~Normalizer2Impl\28\29.1 +8392:icu_74::Normalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8393:icu_74::Normalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8394:icu_74::NoopNormalizer2::spanQuickCheckYes\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8395:icu_74::NoopNormalizer2::normalize\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString&\2c\20UErrorCode&\29\20const +8396:icu_74::NoopNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8397:icu_74::MlBreakEngine::~MlBreakEngine\28\29.1 +8398:icu_74::LocaleKeyFactory::~LocaleKeyFactory\28\29.1 +8399:icu_74::LocaleKeyFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8400:icu_74::LocaleKeyFactory::handlesKey\28icu_74::ICUServiceKey\20const&\2c\20UErrorCode&\29\20const +8401:icu_74::LocaleKeyFactory::getDynamicClassID\28\29\20const +8402:icu_74::LocaleKeyFactory::getDisplayName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29\20const +8403:icu_74::LocaleKeyFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8404:icu_74::LocaleKey::~LocaleKey\28\29.1 +8405:icu_74::LocaleKey::~LocaleKey\28\29 +8406:icu_74::LocaleKey::prefix\28icu_74::UnicodeString&\29\20const +8407:icu_74::LocaleKey::isFallbackOf\28icu_74::UnicodeString\20const&\29\20const +8408:icu_74::LocaleKey::getDynamicClassID\28\29\20const +8409:icu_74::LocaleKey::fallback\28\29 +8410:icu_74::LocaleKey::currentLocale\28icu_74::Locale&\29\20const +8411:icu_74::LocaleKey::currentID\28icu_74::UnicodeString&\29\20const +8412:icu_74::LocaleKey::currentDescriptor\28icu_74::UnicodeString&\29\20const +8413:icu_74::LocaleKey::canonicalLocale\28icu_74::Locale&\29\20const +8414:icu_74::LocaleKey::canonicalID\28icu_74::UnicodeString&\29\20const +8415:icu_74::LocaleBuilder::~LocaleBuilder\28\29.1 +8416:icu_74::Locale::~Locale\28\29.1 +8417:icu_74::Locale::getDynamicClassID\28\29\20const +8418:icu_74::LoadedNormalizer2Impl::~LoadedNormalizer2Impl\28\29.1 +8419:icu_74::LoadedNormalizer2Impl::~LoadedNormalizer2Impl\28\29 +8420:icu_74::LoadedNormalizer2Impl::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8421:icu_74::LaoBreakEngine::~LaoBreakEngine\28\29.1 +8422:icu_74::LaoBreakEngine::~LaoBreakEngine\28\29 +8423:icu_74::LSTMBreakEngine::~LSTMBreakEngine\28\29.1 +8424:icu_74::LSTMBreakEngine::~LSTMBreakEngine\28\29 +8425:icu_74::LSTMBreakEngine::name\28\29\20const +8426:icu_74::LSTMBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8427:icu_74::KhmerBreakEngine::~KhmerBreakEngine\28\29.1 +8428:icu_74::KhmerBreakEngine::~KhmerBreakEngine\28\29 +8429:icu_74::KhmerBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8430:icu_74::KeywordEnumeration::~KeywordEnumeration\28\29.1 +8431:icu_74::KeywordEnumeration::~KeywordEnumeration\28\29 +8432:icu_74::KeywordEnumeration::snext\28UErrorCode&\29 +8433:icu_74::KeywordEnumeration::reset\28UErrorCode&\29 +8434:icu_74::KeywordEnumeration::next\28int*\2c\20UErrorCode&\29 +8435:icu_74::KeywordEnumeration::getDynamicClassID\28\29\20const +8436:icu_74::KeywordEnumeration::count\28UErrorCode&\29\20const +8437:icu_74::KeywordEnumeration::clone\28\29\20const +8438:icu_74::ICUServiceKey::~ICUServiceKey\28\29.1 +8439:icu_74::ICUServiceKey::isFallbackOf\28icu_74::UnicodeString\20const&\29\20const +8440:icu_74::ICUServiceKey::getDynamicClassID\28\29\20const +8441:icu_74::ICUServiceKey::currentDescriptor\28icu_74::UnicodeString&\29\20const +8442:icu_74::ICUServiceKey::canonicalID\28icu_74::UnicodeString&\29\20const +8443:icu_74::ICUService::unregister\28void\20const*\2c\20UErrorCode&\29 +8444:icu_74::ICUService::reset\28\29 +8445:icu_74::ICUService::registerInstance\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8446:icu_74::ICUService::registerFactory\28icu_74::ICUServiceFactory*\2c\20UErrorCode&\29 +8447:icu_74::ICUService::reInitializeFactories\28\29 +8448:icu_74::ICUService::notifyListener\28icu_74::EventListener&\29\20const +8449:icu_74::ICUService::isDefault\28\29\20const +8450:icu_74::ICUService::getKey\28icu_74::ICUServiceKey&\2c\20icu_74::UnicodeString*\2c\20UErrorCode&\29\20const +8451:icu_74::ICUService::createSimpleFactory\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8452:icu_74::ICUService::createKey\28icu_74::UnicodeString\20const*\2c\20UErrorCode&\29\20const +8453:icu_74::ICUService::clearCaches\28\29 +8454:icu_74::ICUService::acceptsListener\28icu_74::EventListener\20const&\29\20const +8455:icu_74::ICUResourceBundleFactory::~ICUResourceBundleFactory\28\29.1 +8456:icu_74::ICUResourceBundleFactory::handleCreate\28icu_74::Locale\20const&\2c\20int\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8457:icu_74::ICUResourceBundleFactory::getSupportedIDs\28UErrorCode&\29\20const +8458:icu_74::ICUResourceBundleFactory::getDynamicClassID\28\29\20const +8459:icu_74::ICUNotifier::removeListener\28icu_74::EventListener\20const*\2c\20UErrorCode&\29 +8460:icu_74::ICUNotifier::notifyChanged\28\29 +8461:icu_74::ICUNotifier::addListener\28icu_74::EventListener\20const*\2c\20UErrorCode&\29 +8462:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8463:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20int\2c\20int\2c\20UErrorCode&\29 +8464:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +8465:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20UErrorCode&\29 +8466:icu_74::ICULocaleService::getAvailableLocales\28\29\20const +8467:icu_74::ICULocaleService::createKey\28icu_74::UnicodeString\20const*\2c\20int\2c\20UErrorCode&\29\20const +8468:icu_74::ICULocaleService::createKey\28icu_74::UnicodeString\20const*\2c\20UErrorCode&\29\20const +8469:icu_74::ICULanguageBreakFactory::~ICULanguageBreakFactory\28\29.1 +8470:icu_74::ICULanguageBreakFactory::~ICULanguageBreakFactory\28\29 +8471:icu_74::ICULanguageBreakFactory::loadEngineFor\28int\2c\20char\20const*\29 +8472:icu_74::ICULanguageBreakFactory::loadDictionaryMatcherFor\28UScriptCode\29 +8473:icu_74::ICULanguageBreakFactory::getEngineFor\28int\2c\20char\20const*\29 +8474:icu_74::ICULanguageBreakFactory::addExternalEngine\28icu_74::ExternalBreakEngine*\2c\20UErrorCode&\29 +8475:icu_74::ICUBreakIteratorService::~ICUBreakIteratorService\28\29.1 +8476:icu_74::ICUBreakIteratorService::~ICUBreakIteratorService\28\29 +8477:icu_74::ICUBreakIteratorService::isDefault\28\29\20const +8478:icu_74::ICUBreakIteratorService::handleDefault\28icu_74::ICUServiceKey\20const&\2c\20icu_74::UnicodeString*\2c\20UErrorCode&\29\20const +8479:icu_74::ICUBreakIteratorService::cloneInstance\28icu_74::UObject*\29\20const +8480:icu_74::ICUBreakIteratorFactory::~ICUBreakIteratorFactory\28\29.1 +8481:icu_74::ICUBreakIteratorFactory::~ICUBreakIteratorFactory\28\29 +8482:icu_74::ICUBreakIteratorFactory::handleCreate\28icu_74::Locale\20const&\2c\20int\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8483:icu_74::GraphemeClusterVectorizer::vectorize\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20icu_74::UVector32&\2c\20UErrorCode&\29\20const +8484:icu_74::FCDNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8485:icu_74::FCDNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8486:icu_74::FCDNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8487:icu_74::FCDNormalizer2::isInert\28int\29\20const +8488:icu_74::EmojiProps::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8489:icu_74::DictionaryBreakEngine::setCharacters\28icu_74::UnicodeSet\20const&\29 +8490:icu_74::DictionaryBreakEngine::handles\28int\2c\20char\20const*\29\20const +8491:icu_74::DictionaryBreakEngine::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8492:icu_74::DecomposeNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8493:icu_74::DecomposeNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8494:icu_74::DecomposeNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8495:icu_74::DecomposeNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8496:icu_74::DecomposeNormalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8497:icu_74::DecomposeNormalizer2::isInert\28int\29\20const +8498:icu_74::DecomposeNormalizer2::getQuickCheck\28int\29\20const +8499:icu_74::ConstArray2D::get\28int\2c\20int\29\20const +8500:icu_74::ConstArray1D::get\28int\29\20const +8501:icu_74::ComposeNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8502:icu_74::ComposeNormalizer2::quickCheck\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8503:icu_74::ComposeNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8504:icu_74::ComposeNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8505:icu_74::ComposeNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8506:icu_74::ComposeNormalizer2::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8507:icu_74::ComposeNormalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8508:icu_74::ComposeNormalizer2::isInert\28int\29\20const +8509:icu_74::ComposeNormalizer2::hasBoundaryBefore\28int\29\20const +8510:icu_74::ComposeNormalizer2::hasBoundaryAfter\28int\29\20const +8511:icu_74::ComposeNormalizer2::getQuickCheck\28int\29\20const +8512:icu_74::CodePointsVectorizer::vectorize\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20icu_74::UVector32&\2c\20UErrorCode&\29\20const +8513:icu_74::CjkBreakEngine::~CjkBreakEngine\28\29.1 +8514:icu_74::CjkBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8515:icu_74::CheckedArrayByteSink::Reset\28\29 +8516:icu_74::CheckedArrayByteSink::GetAppendBuffer\28int\2c\20int\2c\20char*\2c\20int\2c\20int*\29 +8517:icu_74::CheckedArrayByteSink::Append\28char\20const*\2c\20int\29 +8518:icu_74::CharacterIterator::firstPostInc\28\29 +8519:icu_74::CharacterIterator::first32PostInc\28\29 +8520:icu_74::CharStringByteSink::GetAppendBuffer\28int\2c\20int\2c\20char*\2c\20int\2c\20int*\29 +8521:icu_74::CharStringByteSink::Append\28char\20const*\2c\20int\29 +8522:icu_74::BytesDictionaryMatcher::~BytesDictionaryMatcher\28\29.1 +8523:icu_74::BytesDictionaryMatcher::~BytesDictionaryMatcher\28\29 +8524:icu_74::BytesDictionaryMatcher::matches\28UText*\2c\20int\2c\20int\2c\20int*\2c\20int*\2c\20int*\2c\20int*\29\20const +8525:icu_74::BurmeseBreakEngine::~BurmeseBreakEngine\28\29.1 +8526:icu_74::BurmeseBreakEngine::~BurmeseBreakEngine\28\29 +8527:icu_74::BreakIterator::getRuleStatusVec\28int*\2c\20int\2c\20UErrorCode&\29 +8528:icu_74::BreakEngineWrapper::~BreakEngineWrapper\28\29.1 +8529:icu_74::BreakEngineWrapper::~BreakEngineWrapper\28\29 +8530:icu_74::BreakEngineWrapper::handles\28int\2c\20char\20const*\29\20const +8531:icu_74::BreakEngineWrapper::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8532:icu_74::BMPSet::contains\28int\29\20const +8533:icu_74::Array1D::~Array1D\28\29.1 +8534:icu_74::Array1D::~Array1D\28\29 +8535:icu_74::Array1D::get\28int\29\20const +8536:hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8537:hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8538:hb_unicode_script_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8539:hb_unicode_general_category_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8540:hb_ucd_script\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8541:hb_ucd_mirroring\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8542:hb_ucd_general_category\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8543:hb_ucd_decompose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20void*\29 +8544:hb_ucd_compose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8545:hb_ucd_combining_class\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8546:hb_syllabic_clear_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8547:hb_paint_sweep_gradient_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8548:hb_paint_push_transform_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8549:hb_paint_push_clip_rectangle_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8550:hb_paint_image_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +8551:hb_paint_extents_push_transform\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8552:hb_paint_extents_push_group\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8553:hb_paint_extents_push_clip_rectangle\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8554:hb_paint_extents_push_clip_glyph\28hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_font_t*\2c\20void*\29 +8555:hb_paint_extents_pop_transform\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8556:hb_paint_extents_pop_group\28hb_paint_funcs_t*\2c\20void*\2c\20hb_paint_composite_mode_t\2c\20void*\29 +8557:hb_paint_extents_pop_clip\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8558:hb_paint_extents_paint_sweep_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8559:hb_paint_extents_paint_image\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +8560:hb_paint_extents_paint_color\28hb_paint_funcs_t*\2c\20void*\2c\20int\2c\20unsigned\20int\2c\20void*\29 +8561:hb_outline_recording_pen_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8562:hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8563:hb_outline_recording_pen_line_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8564:hb_outline_recording_pen_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8565:hb_outline_recording_pen_close_path\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +8566:hb_ot_paint_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8567:hb_ot_map_t::lookup_map_t::cmp\28void\20const*\2c\20void\20const*\29 +8568:hb_ot_map_t::feature_map_t::cmp\28void\20const*\2c\20void\20const*\29 +8569:hb_ot_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +8570:hb_ot_get_variation_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8571:hb_ot_get_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +8572:hb_ot_get_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8573:hb_ot_get_glyph_v_origin\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8574:hb_ot_get_glyph_v_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8575:hb_ot_get_glyph_name\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8576:hb_ot_get_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8577:hb_ot_get_glyph_from_name\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +8578:hb_ot_get_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8579:hb_ot_get_font_v_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8580:hb_ot_get_font_h_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8581:hb_ot_draw_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +8582:hb_font_paint_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8583:hb_font_get_variation_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8584:hb_font_get_nominal_glyphs_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +8585:hb_font_get_nominal_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8586:hb_font_get_nominal_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8587:hb_font_get_glyph_v_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8588:hb_font_get_glyph_v_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8589:hb_font_get_glyph_v_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8590:hb_font_get_glyph_v_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8591:hb_font_get_glyph_v_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8592:hb_font_get_glyph_v_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8593:hb_font_get_glyph_name_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8594:hb_font_get_glyph_name_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8595:hb_font_get_glyph_h_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8596:hb_font_get_glyph_h_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8597:hb_font_get_glyph_h_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8598:hb_font_get_glyph_h_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8599:hb_font_get_glyph_h_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8600:hb_font_get_glyph_h_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8601:hb_font_get_glyph_from_name_default\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +8602:hb_font_get_glyph_extents_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8603:hb_font_get_glyph_extents_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8604:hb_font_get_glyph_contour_point_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8605:hb_font_get_glyph_contour_point_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8606:hb_font_get_font_v_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8607:hb_font_get_font_h_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8608:hb_font_draw_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +8609:hb_draw_quadratic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8610:hb_draw_quadratic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8611:hb_draw_move_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8612:hb_draw_line_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8613:hb_draw_extents_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8614:hb_draw_extents_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8615:hb_draw_cubic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8616:hb_draw_close_path_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +8617:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +8618:hb_aat_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +8619:hb_aat_map_builder_t::feature_event_t::cmp\28void\20const*\2c\20void\20const*\29 +8620:hashStringTrieNode\28UElement\29 +8621:hashEntry\28UElement\29 +8622:hasFullCompositionExclusion\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8623:hasEmojiProperty\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8624:h2v2_upsample +8625:h2v2_merged_upsample_565D +8626:h2v2_merged_upsample_565 +8627:h2v2_merged_upsample +8628:h2v2_fancy_upsample +8629:h2v1_upsample +8630:h2v1_merged_upsample_565D +8631:h2v1_merged_upsample_565 +8632:h2v1_merged_upsample +8633:h2v1_fancy_upsample +8634:grayscale_convert +8635:gray_rgb_convert +8636:gray_rgb565_convert +8637:gray_rgb565D_convert +8638:gray_raster_render +8639:gray_raster_new +8640:gray_raster_done +8641:gray_move_to +8642:gray_line_to +8643:gray_cubic_to +8644:gray_conic_to +8645:get_sk_marker_list\28jpeg_decompress_struct*\29 +8646:get_sfnt_table +8647:get_interesting_appn +8648:getVo\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8649:getTrailCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8650:getScript\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8651:getNumericType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8652:getNormQuickCheck\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8653:getLeadCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8654:getJoiningType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8655:getJoiningGroup\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8656:getInSC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8657:getInPC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8658:getHangulSyllableType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8659:getGeneralCategory\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8660:getCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8661:getBiDiPairedBracketType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8662:getBiDiClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8663:fullsize_upsample +8664:ft_smooth_transform +8665:ft_smooth_set_mode +8666:ft_smooth_render +8667:ft_smooth_overlap_spans +8668:ft_smooth_lcd_spans +8669:ft_smooth_init +8670:ft_smooth_get_cbox +8671:ft_gzip_free +8672:ft_gzip_alloc +8673:ft_ansi_stream_io +8674:ft_ansi_stream_close +8675:fquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8676:format_message +8677:fmt_fp +8678:fline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8679:first_axis_intersection\28double\20const*\2c\20bool\2c\20double\2c\20double*\29 +8680:finish_pass1 +8681:finish_output_pass +8682:finish_input_pass +8683:final_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8684:fcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8685:fconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8686:fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8687:fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8688:fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8689:fast_swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8690:fast_swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8691:fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8692:fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8693:fast_swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8694:fast_swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8695:fast_swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8696:error_exit +8697:error_callback +8698:equalStringTrieNodes\28UElement\2c\20UElement\29 +8699:emscripten::internal::MethodInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20void\2c\20SkCanvas*\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&>::invoke\28void\20\28SkCanvas::*\20const&\29\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint*\29 +8700:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8701:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8702:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\29 +8703:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\29 +8704:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkPaint*\29 +8705:emscripten::internal::MethodInvoker\20\28skia::textlayout::Paragraph::*\29\28unsigned\20int\29\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int>::invoke\28skia::textlayout::SkRange\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20int\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\29 +8706:emscripten::internal::MethodInvoker::invoke\28skia::textlayout::PositionWithAffinity\20\28skia::textlayout::Paragraph::*\20const&\29\28float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8707:emscripten::internal::MethodInvoker::invoke\28int\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20long\29\20const\2c\20skia::textlayout::Paragraph\20const*\2c\20unsigned\20long\29 +8708:emscripten::internal::MethodInvoker::invoke\28bool\20\28SkPath::*\20const&\29\28float\2c\20float\29\20const\2c\20SkPath\20const*\2c\20float\2c\20float\29 +8709:emscripten::internal::MethodInvoker::invoke\28SkPath&\20\28SkPath::*\20const&\29\28bool\29\2c\20SkPath*\2c\20bool\29 +8710:emscripten::internal::Invoker::invoke\28void\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +8711:emscripten::internal::Invoker::invoke\28void\20\28*\29\28emscripten::val\29\2c\20emscripten::_EM_VAL*\29 +8712:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28unsigned\20long\29\2c\20unsigned\20long\29 +8713:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont*\29 +8714:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\2c\20int\2c\20int\29 +8715:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\29 +8716:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +8717:emscripten::internal::Invoker\2c\20sk_sp\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SimpleImageInfo\29\2c\20sk_sp*\2c\20SimpleImageInfo*\29 +8718:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\29 +8719:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8720:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20sk_sp*\29 +8721:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8722:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8723:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8724:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8725:emscripten::internal::Invoker\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +8726:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20int\2c\20float>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20int\2c\20float\29\2c\20unsigned\20long\2c\20int\2c\20float\29 +8727:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkPath>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkPath\29\2c\20unsigned\20long\2c\20SkPath*\29 +8728:emscripten::internal::Invoker\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28float\2c\20unsigned\20long\29\2c\20float\2c\20unsigned\20long\29 +8729:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20int\29\2c\20float\2c\20float\2c\20unsigned\20int\29 +8730:emscripten::internal::Invoker\2c\20float>::invoke\28sk_sp\20\28*\29\28float\29\2c\20float\29 +8731:emscripten::internal::Invoker\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style>::invoke\28sk_sp\20\28*\29\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29\2c\20SkPath*\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +8732:emscripten::internal::Invoker\2c\20SkBlurStyle\2c\20float\2c\20bool>::invoke\28sk_sp\20\28*\29\28SkBlurStyle\2c\20float\2c\20bool\29\2c\20SkBlurStyle\2c\20float\2c\20bool\29 +8733:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp*\29 +8734:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp*\29 +8735:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\29\2c\20sk_sp*\29 +8736:emscripten::internal::Invoker\2c\20sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +8737:emscripten::internal::Invoker\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8738:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20sk_sp\29\2c\20float\2c\20float\2c\20sk_sp*\29 +8739:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp*\29 +8740:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp*\29 +8741:emscripten::internal::Invoker\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +8742:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +8743:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20emscripten::val\29\2c\20SimpleImageInfo*\2c\20emscripten::_EM_VAL*\29 +8744:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp*\29 +8745:emscripten::internal::Invoker\2c\20sk_sp\20const&\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\20const&\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +8746:emscripten::internal::Invoker\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20sk_sp\2c\20sk_sp\29\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +8747:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\29 +8748:emscripten::internal::Invoker\2c\20std::__2::allocator>>::invoke\28emscripten::val\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +8749:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28emscripten::val\2c\20emscripten::val\2c\20float\29\2c\20emscripten::_EM_VAL*\2c\20emscripten::_EM_VAL*\2c\20float\29 +8750:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29\2c\20SkPath*\2c\20SkPath*\2c\20float\29 +8751:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +8752:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +8753:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28bool\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +8754:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +8755:emscripten::internal::Invoker::invoke\28SkVertices::Builder*\20\28*\29\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29\2c\20SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +8756:emscripten::internal::Invoker\2c\20int\2c\20int>::invoke\28SkRuntimeEffect::TracedShader\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +8757:emscripten::internal::Invoker::invoke\28SkPath\20\28*\29\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +8758:emscripten::internal::Invoker&&\2c\20float&&\2c\20float&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\29 +8759:emscripten::internal::Invoker&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\29 +8760:emscripten::internal::Invoker&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\29\2c\20sk_sp*\29 +8761:emscripten::internal::Invoker::invoke\28SkContourMeasureIter*\20\28*\29\28SkPath\20const&\2c\20bool&&\2c\20float&&\29\2c\20SkPath*\2c\20bool\2c\20float\29 +8762:emscripten::internal::Invoker::invoke\28SkCanvas*\20\28*\29\28float&&\2c\20float&&\29\2c\20float\2c\20float\29 +8763:emscripten::internal::FunctionInvoker\2c\20unsigned\20long\29\2c\20void\2c\20skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long>::invoke\28void\20\28**\29\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29\2c\20skia::textlayout::TypefaceFontProvider*\2c\20sk_sp*\2c\20unsigned\20long\29 +8764:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\29\2c\20void\2c\20skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>>::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +8765:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +8766:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\2c\20SkPaint*\2c\20SkPaint*\29 +8767:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\29 +8768:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8769:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8770:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8771:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +8772:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8773:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8774:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29\2c\20SkContourMeasure*\2c\20float\2c\20unsigned\20long\29 +8775:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +8776:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint*\29 +8777:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8778:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8779:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8780:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8781:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +8782:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8783:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +8784:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\20\28*\29\28SkSL::DebugTrace&\29\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::DebugTrace&>::invoke\28std::__2::basic_string\2c\20std::__2::allocator>\20\28**\29\28SkSL::DebugTrace&\29\2c\20SkSL::DebugTrace*\29 +8785:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20SkFontMgr*\2c\20unsigned\20long\2c\20int\29 +8786:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20SkFontMgr*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +8787:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +8788:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +8789:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8790:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +8791:emscripten::internal::FunctionInvoker\20\28*\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkPicture*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8792:emscripten::internal::FunctionInvoker\20\28*\29\28SkPictureRecorder&\29\2c\20sk_sp\2c\20SkPictureRecorder&>::invoke\28sk_sp\20\28**\29\28SkPictureRecorder&\29\2c\20SkPictureRecorder*\29 +8793:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20long\29\2c\20SkSurface*\2c\20unsigned\20long\29 +8794:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20SkSurface*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo*\29 +8795:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +8796:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\29\2c\20SkCanvas*\2c\20SkPaint*\29 +8797:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +8798:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8799:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +8800:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\29 +8801:emscripten::internal::FunctionInvoker\29\2c\20emscripten::val\2c\20sk_sp>::invoke\28emscripten::val\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +8802:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29\2c\20SkFont*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +8803:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +8804:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8805:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\29 +8806:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20bool\29 +8807:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20StrokeOpts\29\2c\20SkPath*\2c\20StrokeOpts*\29 +8808:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8809:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkPath\20const&\29\2c\20SkPath*\29 +8810:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29\2c\20SkContourMeasure*\2c\20float\2c\20float\2c\20bool\29 +8811:emscripten::internal::FunctionInvoker::invoke\28SkPaint\20\28**\29\28SkPaint\20const&\29\2c\20SkPaint*\29 +8812:emscripten::internal::FunctionInvoker::invoke\28SimpleImageInfo\20\28**\29\28SkSurface&\29\2c\20SkSurface*\29 +8813:emscripten::internal::FunctionInvoker::invoke\28RuntimeEffectUniform\20\28**\29\28SkRuntimeEffect&\2c\20int\29\2c\20SkRuntimeEffect*\2c\20int\29 +8814:emit_message +8815:embind_init_Skia\28\29::$_9::__invoke\28SkAnimatedImage&\29 +8816:embind_init_Skia\28\29::$_99::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +8817:embind_init_Skia\28\29::$_98::__invoke\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20bool\29 +8818:embind_init_Skia\28\29::$_97::__invoke\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8819:embind_init_Skia\28\29::$_96::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20int\29 +8820:embind_init_Skia\28\29::$_95::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\29 +8821:embind_init_Skia\28\29::$_94::__invoke\28unsigned\20long\2c\20SkPath\29 +8822:embind_init_Skia\28\29::$_93::__invoke\28float\2c\20unsigned\20long\29 +8823:embind_init_Skia\28\29::$_92::__invoke\28unsigned\20long\2c\20int\2c\20float\29 +8824:embind_init_Skia\28\29::$_91::__invoke\28\29 +8825:embind_init_Skia\28\29::$_90::__invoke\28\29 +8826:embind_init_Skia\28\29::$_8::__invoke\28emscripten::val\29 +8827:embind_init_Skia\28\29::$_89::__invoke\28sk_sp\2c\20sk_sp\29 +8828:embind_init_Skia\28\29::$_88::__invoke\28SkPaint&\2c\20unsigned\20int\2c\20sk_sp\29 +8829:embind_init_Skia\28\29::$_87::__invoke\28SkPaint&\2c\20unsigned\20int\29 +8830:embind_init_Skia\28\29::$_86::__invoke\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29 +8831:embind_init_Skia\28\29::$_85::__invoke\28SkPaint&\2c\20unsigned\20long\29 +8832:embind_init_Skia\28\29::$_84::__invoke\28SkPaint\20const&\29 +8833:embind_init_Skia\28\29::$_83::__invoke\28SkBlurStyle\2c\20float\2c\20bool\29 +8834:embind_init_Skia\28\29::$_82::__invoke\28float\2c\20float\2c\20sk_sp\29 +8835:embind_init_Skia\28\29::$_81::__invoke\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29 +8836:embind_init_Skia\28\29::$_80::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29 +8837:embind_init_Skia\28\29::$_7::__invoke\28GrDirectContext&\2c\20unsigned\20long\29 +8838:embind_init_Skia\28\29::$_79::__invoke\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8839:embind_init_Skia\28\29::$_78::__invoke\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +8840:embind_init_Skia\28\29::$_77::__invoke\28float\2c\20float\2c\20sk_sp\29 +8841:embind_init_Skia\28\29::$_76::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +8842:embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +8843:embind_init_Skia\28\29::$_74::__invoke\28sk_sp\29 +8844:embind_init_Skia\28\29::$_73::__invoke\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29 +8845:embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +8846:embind_init_Skia\28\29::$_71::__invoke\28sk_sp\2c\20sk_sp\29 +8847:embind_init_Skia\28\29::$_70::__invoke\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29 +8848:embind_init_Skia\28\29::$_6::__invoke\28GrDirectContext&\29 +8849:embind_init_Skia\28\29::$_69::__invoke\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +8850:embind_init_Skia\28\29::$_68::__invoke\28SkImageFilter\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8851:embind_init_Skia\28\29::$_67::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8852:embind_init_Skia\28\29::$_66::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +8853:embind_init_Skia\28\29::$_65::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +8854:embind_init_Skia\28\29::$_64::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +8855:embind_init_Skia\28\29::$_63::__invoke\28sk_sp\29 +8856:embind_init_Skia\28\29::$_62::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +8857:embind_init_Skia\28\29::$_61::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +8858:embind_init_Skia\28\29::$_60::__invoke\28sk_sp\29 +8859:embind_init_Skia\28\29::$_5::__invoke\28GrDirectContext&\29 +8860:embind_init_Skia\28\29::$_59::__invoke\28sk_sp\29 +8861:embind_init_Skia\28\29::$_58::__invoke\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29 +8862:embind_init_Skia\28\29::$_57::__invoke\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8863:embind_init_Skia\28\29::$_56::__invoke\28SkFontMgr&\2c\20int\29 +8864:embind_init_Skia\28\29::$_55::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20int\29 +8865:embind_init_Skia\28\29::$_54::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +8866:embind_init_Skia\28\29::$_53::__invoke\28SkFont&\29 +8867:embind_init_Skia\28\29::$_52::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8868:embind_init_Skia\28\29::$_51::__invoke\28SkFont&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint*\29 +8869:embind_init_Skia\28\29::$_50::__invoke\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29 +8870:embind_init_Skia\28\29::$_4::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8871:embind_init_Skia\28\29::$_49::__invoke\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29 +8872:embind_init_Skia\28\29::$_48::__invoke\28unsigned\20long\29 +8873:embind_init_Skia\28\29::$_47::__invoke\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29 +8874:embind_init_Skia\28\29::$_46::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8875:embind_init_Skia\28\29::$_45::__invoke\28SkCanvas&\2c\20SkPaint\29 +8876:embind_init_Skia\28\29::$_44::__invoke\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +8877:embind_init_Skia\28\29::$_43::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8878:embind_init_Skia\28\29::$_42::__invoke\28SkCanvas&\2c\20SimpleImageInfo\29 +8879:embind_init_Skia\28\29::$_41::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8880:embind_init_Skia\28\29::$_40::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8881:embind_init_Skia\28\29::$_3::__invoke\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +8882:embind_init_Skia\28\29::$_39::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8883:embind_init_Skia\28\29::$_38::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +8884:embind_init_Skia\28\29::$_37::__invoke\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +8885:embind_init_Skia\28\29::$_36::__invoke\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +8886:embind_init_Skia\28\29::$_35::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8887:embind_init_Skia\28\29::$_34::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8888:embind_init_Skia\28\29::$_33::__invoke\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29 +8889:embind_init_Skia\28\29::$_32::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +8890:embind_init_Skia\28\29::$_31::__invoke\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8891:embind_init_Skia\28\29::$_30::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8892:embind_init_Skia\28\29::$_2::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +8893:embind_init_Skia\28\29::$_29::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8894:embind_init_Skia\28\29::$_28::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8895:embind_init_Skia\28\29::$_27::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const*\2c\20bool\29 +8896:embind_init_Skia\28\29::$_26::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +8897:embind_init_Skia\28\29::$_25::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8898:embind_init_Skia\28\29::$_24::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8899:embind_init_Skia\28\29::$_23::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8900:embind_init_Skia\28\29::$_22::__invoke\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +8901:embind_init_Skia\28\29::$_21::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8902:embind_init_Skia\28\29::$_20::__invoke\28SkCanvas&\2c\20unsigned\20int\2c\20SkBlendMode\29 +8903:embind_init_Skia\28\29::$_1::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8904:embind_init_Skia\28\29::$_19::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29 +8905:embind_init_Skia\28\29::$_18::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8906:embind_init_Skia\28\29::$_17::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8907:embind_init_Skia\28\29::$_16::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8908:embind_init_Skia\28\29::$_15::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +8909:embind_init_Skia\28\29::$_14::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8910:embind_init_Skia\28\29::$_148::__invoke\28SkVertices::Builder&\29 +8911:embind_init_Skia\28\29::$_147::__invoke\28SkVertices::Builder&\29 +8912:embind_init_Skia\28\29::$_146::__invoke\28SkVertices::Builder&\29 +8913:embind_init_Skia\28\29::$_145::__invoke\28SkVertices::Builder&\29 +8914:embind_init_Skia\28\29::$_144::__invoke\28SkVertices&\2c\20unsigned\20long\29 +8915:embind_init_Skia\28\29::$_143::__invoke\28SkTypeface&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8916:embind_init_Skia\28\29::$_142::__invoke\28unsigned\20long\2c\20int\29 +8917:embind_init_Skia\28\29::$_141::__invoke\28\29 +8918:embind_init_Skia\28\29::$_140::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8919:embind_init_Skia\28\29::$_13::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +8920:embind_init_Skia\28\29::$_139::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8921:embind_init_Skia\28\29::$_138::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8922:embind_init_Skia\28\29::$_137::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8923:embind_init_Skia\28\29::$_136::__invoke\28SkSurface&\29 +8924:embind_init_Skia\28\29::$_135::__invoke\28SkSurface&\29 +8925:embind_init_Skia\28\29::$_134::__invoke\28SkSurface&\29 +8926:embind_init_Skia\28\29::$_133::__invoke\28SkSurface&\2c\20SimpleImageInfo\29 +8927:embind_init_Skia\28\29::$_132::__invoke\28SkSurface&\2c\20unsigned\20long\29 +8928:embind_init_Skia\28\29::$_131::__invoke\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29 +8929:embind_init_Skia\28\29::$_130::__invoke\28SkSurface&\29 +8930:embind_init_Skia\28\29::$_12::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +8931:embind_init_Skia\28\29::$_129::__invoke\28SkSurface&\29 +8932:embind_init_Skia\28\29::$_128::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29 +8933:embind_init_Skia\28\29::$_127::__invoke\28SkRuntimeEffect&\2c\20int\29 +8934:embind_init_Skia\28\29::$_126::__invoke\28SkRuntimeEffect&\2c\20int\29 +8935:embind_init_Skia\28\29::$_125::__invoke\28SkRuntimeEffect&\29 +8936:embind_init_Skia\28\29::$_124::__invoke\28SkRuntimeEffect&\29 +8937:embind_init_Skia\28\29::$_123::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +8938:embind_init_Skia\28\29::$_122::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8939:embind_init_Skia\28\29::$_121::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +8940:embind_init_Skia\28\29::$_120::__invoke\28sk_sp\2c\20int\2c\20int\29 +8941:embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8942:embind_init_Skia\28\29::$_119::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8943:embind_init_Skia\28\29::$_118::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8944:embind_init_Skia\28\29::$_117::__invoke\28SkSL::DebugTrace&\29 +8945:embind_init_Skia\28\29::$_116::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8946:embind_init_Skia\28\29::$_115::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8947:embind_init_Skia\28\29::$_114::__invoke\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8948:embind_init_Skia\28\29::$_113::__invoke\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8949:embind_init_Skia\28\29::$_112::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8950:embind_init_Skia\28\29::$_111::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8951:embind_init_Skia\28\29::$_110::__invoke\28unsigned\20long\2c\20sk_sp\29 +8952:embind_init_Skia\28\29::$_10::__invoke\28SkAnimatedImage&\29 +8953:embind_init_Skia\28\29::$_109::operator\28\29\28SkPicture&\29\20const::'lambda'\28SkImage*\2c\20void*\29::__invoke\28SkImage*\2c\20void*\29 +8954:embind_init_Skia\28\29::$_109::__invoke\28SkPicture&\29 +8955:embind_init_Skia\28\29::$_108::__invoke\28SkPicture&\2c\20unsigned\20long\29 +8956:embind_init_Skia\28\29::$_107::__invoke\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8957:embind_init_Skia\28\29::$_106::__invoke\28SkPictureRecorder&\29 +8958:embind_init_Skia\28\29::$_105::__invoke\28SkPictureRecorder&\2c\20unsigned\20long\2c\20bool\29 +8959:embind_init_Skia\28\29::$_104::__invoke\28SkPath&\2c\20unsigned\20long\29 +8960:embind_init_Skia\28\29::$_103::__invoke\28SkPath&\2c\20unsigned\20long\29 +8961:embind_init_Skia\28\29::$_102::__invoke\28SkPath&\2c\20int\2c\20unsigned\20long\29 +8962:embind_init_Skia\28\29::$_101::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\29 +8963:embind_init_Skia\28\29::$_100::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +8964:embind_init_Skia\28\29::$_0::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8965:embind_init_Paragraph\28\29::$_9::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +8966:embind_init_Paragraph\28\29::$_8::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +8967:embind_init_Paragraph\28\29::$_7::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29 +8968:embind_init_Paragraph\28\29::$_6::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29 +8969:embind_init_Paragraph\28\29::$_4::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8970:embind_init_Paragraph\28\29::$_3::__invoke\28emscripten::val\2c\20emscripten::val\2c\20float\29 +8971:embind_init_Paragraph\28\29::$_2::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +8972:embind_init_Paragraph\28\29::$_19::__invoke\28skia::textlayout::FontCollection&\2c\20sk_sp\20const&\29 +8973:embind_init_Paragraph\28\29::$_18::__invoke\28\29 +8974:embind_init_Paragraph\28\29::$_17::__invoke\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29 +8975:embind_init_Paragraph\28\29::$_16::__invoke\28\29 +8976:dispose_external_texture\28void*\29 +8977:deleteJSTexture\28void*\29 +8978:deflate_slow +8979:deflate_fast +8980:defaultGetValue\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8981:defaultGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +8982:defaultContains\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8983:decompress_smooth_data +8984:decompress_onepass +8985:decompress_data +8986:decompose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8987:decompose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8988:decompose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8989:decode_mcu_DC_refine +8990:decode_mcu_DC_first +8991:decode_mcu_AC_refine +8992:decode_mcu_AC_first +8993:decode_mcu +8994:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::Make\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20bool\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8995:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\2c\20GrShaderCaps\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::\28anonymous\20namespace\29::HullShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8996:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8997:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8998:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathTessellator::PathDrawList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8999:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29>\28skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20sk_sp\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9000:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Make\28SkArenaAlloc*\2c\20GrAAType\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9001:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerSkyline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9002:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerPow2&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9003:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make*\20SkArenaAlloc::make>\28\29::'lambda'\28void*\29>\28sk_sp&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9004:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TextureOpImpl::Desc&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9005:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TentPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9006:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::SimpleTriangleShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9007:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9008:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader\2c\20bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*\2c\20GrShaderCaps\20const&>\28bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*&&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::DrawAtlasPathShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9009:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&>\28SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::BoundingBoxShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9010:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20unsigned\20char&&\29::'lambda'\28void*\29>\28Sprite_D32_S32&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9011:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9012:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTCubic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9013:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTConic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9014:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\29::'lambda'\28void*\29>\28SkSpriteBlitter_Memcpy&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9015:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&>\28SkPixmap\20const&\2c\20SkArenaAlloc*&\2c\20sk_sp&\29::'lambda'\28void*\29>\28SkRasterPipelineSpriteBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9016:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkArenaAlloc*&\29::'lambda'\28void*\29>\28SkRasterPipelineBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9017:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9018:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkImage_Base\20const*&&\2c\20SkMatrix\20const&\2c\20SkMipmapMode&\29::'lambda'\28void*\29>\28SkMipmapAccessor&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9019:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::PathData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9020:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::DrawableData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9021:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkGlyph&&\29::'lambda'\28void*\29>\28SkGlyph&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9022:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\29>>::Node*\20SkArenaAlloc::make&\29>>::Node\2c\20std::__2::function&\29>>\28std::__2::function&\29>&&\29::'lambda'\28void*\29>\28SkArenaAllocList&\29>>::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9023:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9024:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node>\28\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9025:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Coverage_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9026:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28GrSimpleMesh&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9027:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9028:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPath\20const&\2c\20SkArenaAlloc*\20const&\29::'lambda'\28void*\29>\28GrInnerFanTriangulator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9029:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldLCDTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20GrDistanceFieldLCDTextGeoProc::DistanceAdjust\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9030:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9031:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrAppliedClip&&\29::'lambda'\28void*\29>\28GrAppliedClip&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9032:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28EllipseGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9033:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9034:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9035:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +9036:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9037:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9038:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9039:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9040:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +9041:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9042:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9043:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9044:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9045:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +9046:deallocate_buffer_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9047:ddquad_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9048:ddquad_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9049:ddline_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9050:ddline_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9051:ddcubic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9052:ddcubic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9053:ddconic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9054:ddconic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9055:data_destroy_use\28void*\29 +9056:data_create_use\28hb_ot_shape_plan_t\20const*\29 +9057:data_create_khmer\28hb_ot_shape_plan_t\20const*\29 +9058:data_create_indic\28hb_ot_shape_plan_t\20const*\29 +9059:data_create_hangul\28hb_ot_shape_plan_t\20const*\29 +9060:copy\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +9061:convert_bytes_to_data +9062:consume_markers +9063:consume_data +9064:computeTonalColors\28unsigned\20long\2c\20unsigned\20long\29 +9065:compose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9066:compose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9067:compose_hebrew\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9068:compare_ppem +9069:compare_offsets +9070:compare_myanmar_order\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9071:compare_combining_class\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9072:compareKeywordStructs\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +9073:compareEntries\28UElement\2c\20UElement\29 +9074:color_quantize3 +9075:color_quantize +9076:collect_features_use\28hb_ot_shape_planner_t*\29 +9077:collect_features_myanmar\28hb_ot_shape_planner_t*\29 +9078:collect_features_khmer\28hb_ot_shape_planner_t*\29 +9079:collect_features_indic\28hb_ot_shape_planner_t*\29 +9080:collect_features_hangul\28hb_ot_shape_planner_t*\29 +9081:collect_features_arabic\28hb_ot_shape_planner_t*\29 +9082:clip\28SkPath\20const&\2c\20SkHalfPlane\20const&\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +9083:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitStatement\28SkSL::Statement\20const&\29 +9084:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9085:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitExpression\28SkSL::Expression\20const&\29 +9086:charIterTextLength\28UText*\29 +9087:charIterTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +9088:charIterTextClose\28UText*\29 +9089:charIterTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +9090:changesWhenNFKC_Casefolded\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9091:changesWhenCasefolded\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9092:cff_slot_init +9093:cff_slot_done +9094:cff_size_request +9095:cff_size_init +9096:cff_size_done +9097:cff_sid_to_glyph_name +9098:cff_set_var_design +9099:cff_set_mm_weightvector +9100:cff_set_mm_blend +9101:cff_set_instance +9102:cff_random +9103:cff_ps_has_glyph_names +9104:cff_ps_get_font_info +9105:cff_ps_get_font_extra +9106:cff_parse_vsindex +9107:cff_parse_private_dict +9108:cff_parse_multiple_master +9109:cff_parse_maxstack +9110:cff_parse_font_matrix +9111:cff_parse_font_bbox +9112:cff_parse_cid_ros +9113:cff_parse_blend +9114:cff_metrics_adjust +9115:cff_hadvance_adjust +9116:cff_glyph_load +9117:cff_get_var_design +9118:cff_get_var_blend +9119:cff_get_standard_encoding +9120:cff_get_ros +9121:cff_get_ps_name +9122:cff_get_name_index +9123:cff_get_mm_weightvector +9124:cff_get_mm_var +9125:cff_get_mm_blend +9126:cff_get_is_cid +9127:cff_get_interface +9128:cff_get_glyph_name +9129:cff_get_glyph_data +9130:cff_get_cmap_info +9131:cff_get_cid_from_glyph_index +9132:cff_get_advances +9133:cff_free_glyph_data +9134:cff_fd_select_get +9135:cff_face_init +9136:cff_face_done +9137:cff_driver_init +9138:cff_done_blend +9139:cff_decoder_prepare +9140:cff_decoder_init +9141:cff_cmap_unicode_init +9142:cff_cmap_unicode_char_next +9143:cff_cmap_unicode_char_index +9144:cff_cmap_encoding_init +9145:cff_cmap_encoding_done +9146:cff_cmap_encoding_char_next +9147:cff_cmap_encoding_char_index +9148:cff_builder_start_point +9149:cff_builder_init +9150:cff_builder_add_point1 +9151:cff_builder_add_point +9152:cff_builder_add_contour +9153:cff_blend_check_vector +9154:cf2_free_instance +9155:cf2_decoder_parse_charstrings +9156:cf2_builder_moveTo +9157:cf2_builder_lineTo +9158:cf2_builder_cubeTo +9159:caseBinaryPropertyContains\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9160:bw_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9161:bw_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9162:bw_pt_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9163:bw_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9164:bw_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9165:breakiterator_cleanup\28\29 +9166:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::SpotVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9167:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::AmbientVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9168:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9169:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9170:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9171:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9172:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9173:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9174:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9175:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9176:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9177:blur_y_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9178:blur_y_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9179:blur_y_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9180:blur_y_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9181:blur_x_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9182:blur_x_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9183:blur_x_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9184:blur_x_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9185:blit_row_s32a_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9186:blit_row_s32_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9187:blit_row_s32_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9188:biDiGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +9189:argb32_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9190:arabic_fallback_shape\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9191:alwaysSaveTypefaceBytes\28SkTypeface*\2c\20void*\29 +9192:alloc_sarray +9193:alloc_barray +9194:afm_parser_parse +9195:afm_parser_init +9196:afm_parser_done +9197:afm_compare_kern_pairs +9198:af_property_set +9199:af_property_get +9200:af_latin_metrics_scale +9201:af_latin_metrics_init +9202:af_latin_hints_init +9203:af_latin_hints_apply +9204:af_latin_get_standard_widths +9205:af_indic_metrics_init +9206:af_indic_hints_apply +9207:af_get_interface +9208:af_face_globals_free +9209:af_dummy_hints_init +9210:af_dummy_hints_apply +9211:af_cjk_metrics_init +9212:af_autofitter_load_glyph +9213:af_autofitter_init +9214:access_virt_sarray +9215:access_virt_barray +9216:aa_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9217:aa_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9218:aa_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9219:_hb_ot_font_destroy\28void*\29 +9220:_hb_glyph_info_is_default_ignorable\28hb_glyph_info_t\20const*\29 +9221:_hb_face_for_data_reference_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +9222:_hb_face_for_data_closure_destroy\28void*\29 +9223:_hb_clear_substitution_flags\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9224:_embind_initialize_bindings +9225:__wasm_call_ctors +9226:__stdio_write +9227:__stdio_seek +9228:__stdio_read +9229:__stdio_close +9230:__getTypeName +9231:__cxxabiv1::__vmi_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9232:__cxxabiv1::__vmi_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9233:__cxxabiv1::__vmi_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9234:__cxxabiv1::__si_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9235:__cxxabiv1::__si_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9236:__cxxabiv1::__si_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9237:__cxxabiv1::__class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9238:__cxxabiv1::__class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9239:__cxxabiv1::__class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9240:__cxxabiv1::__class_type_info::can_catch\28__cxxabiv1::__shim_type_info\20const*\2c\20void*&\29\20const +9241:__cxx_global_array_dtor.87 +9242:__cxx_global_array_dtor.72 +9243:__cxx_global_array_dtor.6 +9244:__cxx_global_array_dtor.57 +9245:__cxx_global_array_dtor.5 +9246:__cxx_global_array_dtor.44 +9247:__cxx_global_array_dtor.42 +9248:__cxx_global_array_dtor.40 +9249:__cxx_global_array_dtor.4 +9250:__cxx_global_array_dtor.38 +9251:__cxx_global_array_dtor.36 +9252:__cxx_global_array_dtor.34 +9253:__cxx_global_array_dtor.32 +9254:__cxx_global_array_dtor.2 +9255:__cxx_global_array_dtor.17 +9256:__cxx_global_array_dtor.16 +9257:__cxx_global_array_dtor.15 +9258:__cxx_global_array_dtor.138 +9259:__cxx_global_array_dtor.135 +9260:__cxx_global_array_dtor.111 +9261:__cxx_global_array_dtor.11 +9262:__cxx_global_array_dtor.10 +9263:__cxx_global_array_dtor.1.2 +9264:__cxx_global_array_dtor.1.1 +9265:__cxx_global_array_dtor.1 +9266:__cxx_global_array_dtor +9267:__cxa_pure_virtual +9268:__cxa_is_pointer_type +9269:\28anonymous\20namespace\29::uprops_cleanup\28\29 +9270:\28anonymous\20namespace\29::ulayout_isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +9271:\28anonymous\20namespace\29::skhb_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +9272:\28anonymous\20namespace\29::skhb_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9273:\28anonymous\20namespace\29::skhb_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9274:\28anonymous\20namespace\29::skhb_glyph_h_advance\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9275:\28anonymous\20namespace\29::skhb_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9276:\28anonymous\20namespace\29::skhb_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9277:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29::$_0::__invoke\28void*\29 +9278:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +9279:\28anonymous\20namespace\29::make_morphology\28\28anonymous\20namespace\29::MorphType\2c\20SkSize\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +9280:\28anonymous\20namespace\29::make_drop_shadow_graph\28SkPoint\2c\20SkSize\2c\20unsigned\20int\2c\20bool\2c\20sk_sp\2c\20std::__2::optional\20const&\29 +9281:\28anonymous\20namespace\29::extension_compare\28SkString\20const&\2c\20SkString\20const&\29 +9282:\28anonymous\20namespace\29::characterproperties_cleanup\28\29 +9283:\28anonymous\20namespace\29::_set_add\28USet*\2c\20int\29 +9284:\28anonymous\20namespace\29::_set_addString\28USet*\2c\20char16_t\20const*\2c\20int\29 +9285:\28anonymous\20namespace\29::_set_addRange\28USet*\2c\20int\2c\20int\29 +9286:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29.1 +9287:\28anonymous\20namespace\29::YUVPlanesRec::getCategory\28\29\20const +9288:\28anonymous\20namespace\29::YUVPlanesRec::diagnostic_only_getDiscardable\28\29\20const +9289:\28anonymous\20namespace\29::YUVPlanesRec::bytesUsed\28\29\20const +9290:\28anonymous\20namespace\29::YUVPlanesRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9291:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29.1 +9292:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29 +9293:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29.1 +9294:\28anonymous\20namespace\29::TriangulatingPathOp::visitProxies\28std::__2::function\20const&\29\20const +9295:\28anonymous\20namespace\29::TriangulatingPathOp::programInfo\28\29 +9296:\28anonymous\20namespace\29::TriangulatingPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9297:\28anonymous\20namespace\29::TriangulatingPathOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9298:\28anonymous\20namespace\29::TriangulatingPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9299:\28anonymous\20namespace\29::TriangulatingPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9300:\28anonymous\20namespace\29::TriangulatingPathOp::name\28\29\20const +9301:\28anonymous\20namespace\29::TriangulatingPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9302:\28anonymous\20namespace\29::TransformedMaskSubRun::unflattenSize\28\29\20const +9303:\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9304:\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +9305:\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9306:\28anonymous\20namespace\29::TransformedMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9307:\28anonymous\20namespace\29::TransformedMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +9308:\28anonymous\20namespace\29::TransformedMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9309:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29.1 +9310:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29 +9311:\28anonymous\20namespace\29::TextureOpImpl::visitProxies\28std::__2::function\20const&\29\20const +9312:\28anonymous\20namespace\29::TextureOpImpl::programInfo\28\29 +9313:\28anonymous\20namespace\29::TextureOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9314:\28anonymous\20namespace\29::TextureOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9315:\28anonymous\20namespace\29::TextureOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9316:\28anonymous\20namespace\29::TextureOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9317:\28anonymous\20namespace\29::TextureOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9318:\28anonymous\20namespace\29::TextureOpImpl::name\28\29\20const +9319:\28anonymous\20namespace\29::TextureOpImpl::fixedFunctionFlags\28\29\20const +9320:\28anonymous\20namespace\29::TextureOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9321:\28anonymous\20namespace\29::TentPass::startBlur\28\29 +9322:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +9323:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +9324:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +9325:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29.1 +9326:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29 +9327:\28anonymous\20namespace\29::StaticVertexAllocator::unlock\28int\29 +9328:\28anonymous\20namespace\29::StaticVertexAllocator::lock\28unsigned\20long\2c\20int\29 +9329:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::currentScript\28\29\20const +9330:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::consume\28\29 +9331:\28anonymous\20namespace\29::SkUbrkGetLocaleByType::getLocaleByType\28UBreakIterator\20const*\2c\20ULocDataLocaleType\2c\20UErrorCode*\29 +9332:\28anonymous\20namespace\29::SkUbrkClone::clone\28UBreakIterator\20const*\2c\20UErrorCode*\29 +9333:\28anonymous\20namespace\29::SkShaderImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9334:\28anonymous\20namespace\29::SkShaderImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9335:\28anonymous\20namespace\29::SkShaderImageFilter::getTypeName\28\29\20const +9336:\28anonymous\20namespace\29::SkShaderImageFilter::flatten\28SkWriteBuffer&\29\20const +9337:\28anonymous\20namespace\29::SkShaderImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9338:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9339:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9340:\28anonymous\20namespace\29::SkMorphologyImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9341:\28anonymous\20namespace\29::SkMorphologyImageFilter::getTypeName\28\29\20const +9342:\28anonymous\20namespace\29::SkMorphologyImageFilter::flatten\28SkWriteBuffer&\29\20const +9343:\28anonymous\20namespace\29::SkMorphologyImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9344:\28anonymous\20namespace\29::SkMergeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9345:\28anonymous\20namespace\29::SkMergeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9346:\28anonymous\20namespace\29::SkMergeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9347:\28anonymous\20namespace\29::SkMergeImageFilter::getTypeName\28\29\20const +9348:\28anonymous\20namespace\29::SkMergeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9349:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9350:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9351:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9352:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::getTypeName\28\29\20const +9353:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::flatten\28SkWriteBuffer&\29\20const +9354:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9355:\28anonymous\20namespace\29::SkImageImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9356:\28anonymous\20namespace\29::SkImageImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9357:\28anonymous\20namespace\29::SkImageImageFilter::getTypeName\28\29\20const +9358:\28anonymous\20namespace\29::SkImageImageFilter::flatten\28SkWriteBuffer&\29\20const +9359:\28anonymous\20namespace\29::SkImageImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9360:\28anonymous\20namespace\29::SkFTGeometrySink::Quad\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +9361:\28anonymous\20namespace\29::SkFTGeometrySink::Move\28FT_Vector_\20const*\2c\20void*\29 +9362:\28anonymous\20namespace\29::SkFTGeometrySink::Line\28FT_Vector_\20const*\2c\20void*\29 +9363:\28anonymous\20namespace\29::SkFTGeometrySink::Cubic\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +9364:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9365:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFamilyName\28SkString*\29\20const +9366:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9367:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateFamilyNameIterator\28\29\20const +9368:\28anonymous\20namespace\29::SkEmptyTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9369:\28anonymous\20namespace\29::SkEmptyTypeface::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +9370:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9371:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9372:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9373:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::getTypeName\28\29\20const +9374:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::flatten\28SkWriteBuffer&\29\20const +9375:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9376:\28anonymous\20namespace\29::SkCropImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9377:\28anonymous\20namespace\29::SkCropImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9378:\28anonymous\20namespace\29::SkCropImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9379:\28anonymous\20namespace\29::SkCropImageFilter::onAffectsTransparentBlack\28\29\20const +9380:\28anonymous\20namespace\29::SkCropImageFilter::getTypeName\28\29\20const +9381:\28anonymous\20namespace\29::SkCropImageFilter::flatten\28SkWriteBuffer&\29\20const +9382:\28anonymous\20namespace\29::SkCropImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9383:\28anonymous\20namespace\29::SkComposeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9384:\28anonymous\20namespace\29::SkComposeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9385:\28anonymous\20namespace\29::SkComposeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9386:\28anonymous\20namespace\29::SkComposeImageFilter::getTypeName\28\29\20const +9387:\28anonymous\20namespace\29::SkComposeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9388:\28anonymous\20namespace\29::SkColorFilterImageFilter::onIsColorFilterNode\28SkColorFilter**\29\20const +9389:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9390:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9391:\28anonymous\20namespace\29::SkColorFilterImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9392:\28anonymous\20namespace\29::SkColorFilterImageFilter::onAffectsTransparentBlack\28\29\20const +9393:\28anonymous\20namespace\29::SkColorFilterImageFilter::getTypeName\28\29\20const +9394:\28anonymous\20namespace\29::SkColorFilterImageFilter::flatten\28SkWriteBuffer&\29\20const +9395:\28anonymous\20namespace\29::SkColorFilterImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9396:\28anonymous\20namespace\29::SkBlurImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9397:\28anonymous\20namespace\29::SkBlurImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9398:\28anonymous\20namespace\29::SkBlurImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9399:\28anonymous\20namespace\29::SkBlurImageFilter::getTypeName\28\29\20const +9400:\28anonymous\20namespace\29::SkBlurImageFilter::flatten\28SkWriteBuffer&\29\20const +9401:\28anonymous\20namespace\29::SkBlurImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9402:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29.1 +9403:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29 +9404:\28anonymous\20namespace\29::SkBlendImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9405:\28anonymous\20namespace\29::SkBlendImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9406:\28anonymous\20namespace\29::SkBlendImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9407:\28anonymous\20namespace\29::SkBlendImageFilter::onAffectsTransparentBlack\28\29\20const +9408:\28anonymous\20namespace\29::SkBlendImageFilter::getTypeName\28\29\20const +9409:\28anonymous\20namespace\29::SkBlendImageFilter::flatten\28SkWriteBuffer&\29\20const +9410:\28anonymous\20namespace\29::SkBlendImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9411:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29.1 +9412:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29 +9413:\28anonymous\20namespace\29::SkBidiIterator_icu::getLevelAt\28int\29 +9414:\28anonymous\20namespace\29::SkBidiIterator_icu::getLength\28\29 +9415:\28anonymous\20namespace\29::SimpleTriangleShader::name\28\29\20const +9416:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9417:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9418:\28anonymous\20namespace\29::ShaperHarfBuzz::~ShaperHarfBuzz\28\29.1 +9419:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9420:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9421:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20bool\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9422:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::~ShapeDontWrapOrReorder\28\29 +9423:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::wrap\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::BiDiRunIterator\20const&\2c\20SkShaper::LanguageRunIterator\20const&\2c\20SkShaper::ScriptRunIterator\20const&\2c\20SkShaper::FontRunIterator\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9424:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29.1 +9425:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29 +9426:\28anonymous\20namespace\29::ShadowInvalidator::changed\28\29 +9427:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29.1 +9428:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29 +9429:\28anonymous\20namespace\29::ShadowCircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +9430:\28anonymous\20namespace\29::ShadowCircularRRectOp::programInfo\28\29 +9431:\28anonymous\20namespace\29::ShadowCircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9432:\28anonymous\20namespace\29::ShadowCircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9433:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9434:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9435:\28anonymous\20namespace\29::ShadowCircularRRectOp::name\28\29\20const +9436:\28anonymous\20namespace\29::ShadowCircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9437:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +9438:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +9439:\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +9440:\28anonymous\20namespace\29::SDFTSubRun::vertexFiller\28\29\20const +9441:\28anonymous\20namespace\29::SDFTSubRun::unflattenSize\28\29\20const +9442:\28anonymous\20namespace\29::SDFTSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +9443:\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9444:\28anonymous\20namespace\29::SDFTSubRun::glyphs\28\29\20const +9445:\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +9446:\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9447:\28anonymous\20namespace\29::SDFTSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9448:\28anonymous\20namespace\29::SDFTSubRun::doFlatten\28SkWriteBuffer&\29\20const +9449:\28anonymous\20namespace\29::SDFTSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9450:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29.1 +9451:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29 +9452:\28anonymous\20namespace\29::RectsBlurRec::getCategory\28\29\20const +9453:\28anonymous\20namespace\29::RectsBlurRec::diagnostic_only_getDiscardable\28\29\20const +9454:\28anonymous\20namespace\29::RectsBlurRec::bytesUsed\28\29\20const +9455:\28anonymous\20namespace\29::RectsBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9456:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29.1 +9457:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29 +9458:\28anonymous\20namespace\29::RRectBlurRec::getCategory\28\29\20const +9459:\28anonymous\20namespace\29::RRectBlurRec::diagnostic_only_getDiscardable\28\29\20const +9460:\28anonymous\20namespace\29::RRectBlurRec::bytesUsed\28\29\20const +9461:\28anonymous\20namespace\29::RRectBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9462:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29.1 +9463:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29 +9464:\28anonymous\20namespace\29::PathSubRun::unflattenSize\28\29\20const +9465:\28anonymous\20namespace\29::PathSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9466:\28anonymous\20namespace\29::PathSubRun::doFlatten\28SkWriteBuffer&\29\20const +9467:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29.1 +9468:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29 +9469:\28anonymous\20namespace\29::MipMapRec::getCategory\28\29\20const +9470:\28anonymous\20namespace\29::MipMapRec::diagnostic_only_getDiscardable\28\29\20const +9471:\28anonymous\20namespace\29::MipMapRec::bytesUsed\28\29\20const +9472:\28anonymous\20namespace\29::MipMapRec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +9473:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29.1 +9474:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29 +9475:\28anonymous\20namespace\29::MiddleOutShader::name\28\29\20const +9476:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9477:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9478:\28anonymous\20namespace\29::MiddleOutShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9479:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29.1 +9480:\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const +9481:\28anonymous\20namespace\29::MeshOp::programInfo\28\29 +9482:\28anonymous\20namespace\29::MeshOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9483:\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9484:\28anonymous\20namespace\29::MeshOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9485:\28anonymous\20namespace\29::MeshOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9486:\28anonymous\20namespace\29::MeshOp::name\28\29\20const +9487:\28anonymous\20namespace\29::MeshOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9488:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29.1 +9489:\28anonymous\20namespace\29::MeshGP::onTextureSampler\28int\29\20const +9490:\28anonymous\20namespace\29::MeshGP::name\28\29\20const +9491:\28anonymous\20namespace\29::MeshGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9492:\28anonymous\20namespace\29::MeshGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9493:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29.1 +9494:\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9495:\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9496:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +9497:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9498:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9499:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9500:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMangledName\28char\20const*\29 +9501:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMainName\28\29 +9502:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +9503:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +9504:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +9505:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareFunction\28char\20const*\29 +9506:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29.1 +9507:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29 +9508:\28anonymous\20namespace\29::ImageFromPictureRec::getCategory\28\29\20const +9509:\28anonymous\20namespace\29::ImageFromPictureRec::bytesUsed\28\29\20const +9510:\28anonymous\20namespace\29::ImageFromPictureRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9511:\28anonymous\20namespace\29::HQDownSampler::buildLevel\28SkPixmap\20const&\2c\20SkPixmap\20const&\29 +9512:\28anonymous\20namespace\29::GaussPass::startBlur\28\29 +9513:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +9514:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +9515:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +9516:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29.1 +9517:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29 +9518:\28anonymous\20namespace\29::FillRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +9519:\28anonymous\20namespace\29::FillRectOpImpl::programInfo\28\29 +9520:\28anonymous\20namespace\29::FillRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9521:\28anonymous\20namespace\29::FillRectOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9522:\28anonymous\20namespace\29::FillRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9523:\28anonymous\20namespace\29::FillRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9524:\28anonymous\20namespace\29::FillRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9525:\28anonymous\20namespace\29::FillRectOpImpl::name\28\29\20const +9526:\28anonymous\20namespace\29::FillRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9527:\28anonymous\20namespace\29::EllipticalRRectEffect::onMakeProgramImpl\28\29\20const +9528:\28anonymous\20namespace\29::EllipticalRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9529:\28anonymous\20namespace\29::EllipticalRRectEffect::name\28\29\20const +9530:\28anonymous\20namespace\29::EllipticalRRectEffect::clone\28\29\20const +9531:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +9532:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +9533:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29.1 +9534:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29 +9535:\28anonymous\20namespace\29::DrawableSubRun::unflattenSize\28\29\20const +9536:\28anonymous\20namespace\29::DrawableSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9537:\28anonymous\20namespace\29::DrawableSubRun::doFlatten\28SkWriteBuffer&\29\20const +9538:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29.1 +9539:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29 +9540:\28anonymous\20namespace\29::DrawAtlasPathShader::onTextureSampler\28int\29\20const +9541:\28anonymous\20namespace\29::DrawAtlasPathShader::name\28\29\20const +9542:\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9543:\28anonymous\20namespace\29::DrawAtlasPathShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9544:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9545:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9546:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29.1 +9547:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29 +9548:\28anonymous\20namespace\29::DrawAtlasOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9549:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9550:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9551:\28anonymous\20namespace\29::DrawAtlasOpImpl::name\28\29\20const +9552:\28anonymous\20namespace\29::DrawAtlasOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9553:\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +9554:\28anonymous\20namespace\29::DirectMaskSubRun::unflattenSize\28\29\20const +9555:\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9556:\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +9557:\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9558:\28anonymous\20namespace\29::DirectMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9559:\28anonymous\20namespace\29::DirectMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +9560:\28anonymous\20namespace\29::DirectMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9561:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29.1 +9562:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29 +9563:\28anonymous\20namespace\29::DefaultPathOp::visitProxies\28std::__2::function\20const&\29\20const +9564:\28anonymous\20namespace\29::DefaultPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9565:\28anonymous\20namespace\29::DefaultPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9566:\28anonymous\20namespace\29::DefaultPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9567:\28anonymous\20namespace\29::DefaultPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9568:\28anonymous\20namespace\29::DefaultPathOp::name\28\29\20const +9569:\28anonymous\20namespace\29::DefaultPathOp::fixedFunctionFlags\28\29\20const +9570:\28anonymous\20namespace\29::DefaultPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9571:\28anonymous\20namespace\29::CircularRRectEffect::onMakeProgramImpl\28\29\20const +9572:\28anonymous\20namespace\29::CircularRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9573:\28anonymous\20namespace\29::CircularRRectEffect::name\28\29\20const +9574:\28anonymous\20namespace\29::CircularRRectEffect::clone\28\29\20const +9575:\28anonymous\20namespace\29::CircularRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +9576:\28anonymous\20namespace\29::CircularRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +9577:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29.1 +9578:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29 +9579:\28anonymous\20namespace\29::CachedTessellationsRec::getCategory\28\29\20const +9580:\28anonymous\20namespace\29::CachedTessellationsRec::bytesUsed\28\29\20const +9581:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29.1 +9582:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29.1 +9583:\28anonymous\20namespace\29::CacheImpl::set\28SkImageFilterCacheKey\20const&\2c\20SkImageFilter\20const*\2c\20skif::FilterResult\20const&\29 +9584:\28anonymous\20namespace\29::CacheImpl::purge\28\29 +9585:\28anonymous\20namespace\29::CacheImpl::purgeByImageFilter\28SkImageFilter\20const*\29 +9586:\28anonymous\20namespace\29::CacheImpl::get\28SkImageFilterCacheKey\20const&\2c\20skif::FilterResult*\29\20const +9587:\28anonymous\20namespace\29::BoundingBoxShader::name\28\29\20const +9588:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9589:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9590:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9591:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29.1 +9592:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29 +9593:\28anonymous\20namespace\29::AAHairlineOp::visitProxies\28std::__2::function\20const&\29\20const +9594:\28anonymous\20namespace\29::AAHairlineOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9595:\28anonymous\20namespace\29::AAHairlineOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9596:\28anonymous\20namespace\29::AAHairlineOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9597:\28anonymous\20namespace\29::AAHairlineOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9598:\28anonymous\20namespace\29::AAHairlineOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9599:\28anonymous\20namespace\29::AAHairlineOp::name\28\29\20const +9600:\28anonymous\20namespace\29::AAHairlineOp::fixedFunctionFlags\28\29\20const +9601:\28anonymous\20namespace\29::AAHairlineOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9602:YuvToRgbaRow +9603:YuvToRgba4444Row +9604:YuvToRgbRow +9605:YuvToRgb565Row +9606:YuvToBgraRow +9607:YuvToBgrRow +9608:YuvToArgbRow +9609:Write_CVT_Stretched +9610:Write_CVT +9611:WebPYuv444ToRgba_C +9612:WebPYuv444ToRgba4444_C +9613:WebPYuv444ToRgb_C +9614:WebPYuv444ToRgb565_C +9615:WebPYuv444ToBgra_C +9616:WebPYuv444ToBgr_C +9617:WebPYuv444ToArgb_C +9618:WebPRescalerImportRowShrink_C +9619:WebPRescalerImportRowExpand_C +9620:WebPRescalerExportRowShrink_C +9621:WebPRescalerExportRowExpand_C +9622:WebPMultRow_C +9623:WebPMultARGBRow_C +9624:WebPConvertRGBA32ToUV_C +9625:WebPConvertARGBToUV_C +9626:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29.1 +9627:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29 +9628:WebGLTextureImageGenerator::generateExternalTexture\28GrRecordingContext*\2c\20skgpu::Mipmapped\29 +9629:Vertish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +9630:Vertish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +9631:VerticalUnfilter_C +9632:VerticalFilter_C +9633:VertState::Triangles\28VertState*\29 +9634:VertState::TrianglesX\28VertState*\29 +9635:VertState::TriangleStrip\28VertState*\29 +9636:VertState::TriangleStripX\28VertState*\29 +9637:VertState::TriangleFan\28VertState*\29 +9638:VertState::TriangleFanX\28VertState*\29 +9639:VR4_C +9640:VP8LTransformColorInverse_C +9641:VP8LPredictor9_C +9642:VP8LPredictor8_C +9643:VP8LPredictor7_C +9644:VP8LPredictor6_C +9645:VP8LPredictor5_C +9646:VP8LPredictor4_C +9647:VP8LPredictor3_C +9648:VP8LPredictor2_C +9649:VP8LPredictor1_C +9650:VP8LPredictor13_C +9651:VP8LPredictor12_C +9652:VP8LPredictor11_C +9653:VP8LPredictor10_C +9654:VP8LPredictor0_C +9655:VP8LConvertBGRAToRGB_C +9656:VP8LConvertBGRAToRGBA_C +9657:VP8LConvertBGRAToRGBA4444_C +9658:VP8LConvertBGRAToRGB565_C +9659:VP8LConvertBGRAToBGR_C +9660:VP8LAddGreenToBlueAndRed_C +9661:VLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +9662:VLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +9663:VL4_C +9664:VFilter8i_C +9665:VFilter8_C +9666:VFilter16i_C +9667:VFilter16_C +9668:VE8uv_C +9669:VE4_C +9670:VE16_C +9671:UpsampleRgbaLinePair_C +9672:UpsampleRgba4444LinePair_C +9673:UpsampleRgbLinePair_C +9674:UpsampleRgb565LinePair_C +9675:UpsampleBgraLinePair_C +9676:UpsampleBgrLinePair_C +9677:UpsampleArgbLinePair_C +9678:UnresolvedCodepoints\28skia::textlayout::Paragraph&\29 +9679:UnicodeString_charAt\28int\2c\20void*\29 +9680:TransformWHT_C +9681:TransformUV_C +9682:TransformTwo_C +9683:TransformDC_C +9684:TransformDCUV_C +9685:TransformAC3_C +9686:ToSVGString\28SkPath\20const&\29 +9687:ToCmds\28SkPath\20const&\29 +9688:TT_Set_MM_Blend +9689:TT_RunIns +9690:TT_Load_Simple_Glyph +9691:TT_Load_Glyph_Header +9692:TT_Load_Composite_Glyph +9693:TT_Get_Var_Design +9694:TT_Get_MM_Blend +9695:TT_Forget_Glyph_Frame +9696:TT_Access_Glyph_Frame +9697:TM8uv_C +9698:TM4_C +9699:TM16_C +9700:Sync +9701:SquareCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +9702:Sprite_D32_S32::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9703:SkWuffsFrameHolder::onGetFrame\28int\29\20const +9704:SkWuffsCodec::~SkWuffsCodec\28\29.1 +9705:SkWuffsCodec::~SkWuffsCodec\28\29 +9706:SkWuffsCodec::onIncrementalDecode\28int*\29 +9707:SkWuffsCodec::onGetRepetitionCount\28\29 +9708:SkWuffsCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9709:SkWuffsCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +9710:SkWuffsCodec::onGetFrameCount\28\29 +9711:SkWuffsCodec::getFrameHolder\28\29\20const +9712:SkWuffsCodec::getEncodedData\28\29\20const +9713:SkWriteICCProfile\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +9714:SkWebpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9715:SkWebpCodec::~SkWebpCodec\28\29.1 +9716:SkWebpCodec::~SkWebpCodec\28\29 +9717:SkWebpCodec::onGetValidSubset\28SkIRect*\29\20const +9718:SkWebpCodec::onGetRepetitionCount\28\29 +9719:SkWebpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9720:SkWebpCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +9721:SkWebpCodec::onGetFrameCount\28\29 +9722:SkWebpCodec::getFrameHolder\28\29\20const +9723:SkWebpCodec::FrameHolder::~FrameHolder\28\29.1 +9724:SkWebpCodec::FrameHolder::~FrameHolder\28\29 +9725:SkWebpCodec::FrameHolder::onGetFrame\28int\29\20const +9726:SkWeakRefCnt::internal_dispose\28\29\20const +9727:SkWbmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9728:SkWbmpCodec::~SkWbmpCodec\28\29.1 +9729:SkWbmpCodec::~SkWbmpCodec\28\29 +9730:SkWbmpCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9731:SkWbmpCodec::onSkipScanlines\28int\29 +9732:SkWbmpCodec::onRewind\28\29 +9733:SkWbmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9734:SkWbmpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9735:SkWbmpCodec::getSampler\28bool\29 +9736:SkWbmpCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9737:SkVertices::Builder*\20emscripten::internal::operator_new\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29 +9738:SkUserTypeface::~SkUserTypeface\28\29.1 +9739:SkUserTypeface::~SkUserTypeface\28\29 +9740:SkUserTypeface::onOpenStream\28int*\29\20const +9741:SkUserTypeface::onGetUPEM\28\29\20const +9742:SkUserTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9743:SkUserTypeface::onGetFamilyName\28SkString*\29\20const +9744:SkUserTypeface::onFilterRec\28SkScalerContextRec*\29\20const +9745:SkUserTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9746:SkUserTypeface::onCountGlyphs\28\29\20const +9747:SkUserTypeface::onComputeBounds\28SkRect*\29\20const +9748:SkUserTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9749:SkUserTypeface::getGlyphToUnicodeMap\28int*\29\20const +9750:SkUserScalerContext::~SkUserScalerContext\28\29 +9751:SkUserScalerContext::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9752:SkUserScalerContext::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9753:SkUserScalerContext::generateImage\28SkGlyph\20const&\2c\20void*\29 +9754:SkUserScalerContext::generateFontMetrics\28SkFontMetrics*\29 +9755:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29.1 +9756:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29 +9757:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onGetBounds\28\29 +9758:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onDraw\28SkCanvas*\29 +9759:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onApproximateBytesUsed\28\29 +9760:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29 +9761:SkUnicode_icu::~SkUnicode_icu\28\29.1 +9762:SkUnicode_icu::~SkUnicode_icu\28\29 +9763:SkUnicode_icu::toUpper\28SkString\20const&\2c\20char\20const*\29 +9764:SkUnicode_icu::toUpper\28SkString\20const&\29 +9765:SkUnicode_icu::reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29 +9766:SkUnicode_icu::makeBreakIterator\28char\20const*\2c\20SkUnicode::BreakType\29 +9767:SkUnicode_icu::makeBreakIterator\28SkUnicode::BreakType\29 +9768:SkUnicode_icu::makeBidiIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +9769:SkUnicode_icu::makeBidiIterator\28char\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +9770:SkUnicode_icu::isWhitespace\28int\29 +9771:SkUnicode_icu::isTabulation\28int\29 +9772:SkUnicode_icu::isSpace\28int\29 +9773:SkUnicode_icu::isRegionalIndicator\28int\29 +9774:SkUnicode_icu::isIdeographic\28int\29 +9775:SkUnicode_icu::isHardBreak\28int\29 +9776:SkUnicode_icu::isEmoji\28int\29 +9777:SkUnicode_icu::isEmojiModifier\28int\29 +9778:SkUnicode_icu::isEmojiModifierBase\28int\29 +9779:SkUnicode_icu::isEmojiComponent\28int\29 +9780:SkUnicode_icu::isControl\28int\29 +9781:SkUnicode_icu::getWords\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9782:SkUnicode_icu::getUtf8Words\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9783:SkUnicode_icu::getSentences\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9784:SkUnicode_icu::getBidiRegions\28char\20const*\2c\20int\2c\20SkUnicode::TextDirection\2c\20std::__2::vector>*\29 +9785:SkUnicode_icu::computeCodeUnitFlags\28char16_t*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +9786:SkUnicode_icu::computeCodeUnitFlags\28char*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +9787:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29.1 +9788:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29 +9789:SkUnicodeBidiRunIterator::endOfCurrentRun\28\29\20const +9790:SkUnicodeBidiRunIterator::currentLevel\28\29\20const +9791:SkUnicodeBidiRunIterator::consume\28\29 +9792:SkUnicodeBidiRunIterator::atEnd\28\29\20const +9793:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29.1 +9794:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29 +9795:SkTypeface_FreeTypeStream::onOpenStream\28int*\29\20const +9796:SkTypeface_FreeTypeStream::onMakeFontData\28\29\20const +9797:SkTypeface_FreeTypeStream::onMakeClone\28SkFontArguments\20const&\29\20const +9798:SkTypeface_FreeTypeStream::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9799:SkTypeface_FreeType::onGlyphMaskNeedsCurrentColor\28\29\20const +9800:SkTypeface_FreeType::onGetVariationDesignPosition\28SkFontArguments::VariationPosition::Coordinate*\2c\20int\29\20const +9801:SkTypeface_FreeType::onGetVariationDesignParameters\28SkFontParameters::Variation::Axis*\2c\20int\29\20const +9802:SkTypeface_FreeType::onGetUPEM\28\29\20const +9803:SkTypeface_FreeType::onGetTableTags\28unsigned\20int*\29\20const +9804:SkTypeface_FreeType::onGetTableData\28unsigned\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20void*\29\20const +9805:SkTypeface_FreeType::onGetPostScriptName\28SkString*\29\20const +9806:SkTypeface_FreeType::onGetKerningPairAdjustments\28unsigned\20short\20const*\2c\20int\2c\20int*\29\20const +9807:SkTypeface_FreeType::onGetAdvancedMetrics\28\29\20const +9808:SkTypeface_FreeType::onFilterRec\28SkScalerContextRec*\29\20const +9809:SkTypeface_FreeType::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9810:SkTypeface_FreeType::onCreateFamilyNameIterator\28\29\20const +9811:SkTypeface_FreeType::onCountGlyphs\28\29\20const +9812:SkTypeface_FreeType::onCopyTableData\28unsigned\20int\29\20const +9813:SkTypeface_FreeType::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9814:SkTypeface_FreeType::getPostScriptGlyphNames\28SkString*\29\20const +9815:SkTypeface_FreeType::getGlyphToUnicodeMap\28int*\29\20const +9816:SkTypeface_Empty::~SkTypeface_Empty\28\29 +9817:SkTypeface_Custom::~SkTypeface_Custom\28\29.1 +9818:SkTypeface_Custom::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9819:SkTypeface::onCopyTableData\28unsigned\20int\29\20const +9820:SkTypeface::onComputeBounds\28SkRect*\29\20const +9821:SkTrimPE::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9822:SkTrimPE::getTypeName\28\29\20const +9823:SkTriColorShader::type\28\29\20const +9824:SkTriColorShader::isOpaque\28\29\20const +9825:SkTriColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9826:SkTransformShader::type\28\29\20const +9827:SkTransformShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9828:SkTQuad::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9829:SkTQuad::setBounds\28SkDRect*\29\20const +9830:SkTQuad::ptAtT\28double\29\20const +9831:SkTQuad::make\28SkArenaAlloc&\29\20const +9832:SkTQuad::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9833:SkTQuad::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9834:SkTQuad::dxdyAtT\28double\29\20const +9835:SkTQuad::debugInit\28\29 +9836:SkTCubic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9837:SkTCubic::setBounds\28SkDRect*\29\20const +9838:SkTCubic::ptAtT\28double\29\20const +9839:SkTCubic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +9840:SkTCubic::make\28SkArenaAlloc&\29\20const +9841:SkTCubic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9842:SkTCubic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9843:SkTCubic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +9844:SkTCubic::dxdyAtT\28double\29\20const +9845:SkTCubic::debugInit\28\29 +9846:SkTCubic::controlsInside\28\29\20const +9847:SkTCubic::collapsed\28\29\20const +9848:SkTConic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9849:SkTConic::setBounds\28SkDRect*\29\20const +9850:SkTConic::ptAtT\28double\29\20const +9851:SkTConic::make\28SkArenaAlloc&\29\20const +9852:SkTConic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9853:SkTConic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9854:SkTConic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +9855:SkTConic::dxdyAtT\28double\29\20const +9856:SkTConic::debugInit\28\29 +9857:SkSwizzler::onSetSampleX\28int\29 +9858:SkSwizzler::fillWidth\28\29\20const +9859:SkSweepGradient::getTypeName\28\29\20const +9860:SkSweepGradient::flatten\28SkWriteBuffer&\29\20const +9861:SkSweepGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9862:SkSweepGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +9863:SkSurface_Raster::~SkSurface_Raster\28\29.1 +9864:SkSurface_Raster::~SkSurface_Raster\28\29 +9865:SkSurface_Raster::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9866:SkSurface_Raster::onRestoreBackingMutability\28\29 +9867:SkSurface_Raster::onNewSurface\28SkImageInfo\20const&\29 +9868:SkSurface_Raster::onNewImageSnapshot\28SkIRect\20const*\29 +9869:SkSurface_Raster::onNewCanvas\28\29 +9870:SkSurface_Raster::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9871:SkSurface_Raster::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +9872:SkSurface_Raster::imageInfo\28\29\20const +9873:SkSurface_Ganesh::~SkSurface_Ganesh\28\29.1 +9874:SkSurface_Ganesh::~SkSurface_Ganesh\28\29 +9875:SkSurface_Ganesh::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +9876:SkSurface_Ganesh::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9877:SkSurface_Ganesh::onWait\28int\2c\20GrBackendSemaphore\20const*\2c\20bool\29 +9878:SkSurface_Ganesh::onNewSurface\28SkImageInfo\20const&\29 +9879:SkSurface_Ganesh::onNewImageSnapshot\28SkIRect\20const*\29 +9880:SkSurface_Ganesh::onNewCanvas\28\29 +9881:SkSurface_Ganesh::onIsCompatible\28GrSurfaceCharacterization\20const&\29\20const +9882:SkSurface_Ganesh::onGetRecordingContext\28\29\20const +9883:SkSurface_Ganesh::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9884:SkSurface_Ganesh::onDiscard\28\29 +9885:SkSurface_Ganesh::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +9886:SkSurface_Ganesh::onCharacterize\28GrSurfaceCharacterization*\29\20const +9887:SkSurface_Ganesh::onCapabilities\28\29 +9888:SkSurface_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9889:SkSurface_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9890:SkSurface_Ganesh::imageInfo\28\29\20const +9891:SkSurface_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9892:SkSurface::imageInfo\28\29\20const +9893:SkSurface::height\28\29\20const +9894:SkStrikeCache::~SkStrikeCache\28\29.1 +9895:SkStrikeCache::~SkStrikeCache\28\29 +9896:SkStrikeCache::findOrCreateScopedStrike\28SkStrikeSpec\20const&\29 +9897:SkStrike::~SkStrike\28\29.1 +9898:SkStrike::~SkStrike\28\29 +9899:SkStrike::strikePromise\28\29 +9900:SkStrike::roundingSpec\28\29\20const +9901:SkStrike::prepareForPath\28SkGlyph*\29 +9902:SkStrike::prepareForImage\28SkGlyph*\29 +9903:SkStrike::prepareForDrawable\28SkGlyph*\29 +9904:SkStrike::getDescriptor\28\29\20const +9905:SkSpriteBlitter_Memcpy::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9906:SkSpriteBlitter::~SkSpriteBlitter\28\29.1 +9907:SkSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +9908:SkSpriteBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9909:SkSpriteBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +9910:SkSpriteBlitter::blitH\28int\2c\20int\2c\20int\29 +9911:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29.1 +9912:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29 +9913:SkSpecialImage_Raster::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +9914:SkSpecialImage_Raster::getSize\28\29\20const +9915:SkSpecialImage_Raster::backingStoreDimensions\28\29\20const +9916:SkSpecialImage_Raster::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +9917:SkSpecialImage_Raster::asImage\28\29\20const +9918:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29.1 +9919:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29 +9920:SkSpecialImage_Gpu::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +9921:SkSpecialImage_Gpu::getSize\28\29\20const +9922:SkSpecialImage_Gpu::backingStoreDimensions\28\29\20const +9923:SkSpecialImage_Gpu::asImage\28\29\20const +9924:SkSpecialImage::~SkSpecialImage\28\29 +9925:SkSpecialImage::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +9926:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29.1 +9927:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29 +9928:SkShaper::TrivialLanguageRunIterator::currentLanguage\28\29\20const +9929:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29.1 +9930:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29 +9931:SkShaper::TrivialBiDiRunIterator::currentLevel\28\29\20const +9932:SkShaderBlurAlgorithm::maxSigma\28\29\20const +9933:SkShaderBlurAlgorithm::blur\28SkSize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +9934:SkScan::HairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9935:SkScan::HairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9936:SkScan::HairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9937:SkScan::AntiHairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9938:SkScan::AntiHairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9939:SkScan::AntiHairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9940:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9941:SkScalingCodec::onGetScaledDimensions\28float\29\20const +9942:SkScalingCodec::onDimensionsSupported\28SkISize\20const&\29 +9943:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29.1 +9944:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29 +9945:SkScalerContext_FreeType::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9946:SkScalerContext_FreeType::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9947:SkScalerContext_FreeType::generateImage\28SkGlyph\20const&\2c\20void*\29 +9948:SkScalerContext_FreeType::generateFontMetrics\28SkFontMetrics*\29 +9949:SkScalerContext_FreeType::generateDrawable\28SkGlyph\20const&\29 +9950:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::~SkScalerContext_Empty\28\29 +9951:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9952:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9953:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateFontMetrics\28SkFontMetrics*\29 +9954:SkSampledCodec::onGetSampledDimensions\28int\29\20const +9955:SkSampledCodec::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +9956:SkSRGBColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +9957:SkSRGBColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +9958:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_3::__invoke\28double\2c\20double\29 +9959:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_2::__invoke\28double\2c\20double\29 +9960:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_1::__invoke\28double\2c\20double\29 +9961:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_0::__invoke\28double\2c\20double\29 +9962:SkSL::remove_break_statements\28std::__2::unique_ptr>&\29::RemoveBreaksWriter::visitStatementPtr\28std::__2::unique_ptr>&\29 +9963:SkSL::hoist_vardecl_symbols_into_outer_scope\28SkSL::Context\20const&\2c\20SkSL::Block\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::SymbolTable*\29::SymbolHoister::visitStatement\28SkSL::Statement\20const&\29 +9964:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29.1 +9965:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29 +9966:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29.1 +9967:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29 +9968:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +9969:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitExpressionPtr\28std::__2::unique_ptr>&\29 +9970:SkSL::count_returns_at_end_of_control_flow\28SkSL::FunctionDefinition\20const&\29::CountReturnsAtEndOfControlFlow::visitStatement\28SkSL::Statement\20const&\29 +9971:SkSL::\28anonymous\20namespace\29::VariableWriteVisitor::visitExpression\28SkSL::Expression\20const&\29 +9972:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9973:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitExpression\28SkSL::Expression\20const&\29 +9974:SkSL::\28anonymous\20namespace\29::ReturnsNonOpaqueColorVisitor::visitStatement\28SkSL::Statement\20const&\29 +9975:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitStatement\28SkSL::Statement\20const&\29 +9976:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9977:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStatement\28SkSL::Statement\20const&\29 +9978:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitStatement\28SkSL::Statement\20const&\29 +9979:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9980:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitExpression\28SkSL::Expression\20const&\29 +9981:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9982:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +9983:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29.1 +9984:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29 +9985:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitExpression\28SkSL::Expression\20const&\29 +9986:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29.1 +9987:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29 +9988:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitStatement\28SkSL::Statement\20const&\29 +9989:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitExpression\28SkSL::Expression\20const&\29 +9990:SkSL::VectorType::isAllowedInUniform\28SkSL::Position*\29\20const +9991:SkSL::VectorType::isAllowedInES2\28\29\20const +9992:SkSL::VariableReference::clone\28SkSL::Position\29\20const +9993:SkSL::Variable::~Variable\28\29.1 +9994:SkSL::Variable::~Variable\28\29 +9995:SkSL::Variable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +9996:SkSL::Variable::mangledName\28\29\20const +9997:SkSL::Variable::layout\28\29\20const +9998:SkSL::Variable::description\28\29\20const +9999:SkSL::VarDeclaration::~VarDeclaration\28\29.1 +10000:SkSL::VarDeclaration::~VarDeclaration\28\29 +10001:SkSL::VarDeclaration::description\28\29\20const +10002:SkSL::TypeReference::clone\28SkSL::Position\29\20const +10003:SkSL::Type::minimumValue\28\29\20const +10004:SkSL::Type::maximumValue\28\29\20const +10005:SkSL::Type::isAllowedInUniform\28SkSL::Position*\29\20const +10006:SkSL::Type::fields\28\29\20const +10007:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29.1 +10008:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29 +10009:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::visitStatementPtr\28std::__2::unique_ptr>&\29 +10010:SkSL::Tracer::var\28int\2c\20int\29 +10011:SkSL::Tracer::scope\28int\29 +10012:SkSL::Tracer::line\28int\29 +10013:SkSL::Tracer::exit\28int\29 +10014:SkSL::Tracer::enter\28int\29 +10015:SkSL::TextureType::textureAccess\28\29\20const +10016:SkSL::TextureType::isMultisampled\28\29\20const +10017:SkSL::TextureType::isDepth\28\29\20const +10018:SkSL::TextureType::isArrayedTexture\28\29\20const +10019:SkSL::TernaryExpression::~TernaryExpression\28\29.1 +10020:SkSL::TernaryExpression::~TernaryExpression\28\29 +10021:SkSL::TernaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10022:SkSL::TernaryExpression::clone\28SkSL::Position\29\20const +10023:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression&\29 +10024:SkSL::Swizzle::description\28SkSL::OperatorPrecedence\29\20const +10025:SkSL::Swizzle::clone\28SkSL::Position\29\20const +10026:SkSL::SwitchStatement::description\28\29\20const +10027:SkSL::SwitchCase::description\28\29\20const +10028:SkSL::StructType::slotType\28unsigned\20long\29\20const +10029:SkSL::StructType::isOrContainsUnsizedArray\28\29\20const +10030:SkSL::StructType::isOrContainsAtomic\28\29\20const +10031:SkSL::StructType::isOrContainsArray\28\29\20const +10032:SkSL::StructType::isInterfaceBlock\28\29\20const +10033:SkSL::StructType::isBuiltin\28\29\20const +10034:SkSL::StructType::isAllowedInUniform\28SkSL::Position*\29\20const +10035:SkSL::StructType::isAllowedInES2\28\29\20const +10036:SkSL::StructType::fields\28\29\20const +10037:SkSL::StructDefinition::description\28\29\20const +10038:SkSL::StringStream::~StringStream\28\29.1 +10039:SkSL::StringStream::~StringStream\28\29 +10040:SkSL::StringStream::write\28void\20const*\2c\20unsigned\20long\29 +10041:SkSL::StringStream::writeText\28char\20const*\29 +10042:SkSL::StringStream::write8\28unsigned\20char\29 +10043:SkSL::SingleArgumentConstructor::~SingleArgumentConstructor\28\29 +10044:SkSL::Setting::description\28SkSL::OperatorPrecedence\29\20const +10045:SkSL::Setting::clone\28SkSL::Position\29\20const +10046:SkSL::ScalarType::priority\28\29\20const +10047:SkSL::ScalarType::numberKind\28\29\20const +10048:SkSL::ScalarType::minimumValue\28\29\20const +10049:SkSL::ScalarType::maximumValue\28\29\20const +10050:SkSL::ScalarType::isAllowedInUniform\28SkSL::Position*\29\20const +10051:SkSL::ScalarType::isAllowedInES2\28\29\20const +10052:SkSL::ScalarType::bitWidth\28\29\20const +10053:SkSL::SamplerType::textureAccess\28\29\20const +10054:SkSL::SamplerType::isMultisampled\28\29\20const +10055:SkSL::SamplerType::isDepth\28\29\20const +10056:SkSL::SamplerType::isArrayedTexture\28\29\20const +10057:SkSL::SamplerType::dimensions\28\29\20const +10058:SkSL::ReturnStatement::description\28\29\20const +10059:SkSL::RP::VariableLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10060:SkSL::RP::VariableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10061:SkSL::RP::VariableLValue::isWritable\28\29\20const +10062:SkSL::RP::VariableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10063:SkSL::RP::UnownedLValueSlice::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10064:SkSL::RP::UnownedLValueSlice::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10065:SkSL::RP::UnownedLValueSlice::fixedSlotRange\28SkSL::RP::Generator*\29 +10066:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29.1 +10067:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29 +10068:SkSL::RP::SwizzleLValue::swizzle\28\29 +10069:SkSL::RP::SwizzleLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10070:SkSL::RP::SwizzleLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10071:SkSL::RP::SwizzleLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10072:SkSL::RP::ScratchLValue::~ScratchLValue\28\29.1 +10073:SkSL::RP::ScratchLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10074:SkSL::RP::ScratchLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10075:SkSL::RP::LValueSlice::~LValueSlice\28\29.1 +10076:SkSL::RP::LValueSlice::~LValueSlice\28\29 +10077:SkSL::RP::LValue::~LValue\28\29.1 +10078:SkSL::RP::ImmutableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10079:SkSL::RP::ImmutableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10080:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29.1 +10081:SkSL::RP::DynamicIndexLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10082:SkSL::RP::DynamicIndexLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10083:SkSL::RP::DynamicIndexLValue::isWritable\28\29\20const +10084:SkSL::RP::DynamicIndexLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10085:SkSL::ProgramVisitor::visitStatementPtr\28std::__2::unique_ptr>\20const&\29 +10086:SkSL::ProgramVisitor::visitExpressionPtr\28std::__2::unique_ptr>\20const&\29 +10087:SkSL::PrefixExpression::description\28SkSL::OperatorPrecedence\29\20const +10088:SkSL::PrefixExpression::clone\28SkSL::Position\29\20const +10089:SkSL::PostfixExpression::description\28SkSL::OperatorPrecedence\29\20const +10090:SkSL::PostfixExpression::clone\28SkSL::Position\29\20const +10091:SkSL::Poison::description\28SkSL::OperatorPrecedence\29\20const +10092:SkSL::Poison::clone\28SkSL::Position\29\20const +10093:SkSL::PipelineStage::Callbacks::getMainName\28\29 +10094:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29.1 +10095:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29 +10096:SkSL::Parser::Checkpoint::ForwardingErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10097:SkSL::Nop::description\28\29\20const +10098:SkSL::MultiArgumentConstructor::~MultiArgumentConstructor\28\29 +10099:SkSL::ModifiersDeclaration::description\28\29\20const +10100:SkSL::MethodReference::description\28SkSL::OperatorPrecedence\29\20const +10101:SkSL::MethodReference::clone\28SkSL::Position\29\20const +10102:SkSL::MatrixType::slotCount\28\29\20const +10103:SkSL::MatrixType::rows\28\29\20const +10104:SkSL::MatrixType::isAllowedInES2\28\29\20const +10105:SkSL::LiteralType::minimumValue\28\29\20const +10106:SkSL::LiteralType::maximumValue\28\29\20const +10107:SkSL::Literal::getConstantValue\28int\29\20const +10108:SkSL::Literal::description\28SkSL::OperatorPrecedence\29\20const +10109:SkSL::Literal::compareConstant\28SkSL::Expression\20const&\29\20const +10110:SkSL::Literal::clone\28SkSL::Position\29\20const +10111:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_uintBitsToFloat\28double\2c\20double\2c\20double\29 +10112:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_trunc\28double\2c\20double\2c\20double\29 +10113:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tanh\28double\2c\20double\2c\20double\29 +10114:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tan\28double\2c\20double\2c\20double\29 +10115:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_step\28double\2c\20double\2c\20double\29 +10116:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sqrt\28double\2c\20double\2c\20double\29 +10117:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_smoothstep\28double\2c\20double\2c\20double\29 +10118:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sinh\28double\2c\20double\2c\20double\29 +10119:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sin\28double\2c\20double\2c\20double\29 +10120:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_saturate\28double\2c\20double\2c\20double\29 +10121:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_radians\28double\2c\20double\2c\20double\29 +10122:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_pow\28double\2c\20double\2c\20double\29 +10123:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mod\28double\2c\20double\2c\20double\29 +10124:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mix\28double\2c\20double\2c\20double\29 +10125:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_min\28double\2c\20double\2c\20double\29 +10126:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_max\28double\2c\20double\2c\20double\29 +10127:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_matrixCompMult\28double\2c\20double\2c\20double\29 +10128:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log\28double\2c\20double\2c\20double\29 +10129:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log2\28double\2c\20double\2c\20double\29 +10130:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_inversesqrt\28double\2c\20double\2c\20double\29 +10131:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_intBitsToFloat\28double\2c\20double\2c\20double\29 +10132:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fract\28double\2c\20double\2c\20double\29 +10133:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fma\28double\2c\20double\2c\20double\29 +10134:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floor\28double\2c\20double\2c\20double\29 +10135:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToUint\28double\2c\20double\2c\20double\29 +10136:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToInt\28double\2c\20double\2c\20double\29 +10137:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp\28double\2c\20double\2c\20double\29 +10138:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp2\28double\2c\20double\2c\20double\29 +10139:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_degrees\28double\2c\20double\2c\20double\29 +10140:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cosh\28double\2c\20double\2c\20double\29 +10141:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cos\28double\2c\20double\2c\20double\29 +10142:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_clamp\28double\2c\20double\2c\20double\29 +10143:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_ceil\28double\2c\20double\2c\20double\29 +10144:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atanh\28double\2c\20double\2c\20double\29 +10145:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan\28double\2c\20double\2c\20double\29 +10146:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan2\28double\2c\20double\2c\20double\29 +10147:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asinh\28double\2c\20double\2c\20double\29 +10148:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asin\28double\2c\20double\2c\20double\29 +10149:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acosh\28double\2c\20double\2c\20double\29 +10150:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acos\28double\2c\20double\2c\20double\29 +10151:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_abs\28double\2c\20double\2c\20double\29 +10152:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_notEqual\28double\2c\20double\29 +10153:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThan\28double\2c\20double\29 +10154:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThanEqual\28double\2c\20double\29 +10155:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThan\28double\2c\20double\29 +10156:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThanEqual\28double\2c\20double\29 +10157:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_equal\28double\2c\20double\29 +10158:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_any\28double\2c\20double\2c\20double\29 +10159:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_all\28double\2c\20double\2c\20double\29 +10160:SkSL::InterfaceBlock::~InterfaceBlock\28\29.1 +10161:SkSL::InterfaceBlock::description\28\29\20const +10162:SkSL::IndexExpression::~IndexExpression\28\29.1 +10163:SkSL::IndexExpression::~IndexExpression\28\29 +10164:SkSL::IndexExpression::description\28SkSL::OperatorPrecedence\29\20const +10165:SkSL::IndexExpression::clone\28SkSL::Position\29\20const +10166:SkSL::IfStatement::~IfStatement\28\29.1 +10167:SkSL::IfStatement::~IfStatement\28\29 +10168:SkSL::IfStatement::description\28\29\20const +10169:SkSL::GlobalVarDeclaration::description\28\29\20const +10170:SkSL::GenericType::slotType\28unsigned\20long\29\20const +10171:SkSL::GenericType::coercibleTypes\28\29\20const +10172:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29.1 +10173:SkSL::FunctionReference::description\28SkSL::OperatorPrecedence\29\20const +10174:SkSL::FunctionReference::clone\28SkSL::Position\29\20const +10175:SkSL::FunctionPrototype::description\28\29\20const +10176:SkSL::FunctionDefinition::description\28\29\20const +10177:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29.1 +10178:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29 +10179:SkSL::FunctionCall::description\28SkSL::OperatorPrecedence\29\20const +10180:SkSL::FunctionCall::clone\28SkSL::Position\29\20const +10181:SkSL::ForStatement::~ForStatement\28\29.1 +10182:SkSL::ForStatement::~ForStatement\28\29 +10183:SkSL::ForStatement::description\28\29\20const +10184:SkSL::FieldSymbol::description\28\29\20const +10185:SkSL::FieldAccess::clone\28SkSL::Position\29\20const +10186:SkSL::Extension::description\28\29\20const +10187:SkSL::ExtendedVariable::~ExtendedVariable\28\29.1 +10188:SkSL::ExtendedVariable::~ExtendedVariable\28\29 +10189:SkSL::ExtendedVariable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +10190:SkSL::ExtendedVariable::mangledName\28\29\20const +10191:SkSL::ExtendedVariable::layout\28\29\20const +10192:SkSL::ExtendedVariable::interfaceBlock\28\29\20const +10193:SkSL::ExtendedVariable::detachDeadInterfaceBlock\28\29 +10194:SkSL::ExpressionStatement::description\28\29\20const +10195:SkSL::Expression::getConstantValue\28int\29\20const +10196:SkSL::EmptyExpression::description\28SkSL::OperatorPrecedence\29\20const +10197:SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +10198:SkSL::DoStatement::description\28\29\20const +10199:SkSL::DiscardStatement::description\28\29\20const +10200:SkSL::DebugTracePriv::~DebugTracePriv\28\29.1 +10201:SkSL::DebugTracePriv::writeTrace\28SkWStream*\29\20const +10202:SkSL::DebugTracePriv::dump\28SkWStream*\29\20const +10203:SkSL::CountReturnsWithLimit::visitStatement\28SkSL::Statement\20const&\29 +10204:SkSL::ContinueStatement::description\28\29\20const +10205:SkSL::ConstructorStruct::clone\28SkSL::Position\29\20const +10206:SkSL::ConstructorSplat::getConstantValue\28int\29\20const +10207:SkSL::ConstructorSplat::clone\28SkSL::Position\29\20const +10208:SkSL::ConstructorScalarCast::clone\28SkSL::Position\29\20const +10209:SkSL::ConstructorMatrixResize::getConstantValue\28int\29\20const +10210:SkSL::ConstructorMatrixResize::clone\28SkSL::Position\29\20const +10211:SkSL::ConstructorDiagonalMatrix::getConstantValue\28int\29\20const +10212:SkSL::ConstructorDiagonalMatrix::clone\28SkSL::Position\29\20const +10213:SkSL::ConstructorCompoundCast::clone\28SkSL::Position\29\20const +10214:SkSL::ConstructorCompound::clone\28SkSL::Position\29\20const +10215:SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +10216:SkSL::ConstructorArray::clone\28SkSL::Position\29\20const +10217:SkSL::Compiler::CompilerErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10218:SkSL::CodeGenerator::~CodeGenerator\28\29 +10219:SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +10220:SkSL::ChildCall::clone\28SkSL::Position\29\20const +10221:SkSL::BreakStatement::description\28\29\20const +10222:SkSL::Block::~Block\28\29.1 +10223:SkSL::Block::~Block\28\29 +10224:SkSL::Block::isEmpty\28\29\20const +10225:SkSL::Block::description\28\29\20const +10226:SkSL::BinaryExpression::~BinaryExpression\28\29.1 +10227:SkSL::BinaryExpression::~BinaryExpression\28\29 +10228:SkSL::BinaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10229:SkSL::BinaryExpression::clone\28SkSL::Position\29\20const +10230:SkSL::ArrayType::slotType\28unsigned\20long\29\20const +10231:SkSL::ArrayType::slotCount\28\29\20const +10232:SkSL::ArrayType::isUnsizedArray\28\29\20const +10233:SkSL::ArrayType::isOrContainsUnsizedArray\28\29\20const +10234:SkSL::ArrayType::isOrContainsAtomic\28\29\20const +10235:SkSL::ArrayType::isBuiltin\28\29\20const +10236:SkSL::ArrayType::isAllowedInUniform\28SkSL::Position*\29\20const +10237:SkSL::AnyConstructor::getConstantValue\28int\29\20const +10238:SkSL::AnyConstructor::description\28SkSL::OperatorPrecedence\29\20const +10239:SkSL::AnyConstructor::compareConstant\28SkSL::Expression\20const&\29\20const +10240:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29::IsDynamicallyUniformExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +10241:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29::IsCompileTimeConstantVisitor::visitExpression\28SkSL::Expression\20const&\29 +10242:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29::HasSideEffectsVisitor::visitExpression\28SkSL::Expression\20const&\29 +10243:SkSL::Analysis::ContainsVariable\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29::ContainsVariableVisitor::visitExpression\28SkSL::Expression\20const&\29 +10244:SkSL::Analysis::ContainsRTAdjust\28SkSL::Expression\20const&\29::ContainsRTAdjustVisitor::visitExpression\28SkSL::Expression\20const&\29 +10245:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29.1 +10246:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29 +10247:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitStatement\28SkSL::Statement\20const&\29 +10248:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitExpression\28SkSL::Expression\20const&\29 +10249:SkSL::AliasType::textureAccess\28\29\20const +10250:SkSL::AliasType::slotType\28unsigned\20long\29\20const +10251:SkSL::AliasType::slotCount\28\29\20const +10252:SkSL::AliasType::rows\28\29\20const +10253:SkSL::AliasType::priority\28\29\20const +10254:SkSL::AliasType::isVector\28\29\20const +10255:SkSL::AliasType::isUnsizedArray\28\29\20const +10256:SkSL::AliasType::isStruct\28\29\20const +10257:SkSL::AliasType::isScalar\28\29\20const +10258:SkSL::AliasType::isMultisampled\28\29\20const +10259:SkSL::AliasType::isMatrix\28\29\20const +10260:SkSL::AliasType::isLiteral\28\29\20const +10261:SkSL::AliasType::isInterfaceBlock\28\29\20const +10262:SkSL::AliasType::isDepth\28\29\20const +10263:SkSL::AliasType::isArrayedTexture\28\29\20const +10264:SkSL::AliasType::isArray\28\29\20const +10265:SkSL::AliasType::dimensions\28\29\20const +10266:SkSL::AliasType::componentType\28\29\20const +10267:SkSL::AliasType::columns\28\29\20const +10268:SkSL::AliasType::coercibleTypes\28\29\20const +10269:SkRuntimeShader::~SkRuntimeShader\28\29.1 +10270:SkRuntimeShader::type\28\29\20const +10271:SkRuntimeShader::isOpaque\28\29\20const +10272:SkRuntimeShader::getTypeName\28\29\20const +10273:SkRuntimeShader::flatten\28SkWriteBuffer&\29\20const +10274:SkRuntimeShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10275:SkRuntimeEffect::~SkRuntimeEffect\28\29.1 +10276:SkRuntimeEffect::MakeFromSource\28SkString\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +10277:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29.1 +10278:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29 +10279:SkRuntimeColorFilter::onIsAlphaUnchanged\28\29\20const +10280:SkRuntimeColorFilter::getTypeName\28\29\20const +10281:SkRuntimeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10282:SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +10283:SkRuntimeBlender::~SkRuntimeBlender\28\29 +10284:SkRuntimeBlender::onAppendStages\28SkStageRec\20const&\29\20const +10285:SkRuntimeBlender::getTypeName\28\29\20const +10286:SkRgnClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10287:SkRgnClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10288:SkRgnClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10289:SkRgnClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10290:SkRgnClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10291:SkRgnClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10292:SkRgnBuilder::~SkRgnBuilder\28\29.1 +10293:SkRgnBuilder::blitH\28int\2c\20int\2c\20int\29 +10294:SkResourceCache::SetTotalByteLimit\28unsigned\20long\29 +10295:SkResourceCache::GetTotalBytesUsed\28\29 +10296:SkResourceCache::GetTotalByteLimit\28\29 +10297:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29.1 +10298:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29 +10299:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::data\28int\29\20const +10300:SkRefCntSet::~SkRefCntSet\28\29.1 +10301:SkRefCntSet::incPtr\28void*\29 +10302:SkRefCntSet::decPtr\28void*\29 +10303:SkRectClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10304:SkRectClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10305:SkRectClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10306:SkRectClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10307:SkRectClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10308:SkRectClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10309:SkRecorder::~SkRecorder\28\29.1 +10310:SkRecorder::~SkRecorder\28\29 +10311:SkRecorder::willSave\28\29 +10312:SkRecorder::onResetClip\28\29 +10313:SkRecorder::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10314:SkRecorder::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10315:SkRecorder::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10316:SkRecorder::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10317:SkRecorder::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10318:SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10319:SkRecorder::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10320:SkRecorder::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10321:SkRecorder::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10322:SkRecorder::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10323:SkRecorder::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10324:SkRecorder::onDrawPaint\28SkPaint\20const&\29 +10325:SkRecorder::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10326:SkRecorder::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +10327:SkRecorder::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10328:SkRecorder::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10329:SkRecorder::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10330:SkRecorder::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10331:SkRecorder::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10332:SkRecorder::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10333:SkRecorder::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10334:SkRecorder::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10335:SkRecorder::onDrawBehind\28SkPaint\20const&\29 +10336:SkRecorder::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10337:SkRecorder::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10338:SkRecorder::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10339:SkRecorder::onDoSaveBehind\28SkRect\20const*\29 +10340:SkRecorder::onClipShader\28sk_sp\2c\20SkClipOp\29 +10341:SkRecorder::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10342:SkRecorder::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10343:SkRecorder::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10344:SkRecorder::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10345:SkRecorder::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10346:SkRecorder::didTranslate\28float\2c\20float\29 +10347:SkRecorder::didSetM44\28SkM44\20const&\29 +10348:SkRecorder::didScale\28float\2c\20float\29 +10349:SkRecorder::didRestore\28\29 +10350:SkRecorder::didConcat44\28SkM44\20const&\29 +10351:SkRecordedDrawable::~SkRecordedDrawable\28\29.1 +10352:SkRecordedDrawable::~SkRecordedDrawable\28\29 +10353:SkRecordedDrawable::onMakePictureSnapshot\28\29 +10354:SkRecordedDrawable::onGetBounds\28\29 +10355:SkRecordedDrawable::onDraw\28SkCanvas*\29 +10356:SkRecordedDrawable::onApproximateBytesUsed\28\29 +10357:SkRecordedDrawable::getTypeName\28\29\20const +10358:SkRecordedDrawable::flatten\28SkWriteBuffer&\29\20const +10359:SkRecord::~SkRecord\28\29.1 +10360:SkRecord::~SkRecord\28\29 +10361:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29.1 +10362:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29 +10363:SkRasterPipelineSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +10364:SkRasterPipelineSpriteBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10365:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29.1 +10366:SkRasterPipelineBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10367:SkRasterPipelineBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10368:SkRasterPipelineBlitter::blitH\28int\2c\20int\2c\20int\29 +10369:SkRasterPipelineBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10370:SkRasterPipelineBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10371:SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10372:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_3::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10373:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_2::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10374:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_1::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10375:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_0::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10376:SkRadialGradient::getTypeName\28\29\20const +10377:SkRadialGradient::flatten\28SkWriteBuffer&\29\20const +10378:SkRadialGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10379:SkRadialGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10380:SkRTree::~SkRTree\28\29.1 +10381:SkRTree::~SkRTree\28\29 +10382:SkRTree::search\28SkRect\20const&\2c\20std::__2::vector>*\29\20const +10383:SkRTree::insert\28SkRect\20const*\2c\20int\29 +10384:SkRTree::bytesUsed\28\29\20const +10385:SkPtrSet::~SkPtrSet\28\29 +10386:SkPngNormalDecoder::~SkPngNormalDecoder\28\29 +10387:SkPngNormalDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +10388:SkPngNormalDecoder::decode\28int*\29 +10389:SkPngNormalDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +10390:SkPngNormalDecoder::RowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10391:SkPngNormalDecoder::AllRowsCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10392:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29.1 +10393:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29 +10394:SkPngInterlacedDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +10395:SkPngInterlacedDecoder::decode\28int*\29 +10396:SkPngInterlacedDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +10397:SkPngInterlacedDecoder::InterlacedRowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10398:SkPngEncoderImpl::~SkPngEncoderImpl\28\29.1 +10399:SkPngEncoderImpl::~SkPngEncoderImpl\28\29 +10400:SkPngEncoderImpl::onEncodeRows\28int\29 +10401:SkPngDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10402:SkPngCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10403:SkPngCodec::onRewind\28\29 +10404:SkPngCodec::onIncrementalDecode\28int*\29 +10405:SkPngCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10406:SkPngCodec::getSampler\28bool\29 +10407:SkPngCodec::createColorTable\28SkImageInfo\20const&\29 +10408:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_2::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10409:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_1::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10410:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_0::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10411:SkPixelRef::~SkPixelRef\28\29.1 +10412:SkPictureShader::~SkPictureShader\28\29.1 +10413:SkPictureShader::~SkPictureShader\28\29 +10414:SkPictureShader::type\28\29\20const +10415:SkPictureShader::getTypeName\28\29\20const +10416:SkPictureShader::flatten\28SkWriteBuffer&\29\20const +10417:SkPictureShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10418:SkPictureRecorder*\20emscripten::internal::operator_new\28\29 +10419:SkPictureRecord::~SkPictureRecord\28\29.1 +10420:SkPictureRecord::willSave\28\29 +10421:SkPictureRecord::willRestore\28\29 +10422:SkPictureRecord::onResetClip\28\29 +10423:SkPictureRecord::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10424:SkPictureRecord::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10425:SkPictureRecord::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10426:SkPictureRecord::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10427:SkPictureRecord::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10428:SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10429:SkPictureRecord::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10430:SkPictureRecord::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10431:SkPictureRecord::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10432:SkPictureRecord::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10433:SkPictureRecord::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10434:SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +10435:SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10436:SkPictureRecord::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10437:SkPictureRecord::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10438:SkPictureRecord::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10439:SkPictureRecord::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10440:SkPictureRecord::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10441:SkPictureRecord::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10442:SkPictureRecord::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10443:SkPictureRecord::onDrawBehind\28SkPaint\20const&\29 +10444:SkPictureRecord::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10445:SkPictureRecord::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10446:SkPictureRecord::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10447:SkPictureRecord::onDoSaveBehind\28SkRect\20const*\29 +10448:SkPictureRecord::onClipShader\28sk_sp\2c\20SkClipOp\29 +10449:SkPictureRecord::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10450:SkPictureRecord::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10451:SkPictureRecord::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10452:SkPictureRecord::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10453:SkPictureRecord::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10454:SkPictureRecord::didTranslate\28float\2c\20float\29 +10455:SkPictureRecord::didSetM44\28SkM44\20const&\29 +10456:SkPictureRecord::didScale\28float\2c\20float\29 +10457:SkPictureRecord::didConcat44\28SkM44\20const&\29 +10458:SkPictureData::serialize\28SkWStream*\2c\20SkSerialProcs\20const&\2c\20SkRefCntSet*\2c\20bool\29\20const::DevNull::write\28void\20const*\2c\20unsigned\20long\29 +10459:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29.1 +10460:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29 +10461:SkPerlinNoiseShader::type\28\29\20const +10462:SkPerlinNoiseShader::getTypeName\28\29\20const +10463:SkPerlinNoiseShader::flatten\28SkWriteBuffer&\29\20const +10464:SkPerlinNoiseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10465:SkPath::setIsVolatile\28bool\29 +10466:SkPath::setFillType\28SkPathFillType\29 +10467:SkPath::isVolatile\28\29\20const +10468:SkPath::getFillType\28\29\20const +10469:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29.1 +10470:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29 +10471:SkPath2DPathEffectImpl::next\28SkPoint\20const&\2c\20int\2c\20int\2c\20SkPath*\29\20const +10472:SkPath2DPathEffectImpl::getTypeName\28\29\20const +10473:SkPath2DPathEffectImpl::getFactory\28\29\20const +10474:SkPath2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10475:SkPath2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10476:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29.1 +10477:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29 +10478:SkPath1DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10479:SkPath1DPathEffectImpl::next\28SkPath*\2c\20float\2c\20SkPathMeasure&\29\20const +10480:SkPath1DPathEffectImpl::getTypeName\28\29\20const +10481:SkPath1DPathEffectImpl::getFactory\28\29\20const +10482:SkPath1DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10483:SkPath1DPathEffectImpl::begin\28float\29\20const +10484:SkPath1DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10485:SkPath1DPathEffect::Make\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +10486:SkPath*\20emscripten::internal::operator_new\28\29 +10487:SkPairPathEffect::~SkPairPathEffect\28\29.1 +10488:SkPaint::setDither\28bool\29 +10489:SkPaint::setAntiAlias\28bool\29 +10490:SkPaint::getStrokeMiter\28\29\20const +10491:SkPaint::getStrokeJoin\28\29\20const +10492:SkPaint::getStrokeCap\28\29\20const +10493:SkPaint*\20emscripten::internal::operator_new\28\29 +10494:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29.1 +10495:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29 +10496:SkOTUtils::LocalizedStrings_SingleName::next\28SkTypeface::LocalizedString*\29 +10497:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29.1 +10498:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29 +10499:SkOTUtils::LocalizedStrings_NameTable::next\28SkTypeface::LocalizedString*\29 +10500:SkNoPixelsDevice::~SkNoPixelsDevice\28\29.1 +10501:SkNoPixelsDevice::~SkNoPixelsDevice\28\29 +10502:SkNoPixelsDevice::replaceClip\28SkIRect\20const&\29 +10503:SkNoPixelsDevice::pushClipStack\28\29 +10504:SkNoPixelsDevice::popClipStack\28\29 +10505:SkNoPixelsDevice::onClipShader\28sk_sp\29 +10506:SkNoPixelsDevice::isClipWideOpen\28\29\20const +10507:SkNoPixelsDevice::isClipRect\28\29\20const +10508:SkNoPixelsDevice::isClipEmpty\28\29\20const +10509:SkNoPixelsDevice::isClipAntiAliased\28\29\20const +10510:SkNoPixelsDevice::devClipBounds\28\29\20const +10511:SkNoPixelsDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10512:SkNoPixelsDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +10513:SkNoPixelsDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +10514:SkNoPixelsDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +10515:SkNoPixelsDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +10516:SkNoDrawCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10517:SkNoDrawCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10518:SkMipmap::~SkMipmap\28\29.1 +10519:SkMipmap::~SkMipmap\28\29 +10520:SkMipmap::onDataChange\28void*\2c\20void*\29 +10521:SkMemoryStream::~SkMemoryStream\28\29.1 +10522:SkMemoryStream::~SkMemoryStream\28\29 +10523:SkMemoryStream::setMemory\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +10524:SkMemoryStream::seek\28unsigned\20long\29 +10525:SkMemoryStream::rewind\28\29 +10526:SkMemoryStream::read\28void*\2c\20unsigned\20long\29 +10527:SkMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +10528:SkMemoryStream::onFork\28\29\20const +10529:SkMemoryStream::onDuplicate\28\29\20const +10530:SkMemoryStream::move\28long\29 +10531:SkMemoryStream::isAtEnd\28\29\20const +10532:SkMemoryStream::getMemoryBase\28\29 +10533:SkMemoryStream::getLength\28\29\20const +10534:SkMemoryStream::getData\28\29\20const +10535:SkMatrixColorFilter::onIsAlphaUnchanged\28\29\20const +10536:SkMatrixColorFilter::onAsAColorMatrix\28float*\29\20const +10537:SkMatrixColorFilter::getTypeName\28\29\20const +10538:SkMatrixColorFilter::flatten\28SkWriteBuffer&\29\20const +10539:SkMatrixColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10540:SkMatrix::Trans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10541:SkMatrix::Trans_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10542:SkMatrix::Scale_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10543:SkMatrix::Scale_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10544:SkMatrix::ScaleTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10545:SkMatrix::Poly4Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10546:SkMatrix::Poly3Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10547:SkMatrix::Poly2Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10548:SkMatrix::Persp_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10549:SkMatrix::Persp_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10550:SkMatrix::Identity_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10551:SkMatrix::Identity_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10552:SkMatrix::Affine_vpts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10553:SkMaskSwizzler::onSetSampleX\28int\29 +10554:SkMaskFilterBase::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10555:SkMaskFilterBase::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10556:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29.1 +10557:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29 +10558:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29.1 +10559:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29 +10560:SkLumaColorFilter::Make\28\29 +10561:SkLocalMatrixShader::~SkLocalMatrixShader\28\29.1 +10562:SkLocalMatrixShader::~SkLocalMatrixShader\28\29 +10563:SkLocalMatrixShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +10564:SkLocalMatrixShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10565:SkLocalMatrixShader::makeAsALocalMatrixShader\28SkMatrix*\29\20const +10566:SkLocalMatrixShader::isOpaque\28\29\20const +10567:SkLocalMatrixShader::isConstant\28\29\20const +10568:SkLocalMatrixShader::getTypeName\28\29\20const +10569:SkLocalMatrixShader::flatten\28SkWriteBuffer&\29\20const +10570:SkLocalMatrixShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10571:SkLocalMatrixShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10572:SkLinearGradient::getTypeName\28\29\20const +10573:SkLinearGradient::flatten\28SkWriteBuffer&\29\20const +10574:SkLinearGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10575:SkLine2DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10576:SkLine2DPathEffectImpl::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +10577:SkLine2DPathEffectImpl::getTypeName\28\29\20const +10578:SkLine2DPathEffectImpl::getFactory\28\29\20const +10579:SkLine2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10580:SkLine2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10581:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29.1 +10582:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29 +10583:SkJpegMetadataDecoderImpl::getISOGainmapMetadata\28bool\29\20const +10584:SkJpegMetadataDecoderImpl::getICCProfileData\28bool\29\20const +10585:SkJpegMetadataDecoderImpl::getExifMetadata\28bool\29\20const +10586:SkJpegMemorySourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10587:SkJpegMemorySourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10588:SkJpegDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10589:SkJpegCodec::~SkJpegCodec\28\29.1 +10590:SkJpegCodec::~SkJpegCodec\28\29 +10591:SkJpegCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10592:SkJpegCodec::onSkipScanlines\28int\29 +10593:SkJpegCodec::onRewind\28\29 +10594:SkJpegCodec::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +10595:SkJpegCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +10596:SkJpegCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10597:SkJpegCodec::onGetScaledDimensions\28float\29\20const +10598:SkJpegCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10599:SkJpegCodec::onDimensionsSupported\28SkISize\20const&\29 +10600:SkJpegCodec::getSampler\28bool\29 +10601:SkJpegCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10602:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29.1 +10603:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29 +10604:SkJpegBufferedSourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10605:SkJpegBufferedSourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10606:SkJpegBufferedSourceMgr::fillInputBuffer\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10607:SkImage_Raster::~SkImage_Raster\28\29.1 +10608:SkImage_Raster::~SkImage_Raster\28\29 +10609:SkImage_Raster::onReinterpretColorSpace\28sk_sp\29\20const +10610:SkImage_Raster::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10611:SkImage_Raster::onPeekPixels\28SkPixmap*\29\20const +10612:SkImage_Raster::onMakeWithMipmaps\28sk_sp\29\20const +10613:SkImage_Raster::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10614:SkImage_Raster::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10615:SkImage_Raster::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10616:SkImage_Raster::onHasMipmaps\28\29\20const +10617:SkImage_Raster::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +10618:SkImage_Raster::notifyAddedToRasterCache\28\29\20const +10619:SkImage_Raster::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10620:SkImage_LazyTexture::readPixelsProxy\28GrDirectContext*\2c\20SkPixmap\20const&\29\20const +10621:SkImage_LazyTexture::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10622:SkImage_Lazy::~SkImage_Lazy\28\29 +10623:SkImage_Lazy::onReinterpretColorSpace\28sk_sp\29\20const +10624:SkImage_Lazy::onRefEncoded\28\29\20const +10625:SkImage_Lazy::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10626:SkImage_Lazy::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10627:SkImage_Lazy::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10628:SkImage_Lazy::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10629:SkImage_Lazy::onIsProtected\28\29\20const +10630:SkImage_Lazy::isValid\28GrRecordingContext*\29\20const +10631:SkImage_Lazy::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10632:SkImage_GaneshBase::~SkImage_GaneshBase\28\29 +10633:SkImage_GaneshBase::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10634:SkImage_GaneshBase::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +10635:SkImage_GaneshBase::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10636:SkImage_GaneshBase::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10637:SkImage_GaneshBase::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10638:SkImage_GaneshBase::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +10639:SkImage_GaneshBase::isValid\28GrRecordingContext*\29\20const +10640:SkImage_GaneshBase::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10641:SkImage_GaneshBase::directContext\28\29\20const +10642:SkImage_Ganesh::~SkImage_Ganesh\28\29.1 +10643:SkImage_Ganesh::textureSize\28\29\20const +10644:SkImage_Ganesh::onReinterpretColorSpace\28sk_sp\29\20const +10645:SkImage_Ganesh::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10646:SkImage_Ganesh::onIsProtected\28\29\20const +10647:SkImage_Ganesh::onHasMipmaps\28\29\20const +10648:SkImage_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10649:SkImage_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10650:SkImage_Ganesh::generatingSurfaceIsDeleted\28\29 +10651:SkImage_Ganesh::flush\28GrDirectContext*\2c\20GrFlushInfo\20const&\29\20const +10652:SkImage_Ganesh::asView\28GrRecordingContext*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29\20const +10653:SkImage_Ganesh::asFragmentProcessor\28GrRecordingContext*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29\20const +10654:SkImage_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10655:SkImage_Base::notifyAddedToRasterCache\28\29\20const +10656:SkImage_Base::makeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10657:SkImage_Base::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10658:SkImage_Base::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10659:SkImage_Base::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +10660:SkImage_Base::makeColorSpace\28skgpu::graphite::Recorder*\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10661:SkImage_Base::makeColorSpace\28GrDirectContext*\2c\20sk_sp\29\20const +10662:SkImage_Base::isTextureBacked\28\29\20const +10663:SkImage_Base::isLazyGenerated\28\29\20const +10664:SkImageShader::~SkImageShader\28\29.1 +10665:SkImageShader::~SkImageShader\28\29 +10666:SkImageShader::type\28\29\20const +10667:SkImageShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +10668:SkImageShader::isOpaque\28\29\20const +10669:SkImageShader::getTypeName\28\29\20const +10670:SkImageShader::flatten\28SkWriteBuffer&\29\20const +10671:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10672:SkImageGenerator::~SkImageGenerator\28\29 +10673:SkImageFilters::Compose\28sk_sp\2c\20sk_sp\29 +10674:SkImage::~SkImage\28\29 +10675:SkIcoDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10676:SkIcoCodec::~SkIcoCodec\28\29.1 +10677:SkIcoCodec::~SkIcoCodec\28\29 +10678:SkIcoCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10679:SkIcoCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10680:SkIcoCodec::onSkipScanlines\28int\29 +10681:SkIcoCodec::onIncrementalDecode\28int*\29 +10682:SkIcoCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10683:SkIcoCodec::onGetScanlineOrder\28\29\20const +10684:SkIcoCodec::onGetScaledDimensions\28float\29\20const +10685:SkIcoCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10686:SkIcoCodec::onDimensionsSupported\28SkISize\20const&\29 +10687:SkIcoCodec::getSampler\28bool\29 +10688:SkIcoCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10689:SkGradientBaseShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10690:SkGradientBaseShader::isOpaque\28\29\20const +10691:SkGradientBaseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10692:SkGifDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10693:SkGaussianColorFilter::getTypeName\28\29\20const +10694:SkGaussianColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10695:SkGammaColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +10696:SkGammaColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +10697:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29.1 +10698:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29 +10699:SkFontStyleSet_Custom::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +10700:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29.1 +10701:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29 +10702:SkFontScanner_FreeType::scanFile\28SkStreamAsset*\2c\20int*\29\20const +10703:SkFontScanner_FreeType::scanFace\28SkStreamAsset*\2c\20int\2c\20int*\29\20const +10704:SkFontMgr_Custom::~SkFontMgr_Custom\28\29.1 +10705:SkFontMgr_Custom::~SkFontMgr_Custom\28\29 +10706:SkFontMgr_Custom::onMatchFamily\28char\20const*\29\20const +10707:SkFontMgr_Custom::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +10708:SkFontMgr_Custom::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +10709:SkFontMgr_Custom::onMakeFromStreamArgs\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +10710:SkFontMgr_Custom::onMakeFromFile\28char\20const*\2c\20int\29\20const +10711:SkFontMgr_Custom::onMakeFromData\28sk_sp\2c\20int\29\20const +10712:SkFontMgr_Custom::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +10713:SkFontMgr_Custom::onGetFamilyName\28int\2c\20SkString*\29\20const +10714:SkFont::setScaleX\28float\29 +10715:SkFont::setEmbeddedBitmaps\28bool\29 +10716:SkFont::isEmbolden\28\29\20const +10717:SkFont::getSkewX\28\29\20const +10718:SkFont::getSize\28\29\20const +10719:SkFont::getScaleX\28\29\20const +10720:SkFont*\20emscripten::internal::operator_new\2c\20float\2c\20float\2c\20float>\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29 +10721:SkFont*\20emscripten::internal::operator_new\2c\20float>\28sk_sp&&\2c\20float&&\29 +10722:SkFont*\20emscripten::internal::operator_new>\28sk_sp&&\29 +10723:SkFont*\20emscripten::internal::operator_new\28\29 +10724:SkFILEStream::~SkFILEStream\28\29.1 +10725:SkFILEStream::~SkFILEStream\28\29 +10726:SkFILEStream::seek\28unsigned\20long\29 +10727:SkFILEStream::rewind\28\29 +10728:SkFILEStream::read\28void*\2c\20unsigned\20long\29 +10729:SkFILEStream::onFork\28\29\20const +10730:SkFILEStream::onDuplicate\28\29\20const +10731:SkFILEStream::move\28long\29 +10732:SkFILEStream::isAtEnd\28\29\20const +10733:SkFILEStream::getPosition\28\29\20const +10734:SkFILEStream::getLength\28\29\20const +10735:SkEncoder::~SkEncoder\28\29 +10736:SkEmptyShader::getTypeName\28\29\20const +10737:SkEmptyPicture::~SkEmptyPicture\28\29 +10738:SkEmptyPicture::cullRect\28\29\20const +10739:SkEmptyFontMgr::onMatchFamily\28char\20const*\29\20const +10740:SkEdgeBuilder::~SkEdgeBuilder\28\29 +10741:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +10742:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29.1 +10743:SkDrawable::onMakePictureSnapshot\28\29 +10744:SkDrawBase::~SkDrawBase\28\29 +10745:SkDraw::paintMasks\28SkZip\2c\20SkPaint\20const&\29\20const +10746:SkDiscretePathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10747:SkDiscretePathEffectImpl::getTypeName\28\29\20const +10748:SkDiscretePathEffectImpl::getFactory\28\29\20const +10749:SkDiscretePathEffectImpl::computeFastBounds\28SkRect*\29\20const +10750:SkDiscretePathEffectImpl::CreateProc\28SkReadBuffer&\29 +10751:SkDevice::~SkDevice\28\29 +10752:SkDevice::strikeDeviceInfo\28\29\20const +10753:SkDevice::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10754:SkDevice::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10755:SkDevice::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20sk_sp\2c\20SkPaint\20const&\29 +10756:SkDevice::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +10757:SkDevice::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10758:SkDevice::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10759:SkDevice::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10760:SkDevice::drawCoverageMask\28SkSpecialImage\20const*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +10761:SkDevice::drawBlurredRRect\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20float\29 +10762:SkDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +10763:SkDevice::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10764:SkDevice::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +10765:SkDashImpl::~SkDashImpl\28\29.1 +10766:SkDashImpl::~SkDashImpl\28\29 +10767:SkDashImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10768:SkDashImpl::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +10769:SkDashImpl::onAsADash\28SkPathEffect::DashInfo*\29\20const +10770:SkDashImpl::getTypeName\28\29\20const +10771:SkDashImpl::flatten\28SkWriteBuffer&\29\20const +10772:SkCustomTypefaceBuilder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +10773:SkCornerPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10774:SkCornerPathEffectImpl::getTypeName\28\29\20const +10775:SkCornerPathEffectImpl::getFactory\28\29\20const +10776:SkCornerPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10777:SkCornerPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10778:SkCornerPathEffect::Make\28float\29 +10779:SkContourMeasureIter*\20emscripten::internal::operator_new\28SkPath\20const&\2c\20bool&&\2c\20float&&\29 +10780:SkContourMeasure::~SkContourMeasure\28\29.1 +10781:SkContourMeasure::~SkContourMeasure\28\29 +10782:SkContourMeasure::isClosed\28\29\20const +10783:SkConicalGradient::getTypeName\28\29\20const +10784:SkConicalGradient::flatten\28SkWriteBuffer&\29\20const +10785:SkConicalGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10786:SkConicalGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10787:SkComposePathEffect::~SkComposePathEffect\28\29 +10788:SkComposePathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10789:SkComposePathEffect::getTypeName\28\29\20const +10790:SkComposePathEffect::computeFastBounds\28SkRect*\29\20const +10791:SkComposeColorFilter::onIsAlphaUnchanged\28\29\20const +10792:SkComposeColorFilter::getTypeName\28\29\20const +10793:SkComposeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10794:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29.1 +10795:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29 +10796:SkColorSpaceXformColorFilter::getTypeName\28\29\20const +10797:SkColorSpaceXformColorFilter::flatten\28SkWriteBuffer&\29\20const +10798:SkColorSpaceXformColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10799:SkColorShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10800:SkColorShader::isOpaque\28\29\20const +10801:SkColorShader::getTypeName\28\29\20const +10802:SkColorShader::flatten\28SkWriteBuffer&\29\20const +10803:SkColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10804:SkColorPalette::~SkColorPalette\28\29.1 +10805:SkColorPalette::~SkColorPalette\28\29 +10806:SkColorFilters::SRGBToLinearGamma\28\29 +10807:SkColorFilters::LinearToSRGBGamma\28\29 +10808:SkColorFilters::Lerp\28float\2c\20sk_sp\2c\20sk_sp\29 +10809:SkColorFilters::Compose\28sk_sp\20const&\2c\20sk_sp\29 +10810:SkColorFilterShader::~SkColorFilterShader\28\29.1 +10811:SkColorFilterShader::~SkColorFilterShader\28\29 +10812:SkColorFilterShader::isOpaque\28\29\20const +10813:SkColorFilterShader::getTypeName\28\29\20const +10814:SkColorFilterShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10815:SkColorFilterBase::onFilterColor4f\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkColorSpace*\29\20const +10816:SkColor4Shader::~SkColor4Shader\28\29.1 +10817:SkColor4Shader::~SkColor4Shader\28\29 +10818:SkColor4Shader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10819:SkColor4Shader::isOpaque\28\29\20const +10820:SkColor4Shader::getTypeName\28\29\20const +10821:SkColor4Shader::flatten\28SkWriteBuffer&\29\20const +10822:SkColor4Shader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10823:SkCodecImageGenerator::~SkCodecImageGenerator\28\29.1 +10824:SkCodecImageGenerator::~SkCodecImageGenerator\28\29 +10825:SkCodecImageGenerator::onRefEncodedData\28\29 +10826:SkCodecImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +10827:SkCodecImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +10828:SkCodecImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +10829:SkCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10830:SkCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10831:SkCodec::onOutputScanline\28int\29\20const +10832:SkCodec::onGetScaledDimensions\28float\29\20const +10833:SkCodec::getEncodedData\28\29\20const +10834:SkCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10835:SkCanvas::rotate\28float\2c\20float\2c\20float\29 +10836:SkCanvas::recordingContext\28\29\20const +10837:SkCanvas::recorder\28\29\20const +10838:SkCanvas::onPeekPixels\28SkPixmap*\29 +10839:SkCanvas::onNewSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +10840:SkCanvas::onImageInfo\28\29\20const +10841:SkCanvas::onGetProps\28SkSurfaceProps*\2c\20bool\29\20const +10842:SkCanvas::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10843:SkCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10844:SkCanvas::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10845:SkCanvas::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10846:SkCanvas::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10847:SkCanvas::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10848:SkCanvas::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10849:SkCanvas::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10850:SkCanvas::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10851:SkCanvas::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10852:SkCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10853:SkCanvas::onDrawPaint\28SkPaint\20const&\29 +10854:SkCanvas::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10855:SkCanvas::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +10856:SkCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10857:SkCanvas::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10858:SkCanvas::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10859:SkCanvas::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10860:SkCanvas::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10861:SkCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10862:SkCanvas::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10863:SkCanvas::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10864:SkCanvas::onDrawBehind\28SkPaint\20const&\29 +10865:SkCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10866:SkCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10867:SkCanvas::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10868:SkCanvas::onDiscard\28\29 +10869:SkCanvas::onConvertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10870:SkCanvas::onAccessTopLayerPixels\28SkPixmap*\29 +10871:SkCanvas::isClipRect\28\29\20const +10872:SkCanvas::isClipEmpty\28\29\20const +10873:SkCanvas::getSaveCount\28\29\20const +10874:SkCanvas::getBaseLayerSize\28\29\20const +10875:SkCanvas::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10876:SkCanvas::drawPicture\28sk_sp\20const&\29 +10877:SkCanvas::drawCircle\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10878:SkCanvas*\20emscripten::internal::operator_new\28float&&\2c\20float&&\29 +10879:SkCanvas*\20emscripten::internal::operator_new\28\29 +10880:SkCachedData::~SkCachedData\28\29.1 +10881:SkCTMShader::~SkCTMShader\28\29 +10882:SkCTMShader::isConstant\28\29\20const +10883:SkCTMShader::getTypeName\28\29\20const +10884:SkCTMShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10885:SkCTMShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10886:SkBreakIterator_icu::~SkBreakIterator_icu\28\29.1 +10887:SkBreakIterator_icu::~SkBreakIterator_icu\28\29 +10888:SkBreakIterator_icu::status\28\29 +10889:SkBreakIterator_icu::setText\28char\20const*\2c\20int\29 +10890:SkBreakIterator_icu::setText\28char16_t\20const*\2c\20int\29 +10891:SkBreakIterator_icu::next\28\29 +10892:SkBreakIterator_icu::isDone\28\29 +10893:SkBreakIterator_icu::first\28\29 +10894:SkBreakIterator_icu::current\28\29 +10895:SkBmpStandardCodec::~SkBmpStandardCodec\28\29.1 +10896:SkBmpStandardCodec::~SkBmpStandardCodec\28\29 +10897:SkBmpStandardCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10898:SkBmpStandardCodec::onInIco\28\29\20const +10899:SkBmpStandardCodec::getSampler\28bool\29 +10900:SkBmpStandardCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10901:SkBmpRLESampler::onSetSampleX\28int\29 +10902:SkBmpRLESampler::fillWidth\28\29\20const +10903:SkBmpRLECodec::~SkBmpRLECodec\28\29.1 +10904:SkBmpRLECodec::~SkBmpRLECodec\28\29 +10905:SkBmpRLECodec::skipRows\28int\29 +10906:SkBmpRLECodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10907:SkBmpRLECodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10908:SkBmpRLECodec::getSampler\28bool\29 +10909:SkBmpRLECodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10910:SkBmpMaskCodec::~SkBmpMaskCodec\28\29.1 +10911:SkBmpMaskCodec::~SkBmpMaskCodec\28\29 +10912:SkBmpMaskCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10913:SkBmpMaskCodec::getSampler\28bool\29 +10914:SkBmpMaskCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10915:SkBmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10916:SkBmpCodec::~SkBmpCodec\28\29 +10917:SkBmpCodec::skipRows\28int\29 +10918:SkBmpCodec::onSkipScanlines\28int\29 +10919:SkBmpCodec::onRewind\28\29 +10920:SkBmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10921:SkBmpCodec::onGetScanlineOrder\28\29\20const +10922:SkBlurMaskFilterImpl::getTypeName\28\29\20const +10923:SkBlurMaskFilterImpl::flatten\28SkWriteBuffer&\29\20const +10924:SkBlurMaskFilterImpl::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10925:SkBlurMaskFilterImpl::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10926:SkBlurMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +10927:SkBlurMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +10928:SkBlurMaskFilterImpl::asImageFilter\28SkMatrix\20const&\29\20const +10929:SkBlurMaskFilterImpl::asABlur\28SkMaskFilterBase::BlurRec*\29\20const +10930:SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +10931:SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +10932:SkBlockMemoryStream::seek\28unsigned\20long\29 +10933:SkBlockMemoryStream::rewind\28\29 +10934:SkBlockMemoryStream::read\28void*\2c\20unsigned\20long\29 +10935:SkBlockMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +10936:SkBlockMemoryStream::onFork\28\29\20const +10937:SkBlockMemoryStream::onDuplicate\28\29\20const +10938:SkBlockMemoryStream::move\28long\29 +10939:SkBlockMemoryStream::isAtEnd\28\29\20const +10940:SkBlockMemoryStream::getMemoryBase\28\29 +10941:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29.1 +10942:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29 +10943:SkBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10944:SkBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10945:SkBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10946:SkBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10947:SkBlitter::allocBlitMemory\28unsigned\20long\29 +10948:SkBlenderBase::asBlendMode\28\29\20const +10949:SkBlendShader::getTypeName\28\29\20const +10950:SkBlendShader::flatten\28SkWriteBuffer&\29\20const +10951:SkBlendShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10952:SkBlendModeColorFilter::onIsAlphaUnchanged\28\29\20const +10953:SkBlendModeColorFilter::onAsAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +10954:SkBlendModeColorFilter::getTypeName\28\29\20const +10955:SkBlendModeColorFilter::flatten\28SkWriteBuffer&\29\20const +10956:SkBlendModeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10957:SkBlendModeBlender::onAppendStages\28SkStageRec\20const&\29\20const +10958:SkBlendModeBlender::getTypeName\28\29\20const +10959:SkBlendModeBlender::flatten\28SkWriteBuffer&\29\20const +10960:SkBlendModeBlender::asBlendMode\28\29\20const +10961:SkBitmapDevice::~SkBitmapDevice\28\29.1 +10962:SkBitmapDevice::~SkBitmapDevice\28\29 +10963:SkBitmapDevice::snapSpecial\28SkIRect\20const&\2c\20bool\29 +10964:SkBitmapDevice::setImmutable\28\29 +10965:SkBitmapDevice::replaceClip\28SkIRect\20const&\29 +10966:SkBitmapDevice::pushClipStack\28\29 +10967:SkBitmapDevice::popClipStack\28\29 +10968:SkBitmapDevice::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10969:SkBitmapDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10970:SkBitmapDevice::onPeekPixels\28SkPixmap*\29 +10971:SkBitmapDevice::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10972:SkBitmapDevice::onClipShader\28sk_sp\29 +10973:SkBitmapDevice::onAccessPixels\28SkPixmap*\29 +10974:SkBitmapDevice::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +10975:SkBitmapDevice::makeSpecial\28SkImage\20const*\29 +10976:SkBitmapDevice::makeSpecial\28SkBitmap\20const&\29 +10977:SkBitmapDevice::isClipWideOpen\28\29\20const +10978:SkBitmapDevice::isClipRect\28\29\20const +10979:SkBitmapDevice::isClipEmpty\28\29\20const +10980:SkBitmapDevice::isClipAntiAliased\28\29\20const +10981:SkBitmapDevice::getRasterHandle\28\29\20const +10982:SkBitmapDevice::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +10983:SkBitmapDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10984:SkBitmapDevice::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10985:SkBitmapDevice::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10986:SkBitmapDevice::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10987:SkBitmapDevice::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +10988:SkBitmapDevice::drawPaint\28SkPaint\20const&\29 +10989:SkBitmapDevice::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10990:SkBitmapDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10991:SkBitmapDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +10992:SkBitmapDevice::devClipBounds\28\29\20const +10993:SkBitmapDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +10994:SkBitmapDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10995:SkBitmapDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +10996:SkBitmapDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +10997:SkBitmapDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +10998:SkBitmapDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +10999:SkBitmapCache::Rec::~Rec\28\29.1 +11000:SkBitmapCache::Rec::~Rec\28\29 +11001:SkBitmapCache::Rec::postAddInstall\28void*\29 +11002:SkBitmapCache::Rec::getCategory\28\29\20const +11003:SkBitmapCache::Rec::canBePurged\28\29 +11004:SkBitmapCache::Rec::bytesUsed\28\29\20const +11005:SkBitmapCache::Rec::ReleaseProc\28void*\2c\20void*\29 +11006:SkBitmapCache::Rec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +11007:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29.1 +11008:SkBinaryWriteBuffer::write\28SkM44\20const&\29 +11009:SkBinaryWriteBuffer::writeTypeface\28SkTypeface*\29 +11010:SkBinaryWriteBuffer::writeString\28std::__2::basic_string_view>\29 +11011:SkBinaryWriteBuffer::writeStream\28SkStream*\2c\20unsigned\20long\29 +11012:SkBinaryWriteBuffer::writeScalar\28float\29 +11013:SkBinaryWriteBuffer::writeSampling\28SkSamplingOptions\20const&\29 +11014:SkBinaryWriteBuffer::writeRegion\28SkRegion\20const&\29 +11015:SkBinaryWriteBuffer::writeRect\28SkRect\20const&\29 +11016:SkBinaryWriteBuffer::writePoint\28SkPoint\20const&\29 +11017:SkBinaryWriteBuffer::writePointArray\28SkPoint\20const*\2c\20unsigned\20int\29 +11018:SkBinaryWriteBuffer::writePoint3\28SkPoint3\20const&\29 +11019:SkBinaryWriteBuffer::writePath\28SkPath\20const&\29 +11020:SkBinaryWriteBuffer::writePaint\28SkPaint\20const&\29 +11021:SkBinaryWriteBuffer::writePad32\28void\20const*\2c\20unsigned\20long\29 +11022:SkBinaryWriteBuffer::writeMatrix\28SkMatrix\20const&\29 +11023:SkBinaryWriteBuffer::writeImage\28SkImage\20const*\29 +11024:SkBinaryWriteBuffer::writeColor4fArray\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20unsigned\20int\29 +11025:SkBigPicture::~SkBigPicture\28\29.1 +11026:SkBigPicture::~SkBigPicture\28\29 +11027:SkBigPicture::playback\28SkCanvas*\2c\20SkPicture::AbortCallback*\29\20const +11028:SkBigPicture::cullRect\28\29\20const +11029:SkBigPicture::approximateOpCount\28bool\29\20const +11030:SkBigPicture::approximateBytesUsed\28\29\20const +11031:SkBidiICUFactory::errorName\28UErrorCode\29\20const +11032:SkBidiICUFactory::bidi_setPara\28UBiDi*\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20UErrorCode*\29\20const +11033:SkBidiICUFactory::bidi_reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +11034:SkBidiICUFactory::bidi_openSized\28int\2c\20int\2c\20UErrorCode*\29\20const +11035:SkBidiICUFactory::bidi_getLevelAt\28UBiDi\20const*\2c\20int\29\20const +11036:SkBidiICUFactory::bidi_getLength\28UBiDi\20const*\29\20const +11037:SkBidiICUFactory::bidi_getDirection\28UBiDi\20const*\29\20const +11038:SkBidiICUFactory::bidi_close_callback\28\29\20const +11039:SkBezierCubic::Subdivide\28double\20const*\2c\20double\2c\20double*\29 +11040:SkBasicEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11041:SkBasicEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11042:SkBasicEdgeBuilder::addQuad\28SkPoint\20const*\29 +11043:SkBasicEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11044:SkBasicEdgeBuilder::addLine\28SkPoint\20const*\29 +11045:SkBasicEdgeBuilder::addCubic\28SkPoint\20const*\29 +11046:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29 +11047:SkBBoxHierarchy::insert\28SkRect\20const*\2c\20SkBBoxHierarchy::Metadata\20const*\2c\20int\29 +11048:SkArenaAlloc::SkipPod\28char*\29 +11049:SkArenaAlloc::NextBlock\28char*\29 +11050:SkAnimatedImage::~SkAnimatedImage\28\29.1 +11051:SkAnimatedImage::~SkAnimatedImage\28\29 +11052:SkAnimatedImage::reset\28\29 +11053:SkAnimatedImage::onGetBounds\28\29 +11054:SkAnimatedImage::onDraw\28SkCanvas*\29 +11055:SkAnimatedImage::getRepetitionCount\28\29\20const +11056:SkAnimatedImage::getCurrentFrame\28\29 +11057:SkAnimatedImage::currentFrameDuration\28\29 +11058:SkAndroidCodecAdapter::onGetSupportedSubset\28SkIRect*\29\20const +11059:SkAndroidCodecAdapter::onGetSampledDimensions\28int\29\20const +11060:SkAndroidCodecAdapter::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +11061:SkAnalyticEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11062:SkAnalyticEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11063:SkAnalyticEdgeBuilder::addQuad\28SkPoint\20const*\29 +11064:SkAnalyticEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11065:SkAnalyticEdgeBuilder::addLine\28SkPoint\20const*\29 +11066:SkAnalyticEdgeBuilder::addCubic\28SkPoint\20const*\29 +11067:SkAAClipBlitter::~SkAAClipBlitter\28\29.1 +11068:SkAAClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11069:SkAAClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11070:SkAAClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11071:SkAAClipBlitter::blitH\28int\2c\20int\2c\20int\29 +11072:SkAAClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11073:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_1::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11074:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_0::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11075:SkAAClip::Builder::Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11076:SkAAClip::Builder::Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11077:SkAAClip::Builder::Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11078:SkAAClip::Builder::Blitter::blitH\28int\2c\20int\2c\20int\29 +11079:SkAAClip::Builder::Blitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11080:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29.1 +11081:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29 +11082:SkA8_Coverage_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11083:SkA8_Coverage_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11084:SkA8_Coverage_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11085:SkA8_Coverage_Blitter::blitH\28int\2c\20int\2c\20int\29 +11086:SkA8_Coverage_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11087:SkA8_Blitter::~SkA8_Blitter\28\29.1 +11088:SkA8_Blitter::~SkA8_Blitter\28\29 +11089:SkA8_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11090:SkA8_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11091:SkA8_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11092:SkA8_Blitter::blitH\28int\2c\20int\2c\20int\29 +11093:SkA8_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11094:SkA8Blitter_Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +11095:Sk2DPathEffect::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +11096:Sk2DPathEffect::flatten\28SkWriteBuffer&\29\20const +11097:SimpleVFilter16i_C +11098:SimpleVFilter16_C +11099:SimpleTextStyle*\20emscripten::internal::raw_constructor\28\29 +11100:SimpleTextStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +11101:SimpleStrutStyle*\20emscripten::internal::raw_constructor\28\29 +11102:SimpleStrutStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +11103:SimpleParagraphStyle*\20emscripten::internal::raw_constructor\28\29 +11104:SimpleHFilter16i_C +11105:SimpleHFilter16_C +11106:SimpleFontStyle*\20emscripten::internal::raw_constructor\28\29 +11107:ShaderPDXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11108:ShaderPDXferProcessor::name\28\29\20const +11109:ShaderPDXferProcessor::makeProgramImpl\28\29\20const +11110:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11111:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11112:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11113:RuntimeEffectUniform*\20emscripten::internal::raw_constructor\28\29 +11114:RuntimeEffectRPCallbacks::toLinearSrgb\28void\20const*\29 +11115:RuntimeEffectRPCallbacks::fromLinearSrgb\28void\20const*\29 +11116:RuntimeEffectRPCallbacks::appendShader\28int\29 +11117:RuntimeEffectRPCallbacks::appendColorFilter\28int\29 +11118:RuntimeEffectRPCallbacks::appendBlender\28int\29 +11119:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29 +11120:RunBasedAdditiveBlitter::getRealBlitter\28bool\29 +11121:RunBasedAdditiveBlitter::flush_if_y_changed\28int\2c\20int\29 +11122:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11123:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11124:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11125:Round_Up_To_Grid +11126:Round_To_Half_Grid +11127:Round_To_Grid +11128:Round_To_Double_Grid +11129:Round_Super_45 +11130:Round_Super +11131:Round_None +11132:Round_Down_To_Grid +11133:RoundJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11134:RoundCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +11135:Reset +11136:Read_CVT_Stretched +11137:Read_CVT +11138:RD4_C +11139:Project_y +11140:Project +11141:ProcessRows +11142:PredictorAdd9_C +11143:PredictorAdd8_C +11144:PredictorAdd7_C +11145:PredictorAdd6_C +11146:PredictorAdd5_C +11147:PredictorAdd4_C +11148:PredictorAdd3_C +11149:PredictorAdd2_C +11150:PredictorAdd1_C +11151:PredictorAdd13_C +11152:PredictorAdd12_C +11153:PredictorAdd11_C +11154:PredictorAdd10_C +11155:PredictorAdd0_C +11156:PrePostInverseBlitterProc\28SkBlitter*\2c\20int\2c\20bool\29 +11157:PorterDuffXferProcessor::onHasSecondaryOutput\28\29\20const +11158:PorterDuffXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11159:PorterDuffXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11160:PorterDuffXferProcessor::name\28\29\20const +11161:PorterDuffXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11162:PorterDuffXferProcessor::makeProgramImpl\28\29\20const +11163:ParseVP8X +11164:PackRGB_C +11165:PDLCDXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +11166:PDLCDXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11167:PDLCDXferProcessor::name\28\29\20const +11168:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +11169:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11170:PDLCDXferProcessor::makeProgramImpl\28\29\20const +11171:OT::match_glyph\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11172:OT::match_coverage\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11173:OT::match_class_cached\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11174:OT::match_class_cached2\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11175:OT::match_class_cached1\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11176:OT::match_class\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11177:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GSUB_impl::SubstLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11178:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GPOS_impl::PosLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11179:OT::cff1::accelerator_t::gname_t::cmp\28void\20const*\2c\20void\20const*\29 +11180:OT::Layout::Common::RangeRecord::cmp_range\28void\20const*\2c\20void\20const*\29 +11181:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11182:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11183:OT::CmapSubtableFormat4::accelerator_t::get_glyph_func\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +11184:Move_CVT_Stretched +11185:Move_CVT +11186:MiterJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11187:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29.1 +11188:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29 +11189:MaskAdditiveBlitter::getWidth\28\29 +11190:MaskAdditiveBlitter::getRealBlitter\28bool\29 +11191:MaskAdditiveBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11192:MaskAdditiveBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11193:MaskAdditiveBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11194:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11195:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11196:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11197:MapAlpha_C +11198:MapARGB_C +11199:MakeRenderTarget\28sk_sp\2c\20int\2c\20int\29 +11200:MakeRenderTarget\28sk_sp\2c\20SimpleImageInfo\29 +11201:MakePathFromVerbsPointsWeights\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +11202:MakePathFromSVGString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11203:MakePathFromOp\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29 +11204:MakePathFromInterpolation\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29 +11205:MakePathFromCmds\28unsigned\20long\2c\20int\29 +11206:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29 +11207:MakeImageFromGenerator\28SimpleImageInfo\2c\20emscripten::val\29 +11208:MakeGrContext\28\29 +11209:MakeAsWinding\28SkPath\20const&\29 +11210:LD4_C +11211:JpegDecoderMgr::returnFailure\28char\20const*\2c\20SkCodec::Result\29 +11212:JpegDecoderMgr::init\28\29 +11213:JpegDecoderMgr::SourceMgr::SkipInputData\28jpeg_decompress_struct*\2c\20long\29 +11214:JpegDecoderMgr::SourceMgr::InitSource\28jpeg_decompress_struct*\29 +11215:JpegDecoderMgr::SourceMgr::FillInputBuffer\28jpeg_decompress_struct*\29 +11216:JpegDecoderMgr::JpegDecoderMgr\28SkStream*\29 +11217:IsValidSimpleFormat +11218:IsValidExtendedFormat +11219:InverseBlitter::blitH\28int\2c\20int\2c\20int\29 +11220:Init +11221:HorizontalUnfilter_C +11222:HorizontalFilter_C +11223:Horish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11224:Horish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11225:HasAlpha8b_C +11226:HasAlpha32b_C +11227:HU4_C +11228:HLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11229:HLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11230:HFilter8i_C +11231:HFilter8_C +11232:HFilter16i_C +11233:HFilter16_C +11234:HE8uv_C +11235:HE4_C +11236:HE16_C +11237:HD4_C +11238:GradientUnfilter_C +11239:GradientFilter_C +11240:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11241:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11242:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const +11243:GrYUVtoRGBEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11244:GrYUVtoRGBEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11245:GrYUVtoRGBEffect::name\28\29\20const +11246:GrYUVtoRGBEffect::clone\28\29\20const +11247:GrXferProcessor::ProgramImpl::emitWriteSwizzle\28GrGLSLXPFragmentBuilder*\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20char\20const*\29\20const +11248:GrXferProcessor::ProgramImpl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11249:GrXferProcessor::ProgramImpl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +11250:GrWritePixelsTask::~GrWritePixelsTask\28\29.1 +11251:GrWritePixelsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11252:GrWritePixelsTask::onExecute\28GrOpFlushState*\29 +11253:GrWritePixelsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11254:GrWaitRenderTask::~GrWaitRenderTask\28\29.1 +11255:GrWaitRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +11256:GrWaitRenderTask::onExecute\28GrOpFlushState*\29 +11257:GrWaitRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11258:GrTriangulator::~GrTriangulator\28\29 +11259:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29.1 +11260:GrTransferFromRenderTask::onExecute\28GrOpFlushState*\29 +11261:GrTransferFromRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11262:GrThreadSafeCache::Trampoline::~Trampoline\28\29.1 +11263:GrThreadSafeCache::Trampoline::~Trampoline\28\29 +11264:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29.1 +11265:GrTextureResolveRenderTask::onExecute\28GrOpFlushState*\29 +11266:GrTextureResolveRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11267:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +11268:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +11269:GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +11270:GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +11271:GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +11272:GrTextureProxy::~GrTextureProxy\28\29.2 +11273:GrTextureProxy::~GrTextureProxy\28\29.1 +11274:GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +11275:GrTextureProxy::instantiate\28GrResourceProvider*\29 +11276:GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +11277:GrTextureProxy::callbackDesc\28\29\20const +11278:GrTextureEffect::~GrTextureEffect\28\29.1 +11279:GrTextureEffect::~GrTextureEffect\28\29 +11280:GrTextureEffect::onMakeProgramImpl\28\29\20const +11281:GrTextureEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11282:GrTextureEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11283:GrTextureEffect::name\28\29\20const +11284:GrTextureEffect::clone\28\29\20const +11285:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11286:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11287:GrTexture::onGpuMemorySize\28\29\20const +11288:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29.1 +11289:GrTDeferredProxyUploader>::freeData\28\29 +11290:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29.1 +11291:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29 +11292:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::freeData\28\29 +11293:GrSurfaceProxy::getUniqueKey\28\29\20const +11294:GrSurface::~GrSurface\28\29 +11295:GrSurface::getResourceType\28\29\20const +11296:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29.1 +11297:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29 +11298:GrStrokeTessellationShader::name\28\29\20const +11299:GrStrokeTessellationShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11300:GrStrokeTessellationShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11301:GrStrokeTessellationShader::Impl::~Impl\28\29.1 +11302:GrStrokeTessellationShader::Impl::~Impl\28\29 +11303:GrStrokeTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11304:GrStrokeTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11305:GrSkSLFP::~GrSkSLFP\28\29.1 +11306:GrSkSLFP::~GrSkSLFP\28\29 +11307:GrSkSLFP::onMakeProgramImpl\28\29\20const +11308:GrSkSLFP::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11309:GrSkSLFP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11310:GrSkSLFP::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11311:GrSkSLFP::clone\28\29\20const +11312:GrSkSLFP::Impl::~Impl\28\29.1 +11313:GrSkSLFP::Impl::~Impl\28\29 +11314:GrSkSLFP::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11315:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11316:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11317:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11318:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11319:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::getMangledName\28char\20const*\29 +11320:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11321:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +11322:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +11323:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareFunction\28char\20const*\29 +11324:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11325:GrSimpleMesh*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29::'lambda'\28char*\29::__invoke\28char*\29 +11326:GrRingBuffer::FinishSubmit\28void*\29 +11327:GrResourceCache::CompareTimestamp\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29 +11328:GrRenderTask::~GrRenderTask\28\29 +11329:GrRenderTask::disown\28GrDrawingManager*\29 +11330:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +11331:GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +11332:GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +11333:GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +11334:GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +11335:GrRenderTargetProxy::callbackDesc\28\29\20const +11336:GrRecordingContext::~GrRecordingContext\28\29.1 +11337:GrRecordingContext::abandoned\28\29 +11338:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29.1 +11339:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29 +11340:GrRRectShadowGeoProc::onTextureSampler\28int\29\20const +11341:GrRRectShadowGeoProc::name\28\29\20const +11342:GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11343:GrRRectShadowGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11344:GrQuadEffect::name\28\29\20const +11345:GrQuadEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11346:GrQuadEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11347:GrQuadEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11348:GrQuadEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11349:GrPorterDuffXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11350:GrPorterDuffXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11351:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29.1 +11352:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29 +11353:GrPerlinNoise2Effect::onMakeProgramImpl\28\29\20const +11354:GrPerlinNoise2Effect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11355:GrPerlinNoise2Effect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11356:GrPerlinNoise2Effect::name\28\29\20const +11357:GrPerlinNoise2Effect::clone\28\29\20const +11358:GrPerlinNoise2Effect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11359:GrPerlinNoise2Effect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11360:GrPathTessellationShader::Impl::~Impl\28\29 +11361:GrPathTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11362:GrPathTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11363:GrOpsRenderPass::~GrOpsRenderPass\28\29 +11364:GrOpsRenderPass::onExecuteDrawable\28std::__2::unique_ptr>\29 +11365:GrOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11366:GrOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11367:GrOpFlushState::~GrOpFlushState\28\29.1 +11368:GrOpFlushState::~GrOpFlushState\28\29 +11369:GrOpFlushState::writeView\28\29\20const +11370:GrOpFlushState::usesMSAASurface\28\29\20const +11371:GrOpFlushState::tokenTracker\28\29 +11372:GrOpFlushState::threadSafeCache\28\29\20const +11373:GrOpFlushState::strikeCache\28\29\20const +11374:GrOpFlushState::smallPathAtlasManager\28\29\20const +11375:GrOpFlushState::sampledProxyArray\28\29 +11376:GrOpFlushState::rtProxy\28\29\20const +11377:GrOpFlushState::resourceProvider\28\29\20const +11378:GrOpFlushState::renderPassBarriers\28\29\20const +11379:GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +11380:GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +11381:GrOpFlushState::putBackIndirectDraws\28int\29 +11382:GrOpFlushState::putBackIndices\28int\29 +11383:GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +11384:GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +11385:GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11386:GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +11387:GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11388:GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11389:GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11390:GrOpFlushState::dstProxyView\28\29\20const +11391:GrOpFlushState::colorLoadOp\28\29\20const +11392:GrOpFlushState::atlasManager\28\29\20const +11393:GrOpFlushState::appliedClip\28\29\20const +11394:GrOpFlushState::addInlineUpload\28std::__2::function&\29>&&\29 +11395:GrOp::~GrOp\28\29 +11396:GrOnFlushCallbackObject::postFlush\28skgpu::AtlasToken\29 +11397:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11398:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11399:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +11400:GrModulateAtlasCoverageEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11401:GrModulateAtlasCoverageEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11402:GrModulateAtlasCoverageEffect::name\28\29\20const +11403:GrModulateAtlasCoverageEffect::clone\28\29\20const +11404:GrMeshDrawOp::onPrepare\28GrOpFlushState*\29 +11405:GrMeshDrawOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11406:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11407:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11408:GrMatrixEffect::onMakeProgramImpl\28\29\20const +11409:GrMatrixEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11410:GrMatrixEffect::name\28\29\20const +11411:GrMatrixEffect::clone\28\29\20const +11412:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +11413:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +11414:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::$_0::__invoke\28void\20const*\2c\20void*\29 +11415:GrImageContext::~GrImageContext\28\29.1 +11416:GrImageContext::~GrImageContext\28\29 +11417:GrHardClip::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +11418:GrGpuResource::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +11419:GrGpuBuffer::~GrGpuBuffer\28\29 +11420:GrGpuBuffer::unref\28\29\20const +11421:GrGpuBuffer::getResourceType\28\29\20const +11422:GrGpuBuffer::computeScratchKey\28skgpu::ScratchKey*\29\20const +11423:GrGeometryProcessor::onTextureSampler\28int\29\20const +11424:GrGeometryProcessor::ProgramImpl::~ProgramImpl\28\29 +11425:GrGLVaryingHandler::~GrGLVaryingHandler\28\29 +11426:GrGLUniformHandler::~GrGLUniformHandler\28\29.1 +11427:GrGLUniformHandler::~GrGLUniformHandler\28\29 +11428:GrGLUniformHandler::samplerVariable\28GrResourceHandle\29\20const +11429:GrGLUniformHandler::samplerSwizzle\28GrResourceHandle\29\20const +11430:GrGLUniformHandler::internalAddUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20bool\2c\20int\2c\20char\20const**\29 +11431:GrGLUniformHandler::getUniformCStr\28GrResourceHandle\29\20const +11432:GrGLUniformHandler::appendUniformDecls\28GrShaderFlags\2c\20SkString*\29\20const +11433:GrGLUniformHandler::addSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20GrShaderCaps\20const*\29 +11434:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +11435:GrGLTextureRenderTarget::onSetLabel\28\29 +11436:GrGLTextureRenderTarget::onRelease\28\29 +11437:GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +11438:GrGLTextureRenderTarget::onAbandon\28\29 +11439:GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +11440:GrGLTextureRenderTarget::backendFormat\28\29\20const +11441:GrGLTexture::~GrGLTexture\28\29.1 +11442:GrGLTexture::~GrGLTexture\28\29 +11443:GrGLTexture::textureParamsModified\28\29 +11444:GrGLTexture::onStealBackendTexture\28GrBackendTexture*\2c\20std::__2::function*\29 +11445:GrGLTexture::getBackendTexture\28\29\20const +11446:GrGLSemaphore::~GrGLSemaphore\28\29.1 +11447:GrGLSemaphore::~GrGLSemaphore\28\29 +11448:GrGLSemaphore::setIsOwned\28\29 +11449:GrGLSemaphore::backendSemaphore\28\29\20const +11450:GrGLSLVertexBuilder::~GrGLSLVertexBuilder\28\29 +11451:GrGLSLVertexBuilder::onFinalize\28\29 +11452:GrGLSLUniformHandler::inputSamplerSwizzle\28GrResourceHandle\29\20const +11453:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +11454:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +11455:GrGLSLFragmentShaderBuilder::onFinalize\28\29 +11456:GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +11457:GrGLSLFragmentShaderBuilder::forceHighPrecision\28\29 +11458:GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +11459:GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +11460:GrGLRenderTarget::~GrGLRenderTarget\28\29 +11461:GrGLRenderTarget::onGpuMemorySize\28\29\20const +11462:GrGLRenderTarget::getBackendRenderTarget\28\29\20const +11463:GrGLRenderTarget::completeStencilAttachment\28GrAttachment*\2c\20bool\29 +11464:GrGLRenderTarget::canAttemptStencilAttachment\28bool\29\20const +11465:GrGLRenderTarget::backendFormat\28\29\20const +11466:GrGLRenderTarget::alwaysClearStencil\28\29\20const +11467:GrGLProgramDataManager::~GrGLProgramDataManager\28\29.1 +11468:GrGLProgramDataManager::~GrGLProgramDataManager\28\29 +11469:GrGLProgramDataManager::setMatrix4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11470:GrGLProgramDataManager::setMatrix4f\28GrResourceHandle\2c\20float\20const*\29\20const +11471:GrGLProgramDataManager::setMatrix3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11472:GrGLProgramDataManager::setMatrix3f\28GrResourceHandle\2c\20float\20const*\29\20const +11473:GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11474:GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +11475:GrGLProgramDataManager::set4iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11476:GrGLProgramDataManager::set4i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +11477:GrGLProgramDataManager::set4f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\2c\20float\29\20const +11478:GrGLProgramDataManager::set3iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11479:GrGLProgramDataManager::set3i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\29\20const +11480:GrGLProgramDataManager::set3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11481:GrGLProgramDataManager::set3f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\29\20const +11482:GrGLProgramDataManager::set2iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11483:GrGLProgramDataManager::set2i\28GrResourceHandle\2c\20int\2c\20int\29\20const +11484:GrGLProgramDataManager::set2f\28GrResourceHandle\2c\20float\2c\20float\29\20const +11485:GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11486:GrGLProgramDataManager::set1i\28GrResourceHandle\2c\20int\29\20const +11487:GrGLProgramDataManager::set1fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11488:GrGLProgramDataManager::set1f\28GrResourceHandle\2c\20float\29\20const +11489:GrGLProgramBuilder::~GrGLProgramBuilder\28\29.1 +11490:GrGLProgramBuilder::varyingHandler\28\29 +11491:GrGLProgramBuilder::caps\28\29\20const +11492:GrGLProgram::~GrGLProgram\28\29.1 +11493:GrGLOpsRenderPass::~GrGLOpsRenderPass\28\29 +11494:GrGLOpsRenderPass::onSetScissorRect\28SkIRect\20const&\29 +11495:GrGLOpsRenderPass::onEnd\28\29 +11496:GrGLOpsRenderPass::onDraw\28int\2c\20int\29 +11497:GrGLOpsRenderPass::onDrawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +11498:GrGLOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11499:GrGLOpsRenderPass::onDrawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +11500:GrGLOpsRenderPass::onDrawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +11501:GrGLOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11502:GrGLOpsRenderPass::onClear\28GrScissorState\20const&\2c\20std::__2::array\29 +11503:GrGLOpsRenderPass::onClearStencilClip\28GrScissorState\20const&\2c\20bool\29 +11504:GrGLOpsRenderPass::onBindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +11505:GrGLOpsRenderPass::onBindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +11506:GrGLOpsRenderPass::onBindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +11507:GrGLOpsRenderPass::onBegin\28\29 +11508:GrGLOpsRenderPass::inlineUpload\28GrOpFlushState*\2c\20std::__2::function&\29>&\29 +11509:GrGLInterface::~GrGLInterface\28\29.1 +11510:GrGLInterface::~GrGLInterface\28\29 +11511:GrGLGpu::~GrGLGpu\28\29.1 +11512:GrGLGpu::xferBarrier\28GrRenderTarget*\2c\20GrXferBarrierType\29 +11513:GrGLGpu::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +11514:GrGLGpu::willExecute\28\29 +11515:GrGLGpu::waitSemaphore\28GrSemaphore*\29 +11516:GrGLGpu::submit\28GrOpsRenderPass*\29 +11517:GrGLGpu::stagingBufferManager\28\29 +11518:GrGLGpu::refPipelineBuilder\28\29 +11519:GrGLGpu::prepareTextureForCrossContextUsage\28GrTexture*\29 +11520:GrGLGpu::precompileShader\28SkData\20const&\2c\20SkData\20const&\29 +11521:GrGLGpu::pipelineBuilder\28\29 +11522:GrGLGpu::onWritePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +11523:GrGLGpu::onWrapRenderableBackendTexture\28GrBackendTexture\20const&\2c\20int\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11524:GrGLGpu::onWrapCompressedBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11525:GrGLGpu::onWrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\29 +11526:GrGLGpu::onWrapBackendRenderTarget\28GrBackendRenderTarget\20const&\29 +11527:GrGLGpu::onUpdateCompressedBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20void\20const*\2c\20unsigned\20long\29 +11528:GrGLGpu::onTransferPixelsTo\28GrTexture*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11529:GrGLGpu::onTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\29 +11530:GrGLGpu::onTransferFromBufferToBuffer\28sk_sp\2c\20unsigned\20long\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11531:GrGLGpu::onSubmitToGpu\28GrSyncCpu\29 +11532:GrGLGpu::onResolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +11533:GrGLGpu::onResetTextureBindings\28\29 +11534:GrGLGpu::onResetContext\28unsigned\20int\29 +11535:GrGLGpu::onRegenerateMipMapLevels\28GrTexture*\29 +11536:GrGLGpu::onReadPixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20unsigned\20long\29 +11537:GrGLGpu::onGetOpsRenderPass\28GrRenderTarget*\2c\20bool\2c\20GrAttachment*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const&\2c\20GrOpsRenderPass::LoadAndStoreInfo\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\2c\20skia_private::TArray\20const&\2c\20GrXferBarrierFlags\29 +11538:GrGLGpu::onDumpJSON\28SkJSONWriter*\29\20const +11539:GrGLGpu::onCreateTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +11540:GrGLGpu::onCreateCompressedTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20void\20const*\2c\20unsigned\20long\29 +11541:GrGLGpu::onCreateCompressedBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\29 +11542:GrGLGpu::onCreateBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +11543:GrGLGpu::onCreateBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +11544:GrGLGpu::onCopySurface\28GrSurface*\2c\20SkIRect\20const&\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +11545:GrGLGpu::onClearBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20std::__2::array\29 +11546:GrGLGpu::makeStencilAttachment\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\29 +11547:GrGLGpu::makeSemaphore\28bool\29 +11548:GrGLGpu::makeMSAAAttachment\28SkISize\2c\20GrBackendFormat\20const&\2c\20int\2c\20skgpu::Protected\2c\20GrMemoryless\29 +11549:GrGLGpu::insertSemaphore\28GrSemaphore*\29 +11550:GrGLGpu::getPreferredStencilFormat\28GrBackendFormat\20const&\29 +11551:GrGLGpu::finishOutstandingGpuWork\28\29 +11552:GrGLGpu::disconnect\28GrGpu::DisconnectType\29 +11553:GrGLGpu::deleteBackendTexture\28GrBackendTexture\20const&\29 +11554:GrGLGpu::compile\28GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\29 +11555:GrGLGpu::checkFinishProcs\28\29 +11556:GrGLGpu::addFinishedProc\28void\20\28*\29\28void*\29\2c\20void*\29 +11557:GrGLGpu::ProgramCache::~ProgramCache\28\29.1 +11558:GrGLGpu::ProgramCache::~ProgramCache\28\29 +11559:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20float\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29 +11560:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29 +11561:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29 +11562:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\29\29::'lambda'\28void\20const*\2c\20float\29::__invoke\28void\20const*\2c\20float\29 +11563:GrGLFunction::GrGLFunction\28void\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11564:GrGLFunction::GrGLFunction\28void\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11565:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11566:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11567:GrGLCaps::~GrGLCaps\28\29.1 +11568:GrGLCaps::surfaceSupportsReadPixels\28GrSurface\20const*\29\20const +11569:GrGLCaps::supportedWritePixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11570:GrGLCaps::onSurfaceSupportsWritePixels\28GrSurface\20const*\29\20const +11571:GrGLCaps::onSupportsDynamicMSAA\28GrRenderTargetProxy\20const*\29\20const +11572:GrGLCaps::onSupportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11573:GrGLCaps::onIsWindowRectanglesSupportedForRT\28GrBackendRenderTarget\20const&\29\20const +11574:GrGLCaps::onGetReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11575:GrGLCaps::onGetDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\29\20const +11576:GrGLCaps::onGetDefaultBackendFormat\28GrColorType\29\20const +11577:GrGLCaps::onDumpJSON\28SkJSONWriter*\29\20const +11578:GrGLCaps::onCanCopySurface\28GrSurfaceProxy\20const*\2c\20SkIRect\20const&\2c\20GrSurfaceProxy\20const*\2c\20SkIRect\20const&\29\20const +11579:GrGLCaps::onAreColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +11580:GrGLCaps::onApplyOptionsOverrides\28GrContextOptions\20const&\29 +11581:GrGLCaps::maxRenderTargetSampleCount\28GrBackendFormat\20const&\29\20const +11582:GrGLCaps::makeDesc\28GrRenderTarget*\2c\20GrProgramInfo\20const&\2c\20GrCaps::ProgramDescOverrideFlags\29\20const +11583:GrGLCaps::isFormatTexturable\28GrBackendFormat\20const&\2c\20GrTextureType\29\20const +11584:GrGLCaps::isFormatSRGB\28GrBackendFormat\20const&\29\20const +11585:GrGLCaps::isFormatRenderable\28GrBackendFormat\20const&\2c\20int\29\20const +11586:GrGLCaps::isFormatCopyable\28GrBackendFormat\20const&\29\20const +11587:GrGLCaps::isFormatAsColorTypeRenderable\28GrColorType\2c\20GrBackendFormat\20const&\2c\20int\29\20const +11588:GrGLCaps::getWriteSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11589:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrBackendFormat\20const&\29\20const +11590:GrGLCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11591:GrGLCaps::getBackendFormatFromCompressionType\28SkTextureCompressionType\29\20const +11592:GrGLCaps::computeFormatKey\28GrBackendFormat\20const&\29\20const +11593:GrGLBuffer::~GrGLBuffer\28\29.1 +11594:GrGLBuffer::~GrGLBuffer\28\29 +11595:GrGLBuffer::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11596:GrGLBuffer::onUpdateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +11597:GrGLBuffer::onUnmap\28GrGpuBuffer::MapType\29 +11598:GrGLBuffer::onSetLabel\28\29 +11599:GrGLBuffer::onRelease\28\29 +11600:GrGLBuffer::onMap\28GrGpuBuffer::MapType\29 +11601:GrGLBuffer::onClearToZero\28\29 +11602:GrGLBuffer::onAbandon\28\29 +11603:GrGLBackendTextureData::~GrGLBackendTextureData\28\29.1 +11604:GrGLBackendTextureData::~GrGLBackendTextureData\28\29 +11605:GrGLBackendTextureData::isSameTexture\28GrBackendTextureData\20const*\29\20const +11606:GrGLBackendTextureData::isProtected\28\29\20const +11607:GrGLBackendTextureData::getBackendFormat\28\29\20const +11608:GrGLBackendTextureData::equal\28GrBackendTextureData\20const*\29\20const +11609:GrGLBackendTextureData::copyTo\28SkAnySubclass&\29\20const +11610:GrGLBackendRenderTargetData::isProtected\28\29\20const +11611:GrGLBackendRenderTargetData::getBackendFormat\28\29\20const +11612:GrGLBackendRenderTargetData::equal\28GrBackendRenderTargetData\20const*\29\20const +11613:GrGLBackendRenderTargetData::copyTo\28SkAnySubclass&\29\20const +11614:GrGLBackendFormatData::toString\28\29\20const +11615:GrGLBackendFormatData::stencilBits\28\29\20const +11616:GrGLBackendFormatData::equal\28GrBackendFormatData\20const*\29\20const +11617:GrGLBackendFormatData::desc\28\29\20const +11618:GrGLBackendFormatData::copyTo\28SkAnySubclass&\29\20const +11619:GrGLBackendFormatData::compressionType\28\29\20const +11620:GrGLBackendFormatData::channelMask\28\29\20const +11621:GrGLBackendFormatData::bytesPerBlock\28\29\20const +11622:GrGLAttachment::~GrGLAttachment\28\29 +11623:GrGLAttachment::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11624:GrGLAttachment::onSetLabel\28\29 +11625:GrGLAttachment::onRelease\28\29 +11626:GrGLAttachment::onAbandon\28\29 +11627:GrGLAttachment::backendFormat\28\29\20const +11628:GrFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11629:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11630:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +11631:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11632:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11633:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::name\28\29\20const +11634:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11635:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::clone\28\29\20const +11636:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11637:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const +11638:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::name\28\29\20const +11639:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::clone\28\29\20const +11640:GrFragmentProcessor::ProgramImpl::~ProgramImpl\28\29 +11641:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11642:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const +11643:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::name\28\29\20const +11644:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::clone\28\29\20const +11645:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11646:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const +11647:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::name\28\29\20const +11648:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11649:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::clone\28\29\20const +11650:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11651:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const +11652:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::name\28\29\20const +11653:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11654:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +11655:GrFixedClip::~GrFixedClip\28\29.1 +11656:GrFixedClip::~GrFixedClip\28\29 +11657:GrExternalTextureGenerator::onGenerateTexture\28GrRecordingContext*\2c\20SkImageInfo\20const&\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +11658:GrEagerDynamicVertexAllocator::lock\28unsigned\20long\2c\20int\29 +11659:GrDynamicAtlas::~GrDynamicAtlas\28\29.1 +11660:GrDynamicAtlas::~GrDynamicAtlas\28\29 +11661:GrDrawOp::usesStencil\28\29\20const +11662:GrDrawOp::usesMSAA\28\29\20const +11663:GrDrawOp::fixedFunctionFlags\28\29\20const +11664:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29.1 +11665:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29 +11666:GrDistanceFieldPathGeoProc::onTextureSampler\28int\29\20const +11667:GrDistanceFieldPathGeoProc::name\28\29\20const +11668:GrDistanceFieldPathGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11669:GrDistanceFieldPathGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11670:GrDistanceFieldPathGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11671:GrDistanceFieldPathGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11672:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29.1 +11673:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29 +11674:GrDistanceFieldLCDTextGeoProc::name\28\29\20const +11675:GrDistanceFieldLCDTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11676:GrDistanceFieldLCDTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11677:GrDistanceFieldLCDTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11678:GrDistanceFieldLCDTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11679:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +11680:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +11681:GrDistanceFieldA8TextGeoProc::name\28\29\20const +11682:GrDistanceFieldA8TextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11683:GrDistanceFieldA8TextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11684:GrDistanceFieldA8TextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11685:GrDistanceFieldA8TextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11686:GrDisableColorXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11687:GrDisableColorXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11688:GrDirectContext::~GrDirectContext\28\29.1 +11689:GrDirectContext::releaseResourcesAndAbandonContext\28\29 +11690:GrDirectContext::init\28\29 +11691:GrDirectContext::abandoned\28\29 +11692:GrDirectContext::abandonContext\28\29 +11693:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29.1 +11694:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29 +11695:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29.1 +11696:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29 +11697:GrCpuVertexAllocator::unlock\28int\29 +11698:GrCpuVertexAllocator::lock\28unsigned\20long\2c\20int\29 +11699:GrCpuBuffer::unref\28\29\20const +11700:GrCoverageSetOpXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11701:GrCoverageSetOpXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11702:GrCopyRenderTask::~GrCopyRenderTask\28\29.1 +11703:GrCopyRenderTask::onMakeSkippable\28\29 +11704:GrCopyRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11705:GrCopyRenderTask::onExecute\28GrOpFlushState*\29 +11706:GrCopyRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11707:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11708:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11709:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const +11710:GrConvexPolyEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11711:GrConvexPolyEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11712:GrConvexPolyEffect::name\28\29\20const +11713:GrConvexPolyEffect::clone\28\29\20const +11714:GrContext_Base::~GrContext_Base\28\29.1 +11715:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29.1 +11716:GrContextThreadSafeProxy::isValidCharacterizationForVulkan\28sk_sp\2c\20bool\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20bool\2c\20bool\29 +11717:GrConicEffect::name\28\29\20const +11718:GrConicEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11719:GrConicEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11720:GrConicEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11721:GrConicEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11722:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +11723:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +11724:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11725:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11726:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const +11727:GrColorSpaceXformEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11728:GrColorSpaceXformEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11729:GrColorSpaceXformEffect::name\28\29\20const +11730:GrColorSpaceXformEffect::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11731:GrColorSpaceXformEffect::clone\28\29\20const +11732:GrCaps::~GrCaps\28\29 +11733:GrCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11734:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29.1 +11735:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29 +11736:GrBitmapTextGeoProc::onTextureSampler\28int\29\20const +11737:GrBitmapTextGeoProc::name\28\29\20const +11738:GrBitmapTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11739:GrBitmapTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11740:GrBitmapTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11741:GrBitmapTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11742:GrBicubicEffect::onMakeProgramImpl\28\29\20const +11743:GrBicubicEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11744:GrBicubicEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11745:GrBicubicEffect::name\28\29\20const +11746:GrBicubicEffect::clone\28\29\20const +11747:GrBicubicEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11748:GrBicubicEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11749:GrAttachment::onGpuMemorySize\28\29\20const +11750:GrAttachment::getResourceType\28\29\20const +11751:GrAttachment::computeScratchKey\28skgpu::ScratchKey*\29\20const +11752:GrAtlasManager::~GrAtlasManager\28\29.1 +11753:GrAtlasManager::preFlush\28GrOnFlushResourceProvider*\29 +11754:GrAtlasManager::postFlush\28skgpu::AtlasToken\29 +11755:GrAATriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +11756:GetRectsForRange\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +11757:GetRectsForPlaceholders\28skia::textlayout::Paragraph&\29 +11758:GetLineMetrics\28skia::textlayout::Paragraph&\29 +11759:GetLineMetricsAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +11760:GetGlyphInfoAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +11761:GetCoeffsFast +11762:GetCoeffsAlt +11763:GetClosestGlyphInfoAtCoordinate\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29 +11764:FontMgrRunIterator::~FontMgrRunIterator\28\29.1 +11765:FontMgrRunIterator::~FontMgrRunIterator\28\29 +11766:FontMgrRunIterator::currentFont\28\29\20const +11767:FontMgrRunIterator::consume\28\29 +11768:ExtractGreen_C +11769:ExtractAlpha_C +11770:ExtractAlphaRows +11771:ExternalWebGLTexture::~ExternalWebGLTexture\28\29.1 +11772:ExternalWebGLTexture::~ExternalWebGLTexture\28\29 +11773:ExternalWebGLTexture::getBackendTexture\28\29 +11774:ExternalWebGLTexture::dispose\28\29 +11775:ExportAlphaRGBA4444 +11776:ExportAlpha +11777:Equals\28SkPath\20const&\2c\20SkPath\20const&\29 +11778:EmitYUV +11779:EmitSampledRGB +11780:EmitRescaledYUV +11781:EmitRescaledRGB +11782:EmitRescaledAlphaYUV +11783:EmitRescaledAlphaRGB +11784:EmitFancyRGB +11785:EmitAlphaYUV +11786:EmitAlphaRGBA4444 +11787:EmitAlphaRGB +11788:EllipticalRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11789:EllipticalRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11790:EllipticalRRectOp::name\28\29\20const +11791:EllipticalRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11792:EllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11793:EllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11794:EllipseOp::name\28\29\20const +11795:EllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11796:EllipseGeometryProcessor::name\28\29\20const +11797:EllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11798:EllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11799:EllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11800:Dual_Project +11801:DitherCombine8x8_C +11802:DispatchAlpha_C +11803:DispatchAlphaToGreen_C +11804:DisableColorXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11805:DisableColorXP::name\28\29\20const +11806:DisableColorXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11807:DisableColorXP::makeProgramImpl\28\29\20const +11808:Direct_Move_Y +11809:Direct_Move_X +11810:Direct_Move_Orig_Y +11811:Direct_Move_Orig_X +11812:Direct_Move_Orig +11813:Direct_Move +11814:DefaultGeoProc::name\28\29\20const +11815:DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11816:DefaultGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11817:DefaultGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11818:DefaultGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11819:DataFontLoader::loadSystemFonts\28SkFontScanner\20const*\2c\20skia_private::TArray\2c\20true>*\29\20const +11820:DataCacheElement_deleter\28void*\29 +11821:DIEllipseOp::~DIEllipseOp\28\29.1 +11822:DIEllipseOp::~DIEllipseOp\28\29 +11823:DIEllipseOp::visitProxies\28std::__2::function\20const&\29\20const +11824:DIEllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11825:DIEllipseOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11826:DIEllipseOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11827:DIEllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11828:DIEllipseOp::name\28\29\20const +11829:DIEllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11830:DIEllipseGeometryProcessor::name\28\29\20const +11831:DIEllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11832:DIEllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11833:DIEllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11834:DC8uv_C +11835:DC8uvNoTop_C +11836:DC8uvNoTopLeft_C +11837:DC8uvNoLeft_C +11838:DC4_C +11839:DC16_C +11840:DC16NoTop_C +11841:DC16NoTopLeft_C +11842:DC16NoLeft_C +11843:CustomXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11844:CustomXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11845:CustomXP::xferBarrierType\28GrCaps\20const&\29\20const +11846:CustomXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11847:CustomXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11848:CustomXP::name\28\29\20const +11849:CustomXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11850:CustomXP::makeProgramImpl\28\29\20const +11851:CustomTeardown +11852:CustomSetup +11853:CustomPut +11854:Current_Ppem_Stretched +11855:Current_Ppem +11856:Cr_z_zcfree +11857:Cr_z_zcalloc +11858:CoverageSetOpXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11859:CoverageSetOpXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11860:CoverageSetOpXP::name\28\29\20const +11861:CoverageSetOpXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11862:CoverageSetOpXP::makeProgramImpl\28\29\20const +11863:CopyPath\28SkPath\20const&\29 +11864:ConvertRGB24ToY_C +11865:ConvertBGR24ToY_C +11866:ConvertARGBToY_C +11867:ColorTableEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11868:ColorTableEffect::onMakeProgramImpl\28\29\20const +11869:ColorTableEffect::name\28\29\20const +11870:ColorTableEffect::clone\28\29\20const +11871:CircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +11872:CircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11873:CircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11874:CircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11875:CircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11876:CircularRRectOp::name\28\29\20const +11877:CircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11878:CircleOp::~CircleOp\28\29.1 +11879:CircleOp::~CircleOp\28\29 +11880:CircleOp::visitProxies\28std::__2::function\20const&\29\20const +11881:CircleOp::programInfo\28\29 +11882:CircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11883:CircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11884:CircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11885:CircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11886:CircleOp::name\28\29\20const +11887:CircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11888:CircleGeometryProcessor::name\28\29\20const +11889:CircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11890:CircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11891:CircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11892:CanInterpolate\28SkPath\20const&\2c\20SkPath\20const&\29 +11893:ButtCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +11894:ButtCapDashedCircleOp::visitProxies\28std::__2::function\20const&\29\20const +11895:ButtCapDashedCircleOp::programInfo\28\29 +11896:ButtCapDashedCircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11897:ButtCapDashedCircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11898:ButtCapDashedCircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11899:ButtCapDashedCircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11900:ButtCapDashedCircleOp::name\28\29\20const +11901:ButtCapDashedCircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11902:ButtCapDashedCircleGeometryProcessor::name\28\29\20const +11903:ButtCapDashedCircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11904:ButtCapDashedCircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11905:ButtCapDashedCircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11906:BluntJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11907:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11908:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11909:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +11910:BlendFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11911:BlendFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11912:BlendFragmentProcessor::name\28\29\20const +11913:BlendFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11914:BlendFragmentProcessor::clone\28\29\20const +11915:AutoCleanPng::infoCallback\28unsigned\20long\29 +11916:AutoCleanPng::decodeBounds\28\29 +11917:ApplyTrim\28SkPath&\2c\20float\2c\20float\2c\20bool\29 +11918:ApplyTransform\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11919:ApplyStroke\28SkPath&\2c\20StrokeOpts\29 +11920:ApplySimplify\28SkPath&\29 +11921:ApplyRewind\28SkPath&\29 +11922:ApplyReset\28SkPath&\29 +11923:ApplyRQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +11924:ApplyRMoveTo\28SkPath&\2c\20float\2c\20float\29 +11925:ApplyRLineTo\28SkPath&\2c\20float\2c\20float\29 +11926:ApplyRCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11927:ApplyRConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11928:ApplyRArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +11929:ApplyQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +11930:ApplyPathOp\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29 +11931:ApplyMoveTo\28SkPath&\2c\20float\2c\20float\29 +11932:ApplyLineTo\28SkPath&\2c\20float\2c\20float\29 +11933:ApplyDash\28SkPath&\2c\20float\2c\20float\2c\20float\29 +11934:ApplyCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11935:ApplyConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11936:ApplyClose\28SkPath&\29 +11937:ApplyArcToTangent\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11938:ApplyArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +11939:ApplyAlphaMultiply_C +11940:ApplyAlphaMultiply_16b_C +11941:ApplyAddPath\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +11942:AlphaReplace_C +11943:$_3::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +11944:$_2::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 +11945:$_1::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +11946:$_0::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 diff --git a/canvaskit/canvaskit.wasm b/canvaskit/canvaskit.wasm new file mode 100644 index 0000000..32aa3ca Binary files /dev/null and b/canvaskit/canvaskit.wasm differ diff --git a/canvaskit/chromium/canvaskit.js b/canvaskit/chromium/canvaskit.js new file mode 100644 index 0000000..0832d0d --- /dev/null +++ b/canvaskit/chromium/canvaskit.js @@ -0,0 +1,214 @@ + +var CanvasKitInit = (() => { + var _scriptDir = import.meta.url; + + return ( +async function(moduleArg = {}) { + +var r=moduleArg,aa,ba;r.ready=new Promise((a,b)=>{aa=a;ba=b}); +(function(a){a.Gd=a.Gd||[];a.Gd.push(function(){a.MakeSWCanvasSurface=function(b){var c=b,e="undefined"!==typeof OffscreenCanvas&&c instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&c instanceof HTMLCanvasElement||e||(c=document.getElementById(b),c)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.ge=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var e={width:b,height:c,colorType:a.ColorType.RGBA_8888, +alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,k=a._malloc(f);if(e=a.Surface._makeRasterDirect(e,k,4*b))e.ge=null,e.Oe=b,e.Le=c,e.Me=f,e.re=k,e.getCanvas().clear(a.TRANSPARENT);return e};a.MakeRasterDirectSurface=function(b,c,e){return a.Surface._makeRasterDirect(b,c.byteOffset,e)};a.Surface.prototype.flush=function(b){a.Dd(this.Cd);this._flush();if(this.ge){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.re,this.Me);c=new ImageData(c,this.Oe,this.Le);b?this.ge.getContext("2d").putImageData(c, +0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.ge.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=function(){this.re&&a._free(this.re);this.delete()};a.Dd=a.Dd||function(){};a.he=a.he||function(){return null}})})(r); +(function(a){a.Gd=a.Gd||[];a.Gd.push(function(){function b(m,q,w){return m&&m.hasOwnProperty(q)?m[q]:w}function c(m){var q=da(ea);ea[q]=m;return q}function e(m){return m.naturalHeight||m.videoHeight||m.displayHeight||m.height}function f(m){return m.naturalWidth||m.videoWidth||m.displayWidth||m.width}function k(m,q,w,y){m.bindTexture(m.TEXTURE_2D,q);y||w.alphaType!==a.AlphaType.Premul||m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return q}function l(m,q,w){w||q.alphaType!==a.AlphaType.Premul|| +m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);m.bindTexture(m.TEXTURE_2D,null)}a.GetWebGLContext=function(m,q){if(!m)throw"null canvas passed into makeWebGLContext";var w={alpha:b(q,"alpha",1),depth:b(q,"depth",1),stencil:b(q,"stencil",8),antialias:b(q,"antialias",0),premultipliedAlpha:b(q,"premultipliedAlpha",1),preserveDrawingBuffer:b(q,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(q,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(q,"failIfMajorPerformanceCaveat", +0),enableExtensionsByDefault:b(q,"enableExtensionsByDefault",1),explicitSwapControl:b(q,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(q,"renderViaOffscreenBackBuffer",0)};w.majorVersion=q&&q.majorVersion?q.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(w.explicitSwapControl)throw"explicitSwapControl is not supported";m=fa(m,w);if(!m)return 0;ha(m);x.Od.getExtension("WEBGL_debug_renderer_info");return m};a.deleteContext=function(m){x===ia[m]&&(x=null);"object"==typeof JSEvents&& +JSEvents.sf(ia[m].Od.canvas);ia[m]&&ia[m].Od.canvas&&(ia[m].Od.canvas.Je=void 0);ia[m]=null};a._setTextureCleanup({deleteTexture:function(m,q){var w=ea[q];w&&ia[m].Od.deleteTexture(w);ea[q]=null}});a.MakeWebGLContext=function(m){if(!this.Dd(m))return null;var q=this._MakeGrContext();if(!q)return null;q.Cd=m;var w=q.delete.bind(q);q["delete"]=function(){a.Dd(this.Cd);w()}.bind(q);return x.te=q};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Dd(this.Cd); +this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Dd(this.Cd);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Dd(this.Cd);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(m){a.Dd(this.Cd);this._setResourceCacheLimitBytes(m)};a.MakeOnScreenGLSurface=function(m,q,w,y,B,D){if(!this.Dd(m.Cd))return null;q=void 0===B||void 0===D? +this._MakeOnScreenGLSurface(m,q,w,y):this._MakeOnScreenGLSurface(m,q,w,y,B,D);if(!q)return null;q.Cd=m.Cd;return q};a.MakeRenderTarget=function(){var m=arguments[0];if(!this.Dd(m.Cd))return null;if(3===arguments.length){var q=this._MakeRenderTargetWH(m,arguments[1],arguments[2]);if(!q)return null}else if(2===arguments.length){if(q=this._MakeRenderTargetII(m,arguments[1]),!q)return null}else return null;q.Cd=m.Cd;return q};a.MakeWebGLCanvasSurface=function(m,q,w){q=q||null;var y=m,B="undefined"!== +typeof OffscreenCanvas&&y instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&y instanceof HTMLCanvasElement||B||(y=document.getElementById(m),y)))throw"Canvas with id "+m+" was not found";m=this.GetWebGLContext(y,w);if(!m||0>m)throw"failed to create webgl context: err "+m;m=this.MakeWebGLContext(m);q=this.MakeOnScreenGLSurface(m,y.width,y.height,q);return q?q:(q=y.cloneNode(!0),y.parentNode.replaceChild(q,y),q.classList.add("ck-replaced"),a.MakeSWCanvasSurface(q))};a.MakeCanvasSurface= +a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(m,q){a.Dd(this.Cd);m=c(m);if(q=this._makeImageFromTexture(this.Cd,m,q))q.be=m;return q};a.Surface.prototype.makeImageFromTextureSource=function(m,q,w){q||(q={height:e(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);a.Dd(this.Cd);var y=x.Od;w=k(y,y.createTexture(),q,w);2===x.version?y.texImage2D(y.TEXTURE_2D,0,y.RGBA,q.width,q.height, +0,y.RGBA,y.UNSIGNED_BYTE,m):y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,m);l(y,q);this._resetContext();return this.makeImageFromTexture(w,q)};a.Surface.prototype.updateTextureFromSource=function(m,q,w){if(m.be){a.Dd(this.Cd);var y=m.getImageInfo(),B=x.Od,D=k(B,ea[m.be],y,w);2===x.version?B.texImage2D(B.TEXTURE_2D,0,B.RGBA,f(q),e(q),0,B.RGBA,B.UNSIGNED_BYTE,q):B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,q);l(B,y,w);this._resetContext();ea[m.be]=null;m.be=c(D);y.colorSpace= +m.getColorSpace();q=this._makeImageFromTexture(this.Cd,m.be,y);w=m.jd.Ed;B=m.jd.Jd;m.jd.Ed=q.jd.Ed;m.jd.Jd=q.jd.Jd;q.jd.Ed=w;q.jd.Jd=B;q.delete();y.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(m,q,w){q||(q={height:e(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);var y={makeTexture:function(){var B=x,D=B.Od,u=k(D,D.createTexture(),q,w);2===B.version?D.texImage2D(D.TEXTURE_2D,0,D.RGBA, +q.width,q.height,0,D.RGBA,D.UNSIGNED_BYTE,m):D.texImage2D(D.TEXTURE_2D,0,D.RGBA,D.RGBA,D.UNSIGNED_BYTE,m);l(D,q,w);return c(u)},freeSrc:function(){}};"VideoFrame"===m.constructor.name&&(y.freeSrc=function(){m.close()});return a.Image._makeFromGenerator(q,y)};a.Dd=function(m){return m?ha(m):!1};a.he=function(){return x&&x.te&&!x.te.isDeleted()?x.te:null}})})(r); +(function(a){function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(255*g[2])<<0)>>>0}function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var d=Math.floor(g.length/4),h=new Uint32Array(d),n=0;nz;z++)a.HEAPF32[t+n]=g[v][z],n++;g=h}else g=M;d.Ld=g}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof g;return d}function q(g){if(!g)return M;var d=T.toTypedArray();if(g.length){if(6===g.length||9===g.length)return l(g,"HEAPF32",H),6===g.length&&a.HEAPF32.set(fd,6+H/4),H;if(16===g.length)return d[0]=g[0],d[1]=g[1],d[2]=g[3],d[3]=g[4],d[4]=g[5],d[5]=g[7],d[6]=g[12],d[7]=g[13],d[8]=g[15],H;throw"invalid matrix size"; +}if(void 0===g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m41;d[3]=g.m12;d[4]=g.m22;d[5]=g.m42;d[6]=g.m14;d[7]=g.m24;d[8]=g.m44;return H}function w(g){if(!g)return M;var d=Y.toTypedArray();if(g.length){if(16!==g.length&&6!==g.length&&9!==g.length)throw"invalid matrix size";if(16===g.length)return l(g,"HEAPF32",ca);d.fill(0);d[0]=g[0];d[1]=g[1];d[3]=g[2];d[4]=g[3];d[5]=g[4];d[7]=g[5];d[10]=1;d[12]=g[6];d[13]=g[7];d[15]=g[8];6===g.length&&(d[12]=0,d[13]=0,d[15]=1);return ca}if(void 0=== +g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m31;d[3]=g.m41;d[4]=g.m12;d[5]=g.m22;d[6]=g.m32;d[7]=g.m42;d[8]=g.m13;d[9]=g.m23;d[10]=g.m33;d[11]=g.m43;d[12]=g.m14;d[13]=g.m24;d[14]=g.m34;d[15]=g.m44;return ca}function y(g,d){return l(g,"HEAPF32",d||va)}function B(g,d,h,n){var t=Na.toTypedArray();t[0]=g;t[1]=d;t[2]=h;t[3]=n;return va}function D(g){for(var d=new Float32Array(4),h=0;4>h;h++)d[h]=a.HEAPF32[g/4+h];return d}function u(g,d){return l(g,"HEAPF32",d||X)}function F(g,d){return l(g, +"HEAPF32",d||Eb)}a.Color=function(g,d,h,n){void 0===n&&(n=1);return a.Color4f(f(g)/255,f(d)/255,f(h)/255,n)};a.ColorAsInt=function(g,d,h,n){void 0===n&&(n=255);return(f(n)<<24|f(g)<<16|f(d)<<8|f(h)<<0&268435455)>>>0};a.Color4f=function(g,d,h,n){void 0===n&&(n=1);return Float32Array.of(g,d,h,n)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1, +1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(g){return[Math.floor(255* +g[0]),Math.floor(255*g[1]),Math.floor(255*g[2]),g[3]]};a.parseColorString=function(g,d){g=g.toLowerCase();if(g.startsWith("#")){d=255;switch(g.length){case 9:d=parseInt(g.slice(7,9),16);case 7:var h=parseInt(g.slice(1,3),16);var n=parseInt(g.slice(3,5),16);var t=parseInt(g.slice(5,7),16);break;case 5:d=17*parseInt(g.slice(4,5),16);case 4:h=17*parseInt(g.slice(1,2),16),n=17*parseInt(g.slice(2,3),16),t=17*parseInt(g.slice(3,4),16)}return a.Color(h,n,t,d/255)}return g.startsWith("rgba")?(g=g.slice(5, +-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("rgb")?(g=g.slice(4,-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("gray(")||g.startsWith("hsl")||!d||(g=d[g],void 0===g)?a.BLACK:g};a.multiplyByAlpha=function(g,d){g=g.slice();g[3]=Math.max(0,Math.min(g[3]*d,1));return g};a.Malloc=function(g,d){var h=a._malloc(d*g.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:h,Wd:null,subarray:function(n,t){n=this.toTypedArray().subarray(n,t);n._ck=!0;return n},toTypedArray:function(){if(this.Wd&& +this.Wd.length)return this.Wd;this.Wd=new g(a.HEAPU8.buffer,h,d);this.Wd._ck=!0;return this.Wd}}};a.Free=function(g){a._free(g.byteOffset);g.byteOffset=M;g.toTypedArray=null;g.Wd=null};var H=M,T,ca=M,Y,va=M,Na,na,X=M,fc,Ba=M,gc,Fb=M,hc,Gb=M,hb,Sa=M,ic,Eb=M,jc,kc=M,fd=Float32Array.of(0,0,1),M=0;a.onRuntimeInitialized=function(){function g(d,h,n,t,v,z,E){z||(z=4*t.width,t.colorType===a.ColorType.RGBA_F16?z*=2:t.colorType===a.ColorType.RGBA_F32&&(z*=4));var J=z*t.height;var I=v?v.byteOffset:a._malloc(J); +if(E?!d._readPixels(t,I,z,h,n,E):!d._readPixels(t,I,z,h,n))return v||a._free(I),null;if(v)return v.toTypedArray();switch(t.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,I,J)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,I,J)).slice();break;default:return null}a._free(I);return d}Na=a.Malloc(Float32Array,4);va=Na.byteOffset;Y=a.Malloc(Float32Array,16);ca=Y.byteOffset;T=a.Malloc(Float32Array,9);H=T.byteOffset;ic=a.Malloc(Float32Array, +12);Eb=ic.byteOffset;jc=a.Malloc(Float32Array,12);kc=jc.byteOffset;na=a.Malloc(Float32Array,4);X=na.byteOffset;fc=a.Malloc(Float32Array,4);Ba=fc.byteOffset;gc=a.Malloc(Float32Array,3);Fb=gc.byteOffset;hc=a.Malloc(Float32Array,3);Gb=hc.byteOffset;hb=a.Malloc(Int32Array,4);Sa=hb.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds= +function(d){var h=l(d,"HEAPF32"),n=a.Path._MakeFromCmds(h,d.length);k(h,d);return n};a.Path.MakeFromVerbsPointsWeights=function(d,h,n){var t=l(d,"HEAPU8"),v=l(h,"HEAPF32"),z=l(n,"HEAPF32"),E=a.Path._MakeFromVerbsPointsWeights(t,d.length,v,h.length,z,n&&n.length||0);k(t,d);k(v,h);k(z,n);return E};a.Path.prototype.addArc=function(d,h,n){d=u(d);this._addArc(d,h,n);return this};a.Path.prototype.addCircle=function(d,h,n,t){this._addCircle(d,h,n,!!t);return this};a.Path.prototype.addOval=function(d,h,n){void 0=== +n&&(n=1);d=u(d);this._addOval(d,!!h,n);return this};a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),h=d[0],n=!1;"boolean"===typeof d[d.length-1]&&(n=d.pop());if(1===d.length)this._addPath(h,1,0,0,0,1,0,0,0,1,n);else if(2===d.length)d=d[1],this._addPath(h,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,n);else if(7===d.length||10===d.length)this._addPath(h,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,n);else return null;return this};a.Path.prototype.addPoly= +function(d,h){var n=l(d,"HEAPF32");this._addPoly(n,d.length/2,h);k(n,d);return this};a.Path.prototype.addRect=function(d,h){d=u(d);this._addRect(d,!!h);return this};a.Path.prototype.addRRect=function(d,h){d=F(d);this._addRRect(d,!!h);return this};a.Path.prototype.addVerbsPointsWeights=function(d,h,n){var t=l(d,"HEAPU8"),v=l(h,"HEAPF32"),z=l(n,"HEAPF32");this._addVerbsPointsWeights(t,d.length,v,h.length,z,n&&n.length||0);k(t,d);k(v,h);k(z,n)};a.Path.prototype.arc=function(d,h,n,t,v,z){d=a.LTRBRect(d- +n,h-n,d+n,h+n);v=(v-t)/Math.PI*180-360*!!z;z=new a.Path;z.addArc(d,t/Math.PI*180,v);this.addPath(z,!0);z.delete();return this};a.Path.prototype.arcToOval=function(d,h,n,t){d=u(d);this._arcToOval(d,h,n,t);return this};a.Path.prototype.arcToRotated=function(d,h,n,t,v,z,E){this._arcToRotated(d,h,n,!!t,!!v,z,E);return this};a.Path.prototype.arcToTangent=function(d,h,n,t,v){this._arcToTangent(d,h,n,t,v);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo= +function(d,h,n,t,v){this._conicTo(d,h,n,t,v);return this};a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.cubicTo=function(d,h,n,t,v,z){this._cubicTo(d,h,n,t,v,z);return this};a.Path.prototype.dash=function(d,h,n){return this._dash(d,h,n)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.lineTo=function(d, +h){this._lineTo(d,h);return this};a.Path.prototype.moveTo=function(d,h){this._moveTo(d,h);return this};a.Path.prototype.offset=function(d,h){this._transform(1,0,d,0,1,h,0,0,1);return this};a.Path.prototype.quadTo=function(d,h,n,t){this._quadTo(d,h,n,t);return this};a.Path.prototype.rArcTo=function(d,h,n,t,v,z,E){this._rArcTo(d,h,n,t,v,z,E);return this};a.Path.prototype.rConicTo=function(d,h,n,t,v){this._rConicTo(d,h,n,t,v);return this};a.Path.prototype.rCubicTo=function(d,h,n,t,v,z){this._rCubicTo(d, +h,n,t,v,z);return this};a.Path.prototype.rLineTo=function(d,h){this._rLineTo(d,h);return this};a.Path.prototype.rMoveTo=function(d,h){this._rMoveTo(d,h);return this};a.Path.prototype.rQuadTo=function(d,h,n,t){this._rQuadTo(d,h,n,t);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1=== +arguments.length){var d=arguments[0];this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,h,n){return this._trim(d,h,!!n)?this:null};a.Image.prototype.encodeToBytes=function(d,h){var n=a.he();d=d||a.ImageFormat.PNG;h=h||100; +return n?this._encodeToBytes(d,h,n):this._encodeToBytes(d,h)};a.Image.prototype.makeShaderCubic=function(d,h,n,t,v){v=q(v);return this._makeShaderCubic(d,h,n,t,v)};a.Image.prototype.makeShaderOptions=function(d,h,n,t,v){v=q(v);return this._makeShaderOptions(d,h,n,t,v)};a.Image.prototype.readPixels=function(d,h,n,t,v){var z=a.he();return g(this,d,h,n,t,v,z)};a.Canvas.prototype.clear=function(d){a.Dd(this.Cd);d=y(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,h,n){a.Dd(this.Cd);d=F(d);this._clipRRect(d, +h,n)};a.Canvas.prototype.clipRect=function(d,h,n){a.Dd(this.Cd);d=u(d);this._clipRect(d,h,n)};a.Canvas.prototype.concat=function(d){a.Dd(this.Cd);d=w(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,h,n,t,v){a.Dd(this.Cd);d=u(d);this._drawArc(d,h,n,t,v)};a.Canvas.prototype.drawAtlas=function(d,h,n,t,v,z,E){if(d&&t&&h&&n&&h.length===n.length){a.Dd(this.Cd);v||(v=a.BlendMode.SrcOver);var J=l(h,"HEAPF32"),I=l(n,"HEAPF32"),U=n.length/4,V=l(c(z),"HEAPU32");if(E&&"B"in E&&"C"in E)this._drawAtlasCubic(d, +I,J,V,U,v,E.B,E.C,t);else{let p=a.FilterMode.Linear,A=a.MipmapMode.None;E&&(p=E.filter,"mipmap"in E&&(A=E.mipmap));this._drawAtlasOptions(d,I,J,V,U,v,p,A,t)}k(J,h);k(I,n);k(V,z)}};a.Canvas.prototype.drawCircle=function(d,h,n,t){a.Dd(this.Cd);this._drawCircle(d,h,n,t)};a.Canvas.prototype.drawColor=function(d,h){a.Dd(this.Cd);d=y(d);void 0!==h?this._drawColor(d,h):this._drawColor(d)};a.Canvas.prototype.drawColorInt=function(d,h){a.Dd(this.Cd);this._drawColorInt(d,h||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents= +function(d,h,n,t,v){a.Dd(this.Cd);d=B(d,h,n,t);void 0!==v?this._drawColor(d,v):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,h,n){a.Dd(this.Cd);d=F(d,Eb);h=F(h,kc);this._drawDRRect(d,h,n)};a.Canvas.prototype.drawImage=function(d,h,n,t){a.Dd(this.Cd);this._drawImage(d,h,n,t||null)};a.Canvas.prototype.drawImageCubic=function(d,h,n,t,v,z){a.Dd(this.Cd);this._drawImageCubic(d,h,n,t,v,z||null)};a.Canvas.prototype.drawImageOptions=function(d,h,n,t,v,z){a.Dd(this.Cd);this._drawImageOptions(d, +h,n,t,v,z||null)};a.Canvas.prototype.drawImageNine=function(d,h,n,t,v){a.Dd(this.Cd);h=l(h,"HEAP32",Sa);n=u(n);this._drawImageNine(d,h,n,t,v||null)};a.Canvas.prototype.drawImageRect=function(d,h,n,t,v){a.Dd(this.Cd);u(h,X);u(n,Ba);this._drawImageRect(d,X,Ba,t,!!v)};a.Canvas.prototype.drawImageRectCubic=function(d,h,n,t,v,z){a.Dd(this.Cd);u(h,X);u(n,Ba);this._drawImageRectCubic(d,X,Ba,t,v,z||null)};a.Canvas.prototype.drawImageRectOptions=function(d,h,n,t,v,z){a.Dd(this.Cd);u(h,X);u(n,Ba);this._drawImageRectOptions(d, +X,Ba,t,v,z||null)};a.Canvas.prototype.drawLine=function(d,h,n,t,v){a.Dd(this.Cd);this._drawLine(d,h,n,t,v)};a.Canvas.prototype.drawOval=function(d,h){a.Dd(this.Cd);d=u(d);this._drawOval(d,h)};a.Canvas.prototype.drawPaint=function(d){a.Dd(this.Cd);this._drawPaint(d)};a.Canvas.prototype.drawParagraph=function(d,h,n){a.Dd(this.Cd);this._drawParagraph(d,h,n)};a.Canvas.prototype.drawPatch=function(d,h,n,t,v){if(24>d.length)throw"Need 12 cubic points";if(h&&4>h.length)throw"Need 4 colors";if(n&&8>n.length)throw"Need 4 shader coordinates"; +a.Dd(this.Cd);const z=l(d,"HEAPF32"),E=h?l(c(h),"HEAPU32"):M,J=n?l(n,"HEAPF32"):M;t||(t=a.BlendMode.Modulate);this._drawPatch(z,E,J,t,v);k(J,n);k(E,h);k(z,d)};a.Canvas.prototype.drawPath=function(d,h){a.Dd(this.Cd);this._drawPath(d,h)};a.Canvas.prototype.drawPicture=function(d){a.Dd(this.Cd);this._drawPicture(d)};a.Canvas.prototype.drawPoints=function(d,h,n){a.Dd(this.Cd);var t=l(h,"HEAPF32");this._drawPoints(d,t,h.length/2,n);k(t,h)};a.Canvas.prototype.drawRRect=function(d,h){a.Dd(this.Cd);d=F(d); +this._drawRRect(d,h)};a.Canvas.prototype.drawRect=function(d,h){a.Dd(this.Cd);d=u(d);this._drawRect(d,h)};a.Canvas.prototype.drawRect4f=function(d,h,n,t,v){a.Dd(this.Cd);this._drawRect4f(d,h,n,t,v)};a.Canvas.prototype.drawShadow=function(d,h,n,t,v,z,E){a.Dd(this.Cd);var J=l(v,"HEAPF32"),I=l(z,"HEAPF32");h=l(h,"HEAPF32",Fb);n=l(n,"HEAPF32",Gb);this._drawShadow(d,h,n,t,J,I,E);k(J,v);k(I,z)};a.getShadowLocalBounds=function(d,h,n,t,v,z,E){d=q(d);n=l(n,"HEAPF32",Fb);t=l(t,"HEAPF32",Gb);if(!this._getShadowLocalBounds(d, +h,n,t,v,z,X))return null;h=na.toTypedArray();return E?(E.set(h),E):h.slice()};a.Canvas.prototype.drawTextBlob=function(d,h,n,t){a.Dd(this.Cd);this._drawTextBlob(d,h,n,t)};a.Canvas.prototype.drawVertices=function(d,h,n){a.Dd(this.Cd);this._drawVertices(d,h,n)};a.Canvas.prototype.getDeviceClipBounds=function(d){this._getDeviceClipBounds(Sa);var h=hb.toTypedArray();d?d.set(h):d=h.slice();return d};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(ca);for(var d=ca,h=Array(16),n=0;16> +n;n++)h[n]=a.HEAPF32[d/4+n];return h};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(H);for(var d=Array(9),h=0;9>h;h++)d[h]=a.HEAPF32[H/4+h];return d};a.Canvas.prototype.makeSurface=function(d){d=this._makeSurface(d);d.Cd=this.Cd;return d};a.Canvas.prototype.readPixels=function(d,h,n,t,v){a.Dd(this.Cd);return g(this,d,h,n,t,v)};a.Canvas.prototype.saveLayer=function(d,h,n,t){h=u(h);return this._saveLayer(d||null,h,n||null,t||0)};a.Canvas.prototype.writePixels=function(d,h,n,t,v, +z,E,J){if(d.byteLength%(h*n))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Dd(this.Cd);var I=d.byteLength/(h*n);z=z||a.AlphaType.Unpremul;E=E||a.ColorType.RGBA_8888;J=J||a.ColorSpace.SRGB;var U=I*h;I=l(d,"HEAPU8");h=this._writePixels({width:h,height:n,colorType:E,alphaType:z,colorSpace:J},I,U,t,v);k(I,d);return h};a.ColorFilter.MakeBlend=function(d,h,n){d=y(d);n=n||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(d,h,n)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix"; +var h=l(d,"HEAPF32"),n=a.ColorFilter._makeMatrix(h);k(h,d);return n};a.ContourMeasure.prototype.getPosTan=function(d,h){this._getPosTan(d,X);d=na.toTypedArray();return h?(h.set(d),h):d.slice()};a.ImageFilter.prototype.getOutputBounds=function(d,h,n){d=u(d,X);h=q(h);this._getOutputBounds(d,h,Sa);h=hb.toTypedArray();return n?(n.set(h),n):h.slice()};a.ImageFilter.MakeDropShadow=function(d,h,n,t,v,z){v=y(v,va);return a.ImageFilter._MakeDropShadow(d,h,n,t,v,z)};a.ImageFilter.MakeDropShadowOnly=function(d, +h,n,t,v,z){v=y(v,va);return a.ImageFilter._MakeDropShadowOnly(d,h,n,t,v,z)};a.ImageFilter.MakeImage=function(d,h,n,t){n=u(n,X);t=u(t,Ba);if("B"in h&&"C"in h)return a.ImageFilter._MakeImageCubic(d,h.B,h.C,n,t);const v=h.filter;let z=a.MipmapMode.None;"mipmap"in h&&(z=h.mipmap);return a.ImageFilter._MakeImageOptions(d,v,z,n,t)};a.ImageFilter.MakeMatrixTransform=function(d,h,n){d=q(d);if("B"in h&&"C"in h)return a.ImageFilter._MakeMatrixTransformCubic(d,h.B,h.C,n);const t=h.filter;let v=a.MipmapMode.None; +"mipmap"in h&&(v=h.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(d,t,v,n)};a.Paint.prototype.getColor=function(){this._getColor(va);return D(va)};a.Paint.prototype.setColor=function(d,h){h=h||null;d=y(d);this._setColor(d,h)};a.Paint.prototype.setColorComponents=function(d,h,n,t,v){v=v||null;d=B(d,h,n,t);this._setColor(d,v)};a.Path.prototype.getPoint=function(d,h){this._getPoint(d,X);d=na.toTypedArray();return h?(h[0]=d[0],h[1]=d[1],h):d.slice(0,2)};a.Picture.prototype.makeShader=function(d, +h,n,t,v){t=q(t);v=u(v);return this._makeShader(d,h,n,t,v)};a.Picture.prototype.cullRect=function(d){this._cullRect(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.PictureRecorder.prototype.beginRecording=function(d,h){d=u(d);return this._beginRecording(d,!!h)};a.Surface.prototype.getCanvas=function(){var d=this._getCanvas();d.Cd=this.Cd;return d};a.Surface.prototype.makeImageSnapshot=function(d){a.Dd(this.Cd);d=l(d,"HEAP32",Sa);return this._makeImageSnapshot(d)};a.Surface.prototype.makeSurface= +function(d){a.Dd(this.Cd);d=this._makeSurface(d);d.Cd=this.Cd;return d};a.Surface.prototype.Ne=function(d,h){this.ae||(this.ae=this.getCanvas());return requestAnimationFrame(function(){a.Dd(this.Cd);d(this.ae);this.flush(h)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Ne);a.Surface.prototype.Ke=function(d,h){this.ae||(this.ae=this.getCanvas());requestAnimationFrame(function(){a.Dd(this.Cd);d(this.ae);this.flush(h);this.dispose()}.bind(this))}; +a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Ke);a.PathEffect.MakeDash=function(d,h){h||(h=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length";var n=l(d,"HEAPF32");h=a.PathEffect._MakeDash(n,d.length,h);k(n,d);return h};a.PathEffect.MakeLine2D=function(d,h){h=q(h);return a.PathEffect._MakeLine2D(d,h)};a.PathEffect.MakePath2D=function(d,h){d=q(d);return a.PathEffect._MakePath2D(d,h)};a.Shader.MakeColor=function(d,h){h=h||null;d=y(d);return a.Shader._MakeColor(d, +h)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(d,h,n,t,v,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=q(z);var V=na.toTypedArray();V.set(d);V.set(h,2);d=a.Shader._MakeLinearGradient(X,I.Ld,I.colorType,U,I.count,v,E,z,J);k(I.Ld,n);t&&k(U,t);return d};a.Shader.MakeRadialGradient=function(d,h,n,t,v,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=q(z);d=a.Shader._MakeRadialGradient(d[0],d[1],h,I.Ld,I.colorType,U,I.count,v,E, +z,J);k(I.Ld,n);t&&k(U,t);return d};a.Shader.MakeSweepGradient=function(d,h,n,t,v,z,E,J,I,U){U=U||null;var V=m(n),p=l(t,"HEAPF32");E=E||0;J=J||0;I=I||360;z=q(z);d=a.Shader._MakeSweepGradient(d,h,V.Ld,V.colorType,p,V.count,v,J,I,E,z,U);k(V.Ld,n);t&&k(p,t);return d};a.Shader.MakeTwoPointConicalGradient=function(d,h,n,t,v,z,E,J,I,U){U=U||null;var V=m(v),p=l(z,"HEAPF32");I=I||0;J=q(J);var A=na.toTypedArray();A.set(d);A.set(n,2);d=a.Shader._MakeTwoPointConicalGradient(X,h,t,V.Ld,V.colorType,p,V.count,E, +I,J,U);k(V.Ld,v);z&&k(p,z);return d};a.Vertices.prototype.bounds=function(d){this._bounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Gd&&a.Gd.forEach(function(d){d()})};a.computeTonalColors=function(g){var d=l(g.ambient,"HEAPF32"),h=l(g.spot,"HEAPF32");this._computeTonalColors(d,h);var n={ambient:D(d),spot:D(h)};k(d,g.ambient);k(h,g.spot);return n};a.LTRBRect=function(g,d,h,n){return Float32Array.of(g,d,h,n)};a.XYWHRect=function(g,d,h,n){return Float32Array.of(g,d,g+h,d+n)};a.LTRBiRect= +function(g,d,h,n){return Int32Array.of(g,d,h,n)};a.XYWHiRect=function(g,d,h,n){return Int32Array.of(g,d,g+h,d+n)};a.RRectXY=function(g,d,h){return Float32Array.of(g[0],g[1],g[2],g[3],d,h,d,h,d,h,d,h)};a.MakeAnimatedImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeAnimatedImage(d,g.byteLength))?g:null};a.MakeImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeImage(d,g.byteLength))? +g:null};var Ta=null;a.MakeImageFromCanvasImageSource=function(g){var d=g.width,h=g.height;Ta||(Ta=document.createElement("canvas"));Ta.width=d;Ta.height=h;var n=Ta.getContext("2d",{willReadFrequently:!0});n.drawImage(g,0,0);g=n.getImageData(0,0,d,h);return a.MakeImage({width:d,height:h,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},g.data,4*d)};a.MakeImage=function(g,d,h){var n=a._malloc(d.length);a.HEAPU8.set(d,n);return a._MakeImage(g,n,d.length,h)}; +a.MakeVertices=function(g,d,h,n,t,v){var z=t&&t.length||0,E=0;h&&h.length&&(E|=1);n&&n.length&&(E|=2);void 0===v||v||(E|=4);g=new a._VerticesBuilder(g,d.length/2,z,E);l(d,"HEAPF32",g.positions());g.texCoords()&&l(h,"HEAPF32",g.texCoords());g.colors()&&l(c(n),"HEAPU32",g.colors());g.indices()&&l(t,"HEAPU16",g.indices());return g.detach()};(function(g){g.Gd=g.Gd||[];g.Gd.push(function(){function d(p){p&&(p.dir=0===p.dir?g.TextDirection.RTL:g.TextDirection.LTR);return p}function h(p){if(!p||!p.length)return[]; +for(var A=[],O=0;Od)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.Font.prototype.getGlyphIntercepts=function(g,d,h,n){var t=l(g,"HEAPU16"),v=l(d,"HEAPF32");return this._getGlyphIntercepts(t, +g.length,!(g&&g._ck),v,d.length,!(d&&d._ck),h,n)};a.Font.prototype.getGlyphWidths=function(g,d,h){var n=l(g,"HEAPU16"),t=a._malloc(4*g.length);this._getGlyphWidthBounds(n,g.length,t,M,d||null);d=new Float32Array(a.HEAPU8.buffer,t,g.length);k(n,g);if(h)return h.set(d),a._free(t),h;g=Float32Array.from(d);a._free(t);return g};a.FontMgr.FromData=function(){if(!arguments.length)return null;var g=arguments;1===g.length&&Array.isArray(g[0])&&(g=arguments[0]);if(!g.length)return null;for(var d=[],h=[],n= +0;nd)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.TextBlob.MakeOnPath=function(g,d,h,n){if(g&&g.length&&d&&d.countPoints()){if(1===d.countPoints())return this.MakeFromText(g,h);n||(n=0);var t=h.getGlyphIDs(g);t=h.getGlyphWidths(t);var v=[];d=new a.ContourMeasureIter(d,!1,1);for(var z=d.next(),E=new Float32Array(4),J=0;Jz.length()){z.delete();z=d.next();if(!z){g=g.substring(0,J);break}n=I/2}z.getPosTan(n,E);var U=E[2],V=E[3];v.push(U,V,E[0]-I/2*U,E[1]-I/2*V);n+=I/2}g=this.MakeFromRSXform(g,v,h);z&&z.delete();d.delete();return g}};a.TextBlob.MakeFromRSXform=function(g,d,h){var n=ja(g)+1,t=a._malloc(n);ka(g,C,t,n);g=l(d,"HEAPF32");h=a.TextBlob._MakeFromRSXform(t,n-1,g,h);a._free(t);return h?h:null};a.TextBlob.MakeFromRSXformGlyphs=function(g,d,h){var n=l(g,"HEAPU16");d=l(d,"HEAPF32"); +h=a.TextBlob._MakeFromRSXformGlyphs(n,2*g.length,d,h);k(n,g);return h?h:null};a.TextBlob.MakeFromGlyphs=function(g,d){var h=l(g,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(h,2*g.length,d);k(h,g);return d?d:null};a.TextBlob.MakeFromText=function(g,d){var h=ja(g)+1,n=a._malloc(h);ka(g,C,n,h);g=a.TextBlob._MakeFromText(n,h-1,d);a._free(n);return g?g:null};a.MallocGlyphIDs=function(g){return a.Malloc(Uint16Array,g)}});a.Gd=a.Gd||[];a.Gd.push(function(){a.MakePicture=function(g){g=new Uint8Array(g);var d= +a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._MakePicture(d,g.byteLength))?g:null}});a.Gd=a.Gd||[];a.Gd.push(function(){a.RuntimeEffect.Make=function(g,d){return a.RuntimeEffect._Make(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.MakeForBlender=function(g,d){return a.RuntimeEffect._MakeForBlender(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.prototype.makeShader=function(g,d){var h=!g._ck,n=l(g,"HEAPF32");d=q(d);return this._makeShader(n, +4*g.length,h,d)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(g,d,h){var n=!g._ck,t=l(g,"HEAPF32");h=q(h);for(var v=[],z=0;z{throw b;},pa="object"==typeof window,ra="function"==typeof importScripts,sa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,ta="",ua,wa,xa; +if(sa){const {createRequire:a}=await import("module");var require=a(import.meta.url),fs=require("fs"),ya=require("path");ra?ta=ya.dirname(ta)+"/":ta=require("url").fileURLToPath(new URL("./",import.meta.url));ua=(b,c)=>{b=b.startsWith("file://")?new URL(b):ya.normalize(b);return fs.readFileSync(b,c?void 0:"utf8")};xa=b=>{b=ua(b,!0);b.buffer||(b=new Uint8Array(b));return b};wa=(b,c,e,f=!0)=>{b=b.startsWith("file://")?new URL(b):ya.normalize(b);fs.readFile(b,f?void 0: +"utf8",(k,l)=>{k?e(k):c(f?l.buffer:l)})};!r.thisProgram&&1{process.exitCode=b;throw c;};r.inspect=()=>"[Emscripten Module object]"}else if(pa||ra)ra?ta=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ta=document.currentScript.src),_scriptDir&&(ta=_scriptDir),0!==ta.indexOf("blob:")?ta=ta.substr(0,ta.replace(/[?#].*/,"").lastIndexOf("/")+1):ta="",ua=a=>{var b=new XMLHttpRequest;b.open("GET", +a,!1);b.send(null);return b.responseText},ra&&(xa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),wa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var Aa=r.print||console.log.bind(console),Ca=r.printErr||console.error.bind(console);Object.assign(r,la);la=null;r.thisProgram&&(ma=r.thisProgram); +r.quit&&(oa=r.quit);var Da;r.wasmBinary&&(Da=r.wasmBinary);var noExitRuntime=r.noExitRuntime||!0;"object"!=typeof WebAssembly&&Ea("no native wasm support detected");var Fa,G,Ga=!1,Ha,C,Ia,Ja,K,L,N,Ka;function La(){var a=Fa.buffer;r.HEAP8=Ha=new Int8Array(a);r.HEAP16=Ia=new Int16Array(a);r.HEAP32=K=new Int32Array(a);r.HEAPU8=C=new Uint8Array(a);r.HEAPU16=Ja=new Uint16Array(a);r.HEAPU32=L=new Uint32Array(a);r.HEAPF32=N=new Float32Array(a);r.HEAPF64=Ka=new Float64Array(a)}var Ma,Oa=[],Pa=[],Qa=[]; +function Ra(){var a=r.preRun.shift();Oa.unshift(a)}var Ua=0,Va=null,Wa=null;function Ea(a){if(r.onAbort)r.onAbort(a);a="Aborted("+a+")";Ca(a);Ga=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Xa(a){return a.startsWith("data:application/octet-stream;base64,")}var Ya;if(r.locateFile){if(Ya="canvaskit.wasm",!Xa(Ya)){var Za=Ya;Ya=r.locateFile?r.locateFile(Za,ta):ta+Za}}else Ya=(new URL("canvaskit.wasm",import.meta.url)).href; +function $a(a){if(a==Ya&&Da)return new Uint8Array(Da);if(xa)return xa(a);throw"both async and sync fetching of the wasm failed";}function ab(a){if(!Da&&(pa||ra)){if("function"==typeof fetch&&!a.startsWith("file://"))return fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>$a(a));if(wa)return new Promise((b,c)=>{wa(a,e=>b(new Uint8Array(e)),c)})}return Promise.resolve().then(()=>$a(a))} +function bb(a,b,c){return ab(a).then(e=>WebAssembly.instantiate(e,b)).then(e=>e).then(c,e=>{Ca("failed to asynchronously prepare wasm: "+e);Ea(e)})} +function cb(a,b){var c=Ya;return Da||"function"!=typeof WebAssembly.instantiateStreaming||Xa(c)||c.startsWith("file://")||sa||"function"!=typeof fetch?bb(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){Ca("wasm streaming compile failed: "+f);Ca("falling back to ArrayBuffer instantiation");return bb(c,a,b)}))}function db(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}var eb=a=>{for(;0>2]=b};this.qe=function(b){L[this.Ed+8>>2]=b};this.Td=function(b,c){this.pe();this.Ie(b);this.qe(c)};this.pe=function(){L[this.Ed+16>>2]=0}} +var gb=0,ib=0,jb="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,kb=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}, +lb={};function mb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function nb(a){return this.fromWireType(K[a>>2])}var ob={},pb={},qb={},rb=void 0;function sb(a){throw new rb(a);} +function tb(a,b,c){function e(m){m=c(m);m.length!==a.length&&sb("Mismatched type converter count");for(var q=0;q{pb.hasOwnProperty(m)?f[q]=pb[m]:(k.push(m),ob.hasOwnProperty(m)||(ob[m]=[]),ob[m].push(()=>{f[q]=pb[m];++l;l===k.length&&e(f)}))});0===k.length&&e(f)} +function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${a}`);}}var wb=void 0;function P(a){for(var b="";C[a];)b+=wb[C[a++]];return b}var xb=void 0;function Q(a){throw new xb(a);} +function yb(a,b,c={}){var e=b.name;a||Q(`type "${e}" must have a positive integer typeid pointer`);if(pb.hasOwnProperty(a)){if(c.$e)return;Q(`Cannot register type '${e}' twice`)}pb[a]=b;delete qb[a];ob.hasOwnProperty(a)&&(b=ob[a],delete ob[a],b.forEach(f=>f()))}function ub(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");yb(a,b,c)}function zb(a){Q(a.jd.Hd.Fd.name+" instance already deleted")}var Ab=!1;function Bb(){} +function Cb(a){--a.count.value;0===a.count.value&&(a.Jd?a.Nd.Rd(a.Jd):a.Hd.Fd.Rd(a.Ed))}function Db(a,b,c){if(b===c)return a;if(void 0===c.Kd)return null;a=Db(a,b,c.Kd);return null===a?null:c.Se(a)}var Jb={},Kb=[];function Lb(){for(;Kb.length;){var a=Kb.pop();a.jd.Zd=!1;a["delete"]()}}var Mb=void 0,Nb={};function Ob(a,b){for(void 0===b&&Q("ptr should not be undefined");a.Kd;)b=a.ee(b),a=a.Kd;return Nb[b]} +function Pb(a,b){b.Hd&&b.Ed||sb("makeClassHandle requires ptr and ptrType");!!b.Nd!==!!b.Jd&&sb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Qb(Object.create(a,{jd:{value:b}}))}function Qb(a){if("undefined"===typeof FinalizationRegistry)return Qb=b=>b,a;Ab=new FinalizationRegistry(b=>{Cb(b.jd)});Qb=b=>{var c=b.jd;c.Jd&&Ab.register(b,{jd:c},b);return b};Bb=b=>{Ab.unregister(b)};return Qb(a)}function Rb(){} +function Sb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a}function Tb(a,b){a=Sb(a);return{[a]:function(){return b.apply(this,arguments)}}[a]} +function Ub(a,b,c){if(void 0===a[b].Id){var e=a[b];a[b]=function(){a[b].Id.hasOwnProperty(arguments.length)||Q(`Function '${c}' called with an invalid number of arguments (${arguments.length}) - expects one of (${a[b].Id})!`);return a[b].Id[arguments.length].apply(this,arguments)};a[b].Id=[];a[b].Id[e.Xd]=e}} +function Vb(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Id&&void 0!==r[a].Id[c])&&Q(`Cannot register public name '${a}' twice`),Ub(r,a,a),r.hasOwnProperty(c)&&Q(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`),r[a].Id[c]=b):(r[a]=b,void 0!==c&&(r[a].rf=c))}function Wb(a,b,c,e,f,k,l,m){this.name=a;this.constructor=b;this.$d=c;this.Rd=e;this.Kd=f;this.Ve=k;this.ee=l;this.Se=m;this.df=[]} +function Xb(a,b,c){for(;b!==c;)b.ee||Q(`Expected null or instance of ${c.name}, got an instance of ${b.name}`),a=b.ee(a),b=b.Kd;return a}function Yb(a,b){if(null===b)return this.ue&&Q(`null is not a valid ${this.name}`),0;b.jd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.jd.Ed||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);return Xb(b.jd.Ed,b.jd.Hd.Fd,this.Fd)} +function $b(a,b){if(null===b){this.ue&&Q(`null is not a valid ${this.name}`);if(this.je){var c=this.ve();null!==a&&a.push(this.Rd,c);return c}return 0}b.jd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.jd.Ed||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);!this.ie&&b.jd.Hd.ie&&Q(`Cannot convert argument of type ${b.jd.Nd?b.jd.Nd.name:b.jd.Hd.name} to parameter type ${this.name}`);c=Xb(b.jd.Ed,b.jd.Hd.Fd,this.Fd);if(this.je)switch(void 0===b.jd.Jd&&Q("Passing raw pointer to smart pointer is illegal"), +this.jf){case 0:b.jd.Nd===this?c=b.jd.Jd:Q(`Cannot convert argument of type ${b.jd.Nd?b.jd.Nd.name:b.jd.Hd.name} to parameter type ${this.name}`);break;case 1:c=b.jd.Jd;break;case 2:if(b.jd.Nd===this)c=b.jd.Jd;else{var e=b.clone();c=this.ef(c,ac(function(){e["delete"]()}));null!==a&&a.push(this.Rd,c)}break;default:Q("Unsupporting sharing policy")}return c} +function bc(a,b){if(null===b)return this.ue&&Q(`null is not a valid ${this.name}`),0;b.jd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.jd.Ed||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);b.jd.Hd.ie&&Q(`Cannot convert argument of type ${b.jd.Hd.name} to parameter type ${this.name}`);return Xb(b.jd.Ed,b.jd.Hd.Fd,this.Fd)} +function cc(a,b,c,e,f,k,l,m,q,w,y){this.name=a;this.Fd=b;this.ue=c;this.ie=e;this.je=f;this.cf=k;this.jf=l;this.Ee=m;this.ve=q;this.ef=w;this.Rd=y;f||void 0!==b.Kd?this.toWireType=$b:(this.toWireType=e?Yb:bc,this.Md=null)}function dc(a,b,c){r.hasOwnProperty(a)||sb("Replacing nonexistant public symbol");void 0!==r[a].Id&&void 0!==c?r[a].Id[c]=b:(r[a]=b,r[a].Xd=c)} +var ec=(a,b)=>{var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var e=r["dynCall_"+a];e=c&&c.length?e.apply(null,[b].concat(c)):e.call(null,b)}else e=Ma.get(b).apply(null,c);return e}};function mc(a,b){a=P(a);var c=a.includes("j")?ec(a,b):Ma.get(b);"function"!=typeof c&&Q(`unknown function pointer with signature ${a}: ${b}`);return c}var nc=void 0;function oc(a){a=pc(a);var b=P(a);qc(a);return b} +function rc(a,b){function c(k){f[k]||pb[k]||(qb[k]?qb[k].forEach(c):(e.push(k),f[k]=!0))}var e=[],f={};b.forEach(c);throw new nc(`${a}: `+e.map(oc).join([", "]));} +function sc(a,b,c,e,f){var k=b.length;2>k&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==b[1]&&null!==c,m=!1;for(c=1;c>2]);return c}function uc(){this.Qd=[void 0];this.Ce=[]}var vc=new uc;function wc(a){a>=vc.Td&&0===--vc.get(a).Fe&&vc.qe(a)} +var xc=a=>{a||Q("Cannot use deleted val. handle = "+a);return vc.get(a).value},ac=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:return vc.pe({Fe:1,value:a})}};function yc(a,b,c){switch(b){case 0:return function(e){return this.fromWireType((c?Ha:C)[e])};case 1:return function(e){return this.fromWireType((c?Ia:Ja)[e>>1])};case 2:return function(e){return this.fromWireType((c?K:L)[e>>2])};default:throw new TypeError("Unknown integer type: "+a);}} +function zc(a,b){var c=pb[a];void 0===c&&Q(b+" has unknown type "+oc(a));return c}function Zb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Ac(a,b){switch(b){case 2:return function(c){return this.fromWireType(N[c>>2])};case 3:return function(c){return this.fromWireType(Ka[c>>3])};default:throw new TypeError("Unknown float type: "+a);}} +function Bc(a,b,c){switch(b){case 0:return c?function(e){return Ha[e]}:function(e){return C[e]};case 1:return c?function(e){return Ia[e>>1]}:function(e){return Ja[e>>1]};case 2:return c?function(e){return K[e>>2]}:function(e){return L[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}} +var ka=(a,b,c,e)=>{if(!(0=l){var m=a.charCodeAt(++k);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(c>=e)break;b[c++]=l}else{if(2047>=l){if(c+1>=e)break;b[c++]=192|l>>6}else{if(65535>=l){if(c+2>=e)break;b[c++]=224|l>>12}else{if(c+3>=e)break;b[c++]=240|l>>18;b[c++]=128|l>>12&63}b[c++]=128|l>>6&63}b[c++]=128|l&63}}b[c]=0;return c-f},ja=a=>{for(var b=0,c=0;c=e?b++:2047>= +e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b},Cc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Dc=(a,b)=>{var c=a>>1;for(var e=c+b/2;!(c>=e)&&Ja[c];)++c;c<<=1;if(32=b/2);++e){var f=Ia[a+2*e>>1];if(0==f)break;c+=String.fromCharCode(f)}return c},Ec=(a,b,c)=>{void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f>1]=a.charCodeAt(f),b+=2;Ia[b>>1]=0;return b-e}, +Fc=a=>2*a.length,Gc=(a,b)=>{for(var c=0,e="";!(c>=b/4);){var f=K[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e},Hc=(a,b,c)=>{void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f=k){var l=a.charCodeAt(++f);k=65536+((k&1023)<<10)|l&1023}K[b>>2]=k;b+=4;if(b+4>c)break}K[b>>2]=0;return b-e},Ic=a=>{for(var b=0,c=0;c=e&&++c;b+=4}return b},Jc={};function Kc(a){var b=Jc[a];return void 0===b?P(a):b}var Lc=[]; +function Mc(){function a(b){b.$$$embind_global$$$=b;var c="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object."); +}function Nc(a){var b=Lc.length;Lc.push(a);return b}function Oc(a,b){for(var c=Array(a),e=0;e>2],"parameter "+e);return c}var Pc=[];function Qc(a){var b=Array(a+1);return function(c,e,f){b[0]=c;for(var k=0;k>2],"parameter "+k);b[k+1]=l.readValueFromPointer(f);f+=l.argPackAdvance}c=new (c.bind.apply(c,b));return ac(c)}}var Rc={}; +function Sc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,k){b.drawArraysInstancedANGLE(c,e,f,k)},a.drawElementsInstanced=function(c,e,f,k,l){b.drawElementsInstancedANGLE(c,e,f,k,l)})} +function Tc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Uc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})} +var Vc=1,Wc=[],Xc=[],Yc=[],Zc=[],ea=[],$c=[],ad=[],ia=[],bd=[],cd=[],dd={},ed={},gd=4;function R(a){hd||(hd=a)}function da(a){for(var b=Vc++,c=a.length;ca.version||!b.Ae)b.Ae=b.getExtension("EXT_disjoint_timer_query");b.qf=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}} +var x,hd,ld={},nd=()=>{if(!md){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ma||"./this.program"},b;for(b in ld)void 0===ld[b]?delete a[b]:a[b]=ld[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);md=c}return md},md,od=[null,[],[]];function pd(a){S.bindVertexArray(ad[a])} +function qd(a,b){for(var c=0;c>2];S.deleteVertexArray(ad[e]);ad[e]=null}}var rd=[];function sd(a,b,c,e){S.drawElements(a,b,c,e)}function td(a,b,c,e){for(var f=0;f>2]=l}}function ud(a,b){td(a,b,"createVertexArray",ad)} +function vd(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&R(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=S.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>x.version){R(1282);return}e=2*(S.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>x.version){R(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=S.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":R(1280);return;case "object":if(null=== +f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:R(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a>2]=f[a];break;case 2:N[b+4*a>>2]=f[a];break;case 4:Ha[b+a>>0]=f[a]?1:0}return}try{e=f.name|0}catch(k){R(1280); +Ca("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+k+")");return}}break;default:R(1280);Ca("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;L[b>>2]=c;L[b+4>>2]=(c-L[b>>2])/4294967296;break;case 0:K[b>>2]=e;break;case 2:N[b>>2]=e;break;case 4:Ha[b>>0]=e?1:0}}else R(1281)}var xd=a=>{var b=ja(a)+1,c=wd(b);c&&ka(a,C,c,b);return c}; +function yd(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function zd(a){a-=5120;return 0==a?Ha:1==a?C:2==a?Ia:4==a?K:6==a?N:5==a||28922==a||28520==a||30779==a||30782==a?L:Ja}function Ad(a,b,c,e,f){a=zd(a);var k=31-Math.clz32(a.BYTES_PER_ELEMENT),l=gd;return a.subarray(f>>k,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<>k)} +function W(a){var b=S.Qe;if(b){var c=b.de[a];"number"==typeof c&&(b.de[a]=c=S.getUniformLocation(b,b.Ge[a]+(00===a%4&&(0!==a%100||0===a%400),Ed=[31,29,31,30,31,30,31,31,30,31,30,31],Fd=[31,28,31,30,31,30,31,31,30,31,30,31];function Gd(a){var b=Array(ja(a)+1);ka(a,b,0,b.length);return b} +var Hd=(a,b,c,e)=>{function f(u,F,H){for(u="number"==typeof u?u.toString():u||"";u.lengthca?-1:0T-u.getDate())F-=T-u.getDate()+1,u.setDate(1),11>H?u.setMonth(H+1):(u.setMonth(0),u.setFullYear(u.getFullYear()+1));else{u.setDate(u.getDate()+F);break}}H=new Date(u.getFullYear()+1,0,4);F=m(new Date(u.getFullYear(), +0,4));H=m(H);return 0>=l(F,u)?0>=l(H,u)?u.getFullYear()+1:u.getFullYear():u.getFullYear()-1}var w=K[e+40>>2];e={mf:K[e>>2],lf:K[e+4>>2],ne:K[e+8>>2],we:K[e+12>>2],oe:K[e+16>>2],Vd:K[e+20>>2],Pd:K[e+24>>2],Ud:K[e+28>>2],tf:K[e+32>>2],kf:K[e+36>>2],nf:w?w?kb(C,w):"":""};c=c?kb(C,c):"";w={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y", +"%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in w)c=c.replace(new RegExp(y,"g"),w[y]);var B="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),D="January February March April May June July August September October November December".split(" ");w={"%a":u=>B[u.Pd].substring(0,3),"%A":u=>B[u.Pd],"%b":u=>D[u.oe].substring(0,3),"%B":u=>D[u.oe],"%C":u=>k((u.Vd+1900)/ +100|0,2),"%d":u=>k(u.we,2),"%e":u=>f(u.we,2," "),"%g":u=>q(u).toString().substring(2),"%G":u=>q(u),"%H":u=>k(u.ne,2),"%I":u=>{u=u.ne;0==u?u=12:12{for(var F=0,H=0;H<=u.oe-1;F+=(Dd(u.Vd+1900)?Ed:Fd)[H++]);return k(u.we+F,3)},"%m":u=>k(u.oe+1,2),"%M":u=>k(u.lf,2),"%n":()=>"\n","%p":u=>0<=u.ne&&12>u.ne?"AM":"PM","%S":u=>k(u.mf,2),"%t":()=>"\t","%u":u=>u.Pd||7,"%U":u=>k(Math.floor((u.Ud+7-u.Pd)/7),2),"%V":u=>{var F=Math.floor((u.Ud+7-(u.Pd+6)%7)/7);2>=(u.Pd+371-u.Ud- +2)%7&&F++;if(F)53==F&&(H=(u.Pd+371-u.Ud)%7,4==H||3==H&&Dd(u.Vd)||(F=1));else{F=52;var H=(u.Pd+7-u.Ud-1)%7;(4==H||5==H&&Dd(u.Vd%400-1))&&F++}return k(F,2)},"%w":u=>u.Pd,"%W":u=>k(Math.floor((u.Ud+7-(u.Pd+6)%7)/7),2),"%y":u=>(u.Vd+1900).toString().substring(2),"%Y":u=>u.Vd+1900,"%z":u=>{u=u.kf;var F=0<=u;u=Math.abs(u)/60;return(F?"+":"-")+String("0000"+(u/60*100+u%60)).slice(-4)},"%Z":u=>u.nf,"%%":()=>"%"};c=c.replace(/%%/g,"\x00\x00");for(y in w)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),w[y](e))); +c=c.replace(/\0\0/g,"%");y=Gd(c);if(y.length>b)return 0;Ha.set(y,a);return y.length-1};rb=r.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}};for(var Id=Array(256),Jd=0;256>Jd;++Jd)Id[Jd]=String.fromCharCode(Jd);wb=Id;xb=r.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}}; +Rb.prototype.isAliasOf=function(a){if(!(this instanceof Rb&&a instanceof Rb))return!1;var b=this.jd.Hd.Fd,c=this.jd.Ed,e=a.jd.Hd.Fd;for(a=a.jd.Ed;b.Kd;)c=b.ee(c),b=b.Kd;for(;e.Kd;)a=e.ee(a),e=e.Kd;return b===e&&c===a}; +Rb.prototype.clone=function(){this.jd.Ed||zb(this);if(this.jd.ce)return this.jd.count.value+=1,this;var a=Qb,b=Object,c=b.create,e=Object.getPrototypeOf(this),f=this.jd;a=a(c.call(b,e,{jd:{value:{count:f.count,Zd:f.Zd,ce:f.ce,Ed:f.Ed,Hd:f.Hd,Jd:f.Jd,Nd:f.Nd}}}));a.jd.count.value+=1;a.jd.Zd=!1;return a};Rb.prototype["delete"]=function(){this.jd.Ed||zb(this);this.jd.Zd&&!this.jd.ce&&Q("Object already scheduled for deletion");Bb(this);Cb(this.jd);this.jd.ce||(this.jd.Jd=void 0,this.jd.Ed=void 0)}; +Rb.prototype.isDeleted=function(){return!this.jd.Ed};Rb.prototype.deleteLater=function(){this.jd.Ed||zb(this);this.jd.Zd&&!this.jd.ce&&Q("Object already scheduled for deletion");Kb.push(this);1===Kb.length&&Mb&&Mb(Lb);this.jd.Zd=!0;return this};r.getInheritedInstanceCount=function(){return Object.keys(Nb).length};r.getLiveInheritedInstances=function(){var a=[],b;for(b in Nb)Nb.hasOwnProperty(b)&&a.push(Nb[b]);return a};r.flushPendingDeletes=Lb;r.setDelayFunction=function(a){Mb=a;Kb.length&&Mb&&Mb(Lb)}; +cc.prototype.We=function(a){this.Ee&&(a=this.Ee(a));return a};cc.prototype.ye=function(a){this.Rd&&this.Rd(a)};cc.prototype.argPackAdvance=8;cc.prototype.readValueFromPointer=nb;cc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()}; +cc.prototype.fromWireType=function(a){function b(){return this.je?Pb(this.Fd.$d,{Hd:this.cf,Ed:c,Nd:this,Jd:a}):Pb(this.Fd.$d,{Hd:this,Ed:a})}var c=this.We(a);if(!c)return this.ye(a),null;var e=Ob(this.Fd,c);if(void 0!==e){if(0===e.jd.count.value)return e.jd.Ed=c,e.jd.Jd=a,e.clone();e=e.clone();this.ye(a);return e}e=this.Fd.Ve(c);e=Jb[e];if(!e)return b.call(this);e=this.ie?e.Pe:e.pointerType;var f=Db(c,this.Fd,e.Fd);return null===f?b.call(this):this.je?Pb(e.Fd.$d,{Hd:e,Ed:f,Nd:this,Jd:a}):Pb(e.Fd.$d, +{Hd:e,Ed:f})};nc=r.UnboundTypeError=function(a,b){var c=Tb(b,function(e){this.name=b;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c}(Error,"UnboundTypeError"); +Object.assign(uc.prototype,{get(a){return this.Qd[a]},has(a){return void 0!==this.Qd[a]},pe(a){var b=this.Ce.pop()||this.Qd.length;this.Qd[b]=a;return b},qe(a){this.Qd[a]=void 0;this.Ce.push(a)}});vc.Qd.push({value:void 0},{value:null},{value:!0},{value:!1});vc.Td=vc.Qd.length;r.count_emval_handles=function(){for(var a=0,b=vc.Td;bKd;++Kd)rd.push(Array(Kd));var Ld=new Float32Array(288); +for(Kd=0;288>Kd;++Kd)Bd[Kd]=Ld.subarray(0,Kd+1);var Md=new Int32Array(288);for(Kd=0;288>Kd;++Kd)Cd[Kd]=Md.subarray(0,Kd+1); +var $d={H:function(a,b,c){(new fb(a)).Td(b,c);gb=a;ib++;throw gb;},_:function(){return 0},_c:()=>{},Zc:function(){return 0},Yc:()=>{},Xc:function(){},Wc:()=>{},D:function(a){var b=lb[a];delete lb[a];var c=b.ve,e=b.Rd,f=b.Be,k=f.map(l=>l.Ze).concat(f.map(l=>l.gf));tb([a],k,l=>{var m={};f.forEach((q,w)=>{var y=l[w],B=q.Xe,D=q.Ye,u=l[w+f.length],F=q.ff,H=q.hf;m[q.Ue]={read:T=>y.fromWireType(B(D,T)),write:(T,ca)=>{var Y=[];F(H,T,u.toWireType(Y,ca));mb(Y)}}});return[{name:b.name,fromWireType:function(q){var w= +{},y;for(y in m)w[y]=m[y].read(q);e(q);return w},toWireType:function(q,w){for(var y in m)if(!(y in w))throw new TypeError(`Missing field: "${y}"`);var B=c();for(y in m)m[y].write(B,w[y]);null!==q&&q.push(e,B);return B},argPackAdvance:8,readValueFromPointer:nb,Md:e}]})},ea:function(){},Sc:function(a,b,c,e,f){var k=vb(c);b=P(b);ub(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,m){return m?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var m=Ha;else if(2===c)m=Ia; +else if(4===c)m=K;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(m[l>>k])},Md:null})},l:function(a,b,c,e,f,k,l,m,q,w,y,B,D){y=P(y);k=mc(f,k);m&&(m=mc(l,m));w&&(w=mc(q,w));D=mc(B,D);var u=Sb(y);Vb(u,function(){rc(`Cannot construct ${y} due to unbound types`,[e])});tb([a,b,c],e?[e]:[],function(F){F=F[0];if(e){var H=F.Fd;var T=H.$d}else T=Rb.prototype;F=Tb(u,function(){if(Object.getPrototypeOf(this)!==ca)throw new xb("Use 'new' to construct "+y);if(void 0===Y.Sd)throw new xb(y+ +" has no accessible constructor");var Na=Y.Sd[arguments.length];if(void 0===Na)throw new xb(`Tried to invoke ctor of ${y} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(Y.Sd).toString()}) parameters instead!`);return Na.apply(this,arguments)});var ca=Object.create(T,{constructor:{value:F}});F.prototype=ca;var Y=new Wb(y,F,ca,D,H,k,m,w);Y.Kd&&(void 0===Y.Kd.fe&&(Y.Kd.fe=[]),Y.Kd.fe.push(Y));H=new cc(y,Y,!0,!1,!1);T=new cc(y+"*",Y,!1,!1,!1);var va=new cc(y+" const*", +Y,!1,!0,!1);Jb[a]={pointerType:T,Pe:va};dc(u,F);return[H,T,va]})},e:function(a,b,c,e,f,k,l){var m=tc(c,e);b=P(b);k=mc(f,k);tb([],[a],function(q){function w(){rc(`Cannot call ${y} due to unbound types`,m)}q=q[0];var y=`${q.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var B=q.Fd.constructor;void 0===B[b]?(w.Xd=c-1,B[b]=w):(Ub(B,b,y),B[b].Id[c-1]=w);tb([],m,function(D){D=[D[0],null].concat(D.slice(1));D=sc(y,D,null,k,l);void 0===B[b].Id?(D.Xd=c-1,B[b]=D):B[b].Id[c-1]=D;if(q.Fd.fe)for(const u of q.Fd.fe)u.constructor.hasOwnProperty(b)|| +(u.constructor[b]=D);return[]});return[]})},B:function(a,b,c,e,f,k){var l=tc(b,c);f=mc(e,f);tb([],[a],function(m){m=m[0];var q=`constructor ${m.name}`;void 0===m.Fd.Sd&&(m.Fd.Sd=[]);if(void 0!==m.Fd.Sd[b-1])throw new xb(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${m.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);m.Fd.Sd[b-1]=()=>{rc(`Cannot construct ${m.name} due to unbound types`,l)}; +tb([],l,function(w){w.splice(1,0,null);m.Fd.Sd[b-1]=sc(q,w,null,f,k);return[]});return[]})},a:function(a,b,c,e,f,k,l,m){var q=tc(c,e);b=P(b);k=mc(f,k);tb([],[a],function(w){function y(){rc(`Cannot call ${B} due to unbound types`,q)}w=w[0];var B=`${w.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);m&&w.Fd.df.push(b);var D=w.Fd.$d,u=D[b];void 0===u||void 0===u.Id&&u.className!==w.name&&u.Xd===c-2?(y.Xd=c-2,y.className=w.name,D[b]=y):(Ub(D,b,B),D[b].Id[c-2]=y);tb([],q,function(F){F=sc(B,F, +w,k,l);void 0===D[b].Id?(F.Xd=c-2,D[b]=F):D[b].Id[c-2]=F;return[]});return[]})},s:function(a,b,c){a=P(a);tb([],[b],function(e){e=e[0];r[a]=e.fromWireType(c);return[]})},Rc:function(a,b){b=P(b);ub(a,{name:b,fromWireType:function(c){var e=xc(c);wc(c);return e},toWireType:function(c,e){return ac(e)},argPackAdvance:8,readValueFromPointer:nb,Md:null})},i:function(a,b,c,e){function f(){}c=vb(c);b=P(b);f.values={};ub(a,{name:b,constructor:f,fromWireType:function(k){return this.constructor.values[k]},toWireType:function(k, +l){return l.value},argPackAdvance:8,readValueFromPointer:yc(b,c,e),Md:null});Vb(b,f)},b:function(a,b,c){var e=zc(a,"enum");b=P(b);a=e.constructor;e=Object.create(e.constructor.prototype,{value:{value:c},constructor:{value:Tb(`${e.name}_${b}`,function(){})}});a.values[c]=e;a[b]=e},X:function(a,b,c){c=vb(c);b=P(b);ub(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){return f},argPackAdvance:8,readValueFromPointer:Ac(b,c),Md:null})},v:function(a,b,c,e,f,k){var l=tc(b,c);a=P(a);f= +mc(e,f);Vb(a,function(){rc(`Cannot call ${a} due to unbound types`,l)},b-1);tb([],l,function(m){m=[m[0],null].concat(m.slice(1));dc(a,sc(a,m,null,f,k),b-1);return[]})},E:function(a,b,c,e,f){b=P(b);-1===f&&(f=4294967295);f=vb(c);var k=m=>m;if(0===e){var l=32-8*c;k=m=>m<>>l}c=b.includes("unsigned")?function(m,q){return q>>>0}:function(m,q){return q};ub(a,{name:b,fromWireType:k,toWireType:c,argPackAdvance:8,readValueFromPointer:Bc(b,f,0!==e),Md:null})},r:function(a,b,c){function e(k){k>>=2;var l= +L;return new f(l.buffer,l[k+1],l[k])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);ub(a,{name:c,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{$e:!0})},o:function(a,b,c,e,f,k,l,m,q,w,y,B){c=P(c);k=mc(f,k);m=mc(l,m);w=mc(q,w);B=mc(y,B);tb([a],[b],function(D){D=D[0];return[new cc(c,D.Fd,!1,!1,!0,D,e,k,m,w,B)]})},W:function(a,b){b=P(b);var c="std::string"===b;ub(a,{name:b,fromWireType:function(e){var f=L[e>>2],k=e+4;if(c)for(var l= +k,m=0;m<=f;++m){var q=k+m;if(m==f||0==C[q]){l=l?kb(C,l,q-l):"";if(void 0===w)var w=l;else w+=String.fromCharCode(0),w+=l;l=q+1}}else{w=Array(f);for(m=0;m>2]= +l;if(c&&k)ka(f,C,q,l+1);else if(k)for(k=0;kJa;var m=1}else 4===b&&(e=Gc,f=Hc,k=Ic,l=()=>L,m=2);ub(a,{name:c,fromWireType:function(q){for(var w=L[q>>2],y=l(),B,D=q+4,u=0;u<=w;++u){var F= +q+4+u*b;if(u==w||0==y[F>>m])D=e(D,F-D),void 0===B?B=D:(B+=String.fromCharCode(0),B+=D),D=F+b}qc(q);return B},toWireType:function(q,w){"string"!=typeof w&&Q(`Cannot pass non-string to C++ string type ${c}`);var y=k(w),B=wd(4+y+b);L[B>>2]=y>>m;f(w,B+4,y+b);null!==q&&q.push(qc,B);return B},argPackAdvance:8,readValueFromPointer:nb,Md:function(q){qc(q)}})},C:function(a,b,c,e,f,k){lb[a]={name:P(b),ve:mc(c,e),Rd:mc(f,k),Be:[]}},d:function(a,b,c,e,f,k,l,m,q,w){lb[a].Be.push({Ue:P(b),Ze:c,Xe:mc(e,f),Ye:k, +gf:l,ff:mc(m,q),hf:w})},Qc:function(a,b){b=P(b);ub(a,{bf:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},Pc:()=>!0,Oc:()=>{throw Infinity;},G:function(a,b,c){a=xc(a);b=zc(b,"emval::as");var e=[],f=ac(e);L[c>>2]=f;return b.toWireType(e,a)},N:function(a,b,c,e,f){a=Lc[a];b=xc(b);c=Kc(c);var k=[];L[e>>2]=ac(k);return a(b,c,k,f)},t:function(a,b,c,e){a=Lc[a];b=xc(b);c=Kc(c);a(b,c,null,e)},c:wc,M:function(a){if(0===a)return ac(Mc());a=Kc(a);return ac(Mc()[a])},p:function(a, +b){var c=Oc(a,b),e=c[0];b=e.name+"_$"+c.slice(1).map(function(l){return l.name}).join("_")+"$";var f=Pc[b];if(void 0!==f)return f;var k=Array(a-1);f=Nc((l,m,q,w)=>{for(var y=0,B=0;B{Ea("")},Mc:()=>performance.now(),Lc:a=>{var b=C.length;a>>>=0;if(2147483648=c;c*=2){var e=b*(1+.2/c); +e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);a:{f=f.min.call(f,2147483648,e+(65536-e%65536)%65536)-Fa.buffer.byteLength+65535>>>16;try{Fa.grow(f);La();var k=1;break a}catch(l){}k=void 0}if(k)return!0}return!1},Kc:function(){return x?x.handle:0},Vc:(a,b)=>{var c=0;nd().forEach(function(e,f){var k=b+c;f=L[a+4*f>>2]=k;for(k=0;k>0]=e.charCodeAt(k);Ha[f>>0]=0;c+=e.length+1});return 0},Uc:(a,b)=>{var c=nd();L[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});L[b>> +2]=e;return 0},Jc:a=>{if(!noExitRuntime){if(r.onExit)r.onExit(a);Ga=!0}oa(a,new db(a))},Z:()=>52,ga:function(){return 52},Tc:()=>52,fa:function(){return 70},Y:(a,b,c,e)=>{for(var f=0,k=0;k>2],m=L[b+4>>2];b+=8;for(var q=0;q>2]=f;return 0},Ic:function(a){S.activeTexture(a)},Hc:function(a,b){S.attachShader(Xc[a],$c[b])},Gc:function(a,b,c){S.bindAttribLocation(Xc[a],b,c?kb(C,c):"")},Fc:function(a, +b){35051==a?S.se=b:35052==a&&(S.Yd=b);S.bindBuffer(a,Wc[b])},V:function(a,b){S.bindFramebuffer(a,Yc[b])},Ec:function(a,b){S.bindRenderbuffer(a,Zc[b])},Dc:function(a,b){S.bindSampler(a,bd[b])},Cc:function(a,b){S.bindTexture(a,ea[b])},Bc:pd,Ac:pd,zc:function(a,b,c,e){S.blendColor(a,b,c,e)},yc:function(a){S.blendEquation(a)},xc:function(a,b){S.blendFunc(a,b)},wc:function(a,b,c,e,f,k,l,m,q,w){S.blitFramebuffer(a,b,c,e,f,k,l,m,q,w)},vc:function(a,b,c,e){2<=x.version?c&&b?S.bufferData(a,C,e,c,b):S.bufferData(a, +b,e):S.bufferData(a,c?C.subarray(c,c+b):b,e)},uc:function(a,b,c,e){2<=x.version?c&&S.bufferSubData(a,b,C,e,c):S.bufferSubData(a,b,C.subarray(e,e+c))},tc:function(a){return S.checkFramebufferStatus(a)},U:function(a){S.clear(a)},T:function(a,b,c,e){S.clearColor(a,b,c,e)},S:function(a){S.clearStencil(a)},ba:function(a,b,c,e){return S.clientWaitSync(cd[a],b,(c>>>0)+4294967296*e)},sc:function(a,b,c,e){S.colorMask(!!a,!!b,!!c,!!e)},rc:function(a){S.compileShader($c[a])},qc:function(a,b,c,e,f,k,l,m){2<= +x.version?S.Yd||!l?S.compressedTexImage2D(a,b,c,e,f,k,l,m):S.compressedTexImage2D(a,b,c,e,f,k,C,m,l):S.compressedTexImage2D(a,b,c,e,f,k,m?C.subarray(m,m+l):null)},pc:function(a,b,c,e,f,k,l,m,q){2<=x.version?S.Yd||!m?S.compressedTexSubImage2D(a,b,c,e,f,k,l,m,q):S.compressedTexSubImage2D(a,b,c,e,f,k,l,C,q,m):S.compressedTexSubImage2D(a,b,c,e,f,k,l,q?C.subarray(q,q+m):null)},oc:function(a,b,c,e,f){S.copyBufferSubData(a,b,c,e,f)},nc:function(a,b,c,e,f,k,l,m){S.copyTexSubImage2D(a,b,c,e,f,k,l,m)},mc:function(){var a= +da(Xc),b=S.createProgram();b.name=a;b.me=b.ke=b.le=0;b.xe=1;Xc[a]=b;return a},lc:function(a){var b=da($c);$c[b]=S.createShader(a);return b},kc:function(a){S.cullFace(a)},jc:function(a,b){for(var c=0;c>2],f=Wc[e];f&&(S.deleteBuffer(f),f.name=0,Wc[e]=null,e==S.se&&(S.se=0),e==S.Yd&&(S.Yd=0))}},ic:function(a,b){for(var c=0;c>2],f=Yc[e];f&&(S.deleteFramebuffer(f),f.name=0,Yc[e]=null)}},hc:function(a){if(a){var b=Xc[a];b?(S.deleteProgram(b),b.name=0,Xc[a]=null): +R(1281)}},gc:function(a,b){for(var c=0;c>2],f=Zc[e];f&&(S.deleteRenderbuffer(f),f.name=0,Zc[e]=null)}},fc:function(a,b){for(var c=0;c>2],f=bd[e];f&&(S.deleteSampler(f),f.name=0,bd[e]=null)}},ec:function(a){if(a){var b=$c[a];b?(S.deleteShader(b),$c[a]=null):R(1281)}},dc:function(a){if(a){var b=cd[a];b?(S.deleteSync(b),b.name=0,cd[a]=null):R(1281)}},cc:function(a,b){for(var c=0;c>2],f=ea[e];f&&(S.deleteTexture(f),f.name=0,ea[e]=null)}}, +bc:qd,ac:qd,$b:function(a){S.depthMask(!!a)},_b:function(a){S.disable(a)},Zb:function(a){S.disableVertexAttribArray(a)},Yb:function(a,b,c){S.drawArrays(a,b,c)},Xb:function(a,b,c,e){S.drawArraysInstanced(a,b,c,e)},Wb:function(a,b,c,e,f){S.ze.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},Vb:function(a,b){for(var c=rd[a],e=0;e>2];S.drawBuffers(c)},Ub:sd,Tb:function(a,b,c,e,f){S.drawElementsInstanced(a,b,c,e,f)},Sb:function(a,b,c,e,f,k,l){S.ze.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a, +b,c,e,f,k,l)},Rb:function(a,b,c,e,f,k){sd(a,e,f,k)},Qb:function(a){S.enable(a)},Pb:function(a){S.enableVertexAttribArray(a)},Ob:function(a,b){return(a=S.fenceSync(a,b))?(b=da(cd),a.name=b,cd[b]=a,b):0},Nb:function(){S.finish()},Mb:function(){S.flush()},Lb:function(a,b,c,e){S.framebufferRenderbuffer(a,b,c,Zc[e])},Kb:function(a,b,c,e,f){S.framebufferTexture2D(a,b,c,ea[e],f)},Jb:function(a){S.frontFace(a)},Ib:function(a,b){td(a,b,"createBuffer",Wc)},Hb:function(a,b){td(a,b,"createFramebuffer",Yc)},Gb:function(a, +b){td(a,b,"createRenderbuffer",Zc)},Fb:function(a,b){td(a,b,"createSampler",bd)},Eb:function(a,b){td(a,b,"createTexture",ea)},Db:ud,Cb:ud,Bb:function(a){S.generateMipmap(a)},Ab:function(a,b,c){c?K[c>>2]=S.getBufferParameter(a,b):R(1281)},zb:function(){var a=S.getError()||hd;hd=0;return a},yb:function(a,b){vd(a,b,2)},xb:function(a,b,c,e){a=S.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;K[e>>2]=a},K:function(a,b){vd(a,b,0)},wb:function(a, +b,c,e){a=S.getProgramInfoLog(Xc[a]);null===a&&(a="(unknown error)");b=0>2]=b)},vb:function(a,b,c){if(c)if(a>=Vc)R(1281);else if(a=Xc[a],35716==b)a=S.getProgramInfoLog(a),null===a&&(a="(unknown error)"),K[c>>2]=a.length+1;else if(35719==b){if(!a.me)for(b=0;b>2]=a.me}else if(35722==b){if(!a.ke)for(b=0;b>2]=a.ke}else if(35381==b){if(!a.le)for(b=0;b>2]=a.le}else K[c>>2]=S.getProgramParameter(a,b);else R(1281)},ub:function(a,b,c){c?K[c>>2]=S.getRenderbufferParameter(a,b):R(1281)},tb:function(a,b,c,e){a=S.getShaderInfoLog($c[a]);null===a&&(a="(unknown error)");b=0>2]=b)},sb:function(a,b,c,e){a=S.getShaderPrecisionFormat(a,b);K[c>>2]=a.rangeMin;K[c+4>> +2]=a.rangeMax;K[e>>2]=a.precision},rb:function(a,b,c){c?35716==b?(a=S.getShaderInfoLog($c[a]),null===a&&(a="(unknown error)"),K[c>>2]=a?a.length+1:0):35720==b?(a=S.getShaderSource($c[a]),K[c>>2]=a?a.length+1:0):K[c>>2]=S.getShaderParameter($c[a],b):R(1281)},R:function(a){var b=dd[a];if(!b){switch(a){case 7939:b=S.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=xd(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=S.getParameter(a))||R(1280);b=b&&xd(b);break; +case 7938:b=S.getParameter(7938);b=2<=x.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=xd(b);break;case 35724:b=S.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=xd(b);break;default:R(1280)}dd[a]=b}return b},qb:function(a,b){if(2>x.version)return R(1282),0;var c=ed[a];if(c)return 0>b||b>=c.length?(R(1281),0):c[b];switch(a){case 7939:return c=S.getSupportedExtensions()||[], +c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return xd(e)}),c=ed[a]=c,0>b||b>=c.length?(R(1281),0):c[b];default:return R(1280),0}},pb:function(a,b){b=b?kb(C,b):"";if(a=Xc[a]){var c=a,e=c.de,f=c.He,k;if(!e)for(c.de=e={},c.Ge={},k=0;k>>0,f=b.slice(0, +k));if((f=a.He[f])&&e>2];S.invalidateFramebuffer(a,e)},nb:function(a,b,c,e,f,k,l){for(var m=rd[b],q=0;q>2];S.invalidateSubFramebuffer(a,m,e,f,k,l)},mb:function(a){return S.isSync(cd[a])},lb:function(a){return(a=ea[a])?S.isTexture(a):0},kb:function(a){S.lineWidth(a)},jb:function(a){a=Xc[a];S.linkProgram(a);a.de=0;a.He={}},ib:function(a, +b,c,e,f,k){S.De.multiDrawArraysInstancedBaseInstanceWEBGL(a,K,b>>2,K,c>>2,K,e>>2,L,f>>2,k)},hb:function(a,b,c,e,f,k,l,m){S.De.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,K,b>>2,c,K,e>>2,K,f>>2,K,k>>2,L,l>>2,m)},gb:function(a,b){3317==a&&(gd=b);S.pixelStorei(a,b)},fb:function(a){S.readBuffer(a)},eb:function(a,b,c,e,f,k,l){if(2<=x.version)if(S.se)S.readPixels(a,b,c,e,f,k,l);else{var m=zd(k);S.readPixels(a,b,c,e,f,k,m,l>>31-Math.clz32(m.BYTES_PER_ELEMENT))}else(l=Ad(k,f,c,e,l))?S.readPixels(a, +b,c,e,f,k,l):R(1280)},db:function(a,b,c,e){S.renderbufferStorage(a,b,c,e)},cb:function(a,b,c,e,f){S.renderbufferStorageMultisample(a,b,c,e,f)},bb:function(a,b,c){S.samplerParameterf(bd[a],b,c)},ab:function(a,b,c){S.samplerParameteri(bd[a],b,c)},$a:function(a,b,c){S.samplerParameteri(bd[a],b,K[c>>2])},_a:function(a,b,c,e){S.scissor(a,b,c,e)},Za:function(a,b,c,e){for(var f="",k=0;k>2]:-1,m=K[c+4*k>>2];l=m?kb(C,m,0>l?void 0:l):"";f+=l}S.shaderSource($c[a],f)},Ya:function(a,b, +c){S.stencilFunc(a,b,c)},Xa:function(a,b,c,e){S.stencilFuncSeparate(a,b,c,e)},Wa:function(a){S.stencilMask(a)},Va:function(a,b){S.stencilMaskSeparate(a,b)},Ua:function(a,b,c){S.stencilOp(a,b,c)},Ta:function(a,b,c,e){S.stencilOpSeparate(a,b,c,e)},Sa:function(a,b,c,e,f,k,l,m,q){if(2<=x.version)if(S.Yd)S.texImage2D(a,b,c,e,f,k,l,m,q);else if(q){var w=zd(m);S.texImage2D(a,b,c,e,f,k,l,m,w,q>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texImage2D(a,b,c,e,f,k,l,m,null);else S.texImage2D(a,b,c,e,f,k,l,m,q? +Ad(m,l,e,f,q):null)},Ra:function(a,b,c){S.texParameterf(a,b,c)},Qa:function(a,b,c){S.texParameterf(a,b,N[c>>2])},Pa:function(a,b,c){S.texParameteri(a,b,c)},Oa:function(a,b,c){S.texParameteri(a,b,K[c>>2])},Na:function(a,b,c,e,f){S.texStorage2D(a,b,c,e,f)},Ma:function(a,b,c,e,f,k,l,m,q){if(2<=x.version)if(S.Yd)S.texSubImage2D(a,b,c,e,f,k,l,m,q);else if(q){var w=zd(m);S.texSubImage2D(a,b,c,e,f,k,l,m,w,q>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texSubImage2D(a,b,c,e,f,k,l,m,null);else w=null,q&&(w= +Ad(m,l,f,k,q)),S.texSubImage2D(a,b,c,e,f,k,l,m,w)},La:function(a,b){S.uniform1f(W(a),b)},Ka:function(a,b,c){if(2<=x.version)b&&S.uniform1fv(W(a),N,c>>2,b);else{if(288>=b)for(var e=Bd[b-1],f=0;f>2];else e=N.subarray(c>>2,c+4*b>>2);S.uniform1fv(W(a),e)}},Ja:function(a,b){S.uniform1i(W(a),b)},Ia:function(a,b,c){if(2<=x.version)b&&S.uniform1iv(W(a),K,c>>2,b);else{if(288>=b)for(var e=Cd[b-1],f=0;f>2];else e=K.subarray(c>>2,c+4*b>>2);S.uniform1iv(W(a),e)}},Ha:function(a, +b,c){S.uniform2f(W(a),b,c)},Ga:function(a,b,c){if(2<=x.version)b&&S.uniform2fv(W(a),N,c>>2,2*b);else{if(144>=b)for(var e=Bd[2*b-1],f=0;f<2*b;f+=2)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2];else e=N.subarray(c>>2,c+8*b>>2);S.uniform2fv(W(a),e)}},Fa:function(a,b,c){S.uniform2i(W(a),b,c)},Ea:function(a,b,c){if(2<=x.version)b&&S.uniform2iv(W(a),K,c>>2,2*b);else{if(144>=b)for(var e=Cd[2*b-1],f=0;f<2*b;f+=2)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2];else e=K.subarray(c>>2,c+8*b>>2);S.uniform2iv(W(a),e)}},Da:function(a, +b,c,e){S.uniform3f(W(a),b,c,e)},Ca:function(a,b,c){if(2<=x.version)b&&S.uniform3fv(W(a),N,c>>2,3*b);else{if(96>=b)for(var e=Bd[3*b-1],f=0;f<3*b;f+=3)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2],e[f+2]=N[c+(4*f+8)>>2];else e=N.subarray(c>>2,c+12*b>>2);S.uniform3fv(W(a),e)}},Ba:function(a,b,c,e){S.uniform3i(W(a),b,c,e)},Aa:function(a,b,c){if(2<=x.version)b&&S.uniform3iv(W(a),K,c>>2,3*b);else{if(96>=b)for(var e=Cd[3*b-1],f=0;f<3*b;f+=3)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2],e[f+2]=K[c+(4*f+8)>>2];else e= +K.subarray(c>>2,c+12*b>>2);S.uniform3iv(W(a),e)}},za:function(a,b,c,e,f){S.uniform4f(W(a),b,c,e,f)},ya:function(a,b,c){if(2<=x.version)b&&S.uniform4fv(W(a),N,c>>2,4*b);else{if(72>=b){var e=Bd[4*b-1],f=N;c>>=2;for(var k=0;k<4*b;k+=4){var l=c+k;e[k]=f[l];e[k+1]=f[l+1];e[k+2]=f[l+2];e[k+3]=f[l+3]}}else e=N.subarray(c>>2,c+16*b>>2);S.uniform4fv(W(a),e)}},xa:function(a,b,c,e,f){S.uniform4i(W(a),b,c,e,f)},wa:function(a,b,c){if(2<=x.version)b&&S.uniform4iv(W(a),K,c>>2,4*b);else{if(72>=b)for(var e=Cd[4*b- +1],f=0;f<4*b;f+=4)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2],e[f+2]=K[c+(4*f+8)>>2],e[f+3]=K[c+(4*f+12)>>2];else e=K.subarray(c>>2,c+16*b>>2);S.uniform4iv(W(a),e)}},va:function(a,b,c,e){if(2<=x.version)b&&S.uniformMatrix2fv(W(a),!!c,N,e>>2,4*b);else{if(72>=b)for(var f=Bd[4*b-1],k=0;k<4*b;k+=4)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2];else f=N.subarray(e>>2,e+16*b>>2);S.uniformMatrix2fv(W(a),!!c,f)}},ua:function(a,b,c,e){if(2<=x.version)b&&S.uniformMatrix3fv(W(a), +!!c,N,e>>2,9*b);else{if(32>=b)for(var f=Bd[9*b-1],k=0;k<9*b;k+=9)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2],f[k+4]=N[e+(4*k+16)>>2],f[k+5]=N[e+(4*k+20)>>2],f[k+6]=N[e+(4*k+24)>>2],f[k+7]=N[e+(4*k+28)>>2],f[k+8]=N[e+(4*k+32)>>2];else f=N.subarray(e>>2,e+36*b>>2);S.uniformMatrix3fv(W(a),!!c,f)}},ta:function(a,b,c,e){if(2<=x.version)b&&S.uniformMatrix4fv(W(a),!!c,N,e>>2,16*b);else{if(18>=b){var f=Bd[16*b-1],k=N;e>>=2;for(var l=0;l<16*b;l+=16){var m=e+l;f[l]= +k[m];f[l+1]=k[m+1];f[l+2]=k[m+2];f[l+3]=k[m+3];f[l+4]=k[m+4];f[l+5]=k[m+5];f[l+6]=k[m+6];f[l+7]=k[m+7];f[l+8]=k[m+8];f[l+9]=k[m+9];f[l+10]=k[m+10];f[l+11]=k[m+11];f[l+12]=k[m+12];f[l+13]=k[m+13];f[l+14]=k[m+14];f[l+15]=k[m+15]}}else f=N.subarray(e>>2,e+64*b>>2);S.uniformMatrix4fv(W(a),!!c,f)}},sa:function(a){a=Xc[a];S.useProgram(a);S.Qe=a},ra:function(a,b){S.vertexAttrib1f(a,b)},qa:function(a,b){S.vertexAttrib2f(a,N[b>>2],N[b+4>>2])},pa:function(a,b){S.vertexAttrib3f(a,N[b>>2],N[b+4>>2],N[b+8>>2])}, +oa:function(a,b){S.vertexAttrib4f(a,N[b>>2],N[b+4>>2],N[b+8>>2],N[b+12>>2])},na:function(a,b){S.vertexAttribDivisor(a,b)},ma:function(a,b,c,e,f){S.vertexAttribIPointer(a,b,c,e,f)},la:function(a,b,c,e,f,k){S.vertexAttribPointer(a,b,c,!!e,f,k)},ka:function(a,b,c,e){S.viewport(a,b,c,e)},aa:function(a,b,c,e){S.waitSync(cd[a],b,(c>>>0)+4294967296*e)},n:Nd,u:Od,j:Pd,J:Qd,Q:Rd,P:Sd,x:Td,y:Ud,q:Vd,w:Wd,ja:Xd,ia:Yd,ha:Zd,$:(a,b,c,e)=>Hd(a,b,c,e)}; +(function(){function a(c){G=c=c.exports;Fa=G.$c;La();Ma=G.cd;Pa.unshift(G.ad);Ua--;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(0==Ua&&(null!==Va&&(clearInterval(Va),Va=null),Wa)){var e=Wa;Wa=null;e()}return c}var b={a:$d};Ua++;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){Ca("Module.instantiateWasm callback failed with error: "+c),ba(c)}cb(b,function(c){a(c.instance)}).catch(ba);return{}})(); +var wd=r._malloc=a=>(wd=r._malloc=G.bd)(a),qc=r._free=a=>(qc=r._free=G.dd)(a),pc=a=>(pc=G.ed)(a);r.__embind_initialize_bindings=()=>(r.__embind_initialize_bindings=G.fd)();var ae=(a,b)=>(ae=G.gd)(a,b),be=()=>(be=G.hd)(),ce=a=>(ce=G.id)(a);r.dynCall_viji=(a,b,c,e,f)=>(r.dynCall_viji=G.kd)(a,b,c,e,f);r.dynCall_vijiii=(a,b,c,e,f,k,l)=>(r.dynCall_vijiii=G.ld)(a,b,c,e,f,k,l);r.dynCall_viiiiij=(a,b,c,e,f,k,l,m)=>(r.dynCall_viiiiij=G.md)(a,b,c,e,f,k,l,m);r.dynCall_jii=(a,b,c)=>(r.dynCall_jii=G.nd)(a,b,c); +r.dynCall_vij=(a,b,c,e)=>(r.dynCall_vij=G.od)(a,b,c,e);r.dynCall_iiij=(a,b,c,e,f)=>(r.dynCall_iiij=G.pd)(a,b,c,e,f);r.dynCall_iiiij=(a,b,c,e,f,k)=>(r.dynCall_iiiij=G.qd)(a,b,c,e,f,k);r.dynCall_viij=(a,b,c,e,f)=>(r.dynCall_viij=G.rd)(a,b,c,e,f);r.dynCall_viiij=(a,b,c,e,f,k)=>(r.dynCall_viiij=G.sd)(a,b,c,e,f,k);r.dynCall_jiiiiii=(a,b,c,e,f,k,l)=>(r.dynCall_jiiiiii=G.td)(a,b,c,e,f,k,l);r.dynCall_jiiiiji=(a,b,c,e,f,k,l,m)=>(r.dynCall_jiiiiji=G.ud)(a,b,c,e,f,k,l,m); +r.dynCall_ji=(a,b)=>(r.dynCall_ji=G.vd)(a,b);r.dynCall_iijj=(a,b,c,e,f,k)=>(r.dynCall_iijj=G.wd)(a,b,c,e,f,k);r.dynCall_jiji=(a,b,c,e,f)=>(r.dynCall_jiji=G.xd)(a,b,c,e,f);r.dynCall_viijii=(a,b,c,e,f,k,l)=>(r.dynCall_viijii=G.yd)(a,b,c,e,f,k,l);r.dynCall_iiiiij=(a,b,c,e,f,k,l)=>(r.dynCall_iiiiij=G.zd)(a,b,c,e,f,k,l);r.dynCall_iiiiijj=(a,b,c,e,f,k,l,m,q)=>(r.dynCall_iiiiijj=G.Ad)(a,b,c,e,f,k,l,m,q);r.dynCall_iiiiiijj=(a,b,c,e,f,k,l,m,q,w)=>(r.dynCall_iiiiiijj=G.Bd)(a,b,c,e,f,k,l,m,q,w); +function Wd(a,b,c,e,f){var k=be();try{Ma.get(a)(b,c,e,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Od(a,b,c){var e=be();try{return Ma.get(a)(b,c)}catch(f){ce(e);if(f!==f+0)throw f;ae(1,0)}}function Ud(a,b,c){var e=be();try{Ma.get(a)(b,c)}catch(f){ce(e);if(f!==f+0)throw f;ae(1,0)}}function Nd(a,b){var c=be();try{return Ma.get(a)(b)}catch(e){ce(c);if(e!==e+0)throw e;ae(1,0)}}function Td(a,b){var c=be();try{Ma.get(a)(b)}catch(e){ce(c);if(e!==e+0)throw e;ae(1,0)}} +function Pd(a,b,c,e){var f=be();try{return Ma.get(a)(b,c,e)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Zd(a,b,c,e,f,k,l,m,q,w){var y=be();try{Ma.get(a)(b,c,e,f,k,l,m,q,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}function Vd(a,b,c,e){var f=be();try{Ma.get(a)(b,c,e)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Yd(a,b,c,e,f,k,l){var m=be();try{Ma.get(a)(b,c,e,f,k,l)}catch(q){ce(m);if(q!==q+0)throw q;ae(1,0)}} +function Qd(a,b,c,e,f){var k=be();try{return Ma.get(a)(b,c,e,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Rd(a,b,c,e,f,k,l){var m=be();try{return Ma.get(a)(b,c,e,f,k,l)}catch(q){ce(m);if(q!==q+0)throw q;ae(1,0)}}function Xd(a,b,c,e,f,k){var l=be();try{Ma.get(a)(b,c,e,f,k)}catch(m){ce(l);if(m!==m+0)throw m;ae(1,0)}}function Sd(a,b,c,e,f,k,l,m,q,w){var y=be();try{return Ma.get(a)(b,c,e,f,k,l,m,q,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}var de;Wa=function ee(){de||fe();de||(Wa=ee)}; +function fe(){function a(){if(!de&&(de=!0,r.calledRun=!0,!Ga)){eb(Pa);aa(r);if(r.onRuntimeInitialized)r.onRuntimeInitialized();if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var b=r.postRun.shift();Qa.unshift(b)}eb(Qa)}}if(!(0\28SkColorSpace*\29 +218:SkString::~SkString\28\29 +219:__memcpy +220:__memset +221:GrGLSLShaderBuilder::codeAppendf\28char\20const*\2c\20...\29 +222:SkColorInfo::~SkColorInfo\28\29 +223:SkDebugf\28char\20const*\2c\20...\29 +224:SkString::SkString\28\29 +225:SkData::~SkData\28\29 +226:SkContainerAllocator::allocate\28int\2c\20double\29 +227:memcmp +228:memmove +229:SkString::insert\28unsigned\20long\2c\20char\20const*\29 +230:hb_blob_destroy +231:SkPath::~SkPath\28\29 +232:sk_report_container_overflow_and_die\28\29 +233:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\29 +234:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::~__func\28\29 +235:SkSL::ErrorReporter::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +236:SkArenaAlloc::ensureSpace\28unsigned\20int\2c\20unsigned\20int\29 +237:SkRasterPipeline::append\28SkRasterPipelineOp\2c\20void*\29 +238:SkString::SkString\28char\20const*\29 +239:ft_mem_free +240:FT_MulFix +241:emscripten::default_smart_ptr_trait>::share\28void*\29 +242:SkTDStorage::append\28\29 +243:SkMatrix::computeTypeMask\28\29\20const +244:GrGpuResource::notifyARefCntIsZero\28GrIORef::LastRemovedRef\29\20const +245:testSetjmp +246:SkWriter32::growToAtLeast\28unsigned\20long\29 +247:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\2c\20unsigned\20long\29 +248:fmaxf +249:std::__2::basic_string\2c\20std::__2::allocator>::size\5babi:v160004\5d\28\29\20const +250:SkString::SkString\28SkString&&\29 +251:SkSL::Pool::AllocMemory\28unsigned\20long\29 +252:std::__2::basic_string\2c\20std::__2::allocator>::__throw_length_error\5babi:v160004\5d\28\29\20const +253:GrColorInfo::~GrColorInfo\28\29 +254:SkIRect::intersect\28SkIRect\20const&\2c\20SkIRect\20const&\29 +255:strlen +256:GrBackendFormat::~GrBackendFormat\28\29 +257:std::__2::vector>::__throw_length_error\5babi:v160004\5d\28\29\20const +258:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\29 +259:GrContext_Base::caps\28\29\20const +260:SkPaint::~SkPaint\28\29 +261:SkTDStorage::~SkTDStorage\28\29 +262:sk_malloc_throw\28unsigned\20long\2c\20unsigned\20long\29 +263:SkTDStorage::SkTDStorage\28int\29 +264:SkSL::RP::Generator::pushExpression\28SkSL::Expression\20const&\2c\20bool\29 +265:SkStrokeRec::getStyle\28\29\20const +266:strncmp +267:SkString::SkString\28SkString\20const&\29 +268:hb_ot_map_builder_t::add_feature\28unsigned\20int\2c\20hb_ot_map_feature_flags_t\2c\20unsigned\20int\29 +269:SkMatrix::mapRect\28SkRect*\2c\20SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +270:void\20emscripten::internal::raw_destructor\28SkContourMeasure*\29 +271:SkBitmap::~SkBitmap\28\29 +272:hb_buffer_t::make_room_for\28unsigned\20int\2c\20unsigned\20int\29 +273:fminf +274:SkArenaAlloc::installFooter\28char*\20\28*\29\28char*\29\2c\20unsigned\20int\29 +275:SkArenaAlloc::allocObjectWithFooter\28unsigned\20int\2c\20unsigned\20int\29 +276:strcmp +277:skia_private::TArray::push_back\28SkPoint\20const&\29 +278:SkString::operator=\28SkString&&\29 +279:SkSemaphore::osSignal\28int\29 +280:SkPath::SkPath\28\29 +281:std::__2::__shared_weak_count::__release_weak\28\29 +282:skia_png_error +283:hb_buffer_t::message\28hb_font_t*\2c\20char\20const*\2c\20...\29 +284:SkSL::Parser::nextRawToken\28\29 +285:SkArenaAlloc::~SkArenaAlloc\28\29 +286:SkMatrix::computePerspectiveTypeMask\28\29\20const +287:SkFontMgr*\20emscripten::base::convertPointer\28skia::textlayout::TypefaceFontProvider*\29 +288:SkSemaphore::osWait\28\29 +289:SkColorInfo::SkColorInfo\28SkColorInfo\20const&\29 +290:SkIntersections::insert\28double\2c\20double\2c\20SkDPoint\20const&\29 +291:dlmalloc +292:FT_DivFix +293:std::__throw_bad_array_new_length\5babi:v160004\5d\28\29 +294:SkString::appendf\28char\20const*\2c\20...\29 +295:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +296:skia_png_free +297:skia_png_crc_finish +298:SkPath::lineTo\28float\2c\20float\29 +299:SkMatrix::setTranslate\28float\2c\20float\29 +300:SkChecksum::Hash32\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20int\29 +301:skia_png_chunk_benign_error +302:SkMatrix::mapPoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +303:dlrealloc +304:skia_png_warning +305:OT::VarData::get_delta\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20OT::VarRegionList\20const&\2c\20float*\29\20const +306:ft_mem_qrealloc +307:SkColorInfo::bytesPerPixel\28\29\20const +308:SkPaint::SkPaint\28SkPaint\20const&\29 +309:GrVertexChunkBuilder::allocChunk\28int\29 +310:skia_private::TArray::push_back\28unsigned\20long\20const&\29 +311:OT::DeltaSetIndexMap::map\28unsigned\20int\29\20const +312:ft_mem_realloc +313:SkReadBuffer::readUInt\28\29 +314:SkMatrix::reset\28\29 +315:SkImageInfo::MakeUnknown\28int\2c\20int\29 +316:GrSurfaceProxyView::asRenderTargetProxy\28\29\20const +317:skia_private::TArray::push_back\28unsigned\20char&&\29 +318:SkBitmap::SkBitmap\28\29 +319:SkPath::SkPath\28SkPath\20const&\29 +320:ft_validator_error +321:SkPaint::SkPaint\28\29 +322:SkBlitter::~SkBlitter\28\29 +323:strstr +324:SkOpPtT::segment\28\29\20const +325:SkSL::Parser::expect\28SkSL::Token::Kind\2c\20char\20const*\2c\20SkSL::Token*\29 +326:SkJSONWriter::appendName\28char\20const*\29 +327:SkImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +328:sk_malloc_flags\28unsigned\20long\2c\20unsigned\20int\29 +329:GrTextureGenerator::isTextureGenerator\28\29\20const +330:std::__2::basic_string\2c\20std::__2::allocator>::__get_pointer\5babi:v160004\5d\28\29 +331:skia_private::TArray\2c\20true>::push_back\28sk_sp&&\29 +332:SkMatrix::invertNonIdentity\28SkMatrix*\29\20const +333:SkJSONWriter::beginValue\28bool\29 +334:dlcalloc +335:SkSL::RP::Builder::appendInstruction\28SkSL::RP::BuilderOp\2c\20SkSL::RP::Builder::SlotList\2c\20int\2c\20int\2c\20int\2c\20int\29 +336:skia_private::TArray::push_back\28SkSL::RP::Instruction&&\29 +337:skia_png_get_uint_32 +338:skia_png_calculate_crc +339:std::__2::basic_string\2c\20std::__2::allocator>::resize\5babi:v160004\5d\28unsigned\20long\29 +340:SkSL::GLSLCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +341:skgpu::Swizzle::Swizzle\28char\20const*\29 +342:SkPoint::Length\28float\2c\20float\29 +343:GrImageInfo::GrImageInfo\28GrImageInfo\20const&\29 +344:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +345:SkPath::getBounds\28\29\20const +346:std::__2::locale::~locale\28\29 +347:skia_private::TArray::push_back\28SkString&&\29 +348:SkPathRef::Editor::Editor\28sk_sp*\2c\20int\2c\20int\2c\20int\29 +349:FT_Stream_Seek +350:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28char\29 +351:SkRect::join\28SkRect\20const&\29 +352:SkRect::intersect\28SkRect\20const&\29 +353:hb_blob_reference +354:cf2_stack_popFixed +355:GrGLExtensions::has\28char\20const*\29\20const +356:std::__2::__throw_bad_function_call\5babi:v160004\5d\28\29 +357:SkRect::setBoundsCheck\28SkPoint\20const*\2c\20int\29 +358:SkRasterPipeline::uncheckedAppend\28SkRasterPipelineOp\2c\20void*\29 +359:SkCachedData::internalUnref\28bool\29\20const +360:GrProcessor::operator\20new\28unsigned\20long\29 +361:FT_MulDiv +362:std::__2::to_string\28int\29 +363:skia_private::TArray>\2c\20true>::operator=\28skia_private::TArray>\2c\20true>&&\29 +364:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +365:std::__2::ios_base::getloc\28\29\20const +366:SkRegion::~SkRegion\28\29 +367:skia_png_read_push_finish_row +368:skia::textlayout::TextStyle::~TextStyle\28\29 +369:hb_blob_make_immutable +370:SkString::operator=\28char\20const*\29 +371:SkReadBuffer::setInvalid\28\29 +372:SkColorInfo::operator=\28SkColorInfo&&\29 +373:hb_ot_map_builder_t::add_pause\28unsigned\20int\2c\20bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +374:cff1_path_procs_extents_t::curve\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +375:VP8GetValue +376:SkSemaphore::~SkSemaphore\28\29 +377:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28\29 +378:skgpu::ganesh::SurfaceContext::caps\28\29\20const +379:SkSL::String::printf\28char\20const*\2c\20...\29 +380:SkPoint::normalize\28\29 +381:SkColorInfo::operator=\28SkColorInfo\20const&\29 +382:SkArenaAlloc::SkArenaAlloc\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +383:FT_Stream_ReadUShort +384:jdiv_round_up +385:SkSL::RP::Builder::binary_op\28SkSL::RP::BuilderOp\2c\20int\29 +386:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +387:jzero_far +388:hb_blob_get_data_writable +389:SkPathRef::growForVerb\28int\2c\20float\29 +390:SkColorInfo::SkColorInfo\28SkColorInfo&&\29 +391:skia_png_write_data +392:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +393:SkSL::Type::matches\28SkSL::Type\20const&\29\20const +394:SkRuntimeEffect::uniformSize\28\29\20const +395:SkMatrix::setConcat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +396:SkImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +397:FT_Stream_ExitFrame +398:subtag_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +399:skia_private::TArray::push_back_raw\28int\29 +400:__shgetc +401:SkBlitter::~SkBlitter\28\29.1 +402:FT_Stream_GetUShort +403:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28wchar_t\20const*\29 +404:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28char\20const*\29 +405:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +406:SkSL::SymbolTable::addWithoutOwnershipOrDie\28SkSL::Symbol*\29 +407:SkPoint::scale\28float\2c\20SkPoint*\29\20const +408:SkNullBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +409:SkIRect\20skif::Mapping::map\28SkIRect\20const&\2c\20SkMatrix\20const&\29 +410:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20char\20const*\2c\20char\20const*\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +411:sktext::gpu::BagOfBytes::~BagOfBytes\28\29 +412:hb_face_reference_table +413:SkStringPrintf\28char\20const*\2c\20...\29 +414:GrSurfaceProxyView::asTextureProxy\28\29\20const +415:RoughlyEqualUlps\28float\2c\20float\29 +416:GrGLSLVaryingHandler::addVarying\28char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVaryingHandler::Interpolation\29 +417:skia_png_chunk_error +418:SkTDStorage::reserve\28int\29 +419:SkPath::Iter::next\28SkPoint*\29 +420:SkDynamicMemoryWStream::write\28void\20const*\2c\20unsigned\20long\29 +421:OT::Layout::Common::Coverage::get_coverage\28unsigned\20int\29\20const +422:GrQuad::MakeFromRect\28SkRect\20const&\2c\20SkMatrix\20const&\29 +423:round +424:SkRecord::grow\28\29 +425:SkRGBA4f<\28SkAlphaType\293>::toBytes_RGBA\28\29\20const +426:GrProcessor::operator\20new\28unsigned\20long\2c\20unsigned\20long\29 +427:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::SymbolTable*\29\20const +428:skgpu::ganesh::SurfaceDrawContext::addDrawOp\28GrClip\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::function\20const&\29 +429:skgpu::ResourceKeyHash\28unsigned\20int\20const*\2c\20unsigned\20long\29 +430:VP8LoadFinalBytes +431:SkSL::TProgramVisitor::visitStatement\28SkSL::Statement\20const&\29 +432:SkSL::RP::Builder::discard_stack\28int\2c\20int\29 +433:SkPath::conicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +434:SkCanvas::predrawNotify\28bool\29 +435:std::__2::__cloc\28\29 +436:sscanf +437:SkSurfaceProps::SkSurfaceProps\28\29 +438:SkStrikeSpec::~SkStrikeSpec\28\29 +439:SkPath::moveTo\28float\2c\20float\29 +440:GrSkSLFP::GrSkSLFP\28sk_sp\2c\20char\20const*\2c\20GrSkSLFP::OptFlags\29 +441:GrBackendFormat::GrBackendFormat\28\29 +442:__multf3 +443:VP8LReadBits +444:SkTDStorage::append\28int\29 +445:SkPath::isFinite\28\29\20const +446:SkMatrix::setScale\28float\2c\20float\29 +447:GrOpsRenderPass::setScissorRect\28SkIRect\20const&\29 +448:GrOpsRenderPass::bindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +449:GrCaps::getDefaultBackendFormat\28GrColorType\2c\20skgpu::Renderable\29\20const +450:hb_draw_funcs_t::start_path\28void*\2c\20hb_draw_state_t&\29 +451:SkSL::ConstructorCompound::MakeFromConstants\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20double\20const*\29 +452:SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +453:SkPath::isEmpty\28\29\20const +454:SkColorSpaceXformSteps::SkColorSpaceXformSteps\28SkColorSpace\20const*\2c\20SkAlphaType\2c\20SkColorSpace\20const*\2c\20SkAlphaType\29 +455:GrSimpleMeshDrawOpHelper::~GrSimpleMeshDrawOpHelper\28\29 +456:GrProcessorSet::GrProcessorSet\28GrPaint&&\29 +457:GrBackendFormats::AsGLFormat\28GrBackendFormat\20const&\29 +458:std::__2::locale::id::__get\28\29 +459:std::__2::locale::facet::facet\5babi:v160004\5d\28unsigned\20long\29 +460:skia_private::TArray::push_back_raw\28int\29 +461:hb_buffer_t::_infos_set_glyph_flags\28hb_glyph_info_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +462:SkSL::PipelineStage::PipelineStageCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +463:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29 +464:SkSL::GLSLCodeGenerator::writeIdentifier\28std::__2::basic_string_view>\29 +465:SkPath::reset\28\29 +466:SkPath::operator=\28SkPath\20const&\29 +467:GrGeometryProcessor::AttributeSet::initImplicit\28GrGeometryProcessor::Attribute\20const*\2c\20int\29 +468:GrContext_Base::contextID\28\29\20const +469:FT_Stream_EnterFrame +470:AlmostEqualUlps\28float\2c\20float\29 +471:std::__2::locale::__imp::install\28std::__2::locale::facet*\2c\20long\29 +472:skia_png_read_data +473:SkSpinlock::contendedAcquire\28\29 +474:SkSL::evaluate_n_way_intrinsic\28SkSL::Context\20const&\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29\20\28.18\29 +475:SkSL::FunctionDeclaration::description\28\29\20const +476:SkPaint::setStyle\28SkPaint::Style\29 +477:SkMatrix::setRectToRect\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkMatrix::ScaleToFit\29 +478:SkDPoint::approximatelyEqual\28SkDPoint\20const&\29\20const +479:GrSurfaceProxy::backingStoreDimensions\28\29\20const +480:GrOpsRenderPass::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +481:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +482:skgpu::ganesh::SurfaceContext::drawingManager\28\29 +483:skgpu::UniqueKey::GenerateDomain\28\29 +484:hb_buffer_t::_set_glyph_flags\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +485:emscripten_longjmp +486:GrMeshDrawOp::GrMeshDrawOp\28unsigned\20int\29 +487:FT_RoundFix +488:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +489:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28unsigned\20char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +490:hb_face_get_glyph_count +491:cf2_stack_pushFixed +492:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +493:__multi3 +494:SkSL::RP::Builder::push_duplicates\28int\29 +495:SkMatrix::postTranslate\28float\2c\20float\29 +496:SkColorInfo::refColorSpace\28\29\20const +497:SkCanvas::concat\28SkMatrix\20const&\29 +498:SkBlockAllocator::reset\28\29 +499:SkBitmapDevice::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +500:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20SkFilterMode\2c\20SkMipmapMode\29 +501:GrGLSLVaryingHandler::addPassThroughAttribute\28GrShaderVar\20const&\2c\20char\20const*\2c\20GrGLSLVaryingHandler::Interpolation\29 +502:GrFragmentProcessor::registerChild\28std::__2::unique_ptr>\2c\20SkSL::SampleUsage\29 +503:FT_Stream_ReleaseFrame +504:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +505:skia::textlayout::TextStyle::TextStyle\28skia::textlayout::TextStyle\20const&\29 +506:hb_buffer_t::merge_clusters_impl\28unsigned\20int\2c\20unsigned\20int\29 +507:decltype\28fp.sanitize\28this\29\29\20hb_sanitize_context_t::_dispatch\28OT::Layout::Common::Coverage\20const&\2c\20hb_priority<1u>\29 +508:SkWStream::writePackedUInt\28unsigned\20long\29 +509:SkSL::RP::Builder::push_constant_i\28int\2c\20int\29 +510:SkSL::BreakStatement::~BreakStatement\28\29 +511:SkPaint::setShader\28sk_sp\29 +512:SkNullBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +513:SkBitmap::setImmutable\28\29 +514:GrPipeline::visitProxies\28std::__2::function\20const&\29\20const +515:GrGeometryProcessor::GrGeometryProcessor\28GrProcessor::ClassID\29 +516:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +517:SkSL::fold_expression\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +518:SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0::operator\28\29\28SkSL::FunctionDefinition\20const*\2c\20SkSL::FunctionDefinition\20const*\29\20const +519:SkSL::RP::Generator::binaryOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +520:SkJSONWriter::appendf\28char\20const*\2c\20...\29 +521:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29 +522:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b10\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +523:Cr_z_crc32 +524:skia_png_push_save_buffer +525:cosf +526:SkSL::Type::MakeAliasType\28std::__2::basic_string_view>\2c\20SkSL::Type\20const&\29 +527:SkSL::RP::SlotManager::getVariableSlots\28SkSL::Variable\20const&\29 +528:SkSL::RP::Builder::unary_op\28SkSL::RP::BuilderOp\2c\20int\29 +529:SkReadBuffer::readScalar\28\29 +530:GrProcessorSet::visitProxies\28std::__2::function\20const&\29\20const +531:GrGLTexture::target\28\29\20const +532:sk_srgb_singleton\28\29 +533:fmodf +534:fma +535:SkSurface_Base::aboutToDraw\28SkSurface::ContentChangeMode\29 +536:SkSL::Pool::FreeMemory\28void*\29 +537:SkPaint::SkPaint\28SkPaint&&\29 +538:SkDPoint::ApproximatelyEqual\28SkPoint\20const&\2c\20SkPoint\20const&\29 +539:SkBitmap::SkBitmap\28SkBitmap\20const&\29 +540:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__push_back_slow_path>>\28std::__2::unique_ptr>&&\29 +541:std::__2::basic_string\2c\20std::__2::allocator>::__init_copy_ctor_external\28char\20const*\2c\20unsigned\20long\29 +542:skip_spaces +543:skcms_Transform +544:sk_realloc_throw\28void*\2c\20unsigned\20long\29 +545:emscripten::smart_ptr_trait>::get\28sk_sp\20const&\29 +546:cff2_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +547:cff1_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +548:bool\20OT::Layout::Common::Coverage::collect_coverage\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>>\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>*\29\20const +549:SkString::operator=\28SkString\20const&\29 +550:SkString::equals\28SkString\20const&\29\20const +551:SkSL::Type::toCompound\28SkSL::Context\20const&\2c\20int\2c\20int\29\20const +552:SkPath::transform\28SkMatrix\20const&\2c\20SkPath*\2c\20SkApplyPerspectiveClip\29\20const +553:SkPath::quadTo\28float\2c\20float\2c\20float\2c\20float\29 +554:SkCanvas::save\28\29 +555:SkBlockAllocator::addBlock\28int\2c\20int\29 +556:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +557:SkAAClipBlitter::~SkAAClipBlitter\28\29 +558:OT::hb_ot_apply_context_t::match_properties_mark\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +559:GrThreadSafeCache::VertexData::~VertexData\28\29 +560:GrShape::asPath\28SkPath*\2c\20bool\29\20const +561:GrShaderVar::appendDecl\28GrShaderCaps\20const*\2c\20SkString*\29\20const +562:GrPixmapBase::~GrPixmapBase\28\29 +563:GrGLSLVaryingHandler::emitAttributes\28GrGeometryProcessor\20const&\29 +564:void\20emscripten::internal::raw_destructor\28GrDirectContext*\29 +565:std::__2::unique_ptr::reset\5babi:v160004\5d\28unsigned\20char*\29 +566:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +567:skia_private::TArray::push_back\28SkPaint\20const&\29 +568:png_icc_profile_error +569:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression\20const&\29 +570:SkRasterClip::~SkRasterClip\28\29 +571:SkPixmap::reset\28SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +572:SkPathRef::~SkPathRef\28\29 +573:SkPath::countPoints\28\29\20const +574:SkPaint::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +575:SkPaint::canComputeFastBounds\28\29\20const +576:SkOpPtT::contains\28SkOpPtT\20const*\29\20const +577:SkOpAngle::segment\28\29\20const +578:SkMatrix::preConcat\28SkMatrix\20const&\29 +579:SkMatrix::mapVectors\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +580:SkMasks::getRed\28unsigned\20int\29\20const +581:SkMasks::getGreen\28unsigned\20int\29\20const +582:SkMasks::getBlue\28unsigned\20int\29\20const +583:SkColorInfo::shiftPerPixel\28\29\20const +584:GrProcessorSet::~GrProcessorSet\28\29 +585:GrMeshDrawOp::createProgramInfo\28GrMeshDrawTarget*\29 +586:FT_Stream_ReadFields +587:AutoLayerForImageFilter::~AutoLayerForImageFilter\28\29 +588:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +589:saveSetjmp +590:operator==\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +591:hb_face_t::load_num_glyphs\28\29\20const +592:emscripten::internal::MethodInvoker::invoke\28int\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +593:emscripten::default_smart_ptr_trait>::construct_null\28\29 +594:VP8GetSignedValue +595:SkSafeMath::Mul\28unsigned\20long\2c\20unsigned\20long\29 +596:SkSL::Type::MakeVectorType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\29 +597:SkRasterPipeline::SkRasterPipeline\28SkArenaAlloc*\29 +598:SkPoint::setLength\28float\29 +599:OT::GDEF::accelerator_t::mark_set_covers\28unsigned\20int\2c\20unsigned\20int\29\20const +600:GrTextureProxy::mipmapped\28\29\20const +601:GrGpuResource::~GrGpuResource\28\29 +602:FT_Stream_GetULong +603:FT_Get_Char_Index +604:Cr_z__tr_flush_bits +605:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +606:void\20emscripten::internal::MemberAccess::setWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20int\29 +607:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +608:std::__2::__throw_overflow_error\5babi:v160004\5d\28char\20const*\29 +609:skia_private::THashMap::set\28char\20const*\2c\20unsigned\20int\29 +610:skia_png_chunk_report +611:skgpu::UniqueKey::operator=\28skgpu::UniqueKey\20const&\29 +612:sk_double_nearly_zero\28double\29 +613:int\20emscripten::internal::MemberAccess::getWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +614:hb_font_get_glyph +615:ft_mem_qalloc +616:fit_linear\28skcms_Curve\20const*\2c\20int\2c\20float\2c\20float*\2c\20float*\2c\20float*\29 +617:_output_with_dotted_circle\28hb_buffer_t*\29 +618:WebPSafeMalloc +619:SkStream::readS32\28int*\29 +620:SkSL::GLSLCodeGenerator::getTypeName\28SkSL::Type\20const&\29 +621:SkRGBA4f<\28SkAlphaType\293>::FromColor\28unsigned\20int\29 +622:SkPath::Iter::Iter\28SkPath\20const&\2c\20bool\29 +623:SkMatrix::postConcat\28SkMatrix\20const&\29 +624:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_3::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +625:SkGlyph::rowBytes\28\29\20const +626:SkDrawable::getFlattenableType\28\29\20const +627:SkDrawable::getBounds\28\29 +628:SkDCubic::ptAtT\28double\29\20const +629:SkColorSpace::MakeSRGB\28\29 +630:SkColorInfo::SkColorInfo\28\29 +631:GrOpFlushState::drawMesh\28GrSimpleMesh\20const&\29 +632:GrImageInfo::GrImageInfo\28SkImageInfo\20const&\29 +633:DefaultGeoProc::Impl::~Impl\28\29 +634:skif::LayerSpace::mapRect\28skif::LayerSpace\20const&\29\20const +635:out +636:jpeg_fill_bit_buffer +637:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +638:SkString::data\28\29 +639:SkShaderBase::SkShaderBase\28\29 +640:SkSL::Type::coerceExpression\28std::__2::unique_ptr>\2c\20SkSL::Context\20const&\29\20const +641:SkSL::Type::MakeGenericType\28char\20const*\2c\20SkSpan\2c\20SkSL::Type\20const*\29 +642:SkSL::ConstantFolder::GetConstantValueForVariable\28SkSL::Expression\20const&\29 +643:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29 +644:SkRegion::setRect\28SkIRect\20const&\29 +645:SkRegion::SkRegion\28\29 +646:SkRecords::FillBounds::adjustForSaveLayerPaints\28SkRect*\2c\20int\29\20const +647:SkPathStroker::lineTo\28SkPoint\20const&\2c\20SkPath::Iter\20const*\29 +648:SkPaint::setPathEffect\28sk_sp\29 +649:SkPaint::setMaskFilter\28sk_sp\29 +650:SkPaint::setColor\28unsigned\20int\29 +651:SkPaint::setColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\29 +652:SkOpContourBuilder::flush\28\29 +653:SkImageFilter::getInput\28int\29\20const +654:SkData::MakeWithCopy\28void\20const*\2c\20unsigned\20long\29 +655:SkCanvas::~SkCanvas\28\29.1 +656:SkCanvas::restoreToCount\28int\29 +657:SkCanvas::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +658:SkAutoPixmapStorage::~SkAutoPixmapStorage\28\29 +659:GrMatrixEffect::Make\28SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +660:std::__2::char_traits::assign\28char&\2c\20char\20const&\29 +661:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +662:std::__2::__check_grouping\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int&\29 +663:skia_png_malloc +664:skia::textlayout::Cluster::run\28\29\20const +665:skgpu::ganesh::SurfaceDrawContext::drawFilledQuad\28GrClip\20const*\2c\20GrPaint&&\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\29 +666:sk_sp::~sk_sp\28\29 +667:png_write_complete_chunk +668:pad +669:hb_lockable_set_t::fini\28hb_mutex_t&\29 +670:ft_mem_alloc +671:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkBlendMode\29 +672:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +673:__ashlti3 +674:SkWBuffer::writeNoSizeCheck\28void\20const*\2c\20unsigned\20long\29 +675:SkTCoincident::setPerp\28SkTCurve\20const&\2c\20double\2c\20SkDPoint\20const&\2c\20SkTCurve\20const&\29 +676:SkStrokeRec::SkStrokeRec\28SkStrokeRec::InitStyle\29 +677:SkString::printf\28char\20const*\2c\20...\29 +678:SkSL::Type::MakeMatrixType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\2c\20signed\20char\29 +679:SkSL::Operator::tightOperatorName\28\29\20const +680:SkReadBuffer::readColor4f\28SkRGBA4f<\28SkAlphaType\293>*\29 +681:SkPixmap::reset\28\29 +682:SkPictureData::requiredPaint\28SkReadBuffer*\29\20const +683:SkPath::cubicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +684:SkPath::close\28\29 +685:SkPaintToGrPaint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +686:SkPaint::setBlendMode\28SkBlendMode\29 +687:SkFindUnitQuadRoots\28float\2c\20float\2c\20float\2c\20float*\29 +688:SkDeque::push_back\28\29 +689:SkCanvas::internalQuickReject\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\29 +690:SkBinaryWriteBuffer::writeBool\28bool\29 +691:OT::hb_paint_context_t::return_t\20OT::Paint::dispatch\28OT::hb_paint_context_t*\29\20const +692:GrShape::bounds\28\29\20const +693:GrProgramInfo::GrProgramInfo\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrGeometryProcessor\20const*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +694:GrPixmapBase::GrPixmapBase\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +695:GrColorInfo::GrColorInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\29 +696:FT_Outline_Translate +697:FT_Load_Glyph +698:FT_GlyphLoader_CheckPoints +699:DefaultGeoProc::~DefaultGeoProc\28\29 +700:uprv_malloc_skia +701:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +702:std::__2::basic_string\2c\20std::__2::allocator>::__set_short_size\5babi:v160004\5d\28unsigned\20long\29 +703:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_size\5babi:v160004\5d\28unsigned\20long\29 +704:sinf +705:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28GrDirectContext&\2c\20unsigned\20long\29\2c\20GrDirectContext*\2c\20unsigned\20long\29 +706:byn$mgfn-shared$std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +707:SkTextBlob::~SkTextBlob\28\29 +708:SkRasterPipeline::extend\28SkRasterPipeline\20const&\29 +709:SkMatrix::preTranslate\28float\2c\20float\29 +710:SkMatrix::mapXY\28float\2c\20float\2c\20SkPoint*\29\20const +711:SkMatrix::mapRadius\28float\29\20const +712:SkImageGenerator::onIsValid\28GrRecordingContext*\29\20const +713:SkIRect::join\28SkIRect\20const&\29 +714:SkData::MakeUninitialized\28unsigned\20long\29 +715:SkDQuad::RootsValidT\28double\2c\20double\2c\20double\2c\20double*\29 +716:SkDLine::nearPoint\28SkDPoint\20const&\2c\20bool*\29\20const +717:SkConic::chopIntoQuadsPOW2\28SkPoint*\2c\20int\29\20const +718:SkColorSpaceXformSteps::apply\28float*\29\20const +719:SkCodec::applyColorXform\28void*\2c\20void\20const*\2c\20int\29\20const +720:SkCachedData::internalRef\28bool\29\20const +721:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29 +722:GrSurface::RefCntedReleaseProc::~RefCntedReleaseProc\28\29 +723:GrStyle::initPathEffect\28sk_sp\29 +724:GrProcessor::operator\20delete\28void*\29 +725:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::~Impl\28\29 +726:GrBufferAllocPool::~GrBufferAllocPool\28\29.1 +727:std::__2::numpunct::thousands_sep\5babi:v160004\5d\28\29\20const +728:std::__2::numpunct::grouping\5babi:v160004\5d\28\29\20const +729:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +730:skia_png_malloc_warn +731:rewind\28GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +732:cf2_stack_popInt +733:SkSL::GLSLCodeGenerator::write\28std::__2::basic_string_view>\29 +734:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29 +735:SkPaint::setColorFilter\28sk_sp\29 +736:SkMatrixPriv::MapRect\28SkM44\20const&\2c\20SkRect\20const&\29 +737:SkImageInfo::MakeA8\28int\2c\20int\29 +738:SkImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +739:SkData::MakeWithProc\28void\20const*\2c\20unsigned\20long\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +740:SkData::MakeEmpty\28\29 +741:SkConic::computeQuadPOW2\28float\29\20const +742:SkColorTypeIsAlwaysOpaque\28SkColorType\29 +743:SkColorInfo::makeColorType\28SkColorType\29\20const +744:SkCodec::~SkCodec\28\29 +745:SkAAClip::quickContains\28int\2c\20int\2c\20int\2c\20int\29\20const +746:SkAAClip::isRect\28\29\20const +747:GrSurface::ComputeSize\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20bool\29 +748:GrSimpleMeshDrawOpHelper::GrSimpleMeshDrawOpHelper\28GrProcessorSet*\2c\20GrAAType\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +749:GrGeometryProcessor::ProgramImpl::SetTransform\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrResourceHandle\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix*\29 +750:GrDrawingManager::flushIfNecessary\28\29 +751:GrBlendFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkBlendMode\2c\20bool\29 +752:FT_Stream_ExtractFrame +753:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +754:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +755:std::__2::basic_string\2c\20std::__2::allocator>::__is_long\5babi:v160004\5d\28\29\20const +756:std::__2::__throw_bad_optional_access\5babi:v160004\5d\28\29 +757:skia_png_malloc_base +758:skgpu::ganesh::AsView\28GrRecordingContext*\2c\20SkImage\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +759:skcms_TransferFunction_eval +760:pow +761:hb_ot_face_t::init0\28hb_face_t*\29 +762:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::get\28\29\20const +763:__addtf3 +764:SkUTF::NextUTF8\28char\20const**\2c\20char\20const*\29 +765:SkTDStorage::reset\28\29 +766:SkScan::AntiHairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +767:SkSL::TProgramVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +768:SkSL::RP::Builder::label\28int\29 +769:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +770:SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +771:SkReadBuffer::skip\28unsigned\20long\2c\20unsigned\20long\29 +772:SkPath::countVerbs\28\29\20const +773:SkMatrix::set9\28float\20const*\29 +774:SkMatrix::getMaxScale\28\29\20const +775:SkImageInfo::computeByteSize\28unsigned\20long\29\20const +776:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +777:SkImageFilter_Base::SkImageFilter_Base\28sk_sp\20const*\2c\20int\2c\20std::__2::optional\29 +778:SkFontMgr::countFamilies\28\29\20const +779:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\2c\20bool\2c\20SkBlitter*\29\20const +780:SkDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +781:SkBlockAllocator::SkBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\2c\20unsigned\20long\29 +782:SkBlender::Mode\28SkBlendMode\29 +783:ReadHuffmanCode +784:GrSurfaceProxy::~GrSurfaceProxy\28\29 +785:GrRenderTask::makeClosed\28GrRecordingContext*\29 +786:GrGpuBuffer::unmap\28\29 +787:GrContext_Base::options\28\29\20const +788:GrCaps::getReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +789:GrBufferAllocPool::reset\28\29 +790:FT_Stream_ReadByte +791:std::__2::char_traits::assign\28wchar_t&\2c\20wchar_t\20const&\29 +792:std::__2::char_traits::copy\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +793:std::__2::basic_string\2c\20std::__2::allocator>::begin\5babi:v160004\5d\28\29 +794:std::__2::__next_prime\28unsigned\20long\29 +795:std::__2::__libcpp_snprintf_l\28char*\2c\20unsigned\20long\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +796:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29 +797:is_equal\28std::type_info\20const*\2c\20std::type_info\20const*\2c\20bool\29 +798:hb_buffer_t::sync\28\29 +799:cbrtf +800:__floatsitf +801:WebPSafeCalloc +802:StreamRemainingLengthIsBelow\28SkStream*\2c\20unsigned\20long\29 +803:SkSize\20skif::Mapping::map\28SkSize\20const&\2c\20SkMatrix\20const&\29 +804:SkSL::RP::Builder::swizzle\28int\2c\20SkSpan\29 +805:SkSL::Parser::expression\28\29 +806:SkRuntimeEffect::Uniform::sizeInBytes\28\29\20const +807:SkRGBA4f<\28SkAlphaType\293>::toSkColor\28\29\20const +808:SkPath::isConvex\28\29\20const +809:SkImageFilter_Base::getFlattenableType\28\29\20const +810:SkImageFilter_Base::getChildOutputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +811:SkImageFilter_Base::getChildInputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +812:SkIDChangeListener::List::~List\28\29 +813:SkDQuad::ptAtT\28double\29\20const +814:SkDLine::exactPoint\28SkDPoint\20const&\29\20const +815:SkDConic::ptAtT\28double\29\20const +816:SkColorInfo::makeAlphaType\28SkAlphaType\29\20const +817:SkCanvas::restore\28\29 +818:SkCanvas::drawImage\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +819:SkBitmap::setInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +820:SkAAClip::Builder::addRun\28int\2c\20int\2c\20unsigned\20int\2c\20int\29 +821:GrSkSLFP::addChild\28std::__2::unique_ptr>\2c\20bool\29 +822:GrGpuResource::hasRef\28\29\20const +823:GrGLSLShaderBuilder::appendTextureLookup\28SkString*\2c\20GrResourceHandle\2c\20char\20const*\29\20const +824:GrFragmentProcessor::cloneAndRegisterAllChildProcessors\28GrFragmentProcessor\20const&\29 +825:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::~SwizzleFragmentProcessor\28\29 +826:GrDrawOpAtlas::~GrDrawOpAtlas\28\29 +827:GrBackendFormat::GrBackendFormat\28GrBackendFormat\20const&\29 +828:AutoLayerForImageFilter::AutoLayerForImageFilter\28SkCanvas*\2c\20SkPaint\20const&\2c\20SkRect\20const*\2c\20bool\29 +829:AutoFTAccess::AutoFTAccess\28SkTypeface_FreeType\20const*\29 +830:AlmostPequalUlps\28float\2c\20float\29 +831:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__emplace_back_slow_path>\28unsigned\20int\20const&\2c\20sk_sp&&\29 +832:strchr +833:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20char\29\20const +834:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\29 +835:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_cap\5babi:v160004\5d\28unsigned\20long\29 +836:skia_png_reset_crc +837:skia_png_benign_error +838:memchr +839:hb_buffer_t::sync_so_far\28\29 +840:hb_buffer_t::move_to\28unsigned\20int\29 +841:VP8ExitCritical +842:SkTDStorage::resize\28int\29 +843:SkSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +844:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20float\29 +845:SkStream::readPackedUInt\28unsigned\20long*\29 +846:SkSL::Type::coercionCost\28SkSL::Type\20const&\29\20const +847:SkSL::Type::clone\28SkSL::Context\20const&\2c\20SkSL::SymbolTable*\29\20const +848:SkSL::RP::Generator::writeStatement\28SkSL::Statement\20const&\29 +849:SkSL::Parser::operatorRight\28SkSL::Parser::AutoDepth&\2c\20SkSL::OperatorKind\2c\20std::__2::unique_ptr>\20\28SkSL::Parser::*\29\28\29\2c\20std::__2::unique_ptr>&\29 +850:SkRuntimeEffectBuilder::writableUniformData\28\29 +851:SkRuntimeEffect::findUniform\28std::__2::basic_string_view>\29\20const +852:SkResourceCache::Key::init\28void*\2c\20unsigned\20long\20long\2c\20unsigned\20long\29 +853:SkReadBuffer::skip\28unsigned\20long\29 +854:SkReadBuffer::readFlattenable\28SkFlattenable::Type\29 +855:SkRRect::initializeRect\28SkRect\20const&\29 +856:SkPaint::asBlendMode\28\29\20const +857:SkGlyph::path\28\29\20const +858:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\29 +859:GrRenderTargetProxy::arenas\28\29 +860:GrOpFlushState::caps\28\29\20const +861:GrGpuResource::hasNoCommandBufferUsages\28\29\20const +862:GrGeometryProcessor::ProgramImpl::WriteLocalCoord\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20GrShaderVar\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +863:GrGLTextureParameters::SamplerOverriddenState::SamplerOverriddenState\28\29 +864:GrGLGpu::deleteFramebuffer\28unsigned\20int\29 +865:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\29 +866:FT_Stream_ReadULong +867:FT_Get_Module +868:Cr_z__tr_flush_block +869:AlmostBequalUlps\28float\2c\20float\29 +870:uprv_realloc_skia +871:std::__2::numpunct::truename\5babi:v160004\5d\28\29\20const +872:std::__2::moneypunct::do_grouping\28\29\20const +873:std::__2::locale::use_facet\28std::__2::locale::id&\29\20const +874:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29\20const +875:std::__2::basic_string\2c\20std::__2::allocator>::empty\5babi:v160004\5d\28\29\20const +876:sktext::gpu::BagOfBytes::needMoreBytes\28int\2c\20int\29 +877:skia_png_save_int_32 +878:skia_png_safecat +879:skia_png_gamma_significant +880:skgpu::ganesh::SurfaceContext::readPixels\28GrDirectContext*\2c\20GrPixmap\2c\20SkIPoint\29 +881:hb_lazy_loader_t\2c\20hb_face_t\2c\2026u\2c\20OT::GPOS_accelerator_t>::get\28\29\20const +882:hb_font_get_nominal_glyph +883:hb_buffer_t::clear_output\28\29 +884:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPaint*\29 +885:emscripten::internal::FunctionInvoker::invoke\28unsigned\20long\20\28**\29\28GrDirectContext&\29\2c\20GrDirectContext*\29 +886:cff_parse_num +887:\28anonymous\20namespace\29::write_trc_tag\28skcms_Curve\20const&\29 +888:SkWStream::writeScalarAsText\28float\29 +889:SkTSect::SkTSect\28SkTCurve\20const&\29 +890:SkString::set\28char\20const*\2c\20unsigned\20long\29 +891:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Context\20const&\2c\20SkSL::Symbol*\29 +892:SkSL::Swizzle::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29 +893:SkSL::Parser::layoutInt\28\29 +894:SkSL::Parser::expectIdentifier\28SkSL::Token*\29 +895:SkRegion::Cliperator::next\28\29 +896:SkRegion::Cliperator::Cliperator\28SkRegion\20const&\2c\20SkIRect\20const&\29 +897:SkRRect::setOval\28SkRect\20const&\29 +898:SkPictureRecorder::~SkPictureRecorder\28\29 +899:SkPathRef::CreateEmpty\28\29 +900:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +901:SkPaint::operator=\28SkPaint&&\29 +902:SkMasks::getAlpha\28unsigned\20int\29\20const +903:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29 +904:SkImageFilters::Crop\28SkRect\20const&\2c\20SkTileMode\2c\20sk_sp\29 +905:SkImageFilter_Base::getChildOutput\28int\2c\20skif::Context\20const&\29\20const +906:SkIDChangeListener::List::List\28\29 +907:SkData::MakeFromMalloc\28void\20const*\2c\20unsigned\20long\29 +908:SkDRect::setBounds\28SkTCurve\20const&\29 +909:SkColorFilter::isAlphaUnchanged\28\29\20const +910:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +911:SkCanvas::translate\28float\2c\20float\29 +912:SkBitmapCache::Rec::getKey\28\29\20const +913:PS_Conv_ToFixed +914:OT::hb_ot_apply_context_t::hb_ot_apply_context_t\28unsigned\20int\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +915:GrTriangulator::Line::intersect\28GrTriangulator::Line\20const&\2c\20SkPoint*\29\20const +916:GrSimpleMeshDrawOpHelper::isCompatible\28GrSimpleMeshDrawOpHelper\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +917:GrQuad::MakeFromSkQuad\28SkPoint\20const*\2c\20SkMatrix\20const&\29 +918:GrOpsRenderPass::bindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +919:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkISize\20const&\29 +920:GrGLSLShaderBuilder::appendTextureLookup\28GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +921:GrColorInfo::GrColorInfo\28SkColorInfo\20const&\29 +922:AlmostDequalUlps\28double\2c\20double\29 +923:tt_face_get_name +924:std::__2::vector>::size\5babi:v160004\5d\28\29\20const +925:std::__2::to_string\28long\20long\29 +926:std::__2::__libcpp_locale_guard::~__libcpp_locale_guard\5babi:v160004\5d\28\29 +927:std::__2::__libcpp_locale_guard::__libcpp_locale_guard\5babi:v160004\5d\28__locale_struct*&\29 +928:skif::FilterResult::~FilterResult\28\29 +929:skia_png_app_error +930:skgpu::ganesh::SurfaceFillContext::getOpsTask\28\29 +931:isdigit +932:hb_sanitize_context_t::return_t\20OT::Paint::dispatch\28hb_sanitize_context_t*\29\20const +933:hb_ot_layout_lookup_would_substitute +934:hb_buffer_t::unsafe_to_break\28unsigned\20int\2c\20unsigned\20int\29 +935:ft_module_get_service +936:expf +937:cf2_hintmap_map +938:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +939:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +940:__sindf +941:__shlim +942:__cosdf +943:SkTiff::ImageFileDirectory::getEntryValuesGeneric\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20int\2c\20void*\29\20const +944:SkSurface::getCanvas\28\29 +945:SkSL::cast_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +946:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitType\28SkSL::Type\20const&\29 +947:SkSL::VariableReference::VariableReference\28SkSL::Position\2c\20SkSL::Variable\20const*\2c\20SkSL::VariableRefKind\29 +948:SkSL::Variable::initialValue\28\29\20const +949:SkSL::SymbolTable::lookup\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +950:SkSL::SymbolTable::addArrayDimension\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20int\29 +951:SkSL::StringStream::str\28\29\20const +952:SkSL::RP::Program::appendCopy\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29\20const +953:SkSL::RP::Generator::makeLValue\28SkSL::Expression\20const&\2c\20bool\29 +954:SkSL::RP::DynamicIndexLValue::dynamicSlotRange\28\29 +955:SkSL::GLSLCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +956:SkSL::Expression::description\28\29\20const +957:SkSL::Analysis::UpdateVariableRefKind\28SkSL::Expression*\2c\20SkSL::VariableRefKind\2c\20SkSL::ErrorReporter*\29 +958:SkRegion::setEmpty\28\29 +959:SkRasterPipeline::appendLoadDst\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +960:SkRRect::setRectRadii\28SkRect\20const&\2c\20SkPoint\20const*\29 +961:SkPointPriv::DistanceToLineSegmentBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +962:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +963:SkPath::addPath\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPath::AddPathMode\29 +964:SkPaint::setImageFilter\28sk_sp\29 +965:SkOpSpanBase::contains\28SkOpSegment\20const*\29\20const +966:SkMipmap::ComputeLevelCount\28int\2c\20int\29 +967:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint\20const*\2c\20int\29\20const +968:SkMatrix::isSimilarity\28float\29\20const +969:SkKnownRuntimeEffects::GetKnownRuntimeEffect\28SkKnownRuntimeEffects::StableKey\29 +970:SkIDChangeListener::List::changed\28\29 +971:SkDynamicMemoryWStream::detachAsData\28\29 +972:SkColorSpace::Equals\28SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +973:SkColorFilter::filterColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\2c\20SkColorSpace*\29\20const +974:SkCanvas::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +975:SkAutoPixmapStorage::SkAutoPixmapStorage\28\29 +976:SkAAClipBlitterWrapper::init\28SkRasterClip\20const&\2c\20SkBlitter*\29 +977:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28\29 +978:RunBasedAdditiveBlitter::flush\28\29 +979:GrSurface::onRelease\28\29 +980:GrStyledShape::unstyledKeySize\28\29\20const +981:GrShape::convex\28bool\29\20const +982:GrRecordingContext::threadSafeCache\28\29 +983:GrProxyProvider::caps\28\29\20const +984:GrOp::GrOp\28unsigned\20int\29 +985:GrMakeUncachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +986:GrGLSLShaderBuilder::getMangledFunctionName\28char\20const*\29 +987:GrGLGpu::bindBuffer\28GrGpuBufferType\2c\20GrBuffer\20const*\29 +988:GrGLAttribArrayState::set\28GrGLGpu*\2c\20int\2c\20GrBuffer\20const*\2c\20GrVertexAttribType\2c\20SkSLType\2c\20int\2c\20unsigned\20long\2c\20int\29 +989:GrAAConvexTessellator::Ring::computeNormals\28GrAAConvexTessellator\20const&\29 +990:GrAAConvexTessellator::Ring::computeBisectors\28GrAAConvexTessellator\20const&\29 +991:FT_Activate_Size +992:Cr_z_adler32 +993:vsnprintf +994:void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +995:void\20extend_pts<\28SkPaint::Cap\291>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +996:top12 +997:toSkImageInfo\28SimpleImageInfo\20const&\29 +998:std::__2::pair::type\2c\20std::__2::__unwrap_ref_decay::type>\20std::__2::make_pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +999:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +1000:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +1001:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::destroy\28std::__2::__tree_node\2c\20void*>*\29 +1002:std::__2::__num_put_base::__identify_padding\28char*\2c\20char*\2c\20std::__2::ios_base\20const&\29 +1003:std::__2::__num_get_base::__get_base\28std::__2::ios_base&\29 +1004:std::__2::__libcpp_asprintf_l\28char**\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +1005:skia_private::THashTable::Traits>::removeSlot\28int\29 +1006:skia_png_zstream_error +1007:skia::textlayout::TextLine::iterateThroughVisualRuns\28bool\2c\20std::__2::function\2c\20float*\29>\20const&\29\20const +1008:skia::textlayout::ParagraphImpl::cluster\28unsigned\20long\29 +1009:skia::textlayout::Cluster::runOrNull\28\29\20const +1010:skgpu::ganesh::SurfaceFillContext::replaceOpsTask\28\29 +1011:skcms_TransferFunction_getType +1012:skcms_GetTagBySignature +1013:read_curve\28unsigned\20char\20const*\2c\20unsigned\20int\2c\20skcms_Curve*\2c\20unsigned\20int*\29 +1014:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1015:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1016:hb_serialize_context_t::pop_pack\28bool\29 +1017:hb_lazy_loader_t\2c\20hb_face_t\2c\206u\2c\20hb_blob_t>::get\28\29\20const +1018:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::__wrap_iter\20const&\2c\20std::__2::__wrap_iter\20const&\29 +1019:afm_parser_read_vals +1020:__extenddftf2 +1021:\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1022:\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1023:\28anonymous\20namespace\29::colrv1_transform\28FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\2c\20SkCanvas*\2c\20SkMatrix*\29 +1024:WebPRescalerImport +1025:SkTDStorage::removeShuffle\28int\29 +1026:SkString::SkString\28char\20const*\2c\20unsigned\20long\29 +1027:SkScan::HairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1028:SkSL::ProgramUsage::get\28SkSL::Variable\20const&\29\20const +1029:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29 +1030:SkSL::InlineCandidateAnalyzer::visitExpression\28std::__2::unique_ptr>*\29 +1031:SkSL::GLSLCodeGenerator::getTypePrecision\28SkSL::Type\20const&\29 +1032:SkReadBuffer::readByteArray\28void*\2c\20unsigned\20long\29 +1033:SkRasterPipeline::run\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +1034:SkRBuffer::read\28void*\2c\20unsigned\20long\29 +1035:SkPictureData::optionalPaint\28SkReadBuffer*\29\20const +1036:SkPathWriter::isClosed\28\29\20const +1037:SkPath::isRect\28SkRect*\2c\20bool*\2c\20SkPathDirection*\29\20const +1038:SkPath::getGenerationID\28\29\20const +1039:SkPaint::setStrokeWidth\28float\29 +1040:SkOpSegment::nextChase\28SkOpSpanBase**\2c\20int*\2c\20SkOpSpan**\2c\20SkOpSpanBase**\29\20const +1041:SkOpSegment::addCurveTo\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkPathWriter*\29\20const +1042:SkMemoryStream::Make\28sk_sp\29 +1043:SkMatrix::preScale\28float\2c\20float\29 +1044:SkMatrix::postScale\28float\2c\20float\29 +1045:SkMask::computeImageSize\28\29\20const +1046:SkIntersections::removeOne\28int\29 +1047:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\29 +1048:SkDevice::makeSpecial\28SkBitmap\20const&\29 +1049:SkDLine::ptAtT\28double\29\20const +1050:SkBulkGlyphMetrics::~SkBulkGlyphMetrics\28\29 +1051:SkBitmap::peekPixels\28SkPixmap*\29\20const +1052:SkAAClip::setEmpty\28\29 +1053:PS_Conv_Strtol +1054:OT::Layout::GSUB_impl::SubstLookup*\20hb_serialize_context_t::push\28\29 +1055:GrTriangulator::makeConnectingEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\2c\20int\29 +1056:GrTextureProxy::~GrTextureProxy\28\29 +1057:GrSimpleMeshDrawOpHelper::createProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1058:GrResourceAllocator::addInterval\28GrSurfaceProxy*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20GrResourceAllocator::ActualUse\2c\20GrResourceAllocator::AllowRecycling\29 +1059:GrRecordingContextPriv::makeSFCWithFallback\28GrImageInfo\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1060:GrGpuBuffer::updateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +1061:GrGLTextureParameters::NonsamplerState::NonsamplerState\28\29 +1062:GrGLSLShaderBuilder::~GrGLSLShaderBuilder\28\29 +1063:GrGLSLProgramBuilder::nameVariable\28char\2c\20char\20const*\2c\20bool\29 +1064:GrGLGpu::prepareToDraw\28GrPrimitiveType\29 +1065:GrGLFormatFromGLEnum\28unsigned\20int\29 +1066:GrBackendTexture::getBackendFormat\28\29\20const +1067:GrBackendFormats::MakeGL\28unsigned\20int\2c\20unsigned\20int\29 +1068:GrBackendFormatToCompressionType\28GrBackendFormat\20const&\29 +1069:FilterLoop24_C +1070:FT_Stream_Skip +1071:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1072:AAT::Lookup::sanitize\28hb_sanitize_context_t*\29\20const +1073:uprv_free_skia +1074:strcpy +1075:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +1076:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\20const*\2c\20char\20const*\29\20const +1077:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::writeTriangleStack\28skgpu::tess::MiddleOutPolygonTriangulator::PoppedTriangleStack&&\29 +1078:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +1079:std::__2::char_traits::eq_int_type\28int\2c\20int\29 +1080:std::__2::basic_string\2c\20std::__2::allocator>::__get_long_cap\5babi:v160004\5d\28\29\20const +1081:skif::LayerSpace::ceil\28\29\20const +1082:skia_private::TArray::push_back\28float\20const&\29 +1083:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1084:skia_png_write_finish_row +1085:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29 +1086:scalbn +1087:hb_lazy_loader_t\2c\20hb_face_t\2c\2022u\2c\20hb_blob_t>::get\28\29\20const +1088:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::get\28\29\20const +1089:hb_buffer_get_glyph_infos +1090:hb_buffer_destroy +1091:cff2_path_param_t::line_to\28CFF::point_t\20const&\29 +1092:cff1_path_param_t::line_to\28CFF::point_t\20const&\29 +1093:cf2_stack_getReal +1094:byn$mgfn-shared$GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +1095:antifilldot8\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\2c\20bool\29 +1096:afm_stream_skip_spaces +1097:WebPRescalerInit +1098:WebPRescalerExportRow +1099:SkWStream::writeDecAsText\28int\29 +1100:SkTextBlobBuilder::allocInternal\28SkFont\20const&\2c\20SkTextBlob::GlyphPositioning\2c\20int\2c\20int\2c\20SkPoint\2c\20SkRect\20const*\29 +1101:SkTDStorage::append\28void\20const*\2c\20int\29 +1102:SkString::Rec::Make\28char\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +1103:SkStrike::digestFor\28skglyph::ActionType\2c\20SkPackedGlyphID\29 +1104:SkShaders::Color\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\29 +1105:SkShader::makeWithLocalMatrix\28SkMatrix\20const&\29\20const +1106:SkSafeMath::Add\28unsigned\20long\2c\20unsigned\20long\29 +1107:SkSL::Parser::assignmentExpression\28\29 +1108:SkSL::ConstructorSplat::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1109:SkSL::ConstructorScalarCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1110:SkResourceCache::Find\28SkResourceCache::Key\20const&\2c\20bool\20\28*\29\28SkResourceCache::Rec\20const&\2c\20void*\29\2c\20void*\29 +1111:SkRegion::SkRegion\28SkIRect\20const&\29 +1112:SkRect::toQuad\28SkPoint*\29\20const +1113:SkRasterPipeline::appendTransferFunction\28skcms_TransferFunction\20const&\29 +1114:SkRasterPipeline::appendStore\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +1115:SkRasterPipeline::appendConstantColor\28SkArenaAlloc*\2c\20float\20const*\29 +1116:SkRasterClip::SkRasterClip\28\29 +1117:SkRRect::checkCornerContainment\28float\2c\20float\29\20const +1118:SkPictureData::getImage\28SkReadBuffer*\29\20const +1119:SkPathMeasure::getLength\28\29 +1120:SkPathBuilder::~SkPathBuilder\28\29 +1121:SkPathBuilder::detach\28\29 +1122:SkPathBuilder::SkPathBuilder\28\29 +1123:SkPath::addPoly\28SkPoint\20const*\2c\20int\2c\20bool\29 +1124:SkPaint::refPathEffect\28\29\20const +1125:SkMipmap::getLevel\28int\2c\20SkMipmap::Level*\29\20const +1126:SkJSONWriter::endArray\28\29 +1127:SkJSONWriter::appendCString\28char\20const*\2c\20char\20const*\29 +1128:SkIntersections::setCoincident\28int\29 +1129:SkImageInfo::computeOffset\28int\2c\20int\2c\20unsigned\20long\29\20const +1130:SkImageFilter_Base::flatten\28SkWriteBuffer&\29\20const +1131:SkImageFilter::countInputs\28\29\20const +1132:SkDrawBase::SkDrawBase\28\29 +1133:SkDLine::NearPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1134:SkDLine::NearPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1135:SkDLine::ExactPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1136:SkDLine::ExactPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1137:SkColorSpaceXformSteps::apply\28SkRasterPipeline*\29\20const +1138:SkColorFilter::asAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +1139:SkCodec::SkCodec\28SkEncodedInfo&&\2c\20skcms_PixelFormat\2c\20std::__2::unique_ptr>\2c\20SkEncodedOrigin\29 +1140:SkCanvas::drawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +1141:SkCanvas::drawColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +1142:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\2c\20SkEnumBitMask\29 +1143:SkBulkGlyphMetrics::SkBulkGlyphMetrics\28SkStrikeSpec\20const&\29 +1144:SkBlockAllocator::releaseBlock\28SkBlockAllocator::Block*\29 +1145:SkBitmap::asImage\28\29\20const +1146:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1147:OT::MVAR::get_var\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29\20const +1148:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\2c\20bool\2c\20GrProcessorAnalysisCoverage\29 +1149:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20GrCaps\20const&\2c\20float\20const*\29 +1150:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\29 +1151:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1152:GrResourceProvider::findResourceByUniqueKey\28skgpu::UniqueKey\20const&\29 +1153:GrRecordingContext::OwnedArenas::get\28\29 +1154:GrProxyProvider::createProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\29 +1155:GrProxyProvider::assignUniqueKeyToProxy\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\29 +1156:GrProcessorSet::finalize\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkRGBA4f<\28SkAlphaType\292>*\29 +1157:GrOpFlushState::allocator\28\29 +1158:GrOp::cutChain\28\29 +1159:GrMeshDrawTarget::makeVertexWriter\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +1160:GrGpuResource::GrGpuResource\28GrGpu*\2c\20std::__2::basic_string_view>\29 +1161:GrGeometryProcessor::TextureSampler::reset\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +1162:GrGeometryProcessor::AttributeSet::end\28\29\20const +1163:GrGeometryProcessor::AttributeSet::Iter::operator++\28\29 +1164:GrGeometryProcessor::AttributeSet::Iter::operator*\28\29\20const +1165:GrGLTextureParameters::set\28GrGLTextureParameters::SamplerOverriddenState\20const*\2c\20GrGLTextureParameters::NonsamplerState\20const&\2c\20unsigned\20long\20long\29 +1166:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29 +1167:GrBackendTexture::~GrBackendTexture\28\29 +1168:FT_Outline_Get_CBox +1169:FT_Get_Sfnt_Table +1170:std::__2::vector>::__destroy_vector::__destroy_vector\28std::__2::vector>&\29 +1171:std::__2::moneypunct::negative_sign\5babi:v160004\5d\28\29\20const +1172:std::__2::moneypunct::neg_format\5babi:v160004\5d\28\29\20const +1173:std::__2::moneypunct::frac_digits\5babi:v160004\5d\28\29\20const +1174:std::__2::moneypunct::do_pos_format\28\29\20const +1175:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +1176:std::__2::char_traits::copy\28wchar_t*\2c\20wchar_t\20const*\2c\20unsigned\20long\29 +1177:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1178:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1179:std::__2::basic_string\2c\20std::__2::allocator>::__set_size\5babi:v160004\5d\28unsigned\20long\29 +1180:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\2c\20unsigned\20long\29 +1181:std::__2::__itoa::__append2\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1182:snprintf +1183:sktext::gpu::GlyphVector::glyphs\28\29\20const +1184:sktext::SkStrikePromise::SkStrikePromise\28sktext::SkStrikePromise&&\29 +1185:skif::FilterResult::resolve\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +1186:skif::FilterResult::analyzeBounds\28SkMatrix\20const&\2c\20SkIRect\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +1187:skia_png_read_finish_row +1188:skia_png_handle_unknown +1189:skia_png_gamma_correct +1190:skia_png_colorspace_sync +1191:skia_png_app_warning +1192:skia::textlayout::TextStyle::operator=\28skia::textlayout::TextStyle\20const&\29 +1193:skia::textlayout::TextLine::offset\28\29\20const +1194:skia::textlayout::Run::placeholderStyle\28\29\20const +1195:skia::textlayout::Cluster::Cluster\28skia::textlayout::ParagraphImpl*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkSpan\2c\20float\2c\20float\29 +1196:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1197:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20std::__2::basic_string_view>\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1198:skgpu::ganesh::SurfaceContext::PixelTransferResult::~PixelTransferResult\28\29 +1199:skgpu::ganesh::ClipStack::SaveRecord::state\28\29\20const +1200:sk_doubles_nearly_equal_ulps\28double\2c\20double\2c\20unsigned\20char\29 +1201:ps_parser_to_token +1202:isspace +1203:hb_face_t::load_upem\28\29\20const +1204:hb_buffer_t::merge_out_clusters\28unsigned\20int\2c\20unsigned\20int\29 +1205:hb_buffer_t::enlarge\28unsigned\20int\29 +1206:hb_buffer_reverse +1207:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29\2c\20SkCanvas*\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint*\29 +1208:cff_index_init +1209:cf2_glyphpath_curveTo +1210:atan2f +1211:WebPCopyPlane +1212:SkTMaskGamma_build_correcting_lut\28unsigned\20char*\2c\20unsigned\20int\2c\20float\2c\20SkColorSpaceLuminance\20const&\2c\20float\29 +1213:SkSurface_Raster::type\28\29\20const +1214:SkString::swap\28SkString&\29 +1215:SkString::reset\28\29 +1216:SkSampler::Fill\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\29 +1217:SkSL::Type::MakeTextureType\28char\20const*\2c\20SpvDim_\2c\20bool\2c\20bool\2c\20bool\2c\20SkSL::Type::TextureAccess\29 +1218:SkSL::Type::MakeSpecialType\28char\20const*\2c\20char\20const*\2c\20SkSL::Type::TypeKind\29 +1219:SkSL::RP::Builder::push_slots_or_immutable\28SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +1220:SkSL::RP::Builder::push_clone_from_stack\28SkSL::RP::SlotRange\2c\20int\2c\20int\29 +1221:SkSL::Program::~Program\28\29 +1222:SkSL::PipelineStage::PipelineStageCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1223:SkSL::Operator::isAssignment\28\29\20const +1224:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mul\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +1225:SkSL::InlineCandidateAnalyzer::visitStatement\28std::__2::unique_ptr>*\2c\20bool\29 +1226:SkSL::GLSLCodeGenerator::writeModifiers\28SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20bool\29 +1227:SkSL::ExpressionStatement::Make\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1228:SkSL::ConstructorCompound::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +1229:SkSL::Analysis::GetReturnComplexity\28SkSL::FunctionDefinition\20const&\29 +1230:SkSL::AliasType::resolve\28\29\20const +1231:SkResourceCache::Add\28SkResourceCache::Rec*\2c\20void*\29 +1232:SkRegion::writeToMemory\28void*\29\20const +1233:SkReadBuffer::readMatrix\28SkMatrix*\29 +1234:SkReadBuffer::readBool\28\29 +1235:SkRasterClip::setRect\28SkIRect\20const&\29 +1236:SkRasterClip::SkRasterClip\28SkRasterClip\20const&\29 +1237:SkPathMeasure::~SkPathMeasure\28\29 +1238:SkPathMeasure::SkPathMeasure\28SkPath\20const&\2c\20bool\2c\20float\29 +1239:SkPath::swap\28SkPath&\29 +1240:SkParse::FindScalars\28char\20const*\2c\20float*\2c\20int\29 +1241:SkPaint::operator=\28SkPaint\20const&\29 +1242:SkOpSpan::computeWindSum\28\29 +1243:SkOpSegment::existing\28double\2c\20SkOpSegment\20const*\29\20const +1244:SkOpPtT::find\28SkOpSegment\20const*\29\20const +1245:SkOpCoincidence::addEndMovedSpans\28SkOpSpan\20const*\2c\20SkOpSpanBase\20const*\29 +1246:SkNoDrawCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1247:SkMakeImageFromRasterBitmap\28SkBitmap\20const&\2c\20SkCopyPixelsMode\29 +1248:SkImage_Ganesh::SkImage_Ganesh\28sk_sp\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20SkColorInfo\29 +1249:SkImageInfo::makeColorSpace\28sk_sp\29\20const +1250:SkImage::refColorSpace\28\29\20const +1251:SkGlyph::imageSize\28\29\20const +1252:SkFont::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +1253:SkFont::setSubpixel\28bool\29 +1254:SkDraw::SkDraw\28\29 +1255:SkColorTypeBytesPerPixel\28SkColorType\29 +1256:SkColorFilter::makeComposed\28sk_sp\29\20const +1257:SkChopQuadAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +1258:SkCanvas::drawImageRect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1259:SkBmpCodec::getDstRow\28int\2c\20int\29\20const +1260:SkBlockMemoryStream::getLength\28\29\20const +1261:SkAutoDescriptor::SkAutoDescriptor\28\29 +1262:OT::DeltaSetIndexMap::sanitize\28hb_sanitize_context_t*\29\20const +1263:OT::ClassDef::sanitize\28hb_sanitize_context_t*\29\20const +1264:GrTriangulator::Comparator::sweep_lt\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +1265:GrTextureProxy::textureType\28\29\20const +1266:GrSurfaceProxy::createSurfaceImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\29\20const +1267:GrStyledShape::writeUnstyledKey\28unsigned\20int*\29\20const +1268:GrStyledShape::simplify\28\29 +1269:GrSkSLFP::setInput\28std::__2::unique_ptr>\29 +1270:GrSimpleMeshDrawOpHelperWithStencil::GrSimpleMeshDrawOpHelperWithStencil\28GrProcessorSet*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +1271:GrShape::operator=\28GrShape\20const&\29 +1272:GrResourceProvider::createPatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const*\29 +1273:GrRenderTarget::~GrRenderTarget\28\29 +1274:GrRecordingContextPriv::makeSC\28GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1275:GrOpFlushState::detachAppliedClip\28\29 +1276:GrGpuBuffer::map\28\29 +1277:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\29 +1278:GrGLSLShaderBuilder::declAppend\28GrShaderVar\20const&\29 +1279:GrGLGpu::didDrawTo\28GrRenderTarget*\29 +1280:GrFragmentProcessors::Make\28GrRecordingContext*\2c\20SkColorFilter\20const*\2c\20std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1281:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +1282:GrCaps::validateSurfaceParams\28SkISize\20const&\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20GrTextureType\29\20const +1283:GrBufferAllocPool::putBack\28unsigned\20long\29 +1284:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29::$_0::operator\28\29\28SkIRect\2c\20SkIRect\29\20const +1285:GrBackendTexture::GrBackendTexture\28\29 +1286:GrAAConvexTessellator::createInsetRing\28GrAAConvexTessellator::Ring\20const&\2c\20GrAAConvexTessellator::Ring*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +1287:FT_Stream_GetByte +1288:FT_Set_Transform +1289:FT_Add_Module +1290:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +1291:AlmostLessOrEqualUlps\28float\2c\20float\29 +1292:ActiveEdge::intersect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29\20const +1293:wrapper_cmp +1294:void\20std::__2::reverse\5babi:v160004\5d\28char*\2c\20char*\29 +1295:void\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__do_rehash\28unsigned\20long\29 +1296:ubidi_getParaLevelAtIndex_skia +1297:tanf +1298:std::__2::vector>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29 +1299:std::__2::vector>::capacity\5babi:v160004\5d\28\29\20const +1300:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ios_base&\2c\20wchar_t\29 +1301:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ios_base&\2c\20char\29 +1302:std::__2::char_traits::to_int_type\28char\29 +1303:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1304:std::__2::basic_ios>::~basic_ios\28\29 +1305:std::__2::basic_ios>::setstate\5babi:v160004\5d\28unsigned\20int\29 +1306:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28void\20\28*&&\29\28void*\29\29 +1307:sktext::gpu::GlyphVector::~GlyphVector\28\29 +1308:sktext::StrikeMutationMonitor::~StrikeMutationMonitor\28\29 +1309:sktext::StrikeMutationMonitor::StrikeMutationMonitor\28sktext::StrikeForGPU*\29 +1310:skif::RoundOut\28SkRect\29 +1311:skif::LayerSpace::contains\28skif::LayerSpace\20const&\29\20const +1312:skif::FilterResult::AutoSurface::snap\28\29 +1313:skif::FilterResult::AutoSurface::AutoSurface\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\2c\20bool\2c\20SkSurfaceProps\20const*\29 +1314:skif::Backend::~Backend\28\29.1 +1315:skia_private::TArray::push_back\28skif::FilterResult::Builder::SampledFilterResult&&\29 +1316:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::~STArray\28\29 +1317:skia_png_chunk_unknown_handling +1318:skia::textlayout::TextStyle::TextStyle\28\29 +1319:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const +1320:skgpu::ganesh::SurfaceFillContext::internalClear\28SkIRect\20const*\2c\20std::__2::array\2c\20bool\29 +1321:skgpu::ganesh::SurfaceDrawContext::fillRectToRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +1322:skgpu::SkSLToBackend\28SkSL::ShaderCaps\20const*\2c\20bool\20\28*\29\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20skgpu::ShaderErrorHandler*\29 +1323:skgpu::GetApproxSize\28SkISize\29 +1324:skcms_Matrix3x3_invert +1325:non-virtual\20thunk\20to\20GrOpFlushState::allocator\28\29 +1326:hb_lazy_loader_t\2c\20hb_face_t\2c\2011u\2c\20hb_blob_t>::get\28\29\20const +1327:hb_lazy_loader_t\2c\20hb_face_t\2c\202u\2c\20hb_blob_t>::get\28\29\20const +1328:hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +1329:hb_font_t::scale_glyph_extents\28hb_glyph_extents_t*\29 +1330:hb_font_t::get_glyph_h_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +1331:hb_buffer_append +1332:emscripten::internal::MethodInvoker\29\2c\20void\2c\20SkFont*\2c\20sk_sp>::invoke\28void\20\28SkFont::*\20const&\29\28sk_sp\29\2c\20SkFont*\2c\20sk_sp*\29 +1333:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28\29\29 +1334:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +1335:cos +1336:cf2_glyphpath_lineTo +1337:byn$mgfn-shared$SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +1338:alloc_small +1339:af_latin_hints_compute_segments +1340:_hb_glyph_info_set_unicode_props\28hb_glyph_info_t*\2c\20hb_buffer_t*\29 +1341:__lshrti3 +1342:__letf2 +1343:__cxx_global_array_dtor.3 +1344:\28anonymous\20namespace\29::SkBlurImageFilter::~SkBlurImageFilter\28\29 +1345:SkUTF::ToUTF16\28int\2c\20unsigned\20short*\29 +1346:SkTextBlobBuilder::~SkTextBlobBuilder\28\29 +1347:SkTextBlobBuilder::make\28\29 +1348:SkSurfaces::RenderTarget\28GrRecordingContext*\2c\20skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20int\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const*\2c\20bool\2c\20bool\29 +1349:SkSurface::makeImageSnapshot\28\29 +1350:SkString::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +1351:SkString::insertUnichar\28unsigned\20long\2c\20int\29 +1352:SkStrikeSpec::findOrCreateScopedStrike\28sktext::StrikeForGPUCacheInterface*\29\20const +1353:SkStrikeCache::GlobalStrikeCache\28\29 +1354:SkShader::isAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +1355:SkSL::is_constant_value\28SkSL::Expression\20const&\2c\20double\29 +1356:SkSL::evaluate_pairwise_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +1357:SkSL::compile_and_shrink\28SkSL::Compiler*\2c\20SkSL::ProgramKind\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Module\20const*\29 +1358:SkSL::\28anonymous\20namespace\29::ReturnsOnAllPathsVisitor::visitStatement\28SkSL::Statement\20const&\29 +1359:SkSL::Type::MakeScalarType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type::NumberKind\2c\20signed\20char\2c\20signed\20char\29 +1360:SkSL::RP::Generator::pushBinaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +1361:SkSL::RP::Builder::push_clone\28int\2c\20int\29 +1362:SkSL::ProgramUsage::remove\28SkSL::Statement\20const*\29 +1363:SkSL::Parser::statement\28bool\29 +1364:SkSL::Operator::determineBinaryType\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\29\20const +1365:SkSL::ModifierFlags::description\28\29\20const +1366:SkSL::Layout::paddedDescription\28\29\20const +1367:SkSL::GetModuleData\28SkSL::ModuleName\2c\20char\20const*\29 +1368:SkSL::FieldAccess::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +1369:SkSL::ConstructorCompoundCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1370:SkSL::Compiler::~Compiler\28\29 +1371:SkSL::Analysis::IsSameExpressionTree\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1372:SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +1373:SkRect\20skif::Mapping::map\28SkRect\20const&\2c\20SkMatrix\20const&\29 +1374:SkRectPriv::Subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkIRect*\29 +1375:SkPictureRecorder::SkPictureRecorder\28\29 +1376:SkPictureData::~SkPictureData\28\29 +1377:SkPathMeasure::nextContour\28\29 +1378:SkPathMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29 +1379:SkPathMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29 +1380:SkPathBuilder::lineTo\28SkPoint\29 +1381:SkPath::getPoint\28int\29\20const +1382:SkPath::getLastPt\28SkPoint*\29\20const +1383:SkPaint::setBlender\28sk_sp\29 +1384:SkPaint::setAlphaf\28float\29 +1385:SkOpSegment::addT\28double\29 +1386:SkNoPixelsDevice::ClipState&\20skia_private::TArray::emplace_back\28SkIRect&&\2c\20bool&&\2c\20bool&&\29 +1387:SkNextID::ImageID\28\29 +1388:SkMessageBus::Inbox::Inbox\28unsigned\20int\29 +1389:SkJSONWriter::endObject\28\29 +1390:SkImage_Lazy::generator\28\29\20const +1391:SkImage_Base::~SkImage_Base\28\29 +1392:SkImage_Base::SkImage_Base\28SkImageInfo\20const&\2c\20unsigned\20int\29 +1393:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +1394:SkImage::isAlphaOnly\28\29\20const +1395:SkFont::getWidthsBounds\28unsigned\20short\20const*\2c\20int\2c\20float*\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +1396:SkFont::getMetrics\28SkFontMetrics*\29\20const +1397:SkFont::SkFont\28sk_sp\2c\20float\29 +1398:SkFont::SkFont\28\29 +1399:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20SkRect\20const*\29\20const +1400:SkDevice::setGlobalCTM\28SkM44\20const&\29 +1401:SkDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +1402:SkDescriptor::operator==\28SkDescriptor\20const&\29\20const +1403:SkConvertPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +1404:SkConic::chopAt\28float\2c\20SkConic*\29\20const +1405:SkColorSpace::gammaIsLinear\28\29\20const +1406:SkColorSpace::MakeRGB\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +1407:SkCodec::fillIncompleteImage\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\2c\20int\2c\20int\29 +1408:SkCanvas::saveLayer\28SkRect\20const*\2c\20SkPaint\20const*\29 +1409:SkCanvas::drawPaint\28SkPaint\20const&\29 +1410:SkCanvas::ImageSetEntry::~ImageSetEntry\28\29 +1411:SkBulkGlyphMetrics::glyphs\28SkSpan\29 +1412:SkBitmap::operator=\28SkBitmap&&\29 +1413:SkBitmap::getGenerationID\28\29\20const +1414:SkArenaAllocWithReset::reset\28\29 +1415:OT::Layout::GPOS_impl::AnchorFormat3::sanitize\28hb_sanitize_context_t*\29\20const +1416:OT::GDEF::get_glyph_props\28unsigned\20int\29\20const +1417:OT::CmapSubtable::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +1418:Ins_UNKNOWN +1419:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\2c\20bool\29 +1420:GrSurfaceProxyView::mipmapped\28\29\20const +1421:GrSurfaceProxy::instantiateImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::UniqueKey\20const*\29 +1422:GrSimpleMeshDrawOpHelperWithStencil::isCompatible\28GrSimpleMeshDrawOpHelperWithStencil\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +1423:GrSimpleMeshDrawOpHelperWithStencil::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1424:GrShape::simplifyRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +1425:GrQuad::projectedBounds\28\29\20const +1426:GrProcessorSet::MakeEmptySet\28\29 +1427:GrPorterDuffXPFactory::SimpleSrcOverXP\28\29 +1428:GrPixmap::Allocate\28GrImageInfo\20const&\29 +1429:GrPathTessellationShader::MakeSimpleTriangleShader\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +1430:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29 +1431:GrImageInfo::operator=\28GrImageInfo&&\29 +1432:GrImageInfo::makeColorType\28GrColorType\29\20const +1433:GrGpuResource::setUniqueKey\28skgpu::UniqueKey\20const&\29 +1434:GrGpuResource::release\28\29 +1435:GrGpuResource::isPurgeable\28\29\20const +1436:GrGeometryProcessor::textureSampler\28int\29\20const +1437:GrGeometryProcessor::AttributeSet::begin\28\29\20const +1438:GrGLSLShaderBuilder::addFeature\28unsigned\20int\2c\20char\20const*\29 +1439:GrGLGpu::clearErrorsAndCheckForOOM\28\29 +1440:GrGLGpu::bindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\2c\20GrGLGpu::TempFBOTarget\29 +1441:GrGLCompileAndAttachShader\28GrGLContext\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20bool\2c\20GrThreadSafePipelineBuilder::Stats*\2c\20skgpu::ShaderErrorHandler*\29 +1442:GrFragmentProcessor::MakeColor\28SkRGBA4f<\28SkAlphaType\292>\29 +1443:GrDirectContextPriv::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +1444:GrDefaultGeoProcFactory::Make\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +1445:GrConvertPixels\28GrPixmap\20const&\2c\20GrCPixmap\20const&\2c\20bool\29 +1446:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +1447:GrColorInfo::GrColorInfo\28\29 +1448:GrBlurUtils::convolve_gaussian_1d\28skgpu::ganesh::SurfaceFillContext*\2c\20GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\2c\20SkIRect\20const&\2c\20SkAlphaType\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\29 +1449:GrBackendFormat::operator=\28GrBackendFormat\20const&\29 +1450:FT_Stream_Read +1451:FT_GlyphLoader_Rewind +1452:FT_Done_Face +1453:Cr_z_inflate +1454:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1455:void\20std::__2::__stable_sort\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +1456:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20unsigned\20int*&\2c\20unsigned\20int*&\29 +1457:void\20hb_serialize_context_t::add_link\2c\20true>>\28OT::OffsetTo\2c\20true>&\2c\20unsigned\20int\2c\20hb_serialize_context_t::whence_t\2c\20unsigned\20int\29 +1458:void\20emscripten::internal::MemberAccess::setWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20bool\29 +1459:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +1460:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +1461:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +1462:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +1463:toupper +1464:top12.2 +1465:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1466:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1467:std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>::type\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29\20const +1468:std::__2::ctype::narrow\5babi:v160004\5d\28char\2c\20char\29\20const +1469:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\29 +1470:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1471:std::__2::basic_streambuf>::~basic_streambuf\28\29 +1472:std::__2::basic_streambuf>::setg\5babi:v160004\5d\28char*\2c\20char*\2c\20char*\29 +1473:std::__2::__num_get::__stage2_int_loop\28wchar_t\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20wchar_t\20const*\29 +1474:std::__2::__num_get::__stage2_int_loop\28char\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20char\20const*\29 +1475:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1476:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1477:src_p\28unsigned\20char\2c\20unsigned\20char\29 +1478:skif::FilterResult::subset\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +1479:skif::FilterResult::operator=\28skif::FilterResult&&\29 +1480:skia_private::THashMap::operator\5b\5d\28SkSL::Variable\20const*\20const&\29 +1481:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1482:skia_private::TArray::resize_back\28int\29 +1483:skia_png_get_valid +1484:skia_png_gamma_8bit_correct +1485:skia_png_free_data +1486:skia_png_chunk_warning +1487:skia::textlayout::TextLine::measureTextInsideOneRun\28skia::textlayout::SkRange\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20float\2c\20bool\2c\20skia::textlayout::TextLine::TextAdjustment\29\20const +1488:skia::textlayout::Run::positionX\28unsigned\20long\29\20const +1489:skia::textlayout::Run::Run\28skia::textlayout::ParagraphImpl*\2c\20SkShaper::RunHandler::RunInfo\20const&\2c\20unsigned\20long\2c\20float\2c\20bool\2c\20float\2c\20unsigned\20long\2c\20float\29 +1490:skia::textlayout::ParagraphCacheKey::operator==\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +1491:skia::textlayout::FontCollection::enableFontFallback\28\29 +1492:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::chopAndWriteCubics\28skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20int\29 +1493:skgpu::ganesh::SmallPathAtlasMgr::reset\28\29 +1494:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::vertexSize\28\29\20const +1495:skgpu::ganesh::Device::readSurfaceView\28\29 +1496:skgpu::ganesh::ClipStack::clip\28skgpu::ganesh::ClipStack::RawElement&&\29 +1497:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::RawElement\20const&\29\20const +1498:skgpu::ganesh::ClipStack::RawElement::RawElement\28SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\2c\20SkClipOp\29 +1499:skgpu::TAsyncReadResult::Plane&\20skia_private::TArray::Plane\2c\20false>::emplace_back\2c\20unsigned\20long&>\28sk_sp&&\2c\20unsigned\20long&\29 +1500:skgpu::Swizzle::asString\28\29\20const +1501:skgpu::ScratchKey::GenerateResourceType\28\29 +1502:skgpu::GetBlendFormula\28bool\2c\20bool\2c\20SkBlendMode\29 +1503:select_curve_ops\28skcms_Curve\20const*\2c\20int\2c\20OpAndArg*\29 +1504:sbrk +1505:ps_tofixedarray +1506:processPropertySeq\28UBiDi*\2c\20LevState*\2c\20unsigned\20char\2c\20int\2c\20int\29 +1507:png_format_buffer +1508:png_check_keyword +1509:nextafterf +1510:jpeg_huff_decode +1511:hb_unicode_funcs_destroy +1512:hb_serialize_context_t::pop_discard\28\29 +1513:hb_buffer_set_flags +1514:hb_blob_create_sub_blob +1515:hb_array_t::hash\28\29\20const +1516:hairquad\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1517:haircubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1518:fmt_u +1519:flush_pending +1520:emscripten::internal::Invoker>::invoke\28sk_sp\20\28*\29\28\29\29 +1521:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\29\2c\20SkPath*\29 +1522:do_fixed +1523:destroy_face +1524:decltype\28fp\28\28SkRecords::NoOp*\29\28nullptr\29\29\29\20SkRecord::Record::mutate\28SkRecord::Destroyer&\29 +1525:char*\20const&\20std::__2::max\5babi:v160004\5d\28char*\20const&\2c\20char*\20const&\29 +1526:cf2_stack_pushInt +1527:cf2_interpT2CharString +1528:cf2_glyphpath_moveTo +1529:byn$mgfn-shared$SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +1530:byn$mgfn-shared$GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +1531:bool\20hb_hashmap_t::set_with_hash\28unsigned\20int\20const&\2c\20unsigned\20int\2c\20unsigned\20int\20const&\2c\20bool\29 +1532:bool\20emscripten::internal::MemberAccess::getWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +1533:_hb_ot_metrics_get_position_common\28hb_font_t*\2c\20hb_ot_metrics_tag_t\2c\20int*\29 +1534:__tandf +1535:__floatunsitf +1536:__cxa_allocate_exception +1537:\28anonymous\20namespace\29::PathGeoBuilder::createMeshAndPutBackReserve\28\29 +1538:\28anonymous\20namespace\29::MeshOp::fixedFunctionFlags\28\29\20const +1539:\28anonymous\20namespace\29::DrawAtlasOpImpl::fixedFunctionFlags\28\29\20const +1540:WebPDemuxGetI +1541:VP8LDoFillBitWindow +1542:VP8LClear +1543:TT_Get_MM_Var +1544:SkWStream::writeScalar\28float\29 +1545:SkUTF::UTF8ToUTF16\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20unsigned\20long\29 +1546:SkTypeface::MakeEmpty\28\29 +1547:SkTSect::BinarySearch\28SkTSect*\2c\20SkTSect*\2c\20SkIntersections*\29 +1548:SkTConic::operator\5b\5d\28int\29\20const +1549:SkTBlockList::reset\28\29 +1550:SkTBlockList::reset\28\29 +1551:SkString::insertU32\28unsigned\20long\2c\20unsigned\20int\29 +1552:SkSpecialImages::MakeDeferredFromGpu\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1553:SkShaders::MatrixRec::applyForFragmentProcessor\28SkMatrix\20const&\29\20const +1554:SkScan::FillRect\28SkRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +1555:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1556:SkSL::optimize_comparison\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20bool\20\28*\29\28double\2c\20double\29\29 +1557:SkSL::Type::convertArraySize\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20long\20long\29\20const +1558:SkSL::String::appendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20...\29 +1559:SkSL::RP::Builder::dot_floats\28int\29 +1560:SkSL::ProgramUsage::get\28SkSL::FunctionDeclaration\20const&\29\20const +1561:SkSL::Parser::type\28SkSL::Modifiers*\29 +1562:SkSL::Parser::modifiers\28\29 +1563:SkSL::ConstructorDiagonalMatrix::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1564:SkSL::ConstructorArrayCast::~ConstructorArrayCast\28\29 +1565:SkSL::ConstantFolder::MakeConstantValueForVariable\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1566:SkSL::Compiler::Compiler\28\29 +1567:SkSL::Analysis::IsTrivialExpression\28SkSL::Expression\20const&\29 +1568:SkRuntimeShaderBuilder::~SkRuntimeShaderBuilder\28\29 +1569:SkRuntimeShaderBuilder::makeShader\28SkMatrix\20const*\29\20const +1570:SkRuntimeShaderBuilder::SkRuntimeShaderBuilder\28sk_sp\29 +1571:SkRuntimeEffectPriv::CanDraw\28SkCapabilities\20const*\2c\20SkRuntimeEffect\20const*\29 +1572:SkRegion::setPath\28SkPath\20const&\2c\20SkRegion\20const&\29 +1573:SkRegion::operator=\28SkRegion\20const&\29 +1574:SkRegion::op\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\29 +1575:SkRegion::Iterator::next\28\29 +1576:SkRasterPipeline::compile\28\29\20const +1577:SkRasterPipeline::appendClampIfNormalized\28SkImageInfo\20const&\29 +1578:SkRRect::transform\28SkMatrix\20const&\2c\20SkRRect*\29\20const +1579:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20SkBBHFactory*\29 +1580:SkPathWriter::finishContour\28\29 +1581:SkPathStroker::cubicPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +1582:SkPath::getSegmentMasks\28\29\20const +1583:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\29 +1584:SkPaintPriv::ComputeLuminanceColor\28SkPaint\20const&\29 +1585:SkPaint::nothingToDraw\28\29\20const +1586:SkPaint::isSrcOver\28\29\20const +1587:SkOpAngle::linesOnOriginalSide\28SkOpAngle\20const*\29 +1588:SkNotifyBitmapGenIDIsStale\28unsigned\20int\29 +1589:SkNoDrawCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +1590:SkMipmap::Build\28SkPixmap\20const&\2c\20SkDiscardableMemory*\20\28*\29\28unsigned\20long\29\2c\20bool\29 +1591:SkMeshSpecification::~SkMeshSpecification\28\29 +1592:SkMatrix::setSinCos\28float\2c\20float\2c\20float\2c\20float\29 +1593:SkMatrix::setRSXform\28SkRSXform\20const&\29 +1594:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint3\20const*\2c\20int\29\20const +1595:SkMaskBuilder::AllocImage\28unsigned\20long\2c\20SkMaskBuilder::AllocType\29 +1596:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_2D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1597:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1598:SkJSONWriter::appendString\28char\20const*\2c\20unsigned\20long\29 +1599:SkIntersections::insertNear\28double\2c\20double\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29 +1600:SkIntersections::flip\28\29 +1601:SkImageFilters::Empty\28\29 +1602:SkImageFilter_Base::~SkImageFilter_Base\28\29 +1603:SkGlyph::drawable\28\29\20const +1604:SkFont::unicharToGlyph\28int\29\20const +1605:SkFont::setTypeface\28sk_sp\29 +1606:SkFont::setHinting\28SkFontHinting\29 +1607:SkFindQuadMaxCurvature\28SkPoint\20const*\29 +1608:SkEvalCubicAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29 +1609:SkDrawTiler::stepAndSetupTileDraw\28\29 +1610:SkDrawTiler::SkDrawTiler\28SkBitmapDevice*\2c\20SkRect\20const*\29 +1611:SkDevice::accessPixels\28SkPixmap*\29 +1612:SkDeque::SkDeque\28unsigned\20long\2c\20void*\2c\20unsigned\20long\2c\20int\29 +1613:SkDCubic::FindExtrema\28double\20const*\2c\20double*\29 +1614:SkColorFilters::Blend\28unsigned\20int\2c\20SkBlendMode\29 +1615:SkCodec::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +1616:SkCanvas::topDevice\28\29\20const +1617:SkCanvas::internalRestore\28\29 +1618:SkCanvas::init\28sk_sp\29 +1619:SkCanvas::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +1620:SkBlendMode_AsCoeff\28SkBlendMode\2c\20SkBlendModeCoeff*\2c\20SkBlendModeCoeff*\29 +1621:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29 +1622:SkAutoPixmapStorage::tryAlloc\28SkImageInfo\20const&\29 +1623:SkAAClip::SkAAClip\28\29 +1624:OT::glyf_accelerator_t::glyf_accelerator_t\28hb_face_t*\29 +1625:OT::VariationStore::sanitize\28hb_sanitize_context_t*\29\20const +1626:OT::Layout::GPOS_impl::ValueFormat::sanitize_value_devices\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\29\20const +1627:OT::Layout::GPOS_impl::ValueFormat::apply_value\28OT::hb_ot_apply_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20hb_glyph_position_t&\29\20const +1628:OT::HVARVVAR::sanitize\28hb_sanitize_context_t*\29\20const +1629:GrTriangulator::VertexList::insert\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\29 +1630:GrTriangulator::Poly::addEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20GrTriangulator*\29 +1631:GrTriangulator::EdgeList::remove\28GrTriangulator::Edge*\29 +1632:GrStyledShape::operator=\28GrStyledShape\20const&\29 +1633:GrSimpleMeshDrawOpHelperWithStencil::createProgramInfoWithStencil\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1634:GrResourceCache::purgeAsNeeded\28\29 +1635:GrRenderTask::addDependency\28GrDrawingManager*\2c\20GrSurfaceProxy*\2c\20skgpu::Mipmapped\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +1636:GrRenderTask::GrRenderTask\28\29 +1637:GrRenderTarget::onRelease\28\29 +1638:GrProxyProvider::findOrCreateProxyByUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxy::UseAllocator\29 +1639:GrProcessorSet::operator==\28GrProcessorSet\20const&\29\20const +1640:GrPathUtils::generateQuadraticPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +1641:GrMeshDrawOp::QuadHelper::QuadHelper\28GrMeshDrawTarget*\2c\20unsigned\20long\2c\20int\29 +1642:GrIsStrokeHairlineOrEquivalent\28GrStyle\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +1643:GrImageContext::abandoned\28\29 +1644:GrGpuResource::registerWithCache\28skgpu::Budgeted\29 +1645:GrGpuBuffer::isMapped\28\29\20const +1646:GrGpu::submitToGpu\28GrSyncCpu\29 +1647:GrGpu::didWriteToSurface\28GrSurface*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const*\2c\20unsigned\20int\29\20const +1648:GrGeometryProcessor::ProgramImpl::setupUniformColor\28GrGLSLFPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20GrResourceHandle*\29 +1649:GrGLGpu::flushRenderTarget\28GrGLRenderTarget*\2c\20bool\29 +1650:GrFragmentProcessor::visitTextureEffects\28std::__2::function\20const&\29\20const +1651:GrFragmentProcessor::visitProxies\28std::__2::function\20const&\29\20const +1652:GrCpuBuffer::ref\28\29\20const +1653:GrBufferAllocPool::makeSpace\28unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\29 +1654:GrBackendTextures::GetGLTextureInfo\28GrBackendTexture\20const&\2c\20GrGLTextureInfo*\29 +1655:FilterLoop26_C +1656:FT_Vector_Transform +1657:FT_Vector_NormLen +1658:FT_Outline_Transform +1659:CFF::dict_opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1660:AlmostBetweenUlps\28float\2c\20float\2c\20float\29 +1661:void\20std::__2::vector>::__emplace_back_slow_path\28skia::textlayout::OneLineShaper::RunBlock&\29 +1662:ubidi_getMemory_skia +1663:transform\28unsigned\20int*\2c\20unsigned\20char\20const*\29 +1664:strcspn +1665:std::__2::vector>::__append\28unsigned\20long\29 +1666:std::__2::locale::locale\28std::__2::locale\20const&\29 +1667:std::__2::locale::classic\28\29 +1668:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +1669:std::__2::chrono::__libcpp_steady_clock_now\28\29 +1670:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20char\20const*\29 +1671:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +1672:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1673:std::__2::__wrap_iter\20std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float\20const*\2c\20float\20const*\29 +1674:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1675:std::__2::__throw_bad_variant_access\5babi:v160004\5d\28\29 +1676:std::__2::__split_buffer>::push_front\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +1677:std::__2::__shared_count::__release_shared\5babi:v160004\5d\28\29 +1678:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20wchar_t&\29 +1679:std::__2::__num_get::__do_widen\28std::__2::ios_base&\2c\20wchar_t*\29\20const +1680:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20char&\29 +1681:std::__2::__itoa::__append1\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1682:sktext::gpu::VertexFiller::vertexStride\28SkMatrix\20const&\29\20const +1683:skif::RoundIn\28SkRect\29 +1684:skif::LayerSpace::round\28\29\20const +1685:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +1686:skif::FilterResult::applyTransform\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkSamplingOptions\20const&\29\20const +1687:skif::FilterResult::Builder::~Builder\28\29 +1688:skif::FilterResult::Builder::Builder\28skif::Context\20const&\29 +1689:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\29 +1690:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +1691:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +1692:skia_private::TArray::resize_back\28int\29 +1693:skia_private::TArray::push_back_raw\28int\29 +1694:skia_png_sig_cmp +1695:skia_png_set_progressive_read_fn +1696:skia_png_set_longjmp_fn +1697:skia_png_set_interlace_handling +1698:skia_png_reciprocal +1699:skia_png_read_chunk_header +1700:skia_png_get_io_ptr +1701:skia_png_calloc +1702:skia::textlayout::TextLine::~TextLine\28\29 +1703:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle\20const&\29 +1704:skia::textlayout::ParagraphCacheKey::~ParagraphCacheKey\28\29 +1705:skia::textlayout::FontCollection::findTypefaces\28std::__2::vector>\20const&\2c\20SkFontStyle\2c\20std::__2::optional\20const&\29 +1706:skia::textlayout::Cluster::trimmedWidth\28unsigned\20long\29\20const +1707:skgpu::ganesh::TextureOp::BatchSizeLimiter::createOp\28GrTextureSetEntry*\2c\20int\2c\20GrAAType\29 +1708:skgpu::ganesh::SurfaceFillContext::fillWithFP\28std::__2::unique_ptr>\29 +1709:skgpu::ganesh::SurfaceDrawContext::drawShapeUsingPathRenderer\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\2c\20bool\29 +1710:skgpu::ganesh::SurfaceDrawContext::drawRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const*\29 +1711:skgpu::ganesh::SurfaceDrawContext::drawRRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20GrStyle\20const&\29 +1712:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29 +1713:skgpu::ganesh::QuadPerEdgeAA::CalcIndexBufferOption\28GrAAType\2c\20int\29 +1714:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrSurfaceProxyView\20const&\29\20const +1715:skgpu::ganesh::Device::targetProxy\28\29 +1716:skgpu::ganesh::ClipStack::getConservativeBounds\28\29\20const +1717:skgpu::TAsyncReadResult::addTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult\20const&\2c\20SkISize\2c\20unsigned\20long\2c\20skgpu::TClientMappedBufferManager*\29 +1718:skgpu::Plot::resetRects\28\29 +1719:skcms_TransferFunction_invert +1720:ps_dimension_add_t1stem +1721:powf +1722:log2f +1723:log +1724:jcopy_sample_rows +1725:hb_font_t::has_func\28unsigned\20int\29 +1726:hb_buffer_create_similar +1727:getenv +1728:ft_service_list_lookup +1729:fseek +1730:fiprintf +1731:fflush +1732:expm1 +1733:emscripten::internal::MethodInvoker::invoke\28void\20\28GrDirectContext::*\20const&\29\28\29\2c\20GrDirectContext*\29 +1734:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +1735:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\29\2c\20SkFont*\29 +1736:do_putc +1737:crc32_z +1738:cf2_hintmap_insertHint +1739:cf2_hintmap_build +1740:cf2_glyphpath_pushPrevElem +1741:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +1742:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +1743:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +1744:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +1745:byn$mgfn-shared$skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +1746:byn$mgfn-shared$skif::Backend::~Backend\28\29.1 +1747:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +1748:blit_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +1749:afm_stream_read_one +1750:af_latin_hints_link_segments +1751:af_latin_compute_stem_width +1752:af_glyph_hints_reload +1753:acosf +1754:__wasi_syscall_ret +1755:__syscall_ret +1756:__sin +1757:__cos +1758:VP8LHuffmanTablesDeallocate +1759:SkWriter32::writeSampling\28SkSamplingOptions\20const&\29 +1760:SkVertices::Builder::detach\28\29 +1761:SkUTF::NextUTF8WithReplacement\28char\20const**\2c\20char\20const*\29 +1762:SkTypeface_FreeType::~SkTypeface_FreeType\28\29 +1763:SkTypeface_FreeType::FaceRec::~FaceRec\28\29 +1764:SkTypeface::SkTypeface\28SkFontStyle\20const&\2c\20bool\29 +1765:SkTextBlobBuilder::TightRunBounds\28SkTextBlob::RunRecord\20const&\29 +1766:SkTextBlob::RunRecord::textSizePtr\28\29\20const +1767:SkTMultiMap::remove\28skgpu::ScratchKey\20const&\2c\20GrGpuResource\20const*\29 +1768:SkTMultiMap::insert\28skgpu::ScratchKey\20const&\2c\20GrGpuResource*\29 +1769:SkTDStorage::insert\28int\2c\20int\2c\20void\20const*\29 +1770:SkTDPQueue<\28anonymous\20namespace\29::RunIteratorQueue::Entry\2c\20&\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\2c\20\28int*\20\28*\29\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\290>::insert\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\29 +1771:SkSwizzler::Make\28SkEncodedInfo\20const&\2c\20unsigned\20int\20const*\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20SkIRect\20const*\29 +1772:SkSurfaces::Raster\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +1773:SkSurface_Base::~SkSurface_Base\28\29 +1774:SkSurface::recordingContext\28\29\20const +1775:SkString::resize\28unsigned\20long\29 +1776:SkStrikeSpec::SkStrikeSpec\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1777:SkStrikeSpec::MakeMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1778:SkStrikeSpec::MakeCanonicalized\28SkFont\20const&\2c\20SkPaint\20const*\29 +1779:SkStrikeCache::findOrCreateStrike\28SkStrikeSpec\20const&\29 +1780:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +1781:SkShaders::MatrixRec::apply\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +1782:SkShaders::MatrixRec::MatrixRec\28SkMatrix\20const&\29 +1783:SkShaders::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +1784:SkScan::FillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\29 +1785:SkScalerContext_FreeType::emboldenIfNeeded\28FT_FaceRec_*\2c\20FT_GlyphSlotRec_*\2c\20unsigned\20short\29 +1786:SkSL::Type::displayName\28\29\20const +1787:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20double\2c\20SkSL::Position\29\20const +1788:SkSL::SymbolTable::find\28std::__2::basic_string_view>\29\20const +1789:SkSL::String::Separator\28\29::Output::~Output\28\29 +1790:SkSL::RP::SlotManager::addSlotDebugInfoForGroup\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20int*\2c\20bool\29 +1791:SkSL::RP::Generator::foldComparisonOp\28SkSL::Operator\2c\20int\29 +1792:SkSL::RP::Builder::branch_if_no_lanes_active\28int\29 +1793:SkSL::PrefixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +1794:SkSL::PipelineStage::PipelineStageCodeGenerator::typedVariable\28SkSL::Type\20const&\2c\20std::__2::basic_string_view>\29 +1795:SkSL::Parser::parseArrayDimensions\28SkSL::Position\2c\20SkSL::Type\20const**\29 +1796:SkSL::Parser::arraySize\28long\20long*\29 +1797:SkSL::Operator::operatorName\28\29\20const +1798:SkSL::ModifierFlags::paddedDescription\28\29\20const +1799:SkSL::IndexExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +1800:SkSL::ConstantFolder::GetConstantValue\28SkSL::Expression\20const&\2c\20double*\29 +1801:SkSL::ConstantFolder::GetConstantInt\28SkSL::Expression\20const&\2c\20long\20long*\29 +1802:SkSL::Compiler::convertProgram\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::ProgramSettings\20const&\29 +1803:SkResourceCache::remove\28SkResourceCache::Rec*\29 +1804:SkRegion::op\28SkRegion\20const&\2c\20SkIRect\20const&\2c\20SkRegion::Op\29 +1805:SkRegion::Iterator::Iterator\28SkRegion\20const&\29 +1806:SkRectPriv::ClosestDisjointEdge\28SkIRect\20const&\2c\20SkIRect\20const&\29 +1807:SkRecords::FillBounds::bounds\28SkRecords::DrawArc\20const&\29\20const +1808:SkReadBuffer::setMemory\28void\20const*\2c\20unsigned\20long\29 +1809:SkRasterClip::SkRasterClip\28SkIRect\20const&\29 +1810:SkRRect::writeToMemory\28void*\29\20const +1811:SkRRect::setRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +1812:SkPointPriv::DistanceToLineBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPointPriv::Side*\29 +1813:SkPoint::setNormalize\28float\2c\20float\29 +1814:SkPixmapUtils::SwapWidthHeight\28SkImageInfo\20const&\29 +1815:SkPictureRecorder::finishRecordingAsPicture\28\29 +1816:SkPathPriv::ComputeFirstDirection\28SkPath\20const&\29 +1817:SkPathEffect::asADash\28SkPathEffect::DashInfo*\29\20const +1818:SkPathEdgeIter::SkPathEdgeIter\28SkPath\20const&\29 +1819:SkPath::rewind\28\29 +1820:SkPath::isLine\28SkPoint*\29\20const +1821:SkPath::incReserve\28int\2c\20int\2c\20int\29 +1822:SkPath::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +1823:SkPaint::setStrokeCap\28SkPaint::Cap\29 +1824:SkPaint::refShader\28\29\20const +1825:SkOpSpan::setWindSum\28int\29 +1826:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20int\2c\20SkOpSpanBase**\29 +1827:SkOpContourBuilder::addCurve\28SkPath::Verb\2c\20SkPoint\20const*\2c\20float\29 +1828:SkOpAngle::starter\28\29 +1829:SkOpAngle::insert\28SkOpAngle*\29 +1830:SkNoDestructor::SkNoDestructor\28SkSL::String::Separator\28\29::Output&&\29 +1831:SkMatrixPriv::InverseMapRect\28SkMatrix\20const&\2c\20SkRect*\2c\20SkRect\20const&\29 +1832:SkMatrix::setSinCos\28float\2c\20float\29 +1833:SkMatrix::decomposeScale\28SkSize*\2c\20SkMatrix*\29\20const +1834:SkMaskFilterBase::getFlattenableType\28\29\20const +1835:SkMaskFilter::MakeBlur\28SkBlurStyle\2c\20float\2c\20bool\29 +1836:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29 +1837:SkMD5::write\28void\20const*\2c\20unsigned\20long\29 +1838:SkLineClipper::IntersectLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\29 +1839:SkImage_GaneshBase::SkImage_GaneshBase\28sk_sp\2c\20SkImageInfo\2c\20unsigned\20int\29 +1840:SkImageGenerator::onRefEncodedData\28\29 +1841:SkImage::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +1842:SkImage::makeRasterImage\28GrDirectContext*\2c\20SkImage::CachingHint\29\20const +1843:SkIDChangeListener::SkIDChangeListener\28\29 +1844:SkIDChangeListener::List::reset\28\29 +1845:SkGradientBaseShader::flatten\28SkWriteBuffer&\29\20const +1846:SkFontMgr::RefEmpty\28\29 +1847:SkFont::setEdging\28SkFont::Edging\29 +1848:SkEvalQuadAt\28SkPoint\20const*\2c\20float\29 +1849:SkEncodedInfo::makeImageInfo\28\29\20const +1850:SkEdgeClipper::next\28SkPoint*\29 +1851:SkDevice::scalerContextFlags\28\29\20const +1852:SkConic::evalAt\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +1853:SkColorInfo::SkColorInfo\28SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +1854:SkCodec::skipScanlines\28int\29 +1855:SkChopCubicAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +1856:SkCapabilities::RasterBackend\28\29 +1857:SkCanvas::saveLayer\28SkCanvas::SaveLayerRec\20const&\29 +1858:SkCanvas::imageInfo\28\29\20const +1859:SkCanvas::drawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +1860:SkCanvas::drawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +1861:SkCanvas::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +1862:SkBmpBaseCodec::~SkBmpBaseCodec\28\29 +1863:SkBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +1864:SkBlendMode\20SkReadBuffer::read32LE\28SkBlendMode\29 +1865:SkBitmap::operator=\28SkBitmap\20const&\29 +1866:SkBitmap::extractSubset\28SkBitmap*\2c\20SkIRect\20const&\29\20const +1867:SkBitmap::SkBitmap\28SkBitmap&&\29 +1868:SkBinaryWriteBuffer::writeByteArray\28void\20const*\2c\20unsigned\20long\29 +1869:SkBinaryWriteBuffer::SkBinaryWriteBuffer\28SkSerialProcs\20const&\29 +1870:SkBaseShadowTessellator::handleLine\28SkPoint\20const&\29 +1871:SkAAClip::setRegion\28SkRegion\20const&\29 +1872:R +1873:OT::hb_ot_apply_context_t::_set_glyph_class\28unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +1874:OT::cmap::find_subtable\28unsigned\20int\2c\20unsigned\20int\29\20const +1875:GrXPFactory::FromBlendMode\28SkBlendMode\29 +1876:GrTriangulator::setBottom\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +1877:GrTriangulator::mergeCollinearEdges\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +1878:GrTriangulator::Edge::disconnect\28\29 +1879:GrThreadSafeCache::find\28skgpu::UniqueKey\20const&\29 +1880:GrThreadSafeCache::add\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +1881:GrThreadSafeCache::Entry::makeEmpty\28\29 +1882:GrSurfaceProxyView::operator==\28GrSurfaceProxyView\20const&\29\20const +1883:GrSurfaceProxyView::Copy\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\29 +1884:GrSurfaceProxyPriv::doLazyInstantiation\28GrResourceProvider*\29 +1885:GrSurfaceProxy::isFunctionallyExact\28\29\20const +1886:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20sk_sp*\29 +1887:GrSimpleMeshDrawOpHelperWithStencil::fixedFunctionFlags\28\29\20const +1888:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20GrProcessorAnalysisColor*\29 +1889:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrProcessorSet&&\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrPipeline::InputFlags\2c\20GrUserStencilSettings\20const*\29 +1890:GrSimpleMeshDrawOpHelper::CreatePipeline\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20skgpu::Swizzle\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrProcessorSet&&\2c\20GrPipeline::InputFlags\29 +1891:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20void\20const*\2c\20skgpu::UniqueKey\20const&\29 +1892:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20skgpu::UniqueKey\20const&\2c\20void\20\28*\29\28skgpu::VertexWriter\2c\20unsigned\20long\29\29 +1893:GrResourceCache::findAndRefScratchResource\28skgpu::ScratchKey\20const&\29 +1894:GrRecordingContextPriv::makeSFC\28GrImageInfo\2c\20std::__2::basic_string_view>\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1895:GrQuadUtils::TessellationHelper::Vertices::moveAlong\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1896:GrQuad::asRect\28SkRect*\29\20const +1897:GrProcessorSet::GrProcessorSet\28GrProcessorSet&&\29 +1898:GrPathUtils::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +1899:GrGpu::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +1900:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +1901:GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +1902:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +1903:GrGLSLColorSpaceXformHelper::emitCode\28GrGLSLUniformHandler*\2c\20GrColorSpaceXform\20const*\2c\20unsigned\20int\29 +1904:GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +1905:GrGLRenderTarget::bindInternal\28unsigned\20int\2c\20bool\29 +1906:GrGLGpu::getErrorAndCheckForOOM\28\29 +1907:GrGLGpu::bindTexture\28int\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20GrGLTexture*\29 +1908:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkMatrix\20const&\29 +1909:GrFragmentProcessor::visitWithImpls\28std::__2::function\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\20const +1910:GrFragmentProcessor::ColorMatrix\28std::__2::unique_ptr>\2c\20float\20const*\2c\20bool\2c\20bool\2c\20bool\29 +1911:GrDrawingManager::appendTask\28sk_sp\29 +1912:GrColorInfo::GrColorInfo\28GrColorInfo\20const&\29 +1913:GrCaps::isFormatCompressed\28GrBackendFormat\20const&\29\20const +1914:GrAAConvexTessellator::lineTo\28SkPoint\20const&\2c\20GrAAConvexTessellator::CurveState\29 +1915:FT_Select_Metrics +1916:FT_Select_Charmap +1917:FT_Get_Next_Char +1918:FT_Get_Module_Interface +1919:FT_Done_Size +1920:DecodeImageStream +1921:CFF::opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1922:CFF::Charset::get_glyph\28unsigned\20int\2c\20unsigned\20int\29\20const +1923:wuffs_gif__decoder__num_decoded_frames +1924:void\20std::__2::vector\2c\20std::__2::allocator>>::__push_back_slow_path\20const&>\28sk_sp\20const&\29 +1925:void\20std::__2::reverse\5babi:v160004\5d\28wchar_t*\2c\20wchar_t*\29 +1926:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.2 +1927:void\20merge_sort<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +1928:void\20merge_sort<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +1929:void\20emscripten::internal::MemberAccess::setWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts&\2c\20float\29 +1930:validate_offsetToRestore\28SkReadBuffer*\2c\20unsigned\20long\29 +1931:ubidi_setPara_skia +1932:ubidi_getVisualRun_skia +1933:ubidi_getRuns_skia +1934:ubidi_getClass_skia +1935:tt_set_mm_blend +1936:tt_face_get_ps_name +1937:trinkle +1938:std::__2::unique_ptr::release\5babi:v160004\5d\28\29 +1939:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrTriangulator::Vertex*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +1940:std::__2::pair::pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +1941:std::__2::moneypunct::do_decimal_point\28\29\20const +1942:std::__2::moneypunct::do_decimal_point\28\29\20const +1943:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28std::__2::basic_istream>&\29 +1944:std::__2::ios_base::good\5babi:v160004\5d\28\29\20const +1945:std::__2::ctype::toupper\5babi:v160004\5d\28char\29\20const +1946:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +1947:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +1948:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +1949:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +1950:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +1951:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +1952:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +1953:std::__2::basic_string\2c\20std::__2::allocator>::__get_short_size\5babi:v160004\5d\28\29\20const +1954:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +1955:std::__2::basic_streambuf>::__pbump\5babi:v160004\5d\28long\29 +1956:std::__2::basic_iostream>::~basic_iostream\28\29.1 +1957:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20wchar_t*\2c\20unsigned\20long\29 +1958:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20char*\2c\20unsigned\20long\29 +1959:std::__2::__num_put_base::__format_int\28char*\2c\20char\20const*\2c\20bool\2c\20unsigned\20int\29 +1960:std::__2::__num_put_base::__format_float\28char*\2c\20char\20const*\2c\20unsigned\20int\29 +1961:std::__2::__itoa::__append8\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1962:sktext::gpu::VertexFiller::deviceRectAndCheckTransform\28SkMatrix\20const&\29\20const +1963:sktext::gpu::TextBlob::Key::operator==\28sktext::gpu::TextBlob::Key\20const&\29\20const +1964:sktext::gpu::GlyphVector::packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29 +1965:sktext::SkStrikePromise::strike\28\29 +1966:skif::\28anonymous\20namespace\29::downscale_step_count\28float\29 +1967:skif::FilterResult::getAnalyzedShaderView\28skif::Context\20const&\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\29\20const +1968:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20bool\2c\20SkBlender\20const*\29\20const +1969:skif::FilterResult::applyCrop\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkTileMode\29\20const +1970:skif::Context::~Context\28\29 +1971:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::resize\28int\29 +1972:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +1973:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +1974:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::resize\28int\29 +1975:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::resize\28int\29 +1976:skia_private::THashTable::Traits>::resize\28int\29 +1977:skia_private::TArray::move\28void*\29 +1978:skia_private::TArray::operator=\28skia_private::TArray&&\29 +1979:skia_private::TArray\2c\20true>::push_back\28SkRGBA4f<\28SkAlphaType\293>&&\29 +1980:skia_png_set_text_2 +1981:skia_png_set_palette_to_rgb +1982:skia_png_handle_IHDR +1983:skia_png_handle_IEND +1984:skia_png_destroy_write_struct +1985:skia::textlayout::operator==\28skia::textlayout::FontArguments\20const&\2c\20skia::textlayout::FontArguments\20const&\29 +1986:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::Cluster*\29 +1987:skia::textlayout::FontCollection::getFontManagerOrder\28\29\20const +1988:skia::textlayout::FontArguments::FontArguments\28skia::textlayout::FontArguments\20const&\29 +1989:skia::textlayout::Decorations::calculateGaps\28skia::textlayout::TextLine::ClipContext\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\29 +1990:skia::textlayout::Block&\20skia_private::TArray::emplace_back\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20skia::textlayout::TextStyle\20const&\29 +1991:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::fixedFunctionFlags\28\29\20const +1992:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +1993:skgpu::ganesh::SurfaceFillContext::SurfaceFillContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1994:skgpu::ganesh::SurfaceDrawContext::drawShape\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\29 +1995:skgpu::ganesh::SurfaceDrawContext::drawPaint\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\29 +1996:skgpu::ganesh::SurfaceDrawContext::MakeWithFallback\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1997:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +1998:skgpu::ganesh::SurfaceContext::PixelTransferResult::operator=\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +1999:skgpu::ganesh::SmallPathAtlasMgr::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2000:skgpu::ganesh::OpsTask::~OpsTask\28\29 +2001:skgpu::ganesh::OpsTask::setColorLoadOp\28GrLoadOp\2c\20std::__2::array\29 +2002:skgpu::ganesh::OpsTask::deleteOps\28\29 +2003:skgpu::ganesh::FillRectOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +2004:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29::$_0::operator\28\29\28int\29\20const +2005:skgpu::ganesh::ClipStack::~ClipStack\28\29 +2006:skgpu::TClientMappedBufferManager::~TClientMappedBufferManager\28\29 +2007:skgpu::Swizzle::apply\28SkRasterPipeline*\29\20const +2008:skgpu::Plot::addSubImage\28int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2009:skgpu::GetLCDBlendFormula\28SkBlendMode\29 +2010:skcms_TransferFunction_isHLGish +2011:skcms_Matrix3x3_concat +2012:sk_srgb_linear_singleton\28\29 +2013:shr +2014:shl +2015:setRegionCheck\28SkRegion*\2c\20SkRegion\20const&\29 +2016:read_header\28SkStream*\2c\20SkPngChunkReader*\2c\20SkCodec**\2c\20png_struct_def**\2c\20png_info_def**\29 +2017:ps_dimension_set_mask_bits +2018:operator==\28SkPath\20const&\2c\20SkPath\20const&\29 +2019:mbrtowc +2020:jround_up +2021:jpeg_make_d_derived_tbl +2022:ilogbf +2023:hb_ucd_get_unicode_funcs +2024:hb_syllabic_insert_dotted_circles\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +2025:hb_shape_full +2026:hb_serialize_context_t::~hb_serialize_context_t\28\29 +2027:hb_serialize_context_t::resolve_links\28\29 +2028:hb_serialize_context_t::reset\28\29 +2029:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::get\28\29\20const +2030:hb_lazy_loader_t\2c\20hb_face_t\2c\2034u\2c\20hb_blob_t>::get\28\29\20const +2031:hb_language_from_string +2032:hb_font_t::mults_changed\28\29 +2033:hb_font_destroy +2034:hb_buffer_t::next_glyph\28\29 +2035:get_sof +2036:ftell +2037:ft_var_readpackedpoints +2038:ft_mem_strdup +2039:float\20emscripten::internal::MemberAccess::getWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts\20const&\29 +2040:fill_window +2041:exp +2042:encodeImage\28GrDirectContext*\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +2043:emscripten::val\20MakeTypedArray\28int\2c\20float\20const*\29 +2044:emscripten::internal::MethodInvoker::invoke\28float\20\28SkContourMeasure::*\20const&\29\28\29\20const\2c\20SkContourMeasure\20const*\29 +2045:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +2046:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +2047:dquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2048:do_clip_op\28SkReadBuffer*\2c\20SkCanvas*\2c\20SkRegion::Op\2c\20SkClipOp*\29 +2049:do_anti_hairline\28int\2c\20int\2c\20int\2c\20int\2c\20SkIRect\20const*\2c\20SkBlitter*\29 +2050:doWriteReverse\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2051:doWriteForward\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2052:dline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2053:dispose_chunk +2054:direct_blur_y\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2055:decltype\28fp\28\28SkRecords::NoOp\29\28\29\29\29\20SkRecord::Record::visit\28SkRecords::Draw&\29\20const +2056:dcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2057:dconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2058:crop_rect_edge\28SkRect\20const&\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +2059:char*\20std::__2::__rewrap_iter\5babi:v160004\5d>\28char*\2c\20char*\29 +2060:cff_slot_load +2061:cff_parse_real +2062:cff_index_get_sid_string +2063:cff_index_access_element +2064:cf2_doStems +2065:cf2_doFlex +2066:byn$mgfn-shared$tt_cmap8_get_info +2067:byn$mgfn-shared$tt_cmap0_get_info +2068:byn$mgfn-shared$skia_png_set_strip_16 +2069:byn$mgfn-shared$SkSL::Tracer::line\28int\29 +2070:byn$mgfn-shared$AlmostBequalUlps\28float\2c\20float\29 +2071:buffer_verify_error\28hb_buffer_t*\2c\20hb_font_t*\2c\20char\20const*\2c\20...\29 +2072:blur_y_rect\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2073:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29::$_0::operator\28\29\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29\20const +2074:af_sort_and_quantize_widths +2075:af_glyph_hints_align_weak_points +2076:af_glyph_hints_align_strong_points +2077:af_face_globals_new +2078:af_cjk_compute_stem_width +2079:add_huff_table +2080:addPoint\28UBiDi*\2c\20int\2c\20int\29 +2081:__uselocale +2082:__math_xflow +2083:__cxxabiv1::__base_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2084:\28anonymous\20namespace\29::make_vertices_spec\28bool\2c\20bool\29 +2085:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_1::operator\28\29\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20bool\29\20const +2086:\28anonymous\20namespace\29::draw_stencil_rect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrHardClip\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2087:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2088:\28anonymous\20namespace\29::PathSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +2089:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2090:\28anonymous\20namespace\29::CacheImpl::removeInternal\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +2091:WebPRescalerExport +2092:WebPInitAlphaProcessing +2093:WebPFreeDecBuffer +2094:WebPDemuxDelete +2095:VP8SetError +2096:VP8LInverseTransform +2097:VP8LDelete +2098:VP8LColorCacheClear +2099:TT_Load_Context +2100:StringBuffer\20apply_format_string<1024>\28char\20const*\2c\20void*\2c\20char\20\28&\29\20\5b1024\5d\2c\20SkString*\29 +2101:SkYUVAPixmaps::operator=\28SkYUVAPixmaps\20const&\29 +2102:SkYUVAPixmapInfo::SupportedDataTypes::enableDataType\28SkYUVAPixmapInfo::DataType\2c\20int\29 +2103:SkWriter32::writeMatrix\28SkMatrix\20const&\29 +2104:SkWriter32::snapshotAsData\28\29\20const +2105:SkVertices::uniqueID\28\29\20const +2106:SkVertices::approximateSize\28\29\20const +2107:SkTypefaceCache::NewTypefaceID\28\29 +2108:SkTextBlobRunIterator::next\28\29 +2109:SkTextBlobRunIterator::SkTextBlobRunIterator\28SkTextBlob\20const*\29 +2110:SkTextBlobBuilder::SkTextBlobBuilder\28\29 +2111:SkTextBlobBuilder::ConservativeRunBounds\28SkTextBlob::RunRecord\20const&\29 +2112:SkTSpan::closestBoundedT\28SkDPoint\20const&\29\20const +2113:SkTSect::updateBounded\28SkTSpan*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2114:SkTSect::trim\28SkTSpan*\2c\20SkTSect*\29 +2115:SkTDStorage::erase\28int\2c\20int\29 +2116:SkTDPQueue::percolateUpIfNecessary\28int\29 +2117:SkSurfaceProps::SkSurfaceProps\28unsigned\20int\2c\20SkPixelGeometry\2c\20float\2c\20float\29 +2118:SkStrokerPriv::JoinFactory\28SkPaint::Join\29 +2119:SkStrokeRec::setStrokeStyle\28float\2c\20bool\29 +2120:SkStrokeRec::setFillStyle\28\29 +2121:SkStrokeRec::applyToPath\28SkPath*\2c\20SkPath\20const&\29\20const +2122:SkString::set\28char\20const*\29 +2123:SkStrikeSpec::findOrCreateStrike\28\29\20const +2124:SkStrikeSpec::MakeWithNoDevice\28SkFont\20const&\2c\20SkPaint\20const*\29 +2125:SkStrike::unlock\28\29 +2126:SkStrike::lock\28\29 +2127:SkSharedMutex::SkSharedMutex\28\29 +2128:SkShadowTessellator::MakeSpot\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20bool\2c\20bool\29 +2129:SkShaders::Empty\28\29 +2130:SkShaders::Color\28unsigned\20int\29 +2131:SkShaderBase::appendRootStages\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2132:SkScalerContext::~SkScalerContext\28\29.1 +2133:SkSL::write_stringstream\28SkSL::StringStream\20const&\2c\20SkSL::OutputStream&\29 +2134:SkSL::evaluate_3_way_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2135:SkSL::VarDeclaration::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\2c\20std::__2::unique_ptr>\29 +2136:SkSL::Type::priority\28\29\20const +2137:SkSL::Type::checkIfUsableInArray\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +2138:SkSL::SymbolTable::takeOwnershipOfString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +2139:SkSL::SymbolTable::isBuiltinType\28std::__2::basic_string_view>\29\20const +2140:SkSL::RP::SlotManager::mapVariableToSlots\28SkSL::Variable\20const&\2c\20SkSL::RP::SlotRange\29 +2141:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const +2142:SkSL::RP::Generator::pushVectorizedExpression\28SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +2143:SkSL::RP::Builder::ternary_op\28SkSL::RP::BuilderOp\2c\20int\29 +2144:SkSL::RP::Builder::simplifyPopSlotsUnmasked\28SkSL::RP::SlotRange*\29 +2145:SkSL::RP::Builder::pop_slots_unmasked\28SkSL::RP::SlotRange\29 +2146:SkSL::RP::Builder::exchange_src\28\29 +2147:SkSL::ProgramUsage::remove\28SkSL::ProgramElement\20const&\29 +2148:SkSL::ProgramUsage::isDead\28SkSL::Variable\20const&\29\20const +2149:SkSL::Pool::~Pool\28\29 +2150:SkSL::PipelineStage::PipelineStageCodeGenerator::typeName\28SkSL::Type\20const&\29 +2151:SkSL::LiteralType::priority\28\29\20const +2152:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +2153:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_dot\28std::__2::array\20const&\29 +2154:SkSL::GLSLCodeGenerator::writeAnyConstructor\28SkSL::AnyConstructor\20const&\2c\20SkSL::OperatorPrecedence\29 +2155:SkSL::ExpressionArray::clone\28\29\20const +2156:SkSL::Compiler::errorText\28bool\29 +2157:SkSL::Block::Make\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2158:SkSL::Block::MakeBlock\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2159:SkSL::Analysis::DetectVarDeclarationWithoutScope\28SkSL::Statement\20const&\2c\20SkSL::ErrorReporter*\29 +2160:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpace\20const*\29 +2161:SkRuntimeEffect::getRPProgram\28SkSL::DebugTracePriv*\29\20const +2162:SkRegion::getBoundaryPath\28SkPath*\29\20const +2163:SkRegion::Spanerator::next\28int*\2c\20int*\29 +2164:SkRegion::SkRegion\28SkRegion\20const&\29 +2165:SkReduceOrder::Quad\28SkPoint\20const*\2c\20SkPoint*\29 +2166:SkReadBuffer::skipByteArray\28unsigned\20long*\29 +2167:SkReadBuffer::readSampling\28\29 +2168:SkReadBuffer::readRRect\28SkRRect*\29 +2169:SkReadBuffer::checkInt\28int\2c\20int\29 +2170:SkRasterPipeline::appendMatrix\28SkArenaAlloc*\2c\20SkMatrix\20const&\29 +2171:SkQuads::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2172:SkQuadraticEdge::updateQuadratic\28\29 +2173:SkPngCodec::~SkPngCodec\28\29.1 +2174:SkPngCodec::processData\28\29 +2175:SkPixmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2176:SkPictureRecord::~SkPictureRecord\28\29 +2177:SkPicture::~SkPicture\28\29.1 +2178:SkPathStroker::quadStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2179:SkPathStroker::preJoinTo\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20bool\29 +2180:SkPathStroker::intersectRay\28SkQuadConstruct*\2c\20SkPathStroker::IntersectRayType\29\20const +2181:SkPathStroker::cubicStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2182:SkPathStroker::conicStroke\28SkConic\20const&\2c\20SkQuadConstruct*\29 +2183:SkPathMeasure::isClosed\28\29 +2184:SkPathEffectBase::getFlattenableType\28\29\20const +2185:SkPathBuilder::moveTo\28SkPoint\29 +2186:SkPathBuilder::incReserve\28int\2c\20int\29 +2187:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2188:SkPath::isLastContourClosed\28\29\20const +2189:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2190:SkPaintToGrPaintReplaceShader\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2191:SkPaint::setStrokeMiter\28float\29 +2192:SkPaint::setStrokeJoin\28SkPaint::Join\29 +2193:SkOpSpanBase::mergeMatches\28SkOpSpanBase*\29 +2194:SkOpSpanBase::addOpp\28SkOpSpanBase*\29 +2195:SkOpSegment::subDivide\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkDCurve*\29\20const +2196:SkOpSegment::release\28SkOpSpan\20const*\29 +2197:SkOpSegment::operand\28\29\20const +2198:SkOpSegment::moveNearby\28\29 +2199:SkOpSegment::markDone\28SkOpSpan*\29 +2200:SkOpSegment::markAndChaseDone\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpSpanBase**\29 +2201:SkOpSegment::isClose\28double\2c\20SkOpSegment\20const*\29\20const +2202:SkOpSegment::init\28SkPoint*\2c\20float\2c\20SkOpContour*\2c\20SkPath::Verb\29 +2203:SkOpSegment::addT\28double\2c\20SkPoint\20const&\29 +2204:SkOpCoincidence::fixUp\28SkOpPtT*\2c\20SkOpPtT\20const*\29 +2205:SkOpCoincidence::add\28SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\29 +2206:SkOpCoincidence::addMissing\28bool*\29 +2207:SkOpCoincidence::addIfMissing\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double\2c\20double\2c\20SkOpSegment*\2c\20SkOpSegment*\2c\20bool*\29 +2208:SkOpCoincidence::addExpanded\28\29 +2209:SkOpAngle::set\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2210:SkOpAngle::lineOnOneSide\28SkDPoint\20const&\2c\20SkDVector\20const&\2c\20SkOpAngle\20const*\2c\20bool\29\20const +2211:SkNoPixelsDevice::ClipState::op\28SkClipOp\2c\20SkM44\20const&\2c\20SkRect\20const&\2c\20bool\2c\20bool\29 +2212:SkMatrix\20skif::Mapping::map\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +2213:SkMatrixPriv::DifferentialAreaScale\28SkMatrix\20const&\2c\20SkPoint\20const&\29 +2214:SkMatrix::writeToMemory\28void*\29\20const +2215:SkMatrix::preservesRightAngles\28float\29\20const +2216:SkM44::normalizePerspective\28\29 +2217:SkLatticeIter::~SkLatticeIter\28\29 +2218:SkLatticeIter::next\28SkIRect*\2c\20SkRect*\2c\20bool*\2c\20unsigned\20int*\29 +2219:SkImages::RasterFromBitmap\28SkBitmap\20const&\29 +2220:SkImage_Lazy::Validator::Validator\28sk_sp\2c\20SkColorType\20const*\2c\20sk_sp\29 +2221:SkImageShader::MakeSubset\28sk_sp\2c\20SkRect\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2222:SkImageFilters::Image\28sk_sp\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\29 +2223:SkImageFilters::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +2224:SkImage::readPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +2225:SkHalfToFloat\28unsigned\20short\29 +2226:SkGradientShader::MakeSweep\28float\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2227:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2228:SkGradientBaseShader::commonAsAGradient\28SkShaderBase::GradientInfo*\29\20const +2229:SkGradientBaseShader::ValidGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2230:SkGradientBaseShader::SkGradientBaseShader\28SkGradientBaseShader::Descriptor\20const&\2c\20SkMatrix\20const&\29 +2231:SkGradientBaseShader::MakeDegenerateGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20float\20const*\2c\20int\2c\20sk_sp\2c\20SkTileMode\29 +2232:SkGradientBaseShader::Descriptor::~Descriptor\28\29 +2233:SkGradientBaseShader::Descriptor::Descriptor\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2234:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkPath\20const*\2c\20bool\29 +2235:SkFontMgr::matchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +2236:SkFont::setSize\28float\29 +2237:SkEvalQuadAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +2238:SkEncodedInfo::~SkEncodedInfo\28\29 +2239:SkEmptyFontMgr::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +2240:SkDrawableList::~SkDrawableList\28\29 +2241:SkDrawable::draw\28SkCanvas*\2c\20SkMatrix\20const*\29 +2242:SkData::PrivateNewWithCopy\28void\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +2243:SkDashPathEffect::Make\28float\20const*\2c\20int\2c\20float\29 +2244:SkDQuad::monotonicInX\28\29\20const +2245:SkDCubic::dxdyAtT\28double\29\20const +2246:SkDCubic::RootsValidT\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +2247:SkCubicEdge::updateCubic\28\29 +2248:SkConicalGradient::~SkConicalGradient\28\29 +2249:SkColorSpace::serialize\28\29\20const +2250:SkColorSpace::MakeSRGBLinear\28\29 +2251:SkColorFilterPriv::MakeGaussian\28\29 +2252:SkColorConverter::SkColorConverter\28unsigned\20int\20const*\2c\20int\29 +2253:SkCodec::startScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const*\29 +2254:SkCodec::handleFrameIndex\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20std::__2::function\29 +2255:SkCodec::getScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +2256:SkChopQuadAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2257:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\20const*\2c\20int\29 +2258:SkChopCubicAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2259:SkCharToGlyphCache::SkCharToGlyphCache\28\29 +2260:SkCanvas::getTotalMatrix\28\29\20const +2261:SkCanvas::getLocalToDevice\28\29\20const +2262:SkCanvas::getLocalClipBounds\28\29\20const +2263:SkCanvas::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +2264:SkCanvas::drawAtlas\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +2265:SkCanvas::concat\28SkM44\20const&\29 +2266:SkCanvas::SkCanvas\28SkBitmap\20const&\29 +2267:SkCanvas::ImageSetEntry::ImageSetEntry\28SkCanvas::ImageSetEntry\20const&\29 +2268:SkBmpCodec::ReadHeader\28SkStream*\2c\20bool\2c\20std::__2::unique_ptr>*\29 +2269:SkBlurMaskFilterImpl::computeXformedSigma\28SkMatrix\20const&\29\20const +2270:SkBlitter::blitRectRegion\28SkIRect\20const&\2c\20SkRegion\20const&\29 +2271:SkBlendMode_ShouldPreScaleCoverage\28SkBlendMode\2c\20bool\29 +2272:SkBlendMode_AppendStages\28SkBlendMode\2c\20SkRasterPipeline*\29 +2273:SkBitmap::tryAllocPixels\28SkBitmap::Allocator*\29 +2274:SkBitmap::readPixels\28SkPixmap\20const&\2c\20int\2c\20int\29\20const +2275:SkBitmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2276:SkBitmap::installPixels\28SkPixmap\20const&\29 +2277:SkBitmap::allocPixels\28SkImageInfo\20const&\29 +2278:SkBaseShadowTessellator::handleQuad\28SkPoint\20const*\29 +2279:SkAutoDescriptor::~SkAutoDescriptor\28\29 +2280:SkAnimatedImage::getFrameCount\28\29\20const +2281:SkAAClip::~SkAAClip\28\29 +2282:SkAAClip::setPath\28SkPath\20const&\2c\20SkIRect\20const&\2c\20bool\29 +2283:SkAAClip::op\28SkAAClip\20const&\2c\20SkClipOp\29 +2284:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GSUB_impl::SubstLookup\20const&\29 +2285:OT::hb_ot_apply_context_t::replace_glyph\28unsigned\20int\29 +2286:OT::apply_lookup\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20unsigned\20int\29 +2287:OT::Layout::GPOS_impl::ValueFormat::get_device\28OT::IntType\20const*\2c\20bool*\2c\20void\20const*\2c\20hb_sanitize_context_t&\29 +2288:OT::Layout::GPOS_impl::AnchorFormat3::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2289:OT::Layout::GPOS_impl::AnchorFormat2::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2290:OT::ClassDef::get_class\28unsigned\20int\29\20const +2291:JpegDecoderMgr::~JpegDecoderMgr\28\29 +2292:GrTriangulator::simplify\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +2293:GrTriangulator::setTop\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2294:GrTriangulator::mergeCoincidentVertices\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29\20const +2295:GrTriangulator::Vertex*\20SkArenaAlloc::make\28SkPoint&\2c\20int&&\29 +2296:GrThreadSafeCache::remove\28skgpu::UniqueKey\20const&\29 +2297:GrThreadSafeCache::internalFind\28skgpu::UniqueKey\20const&\29 +2298:GrThreadSafeCache::internalAdd\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2299:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29 +2300:GrTexture::markMipmapsClean\28\29 +2301:GrTessellationShader::MakePipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedClip&&\2c\20GrProcessorSet&&\29 +2302:GrSurfaceProxyView::concatSwizzle\28skgpu::Swizzle\29 +2303:GrSurfaceProxy::LazyCallbackResult::LazyCallbackResult\28sk_sp\29 +2304:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20GrSurfaceProxy::RectsMustMatch\2c\20sk_sp*\29 +2305:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +2306:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +2307:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrPipeline\20const*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrUserStencilSettings\20const*\29 +2308:GrShape::simplifyLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\29 +2309:GrShape::reset\28\29 +2310:GrShape::conservativeContains\28SkPoint\20const&\29\20const +2311:GrSWMaskHelper::init\28SkIRect\20const&\29 +2312:GrResourceProvider::createNonAAQuadIndexBuffer\28\29 +2313:GrResourceProvider::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\2c\20GrResourceProvider::ZeroInit\29 +2314:GrResourceCache::refAndMakeResourceMRU\28GrGpuResource*\29 +2315:GrResourceCache::findAndRefUniqueResource\28skgpu::UniqueKey\20const&\29 +2316:GrRenderTask::addTarget\28GrDrawingManager*\2c\20sk_sp\29 +2317:GrRenderTarget::~GrRenderTarget\28\29.1 +2318:GrRecordingContextPriv::createDevice\28skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\2c\20skgpu::ganesh::Device::InitContents\29 +2319:GrQuadUtils::WillUseHairline\28GrQuad\20const&\2c\20GrAAType\2c\20GrQuadAAFlags\29 +2320:GrQuadUtils::CropToRect\28SkRect\20const&\2c\20GrAA\2c\20DrawQuad*\2c\20bool\29 +2321:GrProxyProvider::processInvalidUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\29 +2322:GrPorterDuffXPFactory::Get\28SkBlendMode\29 +2323:GrPixmap::operator=\28GrPixmap&&\29 +2324:GrPathUtils::scaleToleranceToSrc\28float\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +2325:GrPathUtils::quadraticPointCount\28SkPoint\20const*\2c\20float\29 +2326:GrPathUtils::cubicPointCount\28SkPoint\20const*\2c\20float\29 +2327:GrPaint::setPorterDuffXPFactory\28SkBlendMode\29 +2328:GrPaint::GrPaint\28GrPaint\20const&\29 +2329:GrOpsRenderPass::draw\28int\2c\20int\29 +2330:GrOpsRenderPass::drawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +2331:GrMeshDrawOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2332:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29 +2333:GrGradientShader::MakeGradientFP\28SkGradientBaseShader\20const&\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\2c\20std::__2::unique_ptr>\2c\20SkMatrix\20const*\29 +2334:GrGpuResource::getContext\28\29 +2335:GrGpu::writePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +2336:GrGLTexture::onSetLabel\28\29 +2337:GrGLTexture::onRelease\28\29 +2338:GrGLTexture::onAbandon\28\29 +2339:GrGLTexture::backendFormat\28\29\20const +2340:GrGLSLShaderBuilder::appendFunctionDecl\28SkSLType\2c\20char\20const*\2c\20SkSpan\29 +2341:GrGLSLProgramBuilder::fragmentProcessorHasCoordsParam\28GrFragmentProcessor\20const*\29\20const +2342:GrGLRenderTarget::onRelease\28\29 +2343:GrGLRenderTarget::onAbandon\28\29 +2344:GrGLGpu::resolveRenderFBOs\28GrGLRenderTarget*\2c\20SkIRect\20const&\2c\20GrGLRenderTarget::ResolveDirection\2c\20bool\29 +2345:GrGLGpu::flushBlendAndColorWrite\28skgpu::BlendInfo\20const&\2c\20skgpu::Swizzle\20const&\29 +2346:GrGLGetVersionFromString\28char\20const*\29 +2347:GrGLCheckLinkStatus\28GrGLGpu\20const*\2c\20unsigned\20int\2c\20bool\2c\20skgpu::ShaderErrorHandler*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const**\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +2348:GrGLCaps::maxRenderTargetSampleCount\28GrGLFormat\29\20const +2349:GrFragmentProcessors::Make\28SkBlenderBase\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20GrFPArgs\20const&\29 +2350:GrFragmentProcessor::isEqual\28GrFragmentProcessor\20const&\29\20const +2351:GrFragmentProcessor::asTextureEffect\28\29\20const +2352:GrFragmentProcessor::Rect\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRect\29 +2353:GrFragmentProcessor::ModulateRGBA\28std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2354:GrDrawingManager::~GrDrawingManager\28\29 +2355:GrDrawingManager::removeRenderTasks\28\29 +2356:GrDrawingManager::getPathRenderer\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\2c\20bool\2c\20skgpu::ganesh::PathRendererChain::DrawType\2c\20skgpu::ganesh::PathRenderer::StencilSupport*\29 +2357:GrDrawOpAtlas::compact\28skgpu::AtlasToken\29 +2358:GrContext_Base::~GrContext_Base\28\29 +2359:GrContext_Base::defaultBackendFormat\28SkColorType\2c\20skgpu::Renderable\29\20const +2360:GrColorSpaceXform::XformKey\28GrColorSpaceXform\20const*\29 +2361:GrColorSpaceXform::Make\28SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +2362:GrColorSpaceXform::Make\28GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +2363:GrColorInfo::operator=\28GrColorInfo\20const&\29 +2364:GrCaps::supportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +2365:GrCaps::getFallbackColorTypeAndFormat\28GrColorType\2c\20int\29\20const +2366:GrCaps::areColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +2367:GrBufferAllocPool::~GrBufferAllocPool\28\29 +2368:GrBlurUtils::DrawShapeWithMaskFilter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\29 +2369:GrBaseContextPriv::getShaderErrorHandler\28\29\20const +2370:GrBackendTexture::GrBackendTexture\28GrBackendTexture\20const&\29 +2371:GrBackendRenderTarget::getBackendFormat\28\29\20const +2372:GrBackendFormat::operator==\28GrBackendFormat\20const&\29\20const +2373:GrAAConvexTessellator::createOuterRing\28GrAAConvexTessellator::Ring\20const&\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring*\29 +2374:GrAAConvexTessellator::createInsetRings\28GrAAConvexTessellator::Ring&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring**\29 +2375:FindSortableTop\28SkOpContourHead*\29 +2376:FT_Set_Charmap +2377:FT_Outline_Decompose +2378:FT_Open_Face +2379:FT_New_Size +2380:FT_Load_Sfnt_Table +2381:FT_GlyphLoader_Add +2382:FT_Get_Color_Glyph_Paint +2383:FT_Get_Color_Glyph_Layer +2384:FT_Get_Advance +2385:FT_Done_Library +2386:FT_CMap_New +2387:DecodeImageData\28sk_sp\29 +2388:Current_Ratio +2389:Cr_z__tr_stored_block +2390:ClipParams_unpackRegionOp\28SkReadBuffer*\2c\20unsigned\20int\29 +2391:CircleOp::Circle&\20skia_private::TArray::emplace_back\28CircleOp::Circle&&\29 +2392:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +2393:AlmostEqualUlps_Pin\28float\2c\20float\29 +2394:wuffs_lzw__decoder__workbuf_len +2395:wuffs_gif__decoder__decode_image_config +2396:wuffs_gif__decoder__decode_frame_config +2397:winding_mono_quad\28SkPoint\20const*\2c\20float\2c\20float\2c\20int*\29 +2398:winding_mono_conic\28SkConic\20const&\2c\20float\2c\20float\2c\20int*\29 +2399:wcrtomb +2400:wchar_t\20const*\20std::__2::find\5babi:v160004\5d\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const&\29 +2401:void\20std::__2::__introsort\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2402:void\20std::__2::__introsort\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\2c\20std::__2::iterator_traits<\28anonymous\20namespace\29::Entry*>::difference_type\29 +2403:void\20std::__2::__introsort\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\2c\20std::__2::iterator_traits::difference_type\29 +2404:void\20std::__2::__introsort\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2405:void\20std::__2::__inplace_merge\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +2406:void\20sort_r_simple\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void*\29\2c\20void*\29 +2407:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.3 +2408:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +2409:void\20SkTIntroSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29>\28int\2c\20double*\2c\20int\2c\20void\20SkTQSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29\20const&\29 +2410:void\20SkTIntroSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29>\28int\2c\20SkEdge*\2c\20int\2c\20void\20SkTQSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29\20const&\29 +2411:vfprintf +2412:valid_args\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20unsigned\20long*\29 +2413:update_offset_to_base\28char\20const*\2c\20long\29 +2414:update_box +2415:unsigned\20long\20const&\20std::__2::min\5babi:v160004\5d\28unsigned\20long\20const&\2c\20unsigned\20long\20const&\29 +2416:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2417:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2418:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2419:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2420:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2421:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2422:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2423:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2424:u_charMirror_skia +2425:tt_size_reset +2426:tt_sbit_decoder_load_metrics +2427:tt_face_get_location +2428:tt_face_find_bdf_prop +2429:tolower +2430:toTextStyle\28SimpleTextStyle\20const&\29 +2431:t1_cmap_unicode_done +2432:subdivide_cubic_to\28SkPath*\2c\20SkPoint\20const*\2c\20int\29 +2433:subdivide\28SkConic\20const&\2c\20SkPoint*\2c\20int\29 +2434:strtox +2435:strtoull_l +2436:strtod +2437:std::logic_error::~logic_error\28\29.1 +2438:std::__2::vector>::__append\28unsigned\20long\29 +2439:std::__2::vector>::push_back\5babi:v160004\5d\28float&&\29 +2440:std::__2::vector>::__append\28unsigned\20long\29 +2441:std::__2::vector<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20std::__2::allocator<\28anonymous\20namespace\29::CacheImpl::Value*>>::__throw_length_error\5babi:v160004\5d\28\29\20const +2442:std::__2::vector>::reserve\28unsigned\20long\29 +2443:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +2444:std::__2::unique_ptr<\28anonymous\20namespace\29::SoftwarePathData\2c\20std::__2::default_delete<\28anonymous\20namespace\29::SoftwarePathData>>::reset\5babi:v160004\5d\28\28anonymous\20namespace\29::SoftwarePathData*\29 +2445:std::__2::time_put>>::~time_put\28\29.1 +2446:std::__2::pair\2c\20std::__2::allocator>>>::~pair\28\29 +2447:std::__2::pair\20std::__2::__copy_trivial::operator\28\29\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +2448:std::__2::locale::operator=\28std::__2::locale\20const&\29 +2449:std::__2::locale::locale\28\29 +2450:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\29 +2451:std::__2::ios_base::~ios_base\28\29 +2452:std::__2::ios_base::init\28void*\29 +2453:std::__2::ios_base::clear\28unsigned\20int\29 +2454:std::__2::fpos<__mbstate_t>::fpos\5babi:v160004\5d\28long\20long\29 +2455:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28SkAnimatedImage::Frame&\2c\20SkAnimatedImage::Frame&\29 +2456:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::ProgramUsage*\29\20const +2457:std::__2::decay>::__call\28std::declval\20const&>\28\29\29\29>::type\20std::__2::__to_address\5babi:v160004\5d\2c\20void>\28std::__2::__wrap_iter\20const&\29 +2458:std::__2::chrono::duration>::duration\5babi:v160004\5d\28long\20long\20const&\2c\20std::__2::enable_if::value\20&&\20\28std::__2::integral_constant::value\20||\20!treat_as_floating_point::value\29\2c\20void>::type*\29 +2459:std::__2::char_traits::move\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +2460:std::__2::char_traits::assign\28char*\2c\20unsigned\20long\2c\20char\29 +2461:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.2 +2462:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29 +2463:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2464:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28wchar_t\29 +2465:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +2466:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::allocator\20const&\29 +2467:std::__2::basic_string\2c\20std::__2::allocator>::__make_iterator\5babi:v160004\5d\28char*\29 +2468:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +2469:std::__2::basic_streambuf>::setp\5babi:v160004\5d\28char*\2c\20char*\29 +2470:std::__2::basic_streambuf>::basic_streambuf\28\29 +2471:std::__2::basic_ostream>::~basic_ostream\28\29.1 +2472:std::__2::basic_istream>::~basic_istream\28\29.1 +2473:std::__2::basic_istream>::sentry::sentry\28std::__2::basic_istream>&\2c\20bool\29 +2474:std::__2::basic_iostream>::~basic_iostream\28\29.2 +2475:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2476:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2477:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2478:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2479:std::__2::__throw_out_of_range\5babi:v160004\5d\28char\20const*\29 +2480:std::__2::__throw_length_error\5babi:v160004\5d\28char\20const*\29 +2481:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +2482:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20wchar_t*\2c\20wchar_t&\2c\20wchar_t&\29 +2483:std::__2::__num_get::__stage2_float_loop\28wchar_t\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20wchar_t*\29 +2484:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20char*\2c\20char&\2c\20char&\29 +2485:std::__2::__num_get::__stage2_float_loop\28char\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20char*\29 +2486:std::__2::__libcpp_wcrtomb_l\5babi:v160004\5d\28char*\2c\20wchar_t\2c\20__mbstate_t*\2c\20__locale_struct*\29 +2487:std::__2::__less::operator\28\29\5babi:v160004\5d\28unsigned\20int\20const&\2c\20unsigned\20long\20const&\29\20const +2488:std::__2::__itoa::__base_10_u32\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2489:std::__2::__itoa::__append6\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2490:std::__2::__itoa::__append4\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2491:sktext::gpu::VertexFiller::flatten\28SkWriteBuffer&\29\20const +2492:sktext::gpu::VertexFiller::Make\28skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20SkRect\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::FillerType\29 +2493:sktext::gpu::SubRunContainer::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20SkRefCnt\20const*\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +2494:sktext::gpu::SubRunAllocator::SubRunAllocator\28int\29 +2495:sktext::gpu::GlyphVector::flatten\28SkWriteBuffer&\29\20const +2496:sktext::gpu::GlyphVector::Make\28sktext::SkStrikePromise&&\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\29 +2497:sktext::SkStrikePromise::flatten\28SkWriteBuffer&\29\20const +2498:sktext::GlyphRunBuilder::makeGlyphRunList\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20SkPoint\29 +2499:sktext::GlyphRun::GlyphRun\28SkFont\20const&\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\29 +2500:skpaint_to_grpaint_impl\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::optional>>\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2501:skip_literal_string +2502:skif::\28anonymous\20namespace\29::are_axes_nearly_integer_aligned\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +2503:skif::LayerSpace::relevantSubset\28skif::LayerSpace\2c\20SkTileMode\29\20const +2504:skif::FilterResult::applyColorFilter\28skif::Context\20const&\2c\20sk_sp\29\20const +2505:skif::FilterResult::Builder::outputBounds\28std::__2::optional>\29\20const +2506:skif::FilterResult::Builder::drawShader\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +2507:skif::FilterResult::Builder::createInputShaders\28skif::LayerSpace\20const&\2c\20bool\29 +2508:skia_private::THashTable\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::resize\28int\29 +2509:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeSlot\28int\29 +2510:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2511:skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2512:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2513:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +2514:skia_private::THashTable::Traits>::resize\28int\29 +2515:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::find\28GrProgramDesc\20const&\29\20const +2516:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrThreadSafeCache::Entry*&&\29 +2517:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2518:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +2519:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrTextureProxy*&&\29 +2520:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2521:skia_private::THashTable::Traits>::uncheckedSet\28FT_Opaque_Paint_&&\29 +2522:skia_private::THashTable::Traits>::resize\28int\29 +2523:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::~THashMap\28\29 +2524:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::find\28std::__2::basic_string_view>\20const&\29\20const +2525:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::THashMap\28std::initializer_list>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>\29 +2526:skia_private::THashMap>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::unique_ptr>\29 +2527:skia_private::TArray::resize_back\28int\29 +2528:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2529:skia_private::TArray::push_back\28SkRasterPipeline_MemoryCtxInfo&&\29 +2530:skia_private::TArray::push_back_raw\28int\29 +2531:skia_private::TArray::resize_back\28int\29 +2532:skia_png_write_chunk +2533:skia_png_set_sBIT +2534:skia_png_set_read_fn +2535:skia_png_set_packing +2536:skia_png_set_bKGD +2537:skia_png_save_uint_32 +2538:skia_png_reciprocal2 +2539:skia_png_realloc_array +2540:skia_png_read_start_row +2541:skia_png_read_IDAT_data +2542:skia_png_handle_zTXt +2543:skia_png_handle_tRNS +2544:skia_png_handle_tIME +2545:skia_png_handle_tEXt +2546:skia_png_handle_sRGB +2547:skia_png_handle_sPLT +2548:skia_png_handle_sCAL +2549:skia_png_handle_sBIT +2550:skia_png_handle_pHYs +2551:skia_png_handle_pCAL +2552:skia_png_handle_oFFs +2553:skia_png_handle_iTXt +2554:skia_png_handle_iCCP +2555:skia_png_handle_hIST +2556:skia_png_handle_gAMA +2557:skia_png_handle_cHRM +2558:skia_png_handle_bKGD +2559:skia_png_handle_as_unknown +2560:skia_png_handle_PLTE +2561:skia_png_do_strip_channel +2562:skia_png_destroy_read_struct +2563:skia_png_destroy_info_struct +2564:skia_png_compress_IDAT +2565:skia_png_combine_row +2566:skia_png_colorspace_set_sRGB +2567:skia_png_check_fp_string +2568:skia_png_check_fp_number +2569:skia::textlayout::TypefaceFontStyleSet::createTypeface\28int\29 +2570:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::$_0::operator\28\29\28sk_sp\2c\20sk_sp\29\20const +2571:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const +2572:skia::textlayout::TextLine::getGlyphPositionAtCoordinate\28float\29 +2573:skia::textlayout::Run::isResolved\28\29\20const +2574:skia::textlayout::Run::copyTo\28SkTextBlobBuilder&\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +2575:skia::textlayout::ParagraphImpl::buildClusterTable\28\29 +2576:skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29 +2577:skia::textlayout::OneLineShaper::~OneLineShaper\28\29 +2578:skia::textlayout::FontCollection::setDefaultFontManager\28sk_sp\29 +2579:skia::textlayout::FontCollection::FontCollection\28\29 +2580:skia::textlayout::Cluster::isSoftBreak\28\29\20const +2581:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::flush\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\29\20const +2582:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +2583:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::programInfo\28\29 +2584:skgpu::ganesh::SurfaceFillContext::discard\28\29 +2585:skgpu::ganesh::SurfaceDrawContext::internalStencilClear\28SkIRect\20const*\2c\20bool\29 +2586:skgpu::ganesh::SurfaceDrawContext::drawPath\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrStyle\20const&\29 +2587:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29 +2588:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +2589:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29::$_0::operator\28\29\28GrSurfaceProxyView\2c\20SkIRect\29\20const +2590:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +2591:skgpu::ganesh::QuadPerEdgeAA::MinColorType\28SkRGBA4f<\28SkAlphaType\292>\29 +2592:skgpu::ganesh::PathRendererChain::PathRendererChain\28GrRecordingContext*\2c\20skgpu::ganesh::PathRendererChain::Options\20const&\29 +2593:skgpu::ganesh::PathCurveTessellator::draw\28GrOpFlushState*\29\20const +2594:skgpu::ganesh::OpsTask::recordOp\28std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\2c\20GrCaps\20const&\29 +2595:skgpu::ganesh::FilterAndMipmapHaveNoEffect\28GrQuad\20const&\2c\20GrQuad\20const&\29 +2596:skgpu::ganesh::FillRectOp::MakeNonAARect\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +2597:skgpu::ganesh::FillRRectOp::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2598:skgpu::ganesh::Device::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +2599:skgpu::ganesh::Device::drawImageQuadDirect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +2600:skgpu::ganesh::Device::Make\28std::__2::unique_ptr>\2c\20SkAlphaType\2c\20skgpu::ganesh::Device::InitContents\29 +2601:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::setup_dashed_rect\28SkRect\20const&\2c\20skgpu::VertexWriter&\2c\20SkMatrix\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashCap\29 +2602:skgpu::ganesh::ClipStack::SaveRecord::invalidateMasks\28GrProxyProvider*\2c\20SkTBlockList*\29 +2603:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::SaveRecord\20const&\29\20const +2604:skgpu::ganesh::AtlasTextOp::operator\20new\28unsigned\20long\29 +2605:skgpu::ganesh::AtlasTextOp::Geometry::Make\28sktext::gpu::AtlasSubRun\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\2c\20sk_sp&&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\29 +2606:skgpu::ganesh::AtlasRenderTask::addAtlasDrawOp\28std::__2::unique_ptr>\2c\20GrCaps\20const&\29 +2607:skcms_Transform::$_2::operator\28\29\28skcms_Curve\20const*\2c\20int\29\20const +2608:skcms_TransferFunction_isPQish +2609:skcms_MaxRoundtripError +2610:sk_free_releaseproc\28void\20const*\2c\20void*\29 +2611:siprintf +2612:sift +2613:rotate\28SkDCubic\20const&\2c\20int\2c\20int\2c\20SkDCubic&\29 +2614:read_metadata\28std::__2::vector>\20const&\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +2615:read_header\28SkStream*\2c\20SkISize*\29 +2616:quad_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2617:qsort +2618:psh_globals_set_scale +2619:ps_parser_skip_PS_token +2620:ps_builder_done +2621:png_text_compress +2622:png_inflate_read +2623:png_inflate_claim +2624:png_image_size +2625:png_colorspace_endpoints_match +2626:png_build_16bit_table +2627:normalize +2628:next_marker +2629:morphpoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\2c\20SkPathMeasure&\2c\20float\29 +2630:make_unpremul_effect\28std::__2::unique_ptr>\29 +2631:long\20std::__2::__libcpp_atomic_refcount_decrement\5babi:v160004\5d\28long&\29 +2632:long\20const&\20std::__2::min\5babi:v160004\5d\28long\20const&\2c\20long\20const&\29 +2633:log1p +2634:load_truetype_glyph +2635:line_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2636:lang_find_or_insert\28char\20const*\29 +2637:jpeg_calc_output_dimensions +2638:inner_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +2639:inflate_table +2640:increment_simple_rowgroup_ctr +2641:hb_tag_from_string +2642:hb_shape_plan_destroy +2643:hb_script_get_horizontal_direction +2644:hb_paint_extents_context_t::push_clip\28hb_extents_t\29 +2645:hb_ot_color_palette_get_colors +2646:hb_lazy_loader_t\2c\20hb_face_t\2c\2012u\2c\20OT::vmtx_accelerator_t>::get\28\29\20const +2647:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get\28\29\20const +2648:hb_lazy_loader_t\2c\20hb_face_t\2c\201u\2c\20hb_blob_t>::get\28\29\20const +2649:hb_lazy_loader_t\2c\20hb_face_t\2c\2018u\2c\20hb_blob_t>::get\28\29\20const +2650:hb_hashmap_t::alloc\28unsigned\20int\29 +2651:hb_font_funcs_destroy +2652:hb_face_get_upem +2653:hb_face_destroy +2654:hb_draw_cubic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +2655:hb_buffer_set_segment_properties +2656:hb_blob_create +2657:gray_render_line +2658:get_vendor\28char\20const*\29 +2659:get_renderer\28char\20const*\2c\20GrGLExtensions\20const&\29 +2660:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29 +2661:get_joining_type\28unsigned\20int\2c\20hb_unicode_general_category_t\29 +2662:generate_distance_field_from_image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\29 +2663:ft_var_readpackeddeltas +2664:ft_var_get_item_delta +2665:ft_var_done_item_variation_store +2666:ft_glyphslot_done +2667:ft_glyphslot_alloc_bitmap +2668:freelocale +2669:free_pool +2670:fquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2671:fp_barrierf +2672:fline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2673:fixN0c\28BracketData*\2c\20int\2c\20int\2c\20unsigned\20char\29 +2674:fcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2675:fconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2676:fclose +2677:exp2 +2678:emscripten::internal::MethodInvoker::invoke\28void\20\28SkFont::*\20const&\29\28float\29\2c\20SkFont*\2c\20float\29 +2679:emscripten::internal::MethodInvoker\20\28SkAnimatedImage::*\29\28\29\2c\20sk_sp\2c\20SkAnimatedImage*>::invoke\28sk_sp\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +2680:emscripten::internal::Invoker>\2c\20SimpleParagraphStyle\2c\20sk_sp>::invoke\28std::__2::unique_ptr>\20\28*\29\28SimpleParagraphStyle\2c\20sk_sp\29\2c\20SimpleParagraphStyle*\2c\20sk_sp*\29 +2681:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +2682:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFontMgr&\2c\20int\29\2c\20SkFontMgr*\2c\20int\29 +2683:do_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +2684:decompose\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\2c\20unsigned\20int\29 +2685:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0>\28skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0&&\29::'lambda'\28char*\29::__invoke\28char*\29 +2686:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool&\2c\20GrPipeline*&\2c\20GrUserStencilSettings\20const*&&\2c\20\28anonymous\20namespace\29::DrawAtlasPathShader*&\2c\20GrPrimitiveType&&\2c\20GrXferBarrierFlags&\2c\20GrLoadOp&\29::'lambda'\28void*\29>\28GrProgramInfo&&\29::'lambda'\28char*\29::__invoke\28char*\29 +2687:cubic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2688:conic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2689:char\20const*\20std::__2::find\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char\20const&\29 +2690:char\20const*\20std::__2::__rewrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +2691:cff_index_get_pointers +2692:cff2_path_param_t::move_to\28CFF::point_t\20const&\29 +2693:cff1_path_param_t::move_to\28CFF::point_t\20const&\29 +2694:cf2_glyphpath_computeOffset +2695:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2696:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2697:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2698:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2699:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2700:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2701:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2702:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2703:byn$mgfn-shared$void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +2704:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2705:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +2706:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray&&\29 +2707:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +2708:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +2709:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +2710:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +2711:byn$mgfn-shared$SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +2712:byn$mgfn-shared$SkImageInfo::MakeN32Premul\28int\2c\20int\29 +2713:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +2714:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +2715:byn$mgfn-shared$SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +2716:byn$mgfn-shared$Round_To_Grid +2717:byn$mgfn-shared$LineConicIntersections::addLineNearEndPoints\28\29 +2718:byn$mgfn-shared$GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +2719:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +2720:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +2721:byn$mgfn-shared$DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +2722:build_tree +2723:bracketAddOpening\28BracketData*\2c\20char16_t\2c\20int\29 +2724:bool\20OT::glyf_impl::Glyph::get_points\28hb_font_t*\2c\20OT::glyf_accelerator_t\20const&\2c\20contour_point_vector_t&\2c\20contour_point_vector_t*\2c\20head_maxp_info_t*\2c\20unsigned\20int*\2c\20bool\2c\20bool\2c\20bool\2c\20hb_array_t\2c\20hb_map_t*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +2725:bool\20OT::glyf_accelerator_t::get_points\28hb_font_t*\2c\20unsigned\20int\2c\20OT::glyf_accelerator_t::points_aggregator_t\29\20const +2726:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +2727:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +2728:blit_aaa_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +2729:auto\20std::__2::__unwrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +2730:atan +2731:alloc_large +2732:af_glyph_hints_done +2733:add_quad\28SkPoint\20const*\2c\20skia_private::TArray*\29 +2734:acos +2735:aaa_fill_path\28SkPath\20const&\2c\20SkIRect\20const&\2c\20AdditiveBlitter*\2c\20int\2c\20int\2c\20bool\2c\20bool\2c\20bool\29 +2736:_get_path\28OT::cff1::accelerator_t\20const*\2c\20hb_font_t*\2c\20unsigned\20int\2c\20hb_draw_session_t&\2c\20bool\2c\20CFF::point_t*\29 +2737:_get_bounds\28OT::cff1::accelerator_t\20const*\2c\20unsigned\20int\2c\20bounds_t&\2c\20bool\29 +2738:_embind_register_bindings +2739:__trunctfdf2 +2740:__towrite +2741:__toread +2742:__subtf3 +2743:__strchrnul +2744:__rem_pio2f +2745:__rem_pio2 +2746:__math_uflowf +2747:__math_oflowf +2748:__fwritex +2749:__cxxabiv1::__class_type_info::process_static_type_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\29\20const +2750:__cxxabiv1::__class_type_info::process_static_type_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\29\20const +2751:__cxxabiv1::__class_type_info::process_found_base_class\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +2752:__cxxabiv1::__base_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2753:\28anonymous\20namespace\29::shape_contains_rect\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20bool\29 +2754:\28anonymous\20namespace\29::generateFacePathCOLRv1\28FT_FaceRec_*\2c\20unsigned\20short\2c\20SkPath*\29 +2755:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads_with_constraint\28SkPoint\20const*\2c\20float\2c\20SkPathFirstDirection\2c\20skia_private::TArray*\2c\20int\29 +2756:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\2c\20int\2c\20bool\2c\20bool\29 +2757:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const +2758:\28anonymous\20namespace\29::bloat_quad\28SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkMatrix\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +2759:\28anonymous\20namespace\29::SkEmptyTypeface::onMakeClone\28SkFontArguments\20const&\29\20const +2760:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29.1 +2761:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29 +2762:\28anonymous\20namespace\29::SkBlurImageFilter::mapSigma\28skif::Mapping\20const&\2c\20bool\29\20const +2763:\28anonymous\20namespace\29::DrawAtlasOpImpl::visitProxies\28std::__2::function\20const&\29\20const +2764:\28anonymous\20namespace\29::DrawAtlasOpImpl::programInfo\28\29 +2765:\28anonymous\20namespace\29::DrawAtlasOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +2766:\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +2767:\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +2768:WebPRescaleNeededLines +2769:WebPInitDecBufferInternal +2770:WebPInitCustomIo +2771:WebPGetFeaturesInternal +2772:WebPDemuxGetFrame +2773:VP8LInitBitReader +2774:VP8LColorIndexInverseTransformAlpha +2775:VP8InitIoInternal +2776:VP8InitBitReader +2777:TT_Vary_Apply_Glyph_Deltas +2778:TT_Set_Var_Design +2779:SkWuffsCodec::decodeFrame\28\29 +2780:SkVertices::MakeCopy\28SkVertices::VertexMode\2c\20int\2c\20SkPoint\20const*\2c\20SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20short\20const*\29 +2781:SkVertices::Builder::texCoords\28\29 +2782:SkVertices::Builder::positions\28\29 +2783:SkVertices::Builder::init\28SkVertices::Desc\20const&\29 +2784:SkVertices::Builder::colors\28\29 +2785:SkVertices::Builder::Builder\28SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +2786:SkTypeface_FreeType::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +2787:SkTypeface::getTableSize\28unsigned\20int\29\20const +2788:SkTiff::ImageFileDirectory::getEntryTag\28unsigned\20short\29\20const +2789:SkTiff::ImageFileDirectory::MakeFromOffset\28sk_sp\2c\20bool\2c\20unsigned\20int\2c\20bool\29 +2790:SkTextBlobRunIterator::positioning\28\29\20const +2791:SkTSpan::splitAt\28SkTSpan*\2c\20double\2c\20SkArenaAlloc*\29 +2792:SkTSect::computePerpendiculars\28SkTSect*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2793:SkTDStorage::insert\28int\29 +2794:SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +2795:SkTDPQueue::percolateDownIfNecessary\28int\29 +2796:SkTConic::hullIntersects\28SkDConic\20const&\2c\20bool*\29\20const +2797:SkSurface_Base::SkSurface_Base\28int\2c\20int\2c\20SkSurfaceProps\20const*\29 +2798:SkStrokerPriv::CapFactory\28SkPaint::Cap\29 +2799:SkStrokeRec::getInflationRadius\28\29\20const +2800:SkString::equals\28char\20const*\29\20const +2801:SkStrikeSpec::MakeTransformMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +2802:SkStrikeSpec::MakePath\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\29 +2803:SkStrike::glyph\28SkGlyphDigest\29 +2804:SkShapers::HB::ShapeDontWrapOrReorder\28sk_sp\2c\20sk_sp\29 +2805:SkShaper::TrivialRunIterator::endOfCurrentRun\28\29\20const +2806:SkShaper::TrivialRunIterator::atEnd\28\29\20const +2807:SkShaper::MakeFontMgrRunIterator\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20sk_sp\29 +2808:SkShadowTessellator::MakeAmbient\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20bool\29 +2809:SkScan::FillTriangle\28SkPoint\20const*\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +2810:SkScan::FillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +2811:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +2812:SkScan::AntiHairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +2813:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\2c\20bool\29 +2814:SkScalerContextRec::CachedMaskGamma\28unsigned\20char\2c\20unsigned\20char\29 +2815:SkScalerContextFTUtils::drawSVGGlyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +2816:SkScalarInterpFunc\28float\2c\20float\20const*\2c\20float\20const*\2c\20int\29 +2817:SkSLTypeString\28SkSLType\29 +2818:SkSL::simplify_negation\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\29 +2819:SkSL::simplify_matrix_multiplication\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +2820:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +2821:SkSL::build_argument_type_list\28SkSpan>\20const>\29 +2822:SkSL::\28anonymous\20namespace\29::SwitchCaseContainsExit::visitStatement\28SkSL::Statement\20const&\29 +2823:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::returnsInputAlpha\28SkSL::Expression\20const&\29 +2824:SkSL::\28anonymous\20namespace\29::ConstantExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +2825:SkSL::Variable::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\29 +2826:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29\20const +2827:SkSL::Type::MakeSamplerType\28char\20const*\2c\20SkSL::Type\20const&\29 +2828:SkSL::SymbolTable::moveSymbolTo\28SkSL::SymbolTable*\2c\20SkSL::Symbol*\2c\20SkSL::Context\20const&\29 +2829:SkSL::SymbolTable::isType\28std::__2::basic_string_view>\29\20const +2830:SkSL::Symbol::instantiate\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +2831:SkSL::StructType::slotCount\28\29\20const +2832:SkSL::SampleUsage::merge\28SkSL::SampleUsage\20const&\29 +2833:SkSL::ReturnStatement::~ReturnStatement\28\29.1 +2834:SkSL::ReturnStatement::~ReturnStatement\28\29 +2835:SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +2836:SkSL::RP::Generator::pushTernaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +2837:SkSL::RP::Generator::pushStructuredComparison\28SkSL::RP::LValue*\2c\20SkSL::Operator\2c\20SkSL::RP::LValue*\2c\20SkSL::Type\20const&\29 +2838:SkSL::RP::Generator::pushMatrixMultiply\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +2839:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29 +2840:SkSL::RP::Builder::push_uniform\28SkSL::RP::SlotRange\29 +2841:SkSL::RP::Builder::merge_condition_mask\28\29 +2842:SkSL::RP::Builder::jump\28int\29 +2843:SkSL::RP::Builder::branch_if_no_active_lanes_on_stack_top_equal\28int\2c\20int\29 +2844:SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +2845:SkSL::Pool::detachFromThread\28\29 +2846:SkSL::PipelineStage::ConvertProgram\28SkSL::Program\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20SkSL::PipelineStage::Callbacks*\29 +2847:SkSL::Parser::unaryExpression\28\29 +2848:SkSL::Parser::swizzle\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::basic_string_view>\2c\20SkSL::Position\29 +2849:SkSL::Parser::block\28bool\2c\20std::__2::unique_ptr>*\29 +2850:SkSL::Operator::getBinaryPrecedence\28\29\20const +2851:SkSL::ModuleLoader::loadGPUModule\28SkSL::Compiler*\29 +2852:SkSL::ModifierFlags::checkPermittedFlags\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\29\20const +2853:SkSL::MethodReference::~MethodReference\28\29.1 +2854:SkSL::MethodReference::~MethodReference\28\29 +2855:SkSL::Mangler::uniqueName\28std::__2::basic_string_view>\2c\20SkSL::SymbolTable*\29 +2856:SkSL::LiteralType::slotType\28unsigned\20long\29\20const +2857:SkSL::Layout::operator==\28SkSL::Layout\20const&\29\20const +2858:SkSL::Layout::checkPermittedLayout\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkEnumBitMask\29\20const +2859:SkSL::Inliner::analyze\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\29 +2860:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29 +2861:SkSL::GLSLCodeGenerator::writeLiteral\28SkSL::Literal\20const&\29 +2862:SkSL::GLSLCodeGenerator::writeFunctionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +2863:SkSL::ForStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +2864:SkSL::FieldAccess::description\28SkSL::OperatorPrecedence\29\20const +2865:SkSL::Expression::isIncomplete\28SkSL::Context\20const&\29\20const +2866:SkSL::Expression::compareConstant\28SkSL::Expression\20const&\29\20const +2867:SkSL::DebugTracePriv::~DebugTracePriv\28\29 +2868:SkSL::Context::Context\28SkSL::BuiltinTypes\20const&\2c\20SkSL::ErrorReporter&\29 +2869:SkSL::ConstructorArrayCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +2870:SkSL::ConstructorArray::~ConstructorArray\28\29 +2871:SkSL::ConstructorArray::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +2872:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +2873:SkSL::Analysis::CallsColorTransformIntrinsics\28SkSL::Program\20const&\29 +2874:SkSL::AliasType::bitWidth\28\29\20const +2875:SkRuntimeEffectPriv::VarAsUniform\28SkSL::Variable\20const&\2c\20SkSL::Context\20const&\2c\20unsigned\20long*\29 +2876:SkRuntimeEffectPriv::UniformsAsSpan\28SkSpan\2c\20sk_sp\2c\20bool\2c\20SkColorSpace\20const*\2c\20SkArenaAlloc*\29 +2877:SkRuntimeEffect::source\28\29\20const +2878:SkRuntimeEffect::makeShader\28sk_sp\2c\20SkSpan\2c\20SkMatrix\20const*\29\20const +2879:SkRuntimeEffect::MakeForBlender\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +2880:SkResourceCache::checkMessages\28\29 +2881:SkResourceCache::NewCachedData\28unsigned\20long\29 +2882:SkRegion::translate\28int\2c\20int\2c\20SkRegion*\29\20const +2883:SkReduceOrder::Cubic\28SkPoint\20const*\2c\20SkPoint*\29 +2884:SkRectPriv::QuadContainsRectMask\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +2885:SkRecords::PreCachedPath::PreCachedPath\28SkPath\20const&\29 +2886:SkRecords::FillBounds::pushSaveBlock\28SkPaint\20const*\29 +2887:SkRecordDraw\28SkRecord\20const&\2c\20SkCanvas*\2c\20SkPicture\20const*\20const*\2c\20SkDrawable*\20const*\2c\20int\2c\20SkBBoxHierarchy\20const*\2c\20SkPicture::AbortCallback*\29 +2888:SkReadBuffer::readPoint\28SkPoint*\29 +2889:SkReadBuffer::readPath\28SkPath*\29 +2890:SkReadBuffer::readByteArrayAsData\28\29 +2891:SkReadBuffer::readArray\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +2892:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29 +2893:SkRasterPipelineBlitter::blitRectWithTrace\28int\2c\20int\2c\20int\2c\20int\2c\20bool\29 +2894:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +2895:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29 +2896:SkRasterPipeline::appendLoad\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +2897:SkRasterClip::op\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkClipOp\2c\20bool\29 +2898:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29 +2899:SkRRect::scaleRadii\28\29 +2900:SkRRect::AreRectAndRadiiValid\28SkRect\20const&\2c\20SkPoint\20const*\29 +2901:SkRBuffer::skip\28unsigned\20long\29 +2902:SkPngCodec::IsPng\28void\20const*\2c\20unsigned\20long\29 +2903:SkPixmap::setColorSpace\28sk_sp\29 +2904:SkPixelRef::~SkPixelRef\28\29 +2905:SkPixelRef::notifyPixelsChanged\28\29 +2906:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20sk_sp\29 +2907:SkPictureRecord::addPathToHeap\28SkPath\20const&\29 +2908:SkPictureData::getPath\28SkReadBuffer*\29\20const +2909:SkPicture::serialize\28SkWStream*\2c\20SkSerialProcs\20const*\2c\20SkRefCntSet*\2c\20bool\29\20const +2910:SkPathWriter::update\28SkOpPtT\20const*\29 +2911:SkPathStroker::strokeCloseEnough\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20SkQuadConstruct*\29\20const +2912:SkPathStroker::finishContour\28bool\2c\20bool\29 +2913:SkPathRef::reset\28\29 +2914:SkPathRef::isRRect\28SkRRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +2915:SkPathRef::addGenIDChangeListener\28sk_sp\29 +2916:SkPathPriv::IsRectContour\28SkPath\20const&\2c\20bool\2c\20int*\2c\20SkPoint\20const**\2c\20bool*\2c\20SkPathDirection*\2c\20SkRect*\29 +2917:SkPathEffectBase::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +2918:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\29\20const +2919:SkPathBuilder::quadTo\28SkPoint\2c\20SkPoint\29 +2920:SkPathBuilder::cubicTo\28SkPoint\2c\20SkPoint\2c\20SkPoint\29 +2921:SkPath::writeToMemory\28void*\29\20const +2922:SkPath::reversePathTo\28SkPath\20const&\29 +2923:SkPath::rQuadTo\28float\2c\20float\2c\20float\2c\20float\29 +2924:SkPath::contains\28float\2c\20float\29\20const +2925:SkPath::arcTo\28float\2c\20float\2c\20float\2c\20SkPath::ArcSize\2c\20SkPathDirection\2c\20float\2c\20float\29 +2926:SkPath::approximateBytesUsed\28\29\20const +2927:SkPath::addCircle\28float\2c\20float\2c\20float\2c\20SkPathDirection\29 +2928:SkPath::Rect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2929:SkParse::FindScalar\28char\20const*\2c\20float*\29 +2930:SkPairPathEffect::flatten\28SkWriteBuffer&\29\20const +2931:SkPaintToGrPaintWithBlend\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2932:SkPaint::refImageFilter\28\29\20const +2933:SkPaint::refBlender\28\29\20const +2934:SkPaint::getBlendMode_or\28SkBlendMode\29\20const +2935:SkPackARGB_as_RGBA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +2936:SkPackARGB_as_BGRA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +2937:SkOpSpan::setOppSum\28int\29 +2938:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20SkOpSpanBase**\29 +2939:SkOpSegment::markAllDone\28\29 +2940:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2941:SkOpPtT::contains\28SkOpSegment\20const*\29\20const +2942:SkOpEdgeBuilder::closeContour\28SkPoint\20const&\2c\20SkPoint\20const&\29 +2943:SkOpCoincidence::releaseDeleted\28\29 +2944:SkOpCoincidence::markCollapsed\28SkOpPtT*\29 +2945:SkOpCoincidence::findOverlaps\28SkOpCoincidence*\29\20const +2946:SkOpCoincidence::expand\28\29 +2947:SkOpCoincidence::apply\28\29 +2948:SkOpAngle::orderable\28SkOpAngle*\29 +2949:SkOpAngle::computeSector\28\29 +2950:SkNullBlitter::~SkNullBlitter\28\29 +2951:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\2c\20sk_sp\29 +2952:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\29 +2953:SkNoDestructor>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>>::SkNoDestructor\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>&&\29 +2954:SkMessageBus::BufferFinishedMessage\2c\20GrDirectContext::DirectContextID\2c\20false>::Get\28\29 +2955:SkMemoryStream::SkMemoryStream\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +2956:SkMemoryStream::SkMemoryStream\28sk_sp\29 +2957:SkMatrix::setRotate\28float\29 +2958:SkMatrix::setPolyToPoly\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20int\29 +2959:SkMatrix::postSkew\28float\2c\20float\29 +2960:SkMatrix::invert\28SkMatrix*\29\20const +2961:SkMatrix::getMinScale\28\29\20const +2962:SkMatrix::getMinMaxScales\28float*\29\20const +2963:SkMaskBuilder::PrepareDestination\28int\2c\20int\2c\20SkMask\20const&\29 +2964:SkMakeBitmapShaderForPaint\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20SkCopyPixelsMode\29 +2965:SkLineClipper::ClipLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\2c\20bool\29 +2966:SkJpegCodec::ReadHeader\28SkStream*\2c\20SkCodec**\2c\20JpegDecoderMgr**\2c\20std::__2::unique_ptr>\29 +2967:SkJSONWriter::separator\28bool\29 +2968:SkIntersections::intersectRay\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +2969:SkIntersections::intersectRay\28SkDLine\20const&\2c\20SkDLine\20const&\29 +2970:SkIntersections::intersectRay\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +2971:SkIntersections::intersectRay\28SkDConic\20const&\2c\20SkDLine\20const&\29 +2972:SkIntersections::cleanUpParallelLines\28bool\29 +2973:SkImage_Raster::SkImage_Raster\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20int\29 +2974:SkImage_Ganesh::~SkImage_Ganesh\28\29 +2975:SkImageShader::Make\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2976:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\29 +2977:SkImageInfo::MakeN32Premul\28SkISize\29 +2978:SkImageGenerator::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +2979:SkImageGenerator::SkImageGenerator\28SkImageInfo\20const&\2c\20unsigned\20int\29 +2980:SkImageFilters::MatrixTransform\28SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20sk_sp\29 +2981:SkImageFilters::Blur\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +2982:SkImageFilter_Base::getInputBounds\28skif::Mapping\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\29\20const +2983:SkImageFilter_Base::filterImage\28skif::Context\20const&\29\20const +2984:SkImageFilter_Base::affectsTransparentBlack\28\29\20const +2985:SkImage::width\28\29\20const +2986:SkImage::readPixels\28GrDirectContext*\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +2987:SkImage::hasMipmaps\28\29\20const +2988:SkIDChangeListener::List::add\28sk_sp\29 +2989:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2990:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2991:SkGradientBaseShader::AppendInterpolatedToDstStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20bool\2c\20SkGradientShader::Interpolation\20const&\2c\20SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +2992:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkScalerContext*\29 +2993:SkGlyph::mask\28\29\20const +2994:SkFontScanner_FreeType::GetAxes\28FT_FaceRec_*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29 +2995:SkFontPriv::ApproximateTransformedTextSize\28SkFont\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\20const&\29 +2996:SkFontMgr::matchFamily\28char\20const*\29\20const +2997:SkFindCubicMaxCurvature\28SkPoint\20const*\2c\20float*\29 +2998:SkExif::parse_ifd\28SkExif::Metadata&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +2999:SkEncodedInfo::ICCProfile::Make\28sk_sp\29 +3000:SkEmptyFontMgr::onMatchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +3001:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkIRect\20const*\2c\20int\29 +3002:SkDynamicMemoryWStream::padToAlign4\28\29 +3003:SkDrawable::SkDrawable\28\29 +3004:SkDrawBase::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29\20const +3005:SkDrawBase::drawDevicePoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\2c\20SkDevice*\29\20const +3006:SkDraw::drawBitmap\28SkBitmap\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29\20const +3007:SkDevice::simplifyGlyphRunRSXFormAndRedraw\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +3008:SkDevice::setDeviceCoordinateSystem\28SkM44\20const&\2c\20SkM44\20const&\2c\20SkM44\20const&\2c\20int\2c\20int\29 +3009:SkDevice::SkDevice\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +3010:SkDataTable::at\28int\2c\20unsigned\20long*\29\20const +3011:SkData::MakeZeroInitialized\28unsigned\20long\29 +3012:SkData::MakeFromStream\28SkStream*\2c\20unsigned\20long\29 +3013:SkDQuad::dxdyAtT\28double\29\20const +3014:SkDQuad::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +3015:SkDQuad::FindExtrema\28double\20const*\2c\20double*\29 +3016:SkDCubic::subDivide\28double\2c\20double\29\20const +3017:SkDCubic::searchRoots\28double*\2c\20int\2c\20double\2c\20SkDCubic::SearchAxis\2c\20double*\29\20const +3018:SkDCubic::Coefficients\28double\20const*\2c\20double*\2c\20double*\2c\20double*\2c\20double*\29 +3019:SkDConic::dxdyAtT\28double\29\20const +3020:SkDConic::FindExtrema\28double\20const*\2c\20float\2c\20double*\29 +3021:SkCopyStreamToData\28SkStream*\29 +3022:SkContourMeasure_segTo\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20float\2c\20SkPath*\29 +3023:SkContourMeasureIter::next\28\29 +3024:SkContourMeasureIter::Impl::compute_quad_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3025:SkContourMeasureIter::Impl::compute_cubic_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3026:SkContourMeasureIter::Impl::compute_conic_segs\28SkConic\20const&\2c\20float\2c\20int\2c\20SkPoint\20const&\2c\20int\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20int\29 +3027:SkContourMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +3028:SkConic::evalAt\28float\29\20const +3029:SkConic::TransformW\28SkPoint\20const*\2c\20float\2c\20SkMatrix\20const&\29 +3030:SkColorToPMColor4f\28unsigned\20int\2c\20GrColorInfo\20const&\29 +3031:SkColorSpace::transferFn\28skcms_TransferFunction*\29\20const +3032:SkColorSpace::toXYZD50\28skcms_Matrix3x3*\29\20const +3033:SkColorPalette::SkColorPalette\28unsigned\20int\20const*\2c\20int\29 +3034:SkColorFilters::Blend\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\2c\20SkBlendMode\29 +3035:SkColor4fPrepForDst\28SkRGBA4f<\28SkAlphaType\293>\2c\20GrColorInfo\20const&\29 +3036:SkCodec::startIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +3037:SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +3038:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\2c\20float\29 +3039:SkCanvas::setMatrix\28SkM44\20const&\29 +3040:SkCanvas::scale\28float\2c\20float\29 +3041:SkCanvas::private_draw_shadow_rec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +3042:SkCanvas::peekPixels\28SkPixmap*\29 +3043:SkCanvas::onResetClip\28\29 +3044:SkCanvas::onClipShader\28sk_sp\2c\20SkClipOp\29 +3045:SkCanvas::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +3046:SkCanvas::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3047:SkCanvas::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3048:SkCanvas::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3049:SkCanvas::internal_private_resetClip\28\29 +3050:SkCanvas::internalSaveLayer\28SkCanvas::SaveLayerRec\20const&\2c\20SkCanvas::SaveLayerStrategy\2c\20bool\29 +3051:SkCanvas::internalDrawDeviceWithFilter\28SkDevice*\2c\20SkDevice*\2c\20SkSpan>\2c\20SkPaint\20const&\2c\20SkCanvas::DeviceCompatibleWithFilter\2c\20SkColorInfo\20const&\2c\20float\2c\20bool\29 +3052:SkCanvas::experimental_DrawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +3053:SkCanvas::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +3054:SkCanvas::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +3055:SkCanvas::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +3056:SkCanvas::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +3057:SkCanvas::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +3058:SkCanvas::drawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +3059:SkCanvas::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +3060:SkCanvas::attemptBlurredRRectDraw\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20SkEnumBitMask\29 +3061:SkCanvas::SkCanvas\28SkIRect\20const&\29 +3062:SkCachedData::~SkCachedData\28\29 +3063:SkCTMShader::~SkCTMShader\28\29.1 +3064:SkBmpRLECodec::setPixel\28void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\29 +3065:SkBmpCodec::prepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +3066:SkBlitterClipper::apply\28SkBlitter*\2c\20SkRegion\20const*\2c\20SkIRect\20const*\29 +3067:SkBlitter::blitRegion\28SkRegion\20const&\29 +3068:SkBitmapDevice::BDDraw::~BDDraw\28\29 +3069:SkBitmapCacheDesc::Make\28SkImage\20const*\29 +3070:SkBitmap::writePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +3071:SkBitmap::setPixels\28void*\29 +3072:SkBitmap::pixelRefOrigin\28\29\20const +3073:SkBitmap::notifyPixelsChanged\28\29\20const +3074:SkBitmap::isImmutable\28\29\20const +3075:SkBitmap::allocPixels\28\29 +3076:SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3077:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29.1 +3078:SkBaseShadowTessellator::handleCubic\28SkMatrix\20const&\2c\20SkPoint*\29 +3079:SkBaseShadowTessellator::handleConic\28SkMatrix\20const&\2c\20SkPoint*\2c\20float\29 +3080:SkAutoPathBoundsUpdate::SkAutoPathBoundsUpdate\28SkPath*\2c\20SkRect\20const&\29 +3081:SkAutoDescriptor::SkAutoDescriptor\28SkAutoDescriptor&&\29 +3082:SkArenaAllocWithReset::SkArenaAllocWithReset\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3083:SkAnimatedImage::decodeNextFrame\28\29 +3084:SkAnimatedImage::Frame::copyTo\28SkAnimatedImage::Frame*\29\20const +3085:SkAnalyticQuadraticEdge::updateQuadratic\28\29 +3086:SkAnalyticCubicEdge::updateCubic\28bool\29 +3087:SkAlphaRuns::reset\28int\29 +3088:SkAAClip::setRect\28SkIRect\20const&\29 +3089:Simplify\28SkPath\20const&\2c\20SkPath*\29 +3090:ReconstructRow +3091:R.1 +3092:OpAsWinding::nextEdge\28Contour&\2c\20OpAsWinding::Edge\29 +3093:OT::sbix::sanitize\28hb_sanitize_context_t*\29\20const +3094:OT::post::accelerator_t::cmp_gids\28void\20const*\2c\20void\20const*\2c\20void*\29 +3095:OT::gvar::sanitize_shallow\28hb_sanitize_context_t*\29\20const +3096:OT::fvar::sanitize\28hb_sanitize_context_t*\29\20const +3097:OT::cmap::sanitize\28hb_sanitize_context_t*\29\20const +3098:OT::cmap::accelerator_t::accelerator_t\28hb_face_t*\29 +3099:OT::cff2::accelerator_templ_t>::~accelerator_templ_t\28\29 +3100:OT::avar::sanitize\28hb_sanitize_context_t*\29\20const +3101:OT::VarRegionList::evaluate\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +3102:OT::Rule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +3103:OT::OpenTypeFontFile::sanitize\28hb_sanitize_context_t*\29\20const +3104:OT::MVAR::sanitize\28hb_sanitize_context_t*\29\20const +3105:OT::Layout::GSUB_impl::SubstLookup::serialize_ligature\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20hb_sorted_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\29 +3106:OT::Layout::GPOS_impl::MarkArray::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20OT::Layout::GPOS_impl::AnchorMatrix\20const&\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +3107:OT::GDEFVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3108:OT::Device::get_y_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3109:OT::Device::get_x_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3110:OT::ClipList::get_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\2c\20OT::VarStoreInstancer\20const&\29\20const +3111:OT::ChainRule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +3112:OT::CPAL::sanitize\28hb_sanitize_context_t*\29\20const +3113:OT::COLR::sanitize\28hb_sanitize_context_t*\29\20const +3114:OT::COLR::paint_glyph\28hb_font_t*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29\20const +3115:MakeRasterCopyPriv\28SkPixmap\20const&\2c\20unsigned\20int\29 +3116:LineQuadraticIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineQuadraticIntersections::PinTPoint\29 +3117:LineQuadraticIntersections::checkCoincident\28\29 +3118:LineQuadraticIntersections::addLineNearEndPoints\28\29 +3119:LineCubicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineCubicIntersections::PinTPoint\29 +3120:LineCubicIntersections::checkCoincident\28\29 +3121:LineCubicIntersections::addLineNearEndPoints\28\29 +3122:LineConicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineConicIntersections::PinTPoint\29 +3123:LineConicIntersections::checkCoincident\28\29 +3124:LineConicIntersections::addLineNearEndPoints\28\29 +3125:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\29 +3126:GrVertexChunkBuilder::~GrVertexChunkBuilder\28\29 +3127:GrTriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +3128:GrTriangulator::splitEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +3129:GrTriangulator::pathToPolys\28float\2c\20SkRect\20const&\2c\20bool*\29 +3130:GrTriangulator::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20GrTriangulator::VertexList*\2c\20int\29\20const +3131:GrTriangulator::emitTriangle\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20skgpu::VertexWriter\29\20const +3132:GrTriangulator::checkForIntersection\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +3133:GrTriangulator::applyFillType\28int\29\20const +3134:GrTriangulator::EdgeList::insert\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +3135:GrTriangulator::Edge::insertBelow\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3136:GrTriangulator::Edge::insertAbove\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3137:GrToGLStencilFunc\28GrStencilTest\29 +3138:GrThreadSafeCache::dropAllRefs\28\29 +3139:GrTextureRenderTargetProxy::callbackDesc\28\29\20const +3140:GrTexture::GrTexture\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20GrTextureType\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +3141:GrTexture::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20skgpu::ScratchKey*\29 +3142:GrSurfaceProxyView::asTextureProxyRef\28\29\20const +3143:GrSurfaceProxy::GrSurfaceProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +3144:GrSurfaceProxy::GrSurfaceProxy\28sk_sp\2c\20SkBackingFit\2c\20GrSurfaceProxy::UseAllocator\29 +3145:GrSurface::setRelease\28sk_sp\29 +3146:GrStyledShape::styledBounds\28\29\20const +3147:GrStyledShape::asLine\28SkPoint*\2c\20bool*\29\20const +3148:GrStyledShape::addGenIDChangeListener\28sk_sp\29\20const +3149:GrSimpleMeshDrawOpHelper::fixedFunctionFlags\28\29\20const +3150:GrShape::setRect\28SkRect\20const&\29 +3151:GrShape::setRRect\28SkRRect\20const&\29 +3152:GrShape::segmentMask\28\29\20const +3153:GrResourceProvider::assignUniqueKeyToResource\28skgpu::UniqueKey\20const&\2c\20GrGpuResource*\29 +3154:GrResourceCache::releaseAll\28\29 +3155:GrResourceCache::getNextTimestamp\28\29 +3156:GrRenderTask::addDependency\28GrRenderTask*\29 +3157:GrRenderTargetProxy::canUseStencil\28GrCaps\20const&\29\20const +3158:GrRecordingContextPriv::addOnFlushCallbackObject\28GrOnFlushCallbackObject*\29 +3159:GrRecordingContext::~GrRecordingContext\28\29 +3160:GrRecordingContext::abandonContext\28\29 +3161:GrQuadUtils::TessellationHelper::Vertices::moveTo\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +3162:GrQuadUtils::TessellationHelper::EdgeEquations::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\29 +3163:GrQuadUtils::ResolveAAType\28GrAAType\2c\20GrQuadAAFlags\2c\20GrQuad\20const&\2c\20GrAAType*\2c\20GrQuadAAFlags*\29 +3164:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA&&\2c\20GrQuad\20const*\29 +3165:GrPixmap::GrPixmap\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +3166:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29 +3167:GrPersistentCacheUtils::UnpackCachedShaders\28SkReadBuffer*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20int\2c\20GrPersistentCacheUtils::ShaderMetadata*\29 +3168:GrPathUtils::convertCubicToQuads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\29 +3169:GrPathTessellationShader::Make\28GrShaderCaps\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::tess::PatchAttribs\29 +3170:GrOp::chainConcat\28std::__2::unique_ptr>\29 +3171:GrOp::GenOpClassID\28\29 +3172:GrMeshDrawOp::PatternHelper::PatternHelper\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +3173:GrMemoryPool::Make\28unsigned\20long\2c\20unsigned\20long\29 +3174:GrMakeKeyFromImageID\28skgpu::UniqueKey*\2c\20unsigned\20int\2c\20SkIRect\20const&\29 +3175:GrImageInfo::GrImageInfo\28GrColorInfo\20const&\2c\20SkISize\20const&\29 +3176:GrGpuResource::removeScratchKey\28\29 +3177:GrGpuResource::registerWithCacheWrapped\28GrWrapCacheable\29 +3178:GrGpuResource::dumpMemoryStatisticsPriv\28SkTraceMemoryDump*\2c\20SkString\20const&\2c\20char\20const*\2c\20unsigned\20long\29\20const +3179:GrGpuBuffer::onGpuMemorySize\28\29\20const +3180:GrGpu::resolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +3181:GrGpu::executeFlushInfo\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3182:GrGeometryProcessor::TextureSampler::TextureSampler\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +3183:GrGeometryProcessor::ProgramImpl::ComputeMatrixKeys\28GrShaderCaps\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3184:GrGLUniformHandler::getUniformVariable\28GrResourceHandle\29\20const +3185:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +3186:GrGLSemaphore::GrGLSemaphore\28GrGLGpu*\2c\20bool\29 +3187:GrGLSLVaryingHandler::~GrGLSLVaryingHandler\28\29 +3188:GrGLSLUniformHandler::addInputSampler\28skgpu::Swizzle\20const&\2c\20char\20const*\29 +3189:GrGLSLShaderBuilder::emitFunction\28SkSLType\2c\20char\20const*\2c\20SkSpan\2c\20char\20const*\29 +3190:GrGLSLProgramDataManager::setSkMatrix\28GrResourceHandle\2c\20SkMatrix\20const&\29\20const +3191:GrGLSLProgramBuilder::writeFPFunction\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +3192:GrGLSLProgramBuilder::invokeFP\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +3193:GrGLSLProgramBuilder::addRTFlipUniform\28char\20const*\29 +3194:GrGLSLFragmentShaderBuilder::dstColor\28\29 +3195:GrGLSLBlend::BlendKey\28SkBlendMode\29 +3196:GrGLProgramBuilder::~GrGLProgramBuilder\28\29 +3197:GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29 +3198:GrGLGpu::flushScissor\28GrScissorState\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +3199:GrGLGpu::flushClearColor\28std::__2::array\29 +3200:GrGLGpu::deleteFence\28__GLsync*\29 +3201:GrGLGpu::createTexture\28SkISize\2c\20GrGLFormat\2c\20unsigned\20int\2c\20skgpu::Renderable\2c\20GrGLTextureParameters::SamplerOverriddenState*\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +3202:GrGLGpu::copySurfaceAsDraw\28GrSurface*\2c\20bool\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +3203:GrGLGpu::SamplerObjectCache::~SamplerObjectCache\28\29 +3204:GrGLGpu::HWVertexArrayState::bindInternalVertexArray\28GrGLGpu*\2c\20GrBuffer\20const*\29 +3205:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +3206:GrGLFinishCallbacks::callAll\28bool\29 +3207:GrGLBuffer::Make\28GrGLGpu*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +3208:GrGLAttribArrayState::enableVertexArrays\28GrGLGpu\20const*\2c\20int\2c\20GrPrimitiveRestart\29 +3209:GrFragmentProcessors::make_effect_fp\28sk_sp\2c\20char\20const*\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkSpan\2c\20GrFPArgs\20const&\29 +3210:GrFragmentProcessors::MakeChildFP\28SkRuntimeEffect::ChildPtr\20const&\2c\20GrFPArgs\20const&\29 +3211:GrFragmentProcessors::IsSupported\28SkMaskFilter\20const*\29 +3212:GrFragmentProcessor::makeProgramImpl\28\29\20const +3213:GrFragmentProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +3214:GrFragmentProcessor::MulInputByChildAlpha\28std::__2::unique_ptr>\29 +3215:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +3216:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29 +3217:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3218:GrDynamicAtlas::makeNode\28GrDynamicAtlas::Node*\2c\20int\2c\20int\2c\20int\2c\20int\29 +3219:GrDrawingManager::setLastRenderTask\28GrSurfaceProxy\20const*\2c\20GrRenderTask*\29 +3220:GrDrawingManager::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3221:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29 +3222:GrDirectContext::resetContext\28unsigned\20int\29 +3223:GrDirectContext::getResourceCacheLimit\28\29\20const +3224:GrDefaultGeoProcFactory::MakeForDeviceSpace\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +3225:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20sk_sp\29 +3226:GrColorSpaceXform::apply\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3227:GrColorSpaceXform::Equals\28GrColorSpaceXform\20const*\2c\20GrColorSpaceXform\20const*\29 +3228:GrBufferAllocPool::unmap\28\29 +3229:GrBlurUtils::can_filter_mask\28SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect*\29 +3230:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29 +3231:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +3232:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20sk_sp\2c\20std::__2::basic_string_view>\29 +3233:GrBackendFormatStencilBits\28GrBackendFormat\20const&\29 +3234:GrBackendFormat::asMockCompressionType\28\29\20const +3235:GrAATriangulator::~GrAATriangulator\28\29 +3236:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrAATriangulator::EventList*\29\20const +3237:GrAAConvexTessellator::fanRing\28GrAAConvexTessellator::Ring\20const&\29 +3238:GrAAConvexTessellator::computePtAlongBisector\28int\2c\20SkPoint\20const&\2c\20int\2c\20float\2c\20SkPoint*\29\20const +3239:FT_Stream_ReadAt +3240:FT_Stream_OpenMemory +3241:FT_Set_Char_Size +3242:FT_Request_Metrics +3243:FT_Hypot +3244:FT_Get_Var_Design_Coordinates +3245:FT_Get_Paint +3246:FT_Get_MM_Var +3247:DecodeImageData +3248:Cr_z_inflate_table +3249:Cr_z_inflateReset +3250:Cr_z_deflateEnd +3251:Cr_z_copy_with_crc +3252:Compute_Point_Displacement +3253:AAT::trak::sanitize\28hb_sanitize_context_t*\29\20const +3254:AAT::ltag::sanitize\28hb_sanitize_context_t*\29\20const +3255:AAT::feat::sanitize\28hb_sanitize_context_t*\29\20const +3256:AAT::StateTable::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +3257:AAT::Lookup>\2c\20OT::IntType\2c\20false>>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3258:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3259:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3260:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3261:zeroinfnan +3262:xyz_almost_equal\28skcms_Matrix3x3\20const&\2c\20skcms_Matrix3x3\20const&\29 +3263:wuffs_lzw__decoder__transform_io +3264:wuffs_gif__decoder__set_quirk_enabled +3265:wuffs_gif__decoder__restart_frame +3266:wuffs_gif__decoder__num_animation_loops +3267:wuffs_gif__decoder__frame_dirty_rect +3268:wuffs_gif__decoder__decode_up_to_id_part1 +3269:wuffs_gif__decoder__decode_frame +3270:write_vertex_position\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrShaderVar\20const&\2c\20SkMatrix\20const&\2c\20char\20const*\2c\20GrShaderVar*\2c\20GrResourceHandle*\29 +3271:write_passthrough_vertex_position\28GrGLSLVertexBuilder*\2c\20GrShaderVar\20const&\2c\20GrShaderVar*\29 +3272:wctomb +3273:wchar_t*\20std::__2::copy\5babi:v160004\5d\2c\20wchar_t*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20wchar_t*\29 +3274:walk_simple_edges\28SkEdge*\2c\20SkBlitter*\2c\20int\2c\20int\29 +3275:vsscanf +3276:void\20std::__2::vector>::assign\28unsigned\20long*\2c\20unsigned\20long*\29 +3277:void\20std::__2::vector>::__emplace_back_slow_path&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&>\28SkFont\20const&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\29 +3278:void\20std::__2::vector>::assign\28skia::textlayout::FontFeature*\2c\20skia::textlayout::FontFeature*\29 +3279:void\20std::__2::vector\2c\20std::__2::allocator>>::__emplace_back_slow_path>\28sk_sp&&\29 +3280:void\20std::__2::vector>::assign\28SkString*\2c\20SkString*\29 +3281:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\29 +3282:void\20std::__2::vector>::__push_back_slow_path\28SkSL::FunctionDebugInfo&&\29 +3283:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Varying&&\29 +3284:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Attribute&&\29 +3285:void\20std::__2::vector>::assign\28SkFontArguments::VariationPosition::Coordinate*\2c\20SkFontArguments::VariationPosition::Coordinate*\29 +3286:void\20std::__2::vector>::__emplace_back_slow_path\28SkRect&\2c\20int&\2c\20int&\29 +3287:void\20std::__2::allocator_traits>::construct\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\29 +3288:void\20std::__2::__tree_balance_after_insert\5babi:v160004\5d*>\28std::__2::__tree_node_base*\2c\20std::__2::__tree_node_base*\29 +3289:void\20std::__2::__stable_sort_move\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\29 +3290:void\20std::__2::__sift_up\5babi:v160004\5d*>>\28std::__2::__wrap_iter*>\2c\20std::__2::__wrap_iter*>\2c\20GrGeometryProcessor::ProgramImpl::emitTransformCode\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\29::$_0&\2c\20std::__2::iterator_traits*>>::difference_type\29 +3291:void\20std::__2::__optional_storage_base::__assign_from\5babi:v160004\5d\20const&>\28std::__2::__optional_copy_assign_base\20const&\29 +3292:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20char*&\2c\20char*&\29 +3293:void\20std::__2::__call_once_proxy\5babi:v160004\5d>\28void*\29 +3294:void\20sorted_merge<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3295:void\20sorted_merge<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3296:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.1 +3297:void\20skgpu::ganesh::SurfaceFillContext::clear<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\20const&\29 +3298:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +3299:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader&\2c\20sk_sp*\29 +3300:void\20emscripten::internal::MemberAccess::setWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle&\2c\20SimpleFontStyle*\29 +3301:void\20\28anonymous\20namespace\29::copyFT2LCD16\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\29 +3302:void\20SkTIntroSort\28int\2c\20int*\2c\20int\2c\20DistanceLessThan\20const&\29 +3303:void\20SkTIntroSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29>\28int\2c\20float*\2c\20int\2c\20void\20SkTQSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29\20const&\29 +3304:void\20SkTIntroSort\28int\2c\20SkString*\2c\20int\2c\20bool\20\20const\28&\29\28SkString\20const&\2c\20SkString\20const&\29\29 +3305:void\20SkTIntroSort\28int\2c\20SkOpRayHit**\2c\20int\2c\20bool\20\20const\28&\29\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29\29 +3306:void\20SkTIntroSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29>\28int\2c\20SkOpContour*\2c\20int\2c\20void\20SkTQSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29\20const&\29 +3307:void\20SkTIntroSort>\2c\20SkCodec::Result*\29::Entry\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan>\28int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::Entry*\2c\20int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan\20const&\29 +3308:void\20SkTIntroSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29>\28int\2c\20SkClosestRecord\20const*\2c\20int\2c\20void\20SkTQSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29\20const&\29 +3309:void\20SkTIntroSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29>\28int\2c\20SkAnalyticEdge*\2c\20int\2c\20void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const&\29 +3310:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\20const\28&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3311:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\28*\20const&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3312:void\20SkTIntroSort\28int\2c\20Edge*\2c\20int\2c\20EdgeLT\20const&\29 +3313:void\20GrGeometryProcessor::ProgramImpl::collectTransforms\28GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGLSLUniformHandler*\2c\20GrShaderType\2c\20GrShaderVar\20const&\2c\20GrShaderVar\20const&\2c\20GrPipeline\20const&\29::$_0::operator\28\29<$_0>\28$_0&\2c\20GrFragmentProcessor\20const&\2c\20bool\2c\20GrFragmentProcessor\20const*\2c\20int\2c\20GrGeometryProcessor::ProgramImpl::BaseCoord\29 +3314:void\20AAT::StateTableDriver::drive::driver_context_t>\28AAT::LigatureSubtable::driver_context_t*\2c\20AAT::hb_aat_apply_context_t*\29::'lambda0'\28\29::operator\28\29\28\29\20const +3315:virtual\20thunk\20to\20GrGLTexture::onSetLabel\28\29 +3316:virtual\20thunk\20to\20GrGLTexture::backendFormat\28\29\20const +3317:vfiprintf +3318:validate_texel_levels\28SkISize\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20GrCaps\20const*\29 +3319:unsigned\20short\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3320:unsigned\20long\20long\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3321:unsigned\20int\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3322:unsigned\20int\20const*\20std::__2::lower_bound\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20unsigned\20long\20const&\29 +3323:unsigned\20int\20const&\20std::__2::__identity::operator\28\29\28unsigned\20int\20const&\29\20const +3324:ubidi_close_skia +3325:u_terminateUChars_skia +3326:u_charType_skia +3327:tt_size_run_prep +3328:tt_size_done_bytecode +3329:tt_sbit_decoder_load_image +3330:tt_face_vary_cvt +3331:tt_face_palette_set +3332:tt_face_load_cvt +3333:tt_face_get_metrics +3334:tt_done_blend +3335:tt_delta_interpolate +3336:tt_cmap4_set_range +3337:tt_cmap4_next +3338:tt_cmap4_char_map_linear +3339:tt_cmap4_char_map_binary +3340:tt_cmap14_get_def_chars +3341:tt_cmap13_next +3342:tt_cmap12_next +3343:tt_cmap12_init +3344:tt_cmap12_char_map_binary +3345:tt_apply_mvar +3346:toParagraphStyle\28SimpleParagraphStyle\20const&\29 +3347:t1_lookup_glyph_by_stdcharcode_ps +3348:t1_builder_close_contour +3349:t1_builder_check_points +3350:strtox.1 +3351:strtoull +3352:strtoll_l +3353:strspn +3354:strncpy +3355:store_int +3356:std::logic_error::~logic_error\28\29 +3357:std::logic_error::logic_error\28char\20const*\29 +3358:std::exception::exception\5babi:v160004\5d\28\29 +3359:std::__2::vector>::max_size\28\29\20const +3360:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +3361:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +3362:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::locale::facet**\29 +3363:std::__2::vector>::__annotate_shrink\5babi:v160004\5d\28unsigned\20long\29\20const +3364:std::__2::vector>::__annotate_new\5babi:v160004\5d\28unsigned\20long\29\20const +3365:std::__2::vector>::__annotate_delete\5babi:v160004\5d\28\29\20const +3366:std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float&&\29 +3367:std::__2::vector>::__append\28unsigned\20long\29 +3368:std::__2::unique_ptr::operator=\5babi:v160004\5d\28std::__2::unique_ptr&&\29 +3369:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3370:std::__2::unique_ptr>\20SkSL::coalesce_vector\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +3371:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::nullptr_t\29 +3372:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda0'\28\29::operator\28\29\28\29\20const +3373:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +3374:std::__2::to_string\28unsigned\20long\29 +3375:std::__2::to_chars_result\20std::__2::__to_chars_itoa\5babi:v160004\5d\28char*\2c\20char*\2c\20unsigned\20int\2c\20std::__2::integral_constant\29 +3376:std::__2::time_put>>::~time_put\28\29 +3377:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3378:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3379:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3380:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3381:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3382:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3383:std::__2::reverse_iterator::operator++\5babi:v160004\5d\28\29 +3384:std::__2::reverse_iterator::operator*\5babi:v160004\5d\28\29\20const +3385:std::__2::priority_queue>\2c\20GrAATriangulator::EventComparator>::push\28GrAATriangulator::Event*\20const&\29 +3386:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrFragmentProcessor\20const*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +3387:std::__2::pair*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__emplace_unique_key_args\28int\20const&\2c\20int\20const&\29 +3388:std::__2::pair\2c\20std::__2::allocator>>>::pair\28std::__2::pair\2c\20std::__2::allocator>>>&&\29 +3389:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28wchar_t\29 +3390:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28char\29 +3391:std::__2::optional&\20std::__2::optional::operator=\5babi:v160004\5d\28SkPath\20const&\29 +3392:std::__2::numpunct::~numpunct\28\29 +3393:std::__2::numpunct::~numpunct\28\29 +3394:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3395:std::__2::num_get>>\20const&\20std::__2::use_facet\5babi:v160004\5d>>>\28std::__2::locale\20const&\29 +3396:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3397:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3398:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3399:std::__2::moneypunct::do_negative_sign\28\29\20const +3400:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3401:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3402:std::__2::moneypunct::do_negative_sign\28\29\20const +3403:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20wchar_t*&\2c\20wchar_t*\29 +3404:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20char*&\2c\20char*\29 +3405:std::__2::locale::__imp::~__imp\28\29 +3406:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20std::__2::random_access_iterator_tag\29 +3407:std::__2::iterator_traits\2c\20std::__2::allocator>\20const*>::difference_type\20std::__2::distance\5babi:v160004\5d\2c\20std::__2::allocator>\20const*>\28std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +3408:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28char*\2c\20char*\29 +3409:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::random_access_iterator_tag\29 +3410:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3411:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3412:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3413:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3414:std::__2::ios_base::width\5babi:v160004\5d\28long\29 +3415:std::__2::ios_base::imbue\28std::__2::locale\20const&\29 +3416:std::__2::ios_base::__call_callbacks\28std::__2::ios_base::event\29 +3417:std::__2::hash::operator\28\29\28skia::textlayout::FontArguments\20const&\29\20const +3418:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28char&\2c\20char&\29 +3419:std::__2::enable_if<__is_cpp17_random_access_iterator::value\2c\20char*>::type\20std::__2::copy_n\5babi:v160004\5d\28char\20const*\2c\20unsigned\20long\2c\20char*\29 +3420:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28wchar_t\20const*\2c\20wchar_t\20const*\29 +3421:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28char*\2c\20char*\29 +3422:std::__2::deque>::__add_back_capacity\28\29 +3423:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::gpu::TextBlobRedrawCoordinator*\29\20const +3424:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::GlyphRunBuilder*\29\20const +3425:std::__2::ctype::~ctype\28\29 +3426:std::__2::codecvt::~codecvt\28\29 +3427:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3428:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char32_t\20const*\2c\20char32_t\20const*\2c\20char32_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3429:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3430:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char32_t*\2c\20char32_t*\2c\20char32_t*&\29\20const +3431:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char16_t\20const*\2c\20char16_t\20const*\2c\20char16_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3432:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3433:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char16_t*\2c\20char16_t*\2c\20char16_t*&\29\20const +3434:std::__2::char_traits::not_eof\28int\29 +3435:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28\29\20const +3436:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29 +3437:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20wchar_t\20const*\29 +3438:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3439:std::__2::basic_string\2c\20std::__2::allocator>::resize\28unsigned\20long\2c\20char\29 +3440:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +3441:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20char\29 +3442:std::__2::basic_string\2c\20std::__2::allocator>::basic_string>\2c\20void>\28std::__2::basic_string_view>\20const&\29 +3443:std::__2::basic_string\2c\20std::__2::allocator>::__throw_out_of_range\5babi:v160004\5d\28\29\20const +3444:std::__2::basic_string\2c\20std::__2::allocator>::__null_terminate_at\5babi:v160004\5d\28char*\2c\20unsigned\20long\29 +3445:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +3446:std::__2::basic_string\2c\20std::__2::allocator>&\20skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::emplace_back\28char\20const*&&\29 +3447:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3448:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3449:std::__2::basic_streambuf>::sputc\5babi:v160004\5d\28char\29 +3450:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3451:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3452:std::__2::basic_ostream>::~basic_ostream\28\29.2 +3453:std::__2::basic_ostream>::sentry::~sentry\28\29 +3454:std::__2::basic_ostream>::sentry::sentry\28std::__2::basic_ostream>&\29 +3455:std::__2::basic_ostream>::operator<<\28float\29 +3456:std::__2::basic_ostream>::flush\28\29 +3457:std::__2::basic_istream>::~basic_istream\28\29.2 +3458:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\2c\20unsigned\20long\29 +3459:std::__2::allocator::deallocate\5babi:v160004\5d\28wchar_t*\2c\20unsigned\20long\29 +3460:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3461:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3462:std::__2::__wrap_iter\20std::__2::vector>::insert\2c\200>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +3463:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3464:std::__2::__time_put::__time_put\5babi:v160004\5d\28\29 +3465:std::__2::__time_put::__do_put\28char*\2c\20char*&\2c\20tm\20const*\2c\20char\2c\20char\29\20const +3466:std::__2::__throw_system_error\28int\2c\20char\20const*\29 +3467:std::__2::__split_buffer>::push_back\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +3468:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3469:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3470:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3471:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3472:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3473:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20wchar_t&\2c\20wchar_t&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3474:std::__2::__money_put::__format\28wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20unsigned\20int\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3475:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20char&\2c\20char&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3476:std::__2::__money_put::__format\28char*\2c\20char*&\2c\20char*&\2c\20unsigned\20int\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3477:std::__2::__libcpp_sscanf_l\28char\20const*\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +3478:std::__2::__libcpp_mbrtowc_l\5babi:v160004\5d\28wchar_t*\2c\20char\20const*\2c\20unsigned\20long\2c\20__mbstate_t*\2c\20__locale_struct*\29 +3479:std::__2::__libcpp_mb_cur_max_l\5babi:v160004\5d\28__locale_struct*\29 +3480:std::__2::__libcpp_deallocate\5babi:v160004\5d\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3481:std::__2::__libcpp_allocate\5babi:v160004\5d\28unsigned\20long\2c\20unsigned\20long\29 +3482:std::__2::__is_overaligned_for_new\5babi:v160004\5d\28unsigned\20long\29 +3483:std::__2::__function::__value_func::swap\5babi:v160004\5d\28std::__2::__function::__value_func&\29 +3484:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +3485:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +3486:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +3487:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy\28\29 +3488:std::__2::__constexpr_wcslen\5babi:v160004\5d\28wchar_t\20const*\29 +3489:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::__sso_allocator&\2c\20unsigned\20long\29 +3490:start_input_pass +3491:sktext::gpu::can_use_direct\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3492:sktext::gpu::build_distance_adjust_table\28float\29 +3493:sktext::gpu::VertexFiller::opMaskType\28\29\20const +3494:sktext::gpu::VertexFiller::isLCD\28\29\20const +3495:sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const +3496:sktext::gpu::TextBlobRedrawCoordinator::internalRemove\28sktext::gpu::TextBlob*\29 +3497:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_2::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3498:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_0::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3499:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29 +3500:sktext::gpu::SubRunContainer::EstimateAllocSize\28sktext::GlyphRunList\20const&\29 +3501:sktext::gpu::SubRunAllocator::SubRunAllocator\28char*\2c\20int\2c\20int\29 +3502:sktext::gpu::StrikeCache::~StrikeCache\28\29 +3503:sktext::gpu::SlugImpl::Make\28SkMatrix\20const&\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\29 +3504:sktext::gpu::BagOfBytes::BagOfBytes\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29::$_1::operator\28\29\28\29\20const +3505:sktext::glyphrun_source_bounds\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkZip\2c\20SkSpan\29 +3506:sktext::SkStrikePromise::resetStrike\28\29 +3507:sktext::GlyphRunList::makeBlob\28\29\20const +3508:sktext::GlyphRunBuilder::blobToGlyphRunList\28SkTextBlob\20const&\2c\20SkPoint\29 +3509:skstd::to_string\28float\29 +3510:skpathutils::FillPathWithPaint\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkPath*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29 +3511:skjpeg_err_exit\28jpeg_common_struct*\29 +3512:skip_string +3513:skip_procedure +3514:skif::\28anonymous\20namespace\29::decompose_transform\28SkMatrix\20const&\2c\20SkPoint\2c\20SkMatrix*\2c\20SkMatrix*\29 +3515:skif::Mapping::adjustLayerSpace\28SkMatrix\20const&\29 +3516:skif::FilterResult::imageAndOffset\28skif::Context\20const&\29\20const +3517:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20SkBlender\20const*\29\20const +3518:skif::FilterResult::drawAnalyzedImage\28skif::Context\20const&\2c\20SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\2c\20SkBlender\20const*\29\20const +3519:skif::FilterResult::MakeFromImage\28skif::Context\20const&\2c\20sk_sp\2c\20SkRect\2c\20skif::ParameterSpace\2c\20SkSamplingOptions\20const&\29 +3520:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\29 +3521:skif::FilterResult::FilterResult\28\29 +3522:skif::Context::withNewSource\28skif::FilterResult\20const&\29\20const +3523:skia_private::THashTable::Traits>::set\28unsigned\20long\20long\29 +3524:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3525:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +3526:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeIfExists\28unsigned\20int\20const&\29 +3527:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair&&\29 +3528:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\29 +3529:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\29 +3530:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3531:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +3532:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::find\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3533:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3534:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +3535:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::resize\28int\29 +3536:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28skgpu::ganesh::SmallPathShapeData*&&\29 +3537:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3538:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::uncheckedSet\28sk_sp&&\29 +3539:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::resize\28int\29 +3540:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::uncheckedSet\28\28anonymous\20namespace\29::CacheImpl::Value*&&\29 +3541:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::resize\28int\29 +3542:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3543:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3544:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3545:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3546:skia_private::THashTable::uncheckedSet\28SkResourceCache::Rec*&&\29 +3547:skia_private::THashTable::resize\28int\29 +3548:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::set\28SkLRUCache::Entry*\29 +3549:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::resize\28int\29 +3550:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::removeIfExists\28unsigned\20int\20const&\29 +3551:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::resize\28int\29 +3552:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*&&\29 +3553:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::resize\28int\29 +3554:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrGpuResource*&&\29 +3555:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3556:skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::set\28unsigned\20int\2c\20sk_sp\20\28*\29\28SkReadBuffer&\29\29 +3557:skia_private::THashMap::set\28int\2c\20int\29 +3558:skia_private::THashMap>\2c\20SkGoodHash>::remove\28SkImageFilter\20const*\20const&\29 +3559:skia_private::TArray::push_back_raw\28int\29 +3560:skia_private::TArray::resize_back\28int\29 +3561:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::checkRealloc\28int\2c\20double\29 +3562:skia_private::TArray::~TArray\28\29 +3563:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3564:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3565:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3566:skia_private::TArray::BufferFinishedMessage\2c\20false>::operator=\28skia_private::TArray::BufferFinishedMessage\2c\20false>&&\29 +3567:skia_private::TArray::BufferFinishedMessage\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +3568:skia_private::TArray::Plane\2c\20false>::move\28void*\29 +3569:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3570:skia_private::TArray\29::ReorderedArgument\2c\20false>::push_back\28SkSL::optimize_constructor_swizzle\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ConstructorCompound\20const&\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29::ReorderedArgument&&\29 +3571:skia_private::TArray::TArray\28skia_private::TArray&&\29 +3572:skia_private::TArray::swap\28skia_private::TArray&\29 +3573:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +3574:skia_private::TArray::push_back_raw\28int\29 +3575:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +3576:skia_private::TArray::push_back_raw\28int\29 +3577:skia_private::TArray::push_back_raw\28int\29 +3578:skia_private::TArray::move_back_n\28int\2c\20GrTextureProxy**\29 +3579:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3580:skia_private::TArray::push_back_n\28int\2c\20EllipticalRRectOp::RRect\20const*\29 +3581:skia_png_zfree +3582:skia_png_write_zTXt +3583:skia_png_write_tIME +3584:skia_png_write_tEXt +3585:skia_png_write_iTXt +3586:skia_png_set_write_fn +3587:skia_png_set_strip_16 +3588:skia_png_set_read_user_transform_fn +3589:skia_png_set_read_user_chunk_fn +3590:skia_png_set_option +3591:skia_png_set_mem_fn +3592:skia_png_set_expand_gray_1_2_4_to_8 +3593:skia_png_set_error_fn +3594:skia_png_set_compression_level +3595:skia_png_set_IHDR +3596:skia_png_read_filter_row +3597:skia_png_process_IDAT_data +3598:skia_png_icc_set_sRGB +3599:skia_png_icc_check_tag_table +3600:skia_png_icc_check_header +3601:skia_png_get_uint_31 +3602:skia_png_get_sBIT +3603:skia_png_get_rowbytes +3604:skia_png_get_error_ptr +3605:skia_png_get_IHDR +3606:skia_png_do_swap +3607:skia_png_do_read_transformations +3608:skia_png_do_read_interlace +3609:skia_png_do_packswap +3610:skia_png_do_invert +3611:skia_png_do_gray_to_rgb +3612:skia_png_do_expand +3613:skia_png_do_check_palette_indexes +3614:skia_png_do_bgr +3615:skia_png_destroy_png_struct +3616:skia_png_destroy_gamma_table +3617:skia_png_create_png_struct +3618:skia_png_create_info_struct +3619:skia_png_crc_read +3620:skia_png_colorspace_sync_info +3621:skia_png_check_IHDR +3622:skia::textlayout::TypefaceFontStyleSet::matchStyle\28SkFontStyle\20const&\29 +3623:skia::textlayout::TextStyle::matchOneAttribute\28skia::textlayout::StyleType\2c\20skia::textlayout::TextStyle\20const&\29\20const +3624:skia::textlayout::TextStyle::equals\28skia::textlayout::TextStyle\20const&\29\20const +3625:skia::textlayout::TextShadow::operator!=\28skia::textlayout::TextShadow\20const&\29\20const +3626:skia::textlayout::TextLine::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +3627:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const::$_0::operator\28\29\28unsigned\20long\20const&\29\20const +3628:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkRect\29::operator\28\29\28SkRect\29\20const +3629:skia::textlayout::TextLine::getMetrics\28\29\20const +3630:skia::textlayout::TextLine::ensureTextBlobCachePopulated\28\29 +3631:skia::textlayout::TextLine::buildTextBlob\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +3632:skia::textlayout::TextLine::TextLine\28skia::textlayout::ParagraphImpl*\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20skia::textlayout::InternalLineMetrics\29 +3633:skia::textlayout::TextLine&\20skia_private::TArray::emplace_back&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&>\28skia::textlayout::ParagraphImpl*&&\2c\20SkPoint&\2c\20SkPoint&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&\29 +3634:skia::textlayout::Run::shift\28skia::textlayout::Cluster\20const*\2c\20float\29 +3635:skia::textlayout::Run::newRunBuffer\28\29 +3636:skia::textlayout::Run::findLimitingGlyphClusters\28skia::textlayout::SkRange\29\20const +3637:skia::textlayout::Run::addSpacesAtTheEnd\28float\2c\20skia::textlayout::Cluster*\29 +3638:skia::textlayout::ParagraphStyle::effective_align\28\29\20const +3639:skia::textlayout::ParagraphStyle::ParagraphStyle\28\29 +3640:skia::textlayout::ParagraphPainter::DecorationStyle::DecorationStyle\28unsigned\20int\2c\20float\2c\20std::__2::optional\29 +3641:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29 +3642:skia::textlayout::ParagraphImpl::text\28skia::textlayout::SkRange\29 +3643:skia::textlayout::ParagraphImpl::resolveStrut\28\29 +3644:skia::textlayout::ParagraphImpl::getGlyphInfoAtUTF16Offset\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +3645:skia::textlayout::ParagraphImpl::getGlyphClusterAt\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +3646:skia::textlayout::ParagraphImpl::findPreviousGraphemeBoundary\28unsigned\20long\29\20const +3647:skia::textlayout::ParagraphImpl::computeEmptyMetrics\28\29 +3648:skia::textlayout::ParagraphImpl::clusters\28skia::textlayout::SkRange\29 +3649:skia::textlayout::ParagraphImpl::block\28unsigned\20long\29 +3650:skia::textlayout::ParagraphCacheValue::~ParagraphCacheValue\28\29 +3651:skia::textlayout::ParagraphCacheKey::ParagraphCacheKey\28skia::textlayout::ParagraphImpl\20const*\29 +3652:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29 +3653:skia::textlayout::ParagraphBuilderImpl::make\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +3654:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\2c\20bool\29 +3655:skia::textlayout::ParagraphBuilderImpl::ParagraphBuilderImpl\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +3656:skia::textlayout::Paragraph::~Paragraph\28\29 +3657:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29 +3658:skia::textlayout::FontCollection::~FontCollection\28\29 +3659:skia::textlayout::FontCollection::matchTypeface\28SkString\20const&\2c\20SkFontStyle\29 +3660:skia::textlayout::FontCollection::defaultFallback\28int\2c\20SkFontStyle\2c\20SkString\20const&\29 +3661:skia::textlayout::FontCollection::FamilyKey::Hasher::operator\28\29\28skia::textlayout::FontCollection::FamilyKey\20const&\29\20const +3662:skgpu::tess::\28anonymous\20namespace\29::write_curve_index_buffer_base_index\28skgpu::VertexWriter\2c\20unsigned\20long\2c\20unsigned\20short\29 +3663:skgpu::tess::StrokeIterator::next\28\29 +3664:skgpu::tess::StrokeIterator::finishOpenContour\28\29 +3665:skgpu::tess::PreChopPathCurves\28float\2c\20SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +3666:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29 +3667:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::SmallPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20GrUserStencilSettings\20const*\29 +3668:skgpu::ganesh::\28anonymous\20namespace\29::ChopPathIfNecessary\28SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkStrokeRec\20const&\2c\20SkPath*\29 +3669:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::recordDraw\28GrMeshDrawTarget*\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20int\2c\20unsigned\20short*\29 +3670:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::AAFlatteningConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20float\2c\20SkStrokeRec::Style\2c\20SkPaint::Join\2c\20float\2c\20GrUserStencilSettings\20const*\29 +3671:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::AAConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrUserStencilSettings\20const*\29 +3672:skgpu::ganesh::TextureOp::Make\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20SkBlendMode\2c\20GrAAType\2c\20DrawQuad*\2c\20SkRect\20const*\29 +3673:skgpu::ganesh::TessellationPathRenderer::IsSupported\28GrCaps\20const&\29 +3674:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +3675:skgpu::ganesh::SurfaceFillContext::blitTexture\28GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\29 +3676:skgpu::ganesh::SurfaceFillContext::addOp\28std::__2::unique_ptr>\29 +3677:skgpu::ganesh::SurfaceFillContext::addDrawOp\28std::__2::unique_ptr>\29 +3678:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29.1 +3679:skgpu::ganesh::SurfaceDrawContext::drawVertices\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20sk_sp\2c\20GrPrimitiveType*\2c\20bool\29 +3680:skgpu::ganesh::SurfaceDrawContext::drawTexturedQuad\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkBlendMode\2c\20DrawQuad*\2c\20SkRect\20const*\29 +3681:skgpu::ganesh::SurfaceDrawContext::drawTexture\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkBlendMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +3682:skgpu::ganesh::SurfaceDrawContext::drawStrokedLine\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkStrokeRec\20const&\29 +3683:skgpu::ganesh::SurfaceDrawContext::drawRegion\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrStyle\20const&\2c\20GrUserStencilSettings\20const*\29 +3684:skgpu::ganesh::SurfaceDrawContext::drawOval\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\29 +3685:skgpu::ganesh::SurfaceDrawContext::SurfaceDrawContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +3686:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29 +3687:skgpu::ganesh::SurfaceContext::writePixels\28GrDirectContext*\2c\20GrCPixmap\2c\20SkIPoint\29 +3688:skgpu::ganesh::SurfaceContext::copy\28sk_sp\2c\20SkIRect\2c\20SkIPoint\29 +3689:skgpu::ganesh::SurfaceContext::copyScaled\28sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20SkFilterMode\29 +3690:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +3691:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::FinishContext::~FinishContext\28\29 +3692:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +3693:skgpu::ganesh::SurfaceContext::SurfaceContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +3694:skgpu::ganesh::StrokeTessellator::draw\28GrOpFlushState*\29\20const +3695:skgpu::ganesh::StrokeTessellateOp::prePrepareTessellator\28GrTessellationShader::ProgramArgs&&\2c\20GrAppliedClip&&\29 +3696:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::NonAAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrSimpleMeshDrawOpHelper::InputFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\2c\20GrAAType\29 +3697:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::RectInfo\20const&\2c\20bool\29 +3698:skgpu::ganesh::StencilMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkRegion::Op\2c\20GrAA\29 +3699:skgpu::ganesh::SoftwarePathRenderer::DrawAroundInvPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +3700:skgpu::ganesh::SmallPathAtlasMgr::findOrCreate\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +3701:skgpu::ganesh::SmallPathAtlasMgr::deleteCacheEntry\28skgpu::ganesh::SmallPathShapeData*\29 +3702:skgpu::ganesh::ShadowRRectOp::Make\28GrRecordingContext*\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20float\2c\20float\29 +3703:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::RegionOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +3704:skgpu::ganesh::RasterAsView\28GrRecordingContext*\2c\20SkImage_Raster\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +3705:skgpu::ganesh::QuadPerEdgeAA::Tessellator::append\28GrQuad*\2c\20GrQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\29 +3706:skgpu::ganesh::QuadPerEdgeAA::Tessellator::Tessellator\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29 +3707:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::initializeAttrs\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29 +3708:skgpu::ganesh::QuadPerEdgeAA::IssueDraw\28GrCaps\20const&\2c\20GrOpsRenderPass*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3709:skgpu::ganesh::QuadPerEdgeAA::GetIndexBuffer\28GrMeshDrawTarget*\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +3710:skgpu::ganesh::PathTessellateOp::usesMSAA\28\29\20const +3711:skgpu::ganesh::PathTessellateOp::prepareTessellator\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +3712:skgpu::ganesh::PathTessellateOp::PathTessellateOp\28SkArenaAlloc*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\2c\20SkRect\20const&\29 +3713:skgpu::ganesh::PathStencilCoverOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +3714:skgpu::ganesh::PathRenderer::getStencilSupport\28GrStyledShape\20const&\29\20const +3715:skgpu::ganesh::PathInnerTriangulateOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +3716:skgpu::ganesh::PathCurveTessellator::~PathCurveTessellator\28\29 +3717:skgpu::ganesh::PathCurveTessellator::prepareWithTriangles\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20GrTriangulator::BreadcrumbTriangleList*\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +3718:skgpu::ganesh::OpsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +3719:skgpu::ganesh::OpsTask::onExecute\28GrOpFlushState*\29 +3720:skgpu::ganesh::OpsTask::addOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +3721:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +3722:skgpu::ganesh::OpsTask::OpsTask\28GrDrawingManager*\2c\20GrSurfaceProxyView\2c\20GrAuditTrail*\2c\20sk_sp\29 +3723:skgpu::ganesh::OpsTask::OpChain::tryConcat\28skgpu::ganesh::OpsTask::OpChain::List*\2c\20GrProcessorSet::Analysis\2c\20GrDstProxyView\20const&\2c\20GrAppliedClip\20const*\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrAuditTrail*\29 +3724:skgpu::ganesh::MakeFragmentProcessorFromView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +3725:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29 +3726:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29 +3727:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::NonAALatticeOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20std::__2::unique_ptr>\2c\20SkRect\20const&\29 +3728:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20GrAA\29 +3729:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::FillRRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29 +3730:skgpu::ganesh::DrawAtlasPathOp::prepareProgram\28GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +3731:skgpu::ganesh::Device::replaceBackingProxy\28SkSurface::ContentChangeMode\2c\20sk_sp\2c\20GrColorType\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +3732:skgpu::ganesh::Device::makeSpecial\28SkBitmap\20const&\29 +3733:skgpu::ganesh::Device::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +3734:skgpu::ganesh::Device::drawEdgeAAImage\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20SkTileMode\29 +3735:skgpu::ganesh::Device::discard\28\29 +3736:skgpu::ganesh::Device::android_utils_clipAsRgn\28SkRegion*\29\20const +3737:skgpu::ganesh::DefaultPathRenderer::internalDrawPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20bool\29 +3738:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +3739:skgpu::ganesh::CopyView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\2c\20std::__2::basic_string_view>\29 +3740:skgpu::ganesh::ClipStack::clipPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrAA\2c\20SkClipOp\29 +3741:skgpu::ganesh::ClipStack::SaveRecord::replaceWithElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +3742:skgpu::ganesh::ClipStack::SaveRecord::addElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +3743:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::Draw\20const&\29\20const +3744:skgpu::ganesh::AtlasTextOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +3745:skgpu::ganesh::AtlasTextOp::AtlasTextOp\28skgpu::ganesh::AtlasTextOp::MaskType\2c\20bool\2c\20int\2c\20SkRect\2c\20skgpu::ganesh::AtlasTextOp::Geometry*\2c\20GrColorInfo\20const&\2c\20GrPaint&&\29 +3746:skgpu::ganesh::AtlasRenderTask::stencilAtlasRect\28GrRecordingContext*\2c\20SkRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrUserStencilSettings\20const*\29 +3747:skgpu::ganesh::AtlasRenderTask::addPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIPoint\2c\20int\2c\20int\2c\20bool\2c\20SkIPoint16*\29 +3748:skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +3749:skgpu::ganesh::AtlasPathRenderer::addPathToAtlas\28GrRecordingContext*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRect\20const&\2c\20SkIRect*\2c\20SkIPoint16*\2c\20bool*\2c\20std::__2::function\20const&\29 +3750:skgpu::ganesh::AsFragmentProcessor\28GrRecordingContext*\2c\20SkImage\20const*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +3751:skgpu::TiledTextureUtils::OptimizeSampleArea\28SkISize\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkRect*\2c\20SkRect*\2c\20SkMatrix*\29 +3752:skgpu::TClientMappedBufferManager::process\28\29 +3753:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29 +3754:skgpu::RectanizerSkyline::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +3755:skgpu::Plot::Plot\28int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20SkColorType\2c\20unsigned\20long\29 +3756:skgpu::GetReducedBlendModeInfo\28SkBlendMode\29 +3757:skgpu::CreateIntegralTable\28int\29 +3758:skgpu::BlendFuncName\28SkBlendMode\29 +3759:skcms_private::baseline::exec_stages\28skcms_private::Op\20const*\2c\20void\20const**\2c\20char\20const*\2c\20char*\2c\20int\29 +3760:skcms_private::baseline::clut\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\29 +3761:skcms_ApproximatelyEqualProfiles +3762:sk_sp\20sk_make_sp\2c\20SkSurfaceProps\20const*&>\28SkImageInfo\20const&\2c\20sk_sp&&\2c\20SkSurfaceProps\20const*&\29 +3763:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader\20const&\29 +3764:sk_fopen\28char\20const*\2c\20SkFILE_Flags\29 +3765:sk_fgetsize\28_IO_FILE*\29 +3766:sk_fclose\28_IO_FILE*\29 +3767:sk_error_fn\28png_struct_def*\2c\20char\20const*\29 +3768:setup_masks_arabic_plan\28arabic_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_script_t\29 +3769:set_khr_debug_label\28GrGLGpu*\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +3770:setThrew +3771:serialize_image\28SkImage\20const*\2c\20SkSerialProcs\29 +3772:send_tree +3773:sect_with_vertical\28SkPoint\20const*\2c\20float\29 +3774:sect_with_horizontal\28SkPoint\20const*\2c\20float\29 +3775:scanexp +3776:scalbnl +3777:rewind_if_necessary\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +3778:resolveImplicitLevels\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +3779:reset_and_decode_image_config\28wuffs_gif__decoder__struct*\2c\20wuffs_base__image_config__struct*\2c\20wuffs_base__io_buffer__struct*\2c\20SkStream*\29 +3780:renderbuffer_storage_msaa\28GrGLGpu*\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +3781:recursive_edge_intersect\28GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint*\2c\20double*\2c\20double*\29 +3782:reclassify_vertex\28TriangulationVertex*\2c\20SkPoint\20const*\2c\20int\2c\20ReflexHash*\2c\20SkTInternalLList*\29 +3783:quad_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +3784:quad_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +3785:quad_in_line\28SkPoint\20const*\29 +3786:psh_hint_table_init +3787:psh_hint_table_find_strong_points +3788:psh_hint_table_activate_mask +3789:psh_hint_align +3790:psh_glyph_interpolate_strong_points +3791:psh_glyph_interpolate_other_points +3792:psh_glyph_interpolate_normal_points +3793:psh_blues_set_zones +3794:ps_parser_load_field +3795:ps_dimension_end +3796:ps_dimension_done +3797:ps_builder_start_point +3798:printf_core +3799:premultiply_argb_as_rgba\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3800:premultiply_argb_as_bgra\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3801:position_cluster\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29 +3802:portable::uniform_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3803:portable::set_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3804:portable::memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\29 +3805:portable::copy_from_indirect_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3806:portable::copy_2_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3807:portable::check_decal_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3808:pop_arg +3809:pntz +3810:png_inflate +3811:png_deflate_claim +3812:png_decompress_chunk +3813:png_cache_unknown_chunk +3814:operator==\28SkPaint\20const&\2c\20SkPaint\20const&\29 +3815:open_face +3816:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +3817:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +3818:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +3819:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +3820:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +3821:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +3822:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +3823:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +3824:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::size\28\29\20const +3825:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3826:nearly_equal\28double\2c\20double\29 +3827:mbsrtowcs +3828:map_quad_general\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20SkMatrix\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +3829:make_tiled_gradient\28GrFPArgs\20const&\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +3830:make_premul_effect\28std::__2::unique_ptr>\29 +3831:make_dual_interval_colorizer\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20float\29 +3832:make_clamped_gradient\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20bool\29 +3833:make_bmp_proxy\28GrProxyProvider*\2c\20SkBitmap\20const&\2c\20GrColorType\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +3834:longest_match +3835:long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3836:long\20long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3837:long\20double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +3838:load_post_names +3839:line_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +3840:line_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +3841:legalfunc$_embind_register_bigint +3842:jpeg_open_backing_store +3843:jpeg_destroy +3844:jpeg_alloc_huff_table +3845:jinit_upsampler +3846:initial_reordering_consonant_syllable\28hb_ot_shape_plan_t\20const*\2c\20hb_face_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +3847:init_error_limit +3848:init_block +3849:image_filter_color_type\28SkColorInfo\20const&\29 +3850:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +3851:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +3852:hb_utf8_t::next\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int\29 +3853:hb_unicode_script +3854:hb_unicode_mirroring_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +3855:hb_unicode_funcs_t::is_default_ignorable\28unsigned\20int\29 +3856:hb_shape_plan_key_t::init\28bool\2c\20hb_face_t*\2c\20hb_segment_properties_t\20const*\2c\20hb_feature_t\20const*\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20char\20const*\20const*\29 +3857:hb_shape_plan_create2 +3858:hb_serialize_context_t::fini\28\29 +3859:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +3860:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +3861:hb_paint_extents_paint_linear_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +3862:hb_paint_extents_get_funcs\28\29 +3863:hb_paint_extents_context_t::hb_paint_extents_context_t\28\29 +3864:hb_ot_map_t::fini\28\29 +3865:hb_ot_layout_table_select_script +3866:hb_ot_layout_table_get_lookup_count +3867:hb_ot_layout_table_find_feature_variations +3868:hb_ot_layout_table_find_feature\28hb_face_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +3869:hb_ot_layout_script_select_language +3870:hb_ot_layout_language_get_required_feature +3871:hb_ot_layout_language_find_feature +3872:hb_ot_layout_has_substitution +3873:hb_ot_layout_feature_with_variations_get_lookups +3874:hb_ot_layout_collect_features_map +3875:hb_ot_font_set_funcs +3876:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::create\28hb_face_t*\29 +3877:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::get\28\29\20const +3878:hb_lazy_loader_t\2c\20hb_face_t\2c\2019u\2c\20hb_blob_t>::get\28\29\20const +3879:hb_lazy_loader_t\2c\20hb_face_t\2c\2035u\2c\20hb_blob_t>::get\28\29\20const +3880:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::get\28\29\20const +3881:hb_lazy_loader_t\2c\20hb_face_t\2c\2032u\2c\20hb_blob_t>::get\28\29\20const +3882:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get\28\29\20const +3883:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get\28\29\20const +3884:hb_language_matches +3885:hb_indic_get_categories\28unsigned\20int\29 +3886:hb_hashmap_t::fetch_item\28hb_serialize_context_t::object_t\20const*\20const&\2c\20unsigned\20int\29\20const +3887:hb_hashmap_t::alloc\28unsigned\20int\29 +3888:hb_font_t::get_glyph_v_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +3889:hb_font_set_variations +3890:hb_font_set_funcs +3891:hb_font_get_variation_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +3892:hb_font_get_glyph_h_advance +3893:hb_font_get_glyph_extents +3894:hb_font_get_font_h_extents_nil\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +3895:hb_font_funcs_set_variation_glyph_func +3896:hb_font_funcs_set_nominal_glyphs_func +3897:hb_font_funcs_set_nominal_glyph_func +3898:hb_font_funcs_set_glyph_h_advances_func +3899:hb_font_funcs_set_glyph_extents_func +3900:hb_font_funcs_create +3901:hb_draw_move_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +3902:hb_draw_funcs_set_quadratic_to_func +3903:hb_draw_funcs_set_move_to_func +3904:hb_draw_funcs_set_line_to_func +3905:hb_draw_funcs_set_cubic_to_func +3906:hb_draw_funcs_destroy +3907:hb_draw_funcs_create +3908:hb_draw_extents_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +3909:hb_buffer_t::sort\28unsigned\20int\2c\20unsigned\20int\2c\20int\20\28*\29\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29\29 +3910:hb_buffer_t::safe_to_insert_tatweel\28unsigned\20int\2c\20unsigned\20int\29 +3911:hb_buffer_t::output_info\28hb_glyph_info_t\20const&\29 +3912:hb_buffer_t::message_impl\28hb_font_t*\2c\20char\20const*\2c\20void*\29 +3913:hb_buffer_t::leave\28\29 +3914:hb_buffer_t::delete_glyphs_inplace\28bool\20\28*\29\28hb_glyph_info_t\20const*\29\29 +3915:hb_buffer_t::clear_positions\28\29 +3916:hb_buffer_set_length +3917:hb_buffer_get_glyph_positions +3918:hb_buffer_diff +3919:hb_buffer_create +3920:hb_buffer_clear_contents +3921:hb_buffer_add_utf8 +3922:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3923:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3924:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3925:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3926:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3927:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3928:hb_aat_layout_remove_deleted_glyphs\28hb_buffer_t*\29 +3929:hair_cubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +3930:getint +3931:get_win_string +3932:get_dst_swizzle_and_store\28GrColorType\2c\20SkRasterPipelineOp*\2c\20LumMode*\2c\20bool*\2c\20bool*\29 +3933:get_driver_and_version\28GrGLStandard\2c\20GrGLVendor\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +3934:gen_key\28skgpu::KeyBuilder*\2c\20GrProgramInfo\20const&\2c\20GrCaps\20const&\29 +3935:gen_fp_key\28GrFragmentProcessor\20const&\2c\20GrCaps\20const&\2c\20skgpu::KeyBuilder*\29 +3936:gather_uniforms_and_check_for_main\28SkSL::Program\20const&\2c\20std::__2::vector>*\2c\20std::__2::vector>*\2c\20SkRuntimeEffect::Uniform::Flags\2c\20unsigned\20long*\29 +3937:fwrite +3938:ft_var_to_normalized +3939:ft_var_load_item_variation_store +3940:ft_var_load_hvvar +3941:ft_var_load_avar +3942:ft_var_get_value_pointer +3943:ft_var_apply_tuple +3944:ft_validator_init +3945:ft_mem_strcpyn +3946:ft_hash_num_lookup +3947:ft_glyphslot_set_bitmap +3948:ft_glyphslot_preset_bitmap +3949:ft_corner_orientation +3950:ft_corner_is_flat +3951:frexp +3952:fread +3953:fp_force_eval +3954:fp_barrier.1 +3955:fopen +3956:fold_opacity_layer_color_to_paint\28SkPaint\20const*\2c\20bool\2c\20SkPaint*\29 +3957:fmodl +3958:float\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +3959:fill_shadow_rec\28SkPath\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkDrawShadowRec*\29 +3960:fill_inverse_cmap +3961:fileno +3962:examine_app0 +3963:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkClipOp\2c\20bool\29 +3964:emscripten::internal::Invoker\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +3965:emscripten::internal::Invoker\2c\20SkBlendMode\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29\2c\20SkBlendMode\2c\20sk_sp*\2c\20sk_sp*\29 +3966:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\29 +3967:emscripten::internal::Invoker\2c\20SkBlendMode>::invoke\28sk_sp\20\28*\29\28SkBlendMode\29\2c\20SkBlendMode\29 +3968:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3969:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\29 +3970:emscripten::internal::FunctionInvoker\29\2c\20void\2c\20SkPaint&\2c\20unsigned\20long\2c\20sk_sp>::invoke\28void\20\28**\29\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29\2c\20SkPaint*\2c\20unsigned\20long\2c\20sk_sp*\29 +3971:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +3972:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +3973:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +3974:emscripten::internal::FunctionInvoker\20\28*\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkCanvas&\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\29 +3975:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\29\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +3976:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +3977:embind_init_builtin\28\29 +3978:embind_init_Skia\28\29 +3979:embind_init_Paragraph\28\29::$_0::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +3980:embind_init_Paragraph\28\29 +3981:embind_init_ParagraphGen\28\29 +3982:edge_line_needs_recursion\28SkPoint\20const&\2c\20SkPoint\20const&\29 +3983:draw_nine\28SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\2c\20bool\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3984:dquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3985:dquad_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3986:double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +3987:dline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3988:dline_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3989:deserialize_image\28sk_sp\2c\20SkDeserialProcs\2c\20std::__2::optional\29 +3990:deflate_stored +3991:decompose_current_character\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\29 +3992:decltype\28std::__2::__unwrap_iter_impl\2c\20true>::__unwrap\28std::declval>\28\29\29\29\20std::__2::__unwrap_iter\5babi:v160004\5d\2c\20std::__2::__unwrap_iter_impl\2c\20true>\2c\200>\28std::__2::__wrap_iter\29 +3993:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::Make\28SkArenaAlloc*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3994:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&\2c\20skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathCurveTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3995:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3996:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker\2c\20int&>\28int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3997:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkShaderBase\20const&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTransformShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3998:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3999:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29>\28GrThreadSafeCache::Entry&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4000:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29 +4001:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrRRectShadowGeoProc::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4002:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28GrQuadEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4003:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29::'lambda'\28void*\29>\28GrPipeline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4004:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldA8TextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4005:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29 +4006:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29 +4007:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4008:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4009:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>>::__generic_construct\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__ctor\2c\20std::__2::unique_ptr>>>&\2c\20std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&>\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&\29 +4010:dcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4011:dcubic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4012:dconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4013:dconic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4014:data_destroy_arabic\28void*\29 +4015:data_create_arabic\28hb_ot_shape_plan_t\20const*\29 +4016:cycle +4017:cubic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4018:cubic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4019:create_colorindex +4020:copysignl +4021:copy_bitmap_subset\28SkBitmap\20const&\2c\20SkIRect\20const&\29 +4022:conic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4023:conic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4024:compute_pos_tan\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +4025:compute_intersection\28OffsetSegment\20const&\2c\20OffsetSegment\20const&\2c\20SkPoint*\2c\20float*\2c\20float*\29 +4026:compress_block +4027:compose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +4028:clipHandlesSprite\28SkRasterClip\20const&\2c\20int\2c\20int\2c\20SkPixmap\20const&\29 +4029:clamp\28SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Comparator\20const&\29 +4030:checkint +4031:check_inverse_on_empty_return\28SkRegion*\2c\20SkPath\20const&\2c\20SkRegion\20const&\29 +4032:char*\20std::__2::copy\5babi:v160004\5d\2c\20char*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20char*\29 +4033:char*\20std::__2::copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +4034:cff_vstore_done +4035:cff_subfont_load +4036:cff_subfont_done +4037:cff_size_select +4038:cff_parser_run +4039:cff_make_private_dict +4040:cff_load_private_dict +4041:cff_index_get_name +4042:cff_get_kerning +4043:cff_blend_build_vector +4044:cf2_getSeacComponent +4045:cf2_computeDarkening +4046:cf2_arrstack_push +4047:cbrt +4048:byn$mgfn-shared$void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +4049:byn$mgfn-shared$void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +4050:byn$mgfn-shared$virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +4051:byn$mgfn-shared$ubidi_getClass_skia +4052:byn$mgfn-shared$t1_hints_open +4053:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +4054:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +4055:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +4056:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +4057:byn$mgfn-shared$std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +4058:byn$mgfn-shared$std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +4059:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +4060:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +4061:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +4062:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +4063:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4064:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4065:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4066:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +4067:byn$mgfn-shared$skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4068:byn$mgfn-shared$skgpu::ScratchKey::GenerateResourceType\28\29 +4069:byn$mgfn-shared$skcms_TransferFunction_isPQish +4070:byn$mgfn-shared$setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4071:byn$mgfn-shared$portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4072:byn$mgfn-shared$portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4073:byn$mgfn-shared$portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4074:byn$mgfn-shared$portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4075:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4076:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4077:byn$mgfn-shared$make_unpremul_effect\28std::__2::unique_ptr>\29 +4078:byn$mgfn-shared$hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4079:byn$mgfn-shared$hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +4080:byn$mgfn-shared$embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +4081:byn$mgfn-shared$embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +4082:byn$mgfn-shared$embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +4083:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4084:byn$mgfn-shared$decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4085:byn$mgfn-shared$cf2_stack_pushInt +4086:byn$mgfn-shared$__cxx_global_array_dtor.1 +4087:byn$mgfn-shared$\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +4088:byn$mgfn-shared$\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4089:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4090:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4091:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4092:byn$mgfn-shared$SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4093:byn$mgfn-shared$SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +4094:byn$mgfn-shared$SkSL::RP::LValue::~LValue\28\29.1 +4095:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +4096:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +4097:byn$mgfn-shared$SkSL::FunctionReference::clone\28SkSL::Position\29\20const +4098:byn$mgfn-shared$SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +4099:byn$mgfn-shared$SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +4100:byn$mgfn-shared$SkSL::ChildCall::clone\28SkSL::Position\29\20const +4101:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +4102:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29 +4103:byn$mgfn-shared$SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +4104:byn$mgfn-shared$SkRecorder::onDrawPaint\28SkPaint\20const&\29 +4105:byn$mgfn-shared$SkRecorder::didScale\28float\2c\20float\29 +4106:byn$mgfn-shared$SkRecorder::didConcat44\28SkM44\20const&\29 +4107:byn$mgfn-shared$SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4108:byn$mgfn-shared$SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +4109:byn$mgfn-shared$SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +4110:byn$mgfn-shared$SkPictureRecord::didConcat44\28SkM44\20const&\29 +4111:byn$mgfn-shared$SkPairPathEffect::~SkPairPathEffect\28\29.1 +4112:byn$mgfn-shared$SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +4113:byn$mgfn-shared$SkJSONWriter::endArray\28\29 +4114:byn$mgfn-shared$SkComposePathEffect::~SkComposePathEffect\28\29 +4115:byn$mgfn-shared$SkColorSpace::MakeSRGB\28\29 +4116:byn$mgfn-shared$SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +4117:byn$mgfn-shared$OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +4118:byn$mgfn-shared$GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4119:byn$mgfn-shared$GrPathTessellationShader::Impl::~Impl\28\29 +4120:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +4121:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +4122:byn$mgfn-shared$GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +4123:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +4124:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +4125:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +4126:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +4127:byn$mgfn-shared$GrBicubicEffect::onMakeProgramImpl\28\29\20const +4128:byn$mgfn-shared$Cr_z_inflate_table +4129:byn$mgfn-shared$BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +4130:byn$mgfn-shared$AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +4131:build_ycc_rgb_table +4132:bracketProcessChar\28BracketData*\2c\20int\29 +4133:bracketInit\28UBiDi*\2c\20BracketData*\29 +4134:bool\20std::__2::operator==\5babi:v160004\5d\28std::__2::unique_ptr\20const&\2c\20std::nullptr_t\29 +4135:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +4136:bool\20std::__2::__insertion_sort_incomplete\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +4137:bool\20std::__2::__insertion_sort_incomplete<\28anonymous\20namespace\29::EntryComparator&\2c\20\28anonymous\20namespace\29::Entry*>\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +4138:bool\20std::__2::__insertion_sort_incomplete\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +4139:bool\20std::__2::__insertion_sort_incomplete\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +4140:bool\20is_parallel\28SkDLine\20const&\2c\20SkTCurve\20const&\29 +4141:bool\20hb_hashmap_t::set_with_hash\28hb_serialize_context_t::object_t*&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool\29 +4142:bool\20apply_string\28OT::hb_ot_apply_context_t*\2c\20GSUBProxy::Lookup\20const&\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\29 +4143:bool\20OT::hb_accelerate_subtables_context_t::cache_func_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\2c\20bool\29 +4144:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4145:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4146:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4147:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4148:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4149:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4150:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4151:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4152:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4153:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4154:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4155:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4156:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4157:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4158:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4159:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4160:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4161:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4162:bool\20OT::OffsetTo\2c\20true>::serialize_serialize\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&>\28hb_serialize_context_t*\2c\20hb_map_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&\29 +4163:bool\20GrTTopoSort_Visit\28GrRenderTask*\2c\20unsigned\20int*\29 +4164:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +4165:blend_line\28SkColorType\2c\20void*\2c\20SkColorType\2c\20void\20const*\2c\20SkAlphaType\2c\20bool\2c\20int\29 +4166:bits_to_runs\28SkBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\2c\20long\2c\20unsigned\20char\29 +4167:barycentric_coords\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +4168:auto\20std::__2::__unwrap_range\5babi:v160004\5d\2c\20std::__2::__wrap_iter>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4169:atanf +4170:apply_forward\28OT::hb_ot_apply_context_t*\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\2c\20unsigned\20int\29 +4171:apply_alpha_and_colorfilter\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20SkPaint\20const&\29 +4172:append_multitexture_lookup\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20GrGLSLVarying\20const&\2c\20char\20const*\2c\20char\20const*\29 +4173:append_color_output\28PorterDuffXferProcessor\20const&\2c\20GrGLSLXPFragmentBuilder*\2c\20skgpu::BlendFormula::OutputType\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +4174:af_loader_compute_darkening +4175:af_latin_metrics_scale_dim +4176:af_latin_hints_detect_features +4177:af_latin_hint_edges +4178:af_hint_normal_stem +4179:af_cjk_metrics_scale_dim +4180:af_cjk_metrics_scale +4181:af_cjk_metrics_init_widths +4182:af_cjk_metrics_check_digits +4183:af_cjk_hints_init +4184:af_cjk_hints_detect_features +4185:af_cjk_hints_compute_blue_edges +4186:af_cjk_hints_apply +4187:af_cjk_hint_edges +4188:af_cjk_get_standard_widths +4189:af_axis_hints_new_edge +4190:adler32 +4191:a_ctz_32 +4192:_iup_worker_interpolate +4193:_hb_preprocess_text_vowel_constraints\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4194:_hb_ot_shape +4195:_hb_options_init\28\29 +4196:_hb_grapheme_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +4197:_hb_font_create\28hb_face_t*\29 +4198:_hb_fallback_shape +4199:_glyf_get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29 +4200:__vfprintf_internal +4201:__trunctfsf2 +4202:__tan +4203:__rem_pio2_large +4204:__overflow +4205:__newlocale +4206:__math_xflowf +4207:__math_invalidf +4208:__loc_is_allocated +4209:__isxdigit_l +4210:__getf2 +4211:__get_locale +4212:__ftello_unlocked +4213:__fseeko_unlocked +4214:__floatscan +4215:__expo2 +4216:__dynamic_cast +4217:__divtf3 +4218:__cxxabiv1::__base_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +4219:\28anonymous\20namespace\29::write_text_tag\28char\20const*\29 +4220:\28anonymous\20namespace\29::write_mAB_or_mBA_tag\28unsigned\20int\2c\20skcms_Curve\20const*\2c\20skcms_Curve\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20skcms_Curve\20const*\2c\20skcms_Matrix3x4\20const*\29 +4221:\28anonymous\20namespace\29::set_uv_quad\28SkPoint\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +4222:\28anonymous\20namespace\29::safe_to_ignore_subset_rect\28GrAAType\2c\20SkFilterMode\2c\20DrawQuad\20const&\2c\20SkRect\20const&\29 +4223:\28anonymous\20namespace\29::prepare_for_direct_mask_drawing\28SkStrike*\2c\20SkMatrix\20const&\2c\20SkZip\2c\20SkZip\2c\20SkZip\29 +4224:\28anonymous\20namespace\29::morphology_pass\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20\28anonymous\20namespace\29::MorphType\2c\20\28anonymous\20namespace\29::MorphDirection\2c\20int\29 +4225:\28anonymous\20namespace\29::make_non_convex_fill_op\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20skgpu::ganesh::FillPathFlags\2c\20GrAAType\2c\20SkRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\29 +4226:\28anonymous\20namespace\29::is_newer_better\28SkData*\2c\20SkData*\29 +4227:\28anonymous\20namespace\29::get_glyph_run_intercepts\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20float\20const*\2c\20float*\2c\20int*\29 +4228:\28anonymous\20namespace\29::get_cicp_trfn\28skcms_TransferFunction\20const&\29 +4229:\28anonymous\20namespace\29::get_cicp_primaries\28skcms_Matrix3x3\20const&\29 +4230:\28anonymous\20namespace\29::draw_to_sw_mask\28GrSWMaskHelper*\2c\20skgpu::ganesh::ClipStack::Element\20const&\2c\20bool\29 +4231:\28anonymous\20namespace\29::determine_clipped_src_rect\28SkIRect\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkISize\20const&\2c\20SkRect\20const*\29 +4232:\28anonymous\20namespace\29::create_hb_face\28SkTypeface\20const&\29::$_0::__invoke\28void*\29 +4233:\28anonymous\20namespace\29::cpu_blur\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20sk_sp\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28double\29\20const +4234:\28anonymous\20namespace\29::copyFTBitmap\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\29 +4235:\28anonymous\20namespace\29::colrv1_start_glyph\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +4236:\28anonymous\20namespace\29::colrv1_draw_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\29 +4237:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29 +4238:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29 +4239:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29 +4240:\28anonymous\20namespace\29::TriangulatingPathOp::TriangulatingPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +4241:\28anonymous\20namespace\29::TriangulatingPathOp::Triangulate\28GrEagerVertexAllocator*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool*\29 +4242:\28anonymous\20namespace\29::TriangulatingPathOp::CreateKey\28skgpu::UniqueKey*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\29 +4243:\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4244:\28anonymous\20namespace\29::TextureOpImpl::propagateCoverageAAThroughoutChain\28\29 +4245:\28anonymous\20namespace\29::TextureOpImpl::characterize\28\28anonymous\20namespace\29::TextureOpImpl::Desc*\29\20const +4246:\28anonymous\20namespace\29::TextureOpImpl::appendQuad\28DrawQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\29 +4247:\28anonymous\20namespace\29::TextureOpImpl::Make\28GrRecordingContext*\2c\20GrTextureSetEntry*\2c\20int\2c\20int\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20GrAAType\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +4248:\28anonymous\20namespace\29::TextureOpImpl::FillInVertices\28GrCaps\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl*\2c\20\28anonymous\20namespace\29::TextureOpImpl::Desc*\2c\20char*\29 +4249:\28anonymous\20namespace\29::SpotVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +4250:\28anonymous\20namespace\29::SkImageImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +4251:\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4252:\28anonymous\20namespace\29::RunIteratorQueue::advanceRuns\28\29 +4253:\28anonymous\20namespace\29::Pass::blur\28int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +4254:\28anonymous\20namespace\29::MipLevelHelper::allocAndInit\28SkArenaAlloc*\2c\20SkSamplingOptions\20const&\2c\20SkTileMode\2c\20SkTileMode\29 +4255:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29 +4256:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20sk_sp\2c\20GrPrimitiveType\20const*\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4257:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMesh\20const&\2c\20skia_private::TArray>\2c\20true>\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4258:\28anonymous\20namespace\29::MeshOp::Mesh::Mesh\28SkMesh\20const&\29 +4259:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29 +4260:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29 +4261:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineStruct\28char\20const*\29 +4262:\28anonymous\20namespace\29::FillRectOpImpl::tessellate\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29\20const +4263:\28anonymous\20namespace\29::FillRectOpImpl::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4264:\28anonymous\20namespace\29::FillRectOpImpl::FillRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4265:\28anonymous\20namespace\29::EllipticalRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\29 +4266:\28anonymous\20namespace\29::DrawAtlasOpImpl::DrawAtlasOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrAAType\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +4267:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4268:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4269:\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4270:\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4271:\28anonymous\20namespace\29::DefaultPathOp::programInfo\28\29 +4272:\28anonymous\20namespace\29::DefaultPathOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4273:\28anonymous\20namespace\29::DefaultPathOp::DefaultPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4274:\28anonymous\20namespace\29::ClipGeometry\20\28anonymous\20namespace\29::get_clip_geometry\28skgpu::ganesh::ClipStack::SaveRecord\20const&\2c\20skgpu::ganesh::ClipStack::Draw\20const&\29 +4275:\28anonymous\20namespace\29::CircularRRectEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +4276:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29 +4277:\28anonymous\20namespace\29::CachedTessellations::CachedTessellations\28\29 +4278:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29 +4279:\28anonymous\20namespace\29::AAHairlineOp::AAHairlineOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIRect\2c\20float\2c\20GrUserStencilSettings\20const*\29 +4280:WebPResetDecParams +4281:WebPRescalerGetScaledDimensions +4282:WebPMultRows +4283:WebPMultARGBRows +4284:WebPIoInitFromOptions +4285:WebPInitUpsamplers +4286:WebPFlipBuffer +4287:WebPDemuxGetChunk +4288:WebPCopyDecBufferPixels +4289:WebPAllocateDecBuffer +4290:VP8RemapBitReader +4291:VP8LHuffmanTablesAllocate +4292:VP8LDspInit +4293:VP8LConvertFromBGRA +4294:VP8LColorCacheInit +4295:VP8LColorCacheCopy +4296:VP8LBuildHuffmanTable +4297:VP8LBitReaderSetBuffer +4298:VP8InitScanline +4299:VP8GetInfo +4300:VP8BitReaderSetBuffer +4301:Update_Max +4302:TransformOne_C +4303:TT_Set_Named_Instance +4304:TT_Hint_Glyph +4305:StoreFrame +4306:SortContourList\28SkOpContourHead**\2c\20bool\2c\20bool\29 +4307:SkYUVAPixmapInfo::isSupported\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\29\20const +4308:SkWuffsCodec::seekFrame\28int\29 +4309:SkWuffsCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +4310:SkWuffsCodec::onIncrementalDecodeTwoPass\28\29 +4311:SkWuffsCodec::decodeFrameConfig\28\29 +4312:SkWriter32::writeString\28char\20const*\2c\20unsigned\20long\29 +4313:SkWriteICCProfile\28skcms_ICCProfile\20const*\2c\20char\20const*\29 +4314:SkWebpDecoder::IsWebp\28void\20const*\2c\20unsigned\20long\29 +4315:SkWebpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4316:SkWbmpDecoder::IsWbmp\28void\20const*\2c\20unsigned\20long\29 +4317:SkWbmpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4318:SkWStream::SizeOfPackedUInt\28unsigned\20long\29 +4319:SkWBuffer::padToAlign4\28\29 +4320:SkVertices::Builder::indices\28\29 +4321:SkUnicode::convertUtf16ToUtf8\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4322:SkUTF::UTF16ToUTF8\28char*\2c\20int\2c\20unsigned\20short\20const*\2c\20unsigned\20long\29 +4323:SkTypeface_FreeType::FaceRec::Make\28SkTypeface_FreeType\20const*\29 +4324:SkTypeface_Custom::onGetFamilyName\28SkString*\29\20const +4325:SkTypeface::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +4326:SkTypeface::serialize\28SkWStream*\2c\20SkTypeface::SerializeBehavior\29\20const +4327:SkTypeface::openStream\28int*\29\20const +4328:SkTypeface::getFamilyName\28SkString*\29\20const +4329:SkTransformShader::update\28SkMatrix\20const&\29 +4330:SkTransformShader::SkTransformShader\28SkShaderBase\20const&\2c\20bool\29 +4331:SkTiff::ImageFileDirectory::getEntryRawData\28unsigned\20short\2c\20unsigned\20short*\2c\20unsigned\20short*\2c\20unsigned\20int*\2c\20unsigned\20char\20const**\2c\20unsigned\20long*\29\20const +4332:SkTextBlobBuilder::allocRunPos\28SkFont\20const&\2c\20int\2c\20SkRect\20const*\29 +4333:SkTextBlob::getIntercepts\28float\20const*\2c\20float*\2c\20SkPaint\20const*\29\20const +4334:SkTextBlob::RunRecord::StorageSize\28unsigned\20int\2c\20unsigned\20int\2c\20SkTextBlob::GlyphPositioning\2c\20SkSafeMath*\29 +4335:SkTextBlob::MakeFromText\28void\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4336:SkTextBlob::MakeFromRSXform\28void\20const*\2c\20unsigned\20long\2c\20SkRSXform\20const*\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4337:SkTextBlob::Iter::experimentalNext\28SkTextBlob::Iter::ExperimentalRun*\29 +4338:SkTextBlob::Iter::Iter\28SkTextBlob\20const&\29 +4339:SkTaskGroup::wait\28\29 +4340:SkTaskGroup::add\28std::__2::function\29 +4341:SkTSpan::onlyEndPointsInCommon\28SkTSpan\20const*\2c\20bool*\2c\20bool*\2c\20bool*\29 +4342:SkTSpan::linearIntersects\28SkTCurve\20const&\29\20const +4343:SkTSect::removeAllBut\28SkTSpan\20const*\2c\20SkTSpan*\2c\20SkTSect*\29 +4344:SkTSect::intersects\28SkTSpan*\2c\20SkTSect*\2c\20SkTSpan*\2c\20int*\29 +4345:SkTSect::deleteEmptySpans\28\29 +4346:SkTSect::addSplitAt\28SkTSpan*\2c\20double\29 +4347:SkTSect::addForPerp\28SkTSpan*\2c\20double\29 +4348:SkTSect::EndsEqual\28SkTSect\20const*\2c\20SkTSect\20const*\2c\20SkIntersections*\29 +4349:SkTMultiMap::~SkTMultiMap\28\29 +4350:SkTMaskGamma<3\2c\203\2c\203>::SkTMaskGamma\28float\2c\20float\29 +4351:SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::find\28SkImageFilterCacheKey\20const&\29\20const +4352:SkTDStorage::calculateSizeOrDie\28int\29::$_1::operator\28\29\28\29\20const +4353:SkTDStorage::SkTDStorage\28SkTDStorage&&\29 +4354:SkTCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4355:SkTConic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +4356:SkTConic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +4357:SkTConic::controlsInside\28\29\20const +4358:SkTConic::collapsed\28\29\20const +4359:SkTBlockList::reset\28\29 +4360:SkTBlockList::reset\28\29 +4361:SkTBlockList::push_back\28GrGLProgramDataManager::GLUniformInfo\20const&\29 +4362:SkSwizzler::MakeSimple\28int\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +4363:SkSurfaces::WrapPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +4364:SkSurface_Base::outstandingImageSnapshot\28\29\20const +4365:SkSurface_Base::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +4366:SkSurface_Base::onCapabilities\28\29 +4367:SkStrokeRec::setHairlineStyle\28\29 +4368:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20SkPaint::Style\2c\20float\29 +4369:SkStrokeRec::GetInflationRadius\28SkPaint::Join\2c\20float\2c\20SkPaint::Cap\2c\20float\29 +4370:SkString::insertHex\28unsigned\20long\2c\20unsigned\20int\2c\20int\29 +4371:SkString::appendVAList\28char\20const*\2c\20void*\29 +4372:SkString::SkString\28std::__2::basic_string_view>\29 +4373:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec\20const&\29 +4374:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29 +4375:SkStrSplit\28char\20const*\2c\20char\20const*\2c\20SkStrSplitMode\2c\20skia_private::TArray*\29 +4376:SkStrAppendS32\28char*\2c\20int\29 +4377:SkSpriteBlitter_Memcpy::~SkSpriteBlitter_Memcpy\28\29 +4378:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4379:SkSpecialImages::AsBitmap\28SkSpecialImage\20const*\2c\20SkBitmap*\29 +4380:SkSharedMutex::releaseShared\28\29 +4381:SkShapers::unicode::BidiRunIterator\28sk_sp\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20char\29 +4382:SkShapers::HB::ScriptRunIterator\28char\20const*\2c\20unsigned\20long\29 +4383:SkShaper::MakeStdLanguageRunIterator\28char\20const*\2c\20unsigned\20long\29 +4384:SkShaders::MatrixRec::concat\28SkMatrix\20const&\29\20const +4385:SkShaders::Blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\29 +4386:SkShaderUtils::VisitLineByLine\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::function\20const&\29 +4387:SkShaderUtils::PrettyPrint\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4388:SkShaderUtils::GLSLPrettyPrint::parseUntil\28char\20const*\29 +4389:SkShaderUtils::GLSLPrettyPrint::hasToken\28char\20const*\29 +4390:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +4391:SkShaderBlurAlgorithm::evalBlur1D\28float\2c\20int\2c\20SkV2\2c\20sk_sp\2c\20SkIRect\2c\20SkTileMode\2c\20SkIRect\29\20const +4392:SkShaderBlurAlgorithm::Compute2DBlurOffsets\28SkISize\2c\20std::__2::array&\29 +4393:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20std::__2::array&\29 +4394:SkShaderBlurAlgorithm::Compute1DBlurLinearKernel\28float\2c\20int\2c\20std::__2::array&\29 +4395:SkShaderBase::getFlattenableType\28\29\20const +4396:SkShaderBase::asLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +4397:SkShader::makeWithColorFilter\28sk_sp\29\20const +4398:SkScan::PathRequiresTiling\28SkIRect\20const&\29 +4399:SkScan::HairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +4400:SkScan::AntiFrameRect\28SkRect\20const&\2c\20SkPoint\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4401:SkScan::AntiFillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4402:SkScan::AntiFillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4403:SkScan::AAAFillPath\28SkPath\20const&\2c\20SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +4404:SkScalerContext_FreeType::updateGlyphBoundsIfSubpixel\28SkGlyph\20const&\2c\20SkRect*\2c\20bool\29 +4405:SkScalerContext_FreeType::shouldSubpixelBitmap\28SkGlyph\20const&\2c\20SkMatrix\20const&\29 +4406:SkScalerContextRec::getSingleMatrix\28SkMatrix*\29\20const +4407:SkScalerContextFTUtils::drawCOLRv1Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4408:SkScalerContextFTUtils::drawCOLRv0Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4409:SkScalerContext::internalMakeGlyph\28SkPackedGlyphID\2c\20SkMask::Format\2c\20SkArenaAlloc*\29 +4410:SkScalerContext::internalGetPath\28SkGlyph&\2c\20SkArenaAlloc*\29 +4411:SkScalerContext::getFontMetrics\28SkFontMetrics*\29 +4412:SkScalerContext::SkScalerContext\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4413:SkScalerContext::PreprocessRec\28SkTypeface\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const&\29 +4414:SkScalerContext::MakeRecAndEffects\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\2c\20SkScalerContextRec*\2c\20SkScalerContextEffects*\29 +4415:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4416:SkScalerContext::GetMaskPreBlend\28SkScalerContextRec\20const&\29 +4417:SkScalerContext::AutoDescriptorGivenRecAndEffects\28SkScalerContextRec\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkAutoDescriptor*\29 +4418:SkSampledCodec::sampledDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +4419:SkSampledCodec::accountForNativeScaling\28int*\2c\20int*\29\20const +4420:SkSampledCodec::SkSampledCodec\28SkCodec*\29 +4421:SkSL::zero_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\29 +4422:SkSL::type_to_sksltype\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSLType*\29 +4423:SkSL::stoi\28std::__2::basic_string_view>\2c\20long\20long*\29 +4424:SkSL::splat_scalar\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4425:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_2::operator\28\29\28int\29\20const +4426:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_1::operator\28\29\28int\29\20const +4427:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4428:SkSL::negate_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4429:SkSL::make_reciprocal_expression\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29 +4430:SkSL::index_out_of_range\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20long\20long\2c\20SkSL::Expression\20const&\29 +4431:SkSL::get_struct_definitions_from_module\28SkSL::Program&\2c\20SkSL::Module\20const&\2c\20std::__2::vector>*\29 +4432:SkSL::find_existing_declaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20SkSL::IntrinsicKind\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray>\2c\20true>&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration**\29::$_0::operator\28\29\28\29\20const +4433:SkSL::extract_matrix\28SkSL::Expression\20const*\2c\20float*\29 +4434:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +4435:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_4::operator\28\29\28int\29\20const +4436:SkSL::\28anonymous\20namespace\29::check_valid_uniform_type\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Context\20const&\2c\20bool\29::$_0::operator\28\29\28\29\20const +4437:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4438:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +4439:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4440:SkSL::VariableReference::setRefKind\28SkSL::VariableRefKind\29 +4441:SkSL::Variable::setVarDeclaration\28SkSL::VarDeclaration*\29 +4442:SkSL::Variable::setGlobalVarDeclaration\28SkSL::GlobalVarDeclaration*\29 +4443:SkSL::Variable::globalVarDeclaration\28\29\20const +4444:SkSL::Variable::Make\28SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20std::__2::basic_string_view>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20bool\2c\20SkSL::VariableStorage\29 +4445:SkSL::Variable::MakeScratchVariable\28SkSL::Context\20const&\2c\20SkSL::Mangler&\2c\20std::__2::basic_string_view>\2c\20SkSL::Type\20const*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>\29 +4446:SkSL::VarDeclaration::Make\28SkSL::Context\20const&\2c\20SkSL::Variable*\2c\20SkSL::Type\20const*\2c\20int\2c\20std::__2::unique_ptr>\29 +4447:SkSL::VarDeclaration::ErrorCheck\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Type\20const*\2c\20SkSL::VariableStorage\29 +4448:SkSL::TypeReference::description\28SkSL::OperatorPrecedence\29\20const +4449:SkSL::TypeReference::VerifyType\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Position\29 +4450:SkSL::TypeReference::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\29 +4451:SkSL::Type::MakeStructType\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20bool\29 +4452:SkSL::Type::MakeLiteralType\28char\20const*\2c\20SkSL::Type\20const&\2c\20signed\20char\29 +4453:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::addDeclaringElement\28SkSL::ProgramElement\20const*\29 +4454:SkSL::ToGLSL\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29 +4455:SkSL::TernaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +4456:SkSL::SymbolTable::insertNewParent\28\29 +4457:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Symbol*\29 +4458:SkSL::Swizzle::MaskString\28skia_private::FixedArray<4\2c\20signed\20char>\20const&\29 +4459:SkSL::SwitchStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +4460:SkSL::SwitchCase::Make\28SkSL::Position\2c\20long\20long\2c\20std::__2::unique_ptr>\29 +4461:SkSL::SwitchCase::MakeDefault\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +4462:SkSL::StructType::StructType\28SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20int\2c\20bool\2c\20bool\29 +4463:SkSL::String::vappendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20void*\29 +4464:SkSL::SingleArgumentConstructor::argumentSpan\28\29 +4465:SkSL::RP::stack_usage\28SkSL::RP::Instruction\20const&\29 +4466:SkSL::RP::UnownedLValueSlice::isWritable\28\29\20const +4467:SkSL::RP::UnownedLValueSlice::dynamicSlotRange\28\29 +4468:SkSL::RP::ScratchLValue::~ScratchLValue\28\29 +4469:SkSL::RP::Program::~Program\28\29 +4470:SkSL::RP::LValue::swizzle\28\29 +4471:SkSL::RP::Generator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\29 +4472:SkSL::RP::Generator::writeFunction\28SkSL::IRNode\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSpan>\20const>\29 +4473:SkSL::RP::Generator::storeImmutableValueToSlots\28skia_private::TArray\20const&\2c\20SkSL::RP::SlotRange\29 +4474:SkSL::RP::Generator::pushVariableReferencePartial\28SkSL::VariableReference\20const&\2c\20SkSL::RP::SlotRange\29 +4475:SkSL::RP::Generator::pushPrefixExpression\28SkSL::Operator\2c\20SkSL::Expression\20const&\29 +4476:SkSL::RP::Generator::pushIntrinsic\28SkSL::IntrinsicKind\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +4477:SkSL::RP::Generator::pushImmutableData\28SkSL::Expression\20const&\29 +4478:SkSL::RP::Generator::pushAbsFloatIntrinsic\28int\29 +4479:SkSL::RP::Generator::getImmutableValueForExpression\28SkSL::Expression\20const&\2c\20skia_private::TArray*\29 +4480:SkSL::RP::Generator::foldWithMultiOp\28SkSL::RP::BuilderOp\2c\20int\29 +4481:SkSL::RP::Generator::findPreexistingImmutableData\28skia_private::TArray\20const&\29 +4482:SkSL::RP::Builder::push_slots_or_immutable_indirect\28SkSL::RP::SlotRange\2c\20int\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +4483:SkSL::RP::Builder::push_condition_mask\28\29 +4484:SkSL::RP::Builder::pad_stack\28int\29 +4485:SkSL::RP::Builder::copy_stack_to_slots\28SkSL::RP::SlotRange\2c\20int\29 +4486:SkSL::RP::Builder::branch_if_any_lanes_active\28int\29 +4487:SkSL::ProgramVisitor::visit\28SkSL::Program\20const&\29 +4488:SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +4489:SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +4490:SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +4491:SkSL::Pool::attachToThread\28\29 +4492:SkSL::PipelineStage::PipelineStageCodeGenerator::functionName\28SkSL::FunctionDeclaration\20const&\29 +4493:SkSL::PipelineStage::PipelineStageCodeGenerator::functionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +4494:SkSL::Parser::~Parser\28\29 +4495:SkSL::Parser::varDeclarations\28\29 +4496:SkSL::Parser::varDeclarationsOrExpressionStatement\28\29 +4497:SkSL::Parser::switchCaseBody\28SkSL::ExpressionArray*\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>*\2c\20std::__2::unique_ptr>\29 +4498:SkSL::Parser::statementOrNop\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +4499:SkSL::Parser::shiftExpression\28\29 +4500:SkSL::Parser::relationalExpression\28\29 +4501:SkSL::Parser::parameter\28std::__2::unique_ptr>*\29 +4502:SkSL::Parser::multiplicativeExpression\28\29 +4503:SkSL::Parser::logicalXorExpression\28\29 +4504:SkSL::Parser::logicalAndExpression\28\29 +4505:SkSL::Parser::localVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +4506:SkSL::Parser::intLiteral\28long\20long*\29 +4507:SkSL::Parser::globalVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +4508:SkSL::Parser::equalityExpression\28\29 +4509:SkSL::Parser::directive\28bool\29 +4510:SkSL::Parser::declarations\28\29 +4511:SkSL::Parser::checkNext\28SkSL::Token::Kind\2c\20SkSL::Token*\29 +4512:SkSL::Parser::bitwiseXorExpression\28\29 +4513:SkSL::Parser::bitwiseOrExpression\28\29 +4514:SkSL::Parser::bitwiseAndExpression\28\29 +4515:SkSL::Parser::additiveExpression\28\29 +4516:SkSL::Parser::Parser\28SkSL::Compiler*\2c\20SkSL::ProgramSettings\20const&\2c\20SkSL::ProgramKind\2c\20std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>\29 +4517:SkSL::MultiArgumentConstructor::argumentSpan\28\29 +4518:SkSL::ModuleLoader::~ModuleLoader\28\29 +4519:SkSL::ModuleLoader::loadVertexModule\28SkSL::Compiler*\29 +4520:SkSL::ModuleLoader::loadSharedModule\28SkSL::Compiler*\29 +4521:SkSL::ModuleLoader::loadPublicModule\28SkSL::Compiler*\29 +4522:SkSL::ModuleLoader::loadGraphiteVertexModule\28SkSL::Compiler*\29 +4523:SkSL::ModuleLoader::loadGraphiteFragmentModule\28SkSL::Compiler*\29 +4524:SkSL::ModuleLoader::loadFragmentModule\28SkSL::Compiler*\29 +4525:SkSL::ModuleLoader::Get\28\29 +4526:SkSL::MatrixType::bitWidth\28\29\20const +4527:SkSL::MakeRasterPipelineProgram\28SkSL::Program\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSL::DebugTracePriv*\2c\20bool\29 +4528:SkSL::Layout::description\28\29\20const +4529:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_length\28std::__2::array\20const&\29 +4530:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +4531:SkSL::InterfaceBlock::~InterfaceBlock\28\29 +4532:SkSL::Inliner::candidateCanBeInlined\28SkSL::InlineCandidate\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20skia_private::THashMap*\29 +4533:SkSL::IfStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +4534:SkSL::GLSLCodeGenerator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\2c\20bool\29 +4535:SkSL::GLSLCodeGenerator::writeProgramElement\28SkSL::ProgramElement\20const&\29 +4536:SkSL::GLSLCodeGenerator::writeMinAbsHack\28SkSL::Expression&\2c\20SkSL::Expression&\29 +4537:SkSL::GLSLCodeGenerator::generateCode\28\29 +4538:SkSL::FunctionDefinition::~FunctionDefinition\28\29.1 +4539:SkSL::FunctionDefinition::~FunctionDefinition\28\29 +4540:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::visitStatementPtr\28std::__2::unique_ptr>&\29 +4541:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::addLocalVariable\28SkSL::Variable\20const*\2c\20SkSL::Position\29 +4542:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29.1 +4543:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29 +4544:SkSL::FunctionDeclaration::mangledName\28\29\20const +4545:SkSL::FunctionDeclaration::determineFinalTypes\28SkSL::ExpressionArray\20const&\2c\20skia_private::STArray<8\2c\20SkSL::Type\20const*\2c\20true>*\2c\20SkSL::Type\20const**\29\20const +4546:SkSL::FunctionDeclaration::FunctionDeclaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20SkSL::Type\20const*\2c\20SkSL::IntrinsicKind\29 +4547:SkSL::FunctionCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +4548:SkSL::FunctionCall::FindBestFunctionForCall\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\20const&\29 +4549:SkSL::FunctionCall::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +4550:SkSL::ForStatement::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +4551:SkSL::FindIntrinsicKind\28std::__2::basic_string_view>\29 +4552:SkSL::FieldAccess::~FieldAccess\28\29.1 +4553:SkSL::FieldAccess::~FieldAccess\28\29 +4554:SkSL::ExpressionStatement::Convert\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +4555:SkSL::DoStatement::~DoStatement\28\29.1 +4556:SkSL::DoStatement::~DoStatement\28\29 +4557:SkSL::DebugTracePriv::setSource\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4558:SkSL::ConstructorScalarCast::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +4559:SkSL::ConstructorMatrixResize::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +4560:SkSL::Constructor::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +4561:SkSL::ConstantFolder::Simplify\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4562:SkSL::Compiler::writeErrorCount\28\29 +4563:SkSL::Compiler::initializeContext\28SkSL::Module\20const*\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\2c\20std::__2::basic_string_view>\2c\20bool\29 +4564:SkSL::Compiler::cleanupContext\28\29 +4565:SkSL::ChildCall::~ChildCall\28\29.1 +4566:SkSL::ChildCall::~ChildCall\28\29 +4567:SkSL::ChildCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const&\2c\20SkSL::ExpressionArray\29 +4568:SkSL::BinaryExpression::isAssignmentIntoVariable\28\29 +4569:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\2c\20SkSL::Type\20const*\29 +4570:SkSL::Analysis::\28anonymous\20namespace\29::LoopControlFlowVisitor::visitStatement\28SkSL::Statement\20const&\29 +4571:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29 +4572:SkSL::Analysis::IsConstantExpression\28SkSL::Expression\20const&\29 +4573:SkSL::Analysis::IsAssignable\28SkSL::Expression&\2c\20SkSL::Analysis::AssignmentInfo*\2c\20SkSL::ErrorReporter*\29 +4574:SkSL::Analysis::GetLoopUnrollInfo\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\20const&\2c\20SkSL::Statement\20const*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Expression\20const*\2c\20SkSL::Statement\20const*\2c\20SkSL::ErrorReporter*\29 +4575:SkSL::Analysis::GetLoopControlFlowInfo\28SkSL::Statement\20const&\29 +4576:SkSL::AliasType::numberKind\28\29\20const +4577:SkSL::AliasType::isAllowedInES2\28\29\20const +4578:SkRuntimeShader::~SkRuntimeShader\28\29 +4579:SkRuntimeEffectPriv::WriteChildEffects\28SkWriteBuffer&\2c\20SkSpan\29 +4580:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpaceXformSteps\20const&\29 +4581:SkRuntimeEffect::~SkRuntimeEffect\28\29 +4582:SkRuntimeEffect::makeShader\28sk_sp\2c\20sk_sp*\2c\20unsigned\20long\2c\20SkMatrix\20const*\29\20const +4583:SkRuntimeEffect::makeColorFilter\28sk_sp\2c\20SkSpan\29\20const +4584:SkRuntimeEffect::TracedShader*\20emscripten::internal::raw_constructor\28\29 +4585:SkRuntimeEffect::MakeInternal\28std::__2::unique_ptr>\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +4586:SkRuntimeEffect::ChildPtr&\20skia_private::TArray::emplace_back&>\28sk_sp&\29 +4587:SkRuntimeBlender::flatten\28SkWriteBuffer&\29\20const +4588:SkRgnBuilder::~SkRgnBuilder\28\29 +4589:SkResourceCache::PostPurgeSharedID\28unsigned\20long\20long\29 +4590:SkResourceCache::GetDiscardableFactory\28\29 +4591:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +4592:SkRegion::Spanerator::Spanerator\28SkRegion\20const&\2c\20int\2c\20int\2c\20int\29 +4593:SkRegion::Oper\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\2c\20SkRegion*\29 +4594:SkRefCntSet::~SkRefCntSet\28\29 +4595:SkRefCntBase::internal_dispose\28\29\20const +4596:SkReduceOrder::reduce\28SkDQuad\20const&\29 +4597:SkReduceOrder::Conic\28SkConic\20const&\2c\20SkPoint*\29 +4598:SkRectClipBlitter::requestRowsPreserved\28\29\20const +4599:SkRectClipBlitter::allocBlitMemory\28unsigned\20long\29 +4600:SkRect::intersect\28SkRect\20const&\2c\20SkRect\20const&\29 +4601:SkRecords::TypedMatrix::TypedMatrix\28SkMatrix\20const&\29 +4602:SkRecords::FillBounds::popSaveBlock\28\29 +4603:SkRecordOptimize\28SkRecord*\29 +4604:SkRecordFillBounds\28SkRect\20const&\2c\20SkRecord\20const&\2c\20SkRect*\2c\20SkBBoxHierarchy::Metadata*\29 +4605:SkRecord::bytesUsed\28\29\20const +4606:SkReadPixelsRec::trim\28int\2c\20int\29 +4607:SkReadBuffer::readString\28unsigned\20long*\29 +4608:SkReadBuffer::readRegion\28SkRegion*\29 +4609:SkReadBuffer::readRect\28\29 +4610:SkReadBuffer::readPoint3\28SkPoint3*\29 +4611:SkReadBuffer::readPad32\28void*\2c\20unsigned\20long\29 +4612:SkRasterPipeline_<256ul>::SkRasterPipeline_\28\29 +4613:SkRasterPipeline::tailPointer\28\29 +4614:SkRasterPipeline::appendSetRGB\28SkArenaAlloc*\2c\20float\20const*\29 +4615:SkRasterPipeline::addMemoryContext\28SkRasterPipeline_MemoryCtx*\2c\20int\2c\20bool\2c\20bool\29 +4616:SkRasterClipStack::SkRasterClipStack\28int\2c\20int\29 +4617:SkRTreeFactory::operator\28\29\28\29\20const +4618:SkRTree::search\28SkRTree::Node*\2c\20SkRect\20const&\2c\20std::__2::vector>*\29\20const +4619:SkRTree::bulkLoad\28std::__2::vector>*\2c\20int\29 +4620:SkRTree::allocateNodeAtLevel\28unsigned\20short\29 +4621:SkRSXform::toQuad\28float\2c\20float\2c\20SkPoint*\29\20const +4622:SkRRect::isValid\28\29\20const +4623:SkRRect::computeType\28\29 +4624:SkRGBA4f<\28SkAlphaType\292>\20skgpu::Swizzle::applyTo<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +4625:SkRBuffer::skipToAlign4\28\29 +4626:SkQuads::EvalAt\28double\2c\20double\2c\20double\2c\20double\29 +4627:SkQuadraticEdge::setQuadraticWithoutUpdate\28SkPoint\20const*\2c\20int\29 +4628:SkPtrSet::reset\28\29 +4629:SkPtrSet::copyToArray\28void**\29\20const +4630:SkPtrSet::add\28void*\29 +4631:SkPoint::Normalize\28SkPoint*\29 +4632:SkPngEncoder::Make\28SkWStream*\2c\20SkPixmap\20const&\2c\20SkPngEncoder::Options\20const&\29 +4633:SkPngEncoder::Encode\28GrDirectContext*\2c\20SkImage\20const*\2c\20SkPngEncoder::Options\20const&\29 +4634:SkPngCodec::initializeXforms\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +4635:SkPngCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +4636:SkPngCodec::allocateStorage\28SkImageInfo\20const&\29 +4637:SkPixmapUtils::Orient\28SkPixmap\20const&\2c\20SkPixmap\20const&\2c\20SkEncodedOrigin\29 +4638:SkPixmap::erase\28unsigned\20int\2c\20SkIRect\20const&\29\20const +4639:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const +4640:SkPixelRef::getGenerationID\28\29\20const +4641:SkPixelRef::addGenIDChangeListener\28sk_sp\29 +4642:SkPixelRef::SkPixelRef\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +4643:SkPictureShader::CachedImageInfo::makeImage\28sk_sp\2c\20SkPicture\20const*\29\20const +4644:SkPictureShader::CachedImageInfo::Make\28SkRect\20const&\2c\20SkMatrix\20const&\2c\20SkColorType\2c\20SkColorSpace*\2c\20int\2c\20SkSurfaceProps\20const&\29 +4645:SkPictureRecord::endRecording\28\29 +4646:SkPictureRecord::beginRecording\28\29 +4647:SkPicturePriv::Flatten\28sk_sp\2c\20SkWriteBuffer&\29 +4648:SkPicturePlayback::draw\28SkCanvas*\2c\20SkPicture::AbortCallback*\2c\20SkReadBuffer*\29 +4649:SkPictureData::parseBufferTag\28SkReadBuffer&\2c\20unsigned\20int\2c\20unsigned\20int\29 +4650:SkPictureData::getPicture\28SkReadBuffer*\29\20const +4651:SkPictureData::getDrawable\28SkReadBuffer*\29\20const +4652:SkPictureData::flatten\28SkWriteBuffer&\29\20const +4653:SkPictureData::flattenToBuffer\28SkWriteBuffer&\2c\20bool\29\20const +4654:SkPictureData::SkPictureData\28SkPictureRecord\20const&\2c\20SkPictInfo\20const&\29 +4655:SkPicture::backport\28\29\20const +4656:SkPicture::SkPicture\28\29 +4657:SkPicture::MakeFromStreamPriv\28SkStream*\2c\20SkDeserialProcs\20const*\2c\20SkTypefacePlayback*\2c\20int\29 +4658:SkPerlinNoiseShader::getPaintingData\28\29\20const +4659:SkPathWriter::assemble\28\29 +4660:SkPathWriter::SkPathWriter\28SkPath&\29 +4661:SkPathRef::resetToSize\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +4662:SkPathRef::SkPathRef\28SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20unsigned\20int\29 +4663:SkPathPriv::IsNestedFillRects\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\29 +4664:SkPathPriv::CreateDrawArcPath\28SkPath*\2c\20SkArc\20const&\2c\20bool\29 +4665:SkPathEffectBase::PointData::~PointData\28\29 +4666:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +4667:SkPathBuilder::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +4668:SkPath::writeToMemoryAsRRect\28void*\29\20const +4669:SkPath::setLastPt\28float\2c\20float\29 +4670:SkPath::reverseAddPath\28SkPath\20const&\29 +4671:SkPath::readFromMemory\28void\20const*\2c\20unsigned\20long\29 +4672:SkPath::offset\28float\2c\20float\2c\20SkPath*\29\20const +4673:SkPath::isZeroLengthSincePoint\28int\29\20const +4674:SkPath::isRRect\28SkRRect*\29\20const +4675:SkPath::isOval\28SkRect*\29\20const +4676:SkPath::conservativelyContainsRect\28SkRect\20const&\29\20const +4677:SkPath::computeConvexity\28\29\20const +4678:SkPath::addPath\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath::AddPathMode\29 +4679:SkPath::Polygon\28SkPoint\20const*\2c\20int\2c\20bool\2c\20SkPathFillType\2c\20bool\29 +4680:SkPath2DPathEffect::Make\28SkMatrix\20const&\2c\20SkPath\20const&\29 +4681:SkParsePath::ToSVGString\28SkPath\20const&\2c\20SkParsePath::PathEncoding\29::$_0::operator\28\29\28char\2c\20SkPoint\20const*\2c\20unsigned\20long\29\20const +4682:SkParseEncodedOrigin\28void\20const*\2c\20unsigned\20long\2c\20SkEncodedOrigin*\29 +4683:SkPaintPriv::ShouldDither\28SkPaint\20const&\2c\20SkColorType\29 +4684:SkPaintPriv::Overwrites\28SkPaint\20const*\2c\20SkPaintPriv::ShaderOverrideOpacity\29 +4685:SkPaint::setStroke\28bool\29 +4686:SkPaint::reset\28\29 +4687:SkPaint::refColorFilter\28\29\20const +4688:SkOpSpanBase::merge\28SkOpSpan*\29 +4689:SkOpSpanBase::globalState\28\29\20const +4690:SkOpSpan::sortableTop\28SkOpContour*\29 +4691:SkOpSpan::release\28SkOpPtT\20const*\29 +4692:SkOpSpan::insertCoincidence\28SkOpSegment\20const*\2c\20bool\2c\20bool\29 +4693:SkOpSpan::init\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +4694:SkOpSegment::updateWindingReverse\28SkOpAngle\20const*\29 +4695:SkOpSegment::oppXor\28\29\20const +4696:SkOpSegment::moveMultiples\28\29 +4697:SkOpSegment::isXor\28\29\20const +4698:SkOpSegment::findNextWinding\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +4699:SkOpSegment::findNextOp\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\2c\20bool*\2c\20SkPathOp\2c\20int\2c\20int\29 +4700:SkOpSegment::computeSum\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpAngle::IncludeType\29 +4701:SkOpSegment::collapsed\28double\2c\20double\29\20const +4702:SkOpSegment::addExpanded\28double\2c\20SkOpSpanBase\20const*\2c\20bool*\29 +4703:SkOpSegment::activeAngle\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +4704:SkOpSegment::UseInnerWinding\28int\2c\20int\29 +4705:SkOpPtT::ptAlreadySeen\28SkOpPtT\20const*\29\20const +4706:SkOpPtT::contains\28SkOpSegment\20const*\2c\20double\29\20const +4707:SkOpGlobalState::SkOpGlobalState\28SkOpContourHead*\2c\20SkArenaAlloc*\29 +4708:SkOpEdgeBuilder::preFetch\28\29 +4709:SkOpEdgeBuilder::init\28\29 +4710:SkOpEdgeBuilder::finish\28\29 +4711:SkOpContourBuilder::addConic\28SkPoint*\2c\20float\29 +4712:SkOpContour::addQuad\28SkPoint*\29 +4713:SkOpContour::addCubic\28SkPoint*\29 +4714:SkOpContour::addConic\28SkPoint*\2c\20float\29 +4715:SkOpCoincidence::release\28SkOpSegment\20const*\29 +4716:SkOpCoincidence::mark\28\29 +4717:SkOpCoincidence::markCollapsed\28SkCoincidentSpans*\2c\20SkOpPtT*\29 +4718:SkOpCoincidence::fixUp\28SkCoincidentSpans*\2c\20SkOpPtT*\2c\20SkOpPtT\20const*\29 +4719:SkOpCoincidence::contains\28SkCoincidentSpans\20const*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\29\20const +4720:SkOpCoincidence::checkOverlap\28SkCoincidentSpans*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20SkTDArray*\29\20const +4721:SkOpCoincidence::addOrOverlap\28SkOpSegment*\2c\20SkOpSegment*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20bool*\29 +4722:SkOpAngle::tangentsDiverge\28SkOpAngle\20const*\2c\20double\29 +4723:SkOpAngle::setSpans\28\29 +4724:SkOpAngle::setSector\28\29 +4725:SkOpAngle::previous\28\29\20const +4726:SkOpAngle::midToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +4727:SkOpAngle::loopCount\28\29\20const +4728:SkOpAngle::loopContains\28SkOpAngle\20const*\29\20const +4729:SkOpAngle::lastMarked\28\29\20const +4730:SkOpAngle::endToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +4731:SkOpAngle::alignmentSameSide\28SkOpAngle\20const*\2c\20int*\29\20const +4732:SkOpAngle::after\28SkOpAngle*\29 +4733:SkOffsetSimplePolygon\28SkPoint\20const*\2c\20int\2c\20SkRect\20const&\2c\20float\2c\20SkTDArray*\2c\20SkTDArray*\29 +4734:SkNoDrawCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +4735:SkNoDrawCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +4736:SkMipmapBuilder::countLevels\28\29\20const +4737:SkMipmap::countLevels\28\29\20const +4738:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +4739:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +4740:SkMeshPriv::CpuBuffer::size\28\29\20const +4741:SkMeshPriv::CpuBuffer::peek\28\29\20const +4742:SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4743:SkMatrix::setRotate\28float\2c\20float\2c\20float\29 +4744:SkMatrix::mapRectScaleTranslate\28SkRect*\2c\20SkRect\20const&\29\20const +4745:SkMatrix::isFinite\28\29\20const +4746:SkMatrix::RotTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +4747:SkMaskSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +4748:SkMaskFilterBase::NinePatch::~NinePatch\28\29 +4749:SkMask::computeTotalImageSize\28\29\20const +4750:SkMakeResourceCacheSharedIDForBitmap\28unsigned\20int\29 +4751:SkMD5::finish\28\29 +4752:SkMD5::SkMD5\28\29 +4753:SkMD5::Digest::toHexString\28\29\20const +4754:SkM44::preTranslate\28float\2c\20float\2c\20float\29 +4755:SkM44::postTranslate\28float\2c\20float\2c\20float\29 +4756:SkLocalMatrixShader::type\28\29\20const +4757:SkLinearColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +4758:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\29 +4759:SkLatticeIter::SkLatticeIter\28SkCanvas::Lattice\20const&\2c\20SkRect\20const&\29 +4760:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::~SkLRUCache\28\29 +4761:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::reset\28\29 +4762:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::insert\28GrProgramDesc\20const&\2c\20std::__2::unique_ptr>\29 +4763:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29::$_0::operator\28\29\28int\2c\20SkRuntimeEffect::Options\20const&\29\20const +4764:SkJpegMetadataDecoderImpl::SkJpegMetadataDecoderImpl\28std::__2::vector>\29 +4765:SkJpegDecoder::IsJpeg\28void\20const*\2c\20unsigned\20long\29 +4766:SkJpegCodec::readRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20SkCodec::Options\20const&\29 +4767:SkJpegCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +4768:SkIsSimplePolygon\28SkPoint\20const*\2c\20int\29 +4769:SkIsConvexPolygon\28SkPoint\20const*\2c\20int\29 +4770:SkInvert4x4Matrix\28float\20const*\2c\20float*\29 +4771:SkInvert3x3Matrix\28float\20const*\2c\20float*\29 +4772:SkInvert2x2Matrix\28float\20const*\2c\20float*\29 +4773:SkIntersections::vertical\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4774:SkIntersections::vertical\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4775:SkIntersections::vertical\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4776:SkIntersections::vertical\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4777:SkIntersections::mostOutside\28double\2c\20double\2c\20SkDPoint\20const&\29\20const +4778:SkIntersections::intersect\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +4779:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDQuad\20const&\29 +4780:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +4781:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDConic\20const&\29 +4782:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDQuad\20const&\29 +4783:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDLine\20const&\29 +4784:SkIntersections::insertCoincident\28double\2c\20double\2c\20SkDPoint\20const&\29 +4785:SkIntersections::horizontal\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4786:SkIntersections::horizontal\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4787:SkIntersections::horizontal\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4788:SkIntersections::horizontal\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4789:SkImages::RasterFromPixmap\28SkPixmap\20const&\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +4790:SkImages::RasterFromData\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\29 +4791:SkImages::DeferredFromGenerator\28std::__2::unique_ptr>\29 +4792:SkImage_Raster::onPeekBitmap\28\29\20const +4793:SkImage_Lazy::~SkImage_Lazy\28\29.1 +4794:SkImage_Lazy::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +4795:SkImage_GaneshBase::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +4796:SkImage_Base::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +4797:SkImage_Base::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +4798:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_1::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +4799:SkImageInfo::validRowBytes\28unsigned\20long\29\20const +4800:SkImageInfo::MakeN32Premul\28int\2c\20int\29 +4801:SkImageGenerator::~SkImageGenerator\28\29.1 +4802:SkImageFilters::ColorFilter\28sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +4803:SkImageFilter_Base::getCTMCapability\28\29\20const +4804:SkImageFilterCache::Get\28SkImageFilterCache::CreateIfNecessary\29 +4805:SkImageFilter::computeFastBounds\28SkRect\20const&\29\20const +4806:SkImage::withMipmaps\28sk_sp\29\20const +4807:SkImage::peekPixels\28SkPixmap*\29\20const +4808:SkImage::height\28\29\20const +4809:SkIcoDecoder::IsIco\28void\20const*\2c\20unsigned\20long\29 +4810:SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4811:SkGradientBaseShader::~SkGradientBaseShader\28\29 +4812:SkGradientBaseShader::AppendGradientFillStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\29 +4813:SkGlyphRunListPainterCPU::SkGlyphRunListPainterCPU\28SkSurfaceProps\20const&\2c\20SkColorType\2c\20SkColorSpace*\29 +4814:SkGlyph::setImage\28SkArenaAlloc*\2c\20SkScalerContext*\29 +4815:SkGlyph::setDrawable\28SkArenaAlloc*\2c\20SkScalerContext*\29 +4816:SkGlyph::pathIsHairline\28\29\20const +4817:SkGlyph::mask\28SkPoint\29\20const +4818:SkGlyph::SkGlyph\28SkGlyph&&\29 +4819:SkGifDecoder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::SelectionPolicy\2c\20SkCodec::Result*\29 +4820:SkGifDecoder::IsGif\28void\20const*\2c\20unsigned\20long\29 +4821:SkGenerateDistanceFieldFromA8Image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20unsigned\20long\29 +4822:SkGaussFilter::SkGaussFilter\28double\29 +4823:SkFrameHolder::setAlphaAndRequiredFrame\28SkFrame*\29 +4824:SkFrame::fillIn\28SkCodec::FrameInfo*\2c\20bool\29\20const +4825:SkFontStyleSet_Custom::appendTypeface\28sk_sp\29 +4826:SkFontStyleSet_Custom::SkFontStyleSet_Custom\28SkString\29 +4827:SkFontScanner_FreeType::scanInstance\28SkStreamAsset*\2c\20int\2c\20int\2c\20SkString*\2c\20SkFontStyle*\2c\20bool*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29\20const +4828:SkFontScanner_FreeType::computeAxisValues\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\2c\20SkFontArguments::VariationPosition\2c\20int*\2c\20SkString\20const&\2c\20SkFontStyle*\2c\20SkFontArguments::VariationPosition::Coordinate\20const*\29 +4829:SkFontScanner_FreeType::SkFontScanner_FreeType\28\29 +4830:SkFontPriv::GetFontBounds\28SkFont\20const&\29 +4831:SkFontMgr::matchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +4832:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20int\29\20const +4833:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +4834:SkFontMgr::legacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +4835:SkFontDescriptor::SkFontStyleWidthForWidthAxisValue\28float\29 +4836:SkFontDescriptor::SkFontDescriptor\28\29 +4837:SkFont::setupForAsPaths\28SkPaint*\29 +4838:SkFont::setSkewX\28float\29 +4839:SkFont::setLinearMetrics\28bool\29 +4840:SkFont::setEmbolden\28bool\29 +4841:SkFont::operator==\28SkFont\20const&\29\20const +4842:SkFont::getPaths\28unsigned\20short\20const*\2c\20int\2c\20void\20\28*\29\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29\2c\20void*\29\20const +4843:SkFlattenable::RegisterFlattenablesIfNeeded\28\29 +4844:SkFlattenable::PrivateInitializer::InitEffects\28\29 +4845:SkFlattenable::NameToFactory\28char\20const*\29 +4846:SkFlattenable::FactoryToName\28sk_sp\20\28*\29\28SkReadBuffer&\29\29 +4847:SkFindQuadExtrema\28float\2c\20float\2c\20float\2c\20float*\29 +4848:SkFindCubicExtrema\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +4849:SkFactorySet::~SkFactorySet\28\29 +4850:SkEncoder::encodeRows\28int\29 +4851:SkEdgeClipper::clipQuad\28SkPoint\20const*\2c\20SkRect\20const&\29 +4852:SkEdgeClipper::ClipPath\28SkPath\20const&\2c\20SkRect\20const&\2c\20bool\2c\20void\20\28*\29\28SkEdgeClipper*\2c\20bool\2c\20void*\29\2c\20void*\29 +4853:SkEdgeBuilder::buildEdges\28SkPath\20const&\2c\20SkIRect\20const*\29 +4854:SkDynamicMemoryWStream::bytesWritten\28\29\20const +4855:SkDrawableList::newDrawableSnapshot\28\29 +4856:SkDrawTreatAAStrokeAsHairline\28float\2c\20SkMatrix\20const&\2c\20float*\29 +4857:SkDrawShadowMetrics::GetSpotShadowTransform\28SkPoint3\20const&\2c\20float\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkRect\20const&\2c\20bool\2c\20SkMatrix*\2c\20float*\29 +4858:SkDrawShadowMetrics::GetLocalBounds\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect*\29 +4859:SkDrawBase::drawPaint\28SkPaint\20const&\29\20const +4860:SkDrawBase::DrawToMask\28SkPath\20const&\2c\20SkIRect\20const&\2c\20SkMaskFilter\20const*\2c\20SkMatrix\20const*\2c\20SkMaskBuilder*\2c\20SkMaskBuilder::CreateMode\2c\20SkStrokeRec::InitStyle\29 +4861:SkDraw::drawSprite\28SkBitmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29\20const +4862:SkDiscretePathEffectImpl::flatten\28SkWriteBuffer&\29\20const +4863:SkDiscretePathEffect::Make\28float\2c\20float\2c\20unsigned\20int\29 +4864:SkDevice::getRelativeTransform\28SkDevice\20const&\29\20const +4865:SkDevice::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +4866:SkDevice::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +4867:SkDevice::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +4868:SkDevice::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +4869:SkDescriptor::addEntry\28unsigned\20int\2c\20unsigned\20long\2c\20void\20const*\29 +4870:SkDeque::Iter::next\28\29 +4871:SkDeque::Iter::Iter\28SkDeque\20const&\2c\20SkDeque::Iter::IterStart\29 +4872:SkData::MakeSubset\28SkData\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4873:SkDashPath::InternalFilter\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20float\20const*\2c\20int\2c\20float\2c\20int\2c\20float\2c\20float\2c\20SkDashPath::StrokeRecApplication\29 +4874:SkDashPath::CalcDashParameters\28float\2c\20float\20const*\2c\20int\2c\20float*\2c\20int*\2c\20float*\2c\20float*\29 +4875:SkDRect::setBounds\28SkDQuad\20const&\2c\20SkDQuad\20const&\2c\20double\2c\20double\29 +4876:SkDRect::setBounds\28SkDCubic\20const&\2c\20SkDCubic\20const&\2c\20double\2c\20double\29 +4877:SkDRect::setBounds\28SkDConic\20const&\2c\20SkDConic\20const&\2c\20double\2c\20double\29 +4878:SkDQuad::subDivide\28double\2c\20double\29\20const +4879:SkDQuad::monotonicInY\28\29\20const +4880:SkDQuad::isLinear\28int\2c\20int\29\20const +4881:SkDQuad::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4882:SkDPoint::approximatelyDEqual\28SkDPoint\20const&\29\20const +4883:SkDCurveSweep::setCurveHullSweep\28SkPath::Verb\29 +4884:SkDCurve::nearPoint\28SkPath::Verb\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29\20const +4885:SkDCubic::monotonicInX\28\29\20const +4886:SkDCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4887:SkDCubic::hullIntersects\28SkDPoint\20const*\2c\20int\2c\20bool*\29\20const +4888:SkDConic::subDivide\28double\2c\20double\29\20const +4889:SkCubics::RootsReal\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +4890:SkCubicEdge::setCubicWithoutUpdate\28SkPoint\20const*\2c\20int\2c\20bool\29 +4891:SkCubicClipper::ChopMonoAtY\28SkPoint\20const*\2c\20float\2c\20float*\29 +4892:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20SkArenaAlloc*\2c\20sk_sp\29 +4893:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkArenaAlloc*\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4894:SkContourMeasureIter::~SkContourMeasureIter\28\29 +4895:SkContourMeasureIter::SkContourMeasureIter\28SkPath\20const&\2c\20bool\2c\20float\29 +4896:SkContourMeasure::length\28\29\20const +4897:SkContourMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29\20const +4898:SkConic::BuildUnitArc\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRotationDirection\2c\20SkMatrix\20const*\2c\20SkConic*\29 +4899:SkComputeRadialSteps\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float*\2c\20float*\2c\20int*\29 +4900:SkCompressedDataSize\28SkTextureCompressionType\2c\20SkISize\2c\20skia_private::TArray*\2c\20bool\29 +4901:SkColorTypeValidateAlphaType\28SkColorType\2c\20SkAlphaType\2c\20SkAlphaType*\29 +4902:SkColorSpaceSingletonFactory::Make\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +4903:SkColorSpaceLuminance::Fetch\28float\29 +4904:SkColorSpace::toProfile\28skcms_ICCProfile*\29\20const +4905:SkColorSpace::makeLinearGamma\28\29\20const +4906:SkColorSpace::isSRGB\28\29\20const +4907:SkColorMatrix_RGB2YUV\28SkYUVColorSpace\2c\20float*\29 +4908:SkColorInfo::makeColorSpace\28sk_sp\29\20const +4909:SkColorFilterShader::SkColorFilterShader\28sk_sp\2c\20float\2c\20sk_sp\29 +4910:SkColor4fXformer::SkColor4fXformer\28SkGradientBaseShader\20const*\2c\20SkColorSpace*\2c\20bool\29 +4911:SkCoincidentSpans::extend\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +4912:SkCodecs::get_decoders_for_editing\28\29 +4913:SkCodec::outputScanline\28int\29\20const +4914:SkCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +4915:SkCodec::initializeColorXform\28SkImageInfo\20const&\2c\20SkEncodedInfo::Alpha\2c\20bool\29 +4916:SkChopQuadAtMaxCurvature\28SkPoint\20const*\2c\20SkPoint*\29 +4917:SkChopQuadAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +4918:SkChopMonoCubicAtX\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +4919:SkChopCubicAtInflections\28SkPoint\20const*\2c\20SkPoint*\29 +4920:SkCharToGlyphCache::findGlyphIndex\28int\29\20const +4921:SkCanvasPriv::WriteLattice\28void*\2c\20SkCanvas::Lattice\20const&\29 +4922:SkCanvasPriv::ReadLattice\28SkReadBuffer&\2c\20SkCanvas::Lattice*\29 +4923:SkCanvasPriv::GetDstClipAndMatrixCounts\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20int*\2c\20int*\29 +4924:SkCanvas::~SkCanvas\28\29 +4925:SkCanvas::skew\28float\2c\20float\29 +4926:SkCanvas::only_axis_aligned_saveBehind\28SkRect\20const*\29 +4927:SkCanvas::getDeviceClipBounds\28\29\20const +4928:SkCanvas::experimental_DrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +4929:SkCanvas::drawVertices\28sk_sp\20const&\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +4930:SkCanvas::drawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +4931:SkCanvas::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +4932:SkCanvas::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +4933:SkCanvas::drawImageNine\28SkImage\20const*\2c\20SkIRect\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +4934:SkCanvas::drawClippedToSaveBehind\28SkPaint\20const&\29 +4935:SkCanvas::drawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +4936:SkCanvas::didTranslate\28float\2c\20float\29 +4937:SkCanvas::clipShader\28sk_sp\2c\20SkClipOp\29 +4938:SkCanvas::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +4939:SkCanvas::SkCanvas\28sk_sp\29 +4940:SkCanvas::ImageSetEntry::ImageSetEntry\28\29 +4941:SkCachedData::SkCachedData\28void*\2c\20unsigned\20long\29 +4942:SkCachedData::SkCachedData\28unsigned\20long\2c\20SkDiscardableMemory*\29 +4943:SkCTMShader::isOpaque\28\29\20const +4944:SkBulkGlyphMetricsAndPaths::glyphs\28SkSpan\29 +4945:SkBmpStandardCodec::decodeIcoMask\28SkStream*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +4946:SkBmpMaskCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +4947:SkBmpDecoder::IsBmp\28void\20const*\2c\20unsigned\20long\29 +4948:SkBmpCodec::SkBmpCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +4949:SkBmpBaseCodec::SkBmpBaseCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +4950:SkBlurMask::ConvertRadiusToSigma\28float\29 +4951:SkBlurMask::ComputeBlurredScanline\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20unsigned\20int\2c\20float\29 +4952:SkBlurMask::BlurRect\28float\2c\20SkMaskBuilder*\2c\20SkRect\20const&\2c\20SkBlurStyle\2c\20SkIPoint*\2c\20SkMaskBuilder::CreateMode\29 +4953:SkBlockMemoryStream::getPosition\28\29\20const +4954:SkBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +4955:SkBlitter::Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4956:SkBlitter::ChooseSprite\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkArenaAlloc*\2c\20sk_sp\29 +4957:SkBlenderBase::affectsTransparentBlack\28\29\20const +4958:SkBlendShader::~SkBlendShader\28\29.1 +4959:SkBlendShader::~SkBlendShader\28\29 +4960:SkBitmapImageGetPixelRef\28SkImage\20const*\29 +4961:SkBitmapDevice::SkBitmapDevice\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\2c\20void*\29 +4962:SkBitmapDevice::Create\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\2c\20SkRasterHandleAllocator*\29 +4963:SkBitmapCache::Rec::install\28SkBitmap*\29 +4964:SkBitmapCache::Rec::diagnostic_only_getDiscardable\28\29\20const +4965:SkBitmapCache::Find\28SkBitmapCacheDesc\20const&\2c\20SkBitmap*\29 +4966:SkBitmapCache::Alloc\28SkBitmapCacheDesc\20const&\2c\20SkImageInfo\20const&\2c\20SkPixmap*\29 +4967:SkBitmapCache::Add\28std::__2::unique_ptr\2c\20SkBitmap*\29 +4968:SkBitmap::setPixelRef\28sk_sp\2c\20int\2c\20int\29 +4969:SkBitmap::setAlphaType\28SkAlphaType\29 +4970:SkBitmap::reset\28\29 +4971:SkBitmap::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +4972:SkBitmap::getAddr\28int\2c\20int\29\20const +4973:SkBitmap::allocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +4974:SkBitmap::HeapAllocator::allocPixelRef\28SkBitmap*\29 +4975:SkBinaryWriteBuffer::writeFlattenable\28SkFlattenable\20const*\29 +4976:SkBinaryWriteBuffer::writeColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +4977:SkBigPicture::SkBigPicture\28SkRect\20const&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20sk_sp\2c\20unsigned\20long\29 +4978:SkBezierQuad::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +4979:SkBezierCubic::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +4980:SkBasicEdgeBuilder::~SkBasicEdgeBuilder\28\29 +4981:SkBaseShadowTessellator::finishPathPolygon\28\29 +4982:SkBaseShadowTessellator::computeConvexShadow\28float\2c\20float\2c\20bool\29 +4983:SkBaseShadowTessellator::computeConcaveShadow\28float\2c\20float\29 +4984:SkBaseShadowTessellator::clipUmbraPoint\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\29 +4985:SkBaseShadowTessellator::addInnerPoint\28SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20int*\29 +4986:SkBaseShadowTessellator::addEdge\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20bool\2c\20bool\29 +4987:SkBaseShadowTessellator::addArc\28SkPoint\20const&\2c\20float\2c\20bool\29 +4988:SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint\28\29 +4989:SkAutoCanvasMatrixPaint::SkAutoCanvasMatrixPaint\28SkCanvas*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\2c\20SkRect\20const&\29 +4990:SkAndroidCodecAdapter::~SkAndroidCodecAdapter\28\29 +4991:SkAndroidCodecAdapter::SkAndroidCodecAdapter\28SkCodec*\29 +4992:SkAndroidCodec::~SkAndroidCodec\28\29 +4993:SkAndroidCodec::getAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const*\29 +4994:SkAndroidCodec::SkAndroidCodec\28SkCodec*\29 +4995:SkAnalyticEdge::update\28int\2c\20bool\29 +4996:SkAnalyticEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +4997:SkAnalyticEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4998:SkAAClip::operator=\28SkAAClip\20const&\29 +4999:SkAAClip::op\28SkIRect\20const&\2c\20SkClipOp\29 +5000:SkAAClip::Builder::flushRow\28bool\29 +5001:SkAAClip::Builder::finish\28SkAAClip*\29 +5002:SkAAClip::Builder::Blitter::~Blitter\28\29 +5003:SkAAClip::Builder::Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +5004:Sk2DPathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +5005:SimpleImageInfo*\20emscripten::internal::raw_constructor\28\29 +5006:SimpleFontStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle\20const&\29 +5007:SharedGenerator::isTextureGenerator\28\29 +5008:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29.1 +5009:RgnOper::addSpan\28int\2c\20int\20const*\2c\20int\20const*\29 +5010:PorterDuffXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +5011:PathSegment::init\28\29 +5012:PathAddVerbsPointsWeights\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +5013:ParseSingleImage +5014:ParseHeadersInternal +5015:PS_Conv_ASCIIHexDecode +5016:Op\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\2c\20SkPath*\29 +5017:OpAsWinding::markReverse\28Contour*\2c\20Contour*\29 +5018:OpAsWinding::getDirection\28Contour&\29 +5019:OpAsWinding::checkContainerChildren\28Contour*\2c\20Contour*\29 +5020:OffsetEdge::computeCrossingDistance\28OffsetEdge\20const*\29 +5021:OT::sbix::accelerator_t::get_png_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5022:OT::sbix::accelerator_t::choose_strike\28hb_font_t*\29\20const +5023:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5024:OT::hmtxvmtx::accelerator_t::get_advance_with_var_unscaled\28unsigned\20int\2c\20hb_font_t*\2c\20float*\29\20const +5025:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5026:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GPOS_impl::PosLookup\20const&\29 +5027:OT::hb_kern_machine_t::kern\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20bool\29\20const +5028:OT::hb_accelerate_subtables_context_t::return_t\20OT::Context::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5029:OT::hb_accelerate_subtables_context_t::return_t\20OT::ChainContext::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5030:OT::glyf_accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\29\20const +5031:OT::glyf_accelerator_t::get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29\20const +5032:OT::cmap::accelerator_t::get_variation_glyph\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +5033:OT::cff2::accelerator_templ_t>::accelerator_templ_t\28hb_face_t*\29 +5034:OT::cff2::accelerator_templ_t>::_fini\28\29 +5035:OT::cff1::lookup_expert_subset_charset_for_sid\28unsigned\20int\29 +5036:OT::cff1::lookup_expert_charset_for_sid\28unsigned\20int\29 +5037:OT::cff1::accelerator_templ_t>::~accelerator_templ_t\28\29 +5038:OT::cff1::accelerator_templ_t>::_fini\28\29 +5039:OT::TupleVariationData::unpack_points\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +5040:OT::SBIXStrike::get_glyph_blob\28unsigned\20int\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +5041:OT::RuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5042:OT::RuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +5043:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5044:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5045:OT::PaintTranslate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5046:OT::PaintSolid::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5047:OT::PaintSkewAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5048:OT::PaintSkew::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5049:OT::PaintScaleUniformAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5050:OT::PaintScaleUniform::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5051:OT::PaintScaleAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5052:OT::PaintScale::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5053:OT::PaintRotateAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5054:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5055:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5056:OT::Lookup::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +5057:OT::Layout::propagate_attachment_offsets\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5058:OT::Layout::GSUB_impl::MultipleSubstFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5059:OT::Layout::GSUB_impl::Ligature::apply\28OT::hb_ot_apply_context_t*\29\20const +5060:OT::Layout::GPOS_impl::reverse_cursive_minor_offset\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5061:OT::Layout::GPOS_impl::MarkRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5062:OT::Layout::GPOS_impl::MarkBasePosFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5063:OT::Layout::GPOS_impl::AnchorMatrix::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5064:OT::IndexSubtableRecord::get_image_data\28unsigned\20int\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5065:OT::FeatureVariationRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5066:OT::FeatureParams::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5067:OT::ContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5068:OT::ContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5069:OT::ContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5070:OT::ContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5071:OT::ColorStop::get_color_stop\28OT::hb_paint_context_t*\2c\20hb_color_stop_t*\2c\20unsigned\20int\2c\20OT::VarStoreInstancer\20const&\29\20const +5072:OT::ColorLine::static_get_extend\28hb_color_line_t*\2c\20void*\2c\20void*\29 +5073:OT::ChainRuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5074:OT::ChainRuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5075:OT::ChainRuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5076:OT::ChainContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5077:OT::ChainContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5078:OT::ChainContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5079:OT::ChainContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5080:OT::CBDT::accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5081:OT::Affine2x3::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5082:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29 +5083:Load_SBit_Png +5084:LineCubicIntersections::intersectRay\28double*\29 +5085:LineCubicIntersections::VerticalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5086:LineCubicIntersections::HorizontalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5087:Launch +5088:JpegDecoderMgr::returnFalse\28char\20const*\29 +5089:JpegDecoderMgr::getEncodedColor\28SkEncodedInfo::Color*\29 +5090:JSObjectFromLineMetrics\28skia::textlayout::LineMetrics&\29 +5091:JSObjectFromGlyphInfo\28skia::textlayout::Paragraph::GlyphInfo&\29 +5092:Ins_DELTAP +5093:HandleCoincidence\28SkOpContourHead*\2c\20SkOpCoincidence*\29 +5094:GrWritePixelsTask::~GrWritePixelsTask\28\29 +5095:GrWaitRenderTask::~GrWaitRenderTask\28\29 +5096:GrVertexBufferAllocPool::makeSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +5097:GrVertexBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5098:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20SkPathFillType\2c\20skgpu::VertexWriter\29\20const +5099:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20GrEagerVertexAllocator*\29\20const +5100:GrTriangulator::mergeEdgesBelow\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5101:GrTriangulator::mergeEdgesAbove\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5102:GrTriangulator::makeSortedVertex\28SkPoint\20const&\2c\20unsigned\20char\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29\20const +5103:GrTriangulator::makeEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\29 +5104:GrTriangulator::computeBisector\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\29\20const +5105:GrTriangulator::appendQuadraticToContour\28SkPoint\20const*\2c\20float\2c\20GrTriangulator::VertexList*\29\20const +5106:GrTriangulator::SortMesh\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +5107:GrTriangulator::FindEnclosingEdges\28GrTriangulator::Vertex\20const&\2c\20GrTriangulator::EdgeList\20const&\2c\20GrTriangulator::Edge**\2c\20GrTriangulator::Edge**\29 +5108:GrTriangulator::Edge::intersect\28GrTriangulator::Edge\20const&\2c\20SkPoint*\2c\20unsigned\20char*\29\20const +5109:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29 +5110:GrThreadSafeCache::~GrThreadSafeCache\28\29 +5111:GrThreadSafeCache::findVertsWithData\28skgpu::UniqueKey\20const&\29 +5112:GrThreadSafeCache::addVertsWithData\28skgpu::UniqueKey\20const&\2c\20sk_sp\2c\20bool\20\28*\29\28SkData*\2c\20SkData*\29\29 +5113:GrThreadSafeCache::Entry::set\28skgpu::UniqueKey\20const&\2c\20sk_sp\29 +5114:GrThreadSafeCache::CreateLazyView\28GrDirectContext*\2c\20GrColorType\2c\20SkISize\2c\20GrSurfaceOrigin\2c\20SkBackingFit\29 +5115:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29 +5116:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +5117:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28GrCaps\20const&\2c\20std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\2c\20std::__2::basic_string_view>\29 +5118:GrTextureProxyPriv::setDeferredUploader\28std::__2::unique_ptr>\29 +5119:GrTextureProxy::setUniqueKey\28GrProxyProvider*\2c\20skgpu::UniqueKey\20const&\29 +5120:GrTextureProxy::clearUniqueKey\28\29 +5121:GrTextureProxy::ProxiesAreCompatibleAsDynamicState\28GrSurfaceProxy\20const*\2c\20GrSurfaceProxy\20const*\29 +5122:GrTextureProxy::GrTextureProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29.1 +5123:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_1::operator\28\29\28int\2c\20GrSamplerState::WrapMode\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20float\29\20const +5124:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_2::operator\28\29\28GrTextureEffect::ShaderMode\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +5125:GrTexture::markMipmapsDirty\28\29 +5126:GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +5127:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29 +5128:GrSurfaceProxyPriv::exactify\28\29 +5129:GrSurfaceProxy::GrSurfaceProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5130:GrStyledShape::setInheritedKey\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +5131:GrStyledShape::asRRect\28SkRRect*\2c\20bool*\29\20const +5132:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20SkPaint\20const&\2c\20GrStyledShape::DoSimplify\29 +5133:GrStyle::~GrStyle\28\29 +5134:GrStyle::applyToPath\28SkPath*\2c\20SkStrokeRec::InitStyle*\2c\20SkPath\20const&\2c\20float\29\20const +5135:GrStyle::applyPathEffect\28SkPath*\2c\20SkStrokeRec*\2c\20SkPath\20const&\29\20const +5136:GrStencilSettings::SetClipBitSettings\28bool\29 +5137:GrStagingBufferManager::detachBuffers\28\29 +5138:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineStruct\28char\20const*\29 +5139:GrShape::simplify\28unsigned\20int\29 +5140:GrShape::conservativeContains\28SkRect\20const&\29\20const +5141:GrShape::closed\28\29\20const +5142:GrSWMaskHelper::toTextureView\28GrRecordingContext*\2c\20SkBackingFit\29 +5143:GrSWMaskHelper::drawShape\28GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5144:GrSWMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5145:GrResourceProvider::writePixels\28sk_sp\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\29\20const +5146:GrResourceProvider::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +5147:GrResourceProvider::prepareLevels\28GrBackendFormat\20const&\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\2c\20skia_private::AutoSTArray<14\2c\20GrMipLevel>*\2c\20skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>*\29\20const +5148:GrResourceProvider::getExactScratch\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5149:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5150:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20GrColorType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMipLevel\20const*\2c\20std::__2::basic_string_view>\29 +5151:GrResourceProvider::createApproxTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5152:GrResourceCache::~GrResourceCache\28\29 +5153:GrResourceCache::removeResource\28GrGpuResource*\29 +5154:GrResourceCache::processFreedGpuResources\28\29 +5155:GrResourceCache::insertResource\28GrGpuResource*\29 +5156:GrResourceCache::didChangeBudgetStatus\28GrGpuResource*\29 +5157:GrResourceAllocator::~GrResourceAllocator\28\29 +5158:GrResourceAllocator::planAssignment\28\29 +5159:GrResourceAllocator::expire\28unsigned\20int\29 +5160:GrRenderTask::makeSkippable\28\29 +5161:GrRenderTask::isInstantiated\28\29\20const +5162:GrRenderTarget::GrRenderTarget\28GrGpu*\2c\20SkISize\20const&\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20sk_sp\29 +5163:GrRecordingContext::init\28\29 +5164:GrRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\2c\20GrShaderCaps\20const&\29 +5165:GrQuadUtils::TessellationHelper::reset\28GrQuad\20const&\2c\20GrQuad\20const*\29 +5166:GrQuadUtils::TessellationHelper::outset\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad*\2c\20GrQuad*\29 +5167:GrQuadUtils::TessellationHelper::adjustDegenerateVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +5168:GrQuadUtils::TessellationHelper::OutsetRequest::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20GrQuad::Type\2c\20skvx::Vec<4\2c\20float>\20const&\29 +5169:GrQuadUtils::TessellationHelper::EdgeVectors::reset\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad::Type\29 +5170:GrQuadUtils::ClipToW0\28DrawQuad*\2c\20DrawQuad*\29 +5171:GrQuad::bounds\28\29\20const +5172:GrProxyProvider::~GrProxyProvider\28\29 +5173:GrProxyProvider::wrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\2c\20sk_sp\29 +5174:GrProxyProvider::removeUniqueKeyFromProxy\28GrTextureProxy*\29 +5175:GrProxyProvider::processInvalidUniqueKeyImpl\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\2c\20GrProxyProvider::RemoveTableEntry\29 +5176:GrProxyProvider::createLazyProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20GrInternalSurfaceFlags\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5177:GrProxyProvider::contextID\28\29\20const +5178:GrProxyProvider::adoptUniqueKeyFromSurface\28GrTextureProxy*\2c\20GrSurface\20const*\29 +5179:GrPixmapBase::clip\28SkISize\2c\20SkIPoint*\29 +5180:GrPixmap::GrPixmap\28GrImageInfo\2c\20sk_sp\2c\20unsigned\20long\29 +5181:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20sk_sp\2c\20GrAppliedHardClip\20const&\29 +5182:GrPersistentCacheUtils::GetType\28SkReadBuffer*\29 +5183:GrPathUtils::QuadUVMatrix::set\28SkPoint\20const*\29 +5184:GrPathTessellationShader::MakeStencilOnlyPipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedHardClip\20const&\2c\20GrPipeline::InputFlags\29 +5185:GrPaint::setCoverageSetOpXPFactory\28SkRegion::Op\2c\20bool\29 +5186:GrOvalOpFactory::MakeOvalOp\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\2c\20GrShaderCaps\20const*\29 +5187:GrOpsRenderPass::drawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +5188:GrOpsRenderPass::drawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5189:GrOpsRenderPass::drawIndexPattern\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5190:GrOpFlushState::reset\28\29 +5191:GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp\28GrOp\20const*\2c\20SkRect\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +5192:GrOpFlushState::addASAPUpload\28std::__2::function&\29>&&\29 +5193:GrOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5194:GrOp::combineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5195:GrOnFlushResourceProvider::instantiateProxy\28GrSurfaceProxy*\29 +5196:GrMeshDrawTarget::allocMesh\28\29 +5197:GrMeshDrawOp::PatternHelper::init\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +5198:GrMeshDrawOp::CombinedQuadCountWillOverflow\28GrAAType\2c\20bool\2c\20int\29 +5199:GrMemoryPool::allocate\28unsigned\20long\29 +5200:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::changed\28\29 +5201:GrIndexBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20int*\29 +5202:GrIndexBufferAllocPool::makeSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5203:GrImageInfo::refColorSpace\28\29\20const +5204:GrImageInfo::minRowBytes\28\29\20const +5205:GrImageInfo::makeDimensions\28SkISize\29\20const +5206:GrImageInfo::bpp\28\29\20const +5207:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20int\2c\20int\29 +5208:GrImageContext::abandonContext\28\29 +5209:GrGpuResource::makeBudgeted\28\29 +5210:GrGpuResource::getResourceName\28\29\20const +5211:GrGpuResource::abandon\28\29 +5212:GrGpuResource::CreateUniqueID\28\29 +5213:GrGpu::~GrGpu\28\29 +5214:GrGpu::regenerateMipMapLevels\28GrTexture*\29 +5215:GrGpu::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5216:GrGpu::createTextureCommon\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5217:GrGeometryProcessor::AttributeSet::addToKey\28skgpu::KeyBuilder*\29\20const +5218:GrGLVertexArray::invalidateCachedState\28\29 +5219:GrGLTextureParameters::invalidate\28\29 +5220:GrGLTexture::MakeWrapped\28GrGLGpu*\2c\20GrMipmapStatus\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrWrapCacheable\2c\20GrIOType\2c\20std::__2::basic_string_view>\29 +5221:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20skgpu::Budgeted\2c\20GrGLTexture::Desc\20const&\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5222:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5223:GrGLSLVaryingHandler::getFragDecls\28SkString*\2c\20SkString*\29\20const +5224:GrGLSLVaryingHandler::addAttribute\28GrShaderVar\20const&\29 +5225:GrGLSLUniformHandler::liftUniformToVertexShader\28GrProcessor\20const&\2c\20SkString\29 +5226:GrGLSLShaderBuilder::finalize\28unsigned\20int\29 +5227:GrGLSLShaderBuilder::emitFunction\28char\20const*\2c\20char\20const*\29 +5228:GrGLSLShaderBuilder::emitFunctionPrototype\28char\20const*\29 +5229:GrGLSLShaderBuilder::appendTextureLookupAndBlend\28char\20const*\2c\20SkBlendMode\2c\20GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +5230:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29::$_0::operator\28\29\28char\20const*\2c\20GrResourceHandle\2c\20skcms_TFType\29\20const +5231:GrGLSLShaderBuilder::addLayoutQualifier\28char\20const*\2c\20GrGLSLShaderBuilder::InterfaceQualifier\29 +5232:GrGLSLShaderBuilder::GrGLSLShaderBuilder\28GrGLSLProgramBuilder*\29 +5233:GrGLSLProgramDataManager::setRuntimeEffectUniforms\28SkSpan\2c\20SkSpan\20const>\2c\20SkSpan\2c\20void\20const*\29\20const +5234:GrGLSLProgramBuilder::~GrGLSLProgramBuilder\28\29 +5235:GrGLSLBlend::SetBlendModeUniformData\28GrGLSLProgramDataManager\20const&\2c\20GrResourceHandle\2c\20SkBlendMode\29 +5236:GrGLSLBlend::BlendExpression\28GrProcessor\20const*\2c\20GrGLSLUniformHandler*\2c\20GrResourceHandle*\2c\20char\20const*\2c\20char\20const*\2c\20SkBlendMode\29 +5237:GrGLRenderTarget::GrGLRenderTarget\28GrGLGpu*\2c\20SkISize\20const&\2c\20GrGLFormat\2c\20int\2c\20GrGLRenderTarget::IDs\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5238:GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5239:GrGLProgramDataManager::set2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5240:GrGLProgramBuilder::uniformHandler\28\29 +5241:GrGLProgramBuilder::PrecompileProgram\28GrDirectContext*\2c\20GrGLPrecompiledProgram*\2c\20SkData\20const&\29::$_0::operator\28\29\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29\20const +5242:GrGLProgramBuilder::CreateProgram\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrGLPrecompiledProgram\20const*\29 +5243:GrGLProgram::~GrGLProgram\28\29 +5244:GrGLMakeAssembledWebGLInterface\28void*\2c\20void\20\28*\20\28*\29\28void*\2c\20char\20const*\29\29\28\29\29 +5245:GrGLGpu::~GrGLGpu\28\29 +5246:GrGLGpu::uploadTexData\28SkISize\2c\20unsigned\20int\2c\20SkIRect\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\2c\20GrMipLevel\20const*\2c\20int\29 +5247:GrGLGpu::uploadCompressedTexData\28SkTextureCompressionType\2c\20GrGLFormat\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20unsigned\20int\2c\20void\20const*\2c\20unsigned\20long\29 +5248:GrGLGpu::uploadColorToTex\28GrGLFormat\2c\20SkISize\2c\20unsigned\20int\2c\20std::__2::array\2c\20unsigned\20int\29 +5249:GrGLGpu::readOrTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20int\29 +5250:GrGLGpu::getCompatibleStencilIndex\28GrGLFormat\29 +5251:GrGLGpu::deleteSync\28__GLsync*\29 +5252:GrGLGpu::createRenderTargetObjects\28GrGLTexture::Desc\20const&\2c\20int\2c\20GrGLRenderTarget::IDs*\29 +5253:GrGLGpu::createCompressedTexture2D\28SkISize\2c\20SkTextureCompressionType\2c\20GrGLFormat\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrGLTextureParameters::SamplerOverriddenState*\29 +5254:GrGLGpu::bindFramebuffer\28unsigned\20int\2c\20unsigned\20int\29 +5255:GrGLGpu::ProgramCache::reset\28\29 +5256:GrGLGpu::ProgramCache::findOrCreateProgramImpl\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrThreadSafePipelineBuilder::Stats::ProgramCacheResult*\29 +5257:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29 +5258:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\29 +5259:GrGLFormatIsCompressed\28GrGLFormat\29 +5260:GrGLFinishCallbacks::check\28\29 +5261:GrGLContext::~GrGLContext\28\29.1 +5262:GrGLContext::~GrGLContext\28\29 +5263:GrGLCaps::~GrGLCaps\28\29 +5264:GrGLCaps::getTexSubImageExternalFormatAndType\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5265:GrGLCaps::getTexSubImageDefaultFormatTypeAndColorType\28GrGLFormat\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20GrColorType*\29\20const +5266:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrGLFormat\29\20const +5267:GrGLCaps::formatSupportsTexStorage\28GrGLFormat\29\20const +5268:GrGLCaps::canCopyAsDraw\28GrGLFormat\2c\20bool\2c\20bool\29\20const +5269:GrGLCaps::canCopyAsBlit\28GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20SkRect\20const&\2c\20bool\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29\20const +5270:GrFragmentProcessor::~GrFragmentProcessor\28\29 +5271:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5272:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5273:GrFragmentProcessor::ProgramImpl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +5274:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::Make\28std::__2::unique_ptr>\29 +5275:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5276:GrFragmentProcessor::ClampOutput\28std::__2::unique_ptr>\29 +5277:GrFixedClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +5278:GrFixedClip::getConservativeBounds\28\29\20const +5279:GrFixedClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +5280:GrEagerDynamicVertexAllocator::unlock\28int\29 +5281:GrDynamicAtlas::readView\28GrCaps\20const&\29\20const +5282:GrDynamicAtlas::instantiate\28GrOnFlushResourceProvider*\2c\20sk_sp\29 +5283:GrDriverBugWorkarounds::GrDriverBugWorkarounds\28\29 +5284:GrDrawingManager::getLastRenderTask\28GrSurfaceProxy\20const*\29\20const +5285:GrDrawingManager::flush\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +5286:GrDrawOpAtlasConfig::atlasDimensions\28skgpu::MaskFormat\29\20const +5287:GrDrawOpAtlasConfig::GrDrawOpAtlasConfig\28int\2c\20unsigned\20long\29 +5288:GrDrawOpAtlas::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +5289:GrDrawOpAtlas::Make\28GrProxyProvider*\2c\20GrBackendFormat\20const&\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20int\2c\20int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20GrDrawOpAtlas::AllowMultitexturing\2c\20skgpu::PlotEvictionCallback*\2c\20std::__2::basic_string_view>\29 +5290:GrDistanceFieldA8TextGeoProc::onTextureSampler\28int\29\20const +5291:GrDistanceFieldA8TextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5292:GrDisableColorXPFactory::MakeXferProcessor\28\29 +5293:GrDirectContextPriv::validPMUPMConversionExists\28\29 +5294:GrDirectContext::~GrDirectContext\28\29 +5295:GrDirectContext::onGetSmallPathAtlasMgr\28\29 +5296:GrDirectContext::getResourceCacheLimits\28int*\2c\20unsigned\20long*\29\20const +5297:GrCopyRenderTask::~GrCopyRenderTask\28\29 +5298:GrCopyRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +5299:GrCopyBaseMipMapToView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Budgeted\29 +5300:GrContext_Base::threadSafeProxy\28\29 +5301:GrContext_Base::maxSurfaceSampleCountForColorType\28SkColorType\29\20const +5302:GrContext_Base::backend\28\29\20const +5303:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29 +5304:GrColorInfo::makeColorType\28GrColorType\29\20const +5305:GrColorInfo::isLinearlyBlended\28\29\20const +5306:GrColorFragmentProcessorAnalysis::GrColorFragmentProcessorAnalysis\28GrProcessorAnalysisColor\20const&\2c\20std::__2::unique_ptr>\20const*\2c\20int\29 +5307:GrClip::IsPixelAligned\28SkRect\20const&\29 +5308:GrCaps::surfaceSupportsWritePixels\28GrSurface\20const*\29\20const +5309:GrCaps::getDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\2c\20bool\29\20const +5310:GrCPixmap::GrCPixmap\28GrPixmap\20const&\29 +5311:GrBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\2c\20unsigned\20long*\29 +5312:GrBufferAllocPool::createBlock\28unsigned\20long\29 +5313:GrBufferAllocPool::CpuBufferCache::makeBuffer\28unsigned\20long\2c\20bool\29 +5314:GrBlurUtils::draw_shape_with_mask_filter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\29 +5315:GrBlurUtils::draw_mask\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrPaint&&\2c\20GrSurfaceProxyView\29 +5316:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29 +5317:GrBlurUtils::\28anonymous\20namespace\29::make_texture_effect\28GrCaps\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrSamplerState\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkISize\20const&\29 +5318:GrBitmapTextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5319:GrBicubicEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5320:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5321:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20std::__2::basic_string_view>\29 +5322:GrBackendTexture::operator=\28GrBackendTexture\20const&\29 +5323:GrBackendRenderTargets::MakeGL\28int\2c\20int\2c\20int\2c\20int\2c\20GrGLFramebufferInfo\20const&\29 +5324:GrBackendRenderTargets::GetGLFramebufferInfo\28GrBackendRenderTarget\20const&\2c\20GrGLFramebufferInfo*\29 +5325:GrBackendRenderTarget::~GrBackendRenderTarget\28\29 +5326:GrBackendRenderTarget::isProtected\28\29\20const +5327:GrBackendFormatBytesPerBlock\28GrBackendFormat\20const&\29 +5328:GrBackendFormat::makeTexture2D\28\29\20const +5329:GrBackendFormat::isMockStencilFormat\28\29\20const +5330:GrBackendFormat::MakeMock\28GrColorType\2c\20SkTextureCompressionType\2c\20bool\29 +5331:GrAuditTrail::opsCombined\28GrOp\20const*\2c\20GrOp\20const*\29 +5332:GrAttachment::ComputeSharedAttachmentUniqueKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::UniqueKey*\29 +5333:GrAtlasManager::~GrAtlasManager\28\29 +5334:GrAtlasManager::getViews\28skgpu::MaskFormat\2c\20unsigned\20int*\29 +5335:GrAtlasManager::freeAll\28\29 +5336:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::EventList*\2c\20GrTriangulator::Comparator\20const&\29\20const +5337:GrAATriangulator::collapseOverlapRegions\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\2c\20GrAATriangulator::EventComparator\29 +5338:GrAAConvexTessellator::quadTo\28SkPoint\20const*\29 +5339:GetVariationDesignPosition\28AutoFTAccess&\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20int\29 +5340:GetShapedLines\28skia::textlayout::Paragraph&\29 +5341:GetLargeValue +5342:FontMgrRunIterator::endOfCurrentRun\28\29\20const +5343:FontMgrRunIterator::atEnd\28\29\20const +5344:FinishRow +5345:FindUndone\28SkOpContourHead*\29 +5346:FT_Stream_Close +5347:FT_Sfnt_Table_Info +5348:FT_Render_Glyph_Internal +5349:FT_Remove_Module +5350:FT_Outline_Get_Orientation +5351:FT_Outline_EmboldenXY +5352:FT_New_Library +5353:FT_New_GlyphSlot +5354:FT_List_Iterate +5355:FT_List_Find +5356:FT_List_Finalize +5357:FT_GlyphLoader_CheckSubGlyphs +5358:FT_Get_Postscript_Name +5359:FT_Get_Paint_Layers +5360:FT_Get_PS_Font_Info +5361:FT_Get_Kerning +5362:FT_Get_Glyph_Name +5363:FT_Get_FSType_Flags +5364:FT_Get_Colorline_Stops +5365:FT_Get_Color_Glyph_ClipBox +5366:FT_Bitmap_Convert +5367:FT_Add_Default_Modules +5368:EllipticalRRectOp::~EllipticalRRectOp\28\29.1 +5369:EllipticalRRectOp::~EllipticalRRectOp\28\29 +5370:EllipticalRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5371:EllipticalRRectOp::RRect&\20skia_private::TArray::emplace_back\28EllipticalRRectOp::RRect&&\29 +5372:EllipticalRRectOp::EllipticalRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20SkPoint\2c\20bool\29 +5373:EllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5374:EllipseOp::EllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20EllipseOp::DeviceSpaceParams\20const&\2c\20SkStrokeRec\20const&\29 +5375:EllipseGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5376:DIEllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5377:DIEllipseOp::DIEllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20DIEllipseOp::DeviceSpaceParams\20const&\2c\20SkMatrix\20const&\29 +5378:CustomXP::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +5379:CustomXP::makeProgramImpl\28\29\20const::Impl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +5380:Cr_z_deflateReset +5381:Cr_z_deflate +5382:Cr_z_crc32_z +5383:CoverageSetOpXP::onIsEqual\28GrXferProcessor\20const&\29\20const +5384:CircularRRectOp::~CircularRRectOp\28\29.1 +5385:CircularRRectOp::~CircularRRectOp\28\29 +5386:CircularRRectOp::CircularRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +5387:CircleOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5388:CircleOp::CircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5389:CircleGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5390:CheckDecBuffer +5391:CFF::path_procs_t::rlineto\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +5392:CFF::dict_interpreter_t\2c\20CFF::interp_env_t>::interpret\28CFF::cff1_private_dict_values_base_t&\29 +5393:CFF::cff2_cs_opset_t::process_blend\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +5394:CFF::FDSelect3_4\2c\20OT::IntType>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5395:CFF::Charset::get_sid\28unsigned\20int\2c\20unsigned\20int\2c\20CFF::code_pair_t*\29\20const +5396:CFF::CFFIndex>::get_size\28\29\20const +5397:CFF::CFF2FDSelect::get_fd\28unsigned\20int\29\20const +5398:ButtCapDashedCircleOp::ButtCapDashedCircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5399:BuildHuffmanTable +5400:AutoLayerForImageFilter::addMaskFilterLayer\28SkRect\20const*\29 +5401:AsWinding\28SkPath\20const&\2c\20SkPath*\29 +5402:AngleWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20bool*\29 +5403:AddIntersectTs\28SkOpContour*\2c\20SkOpContour*\2c\20SkOpCoincidence*\29 +5404:ActiveEdgeList::replace\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +5405:ActiveEdgeList::remove\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5406:ActiveEdgeList::insert\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5407:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5408:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5409:AAT::TrackData::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5410:AAT::TrackData::get_tracking\28void\20const*\2c\20float\29\20const +5411:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5412:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5413:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5414:AAT::RearrangementSubtable::driver_context_t::transition\28AAT::StateTableDriver*\2c\20AAT::Entry\20const&\29 +5415:AAT::NoncontextualSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +5416:AAT::Lookup>::sanitize\28hb_sanitize_context_t*\29\20const +5417:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +5418:AAT::InsertionSubtable::driver_context_t::transition\28AAT::StateTableDriver::EntryData>*\2c\20AAT::Entry::EntryData>\20const&\29 +5419:ycck_cmyk_convert +5420:ycc_rgb_convert +5421:ycc_rgb565_convert +5422:ycc_rgb565D_convert +5423:xyzd50_to_lab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5424:xyzd50_to_hcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5425:wuffs_gif__decoder__tell_me_more +5426:wuffs_gif__decoder__set_report_metadata +5427:wuffs_gif__decoder__num_decoded_frame_configs +5428:wuffs_base__pixel_swizzler__xxxxxxxx__index_binary_alpha__src_over +5429:wuffs_base__pixel_swizzler__xxxxxxxx__index__src +5430:wuffs_base__pixel_swizzler__xxxx__index_binary_alpha__src_over +5431:wuffs_base__pixel_swizzler__xxxx__index__src +5432:wuffs_base__pixel_swizzler__xxx__index_binary_alpha__src_over +5433:wuffs_base__pixel_swizzler__xxx__index__src +5434:wuffs_base__pixel_swizzler__transparent_black_src_over +5435:wuffs_base__pixel_swizzler__transparent_black_src +5436:wuffs_base__pixel_swizzler__copy_1_1 +5437:wuffs_base__pixel_swizzler__bgr_565__index_binary_alpha__src_over +5438:wuffs_base__pixel_swizzler__bgr_565__index__src +5439:webgl_get_gl_proc\28void*\2c\20char\20const*\29 +5440:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\2c\20int&&\29 +5441:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +5442:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +5443:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +5444:void\20emscripten::internal::raw_destructor\28SkVertices::Builder*\29 +5445:void\20emscripten::internal::raw_destructor\28SkRuntimeEffect::TracedShader*\29 +5446:void\20emscripten::internal::raw_destructor\28SkPictureRecorder*\29 +5447:void\20emscripten::internal::raw_destructor\28SkPath*\29 +5448:void\20emscripten::internal::raw_destructor\28SkPaint*\29 +5449:void\20emscripten::internal::raw_destructor\28SkContourMeasureIter*\29 +5450:void\20emscripten::internal::raw_destructor\28SimpleImageInfo*\29 +5451:void\20emscripten::internal::MemberAccess::setWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleTextStyle*\29 +5452:void\20emscripten::internal::MemberAccess::setWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleStrutStyle*\29 +5453:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo&\2c\20sk_sp*\29 +5454:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::TypefaceFontProvider*\29 +5455:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::ParagraphBuilderImpl*\29 +5456:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::Paragraph*\29 +5457:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::FontCollection*\29 +5458:void\20const*\20emscripten::internal::getActualType\28SkVertices*\29 +5459:void\20const*\20emscripten::internal::getActualType\28SkVertices::Builder*\29 +5460:void\20const*\20emscripten::internal::getActualType\28SkTypeface*\29 +5461:void\20const*\20emscripten::internal::getActualType\28SkTextBlob*\29 +5462:void\20const*\20emscripten::internal::getActualType\28SkSurface*\29 +5463:void\20const*\20emscripten::internal::getActualType\28SkShader*\29 +5464:void\20const*\20emscripten::internal::getActualType\28SkSL::DebugTrace*\29 +5465:void\20const*\20emscripten::internal::getActualType\28SkRuntimeEffect*\29 +5466:void\20const*\20emscripten::internal::getActualType\28SkPictureRecorder*\29 +5467:void\20const*\20emscripten::internal::getActualType\28SkPicture*\29 +5468:void\20const*\20emscripten::internal::getActualType\28SkPathEffect*\29 +5469:void\20const*\20emscripten::internal::getActualType\28SkPath*\29 +5470:void\20const*\20emscripten::internal::getActualType\28SkPaint*\29 +5471:void\20const*\20emscripten::internal::getActualType\28SkMaskFilter*\29 +5472:void\20const*\20emscripten::internal::getActualType\28SkImageFilter*\29 +5473:void\20const*\20emscripten::internal::getActualType\28SkImage*\29 +5474:void\20const*\20emscripten::internal::getActualType\28SkFontMgr*\29 +5475:void\20const*\20emscripten::internal::getActualType\28SkFont*\29 +5476:void\20const*\20emscripten::internal::getActualType\28SkContourMeasureIter*\29 +5477:void\20const*\20emscripten::internal::getActualType\28SkContourMeasure*\29 +5478:void\20const*\20emscripten::internal::getActualType\28SkColorSpace*\29 +5479:void\20const*\20emscripten::internal::getActualType\28SkColorFilter*\29 +5480:void\20const*\20emscripten::internal::getActualType\28SkCanvas*\29 +5481:void\20const*\20emscripten::internal::getActualType\28SkBlender*\29 +5482:void\20const*\20emscripten::internal::getActualType\28SkAnimatedImage*\29 +5483:void\20const*\20emscripten::internal::getActualType\28GrDirectContext*\29 +5484:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5485:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5486:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5487:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5488:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5489:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5490:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5491:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5492:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5493:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5494:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5495:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5496:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5497:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5498:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5499:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5500:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5501:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5502:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5503:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5504:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5505:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5506:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5507:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5508:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5509:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5510:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5511:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5512:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5513:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5514:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5515:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5516:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5517:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5518:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5519:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5520:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5521:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5522:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5523:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5524:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5525:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5526:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5527:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5528:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5529:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5530:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5531:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5532:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5533:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5534:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5535:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5536:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5537:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5538:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5539:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5540:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5541:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5542:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5543:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5544:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5545:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5546:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5547:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5548:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5549:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5550:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5551:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5552:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5553:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5554:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5555:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5556:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5557:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5558:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5559:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5560:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5561:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5562:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5563:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5564:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5565:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5566:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5567:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5568:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5569:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5570:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5571:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5572:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5573:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5574:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5575:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5576:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5577:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5578:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5579:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5580:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5581:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5582:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5583:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5584:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5585:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5586:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5587:void\20SkSwizzler::SkipLeading8888ZerosThen<&sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5588:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5589:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5590:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5591:void\20SkSwizzler::SkipLeading8888ZerosThen<©\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5592:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +5593:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +5594:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29.1 +5595:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29 +5596:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29.1 +5597:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29 +5598:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +5599:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +5600:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +5601:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +5602:virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +5603:virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +5604:virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +5605:virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +5606:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29.1 +5607:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29 +5608:virtual\20thunk\20to\20GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +5609:virtual\20thunk\20to\20GrTextureProxy::instantiate\28GrResourceProvider*\29 +5610:virtual\20thunk\20to\20GrTextureProxy::getUniqueKey\28\29\20const +5611:virtual\20thunk\20to\20GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +5612:virtual\20thunk\20to\20GrTextureProxy::callbackDesc\28\29\20const +5613:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29\20const +5614:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29 +5615:virtual\20thunk\20to\20GrTexture::onGpuMemorySize\28\29\20const +5616:virtual\20thunk\20to\20GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +5617:virtual\20thunk\20to\20GrTexture::asTexture\28\29\20const +5618:virtual\20thunk\20to\20GrTexture::asTexture\28\29 +5619:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +5620:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +5621:virtual\20thunk\20to\20GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +5622:virtual\20thunk\20to\20GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +5623:virtual\20thunk\20to\20GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +5624:virtual\20thunk\20to\20GrRenderTargetProxy::callbackDesc\28\29\20const +5625:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29\20const +5626:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29 +5627:virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +5628:virtual\20thunk\20to\20GrRenderTarget::onAbandon\28\29 +5629:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29\20const +5630:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29 +5631:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +5632:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +5633:virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +5634:virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +5635:virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +5636:virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +5637:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29.1 +5638:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29 +5639:virtual\20thunk\20to\20GrGLTexture::onRelease\28\29 +5640:virtual\20thunk\20to\20GrGLTexture::onAbandon\28\29 +5641:virtual\20thunk\20to\20GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +5642:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +5643:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +5644:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::onFinalize\28\29 +5645:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +5646:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29 +5647:virtual\20thunk\20to\20GrGLRenderTarget::onRelease\28\29 +5648:virtual\20thunk\20to\20GrGLRenderTarget::onGpuMemorySize\28\29\20const +5649:virtual\20thunk\20to\20GrGLRenderTarget::onAbandon\28\29 +5650:virtual\20thunk\20to\20GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +5651:virtual\20thunk\20to\20GrGLRenderTarget::backendFormat\28\29\20const +5652:tt_vadvance_adjust +5653:tt_slot_init +5654:tt_size_select +5655:tt_size_reset_iterator +5656:tt_size_request +5657:tt_size_init +5658:tt_size_done +5659:tt_sbit_decoder_load_png +5660:tt_sbit_decoder_load_compound +5661:tt_sbit_decoder_load_byte_aligned +5662:tt_sbit_decoder_load_bit_aligned +5663:tt_property_set +5664:tt_property_get +5665:tt_name_ascii_from_utf16 +5666:tt_name_ascii_from_other +5667:tt_hadvance_adjust +5668:tt_glyph_load +5669:tt_get_var_blend +5670:tt_get_interface +5671:tt_get_glyph_name +5672:tt_get_cmap_info +5673:tt_get_advances +5674:tt_face_set_sbit_strike +5675:tt_face_load_strike_metrics +5676:tt_face_load_sbit_image +5677:tt_face_load_sbit +5678:tt_face_load_post +5679:tt_face_load_pclt +5680:tt_face_load_os2 +5681:tt_face_load_name +5682:tt_face_load_maxp +5683:tt_face_load_kern +5684:tt_face_load_hmtx +5685:tt_face_load_hhea +5686:tt_face_load_head +5687:tt_face_load_gasp +5688:tt_face_load_font_dir +5689:tt_face_load_cpal +5690:tt_face_load_colr +5691:tt_face_load_cmap +5692:tt_face_load_bhed +5693:tt_face_load_any +5694:tt_face_init +5695:tt_face_goto_table +5696:tt_face_get_paint_layers +5697:tt_face_get_paint +5698:tt_face_get_kerning +5699:tt_face_get_colr_layer +5700:tt_face_get_colr_glyph_paint +5701:tt_face_get_colorline_stops +5702:tt_face_get_color_glyph_clipbox +5703:tt_face_free_sbit +5704:tt_face_free_ps_names +5705:tt_face_free_name +5706:tt_face_free_cpal +5707:tt_face_free_colr +5708:tt_face_done +5709:tt_face_colr_blend_layer +5710:tt_driver_init +5711:tt_cvt_ready_iterator +5712:tt_cmap_unicode_init +5713:tt_cmap_unicode_char_next +5714:tt_cmap_unicode_char_index +5715:tt_cmap_init +5716:tt_cmap8_validate +5717:tt_cmap8_get_info +5718:tt_cmap8_char_next +5719:tt_cmap8_char_index +5720:tt_cmap6_validate +5721:tt_cmap6_get_info +5722:tt_cmap6_char_next +5723:tt_cmap6_char_index +5724:tt_cmap4_validate +5725:tt_cmap4_init +5726:tt_cmap4_get_info +5727:tt_cmap4_char_next +5728:tt_cmap4_char_index +5729:tt_cmap2_validate +5730:tt_cmap2_get_info +5731:tt_cmap2_char_next +5732:tt_cmap2_char_index +5733:tt_cmap14_variants +5734:tt_cmap14_variant_chars +5735:tt_cmap14_validate +5736:tt_cmap14_init +5737:tt_cmap14_get_info +5738:tt_cmap14_done +5739:tt_cmap14_char_variants +5740:tt_cmap14_char_var_isdefault +5741:tt_cmap14_char_var_index +5742:tt_cmap14_char_next +5743:tt_cmap13_validate +5744:tt_cmap13_get_info +5745:tt_cmap13_char_next +5746:tt_cmap13_char_index +5747:tt_cmap12_validate +5748:tt_cmap12_get_info +5749:tt_cmap12_char_next +5750:tt_cmap12_char_index +5751:tt_cmap10_validate +5752:tt_cmap10_get_info +5753:tt_cmap10_char_next +5754:tt_cmap10_char_index +5755:tt_cmap0_validate +5756:tt_cmap0_get_info +5757:tt_cmap0_char_next +5758:tt_cmap0_char_index +5759:transform_scanline_rgbA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5760:transform_scanline_memcpy\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5761:transform_scanline_bgra_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5762:transform_scanline_bgra_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5763:transform_scanline_bgra_10101010_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5764:transform_scanline_bgr_101010x_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5765:transform_scanline_bgr_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5766:transform_scanline_bgrA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5767:transform_scanline_RGBX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5768:transform_scanline_F32_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5769:transform_scanline_F32\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5770:transform_scanline_F16_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5771:transform_scanline_F16\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5772:transform_scanline_BGRX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5773:transform_scanline_BGRA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5774:transform_scanline_A8_to_GrayAlpha\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5775:transform_scanline_565\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5776:transform_scanline_444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5777:transform_scanline_4444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5778:transform_scanline_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5779:transform_scanline_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5780:transform_scanline_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5781:t2_hints_stems +5782:t2_hints_open +5783:t1_make_subfont +5784:t1_hints_stem +5785:t1_hints_open +5786:t1_decrypt +5787:t1_decoder_parse_metrics +5788:t1_decoder_init +5789:t1_decoder_done +5790:t1_cmap_unicode_init +5791:t1_cmap_unicode_char_next +5792:t1_cmap_unicode_char_index +5793:t1_cmap_std_done +5794:t1_cmap_std_char_next +5795:t1_cmap_std_char_index +5796:t1_cmap_standard_init +5797:t1_cmap_expert_init +5798:t1_cmap_custom_init +5799:t1_cmap_custom_done +5800:t1_cmap_custom_char_next +5801:t1_cmap_custom_char_index +5802:t1_builder_start_point +5803:t1_builder_init +5804:t1_builder_add_point1 +5805:t1_builder_add_point +5806:t1_builder_add_contour +5807:swizzle_small_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5808:swizzle_small_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5809:swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5810:swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5811:swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5812:swizzle_rgba16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5813:swizzle_rgba16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5814:swizzle_rgba16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5815:swizzle_rgba16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5816:swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5817:swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5818:swizzle_rgb_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5819:swizzle_rgb16_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5820:swizzle_rgb16_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5821:swizzle_rgb16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5822:swizzle_mask32_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5823:swizzle_mask32_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5824:swizzle_mask32_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5825:swizzle_mask32_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5826:swizzle_mask32_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5827:swizzle_mask32_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5828:swizzle_mask32_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5829:swizzle_mask24_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5830:swizzle_mask24_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5831:swizzle_mask24_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5832:swizzle_mask24_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5833:swizzle_mask24_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5834:swizzle_mask24_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5835:swizzle_mask24_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5836:swizzle_mask16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5837:swizzle_mask16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5838:swizzle_mask16_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5839:swizzle_mask16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5840:swizzle_mask16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5841:swizzle_mask16_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5842:swizzle_mask16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5843:swizzle_index_to_n32_skipZ\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5844:swizzle_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5845:swizzle_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5846:swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5847:swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5848:swizzle_grayalpha_to_a8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5849:swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5850:swizzle_gray_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5851:swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5852:swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5853:swizzle_cmyk_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5854:swizzle_bit_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5855:swizzle_bit_to_grayscale\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5856:swizzle_bit_to_f16\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5857:swizzle_bit_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5858:swizzle_bgr_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5859:string_read +5860:std::exception::what\28\29\20const +5861:std::bad_variant_access::what\28\29\20const +5862:std::bad_optional_access::what\28\29\20const +5863:std::bad_array_new_length::what\28\29\20const +5864:std::bad_alloc::what\28\29\20const +5865:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +5866:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +5867:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20tm\20const*\2c\20char\2c\20char\29\20const +5868:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20tm\20const*\2c\20char\2c\20char\29\20const +5869:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5870:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5871:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5872:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5873:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5874:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +5875:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5876:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5877:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5878:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5879:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5880:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +5881:std::__2::numpunct::~numpunct\28\29.1 +5882:std::__2::numpunct::do_truename\28\29\20const +5883:std::__2::numpunct::do_grouping\28\29\20const +5884:std::__2::numpunct::do_falsename\28\29\20const +5885:std::__2::numpunct::~numpunct\28\29.1 +5886:std::__2::numpunct::do_truename\28\29\20const +5887:std::__2::numpunct::do_thousands_sep\28\29\20const +5888:std::__2::numpunct::do_grouping\28\29\20const +5889:std::__2::numpunct::do_falsename\28\29\20const +5890:std::__2::numpunct::do_decimal_point\28\29\20const +5891:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20void\20const*\29\20const +5892:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\29\20const +5893:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\20long\29\20const +5894:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +5895:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +5896:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +5897:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20double\29\20const +5898:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20bool\29\20const +5899:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20void\20const*\29\20const +5900:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\29\20const +5901:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\20long\29\20const +5902:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +5903:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +5904:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +5905:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20double\29\20const +5906:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20bool\29\20const +5907:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +5908:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +5909:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +5910:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +5911:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +5912:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +5913:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +5914:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +5915:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +5916:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +5917:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +5918:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +5919:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +5920:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +5921:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +5922:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +5923:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +5924:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +5925:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +5926:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +5927:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +5928:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +5929:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +5930:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +5931:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +5932:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +5933:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +5934:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +5935:std::__2::locale::id::__init\28\29 +5936:std::__2::locale::__imp::~__imp\28\29.1 +5937:std::__2::ios_base::~ios_base\28\29.1 +5938:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +5939:std::__2::ctype::do_toupper\28wchar_t\29\20const +5940:std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +5941:std::__2::ctype::do_tolower\28wchar_t\29\20const +5942:std::__2::ctype::do_tolower\28wchar_t*\2c\20wchar_t\20const*\29\20const +5943:std::__2::ctype::do_scan_not\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5944:std::__2::ctype::do_scan_is\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5945:std::__2::ctype::do_narrow\28wchar_t\2c\20char\29\20const +5946:std::__2::ctype::do_narrow\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20char\2c\20char*\29\20const +5947:std::__2::ctype::do_is\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20unsigned\20long*\29\20const +5948:std::__2::ctype::do_is\28unsigned\20long\2c\20wchar_t\29\20const +5949:std::__2::ctype::~ctype\28\29.1 +5950:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +5951:std::__2::ctype::do_toupper\28char\29\20const +5952:std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +5953:std::__2::ctype::do_tolower\28char\29\20const +5954:std::__2::ctype::do_tolower\28char*\2c\20char\20const*\29\20const +5955:std::__2::ctype::do_narrow\28char\2c\20char\29\20const +5956:std::__2::ctype::do_narrow\28char\20const*\2c\20char\20const*\2c\20char\2c\20char*\29\20const +5957:std::__2::collate::do_transform\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5958:std::__2::collate::do_hash\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5959:std::__2::collate::do_compare\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5960:std::__2::collate::do_transform\28char\20const*\2c\20char\20const*\29\20const +5961:std::__2::collate::do_hash\28char\20const*\2c\20char\20const*\29\20const +5962:std::__2::collate::do_compare\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +5963:std::__2::codecvt::~codecvt\28\29.1 +5964:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +5965:std::__2::codecvt::do_out\28__mbstate_t&\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +5966:std::__2::codecvt::do_max_length\28\29\20const +5967:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +5968:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20wchar_t*\2c\20wchar_t*\2c\20wchar_t*&\29\20const +5969:std::__2::codecvt::do_encoding\28\29\20const +5970:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +5971:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29.1 +5972:std::__2::basic_stringbuf\2c\20std::__2::allocator>::underflow\28\29 +5973:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +5974:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +5975:std::__2::basic_stringbuf\2c\20std::__2::allocator>::pbackfail\28int\29 +5976:std::__2::basic_stringbuf\2c\20std::__2::allocator>::overflow\28int\29 +5977:std::__2::basic_streambuf>::~basic_streambuf\28\29.1 +5978:std::__2::basic_streambuf>::xsputn\28char\20const*\2c\20long\29 +5979:std::__2::basic_streambuf>::xsgetn\28char*\2c\20long\29 +5980:std::__2::basic_streambuf>::uflow\28\29 +5981:std::__2::basic_streambuf>::setbuf\28char*\2c\20long\29 +5982:std::__2::basic_streambuf>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +5983:std::__2::basic_streambuf>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +5984:std::__2::bad_function_call::what\28\29\20const +5985:std::__2::__time_get_c_storage::__x\28\29\20const +5986:std::__2::__time_get_c_storage::__weeks\28\29\20const +5987:std::__2::__time_get_c_storage::__r\28\29\20const +5988:std::__2::__time_get_c_storage::__months\28\29\20const +5989:std::__2::__time_get_c_storage::__c\28\29\20const +5990:std::__2::__time_get_c_storage::__am_pm\28\29\20const +5991:std::__2::__time_get_c_storage::__X\28\29\20const +5992:std::__2::__time_get_c_storage::__x\28\29\20const +5993:std::__2::__time_get_c_storage::__weeks\28\29\20const +5994:std::__2::__time_get_c_storage::__r\28\29\20const +5995:std::__2::__time_get_c_storage::__months\28\29\20const +5996:std::__2::__time_get_c_storage::__c\28\29\20const +5997:std::__2::__time_get_c_storage::__am_pm\28\29\20const +5998:std::__2::__time_get_c_storage::__X\28\29\20const +5999:std::__2::__shared_ptr_pointer<_IO_FILE*\2c\20void\20\28*\29\28_IO_FILE*\29\2c\20std::__2::allocator<_IO_FILE>>::__on_zero_shared\28\29 +6000:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6001:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6002:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6003:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6004:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6005:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6006:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6007:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6008:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6009:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6010:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6011:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6012:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6013:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6014:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6015:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6016:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6017:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6018:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6019:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6020:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6021:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6022:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6023:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6024:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6025:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6026:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6027:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6028:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6029:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6030:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6031:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6032:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6033:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6034:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6035:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6036:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6037:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6038:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6039:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6040:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6041:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6042:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6043:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6044:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6045:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6046:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6047:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6048:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6049:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6050:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6051:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6052:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6053:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6054:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6055:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6056:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6057:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6058:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6059:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6060:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6061:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6062:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6063:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6064:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6065:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6066:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6067:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6068:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6069:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6070:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6071:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6072:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6073:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6074:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29 +6075:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>*\29\20const +6076:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28\29\20const +6077:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::operator\28\29\28skia::textlayout::Cluster*&&\29 +6078:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28std::__2::__function::__base*\29\20const +6079:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28\29\20const +6080:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6081:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28\29\20const +6082:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20SkSpan&&\2c\20float&\2c\20unsigned\20long&&\2c\20unsigned\20char&&\29 +6083:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28std::__2::__function::__base\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>*\29\20const +6084:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +6085:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::operator\28\29\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29 +6086:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6087:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28\29\20const +6088:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::operator\28\29\28sk_sp&&\29 +6089:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6090:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28\29\20const +6091:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::operator\28\29\28skia::textlayout::SkRange&&\29 +6092:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6093:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28\29\20const +6094:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6095:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6096:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6097:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29.1 +6098:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29 +6099:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::operator\28\29\28void*&&\2c\20void\20const*&&\29 +6100:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy_deallocate\28\29 +6101:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy\28\29 +6102:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6103:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28\29\20const +6104:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6105:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6106:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6107:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6108:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6109:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6110:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6111:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6112:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6113:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6114:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6115:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6116:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6117:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6118:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6119:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6120:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6121:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6122:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*&&\2c\20int&&\2c\20int&&\2c\20skgpu::MaskFormat&&\2c\20int&&\29 +6123:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28std::__2::__function::__base\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>*\29\20const +6124:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28\29\20const +6125:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::operator\28\29\28GrSurfaceProxy\20const*&&\29 +6126:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6127:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28\29\20const +6128:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6129:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6130:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6131:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6132:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6133:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6134:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6135:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6136:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6137:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6138:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::operator\28\29\28\29 +6139:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6140:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28\29\20const +6141:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6142:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6143:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6144:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6145:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6146:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6147:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6148:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6149:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6150:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6151:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6152:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6153:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6154:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6155:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6156:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6157:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6158:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6159:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6160:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29.1 +6161:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29 +6162:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6163:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy_deallocate\28\29 +6164:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy\28\29 +6165:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6166:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6167:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6168:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6169:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6170:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::operator\28\29\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\29 +6171:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6172:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6173:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6174:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6175:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::operator\28\29\28SkVertices\20const*&&\2c\20SkBlendMode&&\2c\20SkPaint\20const&\2c\20float&&\2c\20float&&\2c\20bool&&\29 +6176:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6177:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28\29\20const +6178:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::operator\28\29\28SkIRect\20const&\29 +6179:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6180:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +6181:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::operator\28\29\28SkImageInfo\20const&\2c\20void*&&\2c\20unsigned\20long&&\2c\20SkCodec::Options\20const&\2c\20int&&\29 +6182:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6183:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28\29\20const +6184:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6185:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6186:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6187:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6188:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6189:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6190:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6191:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6192:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6193:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6194:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6195:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6196:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6197:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6198:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6199:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6200:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6201:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6202:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6203:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6204:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6205:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::operator\28\29\28GrTextureProxy*&&\2c\20SkIRect&&\2c\20GrColorType&&\2c\20void\20const*&&\2c\20unsigned\20long&&\29 +6206:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6207:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28\29\20const +6208:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::operator\28\29\28GrBackendTexture&&\29 +6209:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28std::__2::__function::__base*\29\20const +6210:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28\29\20const +6211:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6212:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6213:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6214:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6215:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6216:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6217:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6218:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6219:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6220:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6221:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6222:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6223:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6224:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6225:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6226:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6227:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6228:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6229:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6230:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6231:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6232:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6233:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6234:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6235:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6236:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6237:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +6238:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6239:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6240:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::operator\28\29\28int&&\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*&&\29 +6241:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6242:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +6243:start_pass_upsample +6244:start_pass_phuff_decoder +6245:start_pass_merged_upsample +6246:start_pass_main +6247:start_pass_huff_decoder +6248:start_pass_dpost +6249:start_pass_2_quant +6250:start_pass_1_quant +6251:start_pass +6252:start_output_pass +6253:start_input_pass.1 +6254:stackSave +6255:stackRestore +6256:srgb_to_hwb\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6257:srgb_to_hsl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6258:srcover_p\28unsigned\20char\2c\20unsigned\20char\29 +6259:sn_write +6260:sktext::gpu::post_purge_blob_message\28unsigned\20int\2c\20unsigned\20int\29 +6261:sktext::gpu::TextBlob::~TextBlob\28\29.1 +6262:sktext::gpu::TextBlob::~TextBlob\28\29 +6263:sktext::gpu::SubRun::~SubRun\28\29 +6264:sktext::gpu::SlugImpl::~SlugImpl\28\29.1 +6265:sktext::gpu::SlugImpl::~SlugImpl\28\29 +6266:sktext::gpu::SlugImpl::sourceBounds\28\29\20const +6267:sktext::gpu::SlugImpl::sourceBoundsWithOrigin\28\29\20const +6268:sktext::gpu::SlugImpl::doFlatten\28SkWriteBuffer&\29\20const +6269:sktext::gpu::SDFMaskFilterImpl::getTypeName\28\29\20const +6270:sktext::gpu::SDFMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +6271:sktext::gpu::SDFMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +6272:skip_variable +6273:skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +6274:skif::\28anonymous\20namespace\29::RasterBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6275:skif::\28anonymous\20namespace\29::RasterBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6276:skif::\28anonymous\20namespace\29::RasterBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6277:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +6278:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +6279:skif::\28anonymous\20namespace\29::GaneshBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6280:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +6281:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6282:skif::\28anonymous\20namespace\29::GaneshBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6283:skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +6284:skia_png_zalloc +6285:skia_png_write_rows +6286:skia_png_write_info +6287:skia_png_write_end +6288:skia_png_user_version_check +6289:skia_png_set_text +6290:skia_png_set_sRGB +6291:skia_png_set_keep_unknown_chunks +6292:skia_png_set_iCCP +6293:skia_png_set_gray_to_rgb +6294:skia_png_set_filter +6295:skia_png_set_filler +6296:skia_png_read_update_info +6297:skia_png_read_info +6298:skia_png_read_image +6299:skia_png_read_end +6300:skia_png_push_fill_buffer +6301:skia_png_process_data +6302:skia_png_default_write_data +6303:skia_png_default_read_data +6304:skia_png_default_flush +6305:skia_png_create_read_struct +6306:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29.1 +6307:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29 +6308:skia::textlayout::TypefaceFontStyleSet::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +6309:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29.1 +6310:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29 +6311:skia::textlayout::TypefaceFontProvider::onMatchFamily\28char\20const*\29\20const +6312:skia::textlayout::TypefaceFontProvider::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +6313:skia::textlayout::TypefaceFontProvider::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +6314:skia::textlayout::TypefaceFontProvider::onGetFamilyName\28int\2c\20SkString*\29\20const +6315:skia::textlayout::TypefaceFontProvider::onCreateStyleSet\28int\29\20const +6316:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29.1 +6317:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29 +6318:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6319:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6320:skia::textlayout::PositionWithAffinity*\20emscripten::internal::raw_constructor\28\29 +6321:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29.1 +6322:skia::textlayout::ParagraphImpl::visit\28std::__2::function\20const&\29 +6323:skia::textlayout::ParagraphImpl::updateTextAlign\28skia::textlayout::TextAlign\29 +6324:skia::textlayout::ParagraphImpl::updateForegroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6325:skia::textlayout::ParagraphImpl::updateFontSize\28unsigned\20long\2c\20unsigned\20long\2c\20float\29 +6326:skia::textlayout::ParagraphImpl::updateBackgroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6327:skia::textlayout::ParagraphImpl::unresolvedGlyphs\28\29 +6328:skia::textlayout::ParagraphImpl::unresolvedCodepoints\28\29 +6329:skia::textlayout::ParagraphImpl::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +6330:skia::textlayout::ParagraphImpl::paint\28SkCanvas*\2c\20float\2c\20float\29 +6331:skia::textlayout::ParagraphImpl::markDirty\28\29 +6332:skia::textlayout::ParagraphImpl::lineNumber\28\29 +6333:skia::textlayout::ParagraphImpl::layout\28float\29 +6334:skia::textlayout::ParagraphImpl::getWordBoundary\28unsigned\20int\29 +6335:skia::textlayout::ParagraphImpl::getRectsForRange\28unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +6336:skia::textlayout::ParagraphImpl::getRectsForPlaceholders\28\29 +6337:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6338:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29 +6339:skia::textlayout::ParagraphImpl::getLineNumberAt\28unsigned\20long\29\20const +6340:skia::textlayout::ParagraphImpl::getLineNumberAtUTF16Offset\28unsigned\20long\29 +6341:skia::textlayout::ParagraphImpl::getLineMetrics\28std::__2::vector>&\29 +6342:skia::textlayout::ParagraphImpl::getLineMetricsAt\28int\2c\20skia::textlayout::LineMetrics*\29\20const +6343:skia::textlayout::ParagraphImpl::getGlyphPositionAtCoordinate\28float\2c\20float\29 +6344:skia::textlayout::ParagraphImpl::getFonts\28\29\20const +6345:skia::textlayout::ParagraphImpl::getFontAt\28unsigned\20long\29\20const +6346:skia::textlayout::ParagraphImpl::getFontAtUTF16Offset\28unsigned\20long\29 +6347:skia::textlayout::ParagraphImpl::getClosestUTF16GlyphInfoAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +6348:skia::textlayout::ParagraphImpl::getClosestGlyphClusterAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +6349:skia::textlayout::ParagraphImpl::getActualTextRange\28int\2c\20bool\29\20const +6350:skia::textlayout::ParagraphImpl::extendedVisit\28std::__2::function\20const&\29 +6351:skia::textlayout::ParagraphImpl::containsEmoji\28SkTextBlob*\29 +6352:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29::$_0::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6353:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29 +6354:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29.1 +6355:skia::textlayout::ParagraphBuilderImpl::setWordsUtf8\28std::__2::vector>\29 +6356:skia::textlayout::ParagraphBuilderImpl::setWordsUtf16\28std::__2::vector>\29 +6357:skia::textlayout::ParagraphBuilderImpl::setLineBreaksUtf8\28std::__2::vector>\29 +6358:skia::textlayout::ParagraphBuilderImpl::setLineBreaksUtf16\28std::__2::vector>\29 +6359:skia::textlayout::ParagraphBuilderImpl::setGraphemeBreaksUtf8\28std::__2::vector>\29 +6360:skia::textlayout::ParagraphBuilderImpl::setGraphemeBreaksUtf16\28std::__2::vector>\29 +6361:skia::textlayout::ParagraphBuilderImpl::pushStyle\28skia::textlayout::TextStyle\20const&\29 +6362:skia::textlayout::ParagraphBuilderImpl::pop\28\29 +6363:skia::textlayout::ParagraphBuilderImpl::peekStyle\28\29 +6364:skia::textlayout::ParagraphBuilderImpl::getText\28\29 +6365:skia::textlayout::ParagraphBuilderImpl::getParagraphStyle\28\29\20const +6366:skia::textlayout::ParagraphBuilderImpl::getClientICUData\28\29\20const +6367:skia::textlayout::ParagraphBuilderImpl::addText\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +6368:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\2c\20unsigned\20long\29 +6369:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\29 +6370:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\29 +6371:skia::textlayout::ParagraphBuilderImpl::SetUnicode\28sk_sp\29 +6372:skia::textlayout::ParagraphBuilderImpl::Reset\28\29 +6373:skia::textlayout::ParagraphBuilderImpl::RequiresClientICU\28\29 +6374:skia::textlayout::ParagraphBuilderImpl::Build\28\29 +6375:skia::textlayout::Paragraph::getMinIntrinsicWidth\28\29 +6376:skia::textlayout::Paragraph::getMaxWidth\28\29 +6377:skia::textlayout::Paragraph::getMaxIntrinsicWidth\28\29 +6378:skia::textlayout::Paragraph::getLongestLine\28\29 +6379:skia::textlayout::Paragraph::getIdeographicBaseline\28\29 +6380:skia::textlayout::Paragraph::getHeight\28\29 +6381:skia::textlayout::Paragraph::getAlphabeticBaseline\28\29 +6382:skia::textlayout::Paragraph::didExceedMaxLines\28\29 +6383:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29.1 +6384:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29 +6385:skia::textlayout::OneLineShaper::~OneLineShaper\28\29.1 +6386:skia::textlayout::OneLineShaper::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6387:skia::textlayout::OneLineShaper::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6388:skia::textlayout::LangIterator::~LangIterator\28\29.1 +6389:skia::textlayout::LangIterator::~LangIterator\28\29 +6390:skia::textlayout::LangIterator::endOfCurrentRun\28\29\20const +6391:skia::textlayout::LangIterator::currentLanguage\28\29\20const +6392:skia::textlayout::LangIterator::consume\28\29 +6393:skia::textlayout::LangIterator::atEnd\28\29\20const +6394:skia::textlayout::FontCollection::~FontCollection\28\29.1 +6395:skia::textlayout::CanvasParagraphPainter::translate\28float\2c\20float\29 +6396:skia::textlayout::CanvasParagraphPainter::save\28\29 +6397:skia::textlayout::CanvasParagraphPainter::restore\28\29 +6398:skia::textlayout::CanvasParagraphPainter::drawTextShadow\28sk_sp\20const&\2c\20float\2c\20float\2c\20unsigned\20int\2c\20float\29 +6399:skia::textlayout::CanvasParagraphPainter::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20std::__2::variant\20const&\29 +6400:skia::textlayout::CanvasParagraphPainter::drawRect\28SkRect\20const&\2c\20std::__2::variant\20const&\29 +6401:skia::textlayout::CanvasParagraphPainter::drawPath\28SkPath\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +6402:skia::textlayout::CanvasParagraphPainter::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +6403:skia::textlayout::CanvasParagraphPainter::drawFilledRect\28SkRect\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +6404:skia::textlayout::CanvasParagraphPainter::clipRect\28SkRect\20const&\29 +6405:skgpu::tess::FixedCountWedges::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6406:skgpu::tess::FixedCountWedges::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6407:skgpu::tess::FixedCountStrokes::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6408:skgpu::tess::FixedCountCurves::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6409:skgpu::tess::FixedCountCurves::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6410:skgpu::ganesh::texture_proxy_view_from_planes\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20skgpu::Budgeted\29::$_0::__invoke\28void*\2c\20void*\29 +6411:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29.1 +6412:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::visitProxies\28std::__2::function\20const&\29\20const +6413:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6414:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6415:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6416:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::name\28\29\20const +6417:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::fixedFunctionFlags\28\29\20const +6418:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6419:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::name\28\29\20const +6420:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6421:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6422:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6423:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +6424:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29.1 +6425:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29 +6426:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::name\28\29\20const +6427:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6428:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6429:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29.1 +6430:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29 +6431:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +6432:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6433:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6434:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6435:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6436:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::name\28\29\20const +6437:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::fixedFunctionFlags\28\29\20const +6438:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6439:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29.1 +6440:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29 +6441:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +6442:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6443:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6444:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6445:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6446:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::name\28\29\20const +6447:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6448:skgpu::ganesh::TriangulatingPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6449:skgpu::ganesh::TriangulatingPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6450:skgpu::ganesh::TriangulatingPathRenderer::name\28\29\20const +6451:skgpu::ganesh::TessellationPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +6452:skgpu::ganesh::TessellationPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +6453:skgpu::ganesh::TessellationPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6454:skgpu::ganesh::TessellationPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6455:skgpu::ganesh::TessellationPathRenderer::name\28\29\20const +6456:skgpu::ganesh::SurfaceDrawContext::willReplaceOpsTask\28skgpu::ganesh::OpsTask*\2c\20skgpu::ganesh::OpsTask*\29 +6457:skgpu::ganesh::SurfaceDrawContext::canDiscardPreviousOpsOnFullClear\28\29\20const +6458:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29.1 +6459:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +6460:skgpu::ganesh::SurfaceContext::asyncReadPixels\28GrDirectContext*\2c\20SkIRect\20const&\2c\20SkColorType\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +6461:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29.1 +6462:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29 +6463:skgpu::ganesh::StrokeTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +6464:skgpu::ganesh::StrokeTessellateOp::usesStencil\28\29\20const +6465:skgpu::ganesh::StrokeTessellateOp::onPrepare\28GrOpFlushState*\29 +6466:skgpu::ganesh::StrokeTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6467:skgpu::ganesh::StrokeTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6468:skgpu::ganesh::StrokeTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6469:skgpu::ganesh::StrokeTessellateOp::name\28\29\20const +6470:skgpu::ganesh::StrokeTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6471:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29.1 +6472:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29 +6473:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +6474:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::programInfo\28\29 +6475:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6476:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6477:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6478:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::name\28\29\20const +6479:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6480:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29.1 +6481:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29 +6482:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +6483:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::programInfo\28\29 +6484:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6485:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6486:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6487:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6488:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::name\28\29\20const +6489:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6490:skgpu::ganesh::StencilClip::~StencilClip\28\29.1 +6491:skgpu::ganesh::StencilClip::~StencilClip\28\29 +6492:skgpu::ganesh::StencilClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +6493:skgpu::ganesh::StencilClip::getConservativeBounds\28\29\20const +6494:skgpu::ganesh::StencilClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +6495:skgpu::ganesh::SoftwarePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6496:skgpu::ganesh::SoftwarePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6497:skgpu::ganesh::SoftwarePathRenderer::name\28\29\20const +6498:skgpu::ganesh::SmallPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6499:skgpu::ganesh::SmallPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6500:skgpu::ganesh::SmallPathRenderer::name\28\29\20const +6501:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +6502:skgpu::ganesh::SmallPathAtlasMgr::preFlush\28GrOnFlushResourceProvider*\29 +6503:skgpu::ganesh::SmallPathAtlasMgr::postFlush\28skgpu::AtlasToken\29 +6504:skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +6505:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29.1 +6506:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29 +6507:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::visitProxies\28std::__2::function\20const&\29\20const +6508:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::programInfo\28\29 +6509:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +6510:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6511:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6512:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6513:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::name\28\29\20const +6514:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6515:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_quad_generic\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6516:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6517:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6518:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6519:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6520:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6521:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6522:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6523:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29.1 +6524:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29 +6525:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::onTextureSampler\28int\29\20const +6526:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::name\28\29\20const +6527:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6528:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6529:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6530:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +6531:skgpu::ganesh::PathWedgeTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +6532:skgpu::ganesh::PathTessellator::~PathTessellator\28\29 +6533:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29.1 +6534:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29 +6535:skgpu::ganesh::PathTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +6536:skgpu::ganesh::PathTessellateOp::usesStencil\28\29\20const +6537:skgpu::ganesh::PathTessellateOp::onPrepare\28GrOpFlushState*\29 +6538:skgpu::ganesh::PathTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6539:skgpu::ganesh::PathTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6540:skgpu::ganesh::PathTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6541:skgpu::ganesh::PathTessellateOp::name\28\29\20const +6542:skgpu::ganesh::PathTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6543:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29.1 +6544:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29 +6545:skgpu::ganesh::PathStencilCoverOp::visitProxies\28std::__2::function\20const&\29\20const +6546:skgpu::ganesh::PathStencilCoverOp::onPrepare\28GrOpFlushState*\29 +6547:skgpu::ganesh::PathStencilCoverOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6548:skgpu::ganesh::PathStencilCoverOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6549:skgpu::ganesh::PathStencilCoverOp::name\28\29\20const +6550:skgpu::ganesh::PathStencilCoverOp::fixedFunctionFlags\28\29\20const +6551:skgpu::ganesh::PathStencilCoverOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6552:skgpu::ganesh::PathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +6553:skgpu::ganesh::PathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +6554:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29.1 +6555:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29 +6556:skgpu::ganesh::PathInnerTriangulateOp::visitProxies\28std::__2::function\20const&\29\20const +6557:skgpu::ganesh::PathInnerTriangulateOp::onPrepare\28GrOpFlushState*\29 +6558:skgpu::ganesh::PathInnerTriangulateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6559:skgpu::ganesh::PathInnerTriangulateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6560:skgpu::ganesh::PathInnerTriangulateOp::name\28\29\20const +6561:skgpu::ganesh::PathInnerTriangulateOp::fixedFunctionFlags\28\29\20const +6562:skgpu::ganesh::PathInnerTriangulateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6563:skgpu::ganesh::PathCurveTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +6564:skgpu::ganesh::OpsTask::~OpsTask\28\29.1 +6565:skgpu::ganesh::OpsTask::onPrepare\28GrOpFlushState*\29 +6566:skgpu::ganesh::OpsTask::onPrePrepare\28GrRecordingContext*\29 +6567:skgpu::ganesh::OpsTask::onMakeSkippable\28\29 +6568:skgpu::ganesh::OpsTask::onIsUsed\28GrSurfaceProxy*\29\20const +6569:skgpu::ganesh::OpsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +6570:skgpu::ganesh::OpsTask::endFlush\28GrDrawingManager*\29 +6571:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29.1 +6572:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::visitProxies\28std::__2::function\20const&\29\20const +6573:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6574:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6575:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6576:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6577:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::name\28\29\20const +6578:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6579:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29.1 +6580:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29 +6581:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::onTextureSampler\28int\29\20const +6582:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::name\28\29\20const +6583:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6584:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6585:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6586:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +6587:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29.1 +6588:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29 +6589:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +6590:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::programInfo\28\29 +6591:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +6592:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6593:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6594:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6595:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::name\28\29\20const +6596:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6597:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::clipToShape\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkClipOp\2c\20SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\29 +6598:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29.1 +6599:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29 +6600:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::name\28\29\20const +6601:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6602:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +6603:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6604:skgpu::ganesh::DrawableOp::~DrawableOp\28\29.1 +6605:skgpu::ganesh::DrawableOp::~DrawableOp\28\29 +6606:skgpu::ganesh::DrawableOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6607:skgpu::ganesh::DrawableOp::name\28\29\20const +6608:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29.1 +6609:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29 +6610:skgpu::ganesh::DrawAtlasPathOp::visitProxies\28std::__2::function\20const&\29\20const +6611:skgpu::ganesh::DrawAtlasPathOp::onPrepare\28GrOpFlushState*\29 +6612:skgpu::ganesh::DrawAtlasPathOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6613:skgpu::ganesh::DrawAtlasPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6614:skgpu::ganesh::DrawAtlasPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6615:skgpu::ganesh::DrawAtlasPathOp::name\28\29\20const +6616:skgpu::ganesh::DrawAtlasPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6617:skgpu::ganesh::Device::~Device\28\29.1 +6618:skgpu::ganesh::Device::~Device\28\29 +6619:skgpu::ganesh::Device::strikeDeviceInfo\28\29\20const +6620:skgpu::ganesh::Device::snapSpecial\28SkIRect\20const&\2c\20bool\29 +6621:skgpu::ganesh::Device::snapSpecialScaled\28SkIRect\20const&\2c\20SkISize\20const&\29 +6622:skgpu::ganesh::Device::replaceClip\28SkIRect\20const&\29 +6623:skgpu::ganesh::Device::recordingContext\28\29\20const +6624:skgpu::ganesh::Device::pushClipStack\28\29 +6625:skgpu::ganesh::Device::popClipStack\28\29 +6626:skgpu::ganesh::Device::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +6627:skgpu::ganesh::Device::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +6628:skgpu::ganesh::Device::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +6629:skgpu::ganesh::Device::onClipShader\28sk_sp\29 +6630:skgpu::ganesh::Device::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +6631:skgpu::ganesh::Device::makeSpecial\28SkImage\20const*\29 +6632:skgpu::ganesh::Device::isClipWideOpen\28\29\20const +6633:skgpu::ganesh::Device::isClipRect\28\29\20const +6634:skgpu::ganesh::Device::isClipEmpty\28\29\20const +6635:skgpu::ganesh::Device::isClipAntiAliased\28\29\20const +6636:skgpu::ganesh::Device::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +6637:skgpu::ganesh::Device::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +6638:skgpu::ganesh::Device::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +6639:skgpu::ganesh::Device::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +6640:skgpu::ganesh::Device::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +6641:skgpu::ganesh::Device::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +6642:skgpu::ganesh::Device::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +6643:skgpu::ganesh::Device::drawPaint\28SkPaint\20const&\29 +6644:skgpu::ganesh::Device::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +6645:skgpu::ganesh::Device::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +6646:skgpu::ganesh::Device::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +6647:skgpu::ganesh::Device::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +6648:skgpu::ganesh::Device::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +6649:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +6650:skgpu::ganesh::Device::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +6651:skgpu::ganesh::Device::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +6652:skgpu::ganesh::Device::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +6653:skgpu::ganesh::Device::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +6654:skgpu::ganesh::Device::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +6655:skgpu::ganesh::Device::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +6656:skgpu::ganesh::Device::devClipBounds\28\29\20const +6657:skgpu::ganesh::Device::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +6658:skgpu::ganesh::Device::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +6659:skgpu::ganesh::Device::convertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +6660:skgpu::ganesh::Device::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +6661:skgpu::ganesh::Device::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +6662:skgpu::ganesh::Device::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +6663:skgpu::ganesh::Device::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +6664:skgpu::ganesh::Device::android_utils_clipWithStencil\28\29 +6665:skgpu::ganesh::DefaultPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +6666:skgpu::ganesh::DefaultPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +6667:skgpu::ganesh::DefaultPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6668:skgpu::ganesh::DefaultPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6669:skgpu::ganesh::DefaultPathRenderer::name\28\29\20const +6670:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::name\28\29\20const +6671:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6672:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6673:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6674:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::name\28\29\20const +6675:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6676:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6677:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6678:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29.1 +6679:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29 +6680:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::visitProxies\28std::__2::function\20const&\29\20const +6681:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::programInfo\28\29 +6682:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +6683:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6684:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6685:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6686:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::name\28\29\20const +6687:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::fixedFunctionFlags\28\29\20const +6688:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6689:skgpu::ganesh::DashLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6690:skgpu::ganesh::DashLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6691:skgpu::ganesh::DashLinePathRenderer::name\28\29\20const +6692:skgpu::ganesh::ClipStack::~ClipStack\28\29.1 +6693:skgpu::ganesh::ClipStack::preApply\28SkRect\20const&\2c\20GrAA\29\20const +6694:skgpu::ganesh::ClipStack::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +6695:skgpu::ganesh::ClearOp::~ClearOp\28\29 +6696:skgpu::ganesh::ClearOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6697:skgpu::ganesh::ClearOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6698:skgpu::ganesh::ClearOp::name\28\29\20const +6699:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29.1 +6700:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29 +6701:skgpu::ganesh::AtlasTextOp::visitProxies\28std::__2::function\20const&\29\20const +6702:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6703:skgpu::ganesh::AtlasTextOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6704:skgpu::ganesh::AtlasTextOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6705:skgpu::ganesh::AtlasTextOp::name\28\29\20const +6706:skgpu::ganesh::AtlasTextOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6707:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29.1 +6708:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29 +6709:skgpu::ganesh::AtlasRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +6710:skgpu::ganesh::AtlasRenderTask::onExecute\28GrOpFlushState*\29 +6711:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +6712:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +6713:skgpu::ganesh::AtlasPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6714:skgpu::ganesh::AtlasPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6715:skgpu::ganesh::AtlasPathRenderer::name\28\29\20const +6716:skgpu::ganesh::AALinearizingConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6717:skgpu::ganesh::AALinearizingConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6718:skgpu::ganesh::AALinearizingConvexPathRenderer::name\28\29\20const +6719:skgpu::ganesh::AAHairLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6720:skgpu::ganesh::AAHairLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6721:skgpu::ganesh::AAHairLinePathRenderer::name\28\29\20const +6722:skgpu::ganesh::AAConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6723:skgpu::ganesh::AAConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6724:skgpu::ganesh::AAConvexPathRenderer::name\28\29\20const +6725:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29.1 +6726:skgpu::TAsyncReadResult::rowBytes\28int\29\20const +6727:skgpu::TAsyncReadResult::data\28int\29\20const +6728:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29.1 +6729:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29 +6730:skgpu::StringKeyBuilder::appendComment\28char\20const*\29 +6731:skgpu::StringKeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +6732:skgpu::ShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\2c\20bool\29 +6733:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29.1 +6734:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29 +6735:skgpu::RectanizerSkyline::reset\28\29 +6736:skgpu::RectanizerSkyline::percentFull\28\29\20const +6737:skgpu::RectanizerPow2::reset\28\29 +6738:skgpu::RectanizerPow2::percentFull\28\29\20const +6739:skgpu::RectanizerPow2::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +6740:skgpu::Plot::~Plot\28\29.1 +6741:skgpu::Plot::~Plot\28\29 +6742:skgpu::KeyBuilder::~KeyBuilder\28\29 +6743:skgpu::KeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +6744:skgpu::DefaultShaderErrorHandler\28\29::DefaultShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\29 +6745:sk_write_fn\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20long\29 +6746:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo\20const&\29 +6747:sk_read_user_chunk\28png_struct_def*\2c\20png_unknown_chunk_t*\29 +6748:sk_mmap_releaseproc\28void\20const*\2c\20void*\29 +6749:sk_ft_stream_io\28FT_StreamRec_*\2c\20unsigned\20long\2c\20unsigned\20char*\2c\20unsigned\20long\29 +6750:sk_ft_realloc\28FT_MemoryRec_*\2c\20long\2c\20long\2c\20void*\29 +6751:sk_ft_free\28FT_MemoryRec_*\2c\20void*\29 +6752:sk_ft_alloc\28FT_MemoryRec_*\2c\20long\29 +6753:sk_dataref_releaseproc\28void\20const*\2c\20void*\29 +6754:sfnt_table_info +6755:sfnt_stream_close +6756:sfnt_load_face +6757:sfnt_is_postscript +6758:sfnt_is_alphanumeric +6759:sfnt_init_face +6760:sfnt_get_ps_name +6761:sfnt_get_name_index +6762:sfnt_get_name_id +6763:sfnt_get_interface +6764:sfnt_get_glyph_name +6765:sfnt_get_charset_id +6766:sfnt_done_face +6767:setup_syllables_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6768:setup_syllables_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6769:setup_syllables_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6770:setup_syllables_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6771:setup_masks_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6772:setup_masks_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6773:setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6774:setup_masks_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6775:setup_masks_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6776:setup_masks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6777:sep_upsample +6778:self_destruct +6779:save_marker +6780:sample8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6781:sample6\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6782:sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6783:sample2\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6784:sample1\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6785:rgb_rgb_convert +6786:rgb_rgb565_convert +6787:rgb_rgb565D_convert +6788:rgb_gray_convert +6789:reverse_hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +6790:reverse_hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +6791:reset_marker_reader +6792:reset_input_controller +6793:reset_error_mgr +6794:request_virt_sarray +6795:request_virt_barray +6796:reorder_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6797:reorder_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6798:reorder_marks_hebrew\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6799:reorder_marks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6800:reorder_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6801:release_data\28void*\2c\20void*\29 +6802:record_stch\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6803:record_rphf_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6804:record_pref_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6805:realize_virt_arrays +6806:read_restart_marker +6807:read_markers +6808:read_data_from_FT_Stream +6809:quantize_ord_dither +6810:quantize_fs_dither +6811:quantize3_ord_dither +6812:psnames_get_service +6813:pshinter_get_t2_funcs +6814:pshinter_get_t1_funcs +6815:pshinter_get_globals_funcs +6816:psh_globals_new +6817:psh_globals_destroy +6818:psaux_get_glyph_name +6819:ps_table_release +6820:ps_table_new +6821:ps_table_done +6822:ps_table_add +6823:ps_property_set +6824:ps_property_get +6825:ps_parser_to_token_array +6826:ps_parser_to_int +6827:ps_parser_to_fixed_array +6828:ps_parser_to_fixed +6829:ps_parser_to_coord_array +6830:ps_parser_to_bytes +6831:ps_parser_skip_spaces +6832:ps_parser_load_field_table +6833:ps_parser_init +6834:ps_hints_t2mask +6835:ps_hints_t2counter +6836:ps_hints_t1stem3 +6837:ps_hints_t1reset +6838:ps_hints_close +6839:ps_hints_apply +6840:ps_hinter_init +6841:ps_hinter_done +6842:ps_get_standard_strings +6843:ps_get_macintosh_name +6844:ps_decoder_init +6845:ps_builder_init +6846:progress_monitor\28jpeg_common_struct*\29 +6847:process_data_simple_main +6848:process_data_crank_post +6849:process_data_context_main +6850:prescan_quantize +6851:preprocess_text_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6852:preprocess_text_thai\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6853:preprocess_text_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6854:preprocess_text_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6855:prepare_for_output_pass +6856:premultiply_data +6857:premul_rgb\28SkRGBA4f<\28SkAlphaType\292>\29 +6858:premul_polar\28SkRGBA4f<\28SkAlphaType\292>\29 +6859:postprocess_glyphs_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6860:post_process_prepass +6861:post_process_2pass +6862:post_process_1pass +6863:portable::xy_to_unit_angle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6864:portable::xy_to_radius\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6865:portable::xy_to_2pt_conical_well_behaved\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6866:portable::xy_to_2pt_conical_strip\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6867:portable::xy_to_2pt_conical_smaller\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6868:portable::xy_to_2pt_conical_greater\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6869:portable::xy_to_2pt_conical_focal_on_circle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6870:portable::xor_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6871:portable::white_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6872:portable::unpremul_polar\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6873:portable::unpremul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6874:portable::uniform_color_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6875:portable::trace_var\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6876:portable::trace_scope\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6877:portable::trace_line\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6878:portable::trace_exit\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6879:portable::trace_enter\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6880:portable::tan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6881:portable::swizzle_copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6882:portable::swizzle_copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6883:portable::swizzle_copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6884:portable::swizzle_copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6885:portable::swizzle_copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6886:portable::swizzle_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6887:portable::swizzle_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6888:portable::swizzle_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6889:portable::swizzle_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6890:portable::swizzle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6891:portable::swap_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6892:portable::swap_rb_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6893:portable::swap_rb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6894:portable::sub_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6895:portable::sub_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6896:portable::sub_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6897:portable::sub_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6898:portable::sub_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6899:portable::sub_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6900:portable::sub_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6901:portable::sub_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6902:portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6903:portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6904:portable::store_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6905:portable::store_src_a\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6906:portable::store_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6907:portable::store_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6908:portable::store_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6909:portable::store_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6910:portable::store_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6911:portable::store_r8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6912:portable::store_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6913:portable::store_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6914:portable::store_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6915:portable::store_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6916:portable::store_device_xy01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6917:portable::store_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6918:portable::store_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6919:portable::store_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6920:portable::store_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6921:portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6922:portable::store_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6923:portable::store_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6924:portable::store_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6925:portable::store_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6926:portable::store_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6927:portable::store_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6928:portable::store_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6929:portable::start_pipeline\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkRasterPipelineStage*\2c\20SkSpan\2c\20unsigned\20char*\29 +6930:portable::stack_rewind\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6931:portable::stack_checkpoint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6932:portable::srcover_rgba_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6933:portable::srcover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6934:portable::srcout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6935:portable::srcin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6936:portable::srcatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6937:portable::sqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6938:portable::splat_4_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6939:portable::splat_3_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6940:portable::splat_2_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6941:portable::softlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6942:portable::smoothstep_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6943:portable::sin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6944:portable::shuffle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6945:portable::set_base_pointer\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6946:portable::seed_shader\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6947:portable::screen\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6948:portable::scale_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6949:portable::scale_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6950:portable::scale_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6951:portable::scale_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6952:portable::saturation\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6953:portable::rgb_to_hsl\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6954:portable::repeat_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6955:portable::repeat_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6956:portable::repeat_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6957:portable::refract_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6958:portable::reenable_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6959:portable::rect_memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +6960:portable::rect_memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20long\2c\20int\29 +6961:portable::rect_memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\2c\20unsigned\20long\2c\20int\29 +6962:portable::premul_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6963:portable::premul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6964:portable::pow_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6965:portable::plus_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6966:portable::perlin_noise\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6967:portable::parametric\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6968:portable::overlay\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6969:portable::negate_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6970:portable::multiply\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6971:portable::mul_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6972:portable::mul_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6973:portable::mul_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6974:portable::mul_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6975:portable::mul_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6976:portable::mul_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6977:portable::mul_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6978:portable::mul_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6979:portable::mul_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6980:portable::mul_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6981:portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6982:portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6983:portable::move_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6984:portable::move_dst_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6985:portable::modulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6986:portable::mod_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6987:portable::mod_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6988:portable::mod_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6989:portable::mod_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6990:portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6991:portable::mix_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6992:portable::mix_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6993:portable::mix_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6994:portable::mix_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6995:portable::mix_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6996:portable::mix_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6997:portable::mix_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6998:portable::mix_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6999:portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7000:portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7001:portable::mirror_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7002:portable::mirror_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7003:portable::mirror_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7004:portable::mipmap_linear_update\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7005:portable::mipmap_linear_init\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7006:portable::mipmap_linear_finish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7007:portable::min_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7008:portable::min_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7009:portable::min_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7010:portable::min_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7011:portable::min_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7012:portable::min_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7013:portable::min_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7014:portable::min_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7015:portable::min_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7016:portable::min_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7017:portable::min_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7018:portable::min_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7019:portable::min_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7020:portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7021:portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7022:portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7023:portable::merge_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7024:portable::merge_inv_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7025:portable::merge_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7026:portable::memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\29 +7027:portable::memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\29 +7028:portable::max_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7029:portable::max_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7030:portable::max_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7031:portable::max_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7032:portable::max_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7033:portable::max_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7034:portable::max_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7035:portable::max_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7036:portable::max_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7037:portable::max_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7038:portable::max_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7039:portable::max_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7040:portable::max_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7041:portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7042:portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7043:portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7044:portable::matrix_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7045:portable::matrix_scale_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7046:portable::matrix_perspective\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7047:portable::matrix_multiply_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7048:portable::matrix_multiply_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7049:portable::matrix_multiply_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7050:portable::matrix_4x5\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7051:portable::matrix_4x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7052:portable::matrix_3x4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7053:portable::matrix_3x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7054:portable::matrix_2x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7055:portable::mask_off_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7056:portable::mask_off_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7057:portable::mask_2pt_conical_nan\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7058:portable::mask_2pt_conical_degenerates\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7059:portable::luminosity\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7060:portable::log_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7061:portable::log2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7062:portable::load_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7063:portable::load_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7064:portable::load_rgf16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7065:portable::load_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7066:portable::load_rg88_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7067:portable::load_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7068:portable::load_rg1616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7069:portable::load_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7070:portable::load_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7071:portable::load_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7072:portable::load_f32_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7073:portable::load_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7074:portable::load_f16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7075:portable::load_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7076:portable::load_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7077:portable::load_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7078:portable::load_af16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7079:portable::load_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7080:portable::load_a8_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7081:portable::load_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7082:portable::load_a16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7083:portable::load_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7084:portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7085:portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7086:portable::load_565_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7087:portable::load_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7088:portable::load_4444_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7089:portable::load_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7090:portable::load_16161616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7091:portable::load_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7092:portable::load_10x6_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7093:portable::load_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7094:portable::load_1010102_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7095:portable::load_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7096:portable::load_1010102_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7097:portable::load_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7098:portable::load_10101010_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7099:portable::load_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7100:portable::lighten\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7101:portable::lerp_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7102:portable::lerp_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7103:portable::lerp_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7104:portable::lerp_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7105:portable::just_return\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7106:portable::jump\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7107:portable::invsqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7108:portable::invsqrt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7109:portable::invsqrt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7110:portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7111:portable::inverted_CMYK_to_RGB1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7112:portable::inverted_CMYK_to_BGR1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7113:portable::inverse_mat4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7114:portable::inverse_mat3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7115:portable::inverse_mat2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7116:portable::init_lane_masks\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7117:portable::hue\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7118:portable::hsl_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7119:portable::hardlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7120:portable::gray_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7121:portable::grayA_to_rgbA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7122:portable::grayA_to_RGBA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7123:portable::gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7124:portable::gauss_a_to_rgba\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7125:portable::gather_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7126:portable::gather_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7127:portable::gather_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7128:portable::gather_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7129:portable::gather_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7130:portable::gather_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7131:portable::gather_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7132:portable::gather_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7133:portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7134:portable::gather_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7135:portable::gather_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7136:portable::gather_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7137:portable::gather_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7138:portable::gather_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7139:portable::gather_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7140:portable::gather_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7141:portable::gamma_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7142:portable::force_opaque_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7143:portable::force_opaque\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7144:portable::floor_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7145:portable::floor_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7146:portable::floor_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7147:portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7148:portable::exp_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7149:portable::exp2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7150:portable::exclusion\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7151:portable::exchange_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7152:portable::evenly_spaced_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7153:portable::evenly_spaced_2_stop_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7154:portable::emboss\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7155:portable::dstover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7156:portable::dstout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7157:portable::dstin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7158:portable::dstatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7159:portable::dot_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7160:portable::dot_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7161:portable::dot_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7162:portable::div_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7163:portable::div_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7164:portable::div_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7165:portable::div_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7166:portable::div_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7167:portable::div_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7168:portable::div_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7169:portable::div_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7170:portable::div_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7171:portable::div_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7172:portable::div_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7173:portable::div_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7174:portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7175:portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7176:portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7177:portable::dither\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7178:portable::difference\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7179:portable::decal_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7180:portable::decal_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7181:portable::decal_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7182:portable::darken\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7183:portable::css_oklab_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7184:portable::css_oklab_gamut_map_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7185:portable::css_lab_to_xyz\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7186:portable::css_hwb_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7187:portable::css_hsl_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7188:portable::css_hcl_to_lab\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7189:portable::cos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7190:portable::copy_uniform\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7191:portable::copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7192:portable::copy_slot_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7193:portable::copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7194:portable::copy_immutable_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7195:portable::copy_constant\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7196:portable::copy_4_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7197:portable::copy_4_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7198:portable::copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7199:portable::copy_4_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7200:portable::copy_3_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7201:portable::copy_3_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7202:portable::copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7203:portable::copy_3_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7204:portable::copy_2_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7205:portable::copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7206:portable::continue_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7207:portable::colordodge\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7208:portable::colorburn\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7209:portable::color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7210:portable::cmpne_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7211:portable::cmpne_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7212:portable::cmpne_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7213:portable::cmpne_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7214:portable::cmpne_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7215:portable::cmpne_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7216:portable::cmpne_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7217:portable::cmpne_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7218:portable::cmpne_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7219:portable::cmpne_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7220:portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7221:portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7222:portable::cmplt_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7223:portable::cmplt_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7224:portable::cmplt_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7225:portable::cmplt_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7226:portable::cmplt_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7227:portable::cmplt_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7228:portable::cmplt_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7229:portable::cmplt_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7230:portable::cmplt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7231:portable::cmplt_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7232:portable::cmplt_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7233:portable::cmplt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7234:portable::cmplt_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7235:portable::cmplt_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7236:portable::cmplt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7237:portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7238:portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7239:portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7240:portable::cmple_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7241:portable::cmple_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7242:portable::cmple_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7243:portable::cmple_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7244:portable::cmple_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7245:portable::cmple_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7246:portable::cmple_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7247:portable::cmple_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7248:portable::cmple_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7249:portable::cmple_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7250:portable::cmple_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7251:portable::cmple_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7252:portable::cmple_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7253:portable::cmple_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7254:portable::cmple_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7255:portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7256:portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7257:portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7258:portable::cmpeq_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7259:portable::cmpeq_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7260:portable::cmpeq_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7261:portable::cmpeq_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7262:portable::cmpeq_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7263:portable::cmpeq_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7264:portable::cmpeq_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7265:portable::cmpeq_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7266:portable::cmpeq_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7267:portable::cmpeq_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7268:portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7269:portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7270:portable::clear\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7271:portable::clamp_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7272:portable::clamp_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7273:portable::clamp_gamut\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7274:portable::clamp_01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7275:portable::ceil_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7276:portable::ceil_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7277:portable::ceil_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7278:portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7279:portable::cast_to_uint_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7280:portable::cast_to_uint_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7281:portable::cast_to_uint_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7282:portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7283:portable::cast_to_int_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7284:portable::cast_to_int_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7285:portable::cast_to_int_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7286:portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7287:portable::cast_to_float_from_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7288:portable::cast_to_float_from_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7289:portable::cast_to_float_from_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7290:portable::cast_to_float_from_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7291:portable::cast_to_float_from_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7292:portable::cast_to_float_from_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7293:portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7294:portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7295:portable::case_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7296:portable::callback\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7297:portable::byte_tables\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7298:portable::bt709_luminance_or_luma_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7299:portable::bt709_luminance_or_luma_to_alpha\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7300:portable::branch_if_no_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7301:portable::branch_if_no_active_lanes_eq\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7302:portable::branch_if_any_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7303:portable::branch_if_all_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7304:portable::blit_row_s32a_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +7305:portable::black_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7306:portable::bitwise_xor_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7307:portable::bitwise_xor_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7308:portable::bitwise_xor_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7309:portable::bitwise_xor_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7310:portable::bitwise_xor_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7311:portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7312:portable::bitwise_or_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7313:portable::bitwise_or_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7314:portable::bitwise_or_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7315:portable::bitwise_or_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7316:portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7317:portable::bitwise_and_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7318:portable::bitwise_and_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7319:portable::bitwise_and_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7320:portable::bitwise_and_imm_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7321:portable::bitwise_and_imm_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7322:portable::bitwise_and_imm_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7323:portable::bitwise_and_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7324:portable::bitwise_and_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7325:portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7326:portable::bilinear_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7327:portable::bilinear_py\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7328:portable::bilinear_px\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7329:portable::bilinear_ny\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7330:portable::bilinear_nx\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7331:portable::bilerp_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7332:portable::bicubic_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7333:portable::bicubic_p3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7334:portable::bicubic_p3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7335:portable::bicubic_p1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7336:portable::bicubic_p1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7337:portable::bicubic_n3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7338:portable::bicubic_n3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7339:portable::bicubic_n1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7340:portable::bicubic_n1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7341:portable::bicubic_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7342:portable::atan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7343:portable::atan2_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7344:portable::asin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7345:portable::alter_2pt_conical_unswap\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7346:portable::alter_2pt_conical_compensate_focal\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7347:portable::alpha_to_red_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7348:portable::alpha_to_red\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7349:portable::alpha_to_gray_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7350:portable::alpha_to_gray\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7351:portable::add_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7352:portable::add_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7353:portable::add_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7354:portable::add_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7355:portable::add_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7356:portable::add_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7357:portable::add_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7358:portable::add_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7359:portable::add_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7360:portable::add_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7361:portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7362:portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7363:portable::acos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7364:portable::accumulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7365:portable::abs_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7366:portable::abs_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7367:portable::abs_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7368:portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7369:portable::RGB_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7370:portable::RGB_to_BGR1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7371:portable::RGBA_to_rgbA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7372:portable::RGBA_to_bgrA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7373:portable::RGBA_to_BGRA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7374:portable::PQish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7375:portable::HLGish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7376:portable::HLGinvish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7377:pop_arg_long_double +7378:png_read_filter_row_up +7379:png_read_filter_row_sub +7380:png_read_filter_row_paeth_multibyte_pixel +7381:png_read_filter_row_paeth_1byte_pixel +7382:png_read_filter_row_avg +7383:pass2_no_dither +7384:pass2_fs_dither +7385:override_features_khmer\28hb_ot_shape_planner_t*\29 +7386:override_features_indic\28hb_ot_shape_planner_t*\29 +7387:override_features_hangul\28hb_ot_shape_planner_t*\29 +7388:output_message\28jpeg_common_struct*\29 +7389:output_message +7390:null_convert +7391:noop_upsample +7392:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +7393:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +7394:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +7395:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +7396:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.3 +7397:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.2 +7398:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +7399:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +7400:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +7401:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +7402:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +7403:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +7404:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +7405:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +7406:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +7407:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +7408:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +7409:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +7410:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +7411:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +7412:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +7413:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +7414:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +7415:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +7416:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +7417:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +7418:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +7419:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +7420:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +7421:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +7422:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +7423:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +7424:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +7425:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +7426:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +7427:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +7428:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +7429:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +7430:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29.1 +7431:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29 +7432:non-virtual\20thunk\20to\20GrOpFlushState::writeView\28\29\20const +7433:non-virtual\20thunk\20to\20GrOpFlushState::usesMSAASurface\28\29\20const +7434:non-virtual\20thunk\20to\20GrOpFlushState::threadSafeCache\28\29\20const +7435:non-virtual\20thunk\20to\20GrOpFlushState::strikeCache\28\29\20const +7436:non-virtual\20thunk\20to\20GrOpFlushState::smallPathAtlasManager\28\29\20const +7437:non-virtual\20thunk\20to\20GrOpFlushState::sampledProxyArray\28\29 +7438:non-virtual\20thunk\20to\20GrOpFlushState::rtProxy\28\29\20const +7439:non-virtual\20thunk\20to\20GrOpFlushState::resourceProvider\28\29\20const +7440:non-virtual\20thunk\20to\20GrOpFlushState::renderPassBarriers\28\29\20const +7441:non-virtual\20thunk\20to\20GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +7442:non-virtual\20thunk\20to\20GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +7443:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndirectDraws\28int\29 +7444:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndices\28int\29 +7445:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +7446:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +7447:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +7448:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +7449:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +7450:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +7451:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +7452:non-virtual\20thunk\20to\20GrOpFlushState::dstProxyView\28\29\20const +7453:non-virtual\20thunk\20to\20GrOpFlushState::detachAppliedClip\28\29 +7454:non-virtual\20thunk\20to\20GrOpFlushState::deferredUploadTarget\28\29 +7455:non-virtual\20thunk\20to\20GrOpFlushState::colorLoadOp\28\29\20const +7456:non-virtual\20thunk\20to\20GrOpFlushState::caps\28\29\20const +7457:non-virtual\20thunk\20to\20GrOpFlushState::atlasManager\28\29\20const +7458:non-virtual\20thunk\20to\20GrOpFlushState::appliedClip\28\29\20const +7459:non-virtual\20thunk\20to\20GrGpuBuffer::~GrGpuBuffer\28\29 +7460:non-virtual\20thunk\20to\20GrGpuBuffer::unref\28\29\20const +7461:non-virtual\20thunk\20to\20GrGpuBuffer::ref\28\29\20const +7462:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +7463:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +7464:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onSetLabel\28\29 +7465:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +7466:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +7467:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +7468:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +7469:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::backendFormat\28\29\20const +7470:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +7471:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +7472:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +7473:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +7474:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::dstColor\28\29 +7475:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29.1 +7476:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29 +7477:new_color_map_2_quant +7478:new_color_map_1_quant +7479:merged_2v_upsample +7480:merged_1v_upsample +7481:lin_srgb_to_oklab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +7482:lin_srgb_to_okhcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +7483:legalstub$dynCall_vijiii +7484:legalstub$dynCall_viji +7485:legalstub$dynCall_vij +7486:legalstub$dynCall_viijii +7487:legalstub$dynCall_viij +7488:legalstub$dynCall_viiij +7489:legalstub$dynCall_viiiiij +7490:legalstub$dynCall_jiji +7491:legalstub$dynCall_jiiiiji +7492:legalstub$dynCall_jiiiiii +7493:legalstub$dynCall_jii +7494:legalstub$dynCall_ji +7495:legalstub$dynCall_iijj +7496:legalstub$dynCall_iiij +7497:legalstub$dynCall_iiiij +7498:legalstub$dynCall_iiiiijj +7499:legalstub$dynCall_iiiiij +7500:legalstub$dynCall_iiiiiijj +7501:legalfunc$glWaitSync +7502:legalfunc$glClientWaitSync +7503:lcd_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +7504:jpeg_start_decompress +7505:jpeg_skip_scanlines +7506:jpeg_save_markers +7507:jpeg_resync_to_restart +7508:jpeg_read_scanlines +7509:jpeg_read_raw_data +7510:jpeg_read_header +7511:jpeg_idct_islow +7512:jpeg_idct_ifast +7513:jpeg_idct_float +7514:jpeg_idct_9x9 +7515:jpeg_idct_7x7 +7516:jpeg_idct_6x6 +7517:jpeg_idct_5x5 +7518:jpeg_idct_4x4 +7519:jpeg_idct_3x3 +7520:jpeg_idct_2x2 +7521:jpeg_idct_1x1 +7522:jpeg_idct_16x16 +7523:jpeg_idct_15x15 +7524:jpeg_idct_14x14 +7525:jpeg_idct_13x13 +7526:jpeg_idct_12x12 +7527:jpeg_idct_11x11 +7528:jpeg_idct_10x10 +7529:jpeg_crop_scanline +7530:is_deleted_glyph\28hb_glyph_info_t\20const*\29 +7531:internal_memalign +7532:int_upsample +7533:initial_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7534:hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7535:hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7536:hb_unicode_script_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7537:hb_unicode_general_category_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7538:hb_ucd_script\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7539:hb_ucd_mirroring\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7540:hb_ucd_general_category\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7541:hb_ucd_decompose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20void*\29 +7542:hb_ucd_compose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7543:hb_ucd_combining_class\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7544:hb_syllabic_clear_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7545:hb_paint_sweep_gradient_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7546:hb_paint_push_transform_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7547:hb_paint_push_clip_rectangle_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7548:hb_paint_image_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +7549:hb_paint_extents_push_transform\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7550:hb_paint_extents_push_group\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +7551:hb_paint_extents_push_clip_rectangle\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7552:hb_paint_extents_push_clip_glyph\28hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_font_t*\2c\20void*\29 +7553:hb_paint_extents_pop_transform\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +7554:hb_paint_extents_pop_group\28hb_paint_funcs_t*\2c\20void*\2c\20hb_paint_composite_mode_t\2c\20void*\29 +7555:hb_paint_extents_pop_clip\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +7556:hb_paint_extents_paint_sweep_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7557:hb_paint_extents_paint_image\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +7558:hb_paint_extents_paint_color\28hb_paint_funcs_t*\2c\20void*\2c\20int\2c\20unsigned\20int\2c\20void*\29 +7559:hb_outline_recording_pen_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7560:hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +7561:hb_outline_recording_pen_line_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +7562:hb_outline_recording_pen_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7563:hb_outline_recording_pen_close_path\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +7564:hb_ot_paint_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +7565:hb_ot_map_t::lookup_map_t::cmp\28void\20const*\2c\20void\20const*\29 +7566:hb_ot_map_t::feature_map_t::cmp\28void\20const*\2c\20void\20const*\29 +7567:hb_ot_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +7568:hb_ot_get_variation_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7569:hb_ot_get_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +7570:hb_ot_get_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7571:hb_ot_get_glyph_v_origin\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7572:hb_ot_get_glyph_v_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +7573:hb_ot_get_glyph_name\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +7574:hb_ot_get_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +7575:hb_ot_get_glyph_from_name\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +7576:hb_ot_get_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +7577:hb_ot_get_font_v_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +7578:hb_ot_get_font_h_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +7579:hb_ot_draw_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +7580:hb_font_paint_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +7581:hb_font_get_variation_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7582:hb_font_get_nominal_glyphs_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +7583:hb_font_get_nominal_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7584:hb_font_get_nominal_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7585:hb_font_get_glyph_v_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7586:hb_font_get_glyph_v_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7587:hb_font_get_glyph_v_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +7588:hb_font_get_glyph_v_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +7589:hb_font_get_glyph_v_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +7590:hb_font_get_glyph_v_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +7591:hb_font_get_glyph_name_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +7592:hb_font_get_glyph_name_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +7593:hb_font_get_glyph_h_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7594:hb_font_get_glyph_h_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7595:hb_font_get_glyph_h_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +7596:hb_font_get_glyph_h_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +7597:hb_font_get_glyph_h_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +7598:hb_font_get_glyph_h_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +7599:hb_font_get_glyph_from_name_default\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +7600:hb_font_get_glyph_extents_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +7601:hb_font_get_glyph_extents_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +7602:hb_font_get_glyph_contour_point_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7603:hb_font_get_glyph_contour_point_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7604:hb_font_get_font_v_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +7605:hb_font_get_font_h_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +7606:hb_font_draw_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +7607:hb_draw_quadratic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7608:hb_draw_quadratic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7609:hb_draw_move_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +7610:hb_draw_line_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +7611:hb_draw_extents_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7612:hb_draw_extents_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7613:hb_draw_cubic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7614:hb_draw_close_path_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +7615:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +7616:hb_aat_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +7617:hb_aat_map_builder_t::feature_event_t::cmp\28void\20const*\2c\20void\20const*\29 +7618:h2v2_upsample +7619:h2v2_merged_upsample_565D +7620:h2v2_merged_upsample_565 +7621:h2v2_merged_upsample +7622:h2v2_fancy_upsample +7623:h2v1_upsample +7624:h2v1_merged_upsample_565D +7625:h2v1_merged_upsample_565 +7626:h2v1_merged_upsample +7627:h2v1_fancy_upsample +7628:grayscale_convert +7629:gray_rgb_convert +7630:gray_rgb565_convert +7631:gray_rgb565D_convert +7632:gray_raster_render +7633:gray_raster_new +7634:gray_raster_done +7635:gray_move_to +7636:gray_line_to +7637:gray_cubic_to +7638:gray_conic_to +7639:get_sk_marker_list\28jpeg_decompress_struct*\29 +7640:get_sfnt_table +7641:get_interesting_appn +7642:fullsize_upsample +7643:ft_smooth_transform +7644:ft_smooth_set_mode +7645:ft_smooth_render +7646:ft_smooth_overlap_spans +7647:ft_smooth_lcd_spans +7648:ft_smooth_init +7649:ft_smooth_get_cbox +7650:ft_gzip_free +7651:ft_gzip_alloc +7652:ft_ansi_stream_io +7653:ft_ansi_stream_close +7654:fquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +7655:format_message +7656:fmt_fp +7657:fline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +7658:first_axis_intersection\28double\20const*\2c\20bool\2c\20double\2c\20double*\29 +7659:finish_pass1 +7660:finish_output_pass +7661:finish_input_pass +7662:final_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7663:fcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +7664:fconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +7665:fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7666:fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7667:fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7668:fast_swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7669:fast_swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7670:fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7671:fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7672:fast_swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7673:fast_swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7674:fast_swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7675:error_exit +7676:error_callback +7677:emscripten::internal::MethodInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20void\2c\20SkCanvas*\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&>::invoke\28void\20\28SkCanvas::*\20const&\29\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint*\29 +7678:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +7679:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +7680:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\29 +7681:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\29 +7682:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkPaint*\29 +7683:emscripten::internal::MethodInvoker\20\28skia::textlayout::Paragraph::*\29\28unsigned\20int\29\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int>::invoke\28skia::textlayout::SkRange\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20int\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\29 +7684:emscripten::internal::MethodInvoker::invoke\28skia::textlayout::PositionWithAffinity\20\28skia::textlayout::Paragraph::*\20const&\29\28float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +7685:emscripten::internal::MethodInvoker::invoke\28int\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20long\29\20const\2c\20skia::textlayout::Paragraph\20const*\2c\20unsigned\20long\29 +7686:emscripten::internal::MethodInvoker::invoke\28bool\20\28SkPath::*\20const&\29\28float\2c\20float\29\20const\2c\20SkPath\20const*\2c\20float\2c\20float\29 +7687:emscripten::internal::MethodInvoker::invoke\28SkPath&\20\28SkPath::*\20const&\29\28bool\29\2c\20SkPath*\2c\20bool\29 +7688:emscripten::internal::Invoker::invoke\28void\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +7689:emscripten::internal::Invoker::invoke\28void\20\28*\29\28emscripten::val\29\2c\20emscripten::_EM_VAL*\29 +7690:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28unsigned\20long\29\2c\20unsigned\20long\29 +7691:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont*\29 +7692:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\2c\20int\2c\20int\29 +7693:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\29 +7694:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +7695:emscripten::internal::Invoker\2c\20sk_sp\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SimpleImageInfo\29\2c\20sk_sp*\2c\20SimpleImageInfo*\29 +7696:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\29 +7697:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +7698:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20sk_sp*\29 +7699:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +7700:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +7701:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +7702:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +7703:emscripten::internal::Invoker\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +7704:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20int\2c\20float>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20int\2c\20float\29\2c\20unsigned\20long\2c\20int\2c\20float\29 +7705:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkPath>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkPath\29\2c\20unsigned\20long\2c\20SkPath*\29 +7706:emscripten::internal::Invoker\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28float\2c\20unsigned\20long\29\2c\20float\2c\20unsigned\20long\29 +7707:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20int\29\2c\20float\2c\20float\2c\20unsigned\20int\29 +7708:emscripten::internal::Invoker\2c\20float>::invoke\28sk_sp\20\28*\29\28float\29\2c\20float\29 +7709:emscripten::internal::Invoker\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style>::invoke\28sk_sp\20\28*\29\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29\2c\20SkPath*\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +7710:emscripten::internal::Invoker\2c\20SkBlurStyle\2c\20float\2c\20bool>::invoke\28sk_sp\20\28*\29\28SkBlurStyle\2c\20float\2c\20bool\29\2c\20SkBlurStyle\2c\20float\2c\20bool\29 +7711:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp*\29 +7712:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp*\29 +7713:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\29\2c\20sk_sp*\29 +7714:emscripten::internal::Invoker\2c\20sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +7715:emscripten::internal::Invoker\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +7716:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20sk_sp\29\2c\20float\2c\20float\2c\20sk_sp*\29 +7717:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp*\29 +7718:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp*\29 +7719:emscripten::internal::Invoker\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +7720:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +7721:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20emscripten::val\29\2c\20SimpleImageInfo*\2c\20emscripten::_EM_VAL*\29 +7722:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp*\29 +7723:emscripten::internal::Invoker\2c\20sk_sp\20const&\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\20const&\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +7724:emscripten::internal::Invoker\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20sk_sp\2c\20sk_sp\29\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +7725:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\29 +7726:emscripten::internal::Invoker\2c\20std::__2::allocator>>::invoke\28emscripten::val\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +7727:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28emscripten::val\2c\20emscripten::val\2c\20float\29\2c\20emscripten::_EM_VAL*\2c\20emscripten::_EM_VAL*\2c\20float\29 +7728:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29\2c\20SkPath*\2c\20SkPath*\2c\20float\29 +7729:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +7730:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +7731:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28bool\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +7732:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +7733:emscripten::internal::Invoker::invoke\28SkVertices::Builder*\20\28*\29\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29\2c\20SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +7734:emscripten::internal::Invoker\2c\20int\2c\20int>::invoke\28SkRuntimeEffect::TracedShader\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +7735:emscripten::internal::Invoker::invoke\28SkPath\20\28*\29\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +7736:emscripten::internal::Invoker&&\2c\20float&&\2c\20float&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\29 +7737:emscripten::internal::Invoker&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\29 +7738:emscripten::internal::Invoker&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\29\2c\20sk_sp*\29 +7739:emscripten::internal::Invoker::invoke\28SkContourMeasureIter*\20\28*\29\28SkPath\20const&\2c\20bool&&\2c\20float&&\29\2c\20SkPath*\2c\20bool\2c\20float\29 +7740:emscripten::internal::Invoker::invoke\28SkCanvas*\20\28*\29\28float&&\2c\20float&&\29\2c\20float\2c\20float\29 +7741:emscripten::internal::FunctionInvoker\2c\20unsigned\20long\29\2c\20void\2c\20skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long>::invoke\28void\20\28**\29\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29\2c\20skia::textlayout::TypefaceFontProvider*\2c\20sk_sp*\2c\20unsigned\20long\29 +7742:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\29\2c\20void\2c\20skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>>::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +7743:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +7744:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\2c\20SkPaint*\2c\20SkPaint*\29 +7745:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\29 +7746:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +7747:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +7748:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +7749:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +7750:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +7751:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +7752:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29\2c\20SkContourMeasure*\2c\20float\2c\20unsigned\20long\29 +7753:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +7754:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint*\29 +7755:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7756:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7757:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7758:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +7759:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +7760:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +7761:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +7762:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\20\28*\29\28SkSL::DebugTrace&\29\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::DebugTrace&>::invoke\28std::__2::basic_string\2c\20std::__2::allocator>\20\28**\29\28SkSL::DebugTrace&\29\2c\20SkSL::DebugTrace*\29 +7763:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20SkFontMgr*\2c\20unsigned\20long\2c\20int\29 +7764:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20SkFontMgr*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +7765:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +7766:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +7767:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7768:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +7769:emscripten::internal::FunctionInvoker\20\28*\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkPicture*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +7770:emscripten::internal::FunctionInvoker\20\28*\29\28SkPictureRecorder&\29\2c\20sk_sp\2c\20SkPictureRecorder&>::invoke\28sk_sp\20\28**\29\28SkPictureRecorder&\29\2c\20SkPictureRecorder*\29 +7771:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20long\29\2c\20SkSurface*\2c\20unsigned\20long\29 +7772:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20SkSurface*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo*\29 +7773:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +7774:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\29\2c\20SkCanvas*\2c\20SkPaint*\29 +7775:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +7776:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +7777:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +7778:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\29 +7779:emscripten::internal::FunctionInvoker\29\2c\20emscripten::val\2c\20sk_sp>::invoke\28emscripten::val\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +7780:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29\2c\20SkFont*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +7781:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +7782:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7783:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\29 +7784:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20bool\29 +7785:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20StrokeOpts\29\2c\20SkPath*\2c\20StrokeOpts*\29 +7786:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7787:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkPath\20const&\29\2c\20SkPath*\29 +7788:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29\2c\20SkContourMeasure*\2c\20float\2c\20float\2c\20bool\29 +7789:emscripten::internal::FunctionInvoker::invoke\28SkPaint\20\28**\29\28SkPaint\20const&\29\2c\20SkPaint*\29 +7790:emscripten::internal::FunctionInvoker::invoke\28SimpleImageInfo\20\28**\29\28SkSurface&\29\2c\20SkSurface*\29 +7791:emscripten::internal::FunctionInvoker::invoke\28RuntimeEffectUniform\20\28**\29\28SkRuntimeEffect&\2c\20int\29\2c\20SkRuntimeEffect*\2c\20int\29 +7792:emit_message +7793:embind_init_Skia\28\29::$_9::__invoke\28SkAnimatedImage&\29 +7794:embind_init_Skia\28\29::$_99::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +7795:embind_init_Skia\28\29::$_98::__invoke\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20bool\29 +7796:embind_init_Skia\28\29::$_97::__invoke\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29 +7797:embind_init_Skia\28\29::$_96::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20int\29 +7798:embind_init_Skia\28\29::$_95::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\29 +7799:embind_init_Skia\28\29::$_94::__invoke\28unsigned\20long\2c\20SkPath\29 +7800:embind_init_Skia\28\29::$_93::__invoke\28float\2c\20unsigned\20long\29 +7801:embind_init_Skia\28\29::$_92::__invoke\28unsigned\20long\2c\20int\2c\20float\29 +7802:embind_init_Skia\28\29::$_91::__invoke\28\29 +7803:embind_init_Skia\28\29::$_90::__invoke\28\29 +7804:embind_init_Skia\28\29::$_8::__invoke\28emscripten::val\29 +7805:embind_init_Skia\28\29::$_89::__invoke\28sk_sp\2c\20sk_sp\29 +7806:embind_init_Skia\28\29::$_88::__invoke\28SkPaint&\2c\20unsigned\20int\2c\20sk_sp\29 +7807:embind_init_Skia\28\29::$_87::__invoke\28SkPaint&\2c\20unsigned\20int\29 +7808:embind_init_Skia\28\29::$_86::__invoke\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29 +7809:embind_init_Skia\28\29::$_85::__invoke\28SkPaint&\2c\20unsigned\20long\29 +7810:embind_init_Skia\28\29::$_84::__invoke\28SkPaint\20const&\29 +7811:embind_init_Skia\28\29::$_83::__invoke\28SkBlurStyle\2c\20float\2c\20bool\29 +7812:embind_init_Skia\28\29::$_82::__invoke\28float\2c\20float\2c\20sk_sp\29 +7813:embind_init_Skia\28\29::$_81::__invoke\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29 +7814:embind_init_Skia\28\29::$_80::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29 +7815:embind_init_Skia\28\29::$_7::__invoke\28GrDirectContext&\2c\20unsigned\20long\29 +7816:embind_init_Skia\28\29::$_79::__invoke\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +7817:embind_init_Skia\28\29::$_78::__invoke\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +7818:embind_init_Skia\28\29::$_77::__invoke\28float\2c\20float\2c\20sk_sp\29 +7819:embind_init_Skia\28\29::$_76::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +7820:embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +7821:embind_init_Skia\28\29::$_74::__invoke\28sk_sp\29 +7822:embind_init_Skia\28\29::$_73::__invoke\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29 +7823:embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +7824:embind_init_Skia\28\29::$_71::__invoke\28sk_sp\2c\20sk_sp\29 +7825:embind_init_Skia\28\29::$_70::__invoke\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29 +7826:embind_init_Skia\28\29::$_6::__invoke\28GrDirectContext&\29 +7827:embind_init_Skia\28\29::$_69::__invoke\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +7828:embind_init_Skia\28\29::$_68::__invoke\28SkImageFilter\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7829:embind_init_Skia\28\29::$_67::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7830:embind_init_Skia\28\29::$_66::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +7831:embind_init_Skia\28\29::$_65::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +7832:embind_init_Skia\28\29::$_64::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +7833:embind_init_Skia\28\29::$_63::__invoke\28sk_sp\29 +7834:embind_init_Skia\28\29::$_62::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +7835:embind_init_Skia\28\29::$_61::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +7836:embind_init_Skia\28\29::$_60::__invoke\28sk_sp\29 +7837:embind_init_Skia\28\29::$_5::__invoke\28GrDirectContext&\29 +7838:embind_init_Skia\28\29::$_59::__invoke\28sk_sp\29 +7839:embind_init_Skia\28\29::$_58::__invoke\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29 +7840:embind_init_Skia\28\29::$_57::__invoke\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +7841:embind_init_Skia\28\29::$_56::__invoke\28SkFontMgr&\2c\20int\29 +7842:embind_init_Skia\28\29::$_55::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20int\29 +7843:embind_init_Skia\28\29::$_54::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +7844:embind_init_Skia\28\29::$_53::__invoke\28SkFont&\29 +7845:embind_init_Skia\28\29::$_52::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7846:embind_init_Skia\28\29::$_51::__invoke\28SkFont&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint*\29 +7847:embind_init_Skia\28\29::$_50::__invoke\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29 +7848:embind_init_Skia\28\29::$_4::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +7849:embind_init_Skia\28\29::$_49::__invoke\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29 +7850:embind_init_Skia\28\29::$_48::__invoke\28unsigned\20long\29 +7851:embind_init_Skia\28\29::$_47::__invoke\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29 +7852:embind_init_Skia\28\29::$_46::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7853:embind_init_Skia\28\29::$_45::__invoke\28SkCanvas&\2c\20SkPaint\29 +7854:embind_init_Skia\28\29::$_44::__invoke\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +7855:embind_init_Skia\28\29::$_43::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7856:embind_init_Skia\28\29::$_42::__invoke\28SkCanvas&\2c\20SimpleImageInfo\29 +7857:embind_init_Skia\28\29::$_41::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +7858:embind_init_Skia\28\29::$_40::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +7859:embind_init_Skia\28\29::$_3::__invoke\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +7860:embind_init_Skia\28\29::$_39::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +7861:embind_init_Skia\28\29::$_38::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +7862:embind_init_Skia\28\29::$_37::__invoke\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +7863:embind_init_Skia\28\29::$_36::__invoke\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +7864:embind_init_Skia\28\29::$_35::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +7865:embind_init_Skia\28\29::$_34::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +7866:embind_init_Skia\28\29::$_33::__invoke\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29 +7867:embind_init_Skia\28\29::$_32::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +7868:embind_init_Skia\28\29::$_31::__invoke\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +7869:embind_init_Skia\28\29::$_30::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +7870:embind_init_Skia\28\29::$_2::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +7871:embind_init_Skia\28\29::$_29::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +7872:embind_init_Skia\28\29::$_28::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7873:embind_init_Skia\28\29::$_27::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const*\2c\20bool\29 +7874:embind_init_Skia\28\29::$_26::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +7875:embind_init_Skia\28\29::$_25::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +7876:embind_init_Skia\28\29::$_24::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7877:embind_init_Skia\28\29::$_23::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7878:embind_init_Skia\28\29::$_22::__invoke\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +7879:embind_init_Skia\28\29::$_21::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +7880:embind_init_Skia\28\29::$_20::__invoke\28SkCanvas&\2c\20unsigned\20int\2c\20SkBlendMode\29 +7881:embind_init_Skia\28\29::$_1::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +7882:embind_init_Skia\28\29::$_19::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29 +7883:embind_init_Skia\28\29::$_18::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +7884:embind_init_Skia\28\29::$_17::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7885:embind_init_Skia\28\29::$_16::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +7886:embind_init_Skia\28\29::$_15::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +7887:embind_init_Skia\28\29::$_14::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +7888:embind_init_Skia\28\29::$_148::__invoke\28SkVertices::Builder&\29 +7889:embind_init_Skia\28\29::$_147::__invoke\28SkVertices::Builder&\29 +7890:embind_init_Skia\28\29::$_146::__invoke\28SkVertices::Builder&\29 +7891:embind_init_Skia\28\29::$_145::__invoke\28SkVertices::Builder&\29 +7892:embind_init_Skia\28\29::$_144::__invoke\28SkVertices&\2c\20unsigned\20long\29 +7893:embind_init_Skia\28\29::$_143::__invoke\28SkTypeface&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7894:embind_init_Skia\28\29::$_142::__invoke\28unsigned\20long\2c\20int\29 +7895:embind_init_Skia\28\29::$_141::__invoke\28\29 +7896:embind_init_Skia\28\29::$_140::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +7897:embind_init_Skia\28\29::$_13::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +7898:embind_init_Skia\28\29::$_139::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +7899:embind_init_Skia\28\29::$_138::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +7900:embind_init_Skia\28\29::$_137::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +7901:embind_init_Skia\28\29::$_136::__invoke\28SkSurface&\29 +7902:embind_init_Skia\28\29::$_135::__invoke\28SkSurface&\29 +7903:embind_init_Skia\28\29::$_134::__invoke\28SkSurface&\29 +7904:embind_init_Skia\28\29::$_133::__invoke\28SkSurface&\2c\20SimpleImageInfo\29 +7905:embind_init_Skia\28\29::$_132::__invoke\28SkSurface&\2c\20unsigned\20long\29 +7906:embind_init_Skia\28\29::$_131::__invoke\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29 +7907:embind_init_Skia\28\29::$_130::__invoke\28SkSurface&\29 +7908:embind_init_Skia\28\29::$_12::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +7909:embind_init_Skia\28\29::$_129::__invoke\28SkSurface&\29 +7910:embind_init_Skia\28\29::$_128::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29 +7911:embind_init_Skia\28\29::$_127::__invoke\28SkRuntimeEffect&\2c\20int\29 +7912:embind_init_Skia\28\29::$_126::__invoke\28SkRuntimeEffect&\2c\20int\29 +7913:embind_init_Skia\28\29::$_125::__invoke\28SkRuntimeEffect&\29 +7914:embind_init_Skia\28\29::$_124::__invoke\28SkRuntimeEffect&\29 +7915:embind_init_Skia\28\29::$_123::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +7916:embind_init_Skia\28\29::$_122::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7917:embind_init_Skia\28\29::$_121::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +7918:embind_init_Skia\28\29::$_120::__invoke\28sk_sp\2c\20int\2c\20int\29 +7919:embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +7920:embind_init_Skia\28\29::$_119::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +7921:embind_init_Skia\28\29::$_118::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +7922:embind_init_Skia\28\29::$_117::__invoke\28SkSL::DebugTrace&\29 +7923:embind_init_Skia\28\29::$_116::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +7924:embind_init_Skia\28\29::$_115::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +7925:embind_init_Skia\28\29::$_114::__invoke\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +7926:embind_init_Skia\28\29::$_113::__invoke\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +7927:embind_init_Skia\28\29::$_112::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +7928:embind_init_Skia\28\29::$_111::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +7929:embind_init_Skia\28\29::$_110::__invoke\28unsigned\20long\2c\20sk_sp\29 +7930:embind_init_Skia\28\29::$_10::__invoke\28SkAnimatedImage&\29 +7931:embind_init_Skia\28\29::$_109::operator\28\29\28SkPicture&\29\20const::'lambda'\28SkImage*\2c\20void*\29::__invoke\28SkImage*\2c\20void*\29 +7932:embind_init_Skia\28\29::$_109::__invoke\28SkPicture&\29 +7933:embind_init_Skia\28\29::$_108::__invoke\28SkPicture&\2c\20unsigned\20long\29 +7934:embind_init_Skia\28\29::$_107::__invoke\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +7935:embind_init_Skia\28\29::$_106::__invoke\28SkPictureRecorder&\29 +7936:embind_init_Skia\28\29::$_105::__invoke\28SkPictureRecorder&\2c\20unsigned\20long\2c\20bool\29 +7937:embind_init_Skia\28\29::$_104::__invoke\28SkPath&\2c\20unsigned\20long\29 +7938:embind_init_Skia\28\29::$_103::__invoke\28SkPath&\2c\20unsigned\20long\29 +7939:embind_init_Skia\28\29::$_102::__invoke\28SkPath&\2c\20int\2c\20unsigned\20long\29 +7940:embind_init_Skia\28\29::$_101::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\29 +7941:embind_init_Skia\28\29::$_100::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +7942:embind_init_Skia\28\29::$_0::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +7943:embind_init_Paragraph\28\29::$_9::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +7944:embind_init_Paragraph\28\29::$_8::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +7945:embind_init_Paragraph\28\29::$_7::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29 +7946:embind_init_Paragraph\28\29::$_6::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29 +7947:embind_init_Paragraph\28\29::$_5::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +7948:embind_init_Paragraph\28\29::$_4::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +7949:embind_init_Paragraph\28\29::$_3::__invoke\28emscripten::val\2c\20emscripten::val\2c\20float\29 +7950:embind_init_Paragraph\28\29::$_2::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +7951:embind_init_Paragraph\28\29::$_19::__invoke\28skia::textlayout::FontCollection&\2c\20sk_sp\20const&\29 +7952:embind_init_Paragraph\28\29::$_18::__invoke\28\29 +7953:embind_init_Paragraph\28\29::$_17::__invoke\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29 +7954:embind_init_Paragraph\28\29::$_16::__invoke\28\29 +7955:embind_init_Paragraph\28\29::$_15::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7956:embind_init_Paragraph\28\29::$_14::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7957:embind_init_Paragraph\28\29::$_13::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7958:embind_init_Paragraph\28\29::$_12::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7959:embind_init_Paragraph\28\29::$_11::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7960:embind_init_Paragraph\28\29::$_10::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7961:dispose_external_texture\28void*\29 +7962:deleteJSTexture\28void*\29 +7963:deflate_slow +7964:deflate_fast +7965:decompress_smooth_data +7966:decompress_onepass +7967:decompress_data +7968:decompose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +7969:decompose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +7970:decompose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +7971:decode_mcu_DC_refine +7972:decode_mcu_DC_first +7973:decode_mcu_AC_refine +7974:decode_mcu_AC_first +7975:decode_mcu +7976:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::Make\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20bool\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7977:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\2c\20GrShaderCaps\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::\28anonymous\20namespace\29::HullShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7978:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7979:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7980:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathTessellator::PathDrawList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7981:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29>\28skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20sk_sp\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7982:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Make\28SkArenaAlloc*\2c\20GrAAType\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7983:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerSkyline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7984:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerPow2&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7985:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make*\20SkArenaAlloc::make>\28\29::'lambda'\28void*\29>\28sk_sp&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7986:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TextureOpImpl::Desc&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7987:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TentPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7988:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::SimpleTriangleShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7989:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7990:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader\2c\20bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*\2c\20GrShaderCaps\20const&>\28bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*&&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::DrawAtlasPathShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7991:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&>\28SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::BoundingBoxShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7992:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20unsigned\20char&&\29::'lambda'\28void*\29>\28Sprite_D32_S32&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7993:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7994:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTCubic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7995:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTConic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7996:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\29::'lambda'\28void*\29>\28SkSpriteBlitter_Memcpy&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7997:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&>\28SkPixmap\20const&\2c\20SkArenaAlloc*&\2c\20sk_sp&\29::'lambda'\28void*\29>\28SkRasterPipelineSpriteBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7998:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkArenaAlloc*&\29::'lambda'\28void*\29>\28SkRasterPipelineBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7999:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8000:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkImage_Base\20const*&&\2c\20SkMatrix\20const&\2c\20SkMipmapMode&\29::'lambda'\28void*\29>\28SkMipmapAccessor&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8001:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::PathData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8002:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::DrawableData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8003:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkGlyph&&\29::'lambda'\28void*\29>\28SkGlyph&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8004:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\29>>::Node*\20SkArenaAlloc::make&\29>>::Node\2c\20std::__2::function&\29>>\28std::__2::function&\29>&&\29::'lambda'\28void*\29>\28SkArenaAllocList&\29>>::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8005:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8006:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node>\28\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8007:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Coverage_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8008:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28GrSimpleMesh&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8009:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8010:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPath\20const&\2c\20SkArenaAlloc*\20const&\29::'lambda'\28void*\29>\28GrInnerFanTriangulator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8011:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldLCDTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20GrDistanceFieldLCDTextGeoProc::DistanceAdjust\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8012:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8013:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrAppliedClip&&\29::'lambda'\28void*\29>\28GrAppliedClip&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8014:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28EllipseGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8015:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8016:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8017:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +8018:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8019:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8020:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +8021:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8022:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +8023:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8024:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8025:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8026:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +8027:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +8028:deallocate_buffer_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8029:ddquad_xy_at_t\28SkDCurve\20const&\2c\20double\29 +8030:ddquad_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +8031:ddline_xy_at_t\28SkDCurve\20const&\2c\20double\29 +8032:ddline_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +8033:ddcubic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +8034:ddcubic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +8035:ddconic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +8036:ddconic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +8037:data_destroy_use\28void*\29 +8038:data_create_use\28hb_ot_shape_plan_t\20const*\29 +8039:data_create_khmer\28hb_ot_shape_plan_t\20const*\29 +8040:data_create_indic\28hb_ot_shape_plan_t\20const*\29 +8041:data_create_hangul\28hb_ot_shape_plan_t\20const*\29 +8042:copy\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8043:convert_bytes_to_data +8044:consume_markers +8045:consume_data +8046:computeTonalColors\28unsigned\20long\2c\20unsigned\20long\29 +8047:compose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8048:compose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8049:compose_hebrew\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8050:compare_ppem +8051:compare_offsets +8052:compare_myanmar_order\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +8053:compare_combining_class\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +8054:color_quantize3 +8055:color_quantize +8056:collect_features_use\28hb_ot_shape_planner_t*\29 +8057:collect_features_myanmar\28hb_ot_shape_planner_t*\29 +8058:collect_features_khmer\28hb_ot_shape_planner_t*\29 +8059:collect_features_indic\28hb_ot_shape_planner_t*\29 +8060:collect_features_hangul\28hb_ot_shape_planner_t*\29 +8061:collect_features_arabic\28hb_ot_shape_planner_t*\29 +8062:clip\28SkPath\20const&\2c\20SkHalfPlane\20const&\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +8063:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitStatement\28SkSL::Statement\20const&\29 +8064:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8065:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitExpression\28SkSL::Expression\20const&\29 +8066:cff_slot_init +8067:cff_slot_done +8068:cff_size_request +8069:cff_size_init +8070:cff_size_done +8071:cff_sid_to_glyph_name +8072:cff_set_var_design +8073:cff_set_mm_weightvector +8074:cff_set_mm_blend +8075:cff_set_instance +8076:cff_random +8077:cff_ps_has_glyph_names +8078:cff_ps_get_font_info +8079:cff_ps_get_font_extra +8080:cff_parse_vsindex +8081:cff_parse_private_dict +8082:cff_parse_multiple_master +8083:cff_parse_maxstack +8084:cff_parse_font_matrix +8085:cff_parse_font_bbox +8086:cff_parse_cid_ros +8087:cff_parse_blend +8088:cff_metrics_adjust +8089:cff_hadvance_adjust +8090:cff_glyph_load +8091:cff_get_var_design +8092:cff_get_var_blend +8093:cff_get_standard_encoding +8094:cff_get_ros +8095:cff_get_ps_name +8096:cff_get_name_index +8097:cff_get_mm_weightvector +8098:cff_get_mm_var +8099:cff_get_mm_blend +8100:cff_get_is_cid +8101:cff_get_interface +8102:cff_get_glyph_name +8103:cff_get_glyph_data +8104:cff_get_cmap_info +8105:cff_get_cid_from_glyph_index +8106:cff_get_advances +8107:cff_free_glyph_data +8108:cff_fd_select_get +8109:cff_face_init +8110:cff_face_done +8111:cff_driver_init +8112:cff_done_blend +8113:cff_decoder_prepare +8114:cff_decoder_init +8115:cff_cmap_unicode_init +8116:cff_cmap_unicode_char_next +8117:cff_cmap_unicode_char_index +8118:cff_cmap_encoding_init +8119:cff_cmap_encoding_done +8120:cff_cmap_encoding_char_next +8121:cff_cmap_encoding_char_index +8122:cff_builder_start_point +8123:cff_builder_init +8124:cff_builder_add_point1 +8125:cff_builder_add_point +8126:cff_builder_add_contour +8127:cff_blend_check_vector +8128:cf2_free_instance +8129:cf2_decoder_parse_charstrings +8130:cf2_builder_moveTo +8131:cf2_builder_lineTo +8132:cf2_builder_cubeTo +8133:bw_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +8134:bw_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8135:bw_pt_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8136:bw_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8137:bw_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8138:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::SpotVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +8139:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::AmbientVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +8140:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +8141:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +8142:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +8143:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +8144:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8145:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8146:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8147:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8148:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8149:blur_y_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8150:blur_y_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8151:blur_y_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8152:blur_y_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8153:blur_x_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8154:blur_x_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8155:blur_x_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8156:blur_x_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8157:blit_row_s32a_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +8158:blit_row_s32_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +8159:blit_row_s32_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +8160:argb32_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +8161:arabic_fallback_shape\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8162:alwaysSaveTypefaceBytes\28SkTypeface*\2c\20void*\29 +8163:alloc_sarray +8164:alloc_barray +8165:afm_parser_parse +8166:afm_parser_init +8167:afm_parser_done +8168:afm_compare_kern_pairs +8169:af_property_set +8170:af_property_get +8171:af_latin_metrics_scale +8172:af_latin_metrics_init +8173:af_latin_hints_init +8174:af_latin_hints_apply +8175:af_latin_get_standard_widths +8176:af_indic_metrics_init +8177:af_indic_hints_apply +8178:af_get_interface +8179:af_face_globals_free +8180:af_dummy_hints_init +8181:af_dummy_hints_apply +8182:af_cjk_metrics_init +8183:af_autofitter_load_glyph +8184:af_autofitter_init +8185:access_virt_sarray +8186:access_virt_barray +8187:aa_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8188:aa_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8189:aa_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8190:_hb_ot_font_destroy\28void*\29 +8191:_hb_glyph_info_is_default_ignorable\28hb_glyph_info_t\20const*\29 +8192:_hb_face_for_data_reference_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +8193:_hb_face_for_data_closure_destroy\28void*\29 +8194:_hb_clear_substitution_flags\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8195:_embind_initialize_bindings +8196:__wasm_call_ctors +8197:__stdio_write +8198:__stdio_seek +8199:__stdio_read +8200:__stdio_close +8201:__getTypeName +8202:__cxxabiv1::__vmi_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8203:__cxxabiv1::__vmi_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8204:__cxxabiv1::__vmi_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +8205:__cxxabiv1::__si_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8206:__cxxabiv1::__si_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8207:__cxxabiv1::__si_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +8208:__cxxabiv1::__class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8209:__cxxabiv1::__class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8210:__cxxabiv1::__class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +8211:__cxxabiv1::__class_type_info::can_catch\28__cxxabiv1::__shim_type_info\20const*\2c\20void*&\29\20const +8212:__cxx_global_array_dtor.9 +8213:__cxx_global_array_dtor.87 +8214:__cxx_global_array_dtor.72 +8215:__cxx_global_array_dtor.57 +8216:__cxx_global_array_dtor.5 +8217:__cxx_global_array_dtor.44 +8218:__cxx_global_array_dtor.42 +8219:__cxx_global_array_dtor.40 +8220:__cxx_global_array_dtor.4 +8221:__cxx_global_array_dtor.38 +8222:__cxx_global_array_dtor.36 +8223:__cxx_global_array_dtor.34 +8224:__cxx_global_array_dtor.32 +8225:__cxx_global_array_dtor.2 +8226:__cxx_global_array_dtor.16 +8227:__cxx_global_array_dtor.15 +8228:__cxx_global_array_dtor.14 +8229:__cxx_global_array_dtor.138 +8230:__cxx_global_array_dtor.135 +8231:__cxx_global_array_dtor.111 +8232:__cxx_global_array_dtor.10 +8233:__cxx_global_array_dtor.1.1 +8234:__cxx_global_array_dtor.1 +8235:__cxx_global_array_dtor +8236:__cxa_pure_virtual +8237:__cxa_is_pointer_type +8238:\28anonymous\20namespace\29::skhb_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +8239:\28anonymous\20namespace\29::skhb_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8240:\28anonymous\20namespace\29::skhb_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8241:\28anonymous\20namespace\29::skhb_glyph_h_advance\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8242:\28anonymous\20namespace\29::skhb_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8243:\28anonymous\20namespace\29::skhb_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8244:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29::$_0::__invoke\28void*\29 +8245:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +8246:\28anonymous\20namespace\29::make_morphology\28\28anonymous\20namespace\29::MorphType\2c\20SkSize\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +8247:\28anonymous\20namespace\29::make_drop_shadow_graph\28SkPoint\2c\20SkSize\2c\20unsigned\20int\2c\20bool\2c\20sk_sp\2c\20std::__2::optional\20const&\29 +8248:\28anonymous\20namespace\29::extension_compare\28SkString\20const&\2c\20SkString\20const&\29 +8249:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29.1 +8250:\28anonymous\20namespace\29::YUVPlanesRec::getCategory\28\29\20const +8251:\28anonymous\20namespace\29::YUVPlanesRec::diagnostic_only_getDiscardable\28\29\20const +8252:\28anonymous\20namespace\29::YUVPlanesRec::bytesUsed\28\29\20const +8253:\28anonymous\20namespace\29::YUVPlanesRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +8254:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29.1 +8255:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29 +8256:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29.1 +8257:\28anonymous\20namespace\29::TriangulatingPathOp::visitProxies\28std::__2::function\20const&\29\20const +8258:\28anonymous\20namespace\29::TriangulatingPathOp::programInfo\28\29 +8259:\28anonymous\20namespace\29::TriangulatingPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8260:\28anonymous\20namespace\29::TriangulatingPathOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8261:\28anonymous\20namespace\29::TriangulatingPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8262:\28anonymous\20namespace\29::TriangulatingPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8263:\28anonymous\20namespace\29::TriangulatingPathOp::name\28\29\20const +8264:\28anonymous\20namespace\29::TriangulatingPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8265:\28anonymous\20namespace\29::TransformedMaskSubRun::unflattenSize\28\29\20const +8266:\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8267:\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +8268:\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8269:\28anonymous\20namespace\29::TransformedMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8270:\28anonymous\20namespace\29::TransformedMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +8271:\28anonymous\20namespace\29::TransformedMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +8272:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29.1 +8273:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29 +8274:\28anonymous\20namespace\29::TextureOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8275:\28anonymous\20namespace\29::TextureOpImpl::programInfo\28\29 +8276:\28anonymous\20namespace\29::TextureOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8277:\28anonymous\20namespace\29::TextureOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8278:\28anonymous\20namespace\29::TextureOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8279:\28anonymous\20namespace\29::TextureOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8280:\28anonymous\20namespace\29::TextureOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8281:\28anonymous\20namespace\29::TextureOpImpl::name\28\29\20const +8282:\28anonymous\20namespace\29::TextureOpImpl::fixedFunctionFlags\28\29\20const +8283:\28anonymous\20namespace\29::TextureOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8284:\28anonymous\20namespace\29::TentPass::startBlur\28\29 +8285:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +8286:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +8287:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +8288:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29.1 +8289:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29 +8290:\28anonymous\20namespace\29::StaticVertexAllocator::unlock\28int\29 +8291:\28anonymous\20namespace\29::StaticVertexAllocator::lock\28unsigned\20long\2c\20int\29 +8292:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::currentScript\28\29\20const +8293:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::consume\28\29 +8294:\28anonymous\20namespace\29::SkShaderImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8295:\28anonymous\20namespace\29::SkShaderImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8296:\28anonymous\20namespace\29::SkShaderImageFilter::getTypeName\28\29\20const +8297:\28anonymous\20namespace\29::SkShaderImageFilter::flatten\28SkWriteBuffer&\29\20const +8298:\28anonymous\20namespace\29::SkShaderImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8299:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8300:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8301:\28anonymous\20namespace\29::SkMorphologyImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8302:\28anonymous\20namespace\29::SkMorphologyImageFilter::getTypeName\28\29\20const +8303:\28anonymous\20namespace\29::SkMorphologyImageFilter::flatten\28SkWriteBuffer&\29\20const +8304:\28anonymous\20namespace\29::SkMorphologyImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8305:\28anonymous\20namespace\29::SkMergeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8306:\28anonymous\20namespace\29::SkMergeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8307:\28anonymous\20namespace\29::SkMergeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8308:\28anonymous\20namespace\29::SkMergeImageFilter::getTypeName\28\29\20const +8309:\28anonymous\20namespace\29::SkMergeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8310:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8311:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8312:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8313:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::getTypeName\28\29\20const +8314:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::flatten\28SkWriteBuffer&\29\20const +8315:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8316:\28anonymous\20namespace\29::SkImageImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8317:\28anonymous\20namespace\29::SkImageImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8318:\28anonymous\20namespace\29::SkImageImageFilter::getTypeName\28\29\20const +8319:\28anonymous\20namespace\29::SkImageImageFilter::flatten\28SkWriteBuffer&\29\20const +8320:\28anonymous\20namespace\29::SkImageImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8321:\28anonymous\20namespace\29::SkFTGeometrySink::Quad\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +8322:\28anonymous\20namespace\29::SkFTGeometrySink::Move\28FT_Vector_\20const*\2c\20void*\29 +8323:\28anonymous\20namespace\29::SkFTGeometrySink::Line\28FT_Vector_\20const*\2c\20void*\29 +8324:\28anonymous\20namespace\29::SkFTGeometrySink::Cubic\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +8325:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +8326:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFamilyName\28SkString*\29\20const +8327:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +8328:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateFamilyNameIterator\28\29\20const +8329:\28anonymous\20namespace\29::SkEmptyTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +8330:\28anonymous\20namespace\29::SkEmptyTypeface::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +8331:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8332:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8333:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8334:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::getTypeName\28\29\20const +8335:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::flatten\28SkWriteBuffer&\29\20const +8336:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8337:\28anonymous\20namespace\29::SkCropImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8338:\28anonymous\20namespace\29::SkCropImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8339:\28anonymous\20namespace\29::SkCropImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8340:\28anonymous\20namespace\29::SkCropImageFilter::onAffectsTransparentBlack\28\29\20const +8341:\28anonymous\20namespace\29::SkCropImageFilter::getTypeName\28\29\20const +8342:\28anonymous\20namespace\29::SkCropImageFilter::flatten\28SkWriteBuffer&\29\20const +8343:\28anonymous\20namespace\29::SkCropImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8344:\28anonymous\20namespace\29::SkComposeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8345:\28anonymous\20namespace\29::SkComposeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8346:\28anonymous\20namespace\29::SkComposeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8347:\28anonymous\20namespace\29::SkComposeImageFilter::getTypeName\28\29\20const +8348:\28anonymous\20namespace\29::SkComposeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8349:\28anonymous\20namespace\29::SkColorFilterImageFilter::onIsColorFilterNode\28SkColorFilter**\29\20const +8350:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8351:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8352:\28anonymous\20namespace\29::SkColorFilterImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8353:\28anonymous\20namespace\29::SkColorFilterImageFilter::onAffectsTransparentBlack\28\29\20const +8354:\28anonymous\20namespace\29::SkColorFilterImageFilter::getTypeName\28\29\20const +8355:\28anonymous\20namespace\29::SkColorFilterImageFilter::flatten\28SkWriteBuffer&\29\20const +8356:\28anonymous\20namespace\29::SkColorFilterImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8357:\28anonymous\20namespace\29::SkBlurImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8358:\28anonymous\20namespace\29::SkBlurImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8359:\28anonymous\20namespace\29::SkBlurImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8360:\28anonymous\20namespace\29::SkBlurImageFilter::getTypeName\28\29\20const +8361:\28anonymous\20namespace\29::SkBlurImageFilter::flatten\28SkWriteBuffer&\29\20const +8362:\28anonymous\20namespace\29::SkBlurImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8363:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29.1 +8364:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29 +8365:\28anonymous\20namespace\29::SkBlendImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8366:\28anonymous\20namespace\29::SkBlendImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8367:\28anonymous\20namespace\29::SkBlendImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8368:\28anonymous\20namespace\29::SkBlendImageFilter::onAffectsTransparentBlack\28\29\20const +8369:\28anonymous\20namespace\29::SkBlendImageFilter::getTypeName\28\29\20const +8370:\28anonymous\20namespace\29::SkBlendImageFilter::flatten\28SkWriteBuffer&\29\20const +8371:\28anonymous\20namespace\29::SkBlendImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8372:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29.1 +8373:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29 +8374:\28anonymous\20namespace\29::SkBidiIterator_icu::getLevelAt\28int\29 +8375:\28anonymous\20namespace\29::SkBidiIterator_icu::getLength\28\29 +8376:\28anonymous\20namespace\29::SimpleTriangleShader::name\28\29\20const +8377:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8378:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8379:\28anonymous\20namespace\29::ShaperHarfBuzz::~ShaperHarfBuzz\28\29.1 +8380:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20float\2c\20SkShaper::RunHandler*\29\20const +8381:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +8382:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20bool\2c\20float\2c\20SkShaper::RunHandler*\29\20const +8383:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::~ShapeDontWrapOrReorder\28\29 +8384:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::wrap\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::BiDiRunIterator\20const&\2c\20SkShaper::LanguageRunIterator\20const&\2c\20SkShaper::ScriptRunIterator\20const&\2c\20SkShaper::FontRunIterator\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +8385:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29.1 +8386:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29 +8387:\28anonymous\20namespace\29::ShadowInvalidator::changed\28\29 +8388:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29.1 +8389:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29 +8390:\28anonymous\20namespace\29::ShadowCircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +8391:\28anonymous\20namespace\29::ShadowCircularRRectOp::programInfo\28\29 +8392:\28anonymous\20namespace\29::ShadowCircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8393:\28anonymous\20namespace\29::ShadowCircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8394:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8395:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8396:\28anonymous\20namespace\29::ShadowCircularRRectOp::name\28\29\20const +8397:\28anonymous\20namespace\29::ShadowCircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8398:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +8399:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +8400:\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +8401:\28anonymous\20namespace\29::SDFTSubRun::vertexFiller\28\29\20const +8402:\28anonymous\20namespace\29::SDFTSubRun::unflattenSize\28\29\20const +8403:\28anonymous\20namespace\29::SDFTSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +8404:\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8405:\28anonymous\20namespace\29::SDFTSubRun::glyphs\28\29\20const +8406:\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +8407:\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8408:\28anonymous\20namespace\29::SDFTSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8409:\28anonymous\20namespace\29::SDFTSubRun::doFlatten\28SkWriteBuffer&\29\20const +8410:\28anonymous\20namespace\29::SDFTSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +8411:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29.1 +8412:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29 +8413:\28anonymous\20namespace\29::RectsBlurRec::getCategory\28\29\20const +8414:\28anonymous\20namespace\29::RectsBlurRec::diagnostic_only_getDiscardable\28\29\20const +8415:\28anonymous\20namespace\29::RectsBlurRec::bytesUsed\28\29\20const +8416:\28anonymous\20namespace\29::RectsBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +8417:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29.1 +8418:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29 +8419:\28anonymous\20namespace\29::RRectBlurRec::getCategory\28\29\20const +8420:\28anonymous\20namespace\29::RRectBlurRec::diagnostic_only_getDiscardable\28\29\20const +8421:\28anonymous\20namespace\29::RRectBlurRec::bytesUsed\28\29\20const +8422:\28anonymous\20namespace\29::RRectBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +8423:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29.1 +8424:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29 +8425:\28anonymous\20namespace\29::PathSubRun::unflattenSize\28\29\20const +8426:\28anonymous\20namespace\29::PathSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8427:\28anonymous\20namespace\29::PathSubRun::doFlatten\28SkWriteBuffer&\29\20const +8428:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29.1 +8429:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29 +8430:\28anonymous\20namespace\29::MipMapRec::getCategory\28\29\20const +8431:\28anonymous\20namespace\29::MipMapRec::diagnostic_only_getDiscardable\28\29\20const +8432:\28anonymous\20namespace\29::MipMapRec::bytesUsed\28\29\20const +8433:\28anonymous\20namespace\29::MipMapRec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +8434:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29.1 +8435:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29 +8436:\28anonymous\20namespace\29::MiddleOutShader::name\28\29\20const +8437:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8438:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8439:\28anonymous\20namespace\29::MiddleOutShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8440:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29.1 +8441:\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const +8442:\28anonymous\20namespace\29::MeshOp::programInfo\28\29 +8443:\28anonymous\20namespace\29::MeshOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8444:\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8445:\28anonymous\20namespace\29::MeshOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8446:\28anonymous\20namespace\29::MeshOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8447:\28anonymous\20namespace\29::MeshOp::name\28\29\20const +8448:\28anonymous\20namespace\29::MeshOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8449:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29.1 +8450:\28anonymous\20namespace\29::MeshGP::onTextureSampler\28int\29\20const +8451:\28anonymous\20namespace\29::MeshGP::name\28\29\20const +8452:\28anonymous\20namespace\29::MeshGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8453:\28anonymous\20namespace\29::MeshGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8454:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29.1 +8455:\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8456:\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8457:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +8458:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8459:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8460:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8461:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMangledName\28char\20const*\29 +8462:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMainName\28\29 +8463:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +8464:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +8465:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +8466:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareFunction\28char\20const*\29 +8467:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29.1 +8468:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29 +8469:\28anonymous\20namespace\29::ImageFromPictureRec::getCategory\28\29\20const +8470:\28anonymous\20namespace\29::ImageFromPictureRec::bytesUsed\28\29\20const +8471:\28anonymous\20namespace\29::ImageFromPictureRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +8472:\28anonymous\20namespace\29::HQDownSampler::buildLevel\28SkPixmap\20const&\2c\20SkPixmap\20const&\29 +8473:\28anonymous\20namespace\29::GaussPass::startBlur\28\29 +8474:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +8475:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +8476:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +8477:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29.1 +8478:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29 +8479:\28anonymous\20namespace\29::FillRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8480:\28anonymous\20namespace\29::FillRectOpImpl::programInfo\28\29 +8481:\28anonymous\20namespace\29::FillRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8482:\28anonymous\20namespace\29::FillRectOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8483:\28anonymous\20namespace\29::FillRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8484:\28anonymous\20namespace\29::FillRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8485:\28anonymous\20namespace\29::FillRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8486:\28anonymous\20namespace\29::FillRectOpImpl::name\28\29\20const +8487:\28anonymous\20namespace\29::FillRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8488:\28anonymous\20namespace\29::EllipticalRRectEffect::onMakeProgramImpl\28\29\20const +8489:\28anonymous\20namespace\29::EllipticalRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8490:\28anonymous\20namespace\29::EllipticalRRectEffect::name\28\29\20const +8491:\28anonymous\20namespace\29::EllipticalRRectEffect::clone\28\29\20const +8492:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +8493:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +8494:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29.1 +8495:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29 +8496:\28anonymous\20namespace\29::DrawableSubRun::unflattenSize\28\29\20const +8497:\28anonymous\20namespace\29::DrawableSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8498:\28anonymous\20namespace\29::DrawableSubRun::doFlatten\28SkWriteBuffer&\29\20const +8499:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29.1 +8500:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29 +8501:\28anonymous\20namespace\29::DrawAtlasPathShader::onTextureSampler\28int\29\20const +8502:\28anonymous\20namespace\29::DrawAtlasPathShader::name\28\29\20const +8503:\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8504:\28anonymous\20namespace\29::DrawAtlasPathShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8505:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8506:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8507:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29.1 +8508:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29 +8509:\28anonymous\20namespace\29::DrawAtlasOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8510:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8511:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8512:\28anonymous\20namespace\29::DrawAtlasOpImpl::name\28\29\20const +8513:\28anonymous\20namespace\29::DrawAtlasOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8514:\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +8515:\28anonymous\20namespace\29::DirectMaskSubRun::unflattenSize\28\29\20const +8516:\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8517:\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +8518:\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8519:\28anonymous\20namespace\29::DirectMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8520:\28anonymous\20namespace\29::DirectMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +8521:\28anonymous\20namespace\29::DirectMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +8522:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29.1 +8523:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29 +8524:\28anonymous\20namespace\29::DefaultPathOp::visitProxies\28std::__2::function\20const&\29\20const +8525:\28anonymous\20namespace\29::DefaultPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8526:\28anonymous\20namespace\29::DefaultPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8527:\28anonymous\20namespace\29::DefaultPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8528:\28anonymous\20namespace\29::DefaultPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8529:\28anonymous\20namespace\29::DefaultPathOp::name\28\29\20const +8530:\28anonymous\20namespace\29::DefaultPathOp::fixedFunctionFlags\28\29\20const +8531:\28anonymous\20namespace\29::DefaultPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8532:\28anonymous\20namespace\29::CircularRRectEffect::onMakeProgramImpl\28\29\20const +8533:\28anonymous\20namespace\29::CircularRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8534:\28anonymous\20namespace\29::CircularRRectEffect::name\28\29\20const +8535:\28anonymous\20namespace\29::CircularRRectEffect::clone\28\29\20const +8536:\28anonymous\20namespace\29::CircularRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +8537:\28anonymous\20namespace\29::CircularRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +8538:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29.1 +8539:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29 +8540:\28anonymous\20namespace\29::CachedTessellationsRec::getCategory\28\29\20const +8541:\28anonymous\20namespace\29::CachedTessellationsRec::bytesUsed\28\29\20const +8542:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29.1 +8543:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29.1 +8544:\28anonymous\20namespace\29::CacheImpl::set\28SkImageFilterCacheKey\20const&\2c\20SkImageFilter\20const*\2c\20skif::FilterResult\20const&\29 +8545:\28anonymous\20namespace\29::CacheImpl::purge\28\29 +8546:\28anonymous\20namespace\29::CacheImpl::purgeByImageFilter\28SkImageFilter\20const*\29 +8547:\28anonymous\20namespace\29::CacheImpl::get\28SkImageFilterCacheKey\20const&\2c\20skif::FilterResult*\29\20const +8548:\28anonymous\20namespace\29::BoundingBoxShader::name\28\29\20const +8549:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8550:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8551:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8552:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29.1 +8553:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29 +8554:\28anonymous\20namespace\29::AAHairlineOp::visitProxies\28std::__2::function\20const&\29\20const +8555:\28anonymous\20namespace\29::AAHairlineOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8556:\28anonymous\20namespace\29::AAHairlineOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8557:\28anonymous\20namespace\29::AAHairlineOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8558:\28anonymous\20namespace\29::AAHairlineOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8559:\28anonymous\20namespace\29::AAHairlineOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8560:\28anonymous\20namespace\29::AAHairlineOp::name\28\29\20const +8561:\28anonymous\20namespace\29::AAHairlineOp::fixedFunctionFlags\28\29\20const +8562:\28anonymous\20namespace\29::AAHairlineOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8563:YuvToRgbaRow +8564:YuvToRgba4444Row +8565:YuvToRgbRow +8566:YuvToRgb565Row +8567:YuvToBgraRow +8568:YuvToBgrRow +8569:YuvToArgbRow +8570:Write_CVT_Stretched +8571:Write_CVT +8572:WebPYuv444ToRgba_C +8573:WebPYuv444ToRgba4444_C +8574:WebPYuv444ToRgb_C +8575:WebPYuv444ToRgb565_C +8576:WebPYuv444ToBgra_C +8577:WebPYuv444ToBgr_C +8578:WebPYuv444ToArgb_C +8579:WebPRescalerImportRowShrink_C +8580:WebPRescalerImportRowExpand_C +8581:WebPRescalerExportRowShrink_C +8582:WebPRescalerExportRowExpand_C +8583:WebPMultRow_C +8584:WebPMultARGBRow_C +8585:WebPConvertRGBA32ToUV_C +8586:WebPConvertARGBToUV_C +8587:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29.1 +8588:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29 +8589:WebGLTextureImageGenerator::generateExternalTexture\28GrRecordingContext*\2c\20skgpu::Mipmapped\29 +8590:Vertish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +8591:Vertish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +8592:VerticalUnfilter_C +8593:VerticalFilter_C +8594:VertState::Triangles\28VertState*\29 +8595:VertState::TrianglesX\28VertState*\29 +8596:VertState::TriangleStrip\28VertState*\29 +8597:VertState::TriangleStripX\28VertState*\29 +8598:VertState::TriangleFan\28VertState*\29 +8599:VertState::TriangleFanX\28VertState*\29 +8600:VR4_C +8601:VP8LTransformColorInverse_C +8602:VP8LPredictor9_C +8603:VP8LPredictor8_C +8604:VP8LPredictor7_C +8605:VP8LPredictor6_C +8606:VP8LPredictor5_C +8607:VP8LPredictor4_C +8608:VP8LPredictor3_C +8609:VP8LPredictor2_C +8610:VP8LPredictor1_C +8611:VP8LPredictor13_C +8612:VP8LPredictor12_C +8613:VP8LPredictor11_C +8614:VP8LPredictor10_C +8615:VP8LPredictor0_C +8616:VP8LConvertBGRAToRGB_C +8617:VP8LConvertBGRAToRGBA_C +8618:VP8LConvertBGRAToRGBA4444_C +8619:VP8LConvertBGRAToRGB565_C +8620:VP8LConvertBGRAToBGR_C +8621:VP8LAddGreenToBlueAndRed_C +8622:VLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +8623:VLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +8624:VL4_C +8625:VFilter8i_C +8626:VFilter8_C +8627:VFilter16i_C +8628:VFilter16_C +8629:VE8uv_C +8630:VE4_C +8631:VE16_C +8632:UpsampleRgbaLinePair_C +8633:UpsampleRgba4444LinePair_C +8634:UpsampleRgbLinePair_C +8635:UpsampleRgb565LinePair_C +8636:UpsampleBgraLinePair_C +8637:UpsampleBgrLinePair_C +8638:UpsampleArgbLinePair_C +8639:UnresolvedCodepoints\28skia::textlayout::Paragraph&\29 +8640:TransformWHT_C +8641:TransformUV_C +8642:TransformTwo_C +8643:TransformDC_C +8644:TransformDCUV_C +8645:TransformAC3_C +8646:ToSVGString\28SkPath\20const&\29 +8647:ToCmds\28SkPath\20const&\29 +8648:TT_Set_MM_Blend +8649:TT_RunIns +8650:TT_Load_Simple_Glyph +8651:TT_Load_Glyph_Header +8652:TT_Load_Composite_Glyph +8653:TT_Get_Var_Design +8654:TT_Get_MM_Blend +8655:TT_Forget_Glyph_Frame +8656:TT_Access_Glyph_Frame +8657:TM8uv_C +8658:TM4_C +8659:TM16_C +8660:Sync +8661:SquareCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +8662:Sprite_D32_S32::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +8663:SkWuffsFrameHolder::onGetFrame\28int\29\20const +8664:SkWuffsCodec::~SkWuffsCodec\28\29.1 +8665:SkWuffsCodec::~SkWuffsCodec\28\29 +8666:SkWuffsCodec::onIncrementalDecode\28int*\29 +8667:SkWuffsCodec::onGetRepetitionCount\28\29 +8668:SkWuffsCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +8669:SkWuffsCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +8670:SkWuffsCodec::onGetFrameCount\28\29 +8671:SkWuffsCodec::getFrameHolder\28\29\20const +8672:SkWuffsCodec::getEncodedData\28\29\20const +8673:SkWriteICCProfile\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +8674:SkWebpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +8675:SkWebpCodec::~SkWebpCodec\28\29.1 +8676:SkWebpCodec::~SkWebpCodec\28\29 +8677:SkWebpCodec::onGetValidSubset\28SkIRect*\29\20const +8678:SkWebpCodec::onGetRepetitionCount\28\29 +8679:SkWebpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +8680:SkWebpCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +8681:SkWebpCodec::onGetFrameCount\28\29 +8682:SkWebpCodec::getFrameHolder\28\29\20const +8683:SkWebpCodec::FrameHolder::~FrameHolder\28\29.1 +8684:SkWebpCodec::FrameHolder::~FrameHolder\28\29 +8685:SkWebpCodec::FrameHolder::onGetFrame\28int\29\20const +8686:SkWeakRefCnt::internal_dispose\28\29\20const +8687:SkWbmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +8688:SkWbmpCodec::~SkWbmpCodec\28\29.1 +8689:SkWbmpCodec::~SkWbmpCodec\28\29 +8690:SkWbmpCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +8691:SkWbmpCodec::onSkipScanlines\28int\29 +8692:SkWbmpCodec::onRewind\28\29 +8693:SkWbmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +8694:SkWbmpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +8695:SkWbmpCodec::getSampler\28bool\29 +8696:SkWbmpCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +8697:SkVertices::Builder*\20emscripten::internal::operator_new\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29 +8698:SkUserTypeface::~SkUserTypeface\28\29.1 +8699:SkUserTypeface::~SkUserTypeface\28\29 +8700:SkUserTypeface::onOpenStream\28int*\29\20const +8701:SkUserTypeface::onGetUPEM\28\29\20const +8702:SkUserTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +8703:SkUserTypeface::onGetFamilyName\28SkString*\29\20const +8704:SkUserTypeface::onFilterRec\28SkScalerContextRec*\29\20const +8705:SkUserTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +8706:SkUserTypeface::onCountGlyphs\28\29\20const +8707:SkUserTypeface::onComputeBounds\28SkRect*\29\20const +8708:SkUserTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +8709:SkUserTypeface::getGlyphToUnicodeMap\28int*\29\20const +8710:SkUserScalerContext::~SkUserScalerContext\28\29 +8711:SkUserScalerContext::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +8712:SkUserScalerContext::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +8713:SkUserScalerContext::generateImage\28SkGlyph\20const&\2c\20void*\29 +8714:SkUserScalerContext::generateFontMetrics\28SkFontMetrics*\29 +8715:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29.1 +8716:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29 +8717:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onGetBounds\28\29 +8718:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onDraw\28SkCanvas*\29 +8719:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onApproximateBytesUsed\28\29 +8720:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29 +8721:SkUnicode_client::~SkUnicode_client\28\29.1 +8722:SkUnicode_client::~SkUnicode_client\28\29 +8723:SkUnicode_client::toUpper\28SkString\20const&\2c\20char\20const*\29 +8724:SkUnicode_client::toUpper\28SkString\20const&\29 +8725:SkUnicode_client::reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29 +8726:SkUnicode_client::makeBreakIterator\28char\20const*\2c\20SkUnicode::BreakType\29 +8727:SkUnicode_client::makeBreakIterator\28SkUnicode::BreakType\29 +8728:SkUnicode_client::makeBidiIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +8729:SkUnicode_client::makeBidiIterator\28char\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +8730:SkUnicode_client::getWords\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +8731:SkUnicode_client::getBidiRegions\28char\20const*\2c\20int\2c\20SkUnicode::TextDirection\2c\20std::__2::vector>*\29 +8732:SkUnicode_client::computeCodeUnitFlags\28char16_t*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +8733:SkUnicode_client::computeCodeUnitFlags\28char*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +8734:SkUnicodeHardCodedCharProperties::isWhitespace\28int\29 +8735:SkUnicodeHardCodedCharProperties::isTabulation\28int\29 +8736:SkUnicodeHardCodedCharProperties::isSpace\28int\29 +8737:SkUnicodeHardCodedCharProperties::isIdeographic\28int\29 +8738:SkUnicodeHardCodedCharProperties::isHardBreak\28int\29 +8739:SkUnicodeHardCodedCharProperties::isControl\28int\29 +8740:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29.1 +8741:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29 +8742:SkUnicodeBidiRunIterator::endOfCurrentRun\28\29\20const +8743:SkUnicodeBidiRunIterator::currentLevel\28\29\20const +8744:SkUnicodeBidiRunIterator::consume\28\29 +8745:SkUnicodeBidiRunIterator::atEnd\28\29\20const +8746:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29.1 +8747:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29 +8748:SkTypeface_FreeTypeStream::onOpenStream\28int*\29\20const +8749:SkTypeface_FreeTypeStream::onMakeFontData\28\29\20const +8750:SkTypeface_FreeTypeStream::onMakeClone\28SkFontArguments\20const&\29\20const +8751:SkTypeface_FreeTypeStream::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +8752:SkTypeface_FreeType::onGlyphMaskNeedsCurrentColor\28\29\20const +8753:SkTypeface_FreeType::onGetVariationDesignPosition\28SkFontArguments::VariationPosition::Coordinate*\2c\20int\29\20const +8754:SkTypeface_FreeType::onGetVariationDesignParameters\28SkFontParameters::Variation::Axis*\2c\20int\29\20const +8755:SkTypeface_FreeType::onGetUPEM\28\29\20const +8756:SkTypeface_FreeType::onGetTableTags\28unsigned\20int*\29\20const +8757:SkTypeface_FreeType::onGetTableData\28unsigned\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20void*\29\20const +8758:SkTypeface_FreeType::onGetPostScriptName\28SkString*\29\20const +8759:SkTypeface_FreeType::onGetKerningPairAdjustments\28unsigned\20short\20const*\2c\20int\2c\20int*\29\20const +8760:SkTypeface_FreeType::onGetAdvancedMetrics\28\29\20const +8761:SkTypeface_FreeType::onFilterRec\28SkScalerContextRec*\29\20const +8762:SkTypeface_FreeType::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +8763:SkTypeface_FreeType::onCreateFamilyNameIterator\28\29\20const +8764:SkTypeface_FreeType::onCountGlyphs\28\29\20const +8765:SkTypeface_FreeType::onCopyTableData\28unsigned\20int\29\20const +8766:SkTypeface_FreeType::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +8767:SkTypeface_FreeType::getPostScriptGlyphNames\28SkString*\29\20const +8768:SkTypeface_FreeType::getGlyphToUnicodeMap\28int*\29\20const +8769:SkTypeface_Empty::~SkTypeface_Empty\28\29 +8770:SkTypeface_Custom::~SkTypeface_Custom\28\29.1 +8771:SkTypeface_Custom::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +8772:SkTypeface::onCopyTableData\28unsigned\20int\29\20const +8773:SkTypeface::onComputeBounds\28SkRect*\29\20const +8774:SkTrimPE::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +8775:SkTrimPE::getTypeName\28\29\20const +8776:SkTriColorShader::type\28\29\20const +8777:SkTriColorShader::isOpaque\28\29\20const +8778:SkTriColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +8779:SkTransformShader::type\28\29\20const +8780:SkTransformShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +8781:SkTQuad::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +8782:SkTQuad::setBounds\28SkDRect*\29\20const +8783:SkTQuad::ptAtT\28double\29\20const +8784:SkTQuad::make\28SkArenaAlloc&\29\20const +8785:SkTQuad::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +8786:SkTQuad::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +8787:SkTQuad::dxdyAtT\28double\29\20const +8788:SkTQuad::debugInit\28\29 +8789:SkTCubic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +8790:SkTCubic::setBounds\28SkDRect*\29\20const +8791:SkTCubic::ptAtT\28double\29\20const +8792:SkTCubic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +8793:SkTCubic::make\28SkArenaAlloc&\29\20const +8794:SkTCubic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +8795:SkTCubic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +8796:SkTCubic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +8797:SkTCubic::dxdyAtT\28double\29\20const +8798:SkTCubic::debugInit\28\29 +8799:SkTCubic::controlsInside\28\29\20const +8800:SkTCubic::collapsed\28\29\20const +8801:SkTConic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +8802:SkTConic::setBounds\28SkDRect*\29\20const +8803:SkTConic::ptAtT\28double\29\20const +8804:SkTConic::make\28SkArenaAlloc&\29\20const +8805:SkTConic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +8806:SkTConic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +8807:SkTConic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +8808:SkTConic::dxdyAtT\28double\29\20const +8809:SkTConic::debugInit\28\29 +8810:SkSwizzler::onSetSampleX\28int\29 +8811:SkSwizzler::fillWidth\28\29\20const +8812:SkSweepGradient::getTypeName\28\29\20const +8813:SkSweepGradient::flatten\28SkWriteBuffer&\29\20const +8814:SkSweepGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +8815:SkSweepGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +8816:SkSurface_Raster::~SkSurface_Raster\28\29.1 +8817:SkSurface_Raster::~SkSurface_Raster\28\29 +8818:SkSurface_Raster::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +8819:SkSurface_Raster::onRestoreBackingMutability\28\29 +8820:SkSurface_Raster::onNewSurface\28SkImageInfo\20const&\29 +8821:SkSurface_Raster::onNewImageSnapshot\28SkIRect\20const*\29 +8822:SkSurface_Raster::onNewCanvas\28\29 +8823:SkSurface_Raster::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +8824:SkSurface_Raster::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +8825:SkSurface_Raster::imageInfo\28\29\20const +8826:SkSurface_Ganesh::~SkSurface_Ganesh\28\29.1 +8827:SkSurface_Ganesh::~SkSurface_Ganesh\28\29 +8828:SkSurface_Ganesh::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +8829:SkSurface_Ganesh::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +8830:SkSurface_Ganesh::onWait\28int\2c\20GrBackendSemaphore\20const*\2c\20bool\29 +8831:SkSurface_Ganesh::onNewSurface\28SkImageInfo\20const&\29 +8832:SkSurface_Ganesh::onNewImageSnapshot\28SkIRect\20const*\29 +8833:SkSurface_Ganesh::onNewCanvas\28\29 +8834:SkSurface_Ganesh::onIsCompatible\28GrSurfaceCharacterization\20const&\29\20const +8835:SkSurface_Ganesh::onGetRecordingContext\28\29\20const +8836:SkSurface_Ganesh::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +8837:SkSurface_Ganesh::onDiscard\28\29 +8838:SkSurface_Ganesh::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +8839:SkSurface_Ganesh::onCharacterize\28GrSurfaceCharacterization*\29\20const +8840:SkSurface_Ganesh::onCapabilities\28\29 +8841:SkSurface_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +8842:SkSurface_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +8843:SkSurface_Ganesh::imageInfo\28\29\20const +8844:SkSurface_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +8845:SkSurface::imageInfo\28\29\20const +8846:SkSurface::height\28\29\20const +8847:SkStrikeCache::~SkStrikeCache\28\29.1 +8848:SkStrikeCache::~SkStrikeCache\28\29 +8849:SkStrikeCache::findOrCreateScopedStrike\28SkStrikeSpec\20const&\29 +8850:SkStrike::~SkStrike\28\29.1 +8851:SkStrike::~SkStrike\28\29 +8852:SkStrike::strikePromise\28\29 +8853:SkStrike::roundingSpec\28\29\20const +8854:SkStrike::prepareForPath\28SkGlyph*\29 +8855:SkStrike::prepareForImage\28SkGlyph*\29 +8856:SkStrike::prepareForDrawable\28SkGlyph*\29 +8857:SkStrike::getDescriptor\28\29\20const +8858:SkSpriteBlitter_Memcpy::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +8859:SkSpriteBlitter::~SkSpriteBlitter\28\29.1 +8860:SkSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +8861:SkSpriteBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +8862:SkSpriteBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +8863:SkSpriteBlitter::blitH\28int\2c\20int\2c\20int\29 +8864:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29.1 +8865:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29 +8866:SkSpecialImage_Raster::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +8867:SkSpecialImage_Raster::getSize\28\29\20const +8868:SkSpecialImage_Raster::backingStoreDimensions\28\29\20const +8869:SkSpecialImage_Raster::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +8870:SkSpecialImage_Raster::asImage\28\29\20const +8871:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29.1 +8872:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29 +8873:SkSpecialImage_Gpu::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +8874:SkSpecialImage_Gpu::getSize\28\29\20const +8875:SkSpecialImage_Gpu::backingStoreDimensions\28\29\20const +8876:SkSpecialImage_Gpu::asImage\28\29\20const +8877:SkSpecialImage::~SkSpecialImage\28\29 +8878:SkSpecialImage::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +8879:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29.1 +8880:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29 +8881:SkShaper::TrivialLanguageRunIterator::currentLanguage\28\29\20const +8882:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29.1 +8883:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29 +8884:SkShaper::TrivialBiDiRunIterator::currentLevel\28\29\20const +8885:SkShaderBlurAlgorithm::maxSigma\28\29\20const +8886:SkShaderBlurAlgorithm::blur\28SkSize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +8887:SkScan::HairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8888:SkScan::HairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8889:SkScan::HairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8890:SkScan::AntiHairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8891:SkScan::AntiHairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8892:SkScan::AntiHairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8893:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8894:SkScalingCodec::onGetScaledDimensions\28float\29\20const +8895:SkScalingCodec::onDimensionsSupported\28SkISize\20const&\29 +8896:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29.1 +8897:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29 +8898:SkScalerContext_FreeType::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +8899:SkScalerContext_FreeType::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +8900:SkScalerContext_FreeType::generateImage\28SkGlyph\20const&\2c\20void*\29 +8901:SkScalerContext_FreeType::generateFontMetrics\28SkFontMetrics*\29 +8902:SkScalerContext_FreeType::generateDrawable\28SkGlyph\20const&\29 +8903:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::~SkScalerContext_Empty\28\29 +8904:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +8905:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +8906:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateFontMetrics\28SkFontMetrics*\29 +8907:SkSampledCodec::onGetSampledDimensions\28int\29\20const +8908:SkSampledCodec::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +8909:SkSRGBColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +8910:SkSRGBColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +8911:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_3::__invoke\28double\2c\20double\29 +8912:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_2::__invoke\28double\2c\20double\29 +8913:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_1::__invoke\28double\2c\20double\29 +8914:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_0::__invoke\28double\2c\20double\29 +8915:SkSL::remove_break_statements\28std::__2::unique_ptr>&\29::RemoveBreaksWriter::visitStatementPtr\28std::__2::unique_ptr>&\29 +8916:SkSL::hoist_vardecl_symbols_into_outer_scope\28SkSL::Context\20const&\2c\20SkSL::Block\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::SymbolTable*\29::SymbolHoister::visitStatement\28SkSL::Statement\20const&\29 +8917:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29.1 +8918:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29 +8919:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29.1 +8920:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29 +8921:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +8922:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitExpressionPtr\28std::__2::unique_ptr>&\29 +8923:SkSL::count_returns_at_end_of_control_flow\28SkSL::FunctionDefinition\20const&\29::CountReturnsAtEndOfControlFlow::visitStatement\28SkSL::Statement\20const&\29 +8924:SkSL::\28anonymous\20namespace\29::VariableWriteVisitor::visitExpression\28SkSL::Expression\20const&\29 +8925:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8926:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitExpression\28SkSL::Expression\20const&\29 +8927:SkSL::\28anonymous\20namespace\29::ReturnsNonOpaqueColorVisitor::visitStatement\28SkSL::Statement\20const&\29 +8928:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitStatement\28SkSL::Statement\20const&\29 +8929:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8930:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStatement\28SkSL::Statement\20const&\29 +8931:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitStatement\28SkSL::Statement\20const&\29 +8932:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8933:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitExpression\28SkSL::Expression\20const&\29 +8934:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8935:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +8936:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29.1 +8937:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29 +8938:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitExpression\28SkSL::Expression\20const&\29 +8939:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29.1 +8940:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29 +8941:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitStatement\28SkSL::Statement\20const&\29 +8942:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitExpression\28SkSL::Expression\20const&\29 +8943:SkSL::VectorType::isAllowedInUniform\28SkSL::Position*\29\20const +8944:SkSL::VectorType::isAllowedInES2\28\29\20const +8945:SkSL::VariableReference::clone\28SkSL::Position\29\20const +8946:SkSL::Variable::~Variable\28\29.1 +8947:SkSL::Variable::~Variable\28\29 +8948:SkSL::Variable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +8949:SkSL::Variable::mangledName\28\29\20const +8950:SkSL::Variable::layout\28\29\20const +8951:SkSL::Variable::description\28\29\20const +8952:SkSL::VarDeclaration::~VarDeclaration\28\29.1 +8953:SkSL::VarDeclaration::~VarDeclaration\28\29 +8954:SkSL::VarDeclaration::description\28\29\20const +8955:SkSL::TypeReference::clone\28SkSL::Position\29\20const +8956:SkSL::Type::minimumValue\28\29\20const +8957:SkSL::Type::maximumValue\28\29\20const +8958:SkSL::Type::isAllowedInUniform\28SkSL::Position*\29\20const +8959:SkSL::Type::fields\28\29\20const +8960:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29.1 +8961:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29 +8962:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::visitStatementPtr\28std::__2::unique_ptr>&\29 +8963:SkSL::Tracer::var\28int\2c\20int\29 +8964:SkSL::Tracer::scope\28int\29 +8965:SkSL::Tracer::line\28int\29 +8966:SkSL::Tracer::exit\28int\29 +8967:SkSL::Tracer::enter\28int\29 +8968:SkSL::TextureType::textureAccess\28\29\20const +8969:SkSL::TextureType::isMultisampled\28\29\20const +8970:SkSL::TextureType::isDepth\28\29\20const +8971:SkSL::TextureType::isArrayedTexture\28\29\20const +8972:SkSL::TernaryExpression::~TernaryExpression\28\29.1 +8973:SkSL::TernaryExpression::~TernaryExpression\28\29 +8974:SkSL::TernaryExpression::description\28SkSL::OperatorPrecedence\29\20const +8975:SkSL::TernaryExpression::clone\28SkSL::Position\29\20const +8976:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression&\29 +8977:SkSL::Swizzle::description\28SkSL::OperatorPrecedence\29\20const +8978:SkSL::Swizzle::clone\28SkSL::Position\29\20const +8979:SkSL::SwitchStatement::description\28\29\20const +8980:SkSL::SwitchCase::description\28\29\20const +8981:SkSL::StructType::slotType\28unsigned\20long\29\20const +8982:SkSL::StructType::isOrContainsUnsizedArray\28\29\20const +8983:SkSL::StructType::isOrContainsAtomic\28\29\20const +8984:SkSL::StructType::isOrContainsArray\28\29\20const +8985:SkSL::StructType::isInterfaceBlock\28\29\20const +8986:SkSL::StructType::isBuiltin\28\29\20const +8987:SkSL::StructType::isAllowedInUniform\28SkSL::Position*\29\20const +8988:SkSL::StructType::isAllowedInES2\28\29\20const +8989:SkSL::StructType::fields\28\29\20const +8990:SkSL::StructDefinition::description\28\29\20const +8991:SkSL::StringStream::~StringStream\28\29.1 +8992:SkSL::StringStream::~StringStream\28\29 +8993:SkSL::StringStream::write\28void\20const*\2c\20unsigned\20long\29 +8994:SkSL::StringStream::writeText\28char\20const*\29 +8995:SkSL::StringStream::write8\28unsigned\20char\29 +8996:SkSL::SingleArgumentConstructor::~SingleArgumentConstructor\28\29 +8997:SkSL::Setting::description\28SkSL::OperatorPrecedence\29\20const +8998:SkSL::Setting::clone\28SkSL::Position\29\20const +8999:SkSL::ScalarType::priority\28\29\20const +9000:SkSL::ScalarType::numberKind\28\29\20const +9001:SkSL::ScalarType::minimumValue\28\29\20const +9002:SkSL::ScalarType::maximumValue\28\29\20const +9003:SkSL::ScalarType::isAllowedInUniform\28SkSL::Position*\29\20const +9004:SkSL::ScalarType::isAllowedInES2\28\29\20const +9005:SkSL::ScalarType::bitWidth\28\29\20const +9006:SkSL::SamplerType::textureAccess\28\29\20const +9007:SkSL::SamplerType::isMultisampled\28\29\20const +9008:SkSL::SamplerType::isDepth\28\29\20const +9009:SkSL::SamplerType::isArrayedTexture\28\29\20const +9010:SkSL::SamplerType::dimensions\28\29\20const +9011:SkSL::ReturnStatement::description\28\29\20const +9012:SkSL::RP::VariableLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9013:SkSL::RP::VariableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9014:SkSL::RP::VariableLValue::isWritable\28\29\20const +9015:SkSL::RP::VariableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9016:SkSL::RP::UnownedLValueSlice::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9017:SkSL::RP::UnownedLValueSlice::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9018:SkSL::RP::UnownedLValueSlice::fixedSlotRange\28SkSL::RP::Generator*\29 +9019:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29.1 +9020:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29 +9021:SkSL::RP::SwizzleLValue::swizzle\28\29 +9022:SkSL::RP::SwizzleLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9023:SkSL::RP::SwizzleLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9024:SkSL::RP::SwizzleLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9025:SkSL::RP::ScratchLValue::~ScratchLValue\28\29.1 +9026:SkSL::RP::ScratchLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9027:SkSL::RP::ScratchLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9028:SkSL::RP::LValueSlice::~LValueSlice\28\29.1 +9029:SkSL::RP::LValueSlice::~LValueSlice\28\29 +9030:SkSL::RP::LValue::~LValue\28\29.1 +9031:SkSL::RP::ImmutableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9032:SkSL::RP::ImmutableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9033:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29.1 +9034:SkSL::RP::DynamicIndexLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9035:SkSL::RP::DynamicIndexLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9036:SkSL::RP::DynamicIndexLValue::isWritable\28\29\20const +9037:SkSL::RP::DynamicIndexLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9038:SkSL::ProgramVisitor::visitStatementPtr\28std::__2::unique_ptr>\20const&\29 +9039:SkSL::ProgramVisitor::visitExpressionPtr\28std::__2::unique_ptr>\20const&\29 +9040:SkSL::PrefixExpression::description\28SkSL::OperatorPrecedence\29\20const +9041:SkSL::PrefixExpression::clone\28SkSL::Position\29\20const +9042:SkSL::PostfixExpression::description\28SkSL::OperatorPrecedence\29\20const +9043:SkSL::PostfixExpression::clone\28SkSL::Position\29\20const +9044:SkSL::Poison::description\28SkSL::OperatorPrecedence\29\20const +9045:SkSL::Poison::clone\28SkSL::Position\29\20const +9046:SkSL::PipelineStage::Callbacks::getMainName\28\29 +9047:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29.1 +9048:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29 +9049:SkSL::Parser::Checkpoint::ForwardingErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +9050:SkSL::Nop::description\28\29\20const +9051:SkSL::MultiArgumentConstructor::~MultiArgumentConstructor\28\29 +9052:SkSL::ModifiersDeclaration::description\28\29\20const +9053:SkSL::MethodReference::description\28SkSL::OperatorPrecedence\29\20const +9054:SkSL::MethodReference::clone\28SkSL::Position\29\20const +9055:SkSL::MatrixType::slotCount\28\29\20const +9056:SkSL::MatrixType::rows\28\29\20const +9057:SkSL::MatrixType::isAllowedInES2\28\29\20const +9058:SkSL::LiteralType::minimumValue\28\29\20const +9059:SkSL::LiteralType::maximumValue\28\29\20const +9060:SkSL::Literal::getConstantValue\28int\29\20const +9061:SkSL::Literal::description\28SkSL::OperatorPrecedence\29\20const +9062:SkSL::Literal::compareConstant\28SkSL::Expression\20const&\29\20const +9063:SkSL::Literal::clone\28SkSL::Position\29\20const +9064:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_uintBitsToFloat\28double\2c\20double\2c\20double\29 +9065:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_trunc\28double\2c\20double\2c\20double\29 +9066:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tanh\28double\2c\20double\2c\20double\29 +9067:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tan\28double\2c\20double\2c\20double\29 +9068:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_step\28double\2c\20double\2c\20double\29 +9069:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sqrt\28double\2c\20double\2c\20double\29 +9070:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_smoothstep\28double\2c\20double\2c\20double\29 +9071:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sinh\28double\2c\20double\2c\20double\29 +9072:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sin\28double\2c\20double\2c\20double\29 +9073:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_saturate\28double\2c\20double\2c\20double\29 +9074:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_radians\28double\2c\20double\2c\20double\29 +9075:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_pow\28double\2c\20double\2c\20double\29 +9076:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mod\28double\2c\20double\2c\20double\29 +9077:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mix\28double\2c\20double\2c\20double\29 +9078:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_min\28double\2c\20double\2c\20double\29 +9079:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_max\28double\2c\20double\2c\20double\29 +9080:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_matrixCompMult\28double\2c\20double\2c\20double\29 +9081:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log\28double\2c\20double\2c\20double\29 +9082:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log2\28double\2c\20double\2c\20double\29 +9083:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_inversesqrt\28double\2c\20double\2c\20double\29 +9084:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_intBitsToFloat\28double\2c\20double\2c\20double\29 +9085:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fract\28double\2c\20double\2c\20double\29 +9086:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fma\28double\2c\20double\2c\20double\29 +9087:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floor\28double\2c\20double\2c\20double\29 +9088:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToUint\28double\2c\20double\2c\20double\29 +9089:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToInt\28double\2c\20double\2c\20double\29 +9090:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp\28double\2c\20double\2c\20double\29 +9091:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp2\28double\2c\20double\2c\20double\29 +9092:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_degrees\28double\2c\20double\2c\20double\29 +9093:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cosh\28double\2c\20double\2c\20double\29 +9094:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cos\28double\2c\20double\2c\20double\29 +9095:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_clamp\28double\2c\20double\2c\20double\29 +9096:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_ceil\28double\2c\20double\2c\20double\29 +9097:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atanh\28double\2c\20double\2c\20double\29 +9098:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan\28double\2c\20double\2c\20double\29 +9099:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan2\28double\2c\20double\2c\20double\29 +9100:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asinh\28double\2c\20double\2c\20double\29 +9101:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asin\28double\2c\20double\2c\20double\29 +9102:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acosh\28double\2c\20double\2c\20double\29 +9103:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acos\28double\2c\20double\2c\20double\29 +9104:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_abs\28double\2c\20double\2c\20double\29 +9105:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_notEqual\28double\2c\20double\29 +9106:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThan\28double\2c\20double\29 +9107:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThanEqual\28double\2c\20double\29 +9108:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThan\28double\2c\20double\29 +9109:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThanEqual\28double\2c\20double\29 +9110:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_equal\28double\2c\20double\29 +9111:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_any\28double\2c\20double\2c\20double\29 +9112:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_all\28double\2c\20double\2c\20double\29 +9113:SkSL::InterfaceBlock::~InterfaceBlock\28\29.1 +9114:SkSL::InterfaceBlock::description\28\29\20const +9115:SkSL::IndexExpression::~IndexExpression\28\29.1 +9116:SkSL::IndexExpression::~IndexExpression\28\29 +9117:SkSL::IndexExpression::description\28SkSL::OperatorPrecedence\29\20const +9118:SkSL::IndexExpression::clone\28SkSL::Position\29\20const +9119:SkSL::IfStatement::~IfStatement\28\29.1 +9120:SkSL::IfStatement::~IfStatement\28\29 +9121:SkSL::IfStatement::description\28\29\20const +9122:SkSL::GlobalVarDeclaration::description\28\29\20const +9123:SkSL::GenericType::slotType\28unsigned\20long\29\20const +9124:SkSL::GenericType::coercibleTypes\28\29\20const +9125:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29.1 +9126:SkSL::FunctionReference::description\28SkSL::OperatorPrecedence\29\20const +9127:SkSL::FunctionReference::clone\28SkSL::Position\29\20const +9128:SkSL::FunctionPrototype::description\28\29\20const +9129:SkSL::FunctionDefinition::description\28\29\20const +9130:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29.1 +9131:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29 +9132:SkSL::FunctionCall::description\28SkSL::OperatorPrecedence\29\20const +9133:SkSL::FunctionCall::clone\28SkSL::Position\29\20const +9134:SkSL::ForStatement::~ForStatement\28\29.1 +9135:SkSL::ForStatement::~ForStatement\28\29 +9136:SkSL::ForStatement::description\28\29\20const +9137:SkSL::FieldSymbol::description\28\29\20const +9138:SkSL::FieldAccess::clone\28SkSL::Position\29\20const +9139:SkSL::Extension::description\28\29\20const +9140:SkSL::ExtendedVariable::~ExtendedVariable\28\29.1 +9141:SkSL::ExtendedVariable::~ExtendedVariable\28\29 +9142:SkSL::ExtendedVariable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +9143:SkSL::ExtendedVariable::mangledName\28\29\20const +9144:SkSL::ExtendedVariable::layout\28\29\20const +9145:SkSL::ExtendedVariable::interfaceBlock\28\29\20const +9146:SkSL::ExtendedVariable::detachDeadInterfaceBlock\28\29 +9147:SkSL::ExpressionStatement::description\28\29\20const +9148:SkSL::Expression::getConstantValue\28int\29\20const +9149:SkSL::EmptyExpression::description\28SkSL::OperatorPrecedence\29\20const +9150:SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +9151:SkSL::DoStatement::description\28\29\20const +9152:SkSL::DiscardStatement::description\28\29\20const +9153:SkSL::DebugTracePriv::~DebugTracePriv\28\29.1 +9154:SkSL::DebugTracePriv::writeTrace\28SkWStream*\29\20const +9155:SkSL::DebugTracePriv::dump\28SkWStream*\29\20const +9156:SkSL::CountReturnsWithLimit::visitStatement\28SkSL::Statement\20const&\29 +9157:SkSL::ContinueStatement::description\28\29\20const +9158:SkSL::ConstructorStruct::clone\28SkSL::Position\29\20const +9159:SkSL::ConstructorSplat::getConstantValue\28int\29\20const +9160:SkSL::ConstructorSplat::clone\28SkSL::Position\29\20const +9161:SkSL::ConstructorScalarCast::clone\28SkSL::Position\29\20const +9162:SkSL::ConstructorMatrixResize::getConstantValue\28int\29\20const +9163:SkSL::ConstructorMatrixResize::clone\28SkSL::Position\29\20const +9164:SkSL::ConstructorDiagonalMatrix::getConstantValue\28int\29\20const +9165:SkSL::ConstructorDiagonalMatrix::clone\28SkSL::Position\29\20const +9166:SkSL::ConstructorCompoundCast::clone\28SkSL::Position\29\20const +9167:SkSL::ConstructorCompound::clone\28SkSL::Position\29\20const +9168:SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +9169:SkSL::ConstructorArray::clone\28SkSL::Position\29\20const +9170:SkSL::Compiler::CompilerErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +9171:SkSL::CodeGenerator::~CodeGenerator\28\29 +9172:SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +9173:SkSL::ChildCall::clone\28SkSL::Position\29\20const +9174:SkSL::BreakStatement::description\28\29\20const +9175:SkSL::Block::~Block\28\29.1 +9176:SkSL::Block::~Block\28\29 +9177:SkSL::Block::isEmpty\28\29\20const +9178:SkSL::Block::description\28\29\20const +9179:SkSL::BinaryExpression::~BinaryExpression\28\29.1 +9180:SkSL::BinaryExpression::~BinaryExpression\28\29 +9181:SkSL::BinaryExpression::description\28SkSL::OperatorPrecedence\29\20const +9182:SkSL::BinaryExpression::clone\28SkSL::Position\29\20const +9183:SkSL::ArrayType::slotType\28unsigned\20long\29\20const +9184:SkSL::ArrayType::slotCount\28\29\20const +9185:SkSL::ArrayType::isUnsizedArray\28\29\20const +9186:SkSL::ArrayType::isOrContainsUnsizedArray\28\29\20const +9187:SkSL::ArrayType::isOrContainsAtomic\28\29\20const +9188:SkSL::ArrayType::isBuiltin\28\29\20const +9189:SkSL::ArrayType::isAllowedInUniform\28SkSL::Position*\29\20const +9190:SkSL::AnyConstructor::getConstantValue\28int\29\20const +9191:SkSL::AnyConstructor::description\28SkSL::OperatorPrecedence\29\20const +9192:SkSL::AnyConstructor::compareConstant\28SkSL::Expression\20const&\29\20const +9193:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29::IsDynamicallyUniformExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +9194:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29::IsCompileTimeConstantVisitor::visitExpression\28SkSL::Expression\20const&\29 +9195:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29::HasSideEffectsVisitor::visitExpression\28SkSL::Expression\20const&\29 +9196:SkSL::Analysis::ContainsVariable\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29::ContainsVariableVisitor::visitExpression\28SkSL::Expression\20const&\29 +9197:SkSL::Analysis::ContainsRTAdjust\28SkSL::Expression\20const&\29::ContainsRTAdjustVisitor::visitExpression\28SkSL::Expression\20const&\29 +9198:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29.1 +9199:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29 +9200:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitStatement\28SkSL::Statement\20const&\29 +9201:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitExpression\28SkSL::Expression\20const&\29 +9202:SkSL::AliasType::textureAccess\28\29\20const +9203:SkSL::AliasType::slotType\28unsigned\20long\29\20const +9204:SkSL::AliasType::slotCount\28\29\20const +9205:SkSL::AliasType::rows\28\29\20const +9206:SkSL::AliasType::priority\28\29\20const +9207:SkSL::AliasType::isVector\28\29\20const +9208:SkSL::AliasType::isUnsizedArray\28\29\20const +9209:SkSL::AliasType::isStruct\28\29\20const +9210:SkSL::AliasType::isScalar\28\29\20const +9211:SkSL::AliasType::isMultisampled\28\29\20const +9212:SkSL::AliasType::isMatrix\28\29\20const +9213:SkSL::AliasType::isLiteral\28\29\20const +9214:SkSL::AliasType::isInterfaceBlock\28\29\20const +9215:SkSL::AliasType::isDepth\28\29\20const +9216:SkSL::AliasType::isArrayedTexture\28\29\20const +9217:SkSL::AliasType::isArray\28\29\20const +9218:SkSL::AliasType::dimensions\28\29\20const +9219:SkSL::AliasType::componentType\28\29\20const +9220:SkSL::AliasType::columns\28\29\20const +9221:SkSL::AliasType::coercibleTypes\28\29\20const +9222:SkRuntimeShader::~SkRuntimeShader\28\29.1 +9223:SkRuntimeShader::type\28\29\20const +9224:SkRuntimeShader::isOpaque\28\29\20const +9225:SkRuntimeShader::getTypeName\28\29\20const +9226:SkRuntimeShader::flatten\28SkWriteBuffer&\29\20const +9227:SkRuntimeShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9228:SkRuntimeEffect::~SkRuntimeEffect\28\29.1 +9229:SkRuntimeEffect::MakeFromSource\28SkString\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +9230:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29.1 +9231:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29 +9232:SkRuntimeColorFilter::onIsAlphaUnchanged\28\29\20const +9233:SkRuntimeColorFilter::getTypeName\28\29\20const +9234:SkRuntimeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9235:SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +9236:SkRuntimeBlender::~SkRuntimeBlender\28\29 +9237:SkRuntimeBlender::onAppendStages\28SkStageRec\20const&\29\20const +9238:SkRuntimeBlender::getTypeName\28\29\20const +9239:SkRgnClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9240:SkRgnClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9241:SkRgnClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +9242:SkRgnClipBlitter::blitH\28int\2c\20int\2c\20int\29 +9243:SkRgnClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +9244:SkRgnClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +9245:SkRgnBuilder::~SkRgnBuilder\28\29.1 +9246:SkRgnBuilder::blitH\28int\2c\20int\2c\20int\29 +9247:SkResourceCache::SetTotalByteLimit\28unsigned\20long\29 +9248:SkResourceCache::GetTotalBytesUsed\28\29 +9249:SkResourceCache::GetTotalByteLimit\28\29 +9250:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29.1 +9251:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29 +9252:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::rowBytes\28int\29\20const +9253:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::data\28int\29\20const +9254:SkRefCntSet::~SkRefCntSet\28\29.1 +9255:SkRefCntSet::incPtr\28void*\29 +9256:SkRefCntSet::decPtr\28void*\29 +9257:SkRectClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9258:SkRectClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9259:SkRectClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +9260:SkRectClipBlitter::blitH\28int\2c\20int\2c\20int\29 +9261:SkRectClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +9262:SkRectClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +9263:SkRecorder::~SkRecorder\28\29.1 +9264:SkRecorder::~SkRecorder\28\29 +9265:SkRecorder::willSave\28\29 +9266:SkRecorder::onResetClip\28\29 +9267:SkRecorder::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9268:SkRecorder::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9269:SkRecorder::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +9270:SkRecorder::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +9271:SkRecorder::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +9272:SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +9273:SkRecorder::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +9274:SkRecorder::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +9275:SkRecorder::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +9276:SkRecorder::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +9277:SkRecorder::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9278:SkRecorder::onDrawPaint\28SkPaint\20const&\29 +9279:SkRecorder::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +9280:SkRecorder::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +9281:SkRecorder::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9282:SkRecorder::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +9283:SkRecorder::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9284:SkRecorder::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +9285:SkRecorder::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +9286:SkRecorder::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9287:SkRecorder::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +9288:SkRecorder::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +9289:SkRecorder::onDrawBehind\28SkPaint\20const&\29 +9290:SkRecorder::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +9291:SkRecorder::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +9292:SkRecorder::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +9293:SkRecorder::onDoSaveBehind\28SkRect\20const*\29 +9294:SkRecorder::onClipShader\28sk_sp\2c\20SkClipOp\29 +9295:SkRecorder::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +9296:SkRecorder::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9297:SkRecorder::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9298:SkRecorder::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9299:SkRecorder::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +9300:SkRecorder::didTranslate\28float\2c\20float\29 +9301:SkRecorder::didSetM44\28SkM44\20const&\29 +9302:SkRecorder::didScale\28float\2c\20float\29 +9303:SkRecorder::didRestore\28\29 +9304:SkRecorder::didConcat44\28SkM44\20const&\29 +9305:SkRecordedDrawable::~SkRecordedDrawable\28\29.1 +9306:SkRecordedDrawable::~SkRecordedDrawable\28\29 +9307:SkRecordedDrawable::onMakePictureSnapshot\28\29 +9308:SkRecordedDrawable::onGetBounds\28\29 +9309:SkRecordedDrawable::onDraw\28SkCanvas*\29 +9310:SkRecordedDrawable::onApproximateBytesUsed\28\29 +9311:SkRecordedDrawable::getTypeName\28\29\20const +9312:SkRecordedDrawable::flatten\28SkWriteBuffer&\29\20const +9313:SkRecord::~SkRecord\28\29.1 +9314:SkRecord::~SkRecord\28\29 +9315:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29.1 +9316:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29 +9317:SkRasterPipelineSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +9318:SkRasterPipelineSpriteBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9319:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29.1 +9320:SkRasterPipelineBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9321:SkRasterPipelineBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9322:SkRasterPipelineBlitter::blitH\28int\2c\20int\2c\20int\29 +9323:SkRasterPipelineBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +9324:SkRasterPipelineBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +9325:SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +9326:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_3::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +9327:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_2::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +9328:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_1::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +9329:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_0::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +9330:SkRadialGradient::getTypeName\28\29\20const +9331:SkRadialGradient::flatten\28SkWriteBuffer&\29\20const +9332:SkRadialGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9333:SkRadialGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +9334:SkRTree::~SkRTree\28\29.1 +9335:SkRTree::~SkRTree\28\29 +9336:SkRTree::search\28SkRect\20const&\2c\20std::__2::vector>*\29\20const +9337:SkRTree::insert\28SkRect\20const*\2c\20int\29 +9338:SkRTree::bytesUsed\28\29\20const +9339:SkPtrSet::~SkPtrSet\28\29 +9340:SkPngNormalDecoder::~SkPngNormalDecoder\28\29 +9341:SkPngNormalDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +9342:SkPngNormalDecoder::decode\28int*\29 +9343:SkPngNormalDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +9344:SkPngNormalDecoder::RowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +9345:SkPngNormalDecoder::AllRowsCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +9346:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29.1 +9347:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29 +9348:SkPngInterlacedDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +9349:SkPngInterlacedDecoder::decode\28int*\29 +9350:SkPngInterlacedDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +9351:SkPngInterlacedDecoder::InterlacedRowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +9352:SkPngEncoderImpl::~SkPngEncoderImpl\28\29.1 +9353:SkPngEncoderImpl::~SkPngEncoderImpl\28\29 +9354:SkPngEncoderImpl::onEncodeRows\28int\29 +9355:SkPngDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9356:SkPngCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9357:SkPngCodec::onRewind\28\29 +9358:SkPngCodec::onIncrementalDecode\28int*\29 +9359:SkPngCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9360:SkPngCodec::getSampler\28bool\29 +9361:SkPngCodec::createColorTable\28SkImageInfo\20const&\29 +9362:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_2::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +9363:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_1::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +9364:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_0::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +9365:SkPixelRef::~SkPixelRef\28\29.1 +9366:SkPictureShader::~SkPictureShader\28\29.1 +9367:SkPictureShader::~SkPictureShader\28\29 +9368:SkPictureShader::type\28\29\20const +9369:SkPictureShader::getTypeName\28\29\20const +9370:SkPictureShader::flatten\28SkWriteBuffer&\29\20const +9371:SkPictureShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9372:SkPictureRecorder*\20emscripten::internal::operator_new\28\29 +9373:SkPictureRecord::~SkPictureRecord\28\29.1 +9374:SkPictureRecord::willSave\28\29 +9375:SkPictureRecord::willRestore\28\29 +9376:SkPictureRecord::onResetClip\28\29 +9377:SkPictureRecord::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9378:SkPictureRecord::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9379:SkPictureRecord::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +9380:SkPictureRecord::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +9381:SkPictureRecord::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +9382:SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +9383:SkPictureRecord::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +9384:SkPictureRecord::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +9385:SkPictureRecord::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +9386:SkPictureRecord::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +9387:SkPictureRecord::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9388:SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +9389:SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +9390:SkPictureRecord::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9391:SkPictureRecord::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +9392:SkPictureRecord::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9393:SkPictureRecord::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +9394:SkPictureRecord::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9395:SkPictureRecord::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +9396:SkPictureRecord::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +9397:SkPictureRecord::onDrawBehind\28SkPaint\20const&\29 +9398:SkPictureRecord::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +9399:SkPictureRecord::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +9400:SkPictureRecord::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +9401:SkPictureRecord::onDoSaveBehind\28SkRect\20const*\29 +9402:SkPictureRecord::onClipShader\28sk_sp\2c\20SkClipOp\29 +9403:SkPictureRecord::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +9404:SkPictureRecord::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9405:SkPictureRecord::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9406:SkPictureRecord::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9407:SkPictureRecord::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +9408:SkPictureRecord::didTranslate\28float\2c\20float\29 +9409:SkPictureRecord::didSetM44\28SkM44\20const&\29 +9410:SkPictureRecord::didScale\28float\2c\20float\29 +9411:SkPictureRecord::didConcat44\28SkM44\20const&\29 +9412:SkPictureData::serialize\28SkWStream*\2c\20SkSerialProcs\20const&\2c\20SkRefCntSet*\2c\20bool\29\20const::DevNull::write\28void\20const*\2c\20unsigned\20long\29 +9413:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29.1 +9414:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29 +9415:SkPerlinNoiseShader::type\28\29\20const +9416:SkPerlinNoiseShader::getTypeName\28\29\20const +9417:SkPerlinNoiseShader::flatten\28SkWriteBuffer&\29\20const +9418:SkPerlinNoiseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9419:SkPath::setIsVolatile\28bool\29 +9420:SkPath::setFillType\28SkPathFillType\29 +9421:SkPath::isVolatile\28\29\20const +9422:SkPath::getFillType\28\29\20const +9423:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29.1 +9424:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29 +9425:SkPath2DPathEffectImpl::next\28SkPoint\20const&\2c\20int\2c\20int\2c\20SkPath*\29\20const +9426:SkPath2DPathEffectImpl::getTypeName\28\29\20const +9427:SkPath2DPathEffectImpl::getFactory\28\29\20const +9428:SkPath2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +9429:SkPath2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +9430:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29.1 +9431:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29 +9432:SkPath1DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9433:SkPath1DPathEffectImpl::next\28SkPath*\2c\20float\2c\20SkPathMeasure&\29\20const +9434:SkPath1DPathEffectImpl::getTypeName\28\29\20const +9435:SkPath1DPathEffectImpl::getFactory\28\29\20const +9436:SkPath1DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +9437:SkPath1DPathEffectImpl::begin\28float\29\20const +9438:SkPath1DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +9439:SkPath1DPathEffect::Make\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +9440:SkPath*\20emscripten::internal::operator_new\28\29 +9441:SkPairPathEffect::~SkPairPathEffect\28\29.1 +9442:SkPaint::setDither\28bool\29 +9443:SkPaint::setAntiAlias\28bool\29 +9444:SkPaint::getStrokeMiter\28\29\20const +9445:SkPaint::getStrokeJoin\28\29\20const +9446:SkPaint::getStrokeCap\28\29\20const +9447:SkPaint*\20emscripten::internal::operator_new\28\29 +9448:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29.1 +9449:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29 +9450:SkOTUtils::LocalizedStrings_SingleName::next\28SkTypeface::LocalizedString*\29 +9451:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29.1 +9452:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29 +9453:SkOTUtils::LocalizedStrings_NameTable::next\28SkTypeface::LocalizedString*\29 +9454:SkNoPixelsDevice::~SkNoPixelsDevice\28\29.1 +9455:SkNoPixelsDevice::~SkNoPixelsDevice\28\29 +9456:SkNoPixelsDevice::replaceClip\28SkIRect\20const&\29 +9457:SkNoPixelsDevice::pushClipStack\28\29 +9458:SkNoPixelsDevice::popClipStack\28\29 +9459:SkNoPixelsDevice::onClipShader\28sk_sp\29 +9460:SkNoPixelsDevice::isClipWideOpen\28\29\20const +9461:SkNoPixelsDevice::isClipRect\28\29\20const +9462:SkNoPixelsDevice::isClipEmpty\28\29\20const +9463:SkNoPixelsDevice::isClipAntiAliased\28\29\20const +9464:SkNoPixelsDevice::devClipBounds\28\29\20const +9465:SkNoPixelsDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +9466:SkNoPixelsDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +9467:SkNoPixelsDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +9468:SkNoPixelsDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +9469:SkNoPixelsDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +9470:SkNoDrawCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9471:SkNoDrawCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +9472:SkMipmap::~SkMipmap\28\29.1 +9473:SkMipmap::~SkMipmap\28\29 +9474:SkMipmap::onDataChange\28void*\2c\20void*\29 +9475:SkMemoryStream::~SkMemoryStream\28\29.1 +9476:SkMemoryStream::~SkMemoryStream\28\29 +9477:SkMemoryStream::setMemory\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +9478:SkMemoryStream::seek\28unsigned\20long\29 +9479:SkMemoryStream::rewind\28\29 +9480:SkMemoryStream::read\28void*\2c\20unsigned\20long\29 +9481:SkMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +9482:SkMemoryStream::onFork\28\29\20const +9483:SkMemoryStream::onDuplicate\28\29\20const +9484:SkMemoryStream::move\28long\29 +9485:SkMemoryStream::isAtEnd\28\29\20const +9486:SkMemoryStream::getMemoryBase\28\29 +9487:SkMemoryStream::getLength\28\29\20const +9488:SkMemoryStream::getData\28\29\20const +9489:SkMatrixColorFilter::onIsAlphaUnchanged\28\29\20const +9490:SkMatrixColorFilter::onAsAColorMatrix\28float*\29\20const +9491:SkMatrixColorFilter::getTypeName\28\29\20const +9492:SkMatrixColorFilter::flatten\28SkWriteBuffer&\29\20const +9493:SkMatrixColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9494:SkMatrix::Trans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9495:SkMatrix::Trans_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9496:SkMatrix::Scale_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9497:SkMatrix::Scale_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9498:SkMatrix::ScaleTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9499:SkMatrix::Poly4Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +9500:SkMatrix::Poly3Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +9501:SkMatrix::Poly2Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +9502:SkMatrix::Persp_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9503:SkMatrix::Persp_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9504:SkMatrix::Identity_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9505:SkMatrix::Identity_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9506:SkMatrix::Affine_vpts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9507:SkMaskSwizzler::onSetSampleX\28int\29 +9508:SkMaskFilterBase::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +9509:SkMaskFilterBase::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +9510:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29.1 +9511:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29 +9512:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29.1 +9513:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29 +9514:SkLumaColorFilter::Make\28\29 +9515:SkLocalMatrixShader::~SkLocalMatrixShader\28\29.1 +9516:SkLocalMatrixShader::~SkLocalMatrixShader\28\29 +9517:SkLocalMatrixShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +9518:SkLocalMatrixShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +9519:SkLocalMatrixShader::makeAsALocalMatrixShader\28SkMatrix*\29\20const +9520:SkLocalMatrixShader::isOpaque\28\29\20const +9521:SkLocalMatrixShader::isConstant\28\29\20const +9522:SkLocalMatrixShader::getTypeName\28\29\20const +9523:SkLocalMatrixShader::flatten\28SkWriteBuffer&\29\20const +9524:SkLocalMatrixShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9525:SkLocalMatrixShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9526:SkLinearGradient::getTypeName\28\29\20const +9527:SkLinearGradient::flatten\28SkWriteBuffer&\29\20const +9528:SkLinearGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9529:SkLine2DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9530:SkLine2DPathEffectImpl::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +9531:SkLine2DPathEffectImpl::getTypeName\28\29\20const +9532:SkLine2DPathEffectImpl::getFactory\28\29\20const +9533:SkLine2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +9534:SkLine2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +9535:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29.1 +9536:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29 +9537:SkJpegMetadataDecoderImpl::getISOGainmapMetadata\28bool\29\20const +9538:SkJpegMetadataDecoderImpl::getICCProfileData\28bool\29\20const +9539:SkJpegMetadataDecoderImpl::getExifMetadata\28bool\29\20const +9540:SkJpegMemorySourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9541:SkJpegMemorySourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9542:SkJpegDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9543:SkJpegCodec::~SkJpegCodec\28\29.1 +9544:SkJpegCodec::~SkJpegCodec\28\29 +9545:SkJpegCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9546:SkJpegCodec::onSkipScanlines\28int\29 +9547:SkJpegCodec::onRewind\28\29 +9548:SkJpegCodec::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +9549:SkJpegCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +9550:SkJpegCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9551:SkJpegCodec::onGetScaledDimensions\28float\29\20const +9552:SkJpegCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9553:SkJpegCodec::onDimensionsSupported\28SkISize\20const&\29 +9554:SkJpegCodec::getSampler\28bool\29 +9555:SkJpegCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9556:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29.1 +9557:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29 +9558:SkJpegBufferedSourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9559:SkJpegBufferedSourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9560:SkJpegBufferedSourceMgr::fillInputBuffer\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9561:SkImage_Raster::~SkImage_Raster\28\29.1 +9562:SkImage_Raster::~SkImage_Raster\28\29 +9563:SkImage_Raster::onReinterpretColorSpace\28sk_sp\29\20const +9564:SkImage_Raster::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +9565:SkImage_Raster::onPeekPixels\28SkPixmap*\29\20const +9566:SkImage_Raster::onPeekMips\28\29\20const +9567:SkImage_Raster::onMakeWithMipmaps\28sk_sp\29\20const +9568:SkImage_Raster::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +9569:SkImage_Raster::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9570:SkImage_Raster::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +9571:SkImage_Raster::onHasMipmaps\28\29\20const +9572:SkImage_Raster::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +9573:SkImage_Raster::notifyAddedToRasterCache\28\29\20const +9574:SkImage_Raster::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +9575:SkImage_LazyTexture::readPixelsProxy\28GrDirectContext*\2c\20SkPixmap\20const&\29\20const +9576:SkImage_LazyTexture::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9577:SkImage_Lazy::~SkImage_Lazy\28\29 +9578:SkImage_Lazy::onReinterpretColorSpace\28sk_sp\29\20const +9579:SkImage_Lazy::onRefEncoded\28\29\20const +9580:SkImage_Lazy::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +9581:SkImage_Lazy::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +9582:SkImage_Lazy::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9583:SkImage_Lazy::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +9584:SkImage_Lazy::onIsProtected\28\29\20const +9585:SkImage_Lazy::isValid\28GrRecordingContext*\29\20const +9586:SkImage_Lazy::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +9587:SkImage_GaneshBase::~SkImage_GaneshBase\28\29 +9588:SkImage_GaneshBase::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +9589:SkImage_GaneshBase::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +9590:SkImage_GaneshBase::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +9591:SkImage_GaneshBase::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9592:SkImage_GaneshBase::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +9593:SkImage_GaneshBase::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +9594:SkImage_GaneshBase::isValid\28GrRecordingContext*\29\20const +9595:SkImage_GaneshBase::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +9596:SkImage_GaneshBase::directContext\28\29\20const +9597:SkImage_Ganesh::~SkImage_Ganesh\28\29.1 +9598:SkImage_Ganesh::textureSize\28\29\20const +9599:SkImage_Ganesh::onReinterpretColorSpace\28sk_sp\29\20const +9600:SkImage_Ganesh::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +9601:SkImage_Ganesh::onIsProtected\28\29\20const +9602:SkImage_Ganesh::onHasMipmaps\28\29\20const +9603:SkImage_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +9604:SkImage_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +9605:SkImage_Ganesh::generatingSurfaceIsDeleted\28\29 +9606:SkImage_Ganesh::flush\28GrDirectContext*\2c\20GrFlushInfo\20const&\29\20const +9607:SkImage_Ganesh::asView\28GrRecordingContext*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29\20const +9608:SkImage_Ganesh::asFragmentProcessor\28GrRecordingContext*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29\20const +9609:SkImage_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +9610:SkImage_Base::notifyAddedToRasterCache\28\29\20const +9611:SkImage_Base::makeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +9612:SkImage_Base::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9613:SkImage_Base::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +9614:SkImage_Base::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +9615:SkImage_Base::makeColorSpace\28skgpu::graphite::Recorder*\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +9616:SkImage_Base::makeColorSpace\28GrDirectContext*\2c\20sk_sp\29\20const +9617:SkImage_Base::isTextureBacked\28\29\20const +9618:SkImage_Base::isLazyGenerated\28\29\20const +9619:SkImageShader::~SkImageShader\28\29.1 +9620:SkImageShader::~SkImageShader\28\29 +9621:SkImageShader::type\28\29\20const +9622:SkImageShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +9623:SkImageShader::isOpaque\28\29\20const +9624:SkImageShader::getTypeName\28\29\20const +9625:SkImageShader::flatten\28SkWriteBuffer&\29\20const +9626:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9627:SkImageGenerator::~SkImageGenerator\28\29 +9628:SkImageFilters::Compose\28sk_sp\2c\20sk_sp\29 +9629:SkImage::~SkImage\28\29 +9630:SkIcoDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9631:SkIcoCodec::~SkIcoCodec\28\29.1 +9632:SkIcoCodec::~SkIcoCodec\28\29 +9633:SkIcoCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9634:SkIcoCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9635:SkIcoCodec::onSkipScanlines\28int\29 +9636:SkIcoCodec::onIncrementalDecode\28int*\29 +9637:SkIcoCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9638:SkIcoCodec::onGetScanlineOrder\28\29\20const +9639:SkIcoCodec::onGetScaledDimensions\28float\29\20const +9640:SkIcoCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9641:SkIcoCodec::onDimensionsSupported\28SkISize\20const&\29 +9642:SkIcoCodec::getSampler\28bool\29 +9643:SkIcoCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9644:SkGradientBaseShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +9645:SkGradientBaseShader::isOpaque\28\29\20const +9646:SkGradientBaseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9647:SkGifDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9648:SkGaussianColorFilter::getTypeName\28\29\20const +9649:SkGaussianColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9650:SkGammaColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +9651:SkGammaColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +9652:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29.1 +9653:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29 +9654:SkFontStyleSet_Custom::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +9655:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29.1 +9656:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29 +9657:SkFontScanner_FreeType::scanFile\28SkStreamAsset*\2c\20int*\29\20const +9658:SkFontScanner_FreeType::scanFace\28SkStreamAsset*\2c\20int\2c\20int*\29\20const +9659:SkFontMgr_Custom::~SkFontMgr_Custom\28\29.1 +9660:SkFontMgr_Custom::~SkFontMgr_Custom\28\29 +9661:SkFontMgr_Custom::onMatchFamily\28char\20const*\29\20const +9662:SkFontMgr_Custom::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +9663:SkFontMgr_Custom::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +9664:SkFontMgr_Custom::onMakeFromStreamArgs\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +9665:SkFontMgr_Custom::onMakeFromFile\28char\20const*\2c\20int\29\20const +9666:SkFontMgr_Custom::onMakeFromData\28sk_sp\2c\20int\29\20const +9667:SkFontMgr_Custom::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +9668:SkFontMgr_Custom::onGetFamilyName\28int\2c\20SkString*\29\20const +9669:SkFont::setScaleX\28float\29 +9670:SkFont::setEmbeddedBitmaps\28bool\29 +9671:SkFont::isEmbolden\28\29\20const +9672:SkFont::getSkewX\28\29\20const +9673:SkFont::getSize\28\29\20const +9674:SkFont::getScaleX\28\29\20const +9675:SkFont*\20emscripten::internal::operator_new\2c\20float\2c\20float\2c\20float>\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29 +9676:SkFont*\20emscripten::internal::operator_new\2c\20float>\28sk_sp&&\2c\20float&&\29 +9677:SkFont*\20emscripten::internal::operator_new>\28sk_sp&&\29 +9678:SkFont*\20emscripten::internal::operator_new\28\29 +9679:SkFILEStream::~SkFILEStream\28\29.1 +9680:SkFILEStream::~SkFILEStream\28\29 +9681:SkFILEStream::seek\28unsigned\20long\29 +9682:SkFILEStream::rewind\28\29 +9683:SkFILEStream::read\28void*\2c\20unsigned\20long\29 +9684:SkFILEStream::onFork\28\29\20const +9685:SkFILEStream::onDuplicate\28\29\20const +9686:SkFILEStream::move\28long\29 +9687:SkFILEStream::isAtEnd\28\29\20const +9688:SkFILEStream::getPosition\28\29\20const +9689:SkFILEStream::getLength\28\29\20const +9690:SkEncoder::~SkEncoder\28\29 +9691:SkEmptyShader::getTypeName\28\29\20const +9692:SkEmptyPicture::~SkEmptyPicture\28\29 +9693:SkEmptyPicture::cullRect\28\29\20const +9694:SkEmptyPicture::approximateBytesUsed\28\29\20const +9695:SkEmptyFontMgr::onMatchFamily\28char\20const*\29\20const +9696:SkEdgeBuilder::~SkEdgeBuilder\28\29 +9697:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +9698:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29.1 +9699:SkDrawable::onMakePictureSnapshot\28\29 +9700:SkDrawBase::~SkDrawBase\28\29 +9701:SkDraw::paintMasks\28SkZip\2c\20SkPaint\20const&\29\20const +9702:SkDiscretePathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9703:SkDiscretePathEffectImpl::getTypeName\28\29\20const +9704:SkDiscretePathEffectImpl::getFactory\28\29\20const +9705:SkDiscretePathEffectImpl::computeFastBounds\28SkRect*\29\20const +9706:SkDiscretePathEffectImpl::CreateProc\28SkReadBuffer&\29 +9707:SkDevice::~SkDevice\28\29 +9708:SkDevice::strikeDeviceInfo\28\29\20const +9709:SkDevice::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +9710:SkDevice::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +9711:SkDevice::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20sk_sp\2c\20SkPaint\20const&\29 +9712:SkDevice::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +9713:SkDevice::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +9714:SkDevice::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +9715:SkDevice::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +9716:SkDevice::drawCoverageMask\28SkSpecialImage\20const*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +9717:SkDevice::drawBlurredRRect\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20float\29 +9718:SkDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +9719:SkDevice::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +9720:SkDevice::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +9721:SkDashImpl::~SkDashImpl\28\29.1 +9722:SkDashImpl::~SkDashImpl\28\29 +9723:SkDashImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9724:SkDashImpl::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +9725:SkDashImpl::onAsADash\28SkPathEffect::DashInfo*\29\20const +9726:SkDashImpl::getTypeName\28\29\20const +9727:SkDashImpl::flatten\28SkWriteBuffer&\29\20const +9728:SkCustomTypefaceBuilder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +9729:SkCornerPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9730:SkCornerPathEffectImpl::getTypeName\28\29\20const +9731:SkCornerPathEffectImpl::getFactory\28\29\20const +9732:SkCornerPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +9733:SkCornerPathEffectImpl::CreateProc\28SkReadBuffer&\29 +9734:SkCornerPathEffect::Make\28float\29 +9735:SkContourMeasureIter*\20emscripten::internal::operator_new\28SkPath\20const&\2c\20bool&&\2c\20float&&\29 +9736:SkContourMeasure::~SkContourMeasure\28\29.1 +9737:SkContourMeasure::~SkContourMeasure\28\29 +9738:SkContourMeasure::isClosed\28\29\20const +9739:SkConicalGradient::getTypeName\28\29\20const +9740:SkConicalGradient::flatten\28SkWriteBuffer&\29\20const +9741:SkConicalGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9742:SkConicalGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +9743:SkComposePathEffect::~SkComposePathEffect\28\29 +9744:SkComposePathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9745:SkComposePathEffect::getTypeName\28\29\20const +9746:SkComposePathEffect::computeFastBounds\28SkRect*\29\20const +9747:SkComposeColorFilter::onIsAlphaUnchanged\28\29\20const +9748:SkComposeColorFilter::getTypeName\28\29\20const +9749:SkComposeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9750:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29.1 +9751:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29 +9752:SkColorSpaceXformColorFilter::getTypeName\28\29\20const +9753:SkColorSpaceXformColorFilter::flatten\28SkWriteBuffer&\29\20const +9754:SkColorSpaceXformColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9755:SkColorShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +9756:SkColorShader::isOpaque\28\29\20const +9757:SkColorShader::getTypeName\28\29\20const +9758:SkColorShader::flatten\28SkWriteBuffer&\29\20const +9759:SkColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9760:SkColorPalette::~SkColorPalette\28\29.1 +9761:SkColorPalette::~SkColorPalette\28\29 +9762:SkColorFilters::SRGBToLinearGamma\28\29 +9763:SkColorFilters::LinearToSRGBGamma\28\29 +9764:SkColorFilters::Lerp\28float\2c\20sk_sp\2c\20sk_sp\29 +9765:SkColorFilters::Compose\28sk_sp\20const&\2c\20sk_sp\29 +9766:SkColorFilterShader::~SkColorFilterShader\28\29.1 +9767:SkColorFilterShader::~SkColorFilterShader\28\29 +9768:SkColorFilterShader::isOpaque\28\29\20const +9769:SkColorFilterShader::getTypeName\28\29\20const +9770:SkColorFilterShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9771:SkColorFilterBase::onFilterColor4f\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkColorSpace*\29\20const +9772:SkColor4Shader::~SkColor4Shader\28\29.1 +9773:SkColor4Shader::~SkColor4Shader\28\29 +9774:SkColor4Shader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +9775:SkColor4Shader::isOpaque\28\29\20const +9776:SkColor4Shader::getTypeName\28\29\20const +9777:SkColor4Shader::flatten\28SkWriteBuffer&\29\20const +9778:SkColor4Shader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9779:SkCodecImageGenerator::~SkCodecImageGenerator\28\29.1 +9780:SkCodecImageGenerator::~SkCodecImageGenerator\28\29 +9781:SkCodecImageGenerator::onRefEncodedData\28\29 +9782:SkCodecImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +9783:SkCodecImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +9784:SkCodecImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +9785:SkCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9786:SkCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9787:SkCodec::onOutputScanline\28int\29\20const +9788:SkCodec::onGetScaledDimensions\28float\29\20const +9789:SkCodec::getEncodedData\28\29\20const +9790:SkCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9791:SkCanvas::rotate\28float\2c\20float\2c\20float\29 +9792:SkCanvas::recordingContext\28\29\20const +9793:SkCanvas::recorder\28\29\20const +9794:SkCanvas::onPeekPixels\28SkPixmap*\29 +9795:SkCanvas::onNewSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +9796:SkCanvas::onImageInfo\28\29\20const +9797:SkCanvas::onGetProps\28SkSurfaceProps*\2c\20bool\29\20const +9798:SkCanvas::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9799:SkCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9800:SkCanvas::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +9801:SkCanvas::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +9802:SkCanvas::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +9803:SkCanvas::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +9804:SkCanvas::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +9805:SkCanvas::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +9806:SkCanvas::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +9807:SkCanvas::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +9808:SkCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9809:SkCanvas::onDrawPaint\28SkPaint\20const&\29 +9810:SkCanvas::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +9811:SkCanvas::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +9812:SkCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9813:SkCanvas::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +9814:SkCanvas::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9815:SkCanvas::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +9816:SkCanvas::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +9817:SkCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9818:SkCanvas::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +9819:SkCanvas::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +9820:SkCanvas::onDrawBehind\28SkPaint\20const&\29 +9821:SkCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +9822:SkCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +9823:SkCanvas::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +9824:SkCanvas::onDiscard\28\29 +9825:SkCanvas::onConvertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +9826:SkCanvas::onAccessTopLayerPixels\28SkPixmap*\29 +9827:SkCanvas::isClipRect\28\29\20const +9828:SkCanvas::isClipEmpty\28\29\20const +9829:SkCanvas::getSaveCount\28\29\20const +9830:SkCanvas::getBaseLayerSize\28\29\20const +9831:SkCanvas::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9832:SkCanvas::drawPicture\28sk_sp\20const&\29 +9833:SkCanvas::drawCircle\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9834:SkCanvas*\20emscripten::internal::operator_new\28float&&\2c\20float&&\29 +9835:SkCanvas*\20emscripten::internal::operator_new\28\29 +9836:SkCachedData::~SkCachedData\28\29.1 +9837:SkCTMShader::~SkCTMShader\28\29 +9838:SkCTMShader::isConstant\28\29\20const +9839:SkCTMShader::getTypeName\28\29\20const +9840:SkCTMShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9841:SkCTMShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9842:SkBreakIterator_client::~SkBreakIterator_client\28\29.1 +9843:SkBreakIterator_client::~SkBreakIterator_client\28\29 +9844:SkBreakIterator_client::status\28\29 +9845:SkBreakIterator_client::setText\28char\20const*\2c\20int\29 +9846:SkBreakIterator_client::setText\28char16_t\20const*\2c\20int\29 +9847:SkBreakIterator_client::next\28\29 +9848:SkBreakIterator_client::isDone\28\29 +9849:SkBreakIterator_client::first\28\29 +9850:SkBreakIterator_client::current\28\29 +9851:SkBmpStandardCodec::~SkBmpStandardCodec\28\29.1 +9852:SkBmpStandardCodec::~SkBmpStandardCodec\28\29 +9853:SkBmpStandardCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9854:SkBmpStandardCodec::onInIco\28\29\20const +9855:SkBmpStandardCodec::getSampler\28bool\29 +9856:SkBmpStandardCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9857:SkBmpRLESampler::onSetSampleX\28int\29 +9858:SkBmpRLESampler::fillWidth\28\29\20const +9859:SkBmpRLECodec::~SkBmpRLECodec\28\29.1 +9860:SkBmpRLECodec::~SkBmpRLECodec\28\29 +9861:SkBmpRLECodec::skipRows\28int\29 +9862:SkBmpRLECodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9863:SkBmpRLECodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9864:SkBmpRLECodec::getSampler\28bool\29 +9865:SkBmpRLECodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9866:SkBmpMaskCodec::~SkBmpMaskCodec\28\29.1 +9867:SkBmpMaskCodec::~SkBmpMaskCodec\28\29 +9868:SkBmpMaskCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9869:SkBmpMaskCodec::getSampler\28bool\29 +9870:SkBmpMaskCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9871:SkBmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9872:SkBmpCodec::~SkBmpCodec\28\29 +9873:SkBmpCodec::skipRows\28int\29 +9874:SkBmpCodec::onSkipScanlines\28int\29 +9875:SkBmpCodec::onRewind\28\29 +9876:SkBmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9877:SkBmpCodec::onGetScanlineOrder\28\29\20const +9878:SkBlurMaskFilterImpl::getTypeName\28\29\20const +9879:SkBlurMaskFilterImpl::flatten\28SkWriteBuffer&\29\20const +9880:SkBlurMaskFilterImpl::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +9881:SkBlurMaskFilterImpl::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +9882:SkBlurMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +9883:SkBlurMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +9884:SkBlurMaskFilterImpl::asImageFilter\28SkMatrix\20const&\29\20const +9885:SkBlurMaskFilterImpl::asABlur\28SkMaskFilterBase::BlurRec*\29\20const +9886:SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +9887:SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +9888:SkBlockMemoryStream::seek\28unsigned\20long\29 +9889:SkBlockMemoryStream::rewind\28\29 +9890:SkBlockMemoryStream::read\28void*\2c\20unsigned\20long\29 +9891:SkBlockMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +9892:SkBlockMemoryStream::onFork\28\29\20const +9893:SkBlockMemoryStream::onDuplicate\28\29\20const +9894:SkBlockMemoryStream::move\28long\29 +9895:SkBlockMemoryStream::isAtEnd\28\29\20const +9896:SkBlockMemoryStream::getMemoryBase\28\29 +9897:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29.1 +9898:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29 +9899:SkBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9900:SkBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +9901:SkBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +9902:SkBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +9903:SkBlitter::allocBlitMemory\28unsigned\20long\29 +9904:SkBlenderBase::asBlendMode\28\29\20const +9905:SkBlendShader::getTypeName\28\29\20const +9906:SkBlendShader::flatten\28SkWriteBuffer&\29\20const +9907:SkBlendShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9908:SkBlendModeColorFilter::onIsAlphaUnchanged\28\29\20const +9909:SkBlendModeColorFilter::onAsAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +9910:SkBlendModeColorFilter::getTypeName\28\29\20const +9911:SkBlendModeColorFilter::flatten\28SkWriteBuffer&\29\20const +9912:SkBlendModeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9913:SkBlendModeBlender::onAppendStages\28SkStageRec\20const&\29\20const +9914:SkBlendModeBlender::getTypeName\28\29\20const +9915:SkBlendModeBlender::flatten\28SkWriteBuffer&\29\20const +9916:SkBlendModeBlender::asBlendMode\28\29\20const +9917:SkBitmapDevice::~SkBitmapDevice\28\29.1 +9918:SkBitmapDevice::~SkBitmapDevice\28\29 +9919:SkBitmapDevice::snapSpecial\28SkIRect\20const&\2c\20bool\29 +9920:SkBitmapDevice::setImmutable\28\29 +9921:SkBitmapDevice::replaceClip\28SkIRect\20const&\29 +9922:SkBitmapDevice::pushClipStack\28\29 +9923:SkBitmapDevice::popClipStack\28\29 +9924:SkBitmapDevice::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9925:SkBitmapDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9926:SkBitmapDevice::onPeekPixels\28SkPixmap*\29 +9927:SkBitmapDevice::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +9928:SkBitmapDevice::onClipShader\28sk_sp\29 +9929:SkBitmapDevice::onAccessPixels\28SkPixmap*\29 +9930:SkBitmapDevice::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +9931:SkBitmapDevice::makeSpecial\28SkImage\20const*\29 +9932:SkBitmapDevice::makeSpecial\28SkBitmap\20const&\29 +9933:SkBitmapDevice::isClipWideOpen\28\29\20const +9934:SkBitmapDevice::isClipRect\28\29\20const +9935:SkBitmapDevice::isClipEmpty\28\29\20const +9936:SkBitmapDevice::isClipAntiAliased\28\29\20const +9937:SkBitmapDevice::getRasterHandle\28\29\20const +9938:SkBitmapDevice::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +9939:SkBitmapDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +9940:SkBitmapDevice::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +9941:SkBitmapDevice::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +9942:SkBitmapDevice::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +9943:SkBitmapDevice::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +9944:SkBitmapDevice::drawPaint\28SkPaint\20const&\29 +9945:SkBitmapDevice::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +9946:SkBitmapDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +9947:SkBitmapDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +9948:SkBitmapDevice::devClipBounds\28\29\20const +9949:SkBitmapDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +9950:SkBitmapDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +9951:SkBitmapDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +9952:SkBitmapDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +9953:SkBitmapDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +9954:SkBitmapDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +9955:SkBitmapCache::Rec::~Rec\28\29.1 +9956:SkBitmapCache::Rec::~Rec\28\29 +9957:SkBitmapCache::Rec::postAddInstall\28void*\29 +9958:SkBitmapCache::Rec::getCategory\28\29\20const +9959:SkBitmapCache::Rec::canBePurged\28\29 +9960:SkBitmapCache::Rec::bytesUsed\28\29\20const +9961:SkBitmapCache::Rec::ReleaseProc\28void*\2c\20void*\29 +9962:SkBitmapCache::Rec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +9963:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29.1 +9964:SkBinaryWriteBuffer::write\28SkM44\20const&\29 +9965:SkBinaryWriteBuffer::writeTypeface\28SkTypeface*\29 +9966:SkBinaryWriteBuffer::writeString\28std::__2::basic_string_view>\29 +9967:SkBinaryWriteBuffer::writeStream\28SkStream*\2c\20unsigned\20long\29 +9968:SkBinaryWriteBuffer::writeScalar\28float\29 +9969:SkBinaryWriteBuffer::writeSampling\28SkSamplingOptions\20const&\29 +9970:SkBinaryWriteBuffer::writeRegion\28SkRegion\20const&\29 +9971:SkBinaryWriteBuffer::writeRect\28SkRect\20const&\29 +9972:SkBinaryWriteBuffer::writePoint\28SkPoint\20const&\29 +9973:SkBinaryWriteBuffer::writePointArray\28SkPoint\20const*\2c\20unsigned\20int\29 +9974:SkBinaryWriteBuffer::writePoint3\28SkPoint3\20const&\29 +9975:SkBinaryWriteBuffer::writePath\28SkPath\20const&\29 +9976:SkBinaryWriteBuffer::writePaint\28SkPaint\20const&\29 +9977:SkBinaryWriteBuffer::writePad32\28void\20const*\2c\20unsigned\20long\29 +9978:SkBinaryWriteBuffer::writeMatrix\28SkMatrix\20const&\29 +9979:SkBinaryWriteBuffer::writeImage\28SkImage\20const*\29 +9980:SkBinaryWriteBuffer::writeColor4fArray\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20unsigned\20int\29 +9981:SkBigPicture::~SkBigPicture\28\29.1 +9982:SkBigPicture::~SkBigPicture\28\29 +9983:SkBigPicture::playback\28SkCanvas*\2c\20SkPicture::AbortCallback*\29\20const +9984:SkBigPicture::cullRect\28\29\20const +9985:SkBigPicture::approximateOpCount\28bool\29\20const +9986:SkBigPicture::approximateBytesUsed\28\29\20const +9987:SkBidiSubsetFactory::errorName\28UErrorCode\29\20const +9988:SkBidiSubsetFactory::bidi_setPara\28UBiDi*\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20UErrorCode*\29\20const +9989:SkBidiSubsetFactory::bidi_reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +9990:SkBidiSubsetFactory::bidi_openSized\28int\2c\20int\2c\20UErrorCode*\29\20const +9991:SkBidiSubsetFactory::bidi_getLevelAt\28UBiDi\20const*\2c\20int\29\20const +9992:SkBidiSubsetFactory::bidi_getLength\28UBiDi\20const*\29\20const +9993:SkBidiSubsetFactory::bidi_getDirection\28UBiDi\20const*\29\20const +9994:SkBidiSubsetFactory::bidi_close_callback\28\29\20const +9995:SkBezierCubic::Subdivide\28double\20const*\2c\20double\2c\20double*\29 +9996:SkBasicEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +9997:SkBasicEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +9998:SkBasicEdgeBuilder::addQuad\28SkPoint\20const*\29 +9999:SkBasicEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +10000:SkBasicEdgeBuilder::addLine\28SkPoint\20const*\29 +10001:SkBasicEdgeBuilder::addCubic\28SkPoint\20const*\29 +10002:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29 +10003:SkBBoxHierarchy::insert\28SkRect\20const*\2c\20SkBBoxHierarchy::Metadata\20const*\2c\20int\29 +10004:SkArenaAlloc::SkipPod\28char*\29 +10005:SkArenaAlloc::NextBlock\28char*\29 +10006:SkAnimatedImage::~SkAnimatedImage\28\29.1 +10007:SkAnimatedImage::~SkAnimatedImage\28\29 +10008:SkAnimatedImage::reset\28\29 +10009:SkAnimatedImage::onGetBounds\28\29 +10010:SkAnimatedImage::onDraw\28SkCanvas*\29 +10011:SkAnimatedImage::getRepetitionCount\28\29\20const +10012:SkAnimatedImage::getCurrentFrame\28\29 +10013:SkAnimatedImage::currentFrameDuration\28\29 +10014:SkAndroidCodecAdapter::onGetSupportedSubset\28SkIRect*\29\20const +10015:SkAndroidCodecAdapter::onGetSampledDimensions\28int\29\20const +10016:SkAndroidCodecAdapter::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +10017:SkAnalyticEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +10018:SkAnalyticEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +10019:SkAnalyticEdgeBuilder::addQuad\28SkPoint\20const*\29 +10020:SkAnalyticEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +10021:SkAnalyticEdgeBuilder::addLine\28SkPoint\20const*\29 +10022:SkAnalyticEdgeBuilder::addCubic\28SkPoint\20const*\29 +10023:SkAAClipBlitter::~SkAAClipBlitter\28\29.1 +10024:SkAAClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10025:SkAAClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10026:SkAAClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10027:SkAAClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10028:SkAAClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10029:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_1::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +10030:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_0::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +10031:SkAAClip::Builder::Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10032:SkAAClip::Builder::Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10033:SkAAClip::Builder::Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10034:SkAAClip::Builder::Blitter::blitH\28int\2c\20int\2c\20int\29 +10035:SkAAClip::Builder::Blitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10036:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29.1 +10037:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29 +10038:SkA8_Coverage_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10039:SkA8_Coverage_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10040:SkA8_Coverage_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10041:SkA8_Coverage_Blitter::blitH\28int\2c\20int\2c\20int\29 +10042:SkA8_Coverage_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10043:SkA8_Blitter::~SkA8_Blitter\28\29.1 +10044:SkA8_Blitter::~SkA8_Blitter\28\29 +10045:SkA8_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10046:SkA8_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10047:SkA8_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10048:SkA8_Blitter::blitH\28int\2c\20int\2c\20int\29 +10049:SkA8_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10050:SkA8Blitter_Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +10051:Sk2DPathEffect::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +10052:Sk2DPathEffect::flatten\28SkWriteBuffer&\29\20const +10053:SimpleVFilter16i_C +10054:SimpleVFilter16_C +10055:SimpleTextStyle*\20emscripten::internal::raw_constructor\28\29 +10056:SimpleTextStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +10057:SimpleStrutStyle*\20emscripten::internal::raw_constructor\28\29 +10058:SimpleStrutStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +10059:SimpleParagraphStyle*\20emscripten::internal::raw_constructor\28\29 +10060:SimpleHFilter16i_C +10061:SimpleHFilter16_C +10062:SimpleFontStyle*\20emscripten::internal::raw_constructor\28\29 +10063:ShaderPDXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10064:ShaderPDXferProcessor::name\28\29\20const +10065:ShaderPDXferProcessor::makeProgramImpl\28\29\20const +10066:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +10067:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +10068:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10069:RuntimeEffectUniform*\20emscripten::internal::raw_constructor\28\29 +10070:RuntimeEffectRPCallbacks::toLinearSrgb\28void\20const*\29 +10071:RuntimeEffectRPCallbacks::fromLinearSrgb\28void\20const*\29 +10072:RuntimeEffectRPCallbacks::appendShader\28int\29 +10073:RuntimeEffectRPCallbacks::appendColorFilter\28int\29 +10074:RuntimeEffectRPCallbacks::appendBlender\28int\29 +10075:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29 +10076:RunBasedAdditiveBlitter::getRealBlitter\28bool\29 +10077:RunBasedAdditiveBlitter::flush_if_y_changed\28int\2c\20int\29 +10078:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +10079:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +10080:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10081:Round_Up_To_Grid +10082:Round_To_Half_Grid +10083:Round_To_Grid +10084:Round_To_Double_Grid +10085:Round_Super_45 +10086:Round_Super +10087:Round_None +10088:Round_Down_To_Grid +10089:RoundJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +10090:RoundCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +10091:Reset +10092:Read_CVT_Stretched +10093:Read_CVT +10094:RD4_C +10095:Project_y +10096:Project +10097:ProcessRows +10098:PredictorAdd9_C +10099:PredictorAdd8_C +10100:PredictorAdd7_C +10101:PredictorAdd6_C +10102:PredictorAdd5_C +10103:PredictorAdd4_C +10104:PredictorAdd3_C +10105:PredictorAdd2_C +10106:PredictorAdd1_C +10107:PredictorAdd13_C +10108:PredictorAdd12_C +10109:PredictorAdd11_C +10110:PredictorAdd10_C +10111:PredictorAdd0_C +10112:PrePostInverseBlitterProc\28SkBlitter*\2c\20int\2c\20bool\29 +10113:PorterDuffXferProcessor::onHasSecondaryOutput\28\29\20const +10114:PorterDuffXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10115:PorterDuffXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10116:PorterDuffXferProcessor::name\28\29\20const +10117:PorterDuffXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10118:PorterDuffXferProcessor::makeProgramImpl\28\29\20const +10119:ParseVP8X +10120:PackRGB_C +10121:PDLCDXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +10122:PDLCDXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10123:PDLCDXferProcessor::name\28\29\20const +10124:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +10125:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10126:PDLCDXferProcessor::makeProgramImpl\28\29\20const +10127:OT::match_glyph\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10128:OT::match_coverage\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10129:OT::match_class_cached\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10130:OT::match_class_cached2\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10131:OT::match_class_cached1\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10132:OT::match_class\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10133:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GSUB_impl::SubstLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +10134:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GPOS_impl::PosLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +10135:OT::cff1::accelerator_t::gname_t::cmp\28void\20const*\2c\20void\20const*\29 +10136:OT::Layout::Common::RangeRecord::cmp_range\28void\20const*\2c\20void\20const*\29 +10137:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +10138:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +10139:OT::CmapSubtableFormat4::accelerator_t::get_glyph_func\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +10140:Move_CVT_Stretched +10141:Move_CVT +10142:MiterJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +10143:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29.1 +10144:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29 +10145:MaskAdditiveBlitter::getWidth\28\29 +10146:MaskAdditiveBlitter::getRealBlitter\28bool\29 +10147:MaskAdditiveBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10148:MaskAdditiveBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10149:MaskAdditiveBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10150:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +10151:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +10152:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10153:MapAlpha_C +10154:MapARGB_C +10155:MakeRenderTarget\28sk_sp\2c\20int\2c\20int\29 +10156:MakeRenderTarget\28sk_sp\2c\20SimpleImageInfo\29 +10157:MakePathFromVerbsPointsWeights\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +10158:MakePathFromSVGString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10159:MakePathFromOp\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29 +10160:MakePathFromInterpolation\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29 +10161:MakePathFromCmds\28unsigned\20long\2c\20int\29 +10162:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29 +10163:MakeImageFromGenerator\28SimpleImageInfo\2c\20emscripten::val\29 +10164:MakeGrContext\28\29 +10165:MakeAsWinding\28SkPath\20const&\29 +10166:LD4_C +10167:JpegDecoderMgr::returnFailure\28char\20const*\2c\20SkCodec::Result\29 +10168:JpegDecoderMgr::init\28\29 +10169:JpegDecoderMgr::SourceMgr::SkipInputData\28jpeg_decompress_struct*\2c\20long\29 +10170:JpegDecoderMgr::SourceMgr::InitSource\28jpeg_decompress_struct*\29 +10171:JpegDecoderMgr::SourceMgr::FillInputBuffer\28jpeg_decompress_struct*\29 +10172:JpegDecoderMgr::JpegDecoderMgr\28SkStream*\29 +10173:IsValidSimpleFormat +10174:IsValidExtendedFormat +10175:InverseBlitter::blitH\28int\2c\20int\2c\20int\29 +10176:Init +10177:HorizontalUnfilter_C +10178:HorizontalFilter_C +10179:Horish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +10180:Horish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +10181:HasAlpha8b_C +10182:HasAlpha32b_C +10183:HU4_C +10184:HLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +10185:HLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +10186:HFilter8i_C +10187:HFilter8_C +10188:HFilter16i_C +10189:HFilter16_C +10190:HE8uv_C +10191:HE4_C +10192:HE16_C +10193:HD4_C +10194:GradientUnfilter_C +10195:GradientFilter_C +10196:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10197:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10198:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const +10199:GrYUVtoRGBEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10200:GrYUVtoRGBEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10201:GrYUVtoRGBEffect::name\28\29\20const +10202:GrYUVtoRGBEffect::clone\28\29\20const +10203:GrXferProcessor::ProgramImpl::emitWriteSwizzle\28GrGLSLXPFragmentBuilder*\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20char\20const*\29\20const +10204:GrXferProcessor::ProgramImpl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10205:GrXferProcessor::ProgramImpl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +10206:GrWritePixelsTask::~GrWritePixelsTask\28\29.1 +10207:GrWritePixelsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +10208:GrWritePixelsTask::onExecute\28GrOpFlushState*\29 +10209:GrWritePixelsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10210:GrWaitRenderTask::~GrWaitRenderTask\28\29.1 +10211:GrWaitRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +10212:GrWaitRenderTask::onExecute\28GrOpFlushState*\29 +10213:GrWaitRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10214:GrTriangulator::~GrTriangulator\28\29 +10215:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29.1 +10216:GrTransferFromRenderTask::onExecute\28GrOpFlushState*\29 +10217:GrTransferFromRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10218:GrThreadSafeCache::Trampoline::~Trampoline\28\29.1 +10219:GrThreadSafeCache::Trampoline::~Trampoline\28\29 +10220:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29.1 +10221:GrTextureResolveRenderTask::onExecute\28GrOpFlushState*\29 +10222:GrTextureResolveRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10223:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +10224:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +10225:GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +10226:GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +10227:GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +10228:GrTextureProxy::~GrTextureProxy\28\29.2 +10229:GrTextureProxy::~GrTextureProxy\28\29.1 +10230:GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +10231:GrTextureProxy::instantiate\28GrResourceProvider*\29 +10232:GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +10233:GrTextureProxy::callbackDesc\28\29\20const +10234:GrTextureEffect::~GrTextureEffect\28\29.1 +10235:GrTextureEffect::~GrTextureEffect\28\29 +10236:GrTextureEffect::onMakeProgramImpl\28\29\20const +10237:GrTextureEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10238:GrTextureEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10239:GrTextureEffect::name\28\29\20const +10240:GrTextureEffect::clone\28\29\20const +10241:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10242:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10243:GrTexture::onGpuMemorySize\28\29\20const +10244:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29.1 +10245:GrTDeferredProxyUploader>::freeData\28\29 +10246:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29.1 +10247:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29 +10248:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::freeData\28\29 +10249:GrSurfaceProxy::getUniqueKey\28\29\20const +10250:GrSurface::~GrSurface\28\29 +10251:GrSurface::getResourceType\28\29\20const +10252:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29.1 +10253:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29 +10254:GrStrokeTessellationShader::name\28\29\20const +10255:GrStrokeTessellationShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10256:GrStrokeTessellationShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10257:GrStrokeTessellationShader::Impl::~Impl\28\29.1 +10258:GrStrokeTessellationShader::Impl::~Impl\28\29 +10259:GrStrokeTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10260:GrStrokeTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10261:GrSkSLFP::~GrSkSLFP\28\29.1 +10262:GrSkSLFP::~GrSkSLFP\28\29 +10263:GrSkSLFP::onMakeProgramImpl\28\29\20const +10264:GrSkSLFP::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10265:GrSkSLFP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10266:GrSkSLFP::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10267:GrSkSLFP::clone\28\29\20const +10268:GrSkSLFP::Impl::~Impl\28\29.1 +10269:GrSkSLFP::Impl::~Impl\28\29 +10270:GrSkSLFP::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10271:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10272:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10273:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10274:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10275:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::getMangledName\28char\20const*\29 +10276:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10277:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +10278:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +10279:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareFunction\28char\20const*\29 +10280:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10281:GrSimpleMesh*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29::'lambda'\28char*\29::__invoke\28char*\29 +10282:GrRingBuffer::FinishSubmit\28void*\29 +10283:GrResourceCache::CompareTimestamp\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29 +10284:GrRenderTask::~GrRenderTask\28\29 +10285:GrRenderTask::disown\28GrDrawingManager*\29 +10286:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +10287:GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +10288:GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +10289:GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +10290:GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +10291:GrRenderTargetProxy::callbackDesc\28\29\20const +10292:GrRecordingContext::~GrRecordingContext\28\29.1 +10293:GrRecordingContext::abandoned\28\29 +10294:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29.1 +10295:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29 +10296:GrRRectShadowGeoProc::onTextureSampler\28int\29\20const +10297:GrRRectShadowGeoProc::name\28\29\20const +10298:GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10299:GrRRectShadowGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10300:GrQuadEffect::name\28\29\20const +10301:GrQuadEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10302:GrQuadEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10303:GrQuadEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10304:GrQuadEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10305:GrPorterDuffXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10306:GrPorterDuffXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10307:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29.1 +10308:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29 +10309:GrPerlinNoise2Effect::onMakeProgramImpl\28\29\20const +10310:GrPerlinNoise2Effect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10311:GrPerlinNoise2Effect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10312:GrPerlinNoise2Effect::name\28\29\20const +10313:GrPerlinNoise2Effect::clone\28\29\20const +10314:GrPerlinNoise2Effect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10315:GrPerlinNoise2Effect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10316:GrPathTessellationShader::Impl::~Impl\28\29 +10317:GrPathTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10318:GrPathTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10319:GrOpsRenderPass::~GrOpsRenderPass\28\29 +10320:GrOpsRenderPass::onExecuteDrawable\28std::__2::unique_ptr>\29 +10321:GrOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +10322:GrOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +10323:GrOpFlushState::~GrOpFlushState\28\29.1 +10324:GrOpFlushState::~GrOpFlushState\28\29 +10325:GrOpFlushState::writeView\28\29\20const +10326:GrOpFlushState::usesMSAASurface\28\29\20const +10327:GrOpFlushState::tokenTracker\28\29 +10328:GrOpFlushState::threadSafeCache\28\29\20const +10329:GrOpFlushState::strikeCache\28\29\20const +10330:GrOpFlushState::smallPathAtlasManager\28\29\20const +10331:GrOpFlushState::sampledProxyArray\28\29 +10332:GrOpFlushState::rtProxy\28\29\20const +10333:GrOpFlushState::resourceProvider\28\29\20const +10334:GrOpFlushState::renderPassBarriers\28\29\20const +10335:GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +10336:GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +10337:GrOpFlushState::putBackIndirectDraws\28int\29 +10338:GrOpFlushState::putBackIndices\28int\29 +10339:GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +10340:GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +10341:GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +10342:GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +10343:GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +10344:GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +10345:GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +10346:GrOpFlushState::dstProxyView\28\29\20const +10347:GrOpFlushState::colorLoadOp\28\29\20const +10348:GrOpFlushState::atlasManager\28\29\20const +10349:GrOpFlushState::appliedClip\28\29\20const +10350:GrOpFlushState::addInlineUpload\28std::__2::function&\29>&&\29 +10351:GrOp::~GrOp\28\29 +10352:GrOnFlushCallbackObject::postFlush\28skgpu::AtlasToken\29 +10353:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10354:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10355:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +10356:GrModulateAtlasCoverageEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10357:GrModulateAtlasCoverageEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10358:GrModulateAtlasCoverageEffect::name\28\29\20const +10359:GrModulateAtlasCoverageEffect::clone\28\29\20const +10360:GrMeshDrawOp::onPrepare\28GrOpFlushState*\29 +10361:GrMeshDrawOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10362:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10363:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10364:GrMatrixEffect::onMakeProgramImpl\28\29\20const +10365:GrMatrixEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10366:GrMatrixEffect::name\28\29\20const +10367:GrMatrixEffect::clone\28\29\20const +10368:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +10369:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +10370:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::$_0::__invoke\28void\20const*\2c\20void*\29 +10371:GrImageContext::~GrImageContext\28\29.1 +10372:GrImageContext::~GrImageContext\28\29 +10373:GrHardClip::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +10374:GrGpuResource::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +10375:GrGpuBuffer::~GrGpuBuffer\28\29 +10376:GrGpuBuffer::unref\28\29\20const +10377:GrGpuBuffer::getResourceType\28\29\20const +10378:GrGpuBuffer::computeScratchKey\28skgpu::ScratchKey*\29\20const +10379:GrGeometryProcessor::onTextureSampler\28int\29\20const +10380:GrGeometryProcessor::ProgramImpl::~ProgramImpl\28\29 +10381:GrGLVaryingHandler::~GrGLVaryingHandler\28\29 +10382:GrGLUniformHandler::~GrGLUniformHandler\28\29.1 +10383:GrGLUniformHandler::~GrGLUniformHandler\28\29 +10384:GrGLUniformHandler::samplerVariable\28GrResourceHandle\29\20const +10385:GrGLUniformHandler::samplerSwizzle\28GrResourceHandle\29\20const +10386:GrGLUniformHandler::internalAddUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20bool\2c\20int\2c\20char\20const**\29 +10387:GrGLUniformHandler::getUniformCStr\28GrResourceHandle\29\20const +10388:GrGLUniformHandler::appendUniformDecls\28GrShaderFlags\2c\20SkString*\29\20const +10389:GrGLUniformHandler::addSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20GrShaderCaps\20const*\29 +10390:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +10391:GrGLTextureRenderTarget::onSetLabel\28\29 +10392:GrGLTextureRenderTarget::onRelease\28\29 +10393:GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +10394:GrGLTextureRenderTarget::onAbandon\28\29 +10395:GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +10396:GrGLTextureRenderTarget::backendFormat\28\29\20const +10397:GrGLTexture::~GrGLTexture\28\29.1 +10398:GrGLTexture::~GrGLTexture\28\29 +10399:GrGLTexture::textureParamsModified\28\29 +10400:GrGLTexture::onStealBackendTexture\28GrBackendTexture*\2c\20std::__2::function*\29 +10401:GrGLTexture::getBackendTexture\28\29\20const +10402:GrGLSemaphore::~GrGLSemaphore\28\29.1 +10403:GrGLSemaphore::~GrGLSemaphore\28\29 +10404:GrGLSemaphore::setIsOwned\28\29 +10405:GrGLSemaphore::backendSemaphore\28\29\20const +10406:GrGLSLVertexBuilder::~GrGLSLVertexBuilder\28\29 +10407:GrGLSLVertexBuilder::onFinalize\28\29 +10408:GrGLSLUniformHandler::inputSamplerSwizzle\28GrResourceHandle\29\20const +10409:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +10410:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +10411:GrGLSLFragmentShaderBuilder::onFinalize\28\29 +10412:GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +10413:GrGLSLFragmentShaderBuilder::forceHighPrecision\28\29 +10414:GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +10415:GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +10416:GrGLRenderTarget::~GrGLRenderTarget\28\29 +10417:GrGLRenderTarget::onGpuMemorySize\28\29\20const +10418:GrGLRenderTarget::getBackendRenderTarget\28\29\20const +10419:GrGLRenderTarget::completeStencilAttachment\28GrAttachment*\2c\20bool\29 +10420:GrGLRenderTarget::canAttemptStencilAttachment\28bool\29\20const +10421:GrGLRenderTarget::backendFormat\28\29\20const +10422:GrGLRenderTarget::alwaysClearStencil\28\29\20const +10423:GrGLProgramDataManager::~GrGLProgramDataManager\28\29.1 +10424:GrGLProgramDataManager::~GrGLProgramDataManager\28\29 +10425:GrGLProgramDataManager::setMatrix4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10426:GrGLProgramDataManager::setMatrix4f\28GrResourceHandle\2c\20float\20const*\29\20const +10427:GrGLProgramDataManager::setMatrix3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10428:GrGLProgramDataManager::setMatrix3f\28GrResourceHandle\2c\20float\20const*\29\20const +10429:GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10430:GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +10431:GrGLProgramDataManager::set4iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +10432:GrGLProgramDataManager::set4i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +10433:GrGLProgramDataManager::set4f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\2c\20float\29\20const +10434:GrGLProgramDataManager::set3iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +10435:GrGLProgramDataManager::set3i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\29\20const +10436:GrGLProgramDataManager::set3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10437:GrGLProgramDataManager::set3f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\29\20const +10438:GrGLProgramDataManager::set2iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +10439:GrGLProgramDataManager::set2i\28GrResourceHandle\2c\20int\2c\20int\29\20const +10440:GrGLProgramDataManager::set2f\28GrResourceHandle\2c\20float\2c\20float\29\20const +10441:GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +10442:GrGLProgramDataManager::set1i\28GrResourceHandle\2c\20int\29\20const +10443:GrGLProgramDataManager::set1fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10444:GrGLProgramDataManager::set1f\28GrResourceHandle\2c\20float\29\20const +10445:GrGLProgramBuilder::~GrGLProgramBuilder\28\29.1 +10446:GrGLProgramBuilder::varyingHandler\28\29 +10447:GrGLProgramBuilder::caps\28\29\20const +10448:GrGLProgram::~GrGLProgram\28\29.1 +10449:GrGLOpsRenderPass::~GrGLOpsRenderPass\28\29 +10450:GrGLOpsRenderPass::onSetScissorRect\28SkIRect\20const&\29 +10451:GrGLOpsRenderPass::onEnd\28\29 +10452:GrGLOpsRenderPass::onDraw\28int\2c\20int\29 +10453:GrGLOpsRenderPass::onDrawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +10454:GrGLOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +10455:GrGLOpsRenderPass::onDrawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +10456:GrGLOpsRenderPass::onDrawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +10457:GrGLOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +10458:GrGLOpsRenderPass::onClear\28GrScissorState\20const&\2c\20std::__2::array\29 +10459:GrGLOpsRenderPass::onClearStencilClip\28GrScissorState\20const&\2c\20bool\29 +10460:GrGLOpsRenderPass::onBindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +10461:GrGLOpsRenderPass::onBindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +10462:GrGLOpsRenderPass::onBindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +10463:GrGLOpsRenderPass::onBegin\28\29 +10464:GrGLOpsRenderPass::inlineUpload\28GrOpFlushState*\2c\20std::__2::function&\29>&\29 +10465:GrGLInterface::~GrGLInterface\28\29.1 +10466:GrGLInterface::~GrGLInterface\28\29 +10467:GrGLGpu::~GrGLGpu\28\29.1 +10468:GrGLGpu::xferBarrier\28GrRenderTarget*\2c\20GrXferBarrierType\29 +10469:GrGLGpu::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +10470:GrGLGpu::willExecute\28\29 +10471:GrGLGpu::waitSemaphore\28GrSemaphore*\29 +10472:GrGLGpu::submit\28GrOpsRenderPass*\29 +10473:GrGLGpu::stagingBufferManager\28\29 +10474:GrGLGpu::refPipelineBuilder\28\29 +10475:GrGLGpu::prepareTextureForCrossContextUsage\28GrTexture*\29 +10476:GrGLGpu::precompileShader\28SkData\20const&\2c\20SkData\20const&\29 +10477:GrGLGpu::pipelineBuilder\28\29 +10478:GrGLGpu::onWritePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +10479:GrGLGpu::onWrapRenderableBackendTexture\28GrBackendTexture\20const&\2c\20int\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +10480:GrGLGpu::onWrapCompressedBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +10481:GrGLGpu::onWrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\29 +10482:GrGLGpu::onWrapBackendRenderTarget\28GrBackendRenderTarget\20const&\29 +10483:GrGLGpu::onUpdateCompressedBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20void\20const*\2c\20unsigned\20long\29 +10484:GrGLGpu::onTransferPixelsTo\28GrTexture*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +10485:GrGLGpu::onTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\29 +10486:GrGLGpu::onTransferFromBufferToBuffer\28sk_sp\2c\20unsigned\20long\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +10487:GrGLGpu::onSubmitToGpu\28GrSyncCpu\29 +10488:GrGLGpu::onResolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +10489:GrGLGpu::onResetTextureBindings\28\29 +10490:GrGLGpu::onResetContext\28unsigned\20int\29 +10491:GrGLGpu::onRegenerateMipMapLevels\28GrTexture*\29 +10492:GrGLGpu::onReadPixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20unsigned\20long\29 +10493:GrGLGpu::onGetOpsRenderPass\28GrRenderTarget*\2c\20bool\2c\20GrAttachment*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const&\2c\20GrOpsRenderPass::LoadAndStoreInfo\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\2c\20skia_private::TArray\20const&\2c\20GrXferBarrierFlags\29 +10494:GrGLGpu::onDumpJSON\28SkJSONWriter*\29\20const +10495:GrGLGpu::onCreateTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +10496:GrGLGpu::onCreateCompressedTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20void\20const*\2c\20unsigned\20long\29 +10497:GrGLGpu::onCreateCompressedBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\29 +10498:GrGLGpu::onCreateBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +10499:GrGLGpu::onCreateBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +10500:GrGLGpu::onCopySurface\28GrSurface*\2c\20SkIRect\20const&\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +10501:GrGLGpu::onClearBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20std::__2::array\29 +10502:GrGLGpu::makeStencilAttachment\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\29 +10503:GrGLGpu::makeSemaphore\28bool\29 +10504:GrGLGpu::makeMSAAAttachment\28SkISize\2c\20GrBackendFormat\20const&\2c\20int\2c\20skgpu::Protected\2c\20GrMemoryless\29 +10505:GrGLGpu::insertSemaphore\28GrSemaphore*\29 +10506:GrGLGpu::getPreferredStencilFormat\28GrBackendFormat\20const&\29 +10507:GrGLGpu::finishOutstandingGpuWork\28\29 +10508:GrGLGpu::disconnect\28GrGpu::DisconnectType\29 +10509:GrGLGpu::deleteBackendTexture\28GrBackendTexture\20const&\29 +10510:GrGLGpu::compile\28GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\29 +10511:GrGLGpu::checkFinishProcs\28\29 +10512:GrGLGpu::addFinishedProc\28void\20\28*\29\28void*\29\2c\20void*\29 +10513:GrGLGpu::ProgramCache::~ProgramCache\28\29.1 +10514:GrGLGpu::ProgramCache::~ProgramCache\28\29 +10515:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20float\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29 +10516:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29 +10517:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29 +10518:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\29\29::'lambda'\28void\20const*\2c\20float\29::__invoke\28void\20const*\2c\20float\29 +10519:GrGLFunction::GrGLFunction\28void\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +10520:GrGLFunction::GrGLFunction\28void\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +10521:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +10522:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +10523:GrGLCaps::~GrGLCaps\28\29.1 +10524:GrGLCaps::surfaceSupportsReadPixels\28GrSurface\20const*\29\20const +10525:GrGLCaps::supportedWritePixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +10526:GrGLCaps::onSurfaceSupportsWritePixels\28GrSurface\20const*\29\20const +10527:GrGLCaps::onSupportsDynamicMSAA\28GrRenderTargetProxy\20const*\29\20const +10528:GrGLCaps::onSupportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +10529:GrGLCaps::onIsWindowRectanglesSupportedForRT\28GrBackendRenderTarget\20const&\29\20const +10530:GrGLCaps::onGetReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +10531:GrGLCaps::onGetDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\29\20const +10532:GrGLCaps::onGetDefaultBackendFormat\28GrColorType\29\20const +10533:GrGLCaps::onDumpJSON\28SkJSONWriter*\29\20const +10534:GrGLCaps::onCanCopySurface\28GrSurfaceProxy\20const*\2c\20SkIRect\20const&\2c\20GrSurfaceProxy\20const*\2c\20SkIRect\20const&\29\20const +10535:GrGLCaps::onAreColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +10536:GrGLCaps::onApplyOptionsOverrides\28GrContextOptions\20const&\29 +10537:GrGLCaps::maxRenderTargetSampleCount\28GrBackendFormat\20const&\29\20const +10538:GrGLCaps::makeDesc\28GrRenderTarget*\2c\20GrProgramInfo\20const&\2c\20GrCaps::ProgramDescOverrideFlags\29\20const +10539:GrGLCaps::isFormatTexturable\28GrBackendFormat\20const&\2c\20GrTextureType\29\20const +10540:GrGLCaps::isFormatSRGB\28GrBackendFormat\20const&\29\20const +10541:GrGLCaps::isFormatRenderable\28GrBackendFormat\20const&\2c\20int\29\20const +10542:GrGLCaps::isFormatCopyable\28GrBackendFormat\20const&\29\20const +10543:GrGLCaps::isFormatAsColorTypeRenderable\28GrColorType\2c\20GrBackendFormat\20const&\2c\20int\29\20const +10544:GrGLCaps::getWriteSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +10545:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrBackendFormat\20const&\29\20const +10546:GrGLCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +10547:GrGLCaps::getBackendFormatFromCompressionType\28SkTextureCompressionType\29\20const +10548:GrGLCaps::computeFormatKey\28GrBackendFormat\20const&\29\20const +10549:GrGLBuffer::~GrGLBuffer\28\29.1 +10550:GrGLBuffer::~GrGLBuffer\28\29 +10551:GrGLBuffer::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +10552:GrGLBuffer::onUpdateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +10553:GrGLBuffer::onUnmap\28GrGpuBuffer::MapType\29 +10554:GrGLBuffer::onSetLabel\28\29 +10555:GrGLBuffer::onRelease\28\29 +10556:GrGLBuffer::onMap\28GrGpuBuffer::MapType\29 +10557:GrGLBuffer::onClearToZero\28\29 +10558:GrGLBuffer::onAbandon\28\29 +10559:GrGLBackendTextureData::~GrGLBackendTextureData\28\29.1 +10560:GrGLBackendTextureData::~GrGLBackendTextureData\28\29 +10561:GrGLBackendTextureData::isSameTexture\28GrBackendTextureData\20const*\29\20const +10562:GrGLBackendTextureData::isProtected\28\29\20const +10563:GrGLBackendTextureData::getBackendFormat\28\29\20const +10564:GrGLBackendTextureData::equal\28GrBackendTextureData\20const*\29\20const +10565:GrGLBackendTextureData::copyTo\28SkAnySubclass&\29\20const +10566:GrGLBackendRenderTargetData::isProtected\28\29\20const +10567:GrGLBackendRenderTargetData::getBackendFormat\28\29\20const +10568:GrGLBackendRenderTargetData::equal\28GrBackendRenderTargetData\20const*\29\20const +10569:GrGLBackendRenderTargetData::copyTo\28SkAnySubclass&\29\20const +10570:GrGLBackendFormatData::toString\28\29\20const +10571:GrGLBackendFormatData::stencilBits\28\29\20const +10572:GrGLBackendFormatData::equal\28GrBackendFormatData\20const*\29\20const +10573:GrGLBackendFormatData::desc\28\29\20const +10574:GrGLBackendFormatData::copyTo\28SkAnySubclass&\29\20const +10575:GrGLBackendFormatData::compressionType\28\29\20const +10576:GrGLBackendFormatData::channelMask\28\29\20const +10577:GrGLBackendFormatData::bytesPerBlock\28\29\20const +10578:GrGLAttachment::~GrGLAttachment\28\29 +10579:GrGLAttachment::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +10580:GrGLAttachment::onSetLabel\28\29 +10581:GrGLAttachment::onRelease\28\29 +10582:GrGLAttachment::onAbandon\28\29 +10583:GrGLAttachment::backendFormat\28\29\20const +10584:GrFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10585:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10586:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +10587:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10588:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10589:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::name\28\29\20const +10590:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10591:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::clone\28\29\20const +10592:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10593:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const +10594:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::name\28\29\20const +10595:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::clone\28\29\20const +10596:GrFragmentProcessor::ProgramImpl::~ProgramImpl\28\29 +10597:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10598:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const +10599:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::name\28\29\20const +10600:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::clone\28\29\20const +10601:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10602:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const +10603:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::name\28\29\20const +10604:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10605:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::clone\28\29\20const +10606:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10607:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const +10608:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::name\28\29\20const +10609:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10610:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +10611:GrFixedClip::~GrFixedClip\28\29.1 +10612:GrFixedClip::~GrFixedClip\28\29 +10613:GrExternalTextureGenerator::onGenerateTexture\28GrRecordingContext*\2c\20SkImageInfo\20const&\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +10614:GrEagerDynamicVertexAllocator::lock\28unsigned\20long\2c\20int\29 +10615:GrDynamicAtlas::~GrDynamicAtlas\28\29.1 +10616:GrDynamicAtlas::~GrDynamicAtlas\28\29 +10617:GrDrawOp::usesStencil\28\29\20const +10618:GrDrawOp::usesMSAA\28\29\20const +10619:GrDrawOp::fixedFunctionFlags\28\29\20const +10620:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29.1 +10621:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29 +10622:GrDistanceFieldPathGeoProc::onTextureSampler\28int\29\20const +10623:GrDistanceFieldPathGeoProc::name\28\29\20const +10624:GrDistanceFieldPathGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10625:GrDistanceFieldPathGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10626:GrDistanceFieldPathGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10627:GrDistanceFieldPathGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10628:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29.1 +10629:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29 +10630:GrDistanceFieldLCDTextGeoProc::name\28\29\20const +10631:GrDistanceFieldLCDTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10632:GrDistanceFieldLCDTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10633:GrDistanceFieldLCDTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10634:GrDistanceFieldLCDTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10635:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +10636:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +10637:GrDistanceFieldA8TextGeoProc::name\28\29\20const +10638:GrDistanceFieldA8TextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10639:GrDistanceFieldA8TextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10640:GrDistanceFieldA8TextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10641:GrDistanceFieldA8TextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10642:GrDisableColorXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10643:GrDisableColorXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10644:GrDirectContext::~GrDirectContext\28\29.1 +10645:GrDirectContext::releaseResourcesAndAbandonContext\28\29 +10646:GrDirectContext::init\28\29 +10647:GrDirectContext::abandoned\28\29 +10648:GrDirectContext::abandonContext\28\29 +10649:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29.1 +10650:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29 +10651:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29.1 +10652:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29 +10653:GrCpuVertexAllocator::unlock\28int\29 +10654:GrCpuVertexAllocator::lock\28unsigned\20long\2c\20int\29 +10655:GrCpuBuffer::unref\28\29\20const +10656:GrCoverageSetOpXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10657:GrCoverageSetOpXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10658:GrCopyRenderTask::~GrCopyRenderTask\28\29.1 +10659:GrCopyRenderTask::onMakeSkippable\28\29 +10660:GrCopyRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +10661:GrCopyRenderTask::onExecute\28GrOpFlushState*\29 +10662:GrCopyRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10663:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10664:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10665:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const +10666:GrConvexPolyEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10667:GrConvexPolyEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10668:GrConvexPolyEffect::name\28\29\20const +10669:GrConvexPolyEffect::clone\28\29\20const +10670:GrContext_Base::~GrContext_Base\28\29.1 +10671:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29.1 +10672:GrContextThreadSafeProxy::isValidCharacterizationForVulkan\28sk_sp\2c\20bool\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20bool\2c\20bool\29 +10673:GrConicEffect::name\28\29\20const +10674:GrConicEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10675:GrConicEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10676:GrConicEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10677:GrConicEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10678:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +10679:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +10680:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10681:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10682:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const +10683:GrColorSpaceXformEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10684:GrColorSpaceXformEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10685:GrColorSpaceXformEffect::name\28\29\20const +10686:GrColorSpaceXformEffect::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10687:GrColorSpaceXformEffect::clone\28\29\20const +10688:GrCaps::~GrCaps\28\29 +10689:GrCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +10690:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29.1 +10691:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29 +10692:GrBitmapTextGeoProc::onTextureSampler\28int\29\20const +10693:GrBitmapTextGeoProc::name\28\29\20const +10694:GrBitmapTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10695:GrBitmapTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10696:GrBitmapTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10697:GrBitmapTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10698:GrBicubicEffect::onMakeProgramImpl\28\29\20const +10699:GrBicubicEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10700:GrBicubicEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10701:GrBicubicEffect::name\28\29\20const +10702:GrBicubicEffect::clone\28\29\20const +10703:GrBicubicEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10704:GrBicubicEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10705:GrAttachment::onGpuMemorySize\28\29\20const +10706:GrAttachment::getResourceType\28\29\20const +10707:GrAttachment::computeScratchKey\28skgpu::ScratchKey*\29\20const +10708:GrAtlasManager::~GrAtlasManager\28\29.1 +10709:GrAtlasManager::preFlush\28GrOnFlushResourceProvider*\29 +10710:GrAtlasManager::postFlush\28skgpu::AtlasToken\29 +10711:GrAATriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +10712:GetRectsForRange\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +10713:GetRectsForPlaceholders\28skia::textlayout::Paragraph&\29 +10714:GetLineMetrics\28skia::textlayout::Paragraph&\29 +10715:GetLineMetricsAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +10716:GetGlyphInfoAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +10717:GetCoeffsFast +10718:GetCoeffsAlt +10719:GetClosestGlyphInfoAtCoordinate\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29 +10720:FontMgrRunIterator::~FontMgrRunIterator\28\29.1 +10721:FontMgrRunIterator::~FontMgrRunIterator\28\29 +10722:FontMgrRunIterator::currentFont\28\29\20const +10723:FontMgrRunIterator::consume\28\29 +10724:ExtractGreen_C +10725:ExtractAlpha_C +10726:ExtractAlphaRows +10727:ExternalWebGLTexture::~ExternalWebGLTexture\28\29.1 +10728:ExternalWebGLTexture::~ExternalWebGLTexture\28\29 +10729:ExternalWebGLTexture::getBackendTexture\28\29 +10730:ExternalWebGLTexture::dispose\28\29 +10731:ExportAlphaRGBA4444 +10732:ExportAlpha +10733:Equals\28SkPath\20const&\2c\20SkPath\20const&\29 +10734:End +10735:EmitYUV +10736:EmitSampledRGB +10737:EmitRescaledYUV +10738:EmitRescaledRGB +10739:EmitRescaledAlphaYUV +10740:EmitRescaledAlphaRGB +10741:EmitFancyRGB +10742:EmitAlphaYUV +10743:EmitAlphaRGBA4444 +10744:EmitAlphaRGB +10745:EllipticalRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10746:EllipticalRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10747:EllipticalRRectOp::name\28\29\20const +10748:EllipticalRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10749:EllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10750:EllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10751:EllipseOp::name\28\29\20const +10752:EllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10753:EllipseGeometryProcessor::name\28\29\20const +10754:EllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10755:EllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10756:EllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10757:Dual_Project +10758:DitherCombine8x8_C +10759:DispatchAlpha_C +10760:DispatchAlphaToGreen_C +10761:DisableColorXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10762:DisableColorXP::name\28\29\20const +10763:DisableColorXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10764:DisableColorXP::makeProgramImpl\28\29\20const +10765:Direct_Move_Y +10766:Direct_Move_X +10767:Direct_Move_Orig_Y +10768:Direct_Move_Orig_X +10769:Direct_Move_Orig +10770:Direct_Move +10771:DefaultGeoProc::name\28\29\20const +10772:DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10773:DefaultGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10774:DefaultGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10775:DefaultGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10776:DataFontLoader::loadSystemFonts\28SkFontScanner\20const*\2c\20skia_private::TArray\2c\20true>*\29\20const +10777:DIEllipseOp::~DIEllipseOp\28\29.1 +10778:DIEllipseOp::~DIEllipseOp\28\29 +10779:DIEllipseOp::visitProxies\28std::__2::function\20const&\29\20const +10780:DIEllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10781:DIEllipseOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10782:DIEllipseOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10783:DIEllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10784:DIEllipseOp::name\28\29\20const +10785:DIEllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10786:DIEllipseGeometryProcessor::name\28\29\20const +10787:DIEllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10788:DIEllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10789:DIEllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10790:DC8uv_C +10791:DC8uvNoTop_C +10792:DC8uvNoTopLeft_C +10793:DC8uvNoLeft_C +10794:DC4_C +10795:DC16_C +10796:DC16NoTop_C +10797:DC16NoTopLeft_C +10798:DC16NoLeft_C +10799:CustomXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10800:CustomXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10801:CustomXP::xferBarrierType\28GrCaps\20const&\29\20const +10802:CustomXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10803:CustomXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10804:CustomXP::name\28\29\20const +10805:CustomXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10806:CustomXP::makeProgramImpl\28\29\20const +10807:CustomTeardown +10808:CustomSetup +10809:CustomPut +10810:Current_Ppem_Stretched +10811:Current_Ppem +10812:Cr_z_zcfree +10813:Cr_z_zcalloc +10814:CoverageSetOpXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10815:CoverageSetOpXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10816:CoverageSetOpXP::name\28\29\20const +10817:CoverageSetOpXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10818:CoverageSetOpXP::makeProgramImpl\28\29\20const +10819:CopyPath\28SkPath\20const&\29 +10820:ConvertRGB24ToY_C +10821:ConvertBGR24ToY_C +10822:ConvertARGBToY_C +10823:ColorTableEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10824:ColorTableEffect::onMakeProgramImpl\28\29\20const +10825:ColorTableEffect::name\28\29\20const +10826:ColorTableEffect::clone\28\29\20const +10827:CircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +10828:CircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10829:CircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10830:CircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10831:CircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10832:CircularRRectOp::name\28\29\20const +10833:CircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10834:CircleOp::~CircleOp\28\29.1 +10835:CircleOp::~CircleOp\28\29 +10836:CircleOp::visitProxies\28std::__2::function\20const&\29\20const +10837:CircleOp::programInfo\28\29 +10838:CircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10839:CircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10840:CircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10841:CircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10842:CircleOp::name\28\29\20const +10843:CircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10844:CircleGeometryProcessor::name\28\29\20const +10845:CircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10846:CircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10847:CircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10848:CanInterpolate\28SkPath\20const&\2c\20SkPath\20const&\29 +10849:ButtCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +10850:ButtCapDashedCircleOp::visitProxies\28std::__2::function\20const&\29\20const +10851:ButtCapDashedCircleOp::programInfo\28\29 +10852:ButtCapDashedCircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10853:ButtCapDashedCircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10854:ButtCapDashedCircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10855:ButtCapDashedCircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10856:ButtCapDashedCircleOp::name\28\29\20const +10857:ButtCapDashedCircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10858:ButtCapDashedCircleGeometryProcessor::name\28\29\20const +10859:ButtCapDashedCircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10860:ButtCapDashedCircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10861:ButtCapDashedCircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10862:BluntJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +10863:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10864:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10865:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +10866:BlendFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10867:BlendFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10868:BlendFragmentProcessor::name\28\29\20const +10869:BlendFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10870:BlendFragmentProcessor::clone\28\29\20const +10871:AutoCleanPng::infoCallback\28unsigned\20long\29 +10872:AutoCleanPng::decodeBounds\28\29 +10873:ApplyTrim\28SkPath&\2c\20float\2c\20float\2c\20bool\29 +10874:ApplyTransform\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10875:ApplyStroke\28SkPath&\2c\20StrokeOpts\29 +10876:ApplySimplify\28SkPath&\29 +10877:ApplyRewind\28SkPath&\29 +10878:ApplyReset\28SkPath&\29 +10879:ApplyRQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +10880:ApplyRMoveTo\28SkPath&\2c\20float\2c\20float\29 +10881:ApplyRLineTo\28SkPath&\2c\20float\2c\20float\29 +10882:ApplyRCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10883:ApplyRConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10884:ApplyRArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +10885:ApplyQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +10886:ApplyPathOp\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29 +10887:ApplyMoveTo\28SkPath&\2c\20float\2c\20float\29 +10888:ApplyLineTo\28SkPath&\2c\20float\2c\20float\29 +10889:ApplyDash\28SkPath&\2c\20float\2c\20float\2c\20float\29 +10890:ApplyCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10891:ApplyConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10892:ApplyClose\28SkPath&\29 +10893:ApplyArcToTangent\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10894:ApplyArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +10895:ApplyAlphaMultiply_C +10896:ApplyAlphaMultiply_16b_C +10897:ApplyAddPath\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +10898:AlphaReplace_C +10899:$_3::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +10900:$_2::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 +10901:$_1::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +10902:$_0::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 diff --git a/canvaskit/chromium/canvaskit.wasm b/canvaskit/chromium/canvaskit.wasm new file mode 100644 index 0000000..6be909f Binary files /dev/null and b/canvaskit/chromium/canvaskit.wasm differ diff --git a/canvaskit/skwasm.js b/canvaskit/skwasm.js new file mode 100644 index 0000000..dafd654 --- /dev/null +++ b/canvaskit/skwasm.js @@ -0,0 +1,169 @@ + +var skwasm = (() => { + var _scriptDir = import.meta.url; + + return ( +async function(moduleArg = {}) { + +function aa(){d.buffer!=h.buffer&&l();return h}function p(){d.buffer!=h.buffer&&l();return ba}function q(){d.buffer!=h.buffer&&l();return da}function t(){d.buffer!=h.buffer&&l();return ea}function v(){d.buffer!=h.buffer&&l();return fa}function ha(){d.buffer!=h.buffer&&l();return ia}var w=moduleArg,ja,ka;w.ready=new Promise((a,b)=>{ja=a;ka=b}); +var la=Object.assign({},w),ma="./this.program",na=(a,b)=>{throw b;},oa="object"==typeof window,pa="function"==typeof importScripts,x="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,A=w.ENVIRONMENT_IS_PTHREAD||!1,C="";function qa(a){return w.locateFile?w.locateFile(a,C):C+a}var ra,sa,ta; +if(x){const {createRequire:a}=await import("module");var require=a(import.meta.url),fs=require("fs"),ua=require("path");pa?C=ua.dirname(C)+"/":C=require("url").fileURLToPath(new URL("./",import.meta.url));ra=(c,e)=>{c=c.startsWith("file://")?new URL(c):ua.normalize(c);return fs.readFileSync(c,e?void 0:"utf8")};ta=c=>{c=ra(c,!0);c.buffer||(c=new Uint8Array(c));return c};sa=(c,e,f,g=!0)=>{c=c.startsWith("file://")?new URL(c):ua.normalize(c);fs.readFile(c,g?void 0:"utf8", +(k,n)=>{k?f(k):e(g?n.buffer:n)})};!w.thisProgram&&1{process.exitCode=c;throw e;};w.inspect=()=>"[Emscripten Module object]";let b;try{b=require("worker_threads")}catch(c){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),c;}global.Worker=b.Worker}else if(oa||pa)pa?C=self.location.href:"undefined"!=typeof document&&document.currentScript&& +(C=document.currentScript.src),_scriptDir&&(C=_scriptDir),0!==C.indexOf("blob:")?C=C.substr(0,C.replace(/[?#].*/,"").lastIndexOf("/")+1):C="",x||(ra=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},pa&&(ta=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),sa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response? +b(e.response):c()};e.onerror=c;e.send(null)});x&&"undefined"==typeof performance&&(global.performance=require("perf_hooks").performance);var va=console.log.bind(console),wa=console.error.bind(console);x&&(va=(...a)=>fs.writeSync(1,a.join(" ")+"\n"),wa=(...a)=>fs.writeSync(2,a.join(" ")+"\n"));var xa=w.print||va,D=w.printErr||wa;Object.assign(w,la);la=null;w.thisProgram&&(ma=w.thisProgram);w.quit&&(na=w.quit);var ya;w.wasmBinary&&(ya=w.wasmBinary);var noExitRuntime=w.noExitRuntime||!0; +"object"!=typeof WebAssembly&&za("no native wasm support detected");var d,F,Aa,Ba=!1,Ca,h,ba,Da,Ea,da,ea,fa,ia;function l(){var a=d.buffer;w.HEAP8=h=new Int8Array(a);w.HEAP16=Da=new Int16Array(a);w.HEAP32=da=new Int32Array(a);w.HEAPU8=ba=new Uint8Array(a);w.HEAPU16=Ea=new Uint16Array(a);w.HEAPU32=ea=new Uint32Array(a);w.HEAPF32=fa=new Float32Array(a);w.HEAPF64=ia=new Float64Array(a)}var Fa=w.INITIAL_MEMORY||16777216;65536<=Fa||za("INITIAL_MEMORY should be larger than STACK_SIZE, was "+Fa+"! (STACK_SIZE=65536)"); +if(A)d=w.wasmMemory;else if(w.wasmMemory)d=w.wasmMemory;else if(d=new WebAssembly.Memory({initial:Fa/65536,maximum:32768,shared:!0}),!(d.buffer instanceof SharedArrayBuffer))throw D("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),x&&D("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"), +Error("bad memory");l();Fa=d.buffer.byteLength;var G,Ga=[],Ha=[],Ia=[],Ja=0;function Ka(){return noExitRuntime||0{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>Qa(a));if(sa)return new Promise((b,c)=>{sa(a,e=>b(new Uint8Array(e)),c)})}return Promise.resolve().then(()=>Qa(a))}function Sa(a,b,c){return Ra(a).then(e=>WebAssembly.instantiate(e,b)).then(e=>e).then(c,e=>{D("failed to asynchronously prepare wasm: "+e);za(e)})} +function Ta(a,b){var c=I;return ya||"function"!=typeof WebAssembly.instantiateStreaming||Pa(c)||c.startsWith("file://")||x||"function"!=typeof fetch?Sa(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){D("wasm streaming compile failed: "+f);D("falling back to ArrayBuffer instantiation");return Sa(c,a,b)}))}function Ua(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a} +function Va(a){a.terminate();a.onmessage=()=>{}}function Wa(a){(a=J.g[a])||za();J.Aa(a)}function Xa(a){var b=J.ma();if(!b)return 6;J.B.push(b);J.g[a.o]=b;b.o=a.o;var c={cmd:"run",start_routine:a.Ba,arg:a.ka,pthread_ptr:a.o};c.H=a.H;c.T=a.T;x&&b.unref();b.postMessage(c,a.Ha);return 0} +var Ya="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,Za=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}, +K=(a,b)=>a?Za(p(),a,b):"";function $a(a){if(A)return L(1,1,a);Ca=a;if(!Ka()){J.Ca();if(w.onExit)w.onExit(a);Ba=!0}na(a,new Ua(a))} +var bb=a=>{Ca=a;if(A)throw ab(a),"unwind";$a(a)},J={u:[],B:[],ha:[],g:{},S:function(){A?J.ra():J.qa()},qa:function(){for(var a=1;a--;)J.X();Ga.unshift(()=>{Na();J.ta(()=>Oa())})},ra:function(){J.receiveObjectTransfer=J.za;J.threadInitTLS=J.ga;J.setExitStatus=J.fa;noExitRuntime=!1},fa:function(a){Ca=a},Oa:["$terminateWorker"],Ca:function(){for(var a of J.B)Va(a);for(a of J.u)Va(a);J.u=[];J.B=[];J.g=[]},Aa:function(a){var b=a.o;delete J.g[b];J.u.push(a);J.B.splice(J.B.indexOf(a),1);a.o=0;cb(b)},za:function(a){"undefined"!= +typeof db&&(Object.assign(M,a.T),!w.canvas&&a.H&&M[a.H]&&(w.canvas=M[a.H].I,w.canvas.id=a.H))},ga:function(){J.ha.forEach(a=>a())},ba:a=>new Promise(b=>{a.onmessage=g=>{g=g.data;var k=g.cmd;if(g.targetThread&&g.targetThread!=eb()){var n=J.g[g.Na];n?n.postMessage(g,g.transferList):D('Internal error! Worker sent a message "'+k+'" to target pthread '+g.targetThread+", but that thread no longer exists!")}else if("checkMailbox"===k)fb();else if("spawnThread"===k)Xa(g);else if("cleanupThread"===k)Wa(g.thread); +else if("killThread"===k)g=g.thread,k=J.g[g],delete J.g[g],Va(k),cb(g),J.B.splice(J.B.indexOf(k),1),k.o=0;else if("cancelThread"===k)J.g[g.thread].postMessage({cmd:"cancel"});else if("loaded"===k)a.loaded=!0,x&&!a.o&&a.unref(),b(a);else if("alert"===k)alert("Thread "+g.threadId+": "+g.text);else if("setimmediate"===g.target)a.postMessage(g);else if("callHandler"===k)w[g.handler](...g.args);else k&&D("worker sent an unknown command "+k)};a.onerror=g=>{D("worker sent an error! "+g.filename+":"+g.lineno+ +": "+g.message);throw g;};x&&(a.on("message",function(g){a.onmessage({data:g})}),a.on("error",function(g){a.onerror(g)}));var c=[],e=["onExit","onAbort","print","printErr"],f;for(f of e)w.hasOwnProperty(f)&&c.push(f);a.postMessage({cmd:"load",handlers:c,urlOrBlob:w.mainScriptUrlOrBlob,wasmMemory:d,wasmModule:Aa})}),ta:function(a){if(A)return a();Promise.all(J.u.map(J.ba)).then(a)},X:function(){if(w.locateFile){var a=qa("skwasm.worker.js");a=new Worker(a)}else a=new Worker(new URL("skwasm.worker.js", +import.meta.url));J.u.push(a)},ma:function(){0==J.u.length&&(J.X(),J.ba(J.u[0]));return J.u.pop()}};w.PThread=J;var gb=a=>{for(;0>2];a=q()[a+56>>2];hb(b,b-a);N(b)};function ab(a){if(A)return L(2,0,a);bb(a)}w.invokeEntryPoint=function(a,b){a=G.get(a)(b);Ka()?J.fa(a):ib(a)}; +function jb(a){this.G=a-24;this.ua=function(b){t()[this.G+4>>2]=b};this.sa=function(b){t()[this.G+8>>2]=b};this.S=function(b,c){this.na();this.ua(b);this.sa(c)};this.na=function(){t()[this.G+16>>2]=0}}var kb=0,lb=0;function mb(a,b,c,e){return A?L(3,1,a,b,c,e):nb(a,b,c,e)} +function nb(a,b,c,e){if("undefined"==typeof SharedArrayBuffer)return D("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var f=[],g=0,k=b?t()[b+40>>2]:0;4294967295==k?k="#canvas":k&&(k=K(k).trim());k&&(k=k.split(","));var n={},r=w.canvas?w.canvas.id:"",u;for(u in k){var y=k[u].trim();try{if("#canvas"==y){if(!w.canvas){D('pthread_create: could not find canvas with ID "'+y+'" to transfer to thread!');g=28;break}y=w.canvas.id}if(M[y]){var V=M[y];M[y]=null;w.canvas instanceof +OffscreenCanvas&&y===w.canvas.id&&(w.canvas=null)}else if(!A){var E=w.canvas&&w.canvas.id===y?w.canvas:document.querySelector(y);if(!E){D('pthread_create: could not find canvas with ID "'+y+'" to transfer to thread!');g=28;break}if(E.Y){D('pthread_create: cannot transfer canvas with ID "'+y+'" to thread, since the current thread does not have control over it!');g=63;break}if(E.transferControlToOffscreen)E.h||(E.h=ob(12),q()[E.h>>2]=E.width,q()[E.h+4>>2]=E.height,q()[E.h+8>>2]=0),V={I:E.transferControlToOffscreen(), +h:E.h,id:E.id},E.Y=!0;else return D('pthread_create: cannot transfer control of canvas "'+y+'" to pthread, because current browser does not support OffscreenCanvas!'),D("pthread_create: Build with -sOFFSCREEN_FRAMEBUFFER to enable fallback proxying of GL commands from pthread to main thread."),52}V&&(f.push(V.I),n[V.id]=V)}catch(m){return D('pthread_create: failed to transfer control of canvas "'+y+'" to OffscreenCanvas! Error: '+m),28}}if(A&&(0===f.length||g))return mb(a,b,c,e);if(g)return g;for(E of Object.values(n))q()[E.h+ +8>>2]=a;a={Ba:c,o:a,ka:e,H:r,T:n,Ha:f};return A?(a.Ja="spawnThread",postMessage(a,f),0):Xa(a)}function pb(a,b,c){return A?L(4,1,a,b,c):0}function qb(a,b){if(A)return L(5,1,a,b)}function rb(a,b,c){return A?L(6,1,a,b,c):0}function sb(a,b,c,e){if(A)return L(7,1,a,b,c,e)}var tb=a=>{if(!Ba)try{if(a(),!Ka())try{A?ib(Ca):bb(Ca)}catch(b){b instanceof Ua||"unwind"==b||na(1,b)}}catch(b){b instanceof Ua||"unwind"==b||na(1,b)}}; +function ub(a){"function"===typeof Atomics.Ia&&(Atomics.Ia(q(),a>>2,a).value.then(fb),a+=128,Atomics.store(q(),a>>2,1))}w.__emscripten_thread_mailbox_await=ub;function fb(){var a=eb();a&&(ub(a),tb(()=>vb()))}w.checkMailbox=fb; +var wb=a=>{var b=O();a=a();N(b);return a},xb=a=>{for(var b=0,c=0;c=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b},yb=(a,b,c,e)=>{if(!(0=k){var n=a.charCodeAt(++g);k=65536+((k&1023)<<10)|n&1023}if(127>=k){if(c>=e)break;b[c++]=k}else{if(2047>=k){if(c+1>=e)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++]=224|k>>12}else{if(c+3>=e)break; +b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-f},zb=a=>{var b=xb(a)+1,c=ob(b);c&&yb(a,p(),c,b);return c};function Ab(a,b,c,e){b=b?K(b):"";wb(function(){var f=Bb(12),g=0;b&&(g=zb(b));q()[f>>2]=g;q()[f+4>>2]=c;q()[f+8>>2]=e;Cb(a,654311424,0,g,f)})} +function Db(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,g){b.drawArraysInstancedANGLE(c,e,f,g)},a.drawElementsInstanced=function(c,e,f,g,k){b.drawElementsInstancedANGLE(c,e,f,g,k)})} +function Eb(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Fb(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})} +function Gb(a){a.Z=a.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")}function Hb(a){a.ea=a.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}function Ib(a){a.Ma=a.getExtension("WEBGL_multi_draw")}var Jb=1,Kb=[],P=[],Lb=[],Mb=[],Q=[],R=[],Nb=[],Ob={},M={},Pb=[],Qb=[],Rb={},Sb={},Tb=4;function S(a){Ub||(Ub=a)}function Vb(a){for(var b=Jb++,c=a.length;c>2]=eb();var e={handle:c,attributes:b,version:b.da,v:a};a.canvas&&(a.canvas.K=e);Ob[c]=e;("undefined"==typeof b.aa||b.aa)&&Yb(e);return c} +function Yb(a){a||(a=T);if(!a.pa){a.pa=!0;var b=a.v;Db(b);Eb(b);Fb(b);Gb(b);Hb(b);2<=a.version&&(b.$=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.$)b.$=b.getExtension("EXT_disjoint_timer_query");Ib(b);(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}var db={},Ub,T; +function Zb(a){a=2>2]=b,q()[e.h+4>>2]=c);if(e.I||!e.Y)e.I&&(e=e.I),a=!1,e.K&&e.K.v&&(a=e.K.v.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===e.width&&a[3]===e.height),e.width=b,e.height=c,a&&e.K.v.viewport(0,0,b,c);else return e.h?(e=q()[e.h+8>>2],Ab(e,a,b,c),1):-4;return 0} +function ac(a,b,c){return A?L(8,1,a,b,c):$b(a,b,c)}function bc(a,b,c,e,f,g,k,n){return A?L(9,1,a,b,c,e,f,g,k,n):-52}function cc(a,b,c,e,f,g,k){if(A)return L(10,1,a,b,c,e,f,g,k)}function dc(a,b){U.bindFramebuffer(a,Lb[b])}function ec(a){U.clear(a)}function fc(a,b,c,e){U.clearColor(a,b,c,e)}function gc(a){U.clearStencil(a)} +function hc(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&S(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=U.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>T.version){S(1282);return}e=2*(U.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>T.version){S(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=U.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":S(1280);return;case "object":if(null=== +f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:S(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a>2]=f[a];break;case 2:v()[b+4*a>>2]=f[a];break;case 4:aa()[b+a>>0]=f[a]?1:0}return}try{e=f.name| +0}catch(g){S(1280);D("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+g+")");return}}break;default:S(1280);D("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;t()[b>>2]=c;t()[b+4>>2]=(c-t()[b>>2])/4294967296;break;case 0:q()[b>>2]=e;break;case 2:v()[b>>2]=e;break;case 4:aa()[b>>0]=e?1:0}}else S(1281)}function ic(a,b){hc(a,b,0)} +function jc(a){a-=5120;0==a?a=aa():1==a?a=p():2==a?(d.buffer!=h.buffer&&l(),a=Da):4==a?a=q():6==a?a=v():5==a||28922==a||28520==a||30779==a||30782==a?a=t():(d.buffer!=h.buffer&&l(),a=Ea);return a}function kc(a,b,c,e,f){a=jc(a);var g=31-Math.clz32(a.BYTES_PER_ELEMENT),k=Tb;return a.subarray(f>>g,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<>g)} +function lc(a,b,c,e,f,g,k){if(2<=T.version)if(U.R)U.readPixels(a,b,c,e,f,g,k);else{var n=jc(g);U.readPixels(a,b,c,e,f,g,n,k>>31-Math.clz32(n.BYTES_PER_ELEMENT))}else(k=kc(g,f,c,e,k))?U.readPixels(a,b,c,e,f,g,k):S(1280)}function L(a,b){var c=arguments.length-2,e=arguments;return wb(()=>{for(var f=Bb(8*c),g=f>>3,k=0;k{if(!pc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ma||"./this.program"},b;for(b in oc)void 0===oc[b]?delete a[b]:a[b]=oc[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);pc=c}return pc},pc; +function rc(a,b){if(A)return L(11,1,a,b);var c=0;qc().forEach(function(e,f){var g=b+c;f=t()[a+4*f>>2]=g;for(g=0;g>0]=e.charCodeAt(g);aa()[f>>0]=0;c+=e.length+1});return 0}function sc(a,b){if(A)return L(12,1,a,b);var c=qc();t()[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});t()[b>>2]=e;return 0}function tc(a){return A?L(13,1,a):52}function uc(a,b,c,e,f,g){return A?L(14,1,a,b,c,e,f,g):52}function vc(a,b,c,e){return A?L(15,1,a,b,c,e):52} +function wc(a,b,c,e,f){return A?L(16,1,a,b,c,e,f):70}var xc=[null,[],[]];function yc(a,b,c,e){if(A)return L(17,1,a,b,c,e);for(var f=0,g=0;g>2],n=t()[b+4>>2];b+=8;for(var r=0;r>2]=f;return 0}function zc(a){U.bindVertexArray(Nb[a])}function Ac(a,b){for(var c=0;c>2];U.deleteVertexArray(Nb[e]);Nb[e]=null}}var Bc=[]; +function Cc(a,b,c,e){U.drawElements(a,b,c,e)}function Dc(a,b,c,e){for(var f=0;f>2]=k}}function Ec(a,b){Dc(a,b,"createVertexArray",Nb)}function Fc(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function W(a){var b=U.la;if(b){var c=b.J[a];"number"==typeof c&&(b.J[a]=c=U.getUniformLocation(b,b.ia[a]+(00===a%4&&(0!==a%100||0===a%400),Xc=[31,29,31,30,31,30,31,31,30,31,30,31],Yc=[31,28,31,30,31,30,31,31,30,31,30,31];function Zc(a){var b=Array(xb(a)+1);yb(a,b,0,b.length);return b} +var $c=(a,b)=>{aa().set(a,b)},ad=(a,b,c,e)=>{function f(m,z,B){for(m="number"==typeof m?m.toString():m||"";m.lengthOc?-1:0ca-m.getDate())z-=ca-m.getDate()+1,m.setDate(1),11>B?m.setMonth(B+1):(m.setMonth(0),m.setFullYear(m.getFullYear()+1));else{m.setDate(m.getDate()+z);break}}B=new Date(m.getFullYear()+1,0,4);z=n(new Date(m.getFullYear(), +0,4));B=n(B);return 0>=k(z,m)?0>=k(B,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}var u=q()[e+40>>2];e={Fa:q()[e>>2],Ea:q()[e+4>>2],O:q()[e+8>>2],V:q()[e+12>>2],P:q()[e+16>>2],D:q()[e+20>>2],l:q()[e+24>>2],C:q()[e+28>>2],Pa:q()[e+32>>2],Da:q()[e+36>>2],Ga:u?K(u):""};c=K(c);u={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y", +"%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in u)c=c.replace(new RegExp(y,"g"),u[y]);var V="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),E="January February March April May June July August September October November December".split(" ");u={"%a":m=>V[m.l].substring(0,3),"%A":m=>V[m.l],"%b":m=>E[m.P].substring(0,3),"%B":m=>E[m.P],"%C":m=>g((m.D+1900)/100| +0,2),"%d":m=>g(m.V,2),"%e":m=>f(m.V,2," "),"%g":m=>r(m).toString().substring(2),"%G":m=>r(m),"%H":m=>g(m.O,2),"%I":m=>{m=m.O;0==m?m=12:12{for(var z=0,B=0;B<=m.P-1;z+=(Wc(m.D+1900)?Xc:Yc)[B++]);return g(m.V+z,3)},"%m":m=>g(m.P+1,2),"%M":m=>g(m.Ea,2),"%n":()=>"\n","%p":m=>0<=m.O&&12>m.O?"AM":"PM","%S":m=>g(m.Fa,2),"%t":()=>"\t","%u":m=>m.l||7,"%U":m=>g(Math.floor((m.C+7-m.l)/7),2),"%V":m=>{var z=Math.floor((m.C+7-(m.l+6)%7)/7);2>=(m.l+371-m.C-2)%7&&z++;if(z)53==z&& +(B=(m.l+371-m.C)%7,4==B||3==B&&Wc(m.D)||(z=1));else{z=52;var B=(m.l+7-m.C-1)%7;(4==B||5==B&&Wc(m.D%400-1))&&z++}return g(z,2)},"%w":m=>m.l,"%W":m=>g(Math.floor((m.C+7-(m.l+6)%7)/7),2),"%y":m=>(m.D+1900).toString().substring(2),"%Y":m=>m.D+1900,"%z":m=>{m=m.Da;var z=0<=m;m=Math.abs(m)/60;return(z?"+":"-")+String("0000"+(m/60*100+m%60)).slice(-4)},"%Z":m=>m.Ga,"%%":()=>"%"};c=c.replace(/%%/g,"\x00\x00");for(y in u)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),u[y](e)));c=c.replace(/\0\0/g,"%");y=Zc(c); +if(y.length>b)return 0;$c(y,a);return y.length-1},bd=void 0,cd=[];J.S();for(var U,Y=0;32>Y;++Y)Bc.push(Array(Y));var dd=new Float32Array(288);for(Y=0;288>Y;++Y)X[Y]=dd.subarray(0,Y+1);var ed=new Int32Array(288);for(Y=0;288>Y;++Y)Gc[Y]=ed.subarray(0,Y+1); +(function(){const a=new Map,b=new Map;let c;Uc=function(e,f,g){J.g[e].postMessage({s:"setAssociatedObject",U:f,object:g},[g])};Pc=function(e){return b.get(e)};Vc=function(e){J.g[e].postMessage({s:"syncTimeOrigin",timeOrigin:performance.timeOrigin})};Rc=function(e){function f({data:g}){var k=g.s;if(k)switch(k){case "syncTimeOrigin":c=performance.timeOrigin-g.timeOrigin;break;case "renderPictures":fd(g.m,g.wa,g.va,g.A,performance.now()+c);break;case "onRenderComplete":gd(g.m,g.A,{imageBitmaps:g.oa, +rasterStartMilliseconds:g.ya,rasterEndMilliseconds:g.xa});break;case "setAssociatedObject":b.set(g.U,g.object);break;case "disposeAssociatedObject":g=g.U;k=b.get(g);k.close&&k.close();b.delete(g);break;case "disposeSurface":hd(g.m);break;case "rasterizeImage":jd(g.m,g.image,g.format,g.A);break;case "onRasterizeComplete":kd(g.m,g.data,g.A);break;default:console.warn(`unrecognized skwasm message: ${k}`)}}e?J.g[e].addEventListener("message",f):addEventListener("message",f)};Mc=function(e,f,g,k,n){J.g[e].postMessage({s:"renderPictures", +m:f,wa:g,va:k,A:n})};Jc=function(e,f){e=new OffscreenCanvas(e,f);f=Wb(e);a.set(f,e);return f};Sc=function(e,f,g){e=a.get(e);e.width=f;e.height=g};Hc=function(e,f,g,k){k||(k=[]);e=a.get(e);k.push(createImageBitmap(e,0,0,f,g));return k};Tc=async function(e,f,g,k){f=f?await Promise.all(f):[];postMessage({s:"onRenderComplete",m:e,A:k,oa:f,ya:g,xa:performance.now()+c},[...f])};Ic=function(e,f,g){const k=T.v,n=k.createTexture();k.bindTexture(k.TEXTURE_2D,n);k.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL, +!0);k.texImage2D(k.TEXTURE_2D,0,k.RGBA,f,g,0,k.RGBA,k.UNSIGNED_BYTE,e);k.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);k.bindTexture(k.TEXTURE_2D,null);e=Vb(Q);Q[e]=n;return e};Nc=function(e,f){J.g[e].postMessage({s:"disposeAssociatedObject",U:f})};Kc=function(e,f){J.g[e].postMessage({s:"disposeSurface",m:f})};Lc=function(e,f,g,k,n){J.g[e].postMessage({s:"rasterizeImage",m:f,image:g,format:k,A:n})};Qc=function(e,f,g){postMessage({s:"onRasterizeComplete",m:e,data:f,A:g})}})(); +var ld=[null,$a,ab,mb,pb,qb,rb,sb,ac,bc,cc,rc,sc,tc,uc,vc,wc,yc],xd={__cxa_throw:function(a,b,c){(new jb(a)).S(b,c);kb=a;lb++;throw kb;},__emscripten_init_main_thread_js:function(a){md(a,!pa,1,!oa,65536,!1);J.ga()},__emscripten_thread_cleanup:function(a){A?postMessage({cmd:"cleanupThread",thread:a}):Wa(a)},__pthread_create_js:nb,__syscall_fcntl64:pb,__syscall_fstat64:qb,__syscall_ioctl:rb,__syscall_openat:sb,_emscripten_get_now_is_monotonic:()=>!0,_emscripten_notify_mailbox_postmessage:function(a, +b){a==b?setTimeout(()=>fb()):A?postMessage({targetThread:a,cmd:"checkMailbox"}):(a=J.g[a])&&a.postMessage({cmd:"checkMailbox"})},_emscripten_set_offscreencanvas_size:function(a,b,c){return Zb(a)?$b(a,b,c):ac(a,b,c)},_emscripten_thread_mailbox_await:ub,_emscripten_thread_set_strongref:function(a){x&&J.g[a].ref()},_emscripten_throw_longjmp:()=>{throw Infinity;},_mmap_js:bc,_munmap_js:cc,abort:()=>{za("")},emscripten_check_blocking_allowed:function(){},emscripten_exit_with_live_runtime:()=>{Ja+=1;throw"unwind"; +},emscripten_get_now:()=>performance.timeOrigin+performance.now(),emscripten_glBindFramebuffer:dc,emscripten_glClear:ec,emscripten_glClearColor:fc,emscripten_glClearStencil:gc,emscripten_glGetIntegerv:ic,emscripten_glReadPixels:lc,emscripten_receive_on_main_thread_js:function(a,b,c,e){J.La=b;nc.length=c;b=e>>3;for(e=0;e{var b=p().length;a>>>=0;if(a<=b||2147483648=c;c*=2){var e=b*(1+.2/c);e=Math.min(e, +a+100663296);var f=Math;e=Math.max(a,e);a:{f=f.min.call(f,2147483648,e+(65536-e%65536)%65536)-d.buffer.byteLength+65535>>>16;try{d.grow(f);l();var g=1;break a}catch(k){}g=void 0}if(g)return!0}return!1},emscripten_webgl_enable_extension:function(a,b){a=Ob[a];b=K(b);b.startsWith("GL_")&&(b=b.substr(3));"ANGLE_instanced_arrays"==b&&Db(U);"OES_vertex_array_object"==b&&Eb(U);"WEBGL_draw_buffers"==b&&Fb(U);"WEBGL_draw_instanced_base_vertex_base_instance"==b&&Gb(U);"WEBGL_multi_draw_instanced_base_vertex_base_instance"== +b&&Hb(U);"WEBGL_multi_draw"==b&&Ib(U);return!!a.v.getExtension(b)},emscripten_webgl_get_current_context:function(){return T?T.handle:0},emscripten_webgl_make_context_current:function(a){T=Ob[a];w.Ka=U=T&&T.v;return!a||U?0:-5},environ_get:rc,environ_sizes_get:sc,exit:bb,fd_close:tc,fd_pread:uc,fd_read:vc,fd_seek:wc,fd_write:yc,glActiveTexture:function(a){U.activeTexture(a)},glAttachShader:function(a,b){U.attachShader(P[a],R[b])},glBindAttribLocation:function(a,b,c){U.bindAttribLocation(P[a],b,K(c))}, +glBindBuffer:function(a,b){35051==a?U.R=b:35052==a&&(U.F=b);U.bindBuffer(a,Kb[b])},glBindFramebuffer:dc,glBindRenderbuffer:function(a,b){U.bindRenderbuffer(a,Mb[b])},glBindSampler:function(a,b){U.bindSampler(a,Pb[b])},glBindTexture:function(a,b){U.bindTexture(a,Q[b])},glBindVertexArray:zc,glBindVertexArrayOES:zc,glBlendColor:function(a,b,c,e){U.blendColor(a,b,c,e)},glBlendEquation:function(a){U.blendEquation(a)},glBlendFunc:function(a,b){U.blendFunc(a,b)},glBlitFramebuffer:function(a,b,c,e,f,g,k, +n,r,u){U.blitFramebuffer(a,b,c,e,f,g,k,n,r,u)},glBufferData:function(a,b,c,e){2<=T.version?c&&b?U.bufferData(a,p(),e,c,b):U.bufferData(a,b,e):U.bufferData(a,c?p().subarray(c,c+b):b,e)},glBufferSubData:function(a,b,c,e){2<=T.version?c&&U.bufferSubData(a,b,p(),e,c):U.bufferSubData(a,b,p().subarray(e,e+c))},glCheckFramebufferStatus:function(a){return U.checkFramebufferStatus(a)},glClear:ec,glClearColor:fc,glClearStencil:gc,glClientWaitSync:function(a,b,c,e){return U.clientWaitSync(Qb[a],b,(c>>>0)+4294967296* +e)},glColorMask:function(a,b,c,e){U.colorMask(!!a,!!b,!!c,!!e)},glCompileShader:function(a){U.compileShader(R[a])},glCompressedTexImage2D:function(a,b,c,e,f,g,k,n){2<=T.version?U.F||!k?U.compressedTexImage2D(a,b,c,e,f,g,k,n):U.compressedTexImage2D(a,b,c,e,f,g,p(),n,k):U.compressedTexImage2D(a,b,c,e,f,g,n?p().subarray(n,n+k):null)},glCompressedTexSubImage2D:function(a,b,c,e,f,g,k,n,r){2<=T.version?U.F||!n?U.compressedTexSubImage2D(a,b,c,e,f,g,k,n,r):U.compressedTexSubImage2D(a,b,c,e,f,g,k,p(),r,n): +U.compressedTexSubImage2D(a,b,c,e,f,g,k,r?p().subarray(r,r+n):null)},glCopyBufferSubData:function(a,b,c,e,f){U.copyBufferSubData(a,b,c,e,f)},glCopyTexSubImage2D:function(a,b,c,e,f,g,k,n){U.copyTexSubImage2D(a,b,c,e,f,g,k,n)},glCreateProgram:function(){var a=Vb(P),b=U.createProgram();b.name=a;b.N=b.L=b.M=0;b.W=1;P[a]=b;return a},glCreateShader:function(a){var b=Vb(R);R[b]=U.createShader(a);return b},glCullFace:function(a){U.cullFace(a)},glDeleteBuffers:function(a,b){for(var c=0;c>2],f=Kb[e];f&&(U.deleteBuffer(f),f.name=0,Kb[e]=null,e==U.R&&(U.R=0),e==U.F&&(U.F=0))}},glDeleteFramebuffers:function(a,b){for(var c=0;c>2],f=Lb[e];f&&(U.deleteFramebuffer(f),f.name=0,Lb[e]=null)}},glDeleteProgram:function(a){if(a){var b=P[a];b?(U.deleteProgram(b),b.name=0,P[a]=null):S(1281)}},glDeleteRenderbuffers:function(a,b){for(var c=0;c>2],f=Mb[e];f&&(U.deleteRenderbuffer(f),f.name=0,Mb[e]=null)}},glDeleteSamplers:function(a,b){for(var c= +0;c>2],f=Pb[e];f&&(U.deleteSampler(f),f.name=0,Pb[e]=null)}},glDeleteShader:function(a){if(a){var b=R[a];b?(U.deleteShader(b),R[a]=null):S(1281)}},glDeleteSync:function(a){if(a){var b=Qb[a];b?(U.deleteSync(b),b.name=0,Qb[a]=null):S(1281)}},glDeleteTextures:function(a,b){for(var c=0;c>2],f=Q[e];f&&(U.deleteTexture(f),f.name=0,Q[e]=null)}},glDeleteVertexArrays:Ac,glDeleteVertexArraysOES:Ac,glDepthMask:function(a){U.depthMask(!!a)},glDisable:function(a){U.disable(a)}, +glDisableVertexAttribArray:function(a){U.disableVertexAttribArray(a)},glDrawArrays:function(a,b,c){U.drawArrays(a,b,c)},glDrawArraysInstanced:function(a,b,c,e){U.drawArraysInstanced(a,b,c,e)},glDrawArraysInstancedBaseInstanceWEBGL:function(a,b,c,e,f){U.Z.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},glDrawBuffers:function(a,b){for(var c=Bc[a],e=0;e>2];U.drawBuffers(c)},glDrawElements:Cc,glDrawElementsInstanced:function(a,b,c,e,f){U.drawElementsInstanced(a,b,c,e,f)},glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:function(a, +b,c,e,f,g,k){U.Z.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,c,e,f,g,k)},glDrawRangeElements:function(a,b,c,e,f,g){Cc(a,e,f,g)},glEnable:function(a){U.enable(a)},glEnableVertexAttribArray:function(a){U.enableVertexAttribArray(a)},glFenceSync:function(a,b){return(a=U.fenceSync(a,b))?(b=Vb(Qb),a.name=b,Qb[b]=a,b):0},glFinish:function(){U.finish()},glFlush:function(){U.flush()},glFramebufferRenderbuffer:function(a,b,c,e){U.framebufferRenderbuffer(a,b,c,Mb[e])},glFramebufferTexture2D:function(a, +b,c,e,f){U.framebufferTexture2D(a,b,c,Q[e],f)},glFrontFace:function(a){U.frontFace(a)},glGenBuffers:function(a,b){Dc(a,b,"createBuffer",Kb)},glGenFramebuffers:function(a,b){Dc(a,b,"createFramebuffer",Lb)},glGenRenderbuffers:function(a,b){Dc(a,b,"createRenderbuffer",Mb)},glGenSamplers:function(a,b){Dc(a,b,"createSampler",Pb)},glGenTextures:function(a,b){Dc(a,b,"createTexture",Q)},glGenVertexArrays:Ec,glGenVertexArraysOES:Ec,glGenerateMipmap:function(a){U.generateMipmap(a)},glGetBufferParameteriv:function(a, +b,c){c?q()[c>>2]=U.getBufferParameter(a,b):S(1281)},glGetError:function(){var a=U.getError()||Ub;Ub=0;return a},glGetFloatv:function(a,b){hc(a,b,2)},glGetFramebufferAttachmentParameteriv:function(a,b,c,e){a=U.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;q()[e>>2]=a},glGetIntegerv:ic,glGetProgramInfoLog:function(a,b,c,e){a=U.getProgramInfoLog(P[a]);null===a&&(a="(unknown error)");var f;0>2]= +b)},glGetProgramiv:function(a,b,c){if(c)if(a>=Jb)S(1281);else if(a=P[a],35716==b)a=U.getProgramInfoLog(a),null===a&&(a="(unknown error)"),q()[c>>2]=a.length+1;else if(35719==b){if(!a.N)for(b=0;b>2]=a.N}else if(35722==b){if(!a.L)for(b=0;b>2]=a.L}else if(35381==b){if(!a.M)for(b=0;b>2]=a.M}else q()[c>>2]=U.getProgramParameter(a,b);else S(1281)},glGetRenderbufferParameteriv:function(a,b,c){c?q()[c>>2]=U.getRenderbufferParameter(a,b):S(1281)},glGetShaderInfoLog:function(a,b,c,e){a=U.getShaderInfoLog(R[a]);null===a&&(a="(unknown error)");var f;0>2]=b)},glGetShaderPrecisionFormat:function(a,b,c,e){a=U.getShaderPrecisionFormat(a,b);q()[c>>2]=a.rangeMin;q()[c+4>>2]=a.rangeMax;q()[e>> +2]=a.precision},glGetShaderiv:function(a,b,c){c?35716==b?(a=U.getShaderInfoLog(R[a]),null===a&&(a="(unknown error)"),a=a?a.length+1:0,q()[c>>2]=a):35720==b?(a=(a=U.getShaderSource(R[a]))?a.length+1:0,q()[c>>2]=a):q()[c>>2]=U.getShaderParameter(R[a],b):S(1281)},glGetString:function(a){var b=Rb[a];if(!b){switch(a){case 7939:b=U.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=zb(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=U.getParameter(a))||S(1280);b= +b&&zb(b);break;case 7938:b=U.getParameter(7938);b=2<=T.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=zb(b);break;case 35724:b=U.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=zb(b);break;default:S(1280)}Rb[a]=b}return b},glGetStringi:function(a,b){if(2>T.version)return S(1282),0;var c=Sb[a];if(c)return 0>b||b>=c.length?(S(1281),0):c[b];switch(a){case 7939:return c=U.getSupportedExtensions()|| +[],c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return zb(e)}),c=Sb[a]=c,0>b||b>=c.length?(S(1281),0):c[b];default:return S(1280),0}},glGetUniformLocation:function(a,b){b=K(b);if(a=P[a]){var c=a,e=c.J,f=c.ja,g;if(!e)for(c.J=e={},c.ia={},g=0;g>> +0,f=b.slice(0,g));if((f=a.ja[f])&&e>2];U.invalidateFramebuffer(a,e)},glInvalidateSubFramebuffer:function(a,b,c,e,f,g,k){for(var n=Bc[b],r=0;r>2];U.invalidateSubFramebuffer(a,n,e,f,g,k)},glIsSync:function(a){return U.isSync(Qb[a])},glIsTexture:function(a){return(a=Q[a])?U.isTexture(a):0},glLineWidth:function(a){U.lineWidth(a)}, +glLinkProgram:function(a){a=P[a];U.linkProgram(a);a.J=0;a.ja={}},glMultiDrawArraysInstancedBaseInstanceWEBGL:function(a,b,c,e,f,g){U.ea.multiDrawArraysInstancedBaseInstanceWEBGL(a,q(),b>>2,q(),c>>2,q(),e>>2,t(),f>>2,g)},glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:function(a,b,c,e,f,g,k,n){U.ea.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,q(),b>>2,c,q(),e>>2,q(),f>>2,q(),g>>2,t(),k>>2,n)},glPixelStorei:function(a,b){3317==a&&(Tb=b);U.pixelStorei(a,b)},glReadBuffer:function(a){U.readBuffer(a)}, +glReadPixels:lc,glRenderbufferStorage:function(a,b,c,e){U.renderbufferStorage(a,b,c,e)},glRenderbufferStorageMultisample:function(a,b,c,e,f){U.renderbufferStorageMultisample(a,b,c,e,f)},glSamplerParameterf:function(a,b,c){U.samplerParameterf(Pb[a],b,c)},glSamplerParameteri:function(a,b,c){U.samplerParameteri(Pb[a],b,c)},glSamplerParameteriv:function(a,b,c){c=q()[c>>2];U.samplerParameteri(Pb[a],b,c)},glScissor:function(a,b,c,e){U.scissor(a,b,c,e)},glShaderSource:function(a,b,c,e){for(var f="",g=0;g< +b;++g){var k=e?q()[e+4*g>>2]:-1;f+=K(q()[c+4*g>>2],0>k?void 0:k)}U.shaderSource(R[a],f)},glStencilFunc:function(a,b,c){U.stencilFunc(a,b,c)},glStencilFuncSeparate:function(a,b,c,e){U.stencilFuncSeparate(a,b,c,e)},glStencilMask:function(a){U.stencilMask(a)},glStencilMaskSeparate:function(a,b){U.stencilMaskSeparate(a,b)},glStencilOp:function(a,b,c){U.stencilOp(a,b,c)},glStencilOpSeparate:function(a,b,c,e){U.stencilOpSeparate(a,b,c,e)},glTexImage2D:function(a,b,c,e,f,g,k,n,r){if(2<=T.version)if(U.F)U.texImage2D(a, +b,c,e,f,g,k,n,r);else if(r){var u=jc(n);U.texImage2D(a,b,c,e,f,g,k,n,u,r>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else U.texImage2D(a,b,c,e,f,g,k,n,null);else U.texImage2D(a,b,c,e,f,g,k,n,r?kc(n,k,e,f,r):null)},glTexParameterf:function(a,b,c){U.texParameterf(a,b,c)},glTexParameterfv:function(a,b,c){c=v()[c>>2];U.texParameterf(a,b,c)},glTexParameteri:function(a,b,c){U.texParameteri(a,b,c)},glTexParameteriv:function(a,b,c){c=q()[c>>2];U.texParameteri(a,b,c)},glTexStorage2D:function(a,b,c,e,f){U.texStorage2D(a, +b,c,e,f)},glTexSubImage2D:function(a,b,c,e,f,g,k,n,r){if(2<=T.version)if(U.F)U.texSubImage2D(a,b,c,e,f,g,k,n,r);else if(r){var u=jc(n);U.texSubImage2D(a,b,c,e,f,g,k,n,u,r>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else U.texSubImage2D(a,b,c,e,f,g,k,n,null);else u=null,r&&(u=kc(n,k,f,g,r)),U.texSubImage2D(a,b,c,e,f,g,k,n,u)},glUniform1f:function(a,b){U.uniform1f(W(a),b)},glUniform1fv:function(a,b,c){if(2<=T.version)b&&U.uniform1fv(W(a),v(),c>>2,b);else{if(288>=b)for(var e=X[b-1],f=0;f>2];else e=v().subarray(c>>2,c+4*b>>2);U.uniform1fv(W(a),e)}},glUniform1i:function(a,b){U.uniform1i(W(a),b)},glUniform1iv:function(a,b,c){if(2<=T.version)b&&U.uniform1iv(W(a),q(),c>>2,b);else{if(288>=b)for(var e=Gc[b-1],f=0;f>2];else e=q().subarray(c>>2,c+4*b>>2);U.uniform1iv(W(a),e)}},glUniform2f:function(a,b,c){U.uniform2f(W(a),b,c)},glUniform2fv:function(a,b,c){if(2<=T.version)b&&U.uniform2fv(W(a),v(),c>>2,2*b);else{if(144>=b)for(var e=X[2*b-1],f=0;f<2*b;f+=2)e[f]=v()[c+ +4*f>>2],e[f+1]=v()[c+(4*f+4)>>2];else e=v().subarray(c>>2,c+8*b>>2);U.uniform2fv(W(a),e)}},glUniform2i:function(a,b,c){U.uniform2i(W(a),b,c)},glUniform2iv:function(a,b,c){if(2<=T.version)b&&U.uniform2iv(W(a),q(),c>>2,2*b);else{if(144>=b)for(var e=Gc[2*b-1],f=0;f<2*b;f+=2)e[f]=q()[c+4*f>>2],e[f+1]=q()[c+(4*f+4)>>2];else e=q().subarray(c>>2,c+8*b>>2);U.uniform2iv(W(a),e)}},glUniform3f:function(a,b,c,e){U.uniform3f(W(a),b,c,e)},glUniform3fv:function(a,b,c){if(2<=T.version)b&&U.uniform3fv(W(a),v(),c>> +2,3*b);else{if(96>=b)for(var e=X[3*b-1],f=0;f<3*b;f+=3)e[f]=v()[c+4*f>>2],e[f+1]=v()[c+(4*f+4)>>2],e[f+2]=v()[c+(4*f+8)>>2];else e=v().subarray(c>>2,c+12*b>>2);U.uniform3fv(W(a),e)}},glUniform3i:function(a,b,c,e){U.uniform3i(W(a),b,c,e)},glUniform3iv:function(a,b,c){if(2<=T.version)b&&U.uniform3iv(W(a),q(),c>>2,3*b);else{if(96>=b)for(var e=Gc[3*b-1],f=0;f<3*b;f+=3)e[f]=q()[c+4*f>>2],e[f+1]=q()[c+(4*f+4)>>2],e[f+2]=q()[c+(4*f+8)>>2];else e=q().subarray(c>>2,c+12*b>>2);U.uniform3iv(W(a),e)}},glUniform4f:function(a, +b,c,e,f){U.uniform4f(W(a),b,c,e,f)},glUniform4fv:function(a,b,c){if(2<=T.version)b&&U.uniform4fv(W(a),v(),c>>2,4*b);else{if(72>=b){var e=X[4*b-1],f=v();c>>=2;for(var g=0;g<4*b;g+=4){var k=c+g;e[g]=f[k];e[g+1]=f[k+1];e[g+2]=f[k+2];e[g+3]=f[k+3]}}else e=v().subarray(c>>2,c+16*b>>2);U.uniform4fv(W(a),e)}},glUniform4i:function(a,b,c,e,f){U.uniform4i(W(a),b,c,e,f)},glUniform4iv:function(a,b,c){if(2<=T.version)b&&U.uniform4iv(W(a),q(),c>>2,4*b);else{if(72>=b)for(var e=Gc[4*b-1],f=0;f<4*b;f+=4)e[f]=q()[c+ +4*f>>2],e[f+1]=q()[c+(4*f+4)>>2],e[f+2]=q()[c+(4*f+8)>>2],e[f+3]=q()[c+(4*f+12)>>2];else e=q().subarray(c>>2,c+16*b>>2);U.uniform4iv(W(a),e)}},glUniformMatrix2fv:function(a,b,c,e){if(2<=T.version)b&&U.uniformMatrix2fv(W(a),!!c,v(),e>>2,4*b);else{if(72>=b)for(var f=X[4*b-1],g=0;g<4*b;g+=4)f[g]=v()[e+4*g>>2],f[g+1]=v()[e+(4*g+4)>>2],f[g+2]=v()[e+(4*g+8)>>2],f[g+3]=v()[e+(4*g+12)>>2];else f=v().subarray(e>>2,e+16*b>>2);U.uniformMatrix2fv(W(a),!!c,f)}},glUniformMatrix3fv:function(a,b,c,e){if(2<=T.version)b&& +U.uniformMatrix3fv(W(a),!!c,v(),e>>2,9*b);else{if(32>=b)for(var f=X[9*b-1],g=0;g<9*b;g+=9)f[g]=v()[e+4*g>>2],f[g+1]=v()[e+(4*g+4)>>2],f[g+2]=v()[e+(4*g+8)>>2],f[g+3]=v()[e+(4*g+12)>>2],f[g+4]=v()[e+(4*g+16)>>2],f[g+5]=v()[e+(4*g+20)>>2],f[g+6]=v()[e+(4*g+24)>>2],f[g+7]=v()[e+(4*g+28)>>2],f[g+8]=v()[e+(4*g+32)>>2];else f=v().subarray(e>>2,e+36*b>>2);U.uniformMatrix3fv(W(a),!!c,f)}},glUniformMatrix4fv:function(a,b,c,e){if(2<=T.version)b&&U.uniformMatrix4fv(W(a),!!c,v(),e>>2,16*b);else{if(18>=b){var f= +X[16*b-1],g=v();e>>=2;for(var k=0;k<16*b;k+=16){var n=e+k;f[k]=g[n];f[k+1]=g[n+1];f[k+2]=g[n+2];f[k+3]=g[n+3];f[k+4]=g[n+4];f[k+5]=g[n+5];f[k+6]=g[n+6];f[k+7]=g[n+7];f[k+8]=g[n+8];f[k+9]=g[n+9];f[k+10]=g[n+10];f[k+11]=g[n+11];f[k+12]=g[n+12];f[k+13]=g[n+13];f[k+14]=g[n+14];f[k+15]=g[n+15]}}else f=v().subarray(e>>2,e+64*b>>2);U.uniformMatrix4fv(W(a),!!c,f)}},glUseProgram:function(a){a=P[a];U.useProgram(a);U.la=a},glVertexAttrib1f:function(a,b){U.vertexAttrib1f(a,b)},glVertexAttrib2fv:function(a,b){U.vertexAttrib2f(a, +v()[b>>2],v()[b+4>>2])},glVertexAttrib3fv:function(a,b){U.vertexAttrib3f(a,v()[b>>2],v()[b+4>>2],v()[b+8>>2])},glVertexAttrib4fv:function(a,b){U.vertexAttrib4f(a,v()[b>>2],v()[b+4>>2],v()[b+8>>2],v()[b+12>>2])},glVertexAttribDivisor:function(a,b){U.vertexAttribDivisor(a,b)},glVertexAttribIPointer:function(a,b,c,e,f){U.vertexAttribIPointer(a,b,c,e,f)},glVertexAttribPointer:function(a,b,c,e,f,g){U.vertexAttribPointer(a,b,c,!!e,f,g)},glViewport:function(a,b,c,e){U.viewport(a,b,c,e)},glWaitSync:function(a, +b,c,e){U.waitSync(Qb[a],b,(c>>>0)+4294967296*e)},invoke_ii:nd,invoke_iii:od,invoke_iiii:pd,invoke_iiiii:qd,invoke_iiiiiii:rd,invoke_vi:sd,invoke_vii:td,invoke_viii:ud,invoke_viiii:vd,invoke_viiiiiii:wd,memory:d||w.wasmMemory,skwasm_captureImageBitmap:Hc,skwasm_createGlTextureFromTextureSource:Ic,skwasm_createOffscreenCanvas:Jc,skwasm_dispatchDisposeSurface:Kc,skwasm_dispatchRasterizeImage:Lc,skwasm_dispatchRenderPictures:Mc,skwasm_disposeAssociatedObjectOnThread:Nc,skwasm_getAssociatedObject:Pc,skwasm_postRasterizeResult:Qc, +skwasm_registerMessageListener:Rc,skwasm_resizeCanvas:Sc,skwasm_resolveAndPostImages:Tc,skwasm_setAssociatedObjectOnThread:Uc,skwasm_syncTimeOriginForThread:Vc,strftime_l:(a,b,c,e)=>ad(a,b,c,e)}; +(function(){function a(c,e){F=c=c.exports;w.wasmExports=F;J.ha.push(F._emscripten_tls_init);G=F.__indirect_function_table;Ha.unshift(F.__wasm_call_ctors);Aa=e;Oa();return c}var b={env:xd,wasi_snapshot_preview1:xd};Na();if(w.instantiateWasm)try{return w.instantiateWasm(b,a)}catch(c){D("Module.instantiateWasm callback failed with error: "+c),ka(c)}Ta(b,function(c){a(c.instance,c.module)}).catch(ka);return{}})();w._canvas_saveLayer=(a,b,c,e)=>(w._canvas_saveLayer=F.canvas_saveLayer)(a,b,c,e); +w._canvas_save=a=>(w._canvas_save=F.canvas_save)(a);w._canvas_restore=a=>(w._canvas_restore=F.canvas_restore)(a);w._canvas_restoreToCount=(a,b)=>(w._canvas_restoreToCount=F.canvas_restoreToCount)(a,b);w._canvas_getSaveCount=a=>(w._canvas_getSaveCount=F.canvas_getSaveCount)(a);w._canvas_translate=(a,b,c)=>(w._canvas_translate=F.canvas_translate)(a,b,c);w._canvas_scale=(a,b,c)=>(w._canvas_scale=F.canvas_scale)(a,b,c);w._canvas_rotate=(a,b)=>(w._canvas_rotate=F.canvas_rotate)(a,b); +w._canvas_skew=(a,b,c)=>(w._canvas_skew=F.canvas_skew)(a,b,c);w._canvas_transform=(a,b)=>(w._canvas_transform=F.canvas_transform)(a,b);w._canvas_clipRect=(a,b,c,e)=>(w._canvas_clipRect=F.canvas_clipRect)(a,b,c,e);w._canvas_clipRRect=(a,b,c)=>(w._canvas_clipRRect=F.canvas_clipRRect)(a,b,c);w._canvas_clipPath=(a,b,c)=>(w._canvas_clipPath=F.canvas_clipPath)(a,b,c);w._canvas_drawColor=(a,b,c)=>(w._canvas_drawColor=F.canvas_drawColor)(a,b,c); +w._canvas_drawLine=(a,b,c,e,f,g)=>(w._canvas_drawLine=F.canvas_drawLine)(a,b,c,e,f,g);w._canvas_drawPaint=(a,b)=>(w._canvas_drawPaint=F.canvas_drawPaint)(a,b);w._canvas_drawRect=(a,b,c)=>(w._canvas_drawRect=F.canvas_drawRect)(a,b,c);w._canvas_drawRRect=(a,b,c)=>(w._canvas_drawRRect=F.canvas_drawRRect)(a,b,c);w._canvas_drawDRRect=(a,b,c,e)=>(w._canvas_drawDRRect=F.canvas_drawDRRect)(a,b,c,e);w._canvas_drawOval=(a,b,c)=>(w._canvas_drawOval=F.canvas_drawOval)(a,b,c); +w._canvas_drawCircle=(a,b,c,e,f)=>(w._canvas_drawCircle=F.canvas_drawCircle)(a,b,c,e,f);w._canvas_drawArc=(a,b,c,e,f,g)=>(w._canvas_drawArc=F.canvas_drawArc)(a,b,c,e,f,g);w._canvas_drawPath=(a,b,c)=>(w._canvas_drawPath=F.canvas_drawPath)(a,b,c);w._canvas_drawShadow=(a,b,c,e,f,g)=>(w._canvas_drawShadow=F.canvas_drawShadow)(a,b,c,e,f,g);w._canvas_drawParagraph=(a,b,c,e)=>(w._canvas_drawParagraph=F.canvas_drawParagraph)(a,b,c,e); +w._canvas_drawPicture=(a,b)=>(w._canvas_drawPicture=F.canvas_drawPicture)(a,b);w._canvas_drawImage=(a,b,c,e,f,g)=>(w._canvas_drawImage=F.canvas_drawImage)(a,b,c,e,f,g);w._canvas_drawImageRect=(a,b,c,e,f,g)=>(w._canvas_drawImageRect=F.canvas_drawImageRect)(a,b,c,e,f,g);w._canvas_drawImageNine=(a,b,c,e,f,g)=>(w._canvas_drawImageNine=F.canvas_drawImageNine)(a,b,c,e,f,g);w._canvas_drawVertices=(a,b,c,e)=>(w._canvas_drawVertices=F.canvas_drawVertices)(a,b,c,e); +w._canvas_drawPoints=(a,b,c,e,f)=>(w._canvas_drawPoints=F.canvas_drawPoints)(a,b,c,e,f);w._canvas_drawAtlas=(a,b,c,e,f,g,k,n,r)=>(w._canvas_drawAtlas=F.canvas_drawAtlas)(a,b,c,e,f,g,k,n,r);w._canvas_getTransform=(a,b)=>(w._canvas_getTransform=F.canvas_getTransform)(a,b);w._canvas_getLocalClipBounds=(a,b)=>(w._canvas_getLocalClipBounds=F.canvas_getLocalClipBounds)(a,b);w._canvas_getDeviceClipBounds=(a,b)=>(w._canvas_getDeviceClipBounds=F.canvas_getDeviceClipBounds)(a,b); +w._contourMeasureIter_create=(a,b,c)=>(w._contourMeasureIter_create=F.contourMeasureIter_create)(a,b,c);w._contourMeasureIter_next=a=>(w._contourMeasureIter_next=F.contourMeasureIter_next)(a);w._contourMeasureIter_dispose=a=>(w._contourMeasureIter_dispose=F.contourMeasureIter_dispose)(a);w._contourMeasure_dispose=a=>(w._contourMeasure_dispose=F.contourMeasure_dispose)(a);w._contourMeasure_length=a=>(w._contourMeasure_length=F.contourMeasure_length)(a); +w._contourMeasure_isClosed=a=>(w._contourMeasure_isClosed=F.contourMeasure_isClosed)(a);w._contourMeasure_getPosTan=(a,b,c,e)=>(w._contourMeasure_getPosTan=F.contourMeasure_getPosTan)(a,b,c,e);w._contourMeasure_getSegment=(a,b,c,e)=>(w._contourMeasure_getSegment=F.contourMeasure_getSegment)(a,b,c,e);w._skData_create=a=>(w._skData_create=F.skData_create)(a);w._skData_getPointer=a=>(w._skData_getPointer=F.skData_getPointer)(a);w._skData_getConstPointer=a=>(w._skData_getConstPointer=F.skData_getConstPointer)(a); +w._skData_getSize=a=>(w._skData_getSize=F.skData_getSize)(a);w._skData_dispose=a=>(w._skData_dispose=F.skData_dispose)(a);w._imageFilter_createBlur=(a,b,c)=>(w._imageFilter_createBlur=F.imageFilter_createBlur)(a,b,c);w._imageFilter_createDilate=(a,b)=>(w._imageFilter_createDilate=F.imageFilter_createDilate)(a,b);w._imageFilter_createErode=(a,b)=>(w._imageFilter_createErode=F.imageFilter_createErode)(a,b); +w._imageFilter_createMatrix=(a,b)=>(w._imageFilter_createMatrix=F.imageFilter_createMatrix)(a,b);w._imageFilter_createFromColorFilter=a=>(w._imageFilter_createFromColorFilter=F.imageFilter_createFromColorFilter)(a);w._imageFilter_compose=(a,b)=>(w._imageFilter_compose=F.imageFilter_compose)(a,b);w._imageFilter_dispose=a=>(w._imageFilter_dispose=F.imageFilter_dispose)(a);w._imageFilter_getFilterBounds=(a,b)=>(w._imageFilter_getFilterBounds=F.imageFilter_getFilterBounds)(a,b); +w._colorFilter_createMode=(a,b)=>(w._colorFilter_createMode=F.colorFilter_createMode)(a,b);w._colorFilter_createMatrix=a=>(w._colorFilter_createMatrix=F.colorFilter_createMatrix)(a);w._colorFilter_createSRGBToLinearGamma=()=>(w._colorFilter_createSRGBToLinearGamma=F.colorFilter_createSRGBToLinearGamma)();w._colorFilter_createLinearToSRGBGamma=()=>(w._colorFilter_createLinearToSRGBGamma=F.colorFilter_createLinearToSRGBGamma)(); +w._colorFilter_compose=(a,b)=>(w._colorFilter_compose=F.colorFilter_compose)(a,b);w._colorFilter_dispose=a=>(w._colorFilter_dispose=F.colorFilter_dispose)(a);w._maskFilter_createBlur=(a,b)=>(w._maskFilter_createBlur=F.maskFilter_createBlur)(a,b);w._maskFilter_dispose=a=>(w._maskFilter_dispose=F.maskFilter_dispose)(a);w._fontCollection_create=()=>(w._fontCollection_create=F.fontCollection_create)();w._fontCollection_dispose=a=>(w._fontCollection_dispose=F.fontCollection_dispose)(a); +w._typeface_create=a=>(w._typeface_create=F.typeface_create)(a);w._typeface_dispose=a=>(w._typeface_dispose=F.typeface_dispose)(a);w._typefaces_filterCoveredCodePoints=(a,b,c,e)=>(w._typefaces_filterCoveredCodePoints=F.typefaces_filterCoveredCodePoints)(a,b,c,e);w._fontCollection_registerTypeface=(a,b,c)=>(w._fontCollection_registerTypeface=F.fontCollection_registerTypeface)(a,b,c);w._fontCollection_clearCaches=a=>(w._fontCollection_clearCaches=F.fontCollection_clearCaches)(a); +w._image_createFromPicture=(a,b,c)=>(w._image_createFromPicture=F.image_createFromPicture)(a,b,c);w._image_createFromPixels=(a,b,c,e,f)=>(w._image_createFromPixels=F.image_createFromPixels)(a,b,c,e,f);w._image_createFromTextureSource=(a,b,c,e)=>(w._image_createFromTextureSource=F.image_createFromTextureSource)(a,b,c,e);w._image_ref=a=>(w._image_ref=F.image_ref)(a);w._image_dispose=a=>(w._image_dispose=F.image_dispose)(a);w._image_getWidth=a=>(w._image_getWidth=F.image_getWidth)(a); +w._image_getHeight=a=>(w._image_getHeight=F.image_getHeight)(a);w._paint_create=()=>(w._paint_create=F.paint_create)();w._paint_dispose=a=>(w._paint_dispose=F.paint_dispose)(a);w._paint_setBlendMode=(a,b)=>(w._paint_setBlendMode=F.paint_setBlendMode)(a,b);w._paint_setStyle=(a,b)=>(w._paint_setStyle=F.paint_setStyle)(a,b);w._paint_getStyle=a=>(w._paint_getStyle=F.paint_getStyle)(a);w._paint_setStrokeWidth=(a,b)=>(w._paint_setStrokeWidth=F.paint_setStrokeWidth)(a,b); +w._paint_getStrokeWidth=a=>(w._paint_getStrokeWidth=F.paint_getStrokeWidth)(a);w._paint_setStrokeCap=(a,b)=>(w._paint_setStrokeCap=F.paint_setStrokeCap)(a,b);w._paint_getStrokeCap=a=>(w._paint_getStrokeCap=F.paint_getStrokeCap)(a);w._paint_setStrokeJoin=(a,b)=>(w._paint_setStrokeJoin=F.paint_setStrokeJoin)(a,b);w._paint_getStrokeJoin=a=>(w._paint_getStrokeJoin=F.paint_getStrokeJoin)(a);w._paint_setAntiAlias=(a,b)=>(w._paint_setAntiAlias=F.paint_setAntiAlias)(a,b); +w._paint_getAntiAlias=a=>(w._paint_getAntiAlias=F.paint_getAntiAlias)(a);w._paint_setColorInt=(a,b)=>(w._paint_setColorInt=F.paint_setColorInt)(a,b);w._paint_getColorInt=a=>(w._paint_getColorInt=F.paint_getColorInt)(a);w._paint_setMiterLimit=(a,b)=>(w._paint_setMiterLimit=F.paint_setMiterLimit)(a,b);w._paint_getMiterLimit=a=>(w._paint_getMiterLimit=F.paint_getMiterLimit)(a);w._paint_setShader=(a,b)=>(w._paint_setShader=F.paint_setShader)(a,b); +w._paint_setImageFilter=(a,b)=>(w._paint_setImageFilter=F.paint_setImageFilter)(a,b);w._paint_setColorFilter=(a,b)=>(w._paint_setColorFilter=F.paint_setColorFilter)(a,b);w._paint_setMaskFilter=(a,b)=>(w._paint_setMaskFilter=F.paint_setMaskFilter)(a,b);w._path_create=()=>(w._path_create=F.path_create)();w._path_dispose=a=>(w._path_dispose=F.path_dispose)(a);w._path_copy=a=>(w._path_copy=F.path_copy)(a);w._path_setFillType=(a,b)=>(w._path_setFillType=F.path_setFillType)(a,b); +w._path_getFillType=a=>(w._path_getFillType=F.path_getFillType)(a);w._path_moveTo=(a,b,c)=>(w._path_moveTo=F.path_moveTo)(a,b,c);w._path_relativeMoveTo=(a,b,c)=>(w._path_relativeMoveTo=F.path_relativeMoveTo)(a,b,c);w._path_lineTo=(a,b,c)=>(w._path_lineTo=F.path_lineTo)(a,b,c);w._path_relativeLineTo=(a,b,c)=>(w._path_relativeLineTo=F.path_relativeLineTo)(a,b,c);w._path_quadraticBezierTo=(a,b,c,e,f)=>(w._path_quadraticBezierTo=F.path_quadraticBezierTo)(a,b,c,e,f); +w._path_relativeQuadraticBezierTo=(a,b,c,e,f)=>(w._path_relativeQuadraticBezierTo=F.path_relativeQuadraticBezierTo)(a,b,c,e,f);w._path_cubicTo=(a,b,c,e,f,g,k)=>(w._path_cubicTo=F.path_cubicTo)(a,b,c,e,f,g,k);w._path_relativeCubicTo=(a,b,c,e,f,g,k)=>(w._path_relativeCubicTo=F.path_relativeCubicTo)(a,b,c,e,f,g,k);w._path_conicTo=(a,b,c,e,f,g)=>(w._path_conicTo=F.path_conicTo)(a,b,c,e,f,g);w._path_relativeConicTo=(a,b,c,e,f,g)=>(w._path_relativeConicTo=F.path_relativeConicTo)(a,b,c,e,f,g); +w._path_arcToOval=(a,b,c,e,f)=>(w._path_arcToOval=F.path_arcToOval)(a,b,c,e,f);w._path_arcToRotated=(a,b,c,e,f,g,k,n)=>(w._path_arcToRotated=F.path_arcToRotated)(a,b,c,e,f,g,k,n);w._path_relativeArcToRotated=(a,b,c,e,f,g,k,n)=>(w._path_relativeArcToRotated=F.path_relativeArcToRotated)(a,b,c,e,f,g,k,n);w._path_addRect=(a,b)=>(w._path_addRect=F.path_addRect)(a,b);w._path_addOval=(a,b)=>(w._path_addOval=F.path_addOval)(a,b);w._path_addArc=(a,b,c,e)=>(w._path_addArc=F.path_addArc)(a,b,c,e); +w._path_addPolygon=(a,b,c,e)=>(w._path_addPolygon=F.path_addPolygon)(a,b,c,e);w._path_addRRect=(a,b)=>(w._path_addRRect=F.path_addRRect)(a,b);w._path_addPath=(a,b,c,e)=>(w._path_addPath=F.path_addPath)(a,b,c,e);w._path_close=a=>(w._path_close=F.path_close)(a);w._path_reset=a=>(w._path_reset=F.path_reset)(a);w._path_contains=(a,b,c)=>(w._path_contains=F.path_contains)(a,b,c);w._path_transform=(a,b)=>(w._path_transform=F.path_transform)(a,b); +w._path_getBounds=(a,b)=>(w._path_getBounds=F.path_getBounds)(a,b);w._path_combine=(a,b,c)=>(w._path_combine=F.path_combine)(a,b,c);w._pictureRecorder_create=()=>(w._pictureRecorder_create=F.pictureRecorder_create)();w._pictureRecorder_dispose=a=>(w._pictureRecorder_dispose=F.pictureRecorder_dispose)(a);w._pictureRecorder_beginRecording=(a,b)=>(w._pictureRecorder_beginRecording=F.pictureRecorder_beginRecording)(a,b);w._pictureRecorder_endRecording=a=>(w._pictureRecorder_endRecording=F.pictureRecorder_endRecording)(a); +w._picture_getCullRect=(a,b)=>(w._picture_getCullRect=F.picture_getCullRect)(a,b);w._picture_dispose=a=>(w._picture_dispose=F.picture_dispose)(a);w._picture_approximateBytesUsed=a=>(w._picture_approximateBytesUsed=F.picture_approximateBytesUsed)(a);w._shader_createLinearGradient=(a,b,c,e,f,g)=>(w._shader_createLinearGradient=F.shader_createLinearGradient)(a,b,c,e,f,g);w._shader_createRadialGradient=(a,b,c,e,f,g,k,n)=>(w._shader_createRadialGradient=F.shader_createRadialGradient)(a,b,c,e,f,g,k,n); +w._shader_createConicalGradient=(a,b,c,e,f,g,k,n)=>(w._shader_createConicalGradient=F.shader_createConicalGradient)(a,b,c,e,f,g,k,n);w._shader_createSweepGradient=(a,b,c,e,f,g,k,n,r)=>(w._shader_createSweepGradient=F.shader_createSweepGradient)(a,b,c,e,f,g,k,n,r);w._shader_dispose=a=>(w._shader_dispose=F.shader_dispose)(a);w._runtimeEffect_create=a=>(w._runtimeEffect_create=F.runtimeEffect_create)(a);w._runtimeEffect_dispose=a=>(w._runtimeEffect_dispose=F.runtimeEffect_dispose)(a); +w._runtimeEffect_getUniformSize=a=>(w._runtimeEffect_getUniformSize=F.runtimeEffect_getUniformSize)(a);w._shader_createRuntimeEffectShader=(a,b,c,e)=>(w._shader_createRuntimeEffectShader=F.shader_createRuntimeEffectShader)(a,b,c,e);w._shader_createFromImage=(a,b,c,e,f)=>(w._shader_createFromImage=F.shader_createFromImage)(a,b,c,e,f);w._skString_allocate=a=>(w._skString_allocate=F.skString_allocate)(a);w._skString_getData=a=>(w._skString_getData=F.skString_getData)(a); +w._skString_free=a=>(w._skString_free=F.skString_free)(a);w._skString16_allocate=a=>(w._skString16_allocate=F.skString16_allocate)(a);w._skString16_getData=a=>(w._skString16_getData=F.skString16_getData)(a);w._skString16_free=a=>(w._skString16_free=F.skString16_free)(a);w._surface_create=()=>(w._surface_create=F.surface_create)();w._surface_getThreadId=a=>(w._surface_getThreadId=F.surface_getThreadId)(a); +w._surface_setCallbackHandler=(a,b)=>(w._surface_setCallbackHandler=F.surface_setCallbackHandler)(a,b);w._surface_destroy=a=>(w._surface_destroy=F.surface_destroy)(a);var hd=w._surface_dispose=a=>(hd=w._surface_dispose=F.surface_dispose)(a);w._surface_renderPictures=(a,b,c)=>(w._surface_renderPictures=F.surface_renderPictures)(a,b,c);var fd=w._surface_renderPicturesOnWorker=(a,b,c,e,f)=>(fd=w._surface_renderPicturesOnWorker=F.surface_renderPicturesOnWorker)(a,b,c,e,f); +w._surface_rasterizeImage=(a,b,c)=>(w._surface_rasterizeImage=F.surface_rasterizeImage)(a,b,c);var jd=w._surface_rasterizeImageOnWorker=(a,b,c,e)=>(jd=w._surface_rasterizeImageOnWorker=F.surface_rasterizeImageOnWorker)(a,b,c,e),gd=w._surface_onRenderComplete=(a,b,c)=>(gd=w._surface_onRenderComplete=F.surface_onRenderComplete)(a,b,c),kd=w._surface_onRasterizeComplete=(a,b,c)=>(kd=w._surface_onRasterizeComplete=F.surface_onRasterizeComplete)(a,b,c); +w._lineMetrics_create=(a,b,c,e,f,g,k,n,r)=>(w._lineMetrics_create=F.lineMetrics_create)(a,b,c,e,f,g,k,n,r);w._lineMetrics_dispose=a=>(w._lineMetrics_dispose=F.lineMetrics_dispose)(a);w._lineMetrics_getHardBreak=a=>(w._lineMetrics_getHardBreak=F.lineMetrics_getHardBreak)(a);w._lineMetrics_getAscent=a=>(w._lineMetrics_getAscent=F.lineMetrics_getAscent)(a);w._lineMetrics_getDescent=a=>(w._lineMetrics_getDescent=F.lineMetrics_getDescent)(a); +w._lineMetrics_getUnscaledAscent=a=>(w._lineMetrics_getUnscaledAscent=F.lineMetrics_getUnscaledAscent)(a);w._lineMetrics_getHeight=a=>(w._lineMetrics_getHeight=F.lineMetrics_getHeight)(a);w._lineMetrics_getWidth=a=>(w._lineMetrics_getWidth=F.lineMetrics_getWidth)(a);w._lineMetrics_getLeft=a=>(w._lineMetrics_getLeft=F.lineMetrics_getLeft)(a);w._lineMetrics_getBaseline=a=>(w._lineMetrics_getBaseline=F.lineMetrics_getBaseline)(a);w._lineMetrics_getLineNumber=a=>(w._lineMetrics_getLineNumber=F.lineMetrics_getLineNumber)(a); +w._lineMetrics_getStartIndex=a=>(w._lineMetrics_getStartIndex=F.lineMetrics_getStartIndex)(a);w._lineMetrics_getEndIndex=a=>(w._lineMetrics_getEndIndex=F.lineMetrics_getEndIndex)(a);w._paragraph_dispose=a=>(w._paragraph_dispose=F.paragraph_dispose)(a);w._paragraph_getWidth=a=>(w._paragraph_getWidth=F.paragraph_getWidth)(a);w._paragraph_getHeight=a=>(w._paragraph_getHeight=F.paragraph_getHeight)(a);w._paragraph_getLongestLine=a=>(w._paragraph_getLongestLine=F.paragraph_getLongestLine)(a); +w._paragraph_getMinIntrinsicWidth=a=>(w._paragraph_getMinIntrinsicWidth=F.paragraph_getMinIntrinsicWidth)(a);w._paragraph_getMaxIntrinsicWidth=a=>(w._paragraph_getMaxIntrinsicWidth=F.paragraph_getMaxIntrinsicWidth)(a);w._paragraph_getAlphabeticBaseline=a=>(w._paragraph_getAlphabeticBaseline=F.paragraph_getAlphabeticBaseline)(a);w._paragraph_getIdeographicBaseline=a=>(w._paragraph_getIdeographicBaseline=F.paragraph_getIdeographicBaseline)(a); +w._paragraph_getDidExceedMaxLines=a=>(w._paragraph_getDidExceedMaxLines=F.paragraph_getDidExceedMaxLines)(a);w._paragraph_layout=(a,b)=>(w._paragraph_layout=F.paragraph_layout)(a,b);w._paragraph_getPositionForOffset=(a,b,c,e)=>(w._paragraph_getPositionForOffset=F.paragraph_getPositionForOffset)(a,b,c,e);w._paragraph_getClosestGlyphInfoAtCoordinate=(a,b,c,e,f,g)=>(w._paragraph_getClosestGlyphInfoAtCoordinate=F.paragraph_getClosestGlyphInfoAtCoordinate)(a,b,c,e,f,g); +w._paragraph_getGlyphInfoAt=(a,b,c,e,f)=>(w._paragraph_getGlyphInfoAt=F.paragraph_getGlyphInfoAt)(a,b,c,e,f);w._paragraph_getWordBoundary=(a,b,c)=>(w._paragraph_getWordBoundary=F.paragraph_getWordBoundary)(a,b,c);w._paragraph_getLineCount=a=>(w._paragraph_getLineCount=F.paragraph_getLineCount)(a);w._paragraph_getLineNumberAt=(a,b)=>(w._paragraph_getLineNumberAt=F.paragraph_getLineNumberAt)(a,b); +w._paragraph_getLineMetricsAtIndex=(a,b)=>(w._paragraph_getLineMetricsAtIndex=F.paragraph_getLineMetricsAtIndex)(a,b);w._textBoxList_dispose=a=>(w._textBoxList_dispose=F.textBoxList_dispose)(a);w._textBoxList_getLength=a=>(w._textBoxList_getLength=F.textBoxList_getLength)(a);w._textBoxList_getBoxAtIndex=(a,b,c)=>(w._textBoxList_getBoxAtIndex=F.textBoxList_getBoxAtIndex)(a,b,c);w._paragraph_getBoxesForRange=(a,b,c,e,f)=>(w._paragraph_getBoxesForRange=F.paragraph_getBoxesForRange)(a,b,c,e,f); +w._paragraph_getBoxesForPlaceholders=a=>(w._paragraph_getBoxesForPlaceholders=F.paragraph_getBoxesForPlaceholders)(a);w._paragraph_getUnresolvedCodePoints=(a,b,c)=>(w._paragraph_getUnresolvedCodePoints=F.paragraph_getUnresolvedCodePoints)(a,b,c);w._paragraphBuilder_create=(a,b)=>(w._paragraphBuilder_create=F.paragraphBuilder_create)(a,b);w._paragraphBuilder_dispose=a=>(w._paragraphBuilder_dispose=F.paragraphBuilder_dispose)(a); +w._paragraphBuilder_addPlaceholder=(a,b,c,e,f,g)=>(w._paragraphBuilder_addPlaceholder=F.paragraphBuilder_addPlaceholder)(a,b,c,e,f,g);w._paragraphBuilder_addText=(a,b)=>(w._paragraphBuilder_addText=F.paragraphBuilder_addText)(a,b);w._paragraphBuilder_getUtf8Text=(a,b)=>(w._paragraphBuilder_getUtf8Text=F.paragraphBuilder_getUtf8Text)(a,b);w._paragraphBuilder_pushStyle=(a,b)=>(w._paragraphBuilder_pushStyle=F.paragraphBuilder_pushStyle)(a,b);w._paragraphBuilder_pop=a=>(w._paragraphBuilder_pop=F.paragraphBuilder_pop)(a); +w._paragraphBuilder_build=a=>(w._paragraphBuilder_build=F.paragraphBuilder_build)(a);w._unicodePositionBuffer_create=a=>(w._unicodePositionBuffer_create=F.unicodePositionBuffer_create)(a);w._unicodePositionBuffer_getDataPointer=a=>(w._unicodePositionBuffer_getDataPointer=F.unicodePositionBuffer_getDataPointer)(a);w._unicodePositionBuffer_free=a=>(w._unicodePositionBuffer_free=F.unicodePositionBuffer_free)(a);w._lineBreakBuffer_create=a=>(w._lineBreakBuffer_create=F.lineBreakBuffer_create)(a); +w._lineBreakBuffer_getDataPointer=a=>(w._lineBreakBuffer_getDataPointer=F.lineBreakBuffer_getDataPointer)(a);w._lineBreakBuffer_free=a=>(w._lineBreakBuffer_free=F.lineBreakBuffer_free)(a);w._paragraphBuilder_setGraphemeBreaksUtf16=(a,b)=>(w._paragraphBuilder_setGraphemeBreaksUtf16=F.paragraphBuilder_setGraphemeBreaksUtf16)(a,b);w._paragraphBuilder_setWordBreaksUtf16=(a,b)=>(w._paragraphBuilder_setWordBreaksUtf16=F.paragraphBuilder_setWordBreaksUtf16)(a,b); +w._paragraphBuilder_setLineBreaksUtf16=(a,b)=>(w._paragraphBuilder_setLineBreaksUtf16=F.paragraphBuilder_setLineBreaksUtf16)(a,b);w._paragraphStyle_create=()=>(w._paragraphStyle_create=F.paragraphStyle_create)();w._paragraphStyle_dispose=a=>(w._paragraphStyle_dispose=F.paragraphStyle_dispose)(a);w._paragraphStyle_setTextAlign=(a,b)=>(w._paragraphStyle_setTextAlign=F.paragraphStyle_setTextAlign)(a,b); +w._paragraphStyle_setTextDirection=(a,b)=>(w._paragraphStyle_setTextDirection=F.paragraphStyle_setTextDirection)(a,b);w._paragraphStyle_setMaxLines=(a,b)=>(w._paragraphStyle_setMaxLines=F.paragraphStyle_setMaxLines)(a,b);w._paragraphStyle_setHeight=(a,b)=>(w._paragraphStyle_setHeight=F.paragraphStyle_setHeight)(a,b);w._paragraphStyle_setTextHeightBehavior=(a,b,c)=>(w._paragraphStyle_setTextHeightBehavior=F.paragraphStyle_setTextHeightBehavior)(a,b,c); +w._paragraphStyle_setEllipsis=(a,b)=>(w._paragraphStyle_setEllipsis=F.paragraphStyle_setEllipsis)(a,b);w._paragraphStyle_setStrutStyle=(a,b)=>(w._paragraphStyle_setStrutStyle=F.paragraphStyle_setStrutStyle)(a,b);w._paragraphStyle_setTextStyle=(a,b)=>(w._paragraphStyle_setTextStyle=F.paragraphStyle_setTextStyle)(a,b);w._paragraphStyle_setApplyRoundingHack=(a,b)=>(w._paragraphStyle_setApplyRoundingHack=F.paragraphStyle_setApplyRoundingHack)(a,b);w._strutStyle_create=()=>(w._strutStyle_create=F.strutStyle_create)(); +w._strutStyle_dispose=a=>(w._strutStyle_dispose=F.strutStyle_dispose)(a);w._strutStyle_setFontFamilies=(a,b,c)=>(w._strutStyle_setFontFamilies=F.strutStyle_setFontFamilies)(a,b,c);w._strutStyle_setFontSize=(a,b)=>(w._strutStyle_setFontSize=F.strutStyle_setFontSize)(a,b);w._strutStyle_setHeight=(a,b)=>(w._strutStyle_setHeight=F.strutStyle_setHeight)(a,b);w._strutStyle_setHalfLeading=(a,b)=>(w._strutStyle_setHalfLeading=F.strutStyle_setHalfLeading)(a,b); +w._strutStyle_setLeading=(a,b)=>(w._strutStyle_setLeading=F.strutStyle_setLeading)(a,b);w._strutStyle_setFontStyle=(a,b,c)=>(w._strutStyle_setFontStyle=F.strutStyle_setFontStyle)(a,b,c);w._strutStyle_setForceStrutHeight=(a,b)=>(w._strutStyle_setForceStrutHeight=F.strutStyle_setForceStrutHeight)(a,b);w._textStyle_create=()=>(w._textStyle_create=F.textStyle_create)();w._textStyle_copy=a=>(w._textStyle_copy=F.textStyle_copy)(a);w._textStyle_dispose=a=>(w._textStyle_dispose=F.textStyle_dispose)(a); +w._textStyle_setColor=(a,b)=>(w._textStyle_setColor=F.textStyle_setColor)(a,b);w._textStyle_setDecoration=(a,b)=>(w._textStyle_setDecoration=F.textStyle_setDecoration)(a,b);w._textStyle_setDecorationColor=(a,b)=>(w._textStyle_setDecorationColor=F.textStyle_setDecorationColor)(a,b);w._textStyle_setDecorationStyle=(a,b)=>(w._textStyle_setDecorationStyle=F.textStyle_setDecorationStyle)(a,b); +w._textStyle_setDecorationThickness=(a,b)=>(w._textStyle_setDecorationThickness=F.textStyle_setDecorationThickness)(a,b);w._textStyle_setFontStyle=(a,b,c)=>(w._textStyle_setFontStyle=F.textStyle_setFontStyle)(a,b,c);w._textStyle_setTextBaseline=(a,b)=>(w._textStyle_setTextBaseline=F.textStyle_setTextBaseline)(a,b);w._textStyle_clearFontFamilies=a=>(w._textStyle_clearFontFamilies=F.textStyle_clearFontFamilies)(a); +w._textStyle_addFontFamilies=(a,b,c)=>(w._textStyle_addFontFamilies=F.textStyle_addFontFamilies)(a,b,c);w._textStyle_setFontSize=(a,b)=>(w._textStyle_setFontSize=F.textStyle_setFontSize)(a,b);w._textStyle_setLetterSpacing=(a,b)=>(w._textStyle_setLetterSpacing=F.textStyle_setLetterSpacing)(a,b);w._textStyle_setWordSpacing=(a,b)=>(w._textStyle_setWordSpacing=F.textStyle_setWordSpacing)(a,b);w._textStyle_setHeight=(a,b)=>(w._textStyle_setHeight=F.textStyle_setHeight)(a,b); +w._textStyle_setHalfLeading=(a,b)=>(w._textStyle_setHalfLeading=F.textStyle_setHalfLeading)(a,b);w._textStyle_setLocale=(a,b)=>(w._textStyle_setLocale=F.textStyle_setLocale)(a,b);w._textStyle_setBackground=(a,b)=>(w._textStyle_setBackground=F.textStyle_setBackground)(a,b);w._textStyle_setForeground=(a,b)=>(w._textStyle_setForeground=F.textStyle_setForeground)(a,b);w._textStyle_addShadow=(a,b,c,e,f)=>(w._textStyle_addShadow=F.textStyle_addShadow)(a,b,c,e,f); +w._textStyle_addFontFeature=(a,b,c)=>(w._textStyle_addFontFeature=F.textStyle_addFontFeature)(a,b,c);w._textStyle_setFontVariations=(a,b,c,e)=>(w._textStyle_setFontVariations=F.textStyle_setFontVariations)(a,b,c,e);w._vertices_create=(a,b,c,e,f,g,k)=>(w._vertices_create=F.vertices_create)(a,b,c,e,f,g,k);w._vertices_dispose=a=>(w._vertices_dispose=F.vertices_dispose)(a);var eb=w._pthread_self=()=>(eb=w._pthread_self=F.pthread_self)(),ob=a=>(ob=F.malloc)(a); +w.__emscripten_tls_init=()=>(w.__emscripten_tls_init=F._emscripten_tls_init)();var md=w.__emscripten_thread_init=(a,b,c,e,f,g)=>(md=w.__emscripten_thread_init=F._emscripten_thread_init)(a,b,c,e,f,g);w.__emscripten_thread_crashed=()=>(w.__emscripten_thread_crashed=F._emscripten_thread_crashed)(); +var mc=(a,b,c,e)=>(mc=F._emscripten_run_in_main_runtime_thread_js)(a,b,c,e),Cb=(a,b,c,e,f)=>(Cb=F.emscripten_dispatch_to_thread_)(a,b,c,e,f),cb=a=>(cb=F._emscripten_thread_free_data)(a),ib=w.__emscripten_thread_exit=a=>(ib=w.__emscripten_thread_exit=F._emscripten_thread_exit)(a),vb=w.__emscripten_check_mailbox=()=>(vb=w.__emscripten_check_mailbox=F._emscripten_check_mailbox)(),Z=(a,b)=>(Z=F.setThrew)(a,b),hb=(a,b)=>(hb=F.emscripten_stack_set_limits)(a,b),O=()=>(O=F.stackSave)(),N=a=>(N=F.stackRestore)(a), +Bb=w.stackAlloc=a=>(Bb=w.stackAlloc=F.stackAlloc)(a);function od(a,b,c){var e=O();try{return G.get(a)(b,c)}catch(f){N(e);if(f!==f+0)throw f;Z(1,0)}}function td(a,b,c){var e=O();try{G.get(a)(b,c)}catch(f){N(e);if(f!==f+0)throw f;Z(1,0)}}function nd(a,b){var c=O();try{return G.get(a)(b)}catch(e){N(c);if(e!==e+0)throw e;Z(1,0)}}function ud(a,b,c,e){var f=O();try{G.get(a)(b,c,e)}catch(g){N(f);if(g!==g+0)throw g;Z(1,0)}} +function pd(a,b,c,e){var f=O();try{return G.get(a)(b,c,e)}catch(g){N(f);if(g!==g+0)throw g;Z(1,0)}}function vd(a,b,c,e,f){var g=O();try{G.get(a)(b,c,e,f)}catch(k){N(g);if(k!==k+0)throw k;Z(1,0)}}function wd(a,b,c,e,f,g,k,n){var r=O();try{G.get(a)(b,c,e,f,g,k,n)}catch(u){N(r);if(u!==u+0)throw u;Z(1,0)}}function sd(a,b){var c=O();try{G.get(a)(b)}catch(e){N(c);if(e!==e+0)throw e;Z(1,0)}}function rd(a,b,c,e,f,g,k){var n=O();try{return G.get(a)(b,c,e,f,g,k)}catch(r){N(n);if(r!==r+0)throw r;Z(1,0)}} +function qd(a,b,c,e,f){var g=O();try{return G.get(a)(b,c,e,f)}catch(k){N(g);if(k!==k+0)throw k;Z(1,0)}}w.keepRuntimeAlive=Ka;w.wasmMemory=d;w.wasmExports=F; +w.addFunction=function(a,b){if(!bd){bd=new WeakMap;var c=G.length;if(bd)for(var e=0;e<0+c;e++){var f=G.get(e);f&&bd.set(f,e)}}if(c=bd.get(a)||0)return c;if(cd.length)c=cd.pop();else{try{G.grow(1)}catch(n){if(!(n instanceof RangeError))throw n;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";}c=G.length-1}try{G.set(c,a)}catch(n){if(!(n instanceof TypeError))throw n;if("function"==typeof WebAssembly.Function){e=WebAssembly.Function;f={i:"i32",j:"i64",f:"f32",d:"f64",p:"i32"};for(var g={parameters:[], +results:"v"==b[0]?[]:[f[b[0]]]},k=1;kk?e.push(k):e.push(k%128|128,k>>7);for(k=0;kf?b.push(f):b.push(f%128|128,f>>7);b.push.apply(b,e);b.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);b=new WebAssembly.Module(new Uint8Array(b));b=(new WebAssembly.Instance(b, +{e:{f:a}})).exports.f}G.set(c,b)}bd.set(a,c);return c};w.ExitStatus=Ua;w.PThread=J;var yd;Ma=function zd(){yd||Ad();yd||(Ma=zd)}; +function Ad(){function a(){if(!yd&&(yd=!0,w.calledRun=!0,!Ba)){A||gb(Ha);ja(w);if(w.onRuntimeInitialized)w.onRuntimeInitialized();if(!A){if(w.postRun)for("function"==typeof w.postRun&&(w.postRun=[w.postRun]);w.postRun.length;){var b=w.postRun.shift();Ia.unshift(b)}gb(Ia)}}}if(!(0\2c\20std::__2::allocator>::~basic_string\28\29 +206:dlfree +207:sk_sp::~sk_sp\28\29 +208:operator\20new\28unsigned\20long\29 +209:GrGLSLShaderBuilder::codeAppendf\28char\20const*\2c\20...\29 +210:sk_sp::~sk_sp\28\29 +211:void\20SkSafeUnref\28GrSurfaceProxy*\29\20\28.4210\29 +212:void\20SkSafeUnref\28SkImageFilter*\29\20\28.2087\29 +213:operator\20delete\28void*\29 +214:SkRasterPipeline::uncheckedAppend\28SkRasterPipelineOp\2c\20void*\29 +215:void\20SkSafeUnref\28SkString::Rec*\29 +216:GrGLSLShaderBuilder::codeAppend\28char\20const*\29 +217:__cxa_guard_release +218:__cxa_guard_acquire +219:SkSL::ErrorReporter::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +220:SkSL::GLSLCodeGenerator::write\28std::__2::basic_string_view>\29 +221:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28std::__2::basic_string\2c\20std::__2::allocator>&&\2c\20char\20const*\29 +222:hb_blob_destroy +223:SkImageGenerator::onIsProtected\28\29\20const +224:SkDebugf\28char\20const*\2c\20...\29 +225:fmaxf +226:skia_private::TArray::~TArray\28\29 +227:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>&&\29 +228:SkSL::Type::matches\28SkSL::Type\20const&\29\20const +229:std::__2::basic_string\2c\20std::__2::allocator>::size\5babi:v160004\5d\28\29\20const +230:std::__2::__function::__value_func::~__value_func\5babi:v160004\5d\28\29 +231:hb_sanitize_context_t::check_range\28void\20const*\2c\20unsigned\20int\29\20const +232:GrShaderVar::~GrShaderVar\28\29 +233:void\20SkSafeUnref\28SkPathRef*\29 +234:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28std::__2::basic_string\2c\20std::__2::allocator>&&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&&\29 +235:testSetjmp +236:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::destroy\28\29 +237:hb_buffer_t::message\28hb_font_t*\2c\20char\20const*\2c\20...\29 +238:GrColorInfo::~GrColorInfo\28\29 +239:SkArenaAlloc::allocObject\28unsigned\20int\2c\20unsigned\20int\29 +240:std::__2::basic_string\2c\20std::__2::allocator>::basic_string>\2c\20void>\28std::__2::basic_string_view>\20const&\29 +241:fminf +242:SkPaint::~SkPaint\28\29 +243:SkAnySubclass::reset\28\29 +244:FT_DivFix +245:sk_sp::reset\28SkFontStyleSet*\29 +246:SkMutex::release\28\29 +247:strlen +248:skvx::Vec<4\2c\20float>\20skvx::naive_if_then_else<4\2c\20float>\28skvx::Vec<4\2c\20skvx::Mask::type>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.5821\29 +249:SkPath::SkPath\28\29 +250:std::exception::~exception\28\29 +251:skia_private::TArray>\2c\20true>::~TArray\28\29 +252:skia_png_crc_finish +253:skia_png_chunk_benign_error +254:hb_buffer_t::next_glyph\28\29 +255:SkSL::RP::Generator::pushExpression\28SkSL::Expression\20const&\2c\20bool\29 +256:SkSL::Pool::AllocMemory\28unsigned\20long\29 +257:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\29 +258:SkSL::RP::Builder::appendInstruction\28SkSL::RP::BuilderOp\2c\20SkSL::RP::Builder::SlotList\2c\20int\2c\20int\2c\20int\2c\20int\29 +259:SkMatrix::hasPerspective\28\29\20const +260:sk_report_container_overflow_and_die\28\29 +261:SkSemaphore::wait\28\29 +262:SkBitmap::~SkBitmap\28\29 +263:skgpu::ganesh::VertexChunkPatchAllocator::append\28skgpu::tess::LinearTolerances\20const&\29 +264:SkString::appendf\28char\20const*\2c\20...\29 +265:skgpu::VertexWriter&\20skgpu::tess::operator<<<\28skgpu::tess::PatchAttribs\298\2c\20skgpu::VertexColor\2c\20false\2c\20true>\28skgpu::VertexWriter&\2c\20skgpu::tess::AttribValue<\28skgpu::tess::PatchAttribs\298\2c\20skgpu::VertexColor\2c\20false\2c\20true>\20const&\29 +266:SkWriter32::write32\28int\29 +267:SkContainerAllocator::allocate\28int\2c\20double\29 +268:\28anonymous\20namespace\29::ColorTypeFilter_F16F16::Expand\28unsigned\20int\29 +269:FT_MulDiv +270:SkString::append\28char\20const*\29 +271:SkArenaAlloc::allocObjectWithFooter\28unsigned\20int\2c\20unsigned\20int\29 +272:std::__2::basic_string\2c\20std::__2::allocator>::append\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +273:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +274:OT::VarStoreInstancer::operator\28\29\28unsigned\20int\2c\20unsigned\20short\29\20const +275:SkIRect::intersect\28SkIRect\20const&\29 +276:dlmalloc +277:ft_mem_realloc +278:skia_png_free +279:lang_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +280:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +281:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\29 +282:SkSL::Parser::expect\28SkSL::Token::Kind\2c\20char\20const*\2c\20SkSL::Token*\29 +283:SkIntersections::insert\28double\2c\20double\2c\20SkDPoint\20const&\29 +284:ft_mem_qrealloc +285:SkMatrix::invert\28SkMatrix*\29\20const +286:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +287:std::__2::basic_string\2c\20std::__2::allocator>::resize\28unsigned\20long\2c\20char\29 +288:sk_sp::~sk_sp\28\29 +289:sk_sp::~sk_sp\28\29 +290:SkIRect::isEmpty\28\29\20const +291:skia_private::TArray::push_back\28SkSL::RP::Program::Stage&&\29 +292:cf2_stack_popFixed +293:GrTextureGenerator::isTextureGenerator\28\29\20const +294:void\20SkSafeUnref\28SkColorSpace*\29\20\28.2042\29 +295:strcmp +296:SkSL::GLSLCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +297:SkBitmap::SkBitmap\28\29 +298:subtag_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +299:std::__2::vector\2c\20std::__2::allocator>>::__throw_length_error\5babi:v160004\5d\28\29\20const +300:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +301:cf2_stack_getReal +302:SkSL::Type::displayName\28\29\20const +303:sk_sp::reset\28SkImageFilter*\29 +304:dlcalloc +305:SkImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +306:GrAuditTrail::pushFrame\28char\20const*\29 +307:std::__2::locale::~locale\28\29 +308:FT_Stream_Seek +309:skif::FilterResult::~FilterResult\28\29 +310:SkPaint::SkPaint\28SkPaint\20const&\29 +311:hb_vector_t::fini\28\29 +312:SkString::SkString\28SkString&&\29 +313:GrGeometryProcessor::Attribute::asShaderVar\28\29\20const +314:strncmp +315:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrShaderCaps*\29 +316:SkBlitter::~SkBlitter\28\29.1 +317:std::__2::to_string\28int\29 +318:SkTDStorage::~SkTDStorage\28\29 +319:SkSL::Parser::peek\28\29 +320:std::__2::ios_base::getloc\28\29\20const +321:std::__2::basic_string\2c\20std::__2::allocator>::__get_pointer\5babi:v160004\5d\28\29 +322:hb_ot_map_builder_t::add_feature\28unsigned\20int\2c\20hb_ot_map_feature_flags_t\2c\20unsigned\20int\29 +323:SkWStream::writeText\28char\20const*\29 +324:GrProcessor::operator\20new\28unsigned\20long\29 +325:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28\29 +326:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +327:SkPath::getBounds\28\29\20const +328:SkMakeRuntimeEffect\28SkRuntimeEffect::Result\20\28*\29\28SkString\2c\20SkRuntimeEffect::Options\20const&\29\2c\20char\20const*\2c\20SkRuntimeEffect::Options\29 +329:GrPixmapBase::~GrPixmapBase\28\29 +330:GrGLSLUniformHandler::addUniform\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20char\20const**\29 +331:void\20SkSafeUnref\28SkData\20const*\29\20\28.1172\29 +332:hb_face_t::get_num_glyphs\28\29\20const +333:SkString::~SkString\28\29 +334:GrSurfaceProxyView::operator=\28GrSurfaceProxyView&&\29 +335:GrPaint::~GrPaint\28\29 +336:FT_Stream_ReadUShort +337:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +338:__errno_location +339:SkIRect::contains\28SkIRect\20const&\29\20const +340:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +341:std::__2::unique_ptr>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +342:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +343:skvx::Vec<8\2c\20unsigned\20short>&\20skvx::operator+=<8\2c\20unsigned\20short>\28skvx::Vec<8\2c\20unsigned\20short>&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29 +344:sk_sp::~sk_sp\28\29 +345:SkMatrix::SkMatrix\28\29 +346:SkArenaAlloc::RunDtorsOnBlock\28char*\29 +347:skia_png_warning +348:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +349:SkString::SkString\28char\20const*\29 +350:GrGLContextInfo::hasExtension\28char\20const*\29\20const +351:skgpu::Swizzle::Swizzle\28char\20const*\29 +352:hb_sanitize_context_t::start_processing\28\29 +353:__shgetc +354:FT_Stream_GetUShort +355:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28wchar_t\20const*\29 +356:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28char\20const*\29 +357:skia_private::TArray>\2c\20true>::push_back\28std::__2::unique_ptr>&&\29 +358:hb_sanitize_context_t::~hb_sanitize_context_t\28\29 +359:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +360:SkSL::Expression::clone\28\29\20const +361:SkMatrix::mapRect\28SkRect*\2c\20SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +362:std::__2::shared_ptr<_IO_FILE>::~shared_ptr\5babi:v160004\5d\28\29 +363:hb_lazy_loader_t\2c\20hb_face_t\2c\2033u\2c\20hb_blob_t>::do_destroy\28hb_blob_t*\29 +364:SkDQuad::set\28SkPoint\20const*\29 +365:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +366:skia_private::AutoSTMalloc<17ul\2c\20SkPoint\2c\20void>::~AutoSTMalloc\28\29 +367:FT_Stream_ExitFrame +368:std::__throw_bad_array_new_length\5babi:v160004\5d\28\29 +369:skvx::Vec<4\2c\20int>\20skvx::operator&<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +370:skia_png_error +371:memcmp +372:hb_face_reference_table +373:SkPixmap::SkPixmap\28\29 +374:SkPath::SkPath\28SkPath\20const&\29 +375:skif::FilterResult::FilterResult\28\29 +376:skgpu::ganesh::SurfaceDrawContext::addDrawOp\28GrClip\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::function\20const&\29 +377:hb_buffer_t::unsafe_to_break\28unsigned\20int\2c\20unsigned\20int\29 +378:\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16::Expand\28unsigned\20long\20long\29 +379:\28anonymous\20namespace\29::ColorTypeFilter_8888::Expand\28unsigned\20int\29 +380:\28anonymous\20namespace\29::ColorTypeFilter_16161616::Expand\28unsigned\20long\20long\29 +381:\28anonymous\20namespace\29::ColorTypeFilter_1010102::Expand\28unsigned\20long\20long\29 +382:SkStringPrintf\28char\20const*\2c\20...\29 +383:SkRecord::grow\28\29 +384:SkPictureRecord::addDraw\28DrawType\2c\20unsigned\20long*\29 +385:OT::Layout::Common::Coverage::get_coverage\28unsigned\20int\29\20const +386:std::__2::unique_ptr::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +387:std::__2::__cloc\28\29 +388:sscanf +389:skvx::Vec<4\2c\20int>\20skvx::operator!<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\29 +390:skia::textlayout::ParagraphImpl::getUTF16Index\28unsigned\20long\29\20const +391:__cxa_atexit +392:SkRect::intersect\28SkRect\20const&\29 +393:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::STArray\28skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>&&\29 +394:skia_png_chunk_error +395:hb_blob_get_data_writable +396:bool\20hb_sanitize_context_t::check_range>\28OT::IntType\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +397:__multf3 +398:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29::operator\28\29\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29\20const +399:SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0::operator\28\29\28SkSL::FunctionDefinition\20const*\2c\20SkSL::FunctionDefinition\20const*\29\20const +400:SkSL::GLSLCodeGenerator::writeLine\28std::__2::basic_string_view>\29 +401:SkRect::outset\28float\2c\20float\29 +402:SkMatrix::mapPoints\28SkPoint*\2c\20int\29\20const +403:SkMatrix::getType\28\29\20const +404:SkChecksum::Hash32\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20int\29 +405:std::__2::unique_ptr>\20SkSL::evaluate_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +406:std::__2::basic_string_view>::compare\28std::__2::basic_string_view>\29\20const +407:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20char\20const*\29 +408:SkSL::String::printf\28char\20const*\2c\20...\29 +409:SkNullBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +410:SkIRect::Intersects\28SkIRect\20const&\2c\20SkIRect\20const&\29 +411:SkArenaAlloc::makeBytesAlignedTo\28unsigned\20long\2c\20unsigned\20long\29 +412:GrGLSLVaryingHandler::addVarying\28char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVaryingHandler::Interpolation\29 +413:GrBackendFormats::AsGLFormat\28GrBackendFormat\20const&\29 +414:FT_Stream_EnterFrame +415:strstr +416:std::__2::locale::id::__get\28\29 +417:std::__2::locale::facet::facet\5babi:v160004\5d\28unsigned\20long\29 +418:skgpu::UniqueKey::~UniqueKey\28\29 +419:ft_mem_alloc +420:SkString::operator=\28char\20const*\29 +421:SkSL::Pool::FreeMemory\28void*\29 +422:SkRect::setBoundsCheck\28SkPoint\20const*\2c\20int\29 +423:SkDPoint::approximatelyEqual\28SkDPoint\20const&\29\20const +424:GrProcessorSet::GrProcessorSet\28GrPaint&&\29 +425:GrOpFlushState::bindPipelineAndScissorClip\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +426:std::__2::locale::__imp::install\28std::__2::locale::facet*\2c\20long\29 +427:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +428:skia_png_muldiv +429:f_t_mutex\28\29 +430:SkTDStorage::reserve\28int\29 +431:SkSL::RP::Builder::discard_stack\28int\29 +432:GrStyledShape::~GrStyledShape\28\29 +433:GrOp::~GrOp\28\29 +434:GrGeometryProcessor::AttributeSet::initImplicit\28GrGeometryProcessor::Attribute\20const*\2c\20int\29 +435:void\20SkSafeUnref\28GrSurface*\29 +436:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +437:skia_private::THashTable>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair\2c\20std::__2::unique_ptr>*\2c\20skia_private::THashMap>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair>::Hash\28std::__2::unique_ptr>*\20const&\29 +438:sk_sp::~sk_sp\28\29 +439:hb_buffer_t::unsafe_to_concat\28unsigned\20int\2c\20unsigned\20int\29 +440:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +441:SkSL::PipelineStage::PipelineStageCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +442:SkRegion::freeRuns\28\29 +443:SkRect::roundOut\28\29\20const +444:SkRect::contains\28SkRect\20const&\29\20const +445:SkPoint::length\28\29\20const +446:SkPath::~SkPath\28\29 +447:SkMatrix::mapPoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +448:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +449:skvx::Vec<8\2c\20unsigned\20short>\20skvx::mulhi<8>\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29 +450:hb_ot_map_builder_t::add_gsub_pause\28bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +451:cf2_stack_pushFixed +452:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +453:SkSL::RP::Builder::binary_op\28SkSL::RP::BuilderOp\2c\20int\29 +454:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20SkFilterMode\2c\20SkMipmapMode\29 +455:GrShaderVar::GrShaderVar\28char\20const*\2c\20SkSLType\2c\20int\29 +456:GrProcessor::operator\20new\28unsigned\20long\2c\20unsigned\20long\29 +457:GrOp::GenID\28std::__2::atomic*\29 +458:GrImageInfo::GrImageInfo\28GrImageInfo&&\29 +459:GrGLSLVaryingHandler::addPassThroughAttribute\28GrShaderVar\20const&\2c\20char\20const*\2c\20GrGLSLVaryingHandler::Interpolation\29 +460:GrFragmentProcessor::registerChild\28std::__2::unique_ptr>\2c\20SkSL::SampleUsage\29 +461:textStyle_setDecoration +462:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +463:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +464:std::__2::__split_buffer&>::~__split_buffer\28\29 +465:sk_sp::~sk_sp\28\29 +466:hb_buffer_t::merge_clusters\28unsigned\20int\2c\20unsigned\20int\29 +467:dlrealloc +468:SkSL::SymbolTable::addWithoutOwnershipOrDie\28SkSL::Symbol*\29 +469:SkSL::Nop::~Nop\28\29 +470:SkRecords::FillBounds::updateSaveBounds\28SkRect\20const&\29 +471:SkPoint::normalize\28\29 +472:SkPath::lineTo\28float\2c\20float\29 +473:SkMatrix::mapRect\28SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +474:SkMatrix::isIdentity\28\29\20const +475:SkJSONWriter::write\28char\20const*\2c\20unsigned\20long\29 +476:GrSkSLFP::UniformPayloadSize\28SkRuntimeEffect\20const*\29 +477:GrSkSLFP::GrSkSLFP\28sk_sp\2c\20char\20const*\2c\20GrSkSLFP::OptFlags\29 +478:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +479:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +480:std::__2::enable_if::value\20&&\20sizeof\20\28unsigned\20int\29\20==\204\2c\20unsigned\20int>::type\20SkGoodHash::operator\28\29\28unsigned\20int\20const&\29\20const +481:std::__2::__throw_system_error\28int\2c\20char\20const*\29 +482:skia_private::TArray::push_back_raw\28int\29 +483:skgpu::UniqueKey::UniqueKey\28\29 +484:sk_sp::reset\28GrSurface*\29 +485:__multi3 +486:SkTDArray::push_back\28SkPoint\20const&\29 +487:SkStrokeRec::getStyle\28\29\20const +488:SkSL::fold_expression\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +489:SkPath::lineTo\28SkPoint\20const&\29 +490:SkJSONWriter::appendBool\28char\20const*\2c\20bool\29 +491:GrTriangulator::Comparator::sweep_lt\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +492:CFF::arg_stack_t::pop_uint\28\29 +493:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +494:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +495:skia_png_crc_read +496:SkSpinlock::acquire\28\29 +497:SkSL::Type::MakeAliasType\28std::__2::basic_string_view>\2c\20SkSL::Type\20const&\29 +498:SkSL::Parser::rangeFrom\28SkSL::Position\29 +499:SkSL::Parser::checkNext\28SkSL::Token::Kind\2c\20SkSL::Token*\29 +500:SkMatrix::isScaleTranslate\28\29\20const +501:SkMatrix::Concat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +502:GrOpFlushState::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +503:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +504:std::__2::__throw_bad_function_call\5babi:v160004\5d\28\29 +505:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +506:sk_malloc_throw\28unsigned\20long\2c\20unsigned\20long\29 +507:hb_paint_funcs_t::pop_transform\28void*\29 +508:fma +509:a_cas +510:SkStrikeSpec::~SkStrikeSpec\28\29 +511:SkSL::RP::Builder::lastInstruction\28int\29 +512:SkMatrix::rectStaysRect\28\29\20const +513:SkMatrix::mapRect\28SkRect*\2c\20SkApplyPerspectiveClip\29\20const +514:SkColorSpaceXformSteps::SkColorSpaceXformSteps\28SkColorSpace\20const*\2c\20SkAlphaType\2c\20SkColorSpace\20const*\2c\20SkAlphaType\29 +515:OT::ArrayOf\2c\20OT::IntType>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +516:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28char\29 +517:sk_malloc_flags\28unsigned\20long\2c\20unsigned\20int\29 +518:hb_draw_funcs_t::start_path\28void*\2c\20hb_draw_state_t&\29 +519:hb_buffer_t::reverse\28\29 +520:SkTDStorage::append\28\29 +521:SkTDArray::append\28\29 +522:SkString::operator=\28SkString\20const&\29 +523:SkSL::Type::toCompound\28SkSL::Context\20const&\2c\20int\2c\20int\29\20const +524:SkSL::RP::Generator::binaryOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +525:SkRecords::FillBounds::adjustAndMap\28SkRect\2c\20SkPaint\20const*\29\20const +526:SkPath::operator=\28SkPath\20const&\29 +527:SkMatrix::preConcat\28SkMatrix\20const&\29 +528:SkMatrix::postTranslate\28float\2c\20float\29 +529:SkMatrix::Translate\28float\2c\20float\29 +530:SkDCubic::set\28SkPoint\20const*\29 +531:GrStyle::isSimpleFill\28\29\20const +532:GrGLSLVaryingHandler::emitAttributes\28GrGeometryProcessor\20const&\29 +533:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::Item::setIndices\28\29 +534:std::__2::unique_ptr::reset\5babi:v160004\5d\28unsigned\20char*\29 +535:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +536:skvx::Vec<8\2c\20unsigned\20short>\20skvx::operator+<8\2c\20unsigned\20short>\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29 +537:skif::FilterResult::operator=\28skif::FilterResult&&\29 +538:skgpu::VertexColor::set\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\29 +539:skgpu::ResourceKey::Builder::finish\28\29 +540:sk_sp::~sk_sp\28\29 +541:pthread_mutex_unlock +542:ft_validator_error +543:_hb_next_syllable\28hb_buffer_t*\2c\20unsigned\20int\29 +544:SkSL::Parser::error\28SkSL::Token\2c\20std::__2::basic_string_view>\29 +545:SkSL::GLSLCodeGenerator::writeIdentifier\28std::__2::basic_string_view>\29 +546:SkSL::ConstantFolder::GetConstantValueForVariable\28SkSL::Expression\20const&\29 +547:SkPictureRecord::addPaintPtr\28SkPaint\20const*\29 +548:SkPath::reset\28\29 +549:SkGlyph::rowBytes\28\29\20const +550:GrSurfaceProxy::backingStoreDimensions\28\29\20const +551:GrProgramInfo::visitFPProxies\28std::__2::function\20const&\29\20const +552:GrMeshDrawOp::createProgramInfo\28GrMeshDrawTarget*\29 +553:GrGpu::handleDirtyContext\28\29 +554:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +555:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +556:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29\20\28.6962\29 +557:skvx::Vec<4\2c\20float>\20\28anonymous\20namespace\29::add_121>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +558:skia_private::TArray::Allocate\28int\2c\20double\29 +559:skia_private::TArray\2c\20true>::installDataAndUpdateCapacity\28SkSpan\29 +560:pthread_mutex_lock +561:machine_index_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>::operator=\28machine_index_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>\20const&\29 +562:hb_draw_funcs_t::emit_line_to\28void*\2c\20hb_draw_state_t&\2c\20float\2c\20float\29 +563:SkWriter32::reserve\28unsigned\20long\29 +564:SkTSect::pointLast\28\29\20const +565:SkTDArray::push_back\28int\20const&\29 +566:SkStrokeRec::isHairlineStyle\28\29\20const +567:SkSL::Type::MakeVectorType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\29 +568:SkSL::TProgramVisitor::visitStatement\28SkSL::Statement\20const&\29 +569:SkRect::join\28SkRect\20const&\29 +570:SkPath::Iter::next\28SkPoint*\29 +571:SkMatrix::Scale\28float\2c\20float\29 +572:FT_Stream_ReadFields +573:FT_Stream_GetULong +574:target_from_texture_type\28GrTextureType\29 +575:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +576:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +577:std::__2::__unique_if::__unique_array_unknown_bound\20std::__2::make_unique\5babi:v160004\5d\28unsigned\20long\29 +578:skvx::Vec<4\2c\20unsigned\20short>\20skvx::operator+<4\2c\20unsigned\20short>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20short>\20const&\29 +579:skvx::Vec<4\2c\20unsigned\20int>\20skvx::operator+<4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +580:skif::Context::~Context\28\29 +581:skia::textlayout::TextStyle::~TextStyle\28\29 +582:skia::textlayout::TextStyle::TextStyle\28skia::textlayout::TextStyle\20const&\29 +583:png_icc_profile_error +584:hb_font_t::get_nominal_glyph\28unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\29 +585:SkSL::RP::Program::makeStages\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSpan\2c\20SkSL::RP::Program::SlotData\20const&\29\20const::$_2::operator\28\29\28\29\20const +586:SkSL::ConstructorCompound::MakeFromConstants\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20double\20const*\29 +587:SkRect::roundOut\28SkIRect*\29\20const +588:SkPathPriv::Iterate::Iterate\28SkPath\20const&\29 +589:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_2::operator\28\29\28SkRasterPipelineOp\2c\20SkRasterPipelineOp\2c\20\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +590:SkColorSpace::MakeSRGB\28\29 +591:SkBitmap::SkBitmap\28SkBitmap\20const&\29 +592:OT::OffsetTo\2c\20OT::IntType\2c\20true>::operator\28\29\28void\20const*\29\20const +593:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +594:GrCaps::getDefaultBackendFormat\28GrColorType\2c\20skgpu::Renderable\29\20const +595:FT_Stream_ReleaseFrame +596:DefaultGeoProc::Impl::~Impl\28\29 +597:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock&\2c\20skia::textlayout::OneLineShaper::RunBlock&\29 +598:std::__2::enable_if<_CheckArrayPointerConversion>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot\20\5b\5d>>::reset\5babi:v160004\5d>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot*>\28skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot*\29 +599:sk_srgb_singleton\28\29 +600:out +601:cosf +602:cf2_stack_popInt +603:SkSemaphore::~SkSemaphore\28\29 +604:SkSL::Type::coerceExpression\28std::__2::unique_ptr>\2c\20SkSL::Context\20const&\29\20const +605:SkSL::Type::MakeGenericType\28char\20const*\2c\20SkSpan\2c\20SkSL::Type\20const*\29 +606:SkSL::RP::SlotManager::getVariableSlots\28SkSL::Variable\20const&\29 +607:SkRGBA4f<\28SkAlphaType\292>::operator!=\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +608:SkPathStroker::lineTo\28SkPoint\20const&\2c\20SkPath::Iter\20const*\29 +609:SkPath::conicTo\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\29 +610:SkPaint::setColor\28unsigned\20int\29 +611:SkMatrix::postConcat\28SkMatrix\20const&\29 +612:SkImageInfo::minRowBytes\28\29\20const +613:SkDrawBase::~SkDrawBase\28\29 +614:SkDCubic::ptAtT\28double\29\20const +615:GrStyle::~GrStyle\28\29 +616:GrShaderVar::operator=\28GrShaderVar&&\29 +617:GrProcessor::operator\20delete\28void*\29 +618:GrImageInfo::GrImageInfo\28SkImageInfo\20const&\29 +619:GrColorInfo::GrColorInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\29 +620:FT_Outline_Translate +621:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +622:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +623:std::__2::__check_grouping\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int&\29 +624:skvx::Vec<4\2c\20int>\20skvx::operator|<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +625:skia_private::TArray::push_back\28int&&\29 +626:skia_png_chunk_report +627:pad +628:__memcpy +629:__ashlti3 +630:SkTCoincident::setPerp\28SkTCurve\20const&\2c\20double\2c\20SkDPoint\20const&\2c\20SkTCurve\20const&\29 +631:SkSL::Type::MakeMatrixType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\2c\20signed\20char\29 +632:SkSL::Parser::nextToken\28\29 +633:SkSL::Operator::tightOperatorName\28\29\20const +634:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29::$_0::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +635:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29 +636:SkPath::Iter::setPath\28SkPath\20const&\2c\20bool\29 +637:SkDVector::crossCheck\28SkDVector\20const&\29\20const +638:SkColorSpaceXformSteps::apply\28float*\29\20const +639:SkCanvas::internalQuickReject\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\29 +640:SkBlitter::~SkBlitter\28\29 +641:SkBitmapDevice::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +642:GrSimpleMeshDrawOpHelper::~GrSimpleMeshDrawOpHelper\28\29 +643:GrSimpleMeshDrawOpHelper::visitProxies\28std::__2::function\20const&\29\20const +644:GrShape::reset\28\29 +645:GrShape::bounds\28\29\20const +646:GrShaderVar::appendDecl\28GrShaderCaps\20const*\2c\20SkString*\29\20const +647:GrQuad::MakeFromRect\28SkRect\20const&\2c\20SkMatrix\20const&\29 +648:GrOpFlushState::drawMesh\28GrSimpleMesh\20const&\29 +649:GrMatrixEffect::Make\28SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +650:GrAAConvexTessellator::Ring::index\28int\29\20const +651:DefaultGeoProc::~DefaultGeoProc\28\29 +652:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +653:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +654:skgpu::ResourceKey::operator==\28skgpu::ResourceKey\20const&\29\20const +655:hb_buffer_t::unsafe_to_break_from_outbuffer\28unsigned\20int\2c\20unsigned\20int\29 +656:cff2_path_procs_extents_t::curve\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +657:cff2_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +658:cff1_path_procs_extents_t::curve\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +659:cff1_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +660:byn$mgfn-shared$std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +661:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +662:_hb_glyph_info_get_modified_combining_class\28hb_glyph_info_t\20const*\29 +663:SkSL::TProgramVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +664:SkRasterPipeline::extend\28SkRasterPipeline\20const&\29 +665:SkPixmap::operator=\28SkPixmap\20const&\29 +666:SkPath::moveTo\28SkPoint\20const&\29 +667:SkPath::close\28\29 +668:SkPath::RangeIter::operator++\28\29 +669:SkOpPtT::contains\28SkOpPtT\20const*\29\20const +670:SkNullBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +671:SkMatrixPriv::CheapEqual\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +672:SkIRect::intersect\28SkIRect\20const&\2c\20SkIRect\20const&\29 +673:SkAAClipBlitterWrapper::~SkAAClipBlitterWrapper\28\29 +674:OT::hb_paint_context_t::recurse\28OT::Paint\20const&\29 +675:OT::hb_ot_apply_context_t::init_iters\28\29 +676:GrTextureProxy::mipmapped\28\29\20const +677:GrStyledShape::asPath\28SkPath*\29\20const +678:GrShaderVar::GrShaderVar\28char\20const*\2c\20SkSLType\2c\20GrShaderVar::TypeModifier\29 +679:GrGLGpu::setTextureUnit\28int\29 +680:GrGLGpu::clearErrorsAndCheckForOOM\28\29 +681:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::~Impl\28\29 +682:GrCPixmap::GrCPixmap\28GrImageInfo\2c\20void\20const*\2c\20unsigned\20long\29 +683:GrAppliedClip::~GrAppliedClip\28\29 +684:FT_Load_Glyph +685:CFF::cff_stack_t::pop\28\29 +686:void\20SkOnce::operator\28\29*\29\2c\20SkAlignedSTStorage<1\2c\20skgpu::UniqueKey>*>\28void\20\28&\29\28SkAlignedSTStorage<1\2c\20skgpu::UniqueKey>*\29\2c\20SkAlignedSTStorage<1\2c\20skgpu::UniqueKey>*&&\29 +687:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +688:std::__2::numpunct::thousands_sep\5babi:v160004\5d\28\29\20const +689:std::__2::numpunct::grouping\5babi:v160004\5d\28\29\20const +690:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +691:std::__2::basic_string\2c\20std::__2::allocator>::__move_assign\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::integral_constant\29 +692:std::__2::basic_string\2c\20std::__2::allocator>::__throw_length_error\5babi:v160004\5d\28\29\20const +693:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator<<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +694:skif::LayerSpace::outset\28skif::LayerSpace\20const&\29 +695:skif::Context::Context\28skif::Context\20const&\29 +696:skgpu::ResourceKey::Builder::Builder\28skgpu::ResourceKey*\2c\20unsigned\20int\2c\20int\29 +697:rewind\28GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +698:hb_sanitize_context_t::end_processing\28\29 +699:hb_buffer_t::move_to\28unsigned\20int\29 +700:ft_mem_qalloc +701:fmodf +702:_output_with_dotted_circle\28hb_buffer_t*\29 +703:SkTSpan::pointLast\28\29\20const +704:SkTDStorage::resize\28int\29 +705:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression\20const&\29 +706:SkSL::Parser::rangeFrom\28SkSL::Token\29 +707:SkSL::FunctionDeclaration::description\28\29\20const +708:SkPathRef::isFinite\28\29\20const +709:SkPathRef::Editor::Editor\28sk_sp*\2c\20int\2c\20int\2c\20int\29 +710:SkImageInfo::MakeA8\28int\2c\20int\29 +711:SkDrawable::getFlattenableType\28\29\20const +712:SkDPoint::ApproximatelyEqual\28SkPoint\20const&\2c\20SkPoint\20const&\29 +713:SkBlockAllocator::reset\28\29 +714:GrSimpleMeshDrawOpHelperWithStencil::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +715:GrGeometryProcessor::ProgramImpl::SetTransform\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrResourceHandle\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix*\29 +716:GrGLSLVertexGeoBuilder::insertFunction\28char\20const*\29 +717:GrDrawingManager::flushIfNecessary\28\29 +718:FT_Stream_ExtractFrame +719:Cr_z_crc32 +720:std::__2::enable_if<_CheckArrayPointerConversion::value\2c\20void>::type\20std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrGLCaps::ColorTypeInfo*\29 +721:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +722:std::__2::char_traits::assign\28char&\2c\20char\20const&\29 +723:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_size\5babi:v160004\5d\28unsigned\20long\29 +724:std::__2::__unique_if::__unique_array_unknown_bound\20std::__2::make_unique\5babi:v160004\5d\28unsigned\20long\29 +725:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28void\20\28*&&\29\28void*\29\29 +726:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator<<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +727:skia_private::TArray::checkRealloc\28int\2c\20double\29 +728:skgpu::tess::StrokeIterator::enqueue\28skgpu::tess::StrokeIterator::Verb\2c\20SkPoint\20const*\2c\20float\20const*\29 +729:skgpu::ganesh::SurfaceFillContext::getOpsTask\28\29 +730:skgpu::ganesh::AsView\28GrRecordingContext*\2c\20SkImage\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +731:__addtf3 +732:SkSL::RP::Builder::push_constant_i\28int\2c\20int\29 +733:SkSL::RP::Builder::label\28int\29 +734:SkPath::isConvex\28\29\20const +735:SkPaintToGrPaint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +736:SkMatrix::mapXY\28float\2c\20float\2c\20SkPoint*\29\20const +737:SkImageInfo::operator=\28SkImageInfo\20const&\29 +738:SkImageGenerator::onIsValid\28GrRecordingContext*\29\20const +739:SkImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +740:SkCanvas::concat\28SkMatrix\20const&\29 +741:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\29 +742:GrSkSLFP::addChild\28std::__2::unique_ptr>\2c\20bool\29 +743:GrProcessorSet::~GrProcessorSet\28\29 +744:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b10\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +745:GrGLGpu::bindBuffer\28GrGpuBufferType\2c\20GrBuffer\20const*\29 +746:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20char\20const*\2c\20char\20const*\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +747:FT_Stream_ReadByte +748:ubidi_getParaLevelAtIndex_skia +749:std::__2::char_traits::copy\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +750:std::__2::basic_string\2c\20std::__2::allocator>::begin\5babi:v160004\5d\28\29 +751:std::__2::basic_string\2c\20std::__2::allocator>::__set_short_size\5babi:v160004\5d\28unsigned\20long\29 +752:std::__2::__libcpp_snprintf_l\28char*\2c\20unsigned\20long\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +753:skia_private::TArray::push_back\28bool&&\29 +754:skia::textlayout::OneLineShaper::RunBlock::operator=\28skia::textlayout::OneLineShaper::RunBlock&&\29 +755:skia::textlayout::Cluster::run\28\29\20const +756:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::accountForCurve\28float\29 +757:skgpu::ganesh::SurfaceContext::PixelTransferResult::~PixelTransferResult\28\29 +758:is_equal\28std::type_info\20const*\2c\20std::type_info\20const*\2c\20bool\29 +759:hb_ot_map_t::get_1_mask\28unsigned\20int\29\20const +760:hb_font_get_glyph +761:hb_draw_funcs_t::emit_quadratic_to\28void*\2c\20hb_draw_state_t&\2c\20float\2c\20float\2c\20float\2c\20float\29 +762:hb_buffer_t::unsafe_to_concat_from_outbuffer\28unsigned\20int\2c\20unsigned\20int\29 +763:cff_index_get_sid_string +764:_hb_font_funcs_set_middle\28hb_font_funcs_t*\2c\20void*\2c\20void\20\28*\29\28void*\29\29 +765:__floatsitf +766:SkWriter32::writeScalar\28float\29 +767:SkTDArray<\28anonymous\20namespace\29::YOffset>::append\28\29 +768:SkString::data\28\29 +769:SkSL::SymbolTable::find\28std::__2::basic_string_view>\29\20const +770:SkSL::RP::Generator::pushVectorizedExpression\28SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +771:SkSL::RP::Builder::swizzle\28int\2c\20SkSpan\29 +772:SkSL::Parser::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +773:SkSL::Nop::Make\28\29 +774:SkRegion::setRect\28SkIRect\20const&\29 +775:SkPaint::setColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\29 +776:SkPaint::setBlendMode\28SkBlendMode\29 +777:SkPaint::asBlendMode\28\29\20const +778:SkMatrix::preTranslate\28float\2c\20float\29 +779:SkMatrix::getMaxScale\28\29\20const +780:SkJSONWriter::appendHexU32\28char\20const*\2c\20unsigned\20int\29 +781:SkDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +782:SkBlender::Mode\28SkBlendMode\29 +783:SkBitmap::setInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +784:SkArenaAlloc::SkArenaAlloc\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +785:OT::hb_ot_apply_context_t::skipping_iterator_t::next\28unsigned\20int*\29 +786:OT::VarSizedBinSearchArrayOf>::get_length\28\29\20const +787:GrMeshDrawTarget::allocMesh\28\29 +788:GrGLGpu::bindTextureToScratchUnit\28unsigned\20int\2c\20int\29 +789:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +790:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::~SwizzleFragmentProcessor\28\29 +791:GrCaps::getReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +792:GrBackendFormat::GrBackendFormat\28GrBackendFormat\20const&\29 +793:CFF::cff1_cs_opset_t::check_width\28unsigned\20int\2c\20CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +794:AutoFTAccess::AutoFTAccess\28SkTypeface_FreeType\20const*\29 +795:void\20SkSafeUnref\28SharedGenerator*\29 +796:strchr +797:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +798:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20char\29\20const +799:std::__2::__function::__value_func::__value_func\5babi:v160004\5d\28std::__2::__function::__value_func&&\29 +800:skia_private::TArray>\2c\20true>::reserve_exact\28int\29 +801:skia_png_get_uint_32 +802:skia::textlayout::OneLineShaper::clusterIndex\28unsigned\20long\29 +803:skgpu::ganesh::SurfaceDrawContext::chooseAAType\28GrAA\29 +804:skgpu::UniqueKey::GenerateDomain\28\29 +805:hb_buffer_t::sync_so_far\28\29 +806:hb_buffer_t::sync\28\29 +807:em_task_queue_is_empty +808:compute_side\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +809:cff_parse_num +810:byn$mgfn-shared$skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +811:SkWriter32::writeRect\28SkRect\20const&\29 +812:SkSL::Type::clone\28SkSL::Context\20const&\2c\20SkSL::SymbolTable*\29\20const +813:SkSL::RP::Generator::writeStatement\28SkSL::Statement\20const&\29 +814:SkSL::RP::Builder::unary_op\28SkSL::RP::BuilderOp\2c\20int\29 +815:SkSL::Parser::operatorRight\28SkSL::Parser::AutoDepth&\2c\20SkSL::OperatorKind\2c\20std::__2::unique_ptr>\20\28SkSL::Parser::*\29\28\29\2c\20std::__2::unique_ptr>&\29 +816:SkSL::Parser::expression\28\29 +817:SkRecords::FillBounds::pushControl\28\29 +818:SkRasterClip::~SkRasterClip\28\29 +819:SkRGBA4f<\28SkAlphaType\293>::FromColor\28unsigned\20int\29 +820:SkPath::moveTo\28float\2c\20float\29 +821:SkM44::asM33\28\29\20const +822:SkImageFilter_Base::getFlattenableType\28\29\20const +823:SkIRect::makeOutset\28int\2c\20int\29\20const +824:SkDQuad::ptAtT\28double\29\20const +825:SkDConic::ptAtT\28double\29\20const +826:SkArenaAlloc::~SkArenaAlloc\28\29 +827:SkAAClip::setEmpty\28\29 +828:OT::hb_ot_apply_context_t::skipping_iterator_t::reset\28unsigned\20int\29 +829:GrTriangulator::Line::intersect\28GrTriangulator::Line\20const&\2c\20SkPoint*\29\20const +830:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkISize\20const&\29 +831:GrGpuBuffer::unmap\28\29 +832:GrGeometryProcessor::ProgramImpl::WriteLocalCoord\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20GrShaderVar\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +833:GrGeometryProcessor::ProgramImpl::ComputeMatrixKey\28GrShaderCaps\20const&\2c\20SkMatrix\20const&\29 +834:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\29 +835:GrFragmentProcessor::GrFragmentProcessor\28GrFragmentProcessor\20const&\29 +836:void\20SkSafeUnref\28SkMipmap*\29 +837:ubidi_getMemory_skia +838:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +839:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +840:std::__2::optional::value\5babi:v160004\5d\28\29\20const\20& +841:std::__2::numpunct::truename\5babi:v160004\5d\28\29\20const +842:std::__2::numpunct::falsename\5babi:v160004\5d\28\29\20const +843:std::__2::numpunct::decimal_point\5babi:v160004\5d\28\29\20const +844:std::__2::moneypunct::do_grouping\28\29\20const +845:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29\20const +846:std::__2::basic_string\2c\20std::__2::allocator>::empty\5babi:v160004\5d\28\29\20const +847:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_cap\5babi:v160004\5d\28unsigned\20long\29 +848:std::__2::basic_string\2c\20std::__2::allocator>::__is_long\5babi:v160004\5d\28\29\20const +849:skvx::Vec<4\2c\20float>\20skvx::operator-<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +850:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +851:skia_private::THashTable>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair\2c\20std::__2::unique_ptr>*\2c\20skia_private::THashMap>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair&&\29 +852:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Hash\28SkImageFilter\20const*\20const&\29 +853:skia_private::TArray::checkRealloc\28int\2c\20double\29 +854:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +855:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::STArray\28skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>&&\29 +856:skia_png_reciprocal +857:skia_png_malloc_warn +858:skia::textlayout::\28anonymous\20namespace\29::relax\28float\29 +859:skgpu::ganesh::SurfaceFillContext::arenaAlloc\28\29 +860:skgpu::ganesh::SurfaceContext::readPixels\28GrDirectContext*\2c\20GrPixmap\2c\20SkIPoint\29 +861:skgpu::Swizzle::RGBA\28\29 +862:sk_sp::reset\28SkData*\29 +863:sk_sp::~sk_sp\28\29 +864:operator==\28SkIRect\20const&\2c\20SkIRect\20const&\29 +865:crc32_z +866:__unlockfile +867:__lockfile +868:SkTSect::SkTSect\28SkTCurve\20const&\29 +869:SkSL::String::Separator\28\29 +870:SkSL::RP::Generator::pushIntrinsic\28SkSL::RP::BuilderOp\2c\20SkSL::Expression\20const&\29 +871:SkSL::ProgramConfig::strictES2Mode\28\29\20const +872:SkSL::Parser::layoutInt\28\29 +873:SkRegion::Cliperator::next\28\29 +874:SkRegion::Cliperator::Cliperator\28SkRegion\20const&\2c\20SkIRect\20const&\29 +875:SkPathRef::growForVerb\28int\2c\20float\29 +876:SkPath::transform\28SkMatrix\20const&\2c\20SkPath*\2c\20SkApplyPerspectiveClip\29\20const +877:SkMipmap::ComputeLevelCount\28int\2c\20int\29 +878:SkMatrix::MakeRectToRect\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkMatrix::ScaleToFit\29 +879:SkMatrix::MakeAll\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +880:SkImageInfo::operator=\28SkImageInfo&&\29 +881:SkDLine::nearPoint\28SkDPoint\20const&\2c\20bool*\29\20const +882:SkChopQuadAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +883:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\29 +884:SkBaseShadowTessellator::appendTriangle\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +885:SkAutoConicToQuads::computeQuads\28SkPoint\20const*\2c\20float\2c\20float\29 +886:OT::hb_ot_apply_context_t::~hb_ot_apply_context_t\28\29 +887:OT::hb_ot_apply_context_t::hb_ot_apply_context_t\28unsigned\20int\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +888:OT::ClassDef::get_class\28unsigned\20int\29\20const +889:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_4::operator\28\29\28char\20const*\29\20const +890:GrSimpleMeshDrawOpHelper::isCompatible\28GrSimpleMeshDrawOpHelper\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +891:GrShaderVar::GrShaderVar\28GrShaderVar\20const&\29 +892:GrQuad::writeVertex\28int\2c\20skgpu::VertexWriter&\29\20const +893:GrOpFlushState::bindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +894:GrGLSLShaderBuilder::appendTextureLookup\28GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +895:GrGLGpu::getErrorAndCheckForOOM\28\29 +896:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20int\2c\20float\20const*\29\29::'lambda'\28void\20const*\2c\20int\2c\20int\2c\20float\20const*\29::__invoke\28void\20const*\2c\20int\2c\20int\2c\20float\20const*\29 +897:GrColorInfo::GrColorInfo\28SkColorInfo\20const&\29 +898:GrAAConvexTessellator::addTri\28int\2c\20int\2c\20int\29 +899:FT_Stream_ReadULong +900:FT_Get_Module +901:AlmostBequalUlps\28double\2c\20double\29 +902:tt_face_get_name +903:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +904:std::__2::unique_ptr::reset\5babi:v160004\5d\28void*\29 +905:std::__2::optional::value\5babi:v160004\5d\28\29\20& +906:std::__2::optional::value\5babi:v160004\5d\28\29\20& +907:std::__2::__variant_detail::__dtor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29 +908:std::__2::__variant_detail::__dtor\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29 +909:std::__2::__libcpp_locale_guard::~__libcpp_locale_guard\5babi:v160004\5d\28\29 +910:std::__2::__libcpp_locale_guard::__libcpp_locale_guard\5babi:v160004\5d\28__locale_struct*&\29 +911:skvx::Vec<4\2c\20float>&\20skvx::operator+=<4\2c\20float>\28skvx::Vec<4\2c\20float>&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.5839\29 +912:skvx::Vec<2\2c\20float>\20skvx::max<2\2c\20float>\28skvx::Vec<2\2c\20float>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\29 +913:skif::FilterResult::FilterResult\28skif::FilterResult\20const&\29 +914:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +915:sk_sp&\20skia_private::TArray\2c\20true>::emplace_back>\28sk_sp&&\29 +916:sinf +917:path_cubicTo +918:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +919:hb_user_data_array_t::fini\28\29 +920:hb_iter_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>\2c\20hb_pair_t>>::operator+\28unsigned\20int\29\20const +921:hb_indic_would_substitute_feature_t::would_substitute\28unsigned\20int\20const*\2c\20unsigned\20int\2c\20hb_face_t*\29\20const +922:hb_font_t::get_glyph_h_advance\28unsigned\20int\29 +923:hb_draw_funcs_t::emit_close_path\28void*\2c\20hb_draw_state_t&\29 +924:ft_module_get_service +925:byn$mgfn-shared$skia_private::TArray\2c\20true>::preallocateNewData\28int\2c\20double\29 +926:bool\20hb_sanitize_context_t::check_array>\28OT::IntType\20const*\2c\20unsigned\20int\29\20const +927:__sindf +928:__shlim +929:__cosdf +930:SkWriter32::write\28void\20const*\2c\20unsigned\20long\29 +931:SkString::equals\28SkString\20const&\29\20const +932:SkSL::evaluate_pairwise_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +933:SkSL::StringStream::str\28\29\20const +934:SkSL::RP::Generator::makeLValue\28SkSL::Expression\20const&\2c\20bool\29 +935:SkSL::Parser::expressionOrPoison\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +936:SkSL::GLSLCodeGenerator::getTypeName\28SkSL::Type\20const&\29 +937:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +938:SkRegion::setEmpty\28\29 +939:SkRect::round\28\29\20const +940:SkPixmap::SkPixmap\28SkPixmap\20const&\29 +941:SkPaint::getAlpha\28\29\20const +942:SkMatrix::preScale\28float\2c\20float\29 +943:SkMatrix::isSimilarity\28float\29\20const +944:SkIRect::join\28SkIRect\20const&\29 +945:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\29\20const +946:SkData::MakeUninitialized\28unsigned\20long\29 +947:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +948:SkCanvas::checkForDeferredSave\28\29 +949:SkBitmapCache::Rec::getKey\28\29\20const +950:SkAAClip::Builder::addRun\28int\2c\20int\2c\20unsigned\20int\2c\20int\29 +951:GrTriangulator::Line::Line\28SkPoint\20const&\2c\20SkPoint\20const&\29 +952:GrTriangulator::Edge::isRightOf\28GrTriangulator::Vertex\20const&\29\20const +953:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\29 +954:GrShape::setType\28GrShape::Type\29 +955:GrPixmapBase::GrPixmapBase\28GrPixmapBase\20const&\29 +956:GrMakeUncachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +957:GrIORef::unref\28\29\20const +958:GrGeometryProcessor::TextureSampler::reset\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +959:GrGLSLShaderBuilder::getMangledFunctionName\28char\20const*\29 +960:GrGLGpu::deleteFramebuffer\28unsigned\20int\29 +961:GrGLExtensions::has\28char\20const*\29\20const +962:GrBackendFormats::MakeGL\28unsigned\20int\2c\20unsigned\20int\29 +963:vsnprintf +964:top12 +965:std::__2::vector>::erase\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +966:std::__2::to_string\28long\20long\29 +967:std::__2::pair::type\2c\20std::__2::__unwrap_ref_decay::type>\20std::__2::make_pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +968:std::__2::optional::value\5babi:v160004\5d\28\29\20& +969:std::__2::locale::use_facet\28std::__2::locale::id&\29\20const +970:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +971:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +972:std::__2::basic_string\2c\20std::__2::allocator>::__init\28char\20const*\2c\20unsigned\20long\29 +973:std::__2::__throw_bad_optional_access\5babi:v160004\5d\28\29 +974:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +975:std::__2::__num_put_base::__identify_padding\28char*\2c\20char*\2c\20std::__2::ios_base\20const&\29 +976:std::__2::__num_get_base::__get_base\28std::__2::ios_base&\29 +977:std::__2::__libcpp_asprintf_l\28char**\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +978:skvx::Vec<4\2c\20float>\20skvx::abs<4>\28skvx::Vec<4\2c\20float>\20const&\29 +979:skvx::Vec<2\2c\20float>\20skvx::min<2\2c\20float>\28skvx::Vec<2\2c\20float>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\29 +980:sktext::gpu::BagOfBytes::allocateBytes\28int\2c\20int\29 +981:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\29 +982:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +983:skia_private::TArray::~TArray\28\29 +984:skia_private::TArray::push_back\28SkSL::SwitchCase\20const*\20const&\29 +985:skia_private::TArray::checkRealloc\28int\2c\20double\29 +986:skia_png_malloc_base +987:skia::textlayout::TextLine::iterateThroughVisualRuns\28bool\2c\20std::__2::function\2c\20float*\29>\20const&\29\20const +988:skgpu::ganesh::SurfaceDrawContext::numSamples\28\29\20const +989:sk_sp::~sk_sp\28\29 +990:sk_sp::~sk_sp\28\29 +991:skData_getConstPointer +992:round +993:qsort +994:path_quadraticBezierTo +995:operator==\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +996:is_one_of\28hb_glyph_info_t\20const&\2c\20unsigned\20int\29 +997:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +998:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +999:inflateStateCheck +1000:hb_lazy_loader_t\2c\20hb_face_t\2c\206u\2c\20hb_blob_t>::get\28\29\20const +1001:hb_font_t::has_glyph\28unsigned\20int\29 +1002:byn$mgfn-shared$std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +1003:byn$mgfn-shared$std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +1004:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::__wrap_iter\20const&\2c\20std::__2::__wrap_iter\20const&\29 +1005:bool\20hb_sanitize_context_t::check_array\28OT::HBGlyphID16\20const*\2c\20unsigned\20int\29\20const +1006:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1007:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1008:bool\20OT::Layout::Common::Coverage::collect_coverage\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>>\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>*\29\20const +1009:addPoint\28UBiDi*\2c\20int\2c\20int\29 +1010:__extenddftf2 +1011:\28anonymous\20namespace\29::extension_compare\28SkString\20const&\2c\20SkString\20const&\29 +1012:\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1013:\28anonymous\20namespace\29::colrv1_transform\28FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\2c\20SkCanvas*\2c\20SkMatrix*\29 +1014:SkUTF::NextUTF8\28char\20const**\2c\20char\20const*\29 +1015:SkUTF::NextUTF8WithReplacement\28char\20const**\2c\20char\20const*\29 +1016:SkTInternalLList::addToHead\28sktext::gpu::TextBlob*\29 +1017:SkTDStorage::removeShuffle\28int\29 +1018:SkTDArray::push_back\28void*\20const&\29 +1019:SkTCopyOnFirstWrite::writable\28\29 +1020:SkSurface_Base::getCachedCanvas\28\29 +1021:SkSL::cast_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +1022:SkSL::StringStream::~StringStream\28\29 +1023:SkSL::RP::LValue::~LValue\28\29 +1024:SkSL::RP::Generator::pushIntrinsic\28SkSL::RP::Generator::TypedOps\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1025:SkSL::InlineCandidateAnalyzer::visitExpression\28std::__2::unique_ptr>*\29 +1026:SkSL::GLSLCodeGenerator::writeType\28SkSL::Type\20const&\29 +1027:SkSL::GLSLCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1028:SkSL::Expression::isBoolLiteral\28\29\20const +1029:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29 +1030:SkRuntimeEffect::findUniform\28std::__2::basic_string_view>\29\20const +1031:SkRasterPipelineBlitter::appendLoadDst\28SkRasterPipeline*\29\20const +1032:SkPoint::Distance\28SkPoint\20const&\2c\20SkPoint\20const&\29 +1033:SkPathRef::getBounds\28\29\20const +1034:SkPath::isRect\28SkRect*\2c\20bool*\2c\20SkPathDirection*\29\20const +1035:SkPath::injectMoveToIfNeeded\28\29 +1036:SkMatrix::setScaleTranslate\28float\2c\20float\2c\20float\2c\20float\29 +1037:SkMatrix::postScale\28float\2c\20float\29 +1038:SkMatrix::mapVector\28float\2c\20float\29\20const +1039:SkJSONWriter::endArray\28\29 +1040:SkJSONWriter::beginArray\28char\20const*\2c\20bool\29 +1041:SkJSONWriter::appendS32\28char\20const*\2c\20int\29 +1042:SkJSONWriter::appendName\28char\20const*\29 +1043:SkIntersections::removeOne\28int\29 +1044:SkImages::RasterFromBitmap\28SkBitmap\20const&\29 +1045:SkImage_Ganesh::SkImage_Ganesh\28sk_sp\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20SkColorInfo\29 +1046:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\29 +1047:SkImageFilter_Base::getChildInputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +1048:SkIRect::makeOffset\28int\2c\20int\29\20const +1049:SkGlyph::iRect\28\29\20const +1050:SkFindUnitQuadRoots\28float\2c\20float\2c\20float\2c\20float*\29 +1051:SkDevice::makeSpecial\28SkBitmap\20const&\29 +1052:SkData::PrivateNewWithCopy\28void\20const*\2c\20unsigned\20long\29 +1053:SkColorSpaceXformSteps::Flags::mask\28\29\20const +1054:SkColorSpace::Equals\28SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +1055:SkCanvas::save\28\29 +1056:SkBlurMaskFilterImpl::computeXformedSigma\28SkMatrix\20const&\29\20const +1057:SkBlockAllocator::BlockIter::Item::operator++\28\29 +1058:SkBitmap::peekPixels\28SkPixmap*\29\20const +1059:SkAAClip::freeRuns\28\29 +1060:OT::hb_ot_apply_context_t::set_lookup_mask\28unsigned\20int\2c\20bool\29 +1061:OT::cmap::find_subtable\28unsigned\20int\2c\20unsigned\20int\29\20const +1062:GrWindowRectangles::~GrWindowRectangles\28\29 +1063:GrTriangulator::EdgeList::remove\28GrTriangulator::Edge*\29 +1064:GrTriangulator::Edge::isLeftOf\28GrTriangulator::Vertex\20const&\29\20const +1065:GrStyle::SimpleFill\28\29 +1066:GrSimpleMeshDrawOpHelper::createProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1067:GrResourceAllocator::addInterval\28GrSurfaceProxy*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20GrResourceAllocator::ActualUse\2c\20GrResourceAllocator::AllowRecycling\29 +1068:GrRenderTask::makeClosed\28GrRecordingContext*\29 +1069:GrOpFlushState::allocator\28\29 +1070:GrGLGpu::prepareToDraw\28GrPrimitiveType\29 +1071:GrBackendFormatToCompressionType\28GrBackendFormat\20const&\29 +1072:FT_Stream_Skip +1073:FT_Outline_Get_CBox +1074:Cr_z_adler32 +1075:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::end\28\29\20const +1076:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::begin\28\29\20const +1077:AlmostDequalUlps\28double\2c\20double\29 +1078:write_tag_size\28SkWriteBuffer&\2c\20unsigned\20int\2c\20unsigned\20long\29 +1079:void\20skgpu::VertexWriter::writeQuad\2c\20skgpu::VertexColor\2c\20skgpu::VertexWriter::Conditional>\28skgpu::VertexWriter::TriFan\20const&\2c\20skgpu::VertexColor\20const&\2c\20skgpu::VertexWriter::Conditional\20const&\29 +1080:uprv_free_skia +1081:strcpy +1082:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1083:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1084:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1085:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +1086:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1087:std::__2::unique_ptr>\20GrSkSLFP::Make<>\28SkRuntimeEffect\20const*\2c\20char\20const*\2c\20std::__2::unique_ptr>\2c\20GrSkSLFP::OptFlags\29 +1088:std::__2::unique_ptr>\20GrBlendFragmentProcessor::Make<\28SkBlendMode\2913>\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +1089:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +1090:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\20const*\2c\20char\20const*\29\20const +1091:std::__2::optional::value\5babi:v160004\5d\28\29\20& +1092:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::writeTriangleStack\28skgpu::tess::MiddleOutPolygonTriangulator::PoppedTriangleStack&&\29 +1093:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +1094:std::__2::__tuple_impl\2c\20GrSurfaceProxyView\2c\20sk_sp>::~__tuple_impl\28\29 +1095:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator>=<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29\20\28.5825\29 +1096:skvx::Vec<4\2c\20float>&\20skvx::operator*=<4\2c\20float>\28skvx::Vec<4\2c\20float>&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1097:skia_private::THashMap::find\28SkSL::FunctionDeclaration\20const*\20const&\29\20const +1098:skia_private::TArray\2c\20true>::destroyAll\28\29 +1099:skia_private::TArray::push_back_n\28int\2c\20SkPoint\20const*\29 +1100:skia::textlayout::Run::placeholderStyle\28\29\20const +1101:skgpu::skgpu_init_static_unique_key_once\28SkAlignedSTStorage<1\2c\20skgpu::UniqueKey>*\29 +1102:skgpu::ganesh::\28anonymous\20namespace\29::update_degenerate_test\28skgpu::ganesh::\28anonymous\20namespace\29::DegenerateTestData*\2c\20SkPoint\20const&\29 +1103:skgpu::VertexWriter&\20skgpu::operator<<\28skgpu::VertexWriter&\2c\20skgpu::VertexColor\20const&\29 +1104:skgpu::ResourceKey::ResourceKey\28\29 +1105:sk_sp::reset\28GrThreadSafeCache::VertexData*\29 +1106:sk_sp::reset\28GrSurfaceProxy*\29 +1107:scalbn +1108:rowcol3\28float\20const*\2c\20float\20const*\29 +1109:ps_parser_skip_spaces +1110:isdigit +1111:is_joiner\28hb_glyph_info_t\20const&\29 +1112:hb_paint_funcs_t::push_translate\28void*\2c\20float\2c\20float\29 +1113:hb_lazy_loader_t\2c\20hb_face_t\2c\2022u\2c\20hb_blob_t>::get\28\29\20const +1114:hb_iter_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>\2c\20hb_pair_t>>::operator--\28int\29 +1115:hb_aat_map_t::range_flags_t*\20hb_vector_t::push\28hb_aat_map_t::range_flags_t&&\29 +1116:get_gsubgpos_table\28hb_face_t*\2c\20unsigned\20int\29 +1117:emscripten_longjmp +1118:contourMeasure_dispose +1119:cff2_path_procs_extents_t::line\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\2c\20CFF::point_t\20const&\29 +1120:cff2_path_param_t::line_to\28CFF::point_t\20const&\29 +1121:cff1_path_procs_extents_t::line\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\29 +1122:cff1_path_param_t::line_to\28CFF::point_t\20const&\29 +1123:cf2_stack_pushInt +1124:cf2_buf_readByte +1125:byn$mgfn-shared$GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +1126:bool\20hb_bsearch_impl\28unsigned\20int*\2c\20unsigned\20int\20const&\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +1127:_hb_draw_funcs_set_preamble\28hb_draw_funcs_t*\2c\20bool\2c\20void**\2c\20void\20\28**\29\28void*\29\29 +1128:__wake +1129:__unlock +1130:__memset +1131:\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1132:SkWStream::writeDecAsText\28int\29 +1133:SkTDStorage::append\28void\20const*\2c\20int\29 +1134:SkString::reset\28\29 +1135:SkStrikeSpec::SkStrikeSpec\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1136:SkStrike::unlock\28\29 +1137:SkStrike::lock\28\29 +1138:SkSL::RP::Builder::lastInstructionOnAnyStack\28int\29 +1139:SkSL::ProgramUsage::get\28SkSL::Variable\20const&\29\20const +1140:SkSL::Parser::expectIdentifier\28SkSL::Token*\29 +1141:SkSL::Parser::AutoDepth::increase\28\29 +1142:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29::$_3::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +1143:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29::$_2::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +1144:SkSL::GLSLCodeGenerator::finishLine\28\29 +1145:SkSL::ConstructorSplat::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1146:SkSL::ConstructorScalarCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1147:SkRuntimeEffect::Uniform::sizeInBytes\28\29\20const +1148:SkRegion::SkRegion\28SkIRect\20const&\29 +1149:SkRasterPipeline::run\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +1150:SkRasterPipeline::appendTransferFunction\28skcms_TransferFunction\20const&\29 +1151:SkRasterPipeline::appendConstantColor\28SkArenaAlloc*\2c\20float\20const*\29 +1152:SkRRect::checkCornerContainment\28float\2c\20float\29\20const +1153:SkRRect::MakeRect\28SkRect\20const&\29 +1154:SkRRect::MakeOval\28SkRect\20const&\29 +1155:SkPointPriv::DistanceToLineSegmentBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +1156:SkPoint::setLength\28float\29 +1157:SkPathPriv::AllPointsEq\28SkPoint\20const*\2c\20int\29 +1158:SkPathBuilder::~SkPathBuilder\28\29 +1159:SkPathBuilder::lineTo\28SkPoint\29 +1160:SkPathBuilder::detach\28\29 +1161:SkPathBuilder::SkPathBuilder\28\29 +1162:SkPath::transform\28SkMatrix\20const&\2c\20SkApplyPerspectiveClip\29 +1163:SkOpCoincidence::release\28SkCoincidentSpans*\2c\20SkCoincidentSpans*\29 +1164:SkNVRefCnt::unref\28\29\20const +1165:SkJSONWriter::endObject\28\29 +1166:SkJSONWriter::beginObject\28char\20const*\2c\20bool\29 +1167:SkJSONWriter::appendCString\28char\20const*\2c\20char\20const*\29 +1168:SkIntersections::hasT\28double\29\20const +1169:SkImageFilter_Base::getChildOutput\28int\2c\20skif::Context\20const&\29\20const +1170:SkIRect::offset\28int\2c\20int\29 +1171:SkDLine::ptAtT\28double\29\20const +1172:SkCanvas::translate\28float\2c\20float\29 +1173:SkCanvas::restoreToCount\28int\29 +1174:SkCanvas::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +1175:SkCachedData::unref\28\29\20const +1176:SkAutoSMalloc<1024ul>::~SkAutoSMalloc\28\29 +1177:SkAutoCanvasRestore::~SkAutoCanvasRestore\28\29 +1178:SkArenaAlloc::SkArenaAlloc\28unsigned\20long\29 +1179:SkAAClipBlitterWrapper::init\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1180:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1181:OT::Offset\2c\20true>::is_null\28\29\20const +1182:OT::MVAR::get_var\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29\20const +1183:MaskAdditiveBlitter::getRow\28int\29 +1184:GrTriangulator::EdgeList::insert\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +1185:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20GrCaps\20const&\2c\20float\20const*\29 +1186:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\29 +1187:GrTessellationShader::MakeProgram\28GrTessellationShader::ProgramArgs\20const&\2c\20GrTessellationShader\20const*\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +1188:GrScissorState::enabled\28\29\20const +1189:GrRecordingContextPriv::recordTimeAllocator\28\29 +1190:GrQuad::bounds\28\29\20const +1191:GrProxyProvider::createProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\29 +1192:GrPixmapBase::operator=\28GrPixmapBase&&\29 +1193:GrOpFlushState::detachAppliedClip\28\29 +1194:GrGLGpu::disableWindowRectangles\28\29 +1195:GrGLFormatFromGLEnum\28unsigned\20int\29 +1196:GrFragmentProcessors::Make\28GrRecordingContext*\2c\20SkColorFilter\20const*\2c\20std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1197:GrFragmentProcessor::~GrFragmentProcessor\28\29 +1198:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29 +1199:GrBackendTexture::getBackendFormat\28\29\20const +1200:CFF::interp_env_t::fetch_op\28\29 +1201:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::Item::setIndices\28\29 +1202:AlmostEqualUlps\28double\2c\20double\29 +1203:AAT::StateTable::get_entry\28int\2c\20unsigned\20int\29\20const +1204:AAT::StateTable::EntryData>::get_entry\28int\2c\20unsigned\20int\29\20const +1205:void\20sktext::gpu::fill3D\28SkZip\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28float\2c\20float\29::operator\28\29\28float\2c\20float\29\20const +1206:tt_face_lookup_table +1207:std::__2::unique_ptr>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +1208:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1209:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::Module\20const*\29 +1210:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1211:std::__2::optional::value\5babi:v160004\5d\28\29\20& +1212:std::__2::optional::value\5babi:v160004\5d\28\29\20& +1213:std::__2::moneypunct::negative_sign\5babi:v160004\5d\28\29\20const +1214:std::__2::moneypunct::neg_format\5babi:v160004\5d\28\29\20const +1215:std::__2::moneypunct::frac_digits\5babi:v160004\5d\28\29\20const +1216:std::__2::moneypunct::do_pos_format\28\29\20const +1217:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20std::__2::random_access_iterator_tag\29 +1218:std::__2::function::operator\28\29\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\20const +1219:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +1220:std::__2::char_traits::copy\28wchar_t*\2c\20wchar_t\20const*\2c\20unsigned\20long\29 +1221:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1222:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1223:std::__2::basic_string\2c\20std::__2::allocator>::__set_size\5babi:v160004\5d\28unsigned\20long\29 +1224:std::__2::__split_buffer&>::~__split_buffer\28\29 +1225:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +1226:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +1227:std::__2::__itoa::__append2\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1228:std::__2::__exception_guard_exceptions>::__destroy_vector>::~__exception_guard_exceptions\5babi:v160004\5d\28\29 +1229:skvx::Vec<4\2c\20unsigned\20int>\20\28anonymous\20namespace\29::shift_right>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20int\29 +1230:skvx::Vec<4\2c\20float>\20skvx::naive_if_then_else<4\2c\20float>\28skvx::Vec<4\2c\20skvx::Mask::type>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1231:sktext::gpu::BagOfBytes::~BagOfBytes\28\29 +1232:skif::\28anonymous\20namespace\29::is_nearly_integer_translation\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +1233:skif::FilterResult::resolve\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +1234:skia_private::TArray::push_back\28float\20const&\29 +1235:skia_png_gamma_correct +1236:skia_png_gamma_8bit_correct +1237:skia::textlayout::TextStyle::operator=\28skia::textlayout::TextStyle\20const&\29 +1238:skia::textlayout::Run::positionX\28unsigned\20long\29\20const +1239:skia::textlayout::ParagraphImpl::codeUnitHasProperty\28unsigned\20long\2c\20SkUnicode::CodeUnitFlags\29\20const +1240:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20std::__2::basic_string_view>\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1241:skgpu::UniqueKey::UniqueKey\28skgpu::UniqueKey\20const&\29 +1242:sk_sp::operator=\28sk_sp\20const&\29 +1243:sk_sp::operator=\28sk_sp&&\29 +1244:sk_realloc_throw\28void*\2c\20unsigned\20long\29 +1245:powf_ +1246:png_read_buffer +1247:isspace +1248:interp_cubic_coords\28double\20const*\2c\20double\29 +1249:int\20_hb_cmp_method>\28void\20const*\2c\20void\20const*\29 +1250:hb_paint_funcs_t::push_transform\28void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +1251:hb_font_t::parent_scale_y_distance\28int\29 +1252:hb_font_t::parent_scale_x_distance\28int\29 +1253:hb_face_t::get_upem\28\29\20const +1254:hb_buffer_destroy +1255:emscripten_futex_wake +1256:double_to_clamped_scalar\28double\29 +1257:conic_eval_numerator\28double\20const*\2c\20float\2c\20double\29 +1258:cff_index_init +1259:cf2_glyphpath_hintPoint +1260:byn$mgfn-shared$skia_private::AutoSTArray<32\2c\20unsigned\20short>::reset\28int\29 +1261:bool\20hb_buffer_t::replace_glyphs\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\20const*\29 +1262:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1263:a_inc +1264:\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16::Compact\28skvx::Vec<4\2c\20float>\20const&\29 +1265:\28anonymous\20namespace\29::ColorTypeFilter_F16F16::Compact\28skvx::Vec<4\2c\20float>\20const&\29 +1266:\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16::Compact\28skvx::Vec<4\2c\20float>\20const&\29 +1267:\28anonymous\20namespace\29::ColorTypeFilter_8888::Compact\28skvx::Vec<4\2c\20unsigned\20short>\20const&\29 +1268:\28anonymous\20namespace\29::ColorTypeFilter_16161616::Compact\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +1269:\28anonymous\20namespace\29::ColorTypeFilter_1010102::Compact\28unsigned\20long\20long\29 +1270:TT_MulFix14 +1271:Skwasm::createMatrix\28float\20const*\29 +1272:SkWriter32::writeBool\28bool\29 +1273:SkTDStorage::append\28int\29 +1274:SkTDPQueue::setIndex\28int\29 +1275:SkSurface_Base::refCachedImage\28\29 +1276:SkSpotShadowTessellator::addToClip\28SkPoint\20const&\29 +1277:SkShaderUtils::GLSLPrettyPrint::newline\28\29 +1278:SkShaderUtils::GLSLPrettyPrint::hasToken\28char\20const*\29 +1279:SkSL::Type::MakeTextureType\28char\20const*\2c\20SpvDim_\2c\20bool\2c\20bool\2c\20bool\2c\20SkSL::Type::TextureAccess\29 +1280:SkSL::Type::MakeSpecialType\28char\20const*\2c\20char\20const*\2c\20SkSL::Type::TypeKind\29 +1281:SkSL::Swizzle::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29 +1282:SkSL::RP::Builder::push_slots_or_immutable\28SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +1283:SkSL::RP::Builder::push_duplicates\28int\29 +1284:SkSL::RP::Builder::push_constant_f\28float\29 +1285:SkSL::RP::Builder::push_clone\28int\2c\20int\29 +1286:SkSL::Parser::statementOrNop\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1287:SkSL::Literal::Make\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +1288:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mul\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +1289:SkSL::InlineCandidateAnalyzer::visitStatement\28std::__2::unique_ptr>*\2c\20bool\29 +1290:SkSL::GLSLCodeGenerator::writeModifiers\28SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20bool\29 +1291:SkSL::Expression::isIntLiteral\28\29\20const +1292:SkSL::ConstructorCompound::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +1293:SkSL::ConstantFolder::IsConstantSplat\28SkSL::Expression\20const&\2c\20double\29 +1294:SkSL::AliasType::resolve\28\29\20const +1295:SkResourceCache::Find\28SkResourceCache::Key\20const&\2c\20bool\20\28*\29\28SkResourceCache::Rec\20const&\2c\20void*\29\2c\20void*\29 +1296:SkResourceCache::Add\28SkResourceCache::Rec*\2c\20void*\29 +1297:SkRectPriv::HalfWidth\28SkRect\20const&\29 +1298:SkRect::isFinite\28\29\20const +1299:SkRasterPipeline_<256ul>::SkRasterPipeline_\28\29 +1300:SkRasterClip::setRect\28SkIRect\20const&\29 +1301:SkRasterClip::quickContains\28SkIRect\20const&\29\20const +1302:SkRRect::setRect\28SkRect\20const&\29 +1303:SkPathWriter::isClosed\28\29\20const +1304:SkPathStroker::addDegenerateLine\28SkQuadConstruct\20const*\29 +1305:SkPathBuilder::moveTo\28SkPoint\29 +1306:SkPath::swap\28SkPath&\29 +1307:SkPath::getGenerationID\28\29\20const +1308:SkPath::addPoly\28SkPoint\20const*\2c\20int\2c\20bool\29 +1309:SkOpSegment::existing\28double\2c\20SkOpSegment\20const*\29\20const +1310:SkOpSegment::addT\28double\29 +1311:SkOpSegment::addCurveTo\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkPathWriter*\29\20const +1312:SkOpPtT::find\28SkOpSegment\20const*\29\20const +1313:SkOpContourBuilder::flush\28\29 +1314:SkMipmap::getLevel\28int\2c\20SkMipmap::Level*\29\20const +1315:SkMatrix::isFinite\28\29\20const +1316:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29 +1317:SkImage_Picture::type\28\29\20const +1318:SkImageInfoIsValid\28SkImageInfo\20const&\29 +1319:SkImageInfo::makeColorType\28SkColorType\29\20const +1320:SkImageInfo::computeByteSize\28unsigned\20long\29\20const +1321:SkImageInfo::SkImageInfo\28SkImageInfo\20const&\29 +1322:SkImageFilter_Base::SkImageFilter_Base\28sk_sp\20const*\2c\20int\2c\20std::__2::optional\29 +1323:SkGlyph::imageSize\28\29\20const +1324:SkColorSpaceXformSteps::apply\28SkRasterPipeline*\29\20const +1325:SkColorSpace::gammaIsLinear\28\29\20const +1326:SkColorFilterBase::affectsTransparentBlack\28\29\20const +1327:SkCanvas::~SkCanvas\28\29 +1328:SkCanvas::predrawNotify\28bool\29 +1329:SkCanvas::drawImage\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +1330:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\2c\20SkEnumBitMask\29 +1331:SkBulkGlyphMetrics::~SkBulkGlyphMetrics\28\29 +1332:SkBlockAllocator::SkBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\2c\20unsigned\20long\29 +1333:SkBlockAllocator::BlockIter::begin\28\29\20const +1334:SkBitmap::reset\28\29 +1335:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29 +1336:ScalarToAlpha\28float\29 +1337:OT::Layout::GSUB_impl::SubstLookupSubTable*\20hb_serialize_context_t::push\28\29 +1338:OT::Layout::GPOS_impl::PosLookupSubTable\20const&\20OT::Lookup::get_subtable\28unsigned\20int\29\20const +1339:OT::ArrayOf\2c\20true>\2c\20OT::IntType>*\20hb_serialize_context_t::extend_size\2c\20true>\2c\20OT::IntType>>\28OT::ArrayOf\2c\20true>\2c\20OT::IntType>*\2c\20unsigned\20long\2c\20bool\29 +1340:GrTriangulator::makeConnectingEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\2c\20int\29 +1341:GrTriangulator::appendPointToContour\28SkPoint\20const&\2c\20GrTriangulator::VertexList*\29\20const +1342:GrSurface::ComputeSize\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20bool\29 +1343:GrStyledShape::writeUnstyledKey\28unsigned\20int*\29\20const +1344:GrStyledShape::unstyledKeySize\28\29\20const +1345:GrStyle::operator=\28GrStyle\20const&\29 +1346:GrStyle::GrStyle\28SkStrokeRec\20const&\2c\20sk_sp\29 +1347:GrStyle::GrStyle\28SkPaint\20const&\29 +1348:GrSimpleMesh::setIndexed\28sk_sp\2c\20int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20GrPrimitiveRestart\2c\20sk_sp\2c\20int\29 +1349:GrRecordingContextPriv::makeSFCWithFallback\28GrImageInfo\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1350:GrRecordingContextPriv::makeSC\28GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1351:GrQuad::MakeFromSkQuad\28SkPoint\20const*\2c\20SkMatrix\20const&\29 +1352:GrProcessorSet::visitProxies\28std::__2::function\20const&\29\20const +1353:GrProcessorSet::finalize\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkRGBA4f<\28SkAlphaType\292>*\29 +1354:GrGpuResource::isPurgeable\28\29\20const +1355:GrGpuResource::gpuMemorySize\28\29\20const +1356:GrGpuBuffer::updateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +1357:GrGetColorTypeDesc\28GrColorType\29 +1358:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\29 +1359:GrGLSLShaderBuilder::~GrGLSLShaderBuilder\28\29 +1360:GrGLSLShaderBuilder::declAppend\28GrShaderVar\20const&\29 +1361:GrGLGpu::flushScissorTest\28GrScissorTest\29 +1362:GrGLGpu::didDrawTo\28GrRenderTarget*\29 +1363:GrGLGpu::bindFramebuffer\28unsigned\20int\2c\20unsigned\20int\29 +1364:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int*\29 +1365:GrGLCaps::maxRenderTargetSampleCount\28GrGLFormat\29\20const +1366:GrDefaultGeoProcFactory::Make\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +1367:GrCaps::validateSurfaceParams\28SkISize\20const&\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20GrTextureType\29\20const +1368:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29::$_0::operator\28\29\28SkIRect\2c\20SkIRect\29\20const +1369:GrBackendTexture::~GrBackendTexture\28\29 +1370:GrAppliedClip::GrAppliedClip\28GrAppliedClip&&\29 +1371:GrAAConvexTessellator::Ring::origEdgeID\28int\29\20const +1372:FT_GlyphLoader_CheckPoints +1373:FT_Get_Sfnt_Table +1374:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +1375:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::end\28\29\20const +1376:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::Item::operator++\28\29 +1377:AAT::Lookup>::get_class\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +1378:void\20std::__2::reverse\5babi:v160004\5d\28char*\2c\20char*\29 +1379:void\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__rehash\28unsigned\20long\29 +1380:void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29::operator\28\29\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const +1381:void\20SkSafeUnref\28GrThreadSafeCache::VertexData*\29 +1382:unsigned\20int\20hb_buffer_t::group_end\28unsigned\20int\2c\20bool\20\20const\28&\29\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29\29\20const +1383:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +1384:std::__2::vector>\2c\20std::__2::allocator>>>::push_back\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +1385:std::__2::vector\2c\20std::__2::allocator>>::~vector\5babi:v160004\5d\28\29 +1386:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +1387:std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>::~unique_ptr\5babi:v160004\5d\28\29 +1388:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::SymbolTable*\29 +1389:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1390:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1391:std::__2::unique_ptr>::reset\5babi:v160004\5d\28std::nullptr_t\29 +1392:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ios_base&\2c\20wchar_t\29 +1393:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ios_base&\2c\20char\29 +1394:std::__2::optional::value\5babi:v160004\5d\28\29\20& +1395:std::__2::hash::operator\28\29\5babi:v160004\5d\28GrFragmentProcessor\20const*\29\20const +1396:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +1397:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::allocator\20const&\29 +1398:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\2c\20unsigned\20long\29 +1399:std::__2::basic_string\2c\20std::__2::allocator>::__get_long_cap\5babi:v160004\5d\28\29\20const +1400:std::__2::basic_ios>::setstate\5babi:v160004\5d\28unsigned\20int\29 +1401:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +1402:skvx::Vec<4\2c\20unsigned\20short>\20\28anonymous\20namespace\29::add_121>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20short>\20const&\29 +1403:skvx::Vec<4\2c\20unsigned\20int>\20\28anonymous\20namespace\29::add_121>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +1404:skvx::Vec<4\2c\20float>\20unchecked_mix<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1405:skvx::Vec<4\2c\20float>\20skvx::operator/<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1406:skvx::Vec<4\2c\20float>\20skvx::min<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1407:skvx::Vec<2\2c\20float>\20skvx::naive_if_then_else<2\2c\20float>\28skvx::Vec<2\2c\20skvx::Mask::type>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\29 +1408:skip_spaces +1409:skif::LayerSpace::mapRect\28skif::LayerSpace\20const&\29\20const +1410:skia_private::TArray::push_back\28unsigned\20char&&\29 +1411:skia_private::TArray::TArray\28skia_private::TArray&&\29 +1412:skia_private::TArray::TArray\28skia_private::TArray&&\29 +1413:skia_private::TArray\2c\20true>::preallocateNewData\28int\2c\20double\29 +1414:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +1415:skia_private::TArray::checkRealloc\28int\2c\20double\29 +1416:skia_private::FixedArray<4\2c\20signed\20char>::FixedArray\28std::initializer_list\29 +1417:skia_private::AutoSTMalloc<4ul\2c\20int\2c\20void>::AutoSTMalloc\28unsigned\20long\29 +1418:skia_png_safecat +1419:skia_png_malloc +1420:skia_png_colorspace_sync +1421:skia_png_chunk_warning +1422:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::TextWrapper::TextStretch&\29 +1423:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const +1424:skia::textlayout::ParagraphStyle::~ParagraphStyle\28\29 +1425:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29 +1426:skgpu::ganesh::SurfaceFillContext::fillWithFP\28std::__2::unique_ptr>\29 +1427:skgpu::ganesh::OpsTask::OpChain::List::popHead\28\29 +1428:skgpu::SkSLToGLSL\28SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20skgpu::ShaderErrorHandler*\29 +1429:skgpu::ResourceKey::reset\28\29 +1430:skcms_TransferFunction_getType +1431:skcms_TransferFunction_eval +1432:sk_sp::~sk_sp\28\29 +1433:sk_sp::reset\28SkString::Rec*\29 +1434:sk_sp::operator=\28sk_sp\20const&\29 +1435:sk_sp::operator=\28sk_sp&&\29 +1436:sk_sp::sk_sp\28sk_sp\20const&\29 +1437:operator!=\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +1438:non-virtual\20thunk\20to\20GrOpFlushState::allocator\28\29 +1439:is_halant\28hb_glyph_info_t\20const&\29 +1440:hb_zip_iter_t\2c\20hb_array_t>::__next__\28\29 +1441:hb_serialize_context_t::pop_pack\28bool\29 +1442:hb_sanitize_context_t::init\28hb_blob_t*\29 +1443:hb_lazy_loader_t\2c\20hb_face_t\2c\2011u\2c\20hb_blob_t>::get\28\29\20const +1444:hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +1445:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::get_stored\28\29\20const +1446:hb_hashmap_t::alloc\28unsigned\20int\29 +1447:hb_font_t::scale_glyph_extents\28hb_glyph_extents_t*\29 +1448:hb_extents_t::add_point\28float\2c\20float\29 +1449:hb_draw_funcs_t::emit_cubic_to\28void*\2c\20hb_draw_state_t&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +1450:hb_buffer_t::reverse_range\28unsigned\20int\2c\20unsigned\20int\29 +1451:hb_buffer_t::replace_glyph\28unsigned\20int\29 +1452:hb_buffer_t::merge_out_clusters\28unsigned\20int\2c\20unsigned\20int\29 +1453:hb_buffer_append +1454:cos +1455:cleanup_program\28GrGLGpu*\2c\20unsigned\20int\2c\20SkTDArray\20const&\29 +1456:cff_index_done +1457:cf2_glyphpath_curveTo +1458:byn$mgfn-shared$skia_private::TArray::preallocateNewData\28int\2c\20double\29 +1459:bool\20hb_array_t::sanitize\28hb_sanitize_context_t*\29\20const +1460:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1461:afm_parser_read_vals +1462:afm_parser_next_key +1463:__lshrti3 +1464:__lock +1465:__letf2 +1466:\28anonymous\20namespace\29::skhb_position\28float\29 +1467:SkWriter32::reservePad\28unsigned\20long\29 +1468:SkWriteBuffer::writeDataAsByteArray\28SkData\20const*\29 +1469:SkTSpan::removeBounded\28SkTSpan\20const*\29 +1470:SkTSpan::initBounds\28SkTCurve\20const&\29 +1471:SkTSpan::addBounded\28SkTSpan*\2c\20SkArenaAlloc*\29 +1472:SkTSect::tail\28\29 +1473:SkTInternalLList>\2c\20SkGoodHash>::Entry>::remove\28SkLRUCache>\2c\20SkGoodHash>::Entry*\29 +1474:SkTDStorage::reset\28\29 +1475:SkString::printf\28char\20const*\2c\20...\29 +1476:SkString::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +1477:SkShader::makeWithLocalMatrix\28SkMatrix\20const&\29\20const +1478:SkSamplingOptions::operator==\28SkSamplingOptions\20const&\29\20const +1479:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_5::operator\28\29\28int\2c\20int\29\20const +1480:SkSL::is_constant_value\28SkSL::Expression\20const&\2c\20double\29 +1481:SkSL::compile_and_shrink\28SkSL::Compiler*\2c\20SkSL::ProgramKind\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Module\20const*\29 +1482:SkSL::\28anonymous\20namespace\29::ReturnsOnAllPathsVisitor::visitStatement\28SkSL::Statement\20const&\29 +1483:SkSL::Type::MakeScalarType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type::NumberKind\2c\20signed\20char\2c\20signed\20char\29 +1484:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Context\20const&\2c\20SkSL::Symbol*\29 +1485:SkSL::RP::Generator::push\28SkSL::RP::LValue&\29 +1486:SkSL::Parser::statement\28bool\29 +1487:SkSL::ModifierFlags::description\28\29\20const +1488:SkSL::Layout::paddedDescription\28\29\20const +1489:SkSL::GetModuleData\28SkSL::ModuleName\2c\20char\20const*\29 +1490:SkSL::ConstructorCompoundCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1491:SkSL::Analysis::UpdateVariableRefKind\28SkSL::Expression*\2c\20SkSL::VariableRefKind\2c\20SkSL::ErrorReporter*\29 +1492:SkSL::Analysis::IsSameExpressionTree\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1493:SkRegion::setRegion\28SkRegion\20const&\29 +1494:SkRegion::Iterator::next\28\29 +1495:SkRect::round\28SkIRect*\29\20const +1496:SkRect::makeSorted\28\29\20const +1497:SkRect::intersects\28SkRect\20const&\29\20const +1498:SkReadBuffer::readInt\28\29 +1499:SkReadBuffer::readBool\28\29 +1500:SkRasterPipeline_<256ul>::~SkRasterPipeline_\28\29 +1501:SkRasterClip::updateCacheAndReturnNonEmpty\28bool\29 +1502:SkRasterClip::quickReject\28SkIRect\20const&\29\20const +1503:SkRGBA4f<\28SkAlphaType\293>::toSkColor\28\29\20const +1504:SkPixmap::addr\28int\2c\20int\29\20const +1505:SkPath::quadTo\28float\2c\20float\2c\20float\2c\20float\29 +1506:SkPath::incReserve\28int\2c\20int\2c\20int\29 +1507:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +1508:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\29 +1509:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\29 +1510:SkPaint*\20SkRecorder::copy\28SkPaint\20const*\29 +1511:SkOpSegment::ptAtT\28double\29\20const +1512:SkOpSegment::dPtAtT\28double\29\20const +1513:SkNoPixelsDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +1514:SkMemoryStream::getPosition\28\29\20const +1515:SkMatrix::setConcat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +1516:SkMatrix::mapRadius\28float\29\20const +1517:SkMask::getAddr8\28int\2c\20int\29\20const +1518:SkJSONWriter::appendString\28char\20const*\2c\20unsigned\20long\29 +1519:SkIntersectionHelper::segmentType\28\29\20const +1520:SkImageFilter_Base::flatten\28SkWriteBuffer&\29\20const +1521:SkGoodHash::operator\28\29\28SkString\20const&\29\20const +1522:SkGlyph::rect\28\29\20const +1523:SkFont::SkFont\28sk_sp\2c\20float\29 +1524:SkDrawBase::SkDrawBase\28\29 +1525:SkDQuad::RootsValidT\28double\2c\20double\2c\20double\2c\20double*\29 +1526:SkConvertPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +1527:SkCanvas::restore\28\29 +1528:SkCanvas::getTotalMatrix\28\29\20const +1529:SkCanvas::drawImageRect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1530:SkCanvas::AutoUpdateQRBounds::~AutoUpdateQRBounds\28\29 +1531:SkCachedData::ref\28\29\20const +1532:SkBulkGlyphMetrics::SkBulkGlyphMetrics\28SkStrikeSpec\20const&\29 +1533:SkBitmap::setPixelRef\28sk_sp\2c\20int\2c\20int\29 +1534:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +1535:SkAutoPixmapStorage::~SkAutoPixmapStorage\28\29 +1536:SkAnySubclass::reset\28\29 +1537:SkAlphaRuns::Break\28short*\2c\20unsigned\20char*\2c\20int\2c\20int\29 +1538:OT::VariationStore::get_delta\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +1539:OT::GSUBGPOS::get_lookup\28unsigned\20int\29\20const +1540:OT::GDEF::get_glyph_props\28unsigned\20int\29\20const +1541:OT::CmapSubtable::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +1542:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\2c\20bool\29 +1543:GrSurfaceProxyView::mipmapped\28\29\20const +1544:GrSurfaceProxy::backingStoreBoundsRect\28\29\20const +1545:GrStyledShape::knownToBeConvex\28\29\20const +1546:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +1547:GrSimpleMeshDrawOpHelperWithStencil::isCompatible\28GrSimpleMeshDrawOpHelperWithStencil\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +1548:GrShape::asPath\28SkPath*\2c\20bool\29\20const +1549:GrScissorState::set\28SkIRect\20const&\29 +1550:GrRenderTask::~GrRenderTask\28\29 +1551:GrPixmap::Allocate\28GrImageInfo\20const&\29 +1552:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29 +1553:GrImageInfo::makeColorType\28GrColorType\29\20const +1554:GrGpuResource::CacheAccess::release\28\29 +1555:GrGpuBuffer::map\28\29 +1556:GrGpu::didWriteToSurface\28GrSurface*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const*\2c\20unsigned\20int\29\20const +1557:GrGeometryProcessor::TextureSampler::TextureSampler\28\29 +1558:GrGeometryProcessor::AttributeSet::begin\28\29\20const +1559:GrGeometryProcessor::AttributeSet::Iter::operator++\28\29 +1560:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +1561:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkMatrix\20const&\29 +1562:GrFragmentProcessor::MakeColor\28SkRGBA4f<\28SkAlphaType\292>\29 +1563:GrConvertPixels\28GrPixmap\20const&\2c\20GrCPixmap\20const&\2c\20bool\29 +1564:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +1565:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +1566:GrAtlasManager::getAtlas\28skgpu::MaskFormat\29\20const +1567:FT_Get_Char_Index +1568:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1569:wrapper_cmp +1570:void\20std::__2::vector>::__construct_at_end\28SkFontArguments::VariationPosition::Coordinate*\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20unsigned\20long\29 +1571:void\20std::__2::__memberwise_forward_assign\5babi:v160004\5d\2c\20std::__2::tuple\2c\20GrFragmentProcessor\20const*\2c\20GrGeometryProcessor::ProgramImpl::TransformInfo\2c\200ul\2c\201ul>\28std::__2::tuple&\2c\20std::__2::tuple&&\2c\20std::__2::__tuple_types\2c\20std::__2::__tuple_indices<0ul\2c\201ul>\29 +1572:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20unsigned\20int*&\2c\20unsigned\20int*&\29 +1573:void\20hb_sanitize_context_t::set_object>\28AAT::ChainSubtable\20const*\29 +1574:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +1575:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +1576:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +1577:toupper +1578:store\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20int\29 +1579:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +1580:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +1581:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +1582:std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +1583:std::__2::unique_ptr>::reset\5babi:v160004\5d\28skia::textlayout::Run*\29 +1584:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1585:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1586:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1587:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1588:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1589:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1590:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28\29 +1591:std::__2::enable_if::value\2c\20sk_sp>::type\20GrResourceProvider::findByUniqueKey\28skgpu::UniqueKey\20const&\29 +1592:std::__2::deque>::end\5babi:v160004\5d\28\29 +1593:std::__2::ctype::narrow\5babi:v160004\5d\28wchar_t\2c\20char\29\20const +1594:std::__2::ctype::narrow\5babi:v160004\5d\28char\2c\20char\29\20const +1595:std::__2::char_traits::to_int_type\28char\29 +1596:std::__2::char_traits::compare\28char\20const*\2c\20char\20const*\2c\20unsigned\20long\29 +1597:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1598:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28std::__2::basic_string\2c\20std::__2::allocator>&&\2c\20char\29 +1599:std::__2::basic_string\2c\20std::__2::allocator>::clear\5babi:v160004\5d\28\29 +1600:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1601:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +1602:std::__2::basic_streambuf>::sputn\5babi:v160004\5d\28char\20const*\2c\20long\29 +1603:std::__2::basic_streambuf>::setg\5babi:v160004\5d\28char*\2c\20char*\2c\20char*\29 +1604:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +1605:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::~__tree\28\29 +1606:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +1607:std::__2::__num_get::__stage2_int_loop\28wchar_t\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20wchar_t\20const*\29 +1608:std::__2::__num_get::__stage2_int_loop\28char\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20char\20const*\29 +1609:std::__2::__next_prime\28unsigned\20long\29 +1610:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1611:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1612:src_p\28unsigned\20char\2c\20unsigned\20char\29 +1613:sort_r_swap\28char*\2c\20char*\2c\20unsigned\20long\29 +1614:snprintf +1615:skvx::Vec<4\2c\20float>\20skvx::operator+<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +1616:sktext::SkStrikePromise::SkStrikePromise\28sktext::SkStrikePromise&&\29 +1617:skif::\28anonymous\20namespace\29::downscale_step_count\28float\29 +1618:skif::LayerSpace::roundOut\28\29\20const +1619:skif::LayerSpace::relevantSubset\28skif::LayerSpace\2c\20SkTileMode\29\20const +1620:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::resize\28int\29 +1621:skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +1622:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\29 +1623:skia_private::THashSet::contains\28SkSL::Variable\20const*\20const&\29\20const +1624:skia_private::TArray::checkRealloc\28int\2c\20double\29 +1625:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +1626:skia_private::TArray\2c\20true>::~TArray\28\29 +1627:skia_private::TArray::copy\28float\20const*\29 +1628:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +1629:skia_private::TArray::resize_back\28int\29 +1630:skia_private::AutoTMalloc::AutoTMalloc\28unsigned\20long\29 +1631:skia_private::AutoSTArray<4\2c\20float>::reset\28int\29 +1632:skia_png_free_data +1633:skia::textlayout::TextStyle::TextStyle\28\29 +1634:skia::textlayout::Run::Run\28skia::textlayout::ParagraphImpl*\2c\20SkShaper::RunHandler::RunInfo\20const&\2c\20unsigned\20long\2c\20float\2c\20bool\2c\20float\2c\20unsigned\20long\2c\20float\29 +1635:skia::textlayout::InternalLineMetrics::delta\28\29\20const +1636:skia::textlayout::Cluster::Cluster\28skia::textlayout::ParagraphImpl*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkSpan\2c\20float\2c\20float\29 +1637:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::chopAndWriteCubics\28skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20int\29 +1638:skgpu::ganesh::SurfaceDrawContext::fillRectToRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +1639:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::RawElement\20const&\29\20const +1640:skgpu::VertexWriter&\20skgpu::operator<<<4\2c\20SkPoint>\28skgpu::VertexWriter&\2c\20skgpu::VertexWriter::RepeatDesc<4\2c\20SkPoint>\20const&\29 +1641:skgpu::TAsyncReadResult::addCpuPlane\28sk_sp\2c\20unsigned\20long\29 +1642:sk_sp::reset\28SkVertices*\29 +1643:sk_sp::reset\28SkPathRef*\29 +1644:sk_sp::reset\28SkMeshPriv::VB\20const*\29 +1645:sk_sp::reset\28SkColorSpace*\29 +1646:sk_malloc_throw\28unsigned\20long\29 +1647:sk_doubles_nearly_equal_ulps\28double\2c\20double\2c\20unsigned\20char\29 +1648:sbrk +1649:saveSetjmp +1650:remove_node\28OffsetEdge\20const*\2c\20OffsetEdge**\29 +1651:quick_div\28int\2c\20int\29 +1652:pt_to_line\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +1653:processPropertySeq\28UBiDi*\2c\20LevState*\2c\20unsigned\20char\2c\20int\2c\20int\29 +1654:operator!=\28SkIRect\20const&\2c\20SkIRect\20const&\29 +1655:left\28SkPoint\20const&\2c\20SkPoint\20const&\29 +1656:inversion\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Comparator\20const&\29 +1657:interp_quad_coords\28double\20const*\2c\20double\29 +1658:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +1659:hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>::may_have\28unsigned\20int\29\20const +1660:hb_serialize_context_t::object_t::fini\28\29 +1661:hb_ot_map_builder_t::add_feature\28hb_ot_map_feature_t\20const&\29 +1662:hb_lazy_loader_t\2c\20hb_face_t\2c\2015u\2c\20OT::glyf_accelerator_t>::get_stored\28\29\20const +1663:hb_hashmap_t::fini\28\29 +1664:hb_buffer_t::make_room_for\28unsigned\20int\2c\20unsigned\20int\29 +1665:hb_buffer_t::ensure\28unsigned\20int\29 +1666:hairquad\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1667:fmt_u +1668:float*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29 +1669:emscripten_futex_wait +1670:duplicate_pt\28SkPoint\20const&\2c\20SkPoint\20const&\29 +1671:compute_quad_level\28SkPoint\20const*\29 +1672:char*\20const&\20std::__2::max\5babi:v160004\5d\28char*\20const&\2c\20char*\20const&\29 +1673:cff2_extents_param_t::update_bounds\28CFF::point_t\20const&\29 +1674:cf2_arrstack_getPointer +1675:cbrtf +1676:can_add_curve\28SkPath::Verb\2c\20SkPoint*\29 +1677:call_hline_blitter\28SkBlitter*\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\29 +1678:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +1679:byn$mgfn-shared$GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +1680:bounds_t::update\28CFF::point_t\20const&\29 +1681:bool\20hb_sanitize_context_t::check_array>\28OT::IntType\20const*\2c\20unsigned\20int\29\20const +1682:bool\20hb_sanitize_context_t::check_array>\28OT::IntType\20const*\2c\20unsigned\20int\29\20const +1683:bool\20SkIsFinite\28float\20const*\2c\20int\29 +1684:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1685:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1686:auto\20std::__2::__unwrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +1687:auto\20sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const::$_0::operator\28\29\28sktext::gpu::Mask2DVertex\20\28*\29\20\5b4\5d\29\20const +1688:atan2f +1689:af_shaper_get_cluster +1690:_hb_ot_metrics_get_position_common\28hb_font_t*\2c\20hb_ot_metrics_tag_t\2c\20int*\29 +1691:__wait +1692:__tandf +1693:__pthread_setcancelstate +1694:__floatunsitf +1695:__cxa_allocate_exception +1696:\28anonymous\20namespace\29::subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +1697:\28anonymous\20namespace\29::MeshOp::fixedFunctionFlags\28\29\20const +1698:\28anonymous\20namespace\29::DrawAtlasOpImpl::fixedFunctionFlags\28\29\20const +1699:Update_Max +1700:TT_Get_MM_Var +1701:SkUTF::UTF8ToUTF16\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20unsigned\20long\29 +1702:SkTextBlob::RunRecord::textSize\28\29\20const +1703:SkTSpan::resetBounds\28SkTCurve\20const&\29 +1704:SkTSect::removeSpan\28SkTSpan*\29 +1705:SkTSect::BinarySearch\28SkTSect*\2c\20SkTSect*\2c\20SkIntersections*\29 +1706:SkTInternalLList::remove\28skgpu::Plot*\29 +1707:SkTDArray::append\28\29 +1708:SkTDArray::append\28\29 +1709:SkTConic::operator\5b\5d\28int\29\20const +1710:SkTBlockList::~SkTBlockList\28\29 +1711:SkStrokeRec::needToApply\28\29\20const +1712:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20float\29 +1713:SkString::set\28char\20const*\2c\20unsigned\20long\29 +1714:SkString::SkString\28char\20const*\2c\20unsigned\20long\29 +1715:SkStrikeSpec::findOrCreateStrike\28\29\20const +1716:SkSpecialImages::MakeDeferredFromGpu\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1717:SkShaders::MatrixRec::applyForFragmentProcessor\28SkMatrix\20const&\29\20const +1718:SkShaders::Color\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\29 +1719:SkScan::FillRect\28SkRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +1720:SkScalerContext_FreeType::setupSize\28\29 +1721:SkSL::type_is_valid_for_color\28SkSL::Type\20const&\29 +1722:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_4::operator\28\29\28int\29\20const +1723:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_3::operator\28\29\28int\29\20const +1724:SkSL::optimize_comparison\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20bool\20\28*\29\28double\2c\20double\29\29 +1725:SkSL::VariableReference::Make\28SkSL::Position\2c\20SkSL::Variable\20const*\2c\20SkSL::VariableRefKind\29 +1726:SkSL::Variable*\20SkSL::SymbolTable::add\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1727:SkSL::Type::coercionCost\28SkSL::Type\20const&\29\20const +1728:SkSL::SymbolTable::addArrayDimension\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20int\29 +1729:SkSL::String::appendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20...\29 +1730:SkSL::RP::VariableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +1731:SkSL::RP::Program::appendCopySlotsUnmasked\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +1732:SkSL::RP::Generator::pushBinaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +1733:SkSL::RP::Generator::emitTraceLine\28SkSL::Position\29 +1734:SkSL::RP::AutoStack::enter\28\29 +1735:SkSL::PipelineStage::PipelineStageCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1736:SkSL::PipelineStage::PipelineStageCodeGenerator::writeLine\28std::__2::basic_string_view>\29 +1737:SkSL::Operator::determineBinaryType\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\29\20const +1738:SkSL::Literal::MakeBool\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20bool\29 +1739:SkSL::GLSLCodeGenerator::getTypePrecision\28SkSL::Type\20const&\29 +1740:SkSL::ExpressionStatement::Make\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1741:SkSL::ConstructorDiagonalMatrix::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1742:SkSL::ConstructorArrayCast::~ConstructorArrayCast\28\29 +1743:SkSL::ConstantFolder::MakeConstantValueForVariable\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1744:SkSBlockAllocator<64ul>::SkSBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\29 +1745:SkRuntimeEffectBuilder::writableUniformData\28\29 +1746:SkRuntimeEffect::uniformSize\28\29\20const +1747:SkResourceCache::Key::init\28void*\2c\20unsigned\20long\20long\2c\20unsigned\20long\29 +1748:SkRegion::op\28SkRegion\20const&\2c\20SkRegion::Op\29 +1749:SkRasterPipelineBlitter::appendStore\28SkRasterPipeline*\29\20const +1750:SkRasterPipeline::compile\28\29\20const +1751:SkRasterPipeline::appendClampIfNormalized\28SkImageInfo\20const&\29 +1752:SkRasterClipStack::writable_rc\28\29 +1753:SkRRect::transform\28SkMatrix\20const&\2c\20SkRRect*\29\20const +1754:SkPointPriv::EqualsWithinTolerance\28SkPoint\20const&\2c\20SkPoint\20const&\29 +1755:SkPoint::Length\28float\2c\20float\29 +1756:SkPixmap::operator=\28SkPixmap&&\29 +1757:SkPathWriter::matchedLast\28SkOpPtT\20const*\29\20const +1758:SkPathWriter::finishContour\28\29 +1759:SkPathRef::atVerb\28int\29\20const +1760:SkPathEdgeIter::next\28\29 +1761:SkPathBuilder::ensureMove\28\29 +1762:SkPathBuilder::close\28\29 +1763:SkPath::addPath\28SkPath\20const&\2c\20SkPath::AddPathMode\29 +1764:SkPaint::isSrcOver\28\29\20const +1765:SkOpSpanBase::contains\28SkOpSegment\20const*\29\20const +1766:SkOpSegment::updateWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +1767:SkOpAngle::linesOnOriginalSide\28SkOpAngle\20const*\29 +1768:SkNoPixelsDevice::writableClip\28\29 +1769:SkNextID::ImageID\28\29 +1770:SkNVRefCnt::unref\28\29\20const +1771:SkMatrixPriv::MapRect\28SkM44\20const&\2c\20SkRect\20const&\29 +1772:SkMatrix::mapVectors\28SkPoint*\2c\20int\29\20const +1773:SkMaskBuilder::AllocImage\28unsigned\20long\2c\20SkMaskBuilder::AllocType\29 +1774:SkMask::computeImageSize\28\29\20const +1775:SkMask::AlphaIter<\28SkMask::Format\294>::operator*\28\29\20const +1776:SkMakeImageFromRasterBitmap\28SkBitmap\20const&\2c\20SkCopyPixelsMode\29 +1777:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_2D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1778:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1779:SkKnownRuntimeEffects::GetKnownRuntimeEffect\28SkKnownRuntimeEffects::StableKey\29 +1780:SkJSONWriter::beginValue\28bool\29 +1781:SkIntersections::flip\28\29 +1782:SkImageFilter::getInput\28int\29\20const +1783:SkIDChangeListener::List::changed\28\29 +1784:SkFont::unicharToGlyph\28int\29\20const +1785:SkDrawTiler::~SkDrawTiler\28\29 +1786:SkDrawTiler::next\28\29 +1787:SkDrawTiler::SkDrawTiler\28SkBitmapDevice*\2c\20SkRect\20const*\29 +1788:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29\20const +1789:SkDescriptor::operator==\28SkDescriptor\20const&\29\20const +1790:SkData::MakeEmpty\28\29 +1791:SkDRect::add\28SkDPoint\20const&\29 +1792:SkDCubic::FindExtrema\28double\20const*\2c\20double*\29 +1793:SkConic::chopAt\28float\2c\20SkConic*\29\20const +1794:SkColorInfo::isOpaque\28\29\20const +1795:SkColorFilters::Blend\28unsigned\20int\2c\20SkBlendMode\29 +1796:SkColorFilter::makeComposed\28sk_sp\29\20const +1797:SkCanvas::saveLayer\28SkRect\20const*\2c\20SkPaint\20const*\29 +1798:SkCanvas::computeDeviceClipBounds\28bool\29\20const +1799:SkBlockAllocator::ByteRange\20SkBlockAllocator::allocate<4ul\2c\200ul>\28unsigned\20long\29 +1800:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29 +1801:SkAutoSMalloc<1024ul>::SkAutoSMalloc\28unsigned\20long\29 +1802:SkAutoCanvasRestore::SkAutoCanvasRestore\28SkCanvas*\2c\20bool\29 +1803:RunBasedAdditiveBlitter::checkY\28int\29 +1804:RoughlyEqualUlps\28double\2c\20double\29 +1805:PS_Conv_ToFixed +1806:OT::post::accelerator_t::cmp_gids\28void\20const*\2c\20void\20const*\2c\20void*\29 +1807:OT::hmtxvmtx::accelerator_t::get_advance_without_var_unscaled\28unsigned\20int\29\20const +1808:OT::Layout::GPOS_impl::ValueFormat::apply_value\28OT::hb_ot_apply_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20hb_glyph_position_t&\29\20const +1809:GrTriangulator::VertexList::remove\28GrTriangulator::Vertex*\29 +1810:GrTriangulator::Vertex*\20SkArenaAlloc::make\28SkPoint&\2c\20int&&\29 +1811:GrTriangulator::Poly::addEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20GrTriangulator*\29 +1812:GrSurface::invokeReleaseProc\28\29 +1813:GrSurface::GrSurface\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +1814:GrStyledShape::operator=\28GrStyledShape\20const&\29 +1815:GrSimpleMeshDrawOpHelperWithStencil::createProgramInfoWithStencil\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1816:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrProcessorSet&&\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrPipeline::InputFlags\2c\20GrUserStencilSettings\20const*\29 +1817:GrShape::setRRect\28SkRRect\20const&\29 +1818:GrShape::reset\28GrShape::Type\29 +1819:GrResourceProvider::findOrCreatePatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const&\29 +1820:GrResourceProvider::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\2c\20GrResourceProvider::ZeroInit\29 +1821:GrResourceProvider::assignUniqueKeyToResource\28skgpu::UniqueKey\20const&\2c\20GrGpuResource*\29 +1822:GrRenderTask::addDependency\28GrRenderTask*\29 +1823:GrRenderTask::GrRenderTask\28\29 +1824:GrRenderTarget::onRelease\28\29 +1825:GrQuadUtils::TessellationHelper::Vertices::asGrQuads\28GrQuad*\2c\20GrQuad::Type\2c\20GrQuad*\2c\20GrQuad::Type\29\20const +1826:GrProxyProvider::findOrCreateProxyByUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxy::UseAllocator\29 +1827:GrProxyProvider::assignUniqueKeyToProxy\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\29 +1828:GrPaint::setCoverageFragmentProcessor\28std::__2::unique_ptr>\29 +1829:GrMeshDrawOp::QuadHelper::QuadHelper\28GrMeshDrawTarget*\2c\20unsigned\20long\2c\20int\29 +1830:GrIsStrokeHairlineOrEquivalent\28GrStyle\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +1831:GrImageInfo::minRowBytes\28\29\20const +1832:GrGpuResource::CacheAccess::isUsableAsScratch\28\29\20const +1833:GrGeometryProcessor::ProgramImpl::setupUniformColor\28GrGLSLFPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20GrResourceHandle*\29 +1834:GrGLSLUniformHandler::addUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20int\2c\20char\20const**\29 +1835:GrGLSLShaderBuilder::emitFunction\28SkSLType\2c\20char\20const*\2c\20SkSpan\2c\20char\20const*\29 +1836:GrGLSLShaderBuilder::code\28\29 +1837:GrGLOpsRenderPass::bindVertexBuffer\28GrBuffer\20const*\2c\20int\29 +1838:GrGLGpu::unbindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\29 +1839:GrGLGpu::flushRenderTarget\28GrGLRenderTarget*\2c\20bool\29 +1840:GrGLGpu::bindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\2c\20GrGLGpu::TempFBOTarget\29 +1841:GrGLCompileAndAttachShader\28GrGLContext\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20bool\2c\20GrThreadSafePipelineBuilder::Stats*\2c\20skgpu::ShaderErrorHandler*\29 +1842:GrFragmentProcessor::visitTextureEffects\28std::__2::function\20const&\29\20const +1843:GrDirectContextPriv::flushSurface\28GrSurfaceProxy*\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +1844:GrBlendFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkBlendMode\2c\20bool\29 +1845:GrBackendFormat::operator=\28GrBackendFormat\20const&\29 +1846:GrAAConvexTessellator::addPt\28SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20GrAAConvexTessellator::CurveState\29 +1847:FT_Outline_Transform +1848:CFF::parsed_values_t::add_op\28unsigned\20int\2c\20CFF::byte_str_ref_t\20const&\2c\20CFF::op_str_t\20const&\29 +1849:CFF::dict_opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1850:CFF::cs_opset_t\2c\20cff2_extents_param_t\2c\20cff2_path_procs_extents_t>::process_post_move\28unsigned\20int\2c\20CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +1851:CFF::cs_opset_t::process_post_move\28unsigned\20int\2c\20CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +1852:CFF::cs_interp_env_t>>::determine_hintmask_size\28\29 +1853:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::begin\28\29\20const +1854:AlmostBetweenUlps\28double\2c\20double\2c\20double\29 +1855:ActiveEdgeList::SingleRotation\28ActiveEdge*\2c\20int\29 +1856:AAT::StateTable::EntryData>::get_entry\28int\2c\20unsigned\20int\29\20const +1857:AAT::StateTable::EntryData>::get_entry\28int\2c\20unsigned\20int\29\20const +1858:AAT::ContextualSubtable::driver_context_t::is_actionable\28AAT::StateTableDriver::EntryData>*\2c\20AAT::Entry::EntryData>\20const&\29 +1859:void\20std::__2::__stable_sort\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +1860:void\20std::__2::__memberwise_forward_assign\5babi:v160004\5d>&>\2c\20std::__2::tuple>>\2c\20bool\2c\20std::__2::unique_ptr>\2c\200ul\2c\201ul>\28std::__2::tuple>&>&\2c\20std::__2::tuple>>&&\2c\20std::__2::__tuple_types>>\2c\20std::__2::__tuple_indices<0ul\2c\201ul>\29 +1861:void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1862:void\20extend_pts<\28SkPaint::Cap\291>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1863:void\20SkSafeUnref\28SkTextBlob*\29 +1864:void\20SkSafeUnref\28GrTextureProxy*\29 +1865:unsigned\20int*\20SkRecorder::copy\28unsigned\20int\20const*\2c\20unsigned\20long\29 +1866:tt_cmap14_ensure +1867:tanf +1868:std::__2::vector>\2c\20std::__2::allocator>>>::push_back\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +1869:std::__2::vector>\2c\20std::__2::allocator>>>::~vector\5babi:v160004\5d\28\29 +1870:std::__2::vector>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +1871:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +1872:std::__2::unique_ptr>\20\5b\5d\2c\20std::__2::default_delete>\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +1873:std::__2::unique_ptr\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +1874:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1875:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1876:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1877:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrDrawOpAtlas*\29 +1878:std::__2::enable_if<__is_cpp17_forward_iterator>::value\2c\20void>::type\20std::__2::__split_buffer&>::__construct_at_end>\28std::__2::move_iterator\2c\20std::__2::move_iterator\29 +1879:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char8_t*\2c\20char8_t*\2c\20char8_t*&\29\20const +1880:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20char\20const*\29 +1881:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\29 +1882:std::__2::array\2c\204ul>::~array\28\29 +1883:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1884:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1885:std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>::__copy_constructor\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29 +1886:std::__2::__shared_count::__release_shared\5babi:v160004\5d\28\29 +1887:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +1888:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20wchar_t&\29 +1889:std::__2::__num_get::__do_widen\28std::__2::ios_base&\2c\20wchar_t*\29\20const +1890:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20char&\29 +1891:std::__2::__itoa::__append1\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1892:std::__2::__function::__value_func::operator=\5babi:v160004\5d\28std::__2::__function::__value_func&&\29 +1893:std::__2::__function::__value_func::operator\28\29\5babi:v160004\5d\28SkIRect\20const&\29\20const +1894:sqrtf +1895:skvx::Vec<4\2c\20unsigned\20int>&\20skvx::operator-=<4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +1896:skvx::Vec<4\2c\20unsigned\20int>&\20skvx::operator+=<4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +1897:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator><4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1898:skvx::Vec<4\2c\20float>\20skvx::operator+<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29\20\28.5837\29 +1899:skvx::Vec<4\2c\20float>\20skvx::operator+<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.669\29 +1900:skvx::Vec<4\2c\20float>\20skvx::max<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.7654\29 +1901:skvx::Vec<4\2c\20float>\20skvx::max<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1902:sktext::gpu::VertexFiller::vertexStride\28SkMatrix\20const&\29\20const +1903:sktext::gpu::SubRunList::append\28std::__2::unique_ptr\29 +1904:sktext::gpu::SubRun::~SubRun\28\29 +1905:sktext::gpu::GlyphVector::~GlyphVector\28\29 +1906:skif::\28anonymous\20namespace\29::draw_tiled_border\28SkCanvas*\2c\20SkTileMode\2c\20SkPaint\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28SkRect\20const&\2c\20SkRect\20const&\29\20const +1907:skif::FilterResult::analyzeBounds\28skif::LayerSpace\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +1908:skif::FilterResult::AutoSurface::snap\28\29 +1909:skif::FilterResult::AutoSurface::AutoSurface\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\2c\20bool\2c\20SkSurfaceProps\20const*\29 +1910:skia_private::THashTable::AdaptedTraits>::findOrNull\28skgpu::UniqueKey\20const&\29\20const +1911:skia_private::TArray::reset\28int\29 +1912:skia_private::TArray::push_back_raw\28int\29 +1913:skia_private::TArray::push_back\28\29 +1914:skia_private::TArray::push_back\28SkSL::Variable*&&\29 +1915:skia_private::TArray::~TArray\28\29 +1916:skia_private::AutoSTArray<8\2c\20unsigned\20int>::reset\28int\29 +1917:skia_private::AutoSTArray<24\2c\20unsigned\20int>::~AutoSTArray\28\29 +1918:skia_png_reciprocal2 +1919:skia_png_benign_error +1920:skia::textlayout::Run::~Run\28\29 +1921:skia::textlayout::Run::posX\28unsigned\20long\29\20const +1922:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle\20const&\29 +1923:skia::textlayout::InternalLineMetrics::runTop\28skia::textlayout::Run\20const*\2c\20skia::textlayout::LineMetricStyle\29\20const +1924:skia::textlayout::InternalLineMetrics::height\28\29\20const +1925:skia::textlayout::InternalLineMetrics::add\28skia::textlayout::Run*\29 +1926:skia::textlayout::FontCollection::findTypefaces\28std::__2::vector>\20const&\2c\20SkFontStyle\2c\20std::__2::optional\20const&\29 +1927:skgpu::ganesh::TextureOp::BatchSizeLimiter::createOp\28GrTextureSetEntry*\2c\20int\2c\20GrAAType\29 +1928:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1929:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1930:skgpu::ganesh::SurfaceDrawContext::drawShapeUsingPathRenderer\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\2c\20bool\29 +1931:skgpu::ganesh::SurfaceDrawContext::drawRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const*\29 +1932:skgpu::ganesh::SurfaceDrawContext::drawRRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20GrStyle\20const&\29 +1933:skgpu::ganesh::SurfaceDrawContext::drawFilledQuad\28GrClip\20const*\2c\20GrPaint&&\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\29 +1934:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29::$_0::~$_0\28\29 +1935:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29 +1936:skgpu::ganesh::SurfaceContext::PixelTransferResult::PixelTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +1937:skgpu::ganesh::SoftwarePathRenderer::DrawNonAARect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\29 +1938:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::vertexSize\28\29\20const +1939:skgpu::ganesh::OpsTask::OpChain::List::List\28skgpu::ganesh::OpsTask::OpChain::List&&\29 +1940:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrSurfaceProxyView\20const&\29\20const +1941:skgpu::ganesh::Device::targetProxy\28\29 +1942:skgpu::ganesh::ClipStack::getConservativeBounds\28\29\20const +1943:skgpu::UniqueKeyInvalidatedMessage::UniqueKeyInvalidatedMessage\28skgpu::UniqueKeyInvalidatedMessage\20const&\29 +1944:skgpu::UniqueKey::operator=\28skgpu::UniqueKey\20const&\29 +1945:skgpu::TAsyncReadResult::addTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult\20const&\2c\20SkISize\2c\20unsigned\20long\2c\20skgpu::TClientMappedBufferManager*\29 +1946:skgpu::Swizzle::asString\28\29\20const +1947:skgpu::GetApproxSize\28SkISize\29 +1948:sk_srgb_linear_singleton\28\29 +1949:sk_sp::operator=\28sk_sp&&\29 +1950:sk_sp::reset\28GrGpuBuffer*\29 +1951:sk_sp\20sk_make_sp\28\29 +1952:sfnt_get_name_id +1953:set_glyph\28hb_glyph_info_t&\2c\20hb_font_t*\29 +1954:resource_cache_mutex\28\29 +1955:ps_parser_to_token +1956:precisely_between\28double\2c\20double\2c\20double\29 +1957:powf +1958:next_char\28hb_buffer_t*\2c\20unsigned\20int\29 +1959:memchr +1960:log2f +1961:log +1962:less_or_equal_ulps\28float\2c\20float\2c\20int\29 +1963:is_consonant\28hb_glyph_info_t\20const&\29 +1964:int\20const*\20std::__2::find\5babi:v160004\5d\28int\20const*\2c\20int\20const*\2c\20int\20const&\29 +1965:hb_vector_t::push\28\29 +1966:hb_vector_t::resize\28int\2c\20bool\2c\20bool\29 +1967:hb_unicode_funcs_destroy +1968:hb_serialize_context_t::pop_discard\28\29 +1969:hb_paint_funcs_t::pop_clip\28void*\29 +1970:hb_ot_map_t::feature_map_t\20const*\20hb_vector_t::bsearch\28unsigned\20int\20const&\2c\20hb_ot_map_t::feature_map_t\20const*\29\20const +1971:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::get_stored\28\29\20const +1972:hb_indic_would_substitute_feature_t::init\28hb_ot_map_t\20const*\2c\20unsigned\20int\2c\20bool\29 +1973:hb_hashmap_t::del\28unsigned\20int\20const&\29 +1974:hb_font_t::get_glyph_v_advance\28unsigned\20int\29 +1975:hb_font_t::get_glyph_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\29 +1976:hb_buffer_t::_set_glyph_flags\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +1977:hb_buffer_create_similar +1978:gray_set_cell +1979:getenv +1980:ft_service_list_lookup +1981:fseek +1982:fillcheckrect\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\29 +1983:fflush +1984:fclose +1985:expm1 +1986:expf +1987:crc_word +1988:classify\28skcms_TransferFunction\20const&\2c\20TF_PQish*\2c\20TF_HLGish*\29 +1989:choose_bmp_texture_colortype\28GrCaps\20const*\2c\20SkBitmap\20const&\29 +1990:char*\20sktext::gpu::BagOfBytes::allocateBytesFor\28int\29 +1991:cff_parse_fixed +1992:cf2_interpT2CharString +1993:cf2_hintmap_insertHint +1994:cf2_hintmap_build +1995:cf2_glyphpath_moveTo +1996:cf2_glyphpath_lineTo +1997:byn$mgfn-shared$std::__2::__split_buffer&>::~__split_buffer\28\29 +1998:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +1999:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +2000:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +2001:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +2002:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +2003:byn$mgfn-shared$skgpu::ganesh::PathStencilCoverOp::ClassID\28\29 +2004:byn$mgfn-shared$format_alignment\28SkMask::Format\29 +2005:byn$mgfn-shared$SkFibBlockSizes<4294967295u>::SkFibBlockSizes\28unsigned\20int\2c\20unsigned\20int\29::'lambda'\28\29::operator\28\29\28\29\20const +2006:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::vector>\20const&\2c\20std::__2::vector>\20const&\29 +2007:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +2008:blit_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +2009:afm_tokenize +2010:af_glyph_hints_reload +2011:a_dec +2012:_hb_glyph_info_set_unicode_props\28hb_glyph_info_t*\2c\20hb_buffer_t*\29 +2013:_hb_draw_funcs_set_middle\28hb_draw_funcs_t*\2c\20void*\2c\20void\20\28*\29\28void*\29\29 +2014:__syscall_ret +2015:__sin +2016:__cos +2017:\28anonymous\20namespace\29::valid_unit_divide\28float\2c\20float\2c\20float*\29 +2018:\28anonymous\20namespace\29::draw_stencil_rect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrHardClip\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2019:\28anonymous\20namespace\29::can_reorder\28SkRect\20const&\2c\20SkRect\20const&\29 +2020:\28anonymous\20namespace\29::SkBlurImageFilter::~SkBlurImageFilter\28\29 +2021:\28anonymous\20namespace\29::FillRectOpImpl::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +2022:Skwasm::samplingOptionsForQuality\28Skwasm::FilterQuality\29 +2023:Skwasm::createRRect\28float\20const*\29 +2024:SkWriter32::writeSampling\28SkSamplingOptions\20const&\29 +2025:SkWriter32::writePad\28void\20const*\2c\20unsigned\20long\29 +2026:SkTextBlobRunIterator::next\28\29 +2027:SkTextBlobBuilder::make\28\29 +2028:SkTSect::addOne\28\29 +2029:SkTMultiMap::remove\28skgpu::ScratchKey\20const&\2c\20GrGpuResource\20const*\29 +2030:SkTLazy::set\28SkPath\20const&\29 +2031:SkTDArray::append\28\29 +2032:SkSurfaces::RenderTarget\28GrRecordingContext*\2c\20skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20int\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const*\2c\20bool\2c\20bool\29 +2033:SkSurfaces::Raster\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +2034:SkStrokeRec::isFillStyle\28\29\20const +2035:SkString::appendU32\28unsigned\20int\29 +2036:SkStrike::digestFor\28skglyph::ActionType\2c\20SkPackedGlyphID\29 +2037:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +2038:SkShaders::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +2039:SkShaderUtils::GLSLPrettyPrint::appendChar\28char\29 +2040:SkSemaphore::signal\28int\29 +2041:SkScopeExit::~SkScopeExit\28\29 +2042:SkScan::FillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\29 +2043:SkSL::is_scalar_op_matrix\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +2044:SkSL::evaluate_n_way_intrinsic\28SkSL::Context\20const&\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2045:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitType\28SkSL::Type\20const&\29 +2046:SkSL::Variable::initialValue\28\29\20const +2047:SkSL::Variable*\20SkSL::SymbolTable::takeOwnershipOfSymbol\28std::__2::unique_ptr>\29 +2048:SkSL::Type::canCoerceTo\28SkSL::Type\20const&\2c\20bool\29\20const +2049:SkSL::SymbolTable::takeOwnershipOfString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +2050:SkSL::RP::pack_nybbles\28SkSpan\29 +2051:SkSL::RP::Generator::foldComparisonOp\28SkSL::Operator\2c\20int\29 +2052:SkSL::RP::Generator::createStack\28\29 +2053:SkSL::RP::Builder::trace_var\28int\2c\20SkSL::RP::SlotRange\29 +2054:SkSL::RP::Builder::jump\28int\29 +2055:SkSL::RP::Builder::dot_floats\28int\29 +2056:SkSL::RP::Builder::branch_if_no_lanes_active\28int\29 +2057:SkSL::RP::AutoStack::~AutoStack\28\29 +2058:SkSL::RP::AutoStack::pushClone\28int\29 +2059:SkSL::Position::rangeThrough\28SkSL::Position\29\20const +2060:SkSL::PipelineStage::PipelineStageCodeGenerator::AutoOutputBuffer::~AutoOutputBuffer\28\29 +2061:SkSL::Parser::type\28SkSL::Modifiers*\29 +2062:SkSL::Parser::parseArrayDimensions\28SkSL::Position\2c\20SkSL::Type\20const**\29 +2063:SkSL::Parser::modifiers\28\29 +2064:SkSL::Parser::assignmentExpression\28\29 +2065:SkSL::Parser::arraySize\28long\20long*\29 +2066:SkSL::ModifierFlags::paddedDescription\28\29\20const +2067:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29::$_1::operator\28\29\28SkSL::ExpressionArray\20const&\29\20const +2068:SkSL::IndexExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +2069:SkSL::IRHelpers::Swizzle\28std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29\20const +2070:SkSL::GLSLCodeGenerator::writeTypePrecision\28SkSL::Type\20const&\29 +2071:SkSL::FunctionDeclaration::getMainCoordsParameter\28\29\20const +2072:SkSL::ExpressionArray::clone\28\29\20const +2073:SkSL::ConstantFolder::GetConstantValue\28SkSL::Expression\20const&\2c\20double*\29 +2074:SkSL::ConstantFolder::GetConstantInt\28SkSL::Expression\20const&\2c\20long\20long*\29 +2075:SkSL::Compiler::~Compiler\28\29 +2076:SkSL::Compiler::errorText\28bool\29 +2077:SkSL::Compiler::Compiler\28\29 +2078:SkSL::Analysis::IsTrivialExpression\28SkSL::Expression\20const&\29 +2079:SkRuntimeShaderBuilder::~SkRuntimeShaderBuilder\28\29 +2080:SkRuntimeShaderBuilder::makeShader\28SkMatrix\20const*\29\20const +2081:SkRuntimeShaderBuilder::SkRuntimeShaderBuilder\28sk_sp\29 +2082:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpace\20const*\29 +2083:SkRuntimeEffectBuilder::BuilderChild&\20SkRuntimeEffectBuilder::BuilderChild::operator=\28sk_sp\29 +2084:SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +2085:SkRegion::setPath\28SkPath\20const&\2c\20SkRegion\20const&\29 +2086:SkRegion::Iterator::Iterator\28SkRegion\20const&\29 +2087:SkReduceOrder::Quad\28SkPoint\20const*\2c\20SkPoint*\29 +2088:SkRect::sort\28\29 +2089:SkRect::joinPossiblyEmptyRect\28SkRect\20const&\29 +2090:SkRasterPipelineBlitter::appendClipScale\28SkRasterPipeline*\29\20const +2091:SkRasterPipelineBlitter::appendClipLerp\28SkRasterPipeline*\29\20const +2092:SkRRect::setRectRadii\28SkRect\20const&\2c\20SkPoint\20const*\29 +2093:SkRGBA4f<\28SkAlphaType\292>::toBytes_RGBA\28\29\20const +2094:SkRGBA4f<\28SkAlphaType\292>::fitsInBytes\28\29\20const +2095:SkPointPriv::EqualsWithinTolerance\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\29 +2096:SkPoint*\20SkRecorder::copy\28SkPoint\20const*\2c\20unsigned\20long\29 +2097:SkPoint*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29 +2098:SkPixmap::reset\28\29 +2099:SkPixmap::computeByteSize\28\29\20const +2100:SkPictureRecord::addImage\28SkImage\20const*\29 +2101:SkPathRef::SkPathRef\28int\2c\20int\2c\20int\29 +2102:SkPathPriv::ComputeFirstDirection\28SkPath\20const&\29 +2103:SkPath::isLine\28SkPoint*\29\20const +2104:SkPaintPriv::ComputeLuminanceColor\28SkPaint\20const&\29 +2105:SkPaint::operator=\28SkPaint\20const&\29 +2106:SkPaint::nothingToDraw\28\29\20const +2107:SkOpSpan::release\28SkOpPtT\20const*\29 +2108:SkOpContourBuilder::addCurve\28SkPath::Verb\2c\20SkPoint\20const*\2c\20float\29 +2109:SkMipmap::Build\28SkPixmap\20const&\2c\20SkDiscardableMemory*\20\28*\29\28unsigned\20long\29\2c\20bool\29 +2110:SkMeshSpecification::Varying::Varying\28SkMeshSpecification::Varying&&\29 +2111:SkMatrix::mapOrigin\28\29\20const +2112:SkMatrix::decomposeScale\28SkSize*\2c\20SkMatrix*\29\20const +2113:SkMaskFilter::MakeBlur\28SkBlurStyle\2c\20float\2c\20bool\29 +2114:SkM44::SkM44\28SkMatrix\20const&\29 +2115:SkIntersections::insertNear\28double\2c\20double\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29 +2116:SkImageShader::Make\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2117:SkImageGenerator::onRefEncodedData\28\29 +2118:SkIRect::outset\28int\2c\20int\29 +2119:SkIRect::inset\28int\2c\20int\29 +2120:SkGradientBaseShader::flatten\28SkWriteBuffer&\29\20const +2121:SkFont::getMetrics\28SkFontMetrics*\29\20const +2122:SkFont::SkFont\28\29 +2123:SkFindQuadMaxCurvature\28SkPoint\20const*\29 +2124:SkFDot6Div\28int\2c\20int\29 +2125:SkEvalQuadAt\28SkPoint\20const*\2c\20float\29 +2126:SkEvalCubicAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29 +2127:SkEdgeClipper::appendVLine\28float\2c\20float\2c\20float\2c\20bool\29 +2128:SkDrawShadowMetrics::GetSpotParams\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float*\2c\20float*\2c\20SkPoint*\29 +2129:SkDraw::SkDraw\28\29 +2130:SkDevice::setLocalToDevice\28SkM44\20const&\29 +2131:SkDevice::setGlobalCTM\28SkM44\20const&\29 +2132:SkDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +2133:SkDLine::exactPoint\28SkDPoint\20const&\29\20const +2134:SkColorSpace::MakeSRGBLinear\28\29 +2135:SkChopCubicAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +2136:SkCanvas::getLocalClipBounds\28\29\20const +2137:SkCanvas::drawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +2138:SkCanvas::drawIRect\28SkIRect\20const&\2c\20SkPaint\20const&\29 +2139:SkBulkGlyphMetrics::glyphs\28SkSpan\29 +2140:SkBlurEngine::SigmaToRadius\28float\29 +2141:SkBlockAllocator::releaseBlock\28SkBlockAllocator::Block*\29 +2142:SkBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +2143:SkBlendMode_AppendStages\28SkBlendMode\2c\20SkRasterPipeline*\29 +2144:SkBitmap::tryAllocPixels\28SkBitmap::Allocator*\29 +2145:SkBitmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2146:SkBitmap::operator=\28SkBitmap\20const&\29 +2147:SkBitmap::getGenerationID\28\29\20const +2148:SkAutoPixmapStorage::SkAutoPixmapStorage\28\29 +2149:SkAutoDeviceTransformRestore::~SkAutoDeviceTransformRestore\28\29 +2150:SkAutoDeviceTransformRestore::SkAutoDeviceTransformRestore\28SkDevice*\2c\20SkMatrix\20const&\29 +2151:SkAAClipBlitter::~SkAAClipBlitter\28\29 +2152:SkAAClip::setRegion\28SkRegion\20const&\29::$_0::operator\28\29\28unsigned\20char\2c\20int\29\20const +2153:SkAAClip::findX\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +2154:SkAAClip::findRow\28int\2c\20int*\29\20const +2155:SkAAClip::Builder::Blitter::~Blitter\28\29 +2156:RoughlyEqualUlps\28float\2c\20float\29 +2157:R +2158:PS_Conv_ToInt +2159:OT::hmtxvmtx::accelerator_t::get_leading_bearing_without_var_unscaled\28unsigned\20int\2c\20int*\29\20const +2160:OT::hb_ot_apply_context_t::replace_glyph\28unsigned\20int\29 +2161:OT::fvar::get_axes\28\29\20const +2162:OT::Layout::GPOS_impl::ValueFormat::sanitize_values_stride_unsafe\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +2163:OT::DeltaSetIndexMap::map\28unsigned\20int\29\20const +2164:Normalize +2165:Ins_Goto_CodeRange +2166:GrTriangulator::setBottom\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2167:GrTriangulator::VertexList::append\28GrTriangulator::VertexList\20const&\29 +2168:GrTriangulator::Line::normalize\28\29 +2169:GrTriangulator::Edge::disconnect\28\29 +2170:GrThreadSafeCache::find\28skgpu::UniqueKey\20const&\29 +2171:GrThreadSafeCache::add\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2172:GrTextureEffect::texture\28\29\20const +2173:GrTextureEffect::GrTextureEffect\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrTextureEffect::Sampling\20const&\29 +2174:GrSurfaceProxyView::Copy\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\29 +2175:GrSurfaceProxyPriv::doLazyInstantiation\28GrResourceProvider*\29 +2176:GrSurface::~GrSurface\28\29 +2177:GrStyledShape::simplify\28\29 +2178:GrStyle::applies\28\29\20const +2179:GrSimpleMeshDrawOpHelperWithStencil::fixedFunctionFlags\28\29\20const +2180:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20GrProcessorAnalysisColor*\29 +2181:GrSimpleMeshDrawOpHelper::detachProcessorSet\28\29 +2182:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrPipeline\20const*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrUserStencilSettings\20const*\29 +2183:GrSimpleMesh::setIndexedPatterned\28sk_sp\2c\20int\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29 +2184:GrShape::setRect\28SkRect\20const&\29 +2185:GrShape::GrShape\28GrShape\20const&\29 +2186:GrShaderVar::addModifier\28char\20const*\29 +2187:GrSWMaskHelper::~GrSWMaskHelper\28\29 +2188:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20void\20const*\2c\20skgpu::UniqueKey\20const&\29 +2189:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20skgpu::UniqueKey\20const&\2c\20void\20\28*\29\28skgpu::VertexWriter\2c\20unsigned\20long\29\29 +2190:GrResourceCache::purgeAsNeeded\28\29 +2191:GrRenderTask::addDependency\28GrDrawingManager*\2c\20GrSurfaceProxy*\2c\20skgpu::Mipmapped\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +2192:GrRecordingContextPriv::makeSFC\28GrImageInfo\2c\20std::__2::basic_string_view>\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2193:GrQuad::asRect\28SkRect*\29\20const +2194:GrProcessorSet::operator!=\28GrProcessorSet\20const&\29\20const +2195:GrPixmapBase::GrPixmapBase\28GrImageInfo\2c\20void\20const*\2c\20unsigned\20long\29 +2196:GrPipeline::getXferProcessor\28\29\20const +2197:GrPathUtils::generateQuadraticPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +2198:GrPathUtils::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +2199:GrNativeRect::asSkIRect\28\29\20const +2200:GrGeometryProcessor::ProgramImpl::~ProgramImpl\28\29 +2201:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +2202:GrGLSLShaderBuilder::defineConstant\28char\20const*\2c\20float\29 +2203:GrGLSLShaderBuilder::addFeature\28unsigned\20int\2c\20char\20const*\29 +2204:GrGLSLProgramBuilder::nameVariable\28char\2c\20char\20const*\2c\20bool\29 +2205:GrGLSLColorSpaceXformHelper::setData\28GrGLSLProgramDataManager\20const&\2c\20GrColorSpaceXform\20const*\29 +2206:GrGLSLColorSpaceXformHelper::emitCode\28GrGLSLUniformHandler*\2c\20GrColorSpaceXform\20const*\2c\20unsigned\20int\29 +2207:GrGLGpu::flushColorWrite\28bool\29 +2208:GrGLGpu::bindTexture\28int\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20GrGLTexture*\29 +2209:GrFragmentProcessor::visitWithImpls\28std::__2::function\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\20const +2210:GrFragmentProcessor::visitProxies\28std::__2::function\20const&\29\20const +2211:GrFragmentProcessor::ColorMatrix\28std::__2::unique_ptr>\2c\20float\20const*\2c\20bool\2c\20bool\2c\20bool\29 +2212:GrDstProxyView::operator=\28GrDstProxyView\20const&\29 +2213:GrDrawingManager::closeActiveOpsTask\28\29 +2214:GrDrawingManager::appendTask\28sk_sp\29 +2215:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20sk_sp\29 +2216:GrColorSpaceXform::XformKey\28GrColorSpaceXform\20const*\29 +2217:GrColorSpaceXform::Make\28GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +2218:GrColorInfo::GrColorInfo\28GrColorInfo\20const&\29 +2219:GrCaps::isFormatCompressed\28GrBackendFormat\20const&\29\20const +2220:GrBufferAllocPool::~GrBufferAllocPool\28\29 +2221:GrBufferAllocPool::putBack\28unsigned\20long\29 +2222:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29::$_1::operator\28\29\28SkIRect\29\20const +2223:GrAAConvexTessellator::lineTo\28SkPoint\20const&\2c\20GrAAConvexTessellator::CurveState\29 +2224:FwDCubicEvaluator::restart\28int\29 +2225:FT_Vector_Transform +2226:FT_Stream_Read +2227:FT_Select_Charmap +2228:FT_Lookup_Renderer +2229:FT_Get_Module_Interface +2230:CFF::opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +2231:CFF::arg_stack_t::push_int\28int\29 +2232:CFF::CFFIndex>::offset_at\28unsigned\20int\29\20const +2233:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::Item::operator++\28\29 +2234:ActiveEdge::intersect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29\20const +2235:AAT::hb_aat_apply_context_t::~hb_aat_apply_context_t\28\29 +2236:AAT::hb_aat_apply_context_t::hb_aat_apply_context_t\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +2237:void\20std::__2::reverse\5babi:v160004\5d\28unsigned\20int*\2c\20unsigned\20int*\29 +2238:void\20std::__2::__variant_detail::__assignment>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29 +2239:void\20hb_serialize_context_t::add_link\2c\20true>>\28OT::OffsetTo\2c\20true>&\2c\20unsigned\20int\2c\20hb_serialize_context_t::whence_t\2c\20unsigned\20int\29 +2240:void\20SkSafeUnref\28GrArenas*\29 +2241:void\20SkSL::RP::unpack_nybbles_to_offsets\28unsigned\20int\2c\20SkSpan\29 +2242:unlock +2243:ubidi_setPara_skia +2244:ubidi_getCustomizedClass_skia +2245:tt_set_mm_blend +2246:tt_face_get_ps_name +2247:trinkle +2248:t1_builder_check_points +2249:subdivide\28SkConic\20const&\2c\20SkPoint*\2c\20int\29 +2250:std::__2::vector>\2c\20std::__2::allocator>>>::__swap_out_circular_buffer\28std::__2::__split_buffer>\2c\20std::__2::allocator>>&>&\29 +2251:std::__2::vector>\2c\20std::__2::allocator>>>::__clear\5babi:v160004\5d\28\29 +2252:std::__2::vector>\2c\20std::__2::allocator>>>::~vector\5babi:v160004\5d\28\29 +2253:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +2254:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +2255:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28sk_sp\20const&\29 +2256:std::__2::vector>::push_back\5babi:v160004\5d\28float&&\29 +2257:std::__2::vector>::push_back\5babi:v160004\5d\28char\20const*&&\29 +2258:std::__2::vector>::__move_assign\28std::__2::vector>&\2c\20std::__2::integral_constant\29 +2259:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +2260:std::__2::unordered_map\2c\20std::__2::equal_to\2c\20std::__2::allocator>>::operator\5b\5d\28GrTriangulator::Vertex*\20const&\29 +2261:std::__2::unique_ptr::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +2262:std::__2::unique_ptr::Traits>::Slot\20\5b\5d\2c\20std::__2::default_delete::Traits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +2263:std::__2::unique_ptr>::reset\5babi:v160004\5d\28skgpu::ganesh::SurfaceDrawContext*\29 +2264:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2265:std::__2::unique_ptr>::reset\5babi:v160004\5d\28skgpu::ganesh::PathRendererChain*\29 +2266:std::__2::unique_ptr\20\5b\5d\2c\20std::__2::default_delete\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +2267:std::__2::unique_ptr>::reset\5babi:v160004\5d\28hb_face_t*\29 +2268:std::__2::unique_ptr::release\5babi:v160004\5d\28\29 +2269:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2270:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2271:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2272:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2273:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2274:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2275:std::__2::mutex::unlock\28\29 +2276:std::__2::mutex::lock\28\29 +2277:std::__2::moneypunct::do_decimal_point\28\29\20const +2278:std::__2::moneypunct::pos_format\5babi:v160004\5d\28\29\20const +2279:std::__2::moneypunct::do_decimal_point\28\29\20const +2280:std::__2::locale::locale\28std::__2::locale\20const&\29 +2281:std::__2::locale::classic\28\29 +2282:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28std::__2::basic_istream>&\29 +2283:std::__2::function::operator\28\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +2284:std::__2::function::operator\28\29\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29\20const +2285:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28unsigned\20int&\2c\20unsigned\20int&\29 +2286:std::__2::enable_if<_CheckArrayPointerConversion::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*>\28skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*\29 +2287:std::__2::enable_if<_CheckArrayPointerConversion>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*>\28skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*\29 +2288:std::__2::deque>::pop_front\28\29 +2289:std::__2::deque>::begin\5babi:v160004\5d\28\29 +2290:std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::_EnableIfConvertible::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot>::type\20std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot>\28skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot*\29\20const +2291:std::__2::ctype::toupper\5babi:v160004\5d\28char\29\20const +2292:std::__2::chrono::duration>::duration\5babi:v160004\5d\28long\20long\20const&\2c\20std::__2::enable_if::value\20&&\20\28std::__2::integral_constant::value\20||\20!treat_as_floating_point::value\29\2c\20void>::type*\29 +2293:std::__2::basic_string_view>::find\5babi:v160004\5d\28char\2c\20unsigned\20long\29\20const +2294:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2295:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +2296:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +2297:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2298:std::__2::basic_string\2c\20std::__2::allocator>::operator=\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2299:std::__2::basic_string\2c\20std::__2::allocator>::__get_short_size\5babi:v160004\5d\28\29\20const +2300:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +2301:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\2c\20unsigned\20long\29 +2302:std::__2::basic_streambuf>::__pbump\5babi:v160004\5d\28long\29 +2303:std::__2::basic_ostream>::sentry::operator\20bool\5babi:v160004\5d\28\29\20const +2304:std::__2::basic_iostream>::~basic_iostream\28\29 +2305:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::OperatorKind&&\2c\20std::__2::unique_ptr>&&\29 +2306:std::__2::__tuple_impl\2c\20sk_sp\2c\20sk_sp>::~__tuple_impl\28\29 +2307:std::__2::__tuple_impl\2c\20GrFragmentProcessor\20const*\2c\20GrGeometryProcessor::ProgramImpl::TransformInfo>::__tuple_impl\28std::__2::__tuple_impl\2c\20GrFragmentProcessor\20const*\2c\20GrGeometryProcessor::ProgramImpl::TransformInfo>&&\29 +2308:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::destroy\28std::__2::__tree_node\2c\20void*>*\29 +2309:std::__2::__throw_bad_variant_access\5babi:v160004\5d\28\29 +2310:std::__2::__split_buffer>\2c\20std::__2::allocator>>&>::~__split_buffer\28\29 +2311:std::__2::__split_buffer>::push_front\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +2312:std::__2::__split_buffer>::push_back\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\20const&\29 +2313:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +2314:std::__2::__split_buffer\2c\20std::__2::allocator>&>::~__split_buffer\28\29 +2315:std::__2::__split_buffer\2c\20std::__2::allocator>&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator>&\29 +2316:std::__2::__shared_count::__add_shared\5babi:v160004\5d\28\29 +2317:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +2318:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +2319:std::__2::__num_put_base::__format_int\28char*\2c\20char\20const*\2c\20bool\2c\20unsigned\20int\29 +2320:std::__2::__num_put_base::__format_float\28char*\2c\20char\20const*\2c\20unsigned\20int\29 +2321:std::__2::__itoa::__append8\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2322:skvx::Vec<8\2c\20unsigned\20short>\20skvx::operator+<8\2c\20unsigned\20short\2c\20unsigned\20short\2c\20void>\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20short\29 +2323:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator>=<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +2324:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20double\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20double\29 +2325:sktext::gpu::VertexFiller::deviceRectAndCheckTransform\28SkMatrix\20const&\29\20const +2326:sktext::gpu::GlyphVector::packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29 +2327:sktext::SkStrikePromise::strike\28\29 +2328:skif::\28anonymous\20namespace\29::draw_tiled_border\28SkCanvas*\2c\20SkTileMode\2c\20SkPaint\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_1::operator\28\29\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +2329:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +2330:skif::LayerSpace::ceil\28\29\20const +2331:skif::LayerSpace\20skif::Mapping::paramToLayer\28skif::ParameterSpace\20const&\29\20const +2332:skif::LayerSpace::postConcat\28skif::LayerSpace\20const&\29 +2333:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +2334:skif::LayerSpace\20skif::Mapping::deviceToLayer\28skif::DeviceSpace\20const&\29\20const +2335:skif::FilterResult::subset\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +2336:skif::FilterResult::getAnalyzedShaderView\28skif::Context\20const&\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\29\20const +2337:skif::FilterResult::applyTransform\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkSamplingOptions\20const&\29\20const +2338:skif::FilterResult::applyCrop\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkTileMode\29\20const +2339:skif::FilterResult::analyzeBounds\28SkMatrix\20const&\2c\20SkIRect\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +2340:skif::FilterResult::Builder::add\28skif::FilterResult\20const&\2c\20std::__2::optional>\2c\20SkEnumBitMask\2c\20SkSamplingOptions\20const&\29 +2341:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +2342:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +2343:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair&&\29 +2344:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Hash\28std::__2::basic_string_view>\20const&\29 +2345:skia_private::THashTable::Traits>::uncheckedSet\28long\20long&&\29 +2346:skia_private::THashTable::Traits>::uncheckedSet\28int&&\29 +2347:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::resize\28int\29 +2348:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::find\28unsigned\20int\20const&\29\20const +2349:skia_private::THashMap::find\28unsigned\20int\20const&\29\20const +2350:skia_private::THashMap::operator\5b\5d\28SkSL::Variable\20const*\20const&\29 +2351:skia_private::TArray::push_back_raw\28int\29 +2352:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +2353:skia_private::TArray>\2c\20true>::destroyAll\28\29 +2354:skia_private::TArray>\2c\20true>::push_back\28std::__2::unique_ptr>&&\29 +2355:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +2356:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +2357:skia_private::TArray::~TArray\28\29 +2358:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +2359:skia_private::TArray::~TArray\28\29 +2360:skia_private::TArray\2c\20true>::~TArray\28\29 +2361:skia_private::TArray::reserve_exact\28int\29 +2362:skia_private::TArray<\28anonymous\20namespace\29::MeshOp::Mesh\2c\20true>::preallocateNewData\28int\2c\20double\29 +2363:skia_private::TArray<\28anonymous\20namespace\29::MeshOp::Mesh\2c\20true>::installDataAndUpdateCapacity\28SkSpan\29 +2364:skia_private::TArray::clear\28\29 +2365:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2366:skia_private::TArray::Allocate\28int\2c\20double\29 +2367:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +2368:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +2369:skia_private::TArray::push_back\28GrRenderTask*&&\29 +2370:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +2371:skia_private::AutoSTMalloc<4ul\2c\20SkFontArguments::Palette::Override\2c\20void>::AutoSTMalloc\28unsigned\20long\29 +2372:skia_private::AutoSTArray<24\2c\20unsigned\20int>::reset\28int\29 +2373:skia_png_zstream_error +2374:skia_png_read_data +2375:skia_png_get_int_32 +2376:skia_png_chunk_unknown_handling +2377:skia_png_calloc +2378:skia::textlayout::TextWrapper::getClustersTrimmedWidth\28\29 +2379:skia::textlayout::TextWrapper::TextStretch::startFrom\28skia::textlayout::Cluster*\2c\20unsigned\20long\29 +2380:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::Cluster*\29 +2381:skia::textlayout::TextLine::measureTextInsideOneRun\28skia::textlayout::SkRange\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20float\2c\20bool\2c\20skia::textlayout::TextLine::TextAdjustment\29\20const +2382:skia::textlayout::TextLine::isLastLine\28\29\20const +2383:skia::textlayout::Run::calculateHeight\28skia::textlayout::LineMetricStyle\2c\20skia::textlayout::LineMetricStyle\29\20const +2384:skia::textlayout::Run::Run\28skia::textlayout::Run\20const&\29 +2385:skia::textlayout::ParagraphImpl::getLineNumberAt\28unsigned\20long\29\20const +2386:skia::textlayout::ParagraphImpl::findPreviousGraphemeBoundary\28unsigned\20long\29\20const +2387:skia::textlayout::ParagraphCacheKey::~ParagraphCacheKey\28\29 +2388:skia::textlayout::ParagraphBuilderImpl::startStyledBlock\28\29 +2389:skia::textlayout::OneLineShaper::RunBlock&\20std::__2::vector>::emplace_back\28skia::textlayout::OneLineShaper::RunBlock&\29 +2390:skia::textlayout::OneLineShaper::FontKey::FontKey\28skia::textlayout::OneLineShaper::FontKey&&\29 +2391:skia::textlayout::InternalLineMetrics::updateLineMetrics\28skia::textlayout::InternalLineMetrics&\29 +2392:skia::textlayout::FontCollection::getFontManagerOrder\28\29\20const +2393:skia::textlayout::Decorations::calculateGaps\28skia::textlayout::TextLine::ClipContext\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\29 +2394:skia::textlayout::Cluster::runOrNull\28\29\20const +2395:skgpu::tess::PatchStride\28skgpu::tess::PatchAttribs\29 +2396:skgpu::tess::MiddleOutPolygonTriangulator::MiddleOutPolygonTriangulator\28int\2c\20SkPoint\29 +2397:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::fixedFunctionFlags\28\29\20const +2398:skgpu::ganesh::SurfaceFillContext::~SurfaceFillContext\28\29 +2399:skgpu::ganesh::SurfaceFillContext::replaceOpsTask\28\29 +2400:skgpu::ganesh::SurfaceDrawContext::fillPixelsWithLocalMatrix\28GrClip\20const*\2c\20GrPaint&&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\29 +2401:skgpu::ganesh::SurfaceDrawContext::drawShape\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\29 +2402:skgpu::ganesh::SurfaceDrawContext::drawPaint\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\29 +2403:skgpu::ganesh::SurfaceDrawContext::MakeWithFallback\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2404:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29 +2405:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29::$_0::$_0\28$_0&&\29 +2406:skgpu::ganesh::SurfaceContext::PixelTransferResult::operator=\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +2407:skgpu::ganesh::SupportedTextureFormats\28GrImageContext\20const&\29::$_0::operator\28\29\28SkYUVAPixmapInfo::DataType\2c\20int\29\20const +2408:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +2409:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::coverageMode\28\29\20const +2410:skgpu::ganesh::PathInnerTriangulateOp::pushFanFillProgram\28GrTessellationShader::ProgramArgs\20const&\2c\20GrUserStencilSettings\20const*\29 +2411:skgpu::ganesh::OpsTask::deleteOps\28\29 +2412:skgpu::ganesh::OpsTask::OpChain::List::operator=\28skgpu::ganesh::OpsTask::OpChain::List&&\29 +2413:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29::$_0::operator\28\29\28int\29\20const +2414:skgpu::ganesh::ClipStack::clipRect\28SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\2c\20SkClipOp\29 +2415:skgpu::TClientMappedBufferManager::BufferFinishedMessage::BufferFinishedMessage\28skgpu::TClientMappedBufferManager::BufferFinishedMessage&&\29 +2416:skgpu::Swizzle::Concat\28skgpu::Swizzle\20const&\2c\20skgpu::Swizzle\20const&\29 +2417:skgpu::Swizzle::CToI\28char\29 +2418:sk_sp::reset\28SkMipmap*\29 +2419:sk_sp::~sk_sp\28\29 +2420:sk_sp::~sk_sp\28\29 +2421:sk_sp::~sk_sp\28\29 +2422:shr +2423:shl +2424:set_result_path\28SkPath*\2c\20SkPath\20const&\2c\20SkPathFillType\29 +2425:sect_with_horizontal\28SkPoint\20const*\2c\20float\29 +2426:roughly_between\28double\2c\20double\2c\20double\29 +2427:psh_calc_max_height +2428:ps_mask_set_bit +2429:ps_dimension_set_mask_bits +2430:ps_builder_check_points +2431:ps_builder_add_point +2432:png_colorspace_endpoints_match +2433:path_is_trivial\28SkPath\20const&\29::Trivializer::addTrivialContourPoint\28SkPoint\20const&\29 +2434:output_char\28hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +2435:operator!=\28SkRect\20const&\2c\20SkRect\20const&\29 +2436:nearly_equal\28double\2c\20double\29 +2437:mbrtowc +2438:mask_gamma_cache_mutex\28\29 +2439:map_rect_perspective\28SkRect\20const&\2c\20float\20const*\29::$_0::operator\28\29\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20const +2440:lock.9170 +2441:lineMetrics_getEndIndex +2442:is_smooth_enough\28SkAnalyticEdge*\2c\20SkAnalyticEdge*\2c\20int\29 +2443:is_ICC_signature_char +2444:interpolate_local\28float\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\29 +2445:int\20_hb_cmp_method>\28void\20const*\2c\20void\20const*\29 +2446:init_file_lock +2447:ilogbf +2448:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +2449:hb_vector_t\2c\20false>::fini\28\29 +2450:hb_unicode_funcs_t::compose\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +2451:hb_syllabic_insert_dotted_circles\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +2452:hb_shape_full +2453:hb_serialize_context_t::~hb_serialize_context_t\28\29 +2454:hb_serialize_context_t::hb_serialize_context_t\28void*\2c\20unsigned\20int\29 +2455:hb_serialize_context_t::end_serialize\28\29 +2456:hb_paint_funcs_t::push_scale\28void*\2c\20float\2c\20float\29 +2457:hb_paint_extents_context_t::paint\28\29 +2458:hb_ot_map_builder_t::disable_feature\28unsigned\20int\29 +2459:hb_map_iter_t\2c\20OT::IntType\2c\20true>\20const>\2c\20hb_partial_t<2u\2c\20$_9\20const*\2c\20OT::ChainRuleSet\20const*>\2c\20\28hb_function_sortedness_t\290\2c\20\28void*\290>::__item__\28\29\20const +2460:hb_lazy_loader_t\2c\20hb_face_t\2c\2012u\2c\20OT::vmtx_accelerator_t>::get_stored\28\29\20const +2461:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::do_destroy\28OT::sbix_accelerator_t*\29 +2462:hb_lazy_loader_t\2c\20hb_face_t\2c\205u\2c\20OT::hmtx_accelerator_t>::do_destroy\28OT::hmtx_accelerator_t*\29 +2463:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::get_stored\28\29\20const +2464:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::do_destroy\28OT::GSUB_accelerator_t*\29 +2465:hb_lazy_loader_t\2c\20hb_face_t\2c\2026u\2c\20OT::GPOS_accelerator_t>::get_stored\28\29\20const +2466:hb_lazy_loader_t\2c\20hb_face_t\2c\2034u\2c\20hb_blob_t>::get\28\29\20const +2467:hb_language_from_string +2468:hb_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>\2c\20OT::HBGlyphID16&>::operator*\28\29 +2469:hb_hashmap_t::add\28unsigned\20int\20const&\29 +2470:hb_hashmap_t::alloc\28unsigned\20int\29 +2471:hb_font_t::parent_scale_position\28int*\2c\20int*\29 +2472:hb_font_t::get_h_extents_with_fallback\28hb_font_extents_t*\29 +2473:hb_buffer_t::output_glyph\28unsigned\20int\29 +2474:hb_buffer_t::copy_glyph\28\29 +2475:hb_buffer_t::clear_positions\28\29 +2476:hb_bounds_t*\20hb_vector_t::push\28hb_bounds_t&&\29 +2477:hb_blob_create_sub_blob +2478:hb_blob_create +2479:get_cache\28\29 +2480:ftell +2481:ft_var_readpackedpoints +2482:ft_glyphslot_free_bitmap +2483:filter_to_gl_mag_filter\28SkFilterMode\29 +2484:extractMaskSubset\28SkMask\20const&\2c\20SkIRect\2c\20int\2c\20int\29 +2485:exp +2486:equal_ulps\28float\2c\20float\2c\20int\2c\20int\29 +2487:direct_blur_y\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2488:derivative_at_t\28double\20const*\2c\20double\29 +2489:crop_rect_edge\28SkRect\20const&\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +2490:cleanup_program\28GrGLGpu*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +2491:clean_paint_for_drawVertices\28SkPaint\29 +2492:clean_paint_for_drawImage\28SkPaint\20const*\29 +2493:check_edge_against_rect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRect\20const&\2c\20SkPathFirstDirection\29 +2494:checkOnCurve\28float\2c\20float\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +2495:char*\20sktext::gpu::BagOfBytes::allocateBytesFor\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +2496:cff_strcpy +2497:cff_size_get_globals_funcs +2498:cff_index_forget_element +2499:cf2_stack_setReal +2500:cf2_hint_init +2501:cf2_doStems +2502:cf2_doFlex +2503:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_4::operator\28\29\28float\29\20const +2504:byn$mgfn-shared$tt_cmap6_get_info +2505:byn$mgfn-shared$tt_cmap13_get_info +2506:byn$mgfn-shared$std::__2::__time_get_c_storage::__c\28\29\20const +2507:byn$mgfn-shared$std::__2::__time_get_c_storage::__c\28\29\20const +2508:byn$mgfn-shared$std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +2509:byn$mgfn-shared$skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +2510:byn$mgfn-shared$SkSL::Tracer::line\28int\29 +2511:byn$mgfn-shared$OT::PaintSkewAroundCenter::sanitize\28hb_sanitize_context_t*\29\20const +2512:buffer_verify_error\28hb_buffer_t*\2c\20hb_font_t*\2c\20char\20const*\2c\20...\29 +2513:bool\20hb_hashmap_t::has\28unsigned\20int\20const&\2c\20unsigned\20int**\29\20const +2514:bool\20hb_buffer_t::replace_glyphs\28unsigned\20int\2c\20unsigned\20int\2c\20OT::HBGlyphID16\20const*\29 +2515:bool\20OT::match_input>\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20bool\20\28*\29\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +2516:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +2517:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +2518:blur_y_rect\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2519:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29::$_0::operator\28\29\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29\20const +2520:blitClippedMask\28SkBlitter*\2c\20SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +2521:approx_arc_length\28SkPoint\20const*\2c\20int\29 +2522:antifillrect\28SkIRect\20const&\2c\20SkBlitter*\29 +2523:afm_parser_read_int +2524:af_sort_pos +2525:af_latin_hints_compute_segments +2526:_hb_glyph_info_get_lig_num_comps\28hb_glyph_info_t\20const*\29 +2527:__wasi_syscall_ret +2528:__uselocale +2529:__math_xflow +2530:__cxxabiv1::__base_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2531:\28anonymous\20namespace\29::make_vertices_spec\28bool\2c\20bool\29 +2532:\28anonymous\20namespace\29::TransformedMaskSubRun::~TransformedMaskSubRun\28\29 +2533:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28unsigned\20int\20const*\29::operator\28\29\28unsigned\20int\20const*\29\20const +2534:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2535:\28anonymous\20namespace\29::SkBlurImageFilter::kernelBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +2536:\28anonymous\20namespace\29::RunIteratorQueue::insert\28SkShaper::RunIterator*\2c\20int\29 +2537:\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29 +2538:\28anonymous\20namespace\29::PathGeoBuilder::ensureSpace\28int\2c\20int\2c\20SkPoint\20const*\29 +2539:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMangledName\28char\20const*\29 +2540:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2541:\28anonymous\20namespace\29::FillRectOpImpl::vertexSpec\28\29\20const +2542:\28anonymous\20namespace\29::CacheImpl::removeInternal\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +2543:TT_Load_Context +2544:Skwasm::makeCurrent\28int\29 +2545:SkipCode +2546:SkYUVAPixmaps::~SkYUVAPixmaps\28\29 +2547:SkYUVAPixmaps::operator=\28SkYUVAPixmaps\20const&\29 +2548:SkYUVAPixmaps::SkYUVAPixmaps\28\29 +2549:SkWriter32::writeRRect\28SkRRect\20const&\29 +2550:SkWriter32::writeMatrix\28SkMatrix\20const&\29 +2551:SkWriter32::snapshotAsData\28\29\20const +2552:SkWBuffer::write\28void\20const*\2c\20unsigned\20long\29 +2553:SkVertices::approximateSize\28\29\20const +2554:SkTextBlobBuilder::~SkTextBlobBuilder\28\29 +2555:SkTextBlob::RunRecord::textBuffer\28\29\20const +2556:SkTextBlob::RunRecord::clusterBuffer\28\29\20const +2557:SkTextBlob::RunRecord::StorageSize\28unsigned\20int\2c\20unsigned\20int\2c\20SkTextBlob::GlyphPositioning\2c\20SkSafeMath*\29 +2558:SkTextBlob::RunRecord::Next\28SkTextBlob::RunRecord\20const*\29 +2559:SkTSpan::oppT\28double\29\20const +2560:SkTSpan::closestBoundedT\28SkDPoint\20const&\29\20const +2561:SkTSect::updateBounded\28SkTSpan*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2562:SkTSect::trim\28SkTSpan*\2c\20SkTSect*\29 +2563:SkTSect::removeSpanRange\28SkTSpan*\2c\20SkTSpan*\29 +2564:SkTSect::removeCoincident\28SkTSpan*\2c\20bool\29 +2565:SkTSect::deleteEmptySpans\28\29 +2566:SkTInternalLList::Entry>::remove\28SkLRUCache::Entry*\29 +2567:SkTInternalLList>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry>::remove\28SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\29 +2568:SkTInternalLList>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry>::remove\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\29 +2569:SkTDStorage::insert\28int\2c\20int\2c\20void\20const*\29 +2570:SkTDStorage::insert\28int\29 +2571:SkTDStorage::erase\28int\2c\20int\29 +2572:SkTBlockList::pushItem\28\29 +2573:SkStrokeRec::applyToPath\28SkPath*\2c\20SkPath\20const&\29\20const +2574:SkString::set\28char\20const*\29 +2575:SkString::Rec::Make\28char\20const*\2c\20unsigned\20long\29 +2576:SkStrikeSpec::MakeCanonicalized\28SkFont\20const&\2c\20SkPaint\20const*\29 +2577:SkStrikeCache::GlobalStrikeCache\28\29 +2578:SkStrike::glyph\28SkPackedGlyphID\29 +2579:SkSpriteBlitter::~SkSpriteBlitter\28\29 +2580:SkShadowTessellator::MakeSpot\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20bool\2c\20bool\29 +2581:SkShaders::MatrixRec::apply\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2582:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const::$_0::operator\28\29\28SkIRect\20const&\29\20const +2583:SkShaderBase::appendRootStages\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2584:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +2585:SkScalerContext_FreeType::emboldenIfNeeded\28FT_FaceRec_*\2c\20FT_GlyphSlotRec_*\2c\20unsigned\20short\29 +2586:SkScaleToSides::AdjustRadii\28double\2c\20double\2c\20float*\2c\20float*\29 +2587:SkSamplingOptions::operator!=\28SkSamplingOptions\20const&\29\20const +2588:SkSTArenaAlloc<3332ul>::SkSTArenaAlloc\28unsigned\20long\29 +2589:SkSTArenaAlloc<1024ul>::SkSTArenaAlloc\28unsigned\20long\29 +2590:SkSL::write_stringstream\28SkSL::StringStream\20const&\2c\20SkSL::OutputStream&\29 +2591:SkSL::evaluate_3_way_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2592:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29 +2593:SkSL::calculate_count\28double\2c\20double\2c\20double\2c\20bool\2c\20bool\29 +2594:SkSL::append_rtadjust_fixup_to_vertex_main\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::Block&\29::AppendRTAdjustFixupHelper::Pos\28\29\20const +2595:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +2596:SkSL::VarDeclaration::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\2c\20std::__2::unique_ptr>\29 +2597:SkSL::Type::priority\28\29\20const +2598:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20double\2c\20SkSL::Position\29\20const +2599:SkSL::Transform::EliminateDeadFunctions\28SkSL::Program&\29::$_0::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +2600:SkSL::SymbolTable::lookup\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +2601:SkSL::SymbolTable::isType\28std::__2::basic_string_view>\29\20const +2602:SkSL::Swizzle::MaskString\28skia_private::FixedArray<4\2c\20signed\20char>\20const&\29 +2603:SkSL::RP::SlotManager::mapVariableToSlots\28SkSL::Variable\20const&\2c\20SkSL::RP::SlotRange\29 +2604:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const::$_0::operator\28\29\28\29\20const +2605:SkSL::RP::Program::appendCopy\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29\20const +2606:SkSL::RP::Generator::store\28SkSL::RP::LValue&\29 +2607:SkSL::RP::Generator::popToSlotRangeUnmasked\28SkSL::RP::SlotRange\29 +2608:SkSL::RP::Generator::emitTraceScope\28int\29 +2609:SkSL::RP::DynamicIndexLValue::dynamicSlotRange\28\29 +2610:SkSL::RP::Builder::ternary_op\28SkSL::RP::BuilderOp\2c\20int\29 +2611:SkSL::RP::Builder::simplifyPopSlotsUnmasked\28SkSL::RP::SlotRange*\29 +2612:SkSL::RP::Builder::push_zeros\28int\29 +2613:SkSL::RP::Builder::push_loop_mask\28\29 +2614:SkSL::RP::Builder::pad_stack\28int\29 +2615:SkSL::RP::Builder::exchange_src\28\29 +2616:SkSL::ProgramVisitor::visit\28SkSL::Program\20const&\29 +2617:SkSL::ProgramUsage::remove\28SkSL::Statement\20const*\29 +2618:SkSL::PrefixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +2619:SkSL::PipelineStage::PipelineStageCodeGenerator::typedVariable\28SkSL::Type\20const&\2c\20std::__2::basic_string_view>\29 +2620:SkSL::PipelineStage::PipelineStageCodeGenerator::typeName\28SkSL::Type\20const&\29 +2621:SkSL::Parser::parseInitializer\28SkSL::Position\2c\20std::__2::unique_ptr>*\29 +2622:SkSL::Parser::nextRawToken\28\29 +2623:SkSL::Parser::arrayType\28SkSL::Type\20const*\2c\20int\2c\20SkSL::Position\29 +2624:SkSL::Parser::AutoSymbolTable::AutoSymbolTable\28SkSL::Parser*\2c\20std::__2::unique_ptr>*\2c\20bool\29 +2625:SkSL::LiteralType::priority\28\29\20const +2626:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +2627:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_dot\28std::__2::array\20const&\29 +2628:SkSL::InterfaceBlock::arraySize\28\29\20const +2629:SkSL::GLSLCodeGenerator::writeExtension\28std::__2::basic_string_view>\2c\20bool\29 +2630:SkSL::FieldAccess::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +2631:SkSL::DoStatement::~DoStatement\28\29 +2632:SkSL::ConstructorArray::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +2633:SkSL::Compiler::convertProgram\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::ProgramSettings\20const&\29 +2634:SkSL::Block::isEmpty\28\29\20const +2635:SkSL::Block::Make\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2636:SkSL::Block::MakeBlock\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2637:SkSL::Analysis::DetectVarDeclarationWithoutScope\28SkSL::Statement\20const&\2c\20SkSL::ErrorReporter*\29 +2638:SkRuntimeEffect::Result::~Result\28\29 +2639:SkResourceCache::remove\28SkResourceCache::Rec*\29 +2640:SkRegion::writeToMemory\28void*\29\20const +2641:SkRegion::getBoundaryPath\28SkPath*\29\20const +2642:SkRegion::SkRegion\28SkRegion\20const&\29 +2643:SkRect::set\28SkPoint\20const&\2c\20SkPoint\20const&\29 +2644:SkRect::offset\28SkPoint\20const&\29 +2645:SkRect::inset\28float\2c\20float\29 +2646:SkRect::center\28\29\20const +2647:SkRecords::Optional::~Optional\28\29 +2648:SkRecords::NoOp*\20SkRecord::replace\28int\29 +2649:SkReadBuffer::skip\28unsigned\20long\29 +2650:SkRasterPipeline_ConstantCtx*\20SkArenaAlloc::make\28SkRasterPipeline_ConstantCtx\20const&\29 +2651:SkRasterPipeline::tailPointer\28\29 +2652:SkRasterPipeline::appendMatrix\28SkArenaAlloc*\2c\20SkMatrix\20const&\29 +2653:SkRasterPipeline::addMemoryContext\28SkRasterPipeline_MemoryCtx*\2c\20int\2c\20bool\2c\20bool\29 +2654:SkRasterClip::SkRasterClip\28SkIRect\20const&\29 +2655:SkRRect::setOval\28SkRect\20const&\29 +2656:SkRRect::initializeRect\28SkRect\20const&\29 +2657:SkRRect::MakeRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +2658:SkRGBA4f<\28SkAlphaType\293>::operator==\28SkRGBA4f<\28SkAlphaType\293>\20const&\29\20const +2659:SkQuads::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2660:SkPixelRef::~SkPixelRef\28\29 +2661:SkPixelRef::SkPixelRef\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +2662:SkPictureRecord::~SkPictureRecord\28\29 +2663:SkPictureRecord::recordRestoreOffsetPlaceholder\28\29 +2664:SkPathStroker::quadStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2665:SkPathStroker::preJoinTo\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20bool\29 +2666:SkPathStroker::intersectRay\28SkQuadConstruct*\2c\20SkPathStroker::IntersectRayType\29\20const +2667:SkPathStroker::cubicStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2668:SkPathStroker::cubicPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +2669:SkPathStroker::conicStroke\28SkConic\20const&\2c\20SkQuadConstruct*\29 +2670:SkPathRef::computeBounds\28\29\20const +2671:SkPathEdgeIter::SkPathEdgeIter\28SkPath\20const&\29 +2672:SkPathBuilder::incReserve\28int\2c\20int\29 +2673:SkPathBuilder::conicTo\28SkPoint\2c\20SkPoint\2c\20float\29 +2674:SkPath::rewind\28\29 +2675:SkPath::getPoint\28int\29\20const +2676:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2677:SkPaint::operator=\28SkPaint&&\29 +2678:SkPaint::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +2679:SkPaint::canComputeFastBounds\28\29\20const +2680:SkPaint::SkPaint\28SkPaint&&\29 +2681:SkOpSpanBase::mergeMatches\28SkOpSpanBase*\29 +2682:SkOpSpanBase::addOpp\28SkOpSpanBase*\29 +2683:SkOpSegment::updateOppWinding\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\29\20const +2684:SkOpSegment::subDivide\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkDCurve*\29\20const +2685:SkOpSegment::setUpWindings\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20int*\2c\20int*\2c\20int*\2c\20int*\2c\20int*\29 +2686:SkOpSegment::nextChase\28SkOpSpanBase**\2c\20int*\2c\20SkOpSpan**\2c\20SkOpSpanBase**\29\20const +2687:SkOpSegment::markAndChaseDone\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpSpanBase**\29 +2688:SkOpSegment::isSimple\28SkOpSpanBase**\2c\20int*\29\20const +2689:SkOpSegment::init\28SkPoint*\2c\20float\2c\20SkOpContour*\2c\20SkPath::Verb\29 +2690:SkOpEdgeBuilder::complete\28\29 +2691:SkOpContour::appendSegment\28\29 +2692:SkOpCoincidence::overlap\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double*\2c\20double*\29\20const +2693:SkOpCoincidence::add\28SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\29 +2694:SkOpCoincidence::addIfMissing\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double\2c\20double\2c\20SkOpSegment*\2c\20SkOpSegment*\2c\20bool*\29 +2695:SkOpCoincidence::addExpanded\28\29 +2696:SkOpCoincidence::addEndMovedSpans\28SkOpPtT\20const*\29 +2697:SkOpCoincidence::TRange\28SkOpPtT\20const*\2c\20double\2c\20SkOpSegment\20const*\29 +2698:SkOpAngle::set\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2699:SkOpAngle::loopCount\28\29\20const +2700:SkOpAngle::insert\28SkOpAngle*\29 +2701:SkOpAngle*\20SkArenaAlloc::make\28\29 +2702:SkNoPixelsDevice::ClipState::op\28SkClipOp\2c\20SkM44\20const&\2c\20SkRect\20const&\2c\20bool\2c\20bool\29 +2703:SkMipmap*\20SkSafeRef\28SkMipmap*\29 +2704:SkMeshSpecification::Varying::Varying\28SkMeshSpecification::Varying\20const&\29 +2705:SkMatrixPriv::DifferentialAreaScale\28SkMatrix\20const&\2c\20SkPoint\20const&\29 +2706:SkMatrix::setRotate\28float\29 +2707:SkMatrix::mapVectors\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +2708:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint\20const*\2c\20int\29\20const +2709:SkMaskFilterBase::getFlattenableType\28\29\20const +2710:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29 +2711:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29::$_0::operator\28\29\28skvx::Vec<4\2c\20float>\29\20const +2712:SkM44::normalizePerspective\28\29 +2713:SkLineClipper::IntersectLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\29 +2714:SkJSONWriter::scope\28\29\20const +2715:SkImage_Ganesh::makeView\28GrRecordingContext*\29\20const +2716:SkImage_Base::~SkImage_Base\28\29 +2717:SkImage_Base::isGaneshBacked\28\29\20const +2718:SkImage_Base::SkImage_Base\28SkImageInfo\20const&\2c\20unsigned\20int\29 +2719:SkImageInfo::validRowBytes\28unsigned\20long\29\20const +2720:SkImageInfo::MakeUnknown\28int\2c\20int\29 +2721:SkImageGenerator::~SkImageGenerator\28\29 +2722:SkImageFilters::Crop\28SkRect\20const&\2c\20SkTileMode\2c\20sk_sp\29 +2723:SkImageFilter_Base::~SkImageFilter_Base\28\29 +2724:SkImage::makeRasterImage\28GrDirectContext*\2c\20SkImage::CachingHint\29\20const +2725:SkIRect::makeInset\28int\2c\20int\29\20const +2726:SkHalfToFloat\28unsigned\20short\29 +2727:SkGradientBaseShader::commonAsAGradient\28SkShaderBase::GradientInfo*\29\20const +2728:SkGradientBaseShader::ValidGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2729:SkGradientBaseShader::SkGradientBaseShader\28SkGradientBaseShader::Descriptor\20const&\2c\20SkMatrix\20const&\29 +2730:SkGradientBaseShader::MakeDegenerateGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20float\20const*\2c\20int\2c\20sk_sp\2c\20SkTileMode\29 +2731:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkPath\20const*\2c\20bool\29 +2732:SkGetPolygonWinding\28SkPoint\20const*\2c\20int\29 +2733:SkFontMgr::RefEmpty\28\29 +2734:SkFont::setTypeface\28sk_sp\29 +2735:SkEmptyFontMgr::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +2736:SkEdgeBuilder::~SkEdgeBuilder\28\29 +2737:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29 +2738:SkDrawable::draw\28SkCanvas*\2c\20SkMatrix\20const*\29 +2739:SkDrawBase::drawPathCoverage\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkBlitter*\29\20const +2740:SkDevice::~SkDevice\28\29 +2741:SkDevice::scalerContextFlags\28\29\20const +2742:SkDevice::accessPixels\28SkPixmap*\29 +2743:SkData::MakeWithProc\28void\20const*\2c\20unsigned\20long\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +2744:SkDQuad::dxdyAtT\28double\29\20const +2745:SkDQuad::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2746:SkDPoint::distance\28SkDPoint\20const&\29\20const +2747:SkDLine::NearPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +2748:SkDLine::NearPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +2749:SkDCubic::dxdyAtT\28double\29\20const +2750:SkDCubic::RootsValidT\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +2751:SkDConic::dxdyAtT\28double\29\20const +2752:SkConicalGradient::~SkConicalGradient\28\29 +2753:SkComputeRadialSteps\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float*\2c\20float*\2c\20int*\29 +2754:SkColorSpace::serialize\28\29\20const +2755:SkColorFilterPriv::MakeGaussian\28\29 +2756:SkColorFilter::filterColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\2c\20SkColorSpace*\29\20const +2757:SkColorConverter::SkColorConverter\28unsigned\20int\20const*\2c\20int\29 +2758:SkCoincidentSpans::correctOneEnd\28SkOpPtT\20const*\20\28SkCoincidentSpans::*\29\28\29\20const\2c\20void\20\28SkCoincidentSpans::*\29\28SkOpPtT\20const*\29\29 +2759:SkClosestRecord::findEnd\28SkTSpan\20const*\2c\20SkTSpan\20const*\2c\20int\2c\20int\29 +2760:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\20const*\2c\20int\29 +2761:SkChopCubicAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2762:SkCanvas::init\28sk_sp\29 +2763:SkCanvas::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +2764:SkCanvas::concat\28SkM44\20const&\29 +2765:SkCanvas::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +2766:SkCachedData::detachFromCacheAndUnref\28\29\20const +2767:SkCachedData::attachToCacheAndRef\28\29\20const +2768:SkBitmap::pixelRefOrigin\28\29\20const +2769:SkBitmap::operator=\28SkBitmap&&\29 +2770:SkBitmap::notifyPixelsChanged\28\29\20const +2771:SkBitmap::extractSubset\28SkBitmap*\2c\20SkIRect\20const&\29\20const +2772:SkBinaryWriteBuffer::writeByteArray\28void\20const*\2c\20unsigned\20long\29 +2773:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29 +2774:SkAutoPixmapStorage::tryAlloc\28SkImageInfo\20const&\29 +2775:SkAutoBlitterChoose::SkAutoBlitterChoose\28SkDrawBase\20const&\2c\20SkMatrix\20const*\2c\20SkPaint\20const&\2c\20bool\29 +2776:SkArenaAllocWithReset::SkArenaAllocWithReset\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +2777:SkAAClip::setPath\28SkPath\20const&\2c\20SkIRect\20const&\2c\20bool\29 +2778:SkAAClip::quickContains\28SkIRect\20const&\29\20const +2779:SkAAClip::op\28SkAAClip\20const&\2c\20SkClipOp\29 +2780:SkAAClip::Builder::flushRowH\28SkAAClip::Builder::Row*\29 +2781:SkAAClip::Builder::Blitter::checkForYGap\28int\29 +2782:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29 +2783:OT::post::accelerator_t::find_glyph_name\28unsigned\20int\29\20const +2784:OT::hb_ot_layout_lookup_accelerator_t::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20bool\29\20const +2785:OT::hb_ot_apply_context_t::skipping_iterator_t::match\28hb_glyph_info_t&\29 +2786:OT::hb_ot_apply_context_t::_set_glyph_class\28unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +2787:OT::glyf_accelerator_t::glyph_for_gid\28unsigned\20int\2c\20bool\29\20const +2788:OT::cff1::accelerator_templ_t>::std_code_to_glyph\28unsigned\20int\29\20const +2789:OT::apply_lookup\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20unsigned\20int\29 +2790:OT::VariationStore::create_cache\28\29\20const +2791:OT::VarRegionList::evaluate\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +2792:OT::Lookup::get_props\28\29\20const +2793:OT::Layout::GSUB_impl::SubstLookup*\20hb_serialize_context_t::copy\28\29\20const +2794:OT::Layout::GPOS_impl::ValueFormat::get_device\28OT::IntType\20const*\2c\20bool*\2c\20void\20const*\2c\20hb_sanitize_context_t&\29 +2795:OT::Layout::GPOS_impl::Anchor::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2796:OT::IntType*\20hb_serialize_context_t::extend_min>\28OT::IntType*\29 +2797:OT::GSUBGPOS::get_script\28unsigned\20int\29\20const +2798:OT::GSUBGPOS::get_feature_tag\28unsigned\20int\29\20const +2799:OT::GSUBGPOS::find_script_index\28unsigned\20int\2c\20unsigned\20int*\29\20const +2800:OT::ArrayOf>*\20hb_serialize_context_t::extend_size>>\28OT::ArrayOf>*\2c\20unsigned\20long\2c\20bool\29 +2801:Move_Zp2_Point +2802:Modify_CVT_Check +2803:GrYUVATextureProxies::operator=\28GrYUVATextureProxies&&\29 +2804:GrYUVATextureProxies::GrYUVATextureProxies\28\29 +2805:GrXPFactory::FromBlendMode\28SkBlendMode\29 +2806:GrWindowRectangles::operator=\28GrWindowRectangles\20const&\29 +2807:GrTriangulator::~GrTriangulator\28\29 +2808:GrTriangulator::simplify\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +2809:GrTriangulator::setTop\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2810:GrTriangulator::mergeCollinearEdges\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2811:GrTriangulator::mergeCoincidentVertices\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29\20const +2812:GrTriangulator::emitTriangle\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20skgpu::VertexWriter\29\20const +2813:GrTriangulator::allocateEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20GrTriangulator::EdgeType\29 +2814:GrTriangulator::FindEnclosingEdges\28GrTriangulator::Vertex\20const&\2c\20GrTriangulator::EdgeList\20const&\2c\20GrTriangulator::Edge**\2c\20GrTriangulator::Edge**\29 +2815:GrTriangulator::Edge::dist\28SkPoint\20const&\29\20const +2816:GrTriangulator::Edge::Edge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20GrTriangulator::EdgeType\29 +2817:GrThreadSafeCache::remove\28skgpu::UniqueKey\20const&\29 +2818:GrThreadSafeCache::internalFind\28skgpu::UniqueKey\20const&\29 +2819:GrThreadSafeCache::internalAdd\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2820:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +2821:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29 +2822:GrTessellationShader::MakePipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedClip&&\2c\20GrProcessorSet&&\29 +2823:GrSurfaceProxyView::operator!=\28GrSurfaceProxyView\20const&\29\20const +2824:GrSurfaceProxyView::concatSwizzle\28skgpu::Swizzle\29 +2825:GrSurfaceProxy::~GrSurfaceProxy\28\29 +2826:GrSurfaceProxy::isFunctionallyExact\28\29\20const +2827:GrSurfaceProxy::gpuMemorySize\28\29\20const +2828:GrSurfaceProxy::createSurfaceImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\29\20const +2829:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20GrSurfaceProxy::RectsMustMatch\2c\20sk_sp*\29 +2830:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20sk_sp*\29 +2831:GrStyledShape::hasUnstyledKey\28\29\20const +2832:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +2833:GrStyle::GrStyle\28GrStyle\20const&\29 +2834:GrSkSLFP::setInput\28std::__2::unique_ptr>\29 +2835:GrSimpleMeshDrawOpHelper::CreatePipeline\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20skgpu::Swizzle\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrProcessorSet&&\2c\20GrPipeline::InputFlags\29 +2836:GrSimpleMesh::set\28sk_sp\2c\20int\2c\20int\29 +2837:GrShape::simplifyRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +2838:GrShape::simplifyRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +2839:GrShape::simplifyPoint\28SkPoint\20const&\2c\20unsigned\20int\29 +2840:GrShape::simplifyLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\29 +2841:GrShape::setInverted\28bool\29 +2842:GrSWMaskHelper::init\28SkIRect\20const&\29 +2843:GrSWMaskHelper::GrSWMaskHelper\28SkAutoPixmapStorage*\29 +2844:GrResourceProvider::refNonAAQuadIndexBuffer\28\29 +2845:GrRenderTask::addTarget\28GrDrawingManager*\2c\20sk_sp\29 +2846:GrRenderTarget::~GrRenderTarget\28\29 +2847:GrQuadUtils::WillUseHairline\28GrQuad\20const&\2c\20GrAAType\2c\20GrQuadAAFlags\29 +2848:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::unpackQuad\28GrQuad::Type\2c\20float\20const*\2c\20GrQuad*\29\20const +2849:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::MetadataIter::next\28\29 +2850:GrProxyProvider::processInvalidUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\29 +2851:GrProxyProvider::createMippedProxyFromBitmap\28SkBitmap\20const&\2c\20skgpu::Budgeted\29::$_0::~$_0\28\29 +2852:GrProgramInfo::GrProgramInfo\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrGeometryProcessor\20const*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2853:GrPipeline::visitProxies\28std::__2::function\20const&\29\20const +2854:GrPipeline::getFragmentProcessor\28int\29\20const +2855:GrPathUtils::scaleToleranceToSrc\28float\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +2856:GrPathUtils::cubicPointCount\28SkPoint\20const*\2c\20float\29 +2857:GrPaint::GrPaint\28GrPaint\20const&\29 +2858:GrOpsRenderPass::prepareToDraw\28\29 +2859:GrOpFlushState::~GrOpFlushState\28\29 +2860:GrOpFlushState::drawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +2861:GrOpFlushState::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const&\2c\20GrPipeline\20const&\29 +2862:GrOp::uniqueID\28\29\20const +2863:GrNativeRect::MakeIRectRelativeTo\28GrSurfaceOrigin\2c\20int\2c\20SkIRect\29 +2864:GrMeshDrawOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2865:GrMapRectPoints\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkPoint*\2c\20int\29 +2866:GrMakeKeyFromImageID\28skgpu::UniqueKey*\2c\20unsigned\20int\2c\20SkIRect\20const&\29 +2867:GrGradientShader::MakeGradientFP\28SkGradientBaseShader\20const&\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\2c\20std::__2::unique_ptr>\2c\20SkMatrix\20const*\29 +2868:GrGpuResource::setUniqueKey\28skgpu::UniqueKey\20const&\29 +2869:GrGpuResource::registerWithCache\28skgpu::Budgeted\29 +2870:GrGpu::writePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +2871:GrGpu::submitToGpu\28GrSyncCpu\29 +2872:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +2873:GrGLTexture::onSetLabel\28\29 +2874:GrGLTexture::onAbandon\28\29 +2875:GrGLTexture::backendFormat\28\29\20const +2876:GrGLSLVaryingHandler::appendDecls\28SkTBlockList\20const&\2c\20SkString*\29\20const +2877:GrGLSLShaderBuilder::newTmpVarName\28char\20const*\29 +2878:GrGLSLShaderBuilder::definitionAppend\28char\20const*\29 +2879:GrGLSLProgramBuilder::invokeFP\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +2880:GrGLSLProgramBuilder::advanceStage\28\29 +2881:GrGLSLFragmentShaderBuilder::dstColor\28\29 +2882:GrGLRenderTarget::bindInternal\28unsigned\20int\2c\20bool\29 +2883:GrGLGpu::unbindXferBuffer\28GrGpuBufferType\29 +2884:GrGLGpu::resolveRenderFBOs\28GrGLRenderTarget*\2c\20SkIRect\20const&\2c\20GrGLRenderTarget::ResolveDirection\2c\20bool\29 +2885:GrGLGpu::flushBlendAndColorWrite\28skgpu::BlendInfo\20const&\2c\20skgpu::Swizzle\20const&\29 +2886:GrGLGpu::currentProgram\28\29 +2887:GrGLGpu::SamplerObjectCache::Sampler::~Sampler\28\29 +2888:GrGLGpu::HWVertexArrayState::setVertexArrayID\28GrGLGpu*\2c\20unsigned\20int\29 +2889:GrGLGetVersionFromString\28char\20const*\29 +2890:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\29 +2891:GrGLFunction::GrGLFunction\28unsigned\20char\20const*\20\28*\29\28unsigned\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\29 +2892:GrGLFinishCallbacks::callAll\28bool\29 +2893:GrGLCheckLinkStatus\28GrGLGpu\20const*\2c\20unsigned\20int\2c\20bool\2c\20skgpu::ShaderErrorHandler*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const**\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +2894:GrGLAttribArrayState::set\28GrGLGpu*\2c\20int\2c\20GrBuffer\20const*\2c\20GrVertexAttribType\2c\20SkSLType\2c\20int\2c\20unsigned\20long\2c\20int\29 +2895:GrFragmentProcessors::Make\28SkBlenderBase\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20GrFPArgs\20const&\29 +2896:GrFragmentProcessor::isEqual\28GrFragmentProcessor\20const&\29\20const +2897:GrFragmentProcessor::Rect\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRect\29 +2898:GrFragmentProcessor::ModulateRGBA\28std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2899:GrDstProxyView::setProxyView\28GrSurfaceProxyView\29 +2900:GrDrawingManager::getPathRenderer\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\2c\20bool\2c\20skgpu::ganesh::PathRendererChain::DrawType\2c\20skgpu::ganesh::PathRenderer::StencilSupport*\29 +2901:GrDrawingManager::getLastRenderTask\28GrSurfaceProxy\20const*\29\20const +2902:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29::'lambda'\28std::__2::function&\29::\28'lambda'\28std::__2::function&\29\20const&\29 +2903:GrDrawOpAtlas::processEvictionAndResetRects\28skgpu::Plot*\29 +2904:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29 +2905:GrDeferredProxyUploader::wait\28\29 +2906:GrCpuBuffer::Make\28unsigned\20long\29 +2907:GrContext_Base::~GrContext_Base\28\29 +2908:GrColorSpaceXform::Make\28SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +2909:GrColorInfo::operator=\28GrColorInfo\20const&\29 +2910:GrClip::IsPixelAligned\28SkRect\20const&\29 +2911:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29::'lambda0'\28float\29::operator\28\29\28float\29\20const +2912:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29::'lambda'\28float\29::operator\28\29\28float\29\20const +2913:GrCaps::supportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +2914:GrCaps::getFallbackColorTypeAndFormat\28GrColorType\2c\20int\29\20const +2915:GrCaps::areColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +2916:GrBufferAllocPool::~GrBufferAllocPool\28\29.1 +2917:GrBufferAllocPool::makeSpace\28unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\29 +2918:GrBufferAllocPool::GrBufferAllocPool\28GrGpu*\2c\20GrGpuBufferType\2c\20sk_sp\29 +2919:GrBlurUtils::DrawShapeWithMaskFilter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\29 +2920:GrBaseContextPriv::getShaderErrorHandler\28\29\20const +2921:GrBackendTexture::GrBackendTexture\28GrBackendTexture\20const&\29 +2922:GrBackendRenderTarget::getBackendFormat\28\29\20const +2923:GrAAConvexTessellator::createOuterRing\28GrAAConvexTessellator::Ring\20const&\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring*\29 +2924:GrAAConvexTessellator::createInsetRings\28GrAAConvexTessellator::Ring&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring**\29 +2925:GrAAConvexTessellator::Ring::init\28GrAAConvexTessellator\20const&\29 +2926:FwDCubicEvaluator::FwDCubicEvaluator\28SkPoint\20const*\29 +2927:FT_Stream_ReadAt +2928:FT_Set_Charmap +2929:FT_New_Size +2930:FT_Load_Sfnt_Table +2931:FT_List_Find +2932:FT_GlyphLoader_Add +2933:FT_Get_Next_Char +2934:FT_Get_Color_Glyph_Layer +2935:FT_Done_Face +2936:FT_CMap_New +2937:Current_Ratio +2938:Compute_Funcs +2939:CircleOp::Circle&\20skia_private::TArray::emplace_back\28CircleOp::Circle&&\29 +2940:CFF::path_procs_t\2c\20cff2_path_param_t>::curve2\28CFF::cff2_cs_interp_env_t&\2c\20cff2_path_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +2941:CFF::path_procs_t\2c\20cff2_extents_param_t>::curve2\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +2942:CFF::path_procs_t::curve2\28CFF::cff1_cs_interp_env_t&\2c\20cff1_path_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +2943:CFF::path_procs_t::curve2\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +2944:CFF::parsed_values_t::operator=\28CFF::parsed_values_t&&\29 +2945:CFF::cs_interp_env_t>>::return_from_subr\28\29 +2946:CFF::cs_interp_env_t>>::in_error\28\29\20const +2947:CFF::cs_interp_env_t>>::call_subr\28CFF::biased_subrs_t>>\20const&\2c\20CFF::cs_type_t\29 +2948:CFF::cs_interp_env_t>>::call_subr\28CFF::biased_subrs_t>>\20const&\2c\20CFF::cs_type_t\29 +2949:CFF::byte_str_ref_t::operator\5b\5d\28int\29 +2950:CFF::arg_stack_t::push_fixed_from_substr\28CFF::byte_str_ref_t&\29 +2951:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +2952:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +2953:CFF::CFFIndex>::offset_at\28unsigned\20int\29\20const +2954:AlmostLessOrEqualUlps\28float\2c\20float\29 +2955:AlmostEqualUlps_Pin\28double\2c\20double\29 +2956:ActiveEdge::intersect\28ActiveEdge\20const*\29 +2957:AAT::Lookup::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +2958:AAT::ClassTable>::get_class\28unsigned\20int\2c\20unsigned\20int\29\20const +2959:wcrtomb +2960:void\20std::__2::vector>::__construct_at_end\28unsigned\20long*\2c\20unsigned\20long*\2c\20unsigned\20long\29 +2961:void\20std::__2::vector>::__construct_at_end\28skia::textlayout::FontFeature*\2c\20skia::textlayout::FontFeature*\2c\20unsigned\20long\29 +2962:void\20std::__2::vector>::__construct_at_end\28SkString*\2c\20SkString*\2c\20unsigned\20long\29 +2963:void\20std::__2::__introsort\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2964:void\20std::__2::__introsort\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\2c\20std::__2::iterator_traits::difference_type\29 +2965:void\20std::__2::__introsort\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2966:void\20std::__2::__inplace_merge\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +2967:void\20skgpu::ganesh::SurfaceFillContext::clear<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2968:void\20skgpu::VertexWriter::writeQuad\28GrQuad\20const&\29 +2969:void\20merge_sort<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2970:void\20merge_sort<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2971:void\20hb_stable_sort\2c\20unsigned\20int>\28OT::HBGlyphID16*\2c\20unsigned\20int\2c\20int\20\28*\29\28OT::IntType\20const*\2c\20OT::IntType\20const*\29\2c\20unsigned\20int*\29 +2972:void\20SkSafeUnref\28sktext::gpu::TextStrike*\29 +2973:void\20SkSafeUnref\28SkMeshSpecification*\29 +2974:void\20SkSafeUnref\28SkMeshPriv::VB\20const*\29 +2975:void\20SkSafeUnref\28GrTexture*\29\20\28.4431\29 +2976:void\20SkSafeUnref\28GrCpuBuffer*\29 +2977:vfprintf +2978:valid_args\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20unsigned\20long*\29 +2979:uprv_malloc_skia +2980:update_offset_to_base\28char\20const*\2c\20long\29 +2981:unsigned\20long\20std::__2::__str_find\5babi:v160004\5d\2c\204294967295ul>\28char\20const*\2c\20unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +2982:unsigned\20long\20const&\20std::__2::min\5babi:v160004\5d\28unsigned\20long\20const&\2c\20unsigned\20long\20const&\29 +2983:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2984:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2985:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2986:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2987:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2988:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2989:ubidi_getRuns_skia +2990:u_charMirror_skia +2991:tt_size_reset +2992:tt_sbit_decoder_load_metrics +2993:tt_glyphzone_done +2994:tt_face_get_location +2995:tt_face_find_bdf_prop +2996:tt_delta_interpolate +2997:tt_cmap14_find_variant +2998:tt_cmap14_char_map_nondef_binary +2999:tt_cmap14_char_map_def_binary +3000:top12.2 +3001:tolower +3002:t1_cmap_unicode_done +3003:subdivide_cubic_to\28SkPath*\2c\20SkPoint\20const*\2c\20int\29 +3004:strtox +3005:strtoull_l +3006:std::logic_error::~logic_error\28\29.1 +3007:std::__2::vector>::__destroy_vector::operator\28\29\5babi:v160004\5d\28\29 +3008:std::__2::vector>\2c\20std::__2::allocator>>>::erase\28std::__2::__wrap_iter>\20const*>\2c\20std::__2::__wrap_iter>\20const*>\29 +3009:std::__2::vector>::__alloc\5babi:v160004\5d\28\29 +3010:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +3011:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +3012:std::__2::vector\2c\20std::__2::allocator>>::vector\5babi:v160004\5d\28std::__2::vector\2c\20std::__2::allocator>>&&\29 +3013:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +3014:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +3015:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +3016:std::__2::vector>::push_back\5babi:v160004\5d\28SkString\20const&\29 +3017:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +3018:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3019:std::__2::vector\2c\20std::__2::allocator>>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +3020:std::__2::vector>::push_back\5babi:v160004\5d\28SkMeshSpecification::Attribute&&\29 +3021:std::__2::unique_ptr\2c\20void*>\2c\20std::__2::__hash_node_destructor\2c\20void*>>>>::~unique_ptr\5babi:v160004\5d\28\29 +3022:std::__2::unique_ptr::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3023:std::__2::unique_ptr\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3024:std::__2::unique_ptr>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3025:std::__2::unique_ptr::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3026:std::__2::unique_ptr\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3027:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3028:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3029:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkTypeface_FreeType::FaceRec*\29 +3030:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkStrikeSpec*\29 +3031:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3032:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3033:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::Pool*\29 +3034:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::Block*\29 +3035:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkDrawableList*\29 +3036:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3037:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkContourMeasureIter::Impl*\29 +3038:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3039:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3040:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3041:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrGLGpu::SamplerObjectCache*\29 +3042:std::__2::unique_ptr>\20GrBlendFragmentProcessor::Make<\28SkBlendMode\296>\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3043:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrDrawingManager*\29 +3044:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrClientMappedBufferManager*\29 +3045:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3046:std::__2::unique_ptr>::reset\5babi:v160004\5d\28FT_FaceRec_*\29 +3047:std::__2::tuple&\20std::__2::tuple::operator=\5babi:v160004\5d\28std::__2::pair&&\29 +3048:std::__2::time_put>>::~time_put\28\29 +3049:std::__2::pair\20std::__2::minmax\5babi:v160004\5d>\28std::initializer_list\2c\20std::__2::__less\29 +3050:std::__2::pair\20std::__2::__copy_trivial::operator\28\29\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +3051:std::__2::locale::locale\28\29 +3052:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\29 +3053:std::__2::ios_base::~ios_base\28\29 +3054:std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29\20const +3055:std::__2::function\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const +3056:std::__2::fpos<__mbstate_t>::fpos\5babi:v160004\5d\28long\20long\29 +3057:std::__2::enable_if::value\2c\20SkRuntimeEffectBuilder::BuilderUniform&>::type\20SkRuntimeEffectBuilder::BuilderUniform::operator=\28SkV2\20const&\29 +3058:std::__2::enable_if\28\29\20==\20std::declval\28\29\29\2c\20bool>\2c\20bool>::type\20std::__2::operator==\5babi:v160004\5d\28std::__2::optional\20const&\2c\20std::__2::optional\20const&\29 +3059:std::__2::deque>::__back_spare\5babi:v160004\5d\28\29\20const +3060:std::__2::default_delete::Traits>::Slot\20\5b\5d>::_EnableIfConvertible::Traits>::Slot>::type\20std::__2::default_delete::Traits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Traits>::Slot>\28skia_private::THashTable::Traits>::Slot*\29\20const +3061:std::__2::chrono::__libcpp_steady_clock_now\28\29 +3062:std::__2::char_traits::move\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +3063:std::__2::char_traits::assign\28char*\2c\20unsigned\20long\2c\20char\29 +3064:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +3065:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29 +3066:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28wchar_t\29 +3067:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +3068:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\29 +3069:std::__2::basic_string\2c\20std::__2::allocator>::pop_back\5babi:v160004\5d\28\29 +3070:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28std::__2::__uninitialized_size_tag\2c\20unsigned\20long\2c\20std::__2::allocator\20const&\29 +3071:std::__2::basic_string\2c\20std::__2::allocator>::__make_iterator\5babi:v160004\5d\28char*\29 +3072:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3073:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +3074:std::__2::basic_streambuf>::~basic_streambuf\28\29 +3075:std::__2::basic_streambuf>::setp\5babi:v160004\5d\28char*\2c\20char*\29 +3076:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3077:std::__2::basic_istream>::~basic_istream\28\29 +3078:std::__2::basic_istream>::sentry::sentry\28std::__2::basic_istream>&\2c\20bool\29 +3079:std::__2::basic_iostream>::~basic_iostream\28\29.1 +3080:std::__2::basic_ios>::~basic_ios\28\29 +3081:std::__2::array\20skgpu::ganesh::SurfaceFillContext::adjustColorAlphaType<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +3082:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3083:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3084:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +3085:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +3086:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28GrRecordingContext*&&\2c\20GrSurfaceProxyView&&\2c\20GrSurfaceProxyView&&\2c\20GrColorInfo\20const&\29 +3087:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28GrRecordingContext*&\2c\20skgpu::ganesh::PathRendererChain::Options&\29 +3088:std::__2::__unique_if>::__unique_single\20std::__2::make_unique\5babi:v160004\5d\2c\20GrDirectContext::DirectContextID>\28GrDirectContext::DirectContextID&&\29 +3089:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::SymbolTable*&\2c\20bool&\29 +3090:std::__2::__tuple_impl\2c\20GrSurfaceProxyView\2c\20sk_sp>::~__tuple_impl\28\29 +3091:std::__2::__split_buffer&>::~__split_buffer\28\29 +3092:std::__2::__optional_destruct_base>\2c\20false>::~__optional_destruct_base\5babi:v160004\5d\28\29 +3093:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3094:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +3095:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3096:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +3097:std::__2::__optional_copy_base::__optional_copy_base\5babi:v160004\5d\28std::__2::__optional_copy_base\20const&\29 +3098:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20wchar_t*\2c\20wchar_t&\2c\20wchar_t&\29 +3099:std::__2::__num_get::__stage2_float_loop\28wchar_t\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20wchar_t*\29 +3100:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20char*\2c\20char&\2c\20char&\29 +3101:std::__2::__num_get::__stage2_float_loop\28char\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20char*\29 +3102:std::__2::__murmur2_or_cityhash::operator\28\29\28void\20const*\2c\20unsigned\20long\29 +3103:std::__2::__libcpp_wcrtomb_l\5babi:v160004\5d\28char*\2c\20wchar_t\2c\20__mbstate_t*\2c\20__locale_struct*\29 +3104:std::__2::__less::operator\28\29\5babi:v160004\5d\28unsigned\20int\20const&\2c\20unsigned\20long\20const&\29\20const +3105:std::__2::__itoa::__base_10_u32\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +3106:std::__2::__itoa::__append6\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +3107:std::__2::__itoa::__append4\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +3108:std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::~__hash_table\28\29 +3109:std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::~__hash_table\28\29 +3110:std::__2::__function::__value_func\2c\20sktext::gpu::RendererData\29>::operator\28\29\5babi:v160004\5d\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29\20const +3111:std::__2::__function::__value_func\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\5babi:v160004\5d\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const +3112:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28std::__2::__function::__base*\29\20const +3113:skvx::Vec<4\2c\20unsigned\20short>\20skvx::to_half<4>\28skvx::Vec<4\2c\20float>\20const&\29 +3114:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator<=<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +3115:skvx::Vec<4\2c\20int>\20skvx::operator~<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\29 +3116:skvx::Vec<4\2c\20int>\20skvx::operator&<4\2c\20int\2c\20int\2c\20void>\28skvx::Vec<4\2c\20int>\20const&\2c\20int\29 +3117:skvx::Vec<4\2c\20float>&\20skvx::operator+=<4\2c\20float>\28skvx::Vec<4\2c\20float>&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +3118:sktext::gpu::VertexFiller::flatten\28SkWriteBuffer&\29\20const +3119:sktext::gpu::TextBlobRedrawCoordinator::BlobIDCacheEntry::find\28sktext::gpu::TextBlob::Key\20const&\29\20const +3120:sktext::gpu::SubRunAllocator::SubRunAllocator\28char*\2c\20int\2c\20int\29 +3121:sktext::gpu::GlyphVector::flatten\28SkWriteBuffer&\29\20const +3122:sktext::gpu::GlyphVector::Make\28sktext::SkStrikePromise&&\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\29 +3123:sktext::gpu::GlyphVector::GlyphVector\28sktext::gpu::GlyphVector&&\29 +3124:sktext::gpu::BagOfBytes::PlatformMinimumSizeWithOverhead\28int\2c\20int\29 +3125:sktext::SkStrikePromise::flatten\28SkWriteBuffer&\29\20const +3126:sktext::GlyphRunList::sourceBoundsWithOrigin\28\29\20const +3127:skpaint_to_grpaint_impl\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::optional>>\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +3128:skip_literal_string +3129:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +3130:skif::RoundOut\28SkRect\29 +3131:skif::Mapping::Mapping\28\29 +3132:skif::LayerSpace\20skif::Mapping::paramToLayer\28skif::ParameterSpace\20const&\29\20const +3133:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +3134:skif::LayerSpace::inset\28skif::LayerSpace\20const&\29 +3135:skif::FilterResult::operator=\28skif::FilterResult\20const&\29 +3136:skif::FilterResult::insetByPixel\28\29\20const +3137:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20bool\2c\20SkBlender\20const*\29\20const +3138:skif::FilterResult::applyColorFilter\28skif::Context\20const&\2c\20sk_sp\29\20const +3139:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\29 +3140:skif::FilterResult::Builder::~Builder\28\29 +3141:skif::Context::withNewSource\28skif::FilterResult\20const&\29\20const +3142:skif::Context::operator=\28skif::Context&&\29 +3143:skif::Backend::~Backend\28\29 +3144:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot::reset\28\29 +3145:skia_private::THashTable::Pair\2c\20SkSL::Symbol\20const*\2c\20skia_private::THashMap::Pair>::firstPopulatedSlot\28\29\20const +3146:skia_private::THashTable::Pair\2c\20SkSL::Symbol\20const*\2c\20skia_private::THashMap::Pair>::Iter>::operator++\28\29 +3147:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +3148:skia_private::THashTable::AdaptedTraits>::Hash\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +3149:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::Slot::reset\28\29 +3150:skia_private::THashTable::Traits>::Hash\28long\20long\20const&\29 +3151:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::Hash\28SkImageFilterCacheKey\20const&\29 +3152:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::findOrNull\28skgpu::ScratchKey\20const&\29\20const +3153:skia_private::THashTable::Traits>::set\28SkSL::Variable\20const*\29 +3154:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::uncheckedSet\28SkLRUCache::Entry*&&\29 +3155:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::Hash\28GrProgramDesc\20const&\29 +3156:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +3157:skia_private::THashTable::Traits>::Hash\28FT_Opaque_Paint_\20const&\29 +3158:skia_private::THashMap\2c\20SkGoodHash>::find\28SkString\20const&\29\20const +3159:skia_private::THashMap>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::unique_ptr>\29 +3160:skia_private::THashMap::find\28SkSL::Variable\20const*\20const&\29\20const +3161:skia_private::THashMap::operator\5b\5d\28SkSL::SymbolTable::SymbolKey\20const&\29 +3162:skia_private::THashMap::find\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3163:skia_private::THashMap::find\28SkSL::IRNode\20const*\20const&\29\20const +3164:skia_private::THashMap::set\28SkSL::FunctionDeclaration\20const*\2c\20unsigned\20long\29 +3165:skia_private::THashMap>\2c\20SkGoodHash>::find\28SkImageFilter\20const*\20const&\29\20const +3166:skia_private::TArray::resize_back\28int\29 +3167:skia_private::TArray::push_back_raw\28int\29 +3168:skia_private::TArray::operator==\28skia_private::TArray\20const&\29\20const +3169:skia_private::TArray::reserve_exact\28int\29 +3170:skia_private::TArray>\2c\20true>::checkRealloc\28int\2c\20double\29 +3171:skia_private::TArray\2c\20true>::push_back\28std::__2::array&&\29 +3172:skia_private::TArray::clear\28\29 +3173:skia_private::TArray::clear\28\29 +3174:skia_private::TArray::TArray\28skia_private::TArray\20const&\29 +3175:skia_private::TArray::TArray\28skia_private::TArray\20const&\29 +3176:skia_private::TArray::~TArray\28\29 +3177:skia_private::TArray::move\28void*\29 +3178:skia_private::TArray::BufferFinishedMessage\2c\20false>::~TArray\28\29 +3179:skia_private::TArray::BufferFinishedMessage\2c\20false>::move\28void*\29 +3180:skia_private::TArray\2c\20true>::push_back\28sk_sp&&\29 +3181:skia_private::TArray::reserve_exact\28int\29 +3182:skia_private::TArray::push_back_n\28int\2c\20int\20const&\29 +3183:skia_private::TArray\2c\20true>::Allocate\28int\2c\20double\29 +3184:skia_private::TArray::reserve_exact\28int\29 +3185:skia_private::TArray::~TArray\28\29 +3186:skia_private::TArray::move\28void*\29 +3187:skia_private::AutoSTMalloc<8ul\2c\20unsigned\20int\2c\20void>::reset\28unsigned\20long\29 +3188:skia_private::AutoSTArray<20\2c\20SkGlyph\20const*>::reset\28int\29 +3189:skia_private::AutoSTArray<16\2c\20SkRect>::reset\28int\29 +3190:skia_private::AutoSTArray<128\2c\20unsigned\20char>::reset\28int\29 +3191:skia_png_sig_cmp +3192:skia_png_set_text_2 +3193:skia_png_realloc_array +3194:skia_png_get_uint_31 +3195:skia_png_check_fp_string +3196:skia_png_check_fp_number +3197:skia_png_app_warning +3198:skia_png_app_error +3199:skia::textlayout::\28anonymous\20namespace\29::intersected\28skia::textlayout::SkRange\20const&\2c\20skia::textlayout::SkRange\20const&\29 +3200:skia::textlayout::\28anonymous\20namespace\29::draw_line_as_rect\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +3201:skia::textlayout::TypefaceFontStyleSet::createTypeface\28int\29 +3202:skia::textlayout::TextStyle::setForegroundColor\28SkPaint\29 +3203:skia::textlayout::TextStyle::setBackgroundColor\28SkPaint\29 +3204:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29 +3205:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::$_0::operator\28\29\28sk_sp\2c\20sk_sp\29\20const +3206:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const::$_0::operator\28\29\28skia::textlayout::SkRange\2c\20float\29\20const +3207:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const +3208:skia::textlayout::TextBox&\20std::__2::vector>::emplace_back\28SkRect&\2c\20skia::textlayout::TextDirection&&\29 +3209:skia::textlayout::StrutStyle::StrutStyle\28skia::textlayout::StrutStyle\20const&\29 +3210:skia::textlayout::Run::isResolved\28\29\20const +3211:skia::textlayout::Run::copyTo\28SkTextBlobBuilder&\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +3212:skia::textlayout::Run::calculateWidth\28unsigned\20long\2c\20unsigned\20long\2c\20bool\29\20const +3213:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle&&\29 +3214:skia::textlayout::ParagraphImpl::getGlyphPositionAtCoordinate\28float\2c\20float\29 +3215:skia::textlayout::ParagraphImpl::findNextGraphemeBoundary\28unsigned\20long\29\20const +3216:skia::textlayout::ParagraphImpl::findAllBlocks\28skia::textlayout::SkRange\29 +3217:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +3218:skia::textlayout::ParagraphImpl::buildClusterTable\28\29 +3219:skia::textlayout::ParagraphCacheKey::operator==\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +3220:skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +3221:skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29 +3222:skia::textlayout::ParagraphBuilderImpl::endRunIfNeeded\28\29 +3223:skia::textlayout::OneLineShaper::~OneLineShaper\28\29 +3224:skia::textlayout::LineMetrics::LineMetrics\28\29 +3225:skia::textlayout::FontCollection::FamilyKey::~FamilyKey\28\29 +3226:skia::textlayout::Cluster::isSoftBreak\28\29\20const +3227:skia::textlayout::Block::Block\28skia::textlayout::Block\20const&\29 +3228:skgpu::ganesh::\28anonymous\20namespace\29::add_quad_segment\28SkPoint\20const*\2c\20skia_private::TArray*\29 +3229:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::Entry::Entry\28skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::Entry&&\29 +3230:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +3231:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::programInfo\28\29 +3232:skgpu::ganesh::SurfaceFillContext::internalClear\28SkIRect\20const*\2c\20std::__2::array\2c\20bool\29 +3233:skgpu::ganesh::SurfaceFillContext::discard\28\29 +3234:skgpu::ganesh::SurfaceFillContext::addOp\28std::__2::unique_ptr>\29 +3235:skgpu::ganesh::SurfaceDrawContext::wrapsVkSecondaryCB\28\29\20const +3236:skgpu::ganesh::SurfaceDrawContext::stencilRect\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const*\29 +3237:skgpu::ganesh::SurfaceDrawContext::fillQuadWithEdgeAA\28GrClip\20const*\2c\20GrPaint&&\2c\20GrQuadAAFlags\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkPoint\20const*\29 +3238:skgpu::ganesh::SurfaceDrawContext::drawPath\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrStyle\20const&\29 +3239:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29 +3240:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +3241:skgpu::ganesh::SurfaceContext::rescale\28GrImageInfo\20const&\2c\20GrSurfaceOrigin\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +3242:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29::$_0::operator\28\29\28GrSurfaceProxyView\2c\20SkIRect\29\20const +3243:skgpu::ganesh::SurfaceContext::SurfaceContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +3244:skgpu::ganesh::SmallPathShapeDataKey::operator==\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29\20const +3245:skgpu::ganesh::QuadPerEdgeAA::MinColorType\28SkRGBA4f<\28SkAlphaType\292>\29 +3246:skgpu::ganesh::PathTessellator::~PathTessellator\28\29 +3247:skgpu::ganesh::PathCurveTessellator::draw\28GrOpFlushState*\29\20const +3248:skgpu::ganesh::OpsTask::~OpsTask\28\29 +3249:skgpu::ganesh::OpsTask::recordOp\28std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\2c\20GrCaps\20const&\29 +3250:skgpu::ganesh::FilterAndMipmapHaveNoEffect\28GrQuad\20const&\2c\20GrQuad\20const&\29 +3251:skgpu::ganesh::FillRectOp::MakeNonAARect\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +3252:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::can_use_hw_derivatives_with_coverage\28skvx::Vec<2\2c\20float>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\29 +3253:skgpu::ganesh::FillRRectOp::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +3254:skgpu::ganesh::Device::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +3255:skgpu::ganesh::Device::drawImageQuadDirect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +3256:skgpu::ganesh::Device::Make\28std::__2::unique_ptr>\2c\20SkAlphaType\2c\20skgpu::ganesh::Device::InitContents\29 +3257:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::setup_dashed_rect\28SkRect\20const&\2c\20skgpu::VertexWriter&\2c\20SkMatrix\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashCap\29 +3258:skgpu::ganesh::ClipStack::~ClipStack\28\29 +3259:skgpu::ganesh::ClipStack::writableSaveRecord\28bool*\29 +3260:skgpu::ganesh::ClipStack::end\28\29\20const +3261:skgpu::ganesh::ClipStack::clip\28skgpu::ganesh::ClipStack::RawElement&&\29 +3262:skgpu::ganesh::ClipStack::clipState\28\29\20const +3263:skgpu::ganesh::ClipStack::SaveRecord::invalidateMasks\28GrProxyProvider*\2c\20SkTBlockList*\29 +3264:skgpu::ganesh::ClipStack::SaveRecord::genID\28\29\20const +3265:skgpu::ganesh::ClipStack::RawElement::operator=\28skgpu::ganesh::ClipStack::RawElement&&\29 +3266:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::SaveRecord\20const&\29\20const +3267:skgpu::ganesh::ClipStack::RawElement::RawElement\28SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\2c\20SkClipOp\29 +3268:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +3269:skgpu::Swizzle::apply\28SkRasterPipeline*\29\20const +3270:skgpu::Swizzle::applyTo\28std::__2::array\29\20const +3271:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29 +3272:skgpu::ScratchKey::GenerateResourceType\28\29 +3273:skgpu::RectanizerSkyline::reset\28\29 +3274:skgpu::Plot::addSubImage\28int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +3275:sk_sp::~sk_sp\28\29 +3276:sk_sp::reset\28SkMeshSpecification*\29 +3277:sk_sp::operator=\28sk_sp&&\29 +3278:sk_sp::reset\28GrTextureProxy*\29 +3279:sk_sp::reset\28GrTexture*\29 +3280:sk_sp::operator=\28sk_sp&&\29 +3281:sk_sp::reset\28GrCpuBuffer*\29 +3282:sk_sp&\20sk_sp::operator=\28sk_sp&&\29 +3283:sk_sp&\20sk_sp::operator=\28sk_sp\20const&\29 +3284:skData_getSize +3285:sift +3286:set_initial_texture_params\28GrGLInterface\20const*\2c\20GrGLCaps\20const&\2c\20unsigned\20int\29 +3287:setRegionCheck\28SkRegion*\2c\20SkRegion\20const&\29 +3288:setLevelsOutsideIsolates\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\29 +3289:sect_with_vertical\28SkPoint\20const*\2c\20float\29 +3290:sampler_key\28GrTextureType\2c\20skgpu::Swizzle\20const&\2c\20GrCaps\20const&\29 +3291:round\28SkPoint*\29 +3292:read_color_line +3293:quick_inverse\28int\29 +3294:quad_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3295:psh_globals_set_scale +3296:ps_tofixedarray +3297:ps_parser_skip_PS_token +3298:ps_mask_test_bit +3299:ps_mask_table_alloc +3300:ps_mask_ensure +3301:ps_dimension_reset_mask +3302:ps_builder_init +3303:ps_builder_done +3304:pow +3305:portable::parametric_k\28skcms_TransferFunction\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3306:portable::hsl_to_rgb_k\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3307:portable::gamma__k\28float\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3308:portable::PQish_k\28skcms_TransferFunction\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3309:portable::HLGish_k\28skcms_TransferFunction\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3310:portable::HLGinvish_k\28skcms_TransferFunction\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3311:points_are_colinear_and_b_is_middle\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float*\29 +3312:png_zlib_inflate +3313:png_inflate_read +3314:png_inflate_claim +3315:png_build_8bit_table +3316:png_build_16bit_table +3317:picture_approximateBytesUsed +3318:path_addOval +3319:paragraph_dispose +3320:operator==\28SkPath\20const&\2c\20SkPath\20const&\29 +3321:operator!=\28SkString\20const&\2c\20SkString\20const&\29 +3322:normalize +3323:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::glyphCount\28\29\20const +3324:non-virtual\20thunk\20to\20GrOpFlushState::deferredUploadTarget\28\29 +3325:nextafterf +3326:move_nearby\28SkOpContourHead*\29 +3327:make_unpremul_effect\28std::__2::unique_ptr>\29 +3328:machine_index_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>::operator==\28machine_index_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>\20const&\29\20const +3329:long\20std::__2::__libcpp_atomic_refcount_decrement\5babi:v160004\5d\28long&\29 +3330:long\20const&\20std::__2::min\5babi:v160004\5d\28long\20const&\2c\20long\20const&\29 +3331:log1p +3332:load_truetype_glyph +3333:load\28unsigned\20char\20const*\2c\20int\2c\20void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\29 +3334:line_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3335:lineMetrics_getStartIndex +3336:just_solid_color\28SkPaint\20const&\29 +3337:is_reflex_vertex\28SkPoint\20const*\2c\20int\2c\20float\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +3338:inner_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +3339:inflate_table +3340:image_filter_color_type\28SkColorInfo\20const&\29 +3341:hb_vector_t::push\28\29 +3342:hb_vector_t\2c\20false>::shrink_vector\28unsigned\20int\29 +3343:hb_utf8_t::next\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int\29 +3344:hb_shape_plan_destroy +3345:hb_serialize_context_t::object_t::hash\28\29\20const +3346:hb_script_get_horizontal_direction +3347:hb_pool_t::alloc\28\29 +3348:hb_paint_funcs_t::push_clip_rectangle\28void*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3349:hb_paint_funcs_t::push_clip_glyph\28void*\2c\20unsigned\20int\2c\20hb_font_t*\29 +3350:hb_paint_funcs_t::image\28void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\29 +3351:hb_paint_funcs_t::color\28void*\2c\20int\2c\20unsigned\20int\29 +3352:hb_paint_extents_context_t::push_clip\28hb_extents_t\29 +3353:hb_ot_map_t::get_mask\28unsigned\20int\2c\20unsigned\20int*\29\20const +3354:hb_lazy_loader_t\2c\20hb_face_t\2c\202u\2c\20hb_blob_t>::get\28\29\20const +3355:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get\28\29\20const +3356:hb_lazy_loader_t\2c\20hb_face_t\2c\201u\2c\20hb_blob_t>::get\28\29\20const +3357:hb_lazy_loader_t\2c\20hb_face_t\2c\2018u\2c\20hb_blob_t>::get\28\29\20const +3358:hb_lazy_loader_t\2c\20hb_face_t\2c\203u\2c\20OT::cmap_accelerator_t>::get_stored\28\29\20const +3359:hb_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>\2c\20OT::HBGlyphID16&>::end\28\29\20const +3360:hb_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>\2c\20hb_pair_t>::operator++\28\29\20& +3361:hb_hashmap_t::item_t::operator==\28hb_serialize_context_t::object_t\20const*\20const&\29\20const +3362:hb_font_t::mults_changed\28\29 +3363:hb_font_t::has_glyph_h_origin_func\28\29 +3364:hb_font_t::has_func\28unsigned\20int\29 +3365:hb_font_t::get_nominal_glyphs\28unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\29 +3366:hb_font_t::get_glyph_v_origin\28unsigned\20int\2c\20int*\2c\20int*\29 +3367:hb_font_t::get_glyph_v_advances\28unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\29 +3368:hb_font_t::get_glyph_h_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +3369:hb_font_t::get_glyph_h_origin\28unsigned\20int\2c\20int*\2c\20int*\29 +3370:hb_font_t::get_glyph_h_advances\28unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\29 +3371:hb_font_t::get_glyph_contour_point_for_origin\28unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20int*\2c\20int*\29 +3372:hb_font_funcs_destroy +3373:hb_draw_cubic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +3374:hb_buffer_t::output_info\28hb_glyph_info_t\20const&\29 +3375:hb_buffer_t::digest\28\29\20const +3376:hb_buffer_t::_infos_set_glyph_flags\28hb_glyph_info_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3377:hb_buffer_t::_infos_find_min_cluster\28hb_glyph_info_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3378:hb_buffer_set_length +3379:hb_buffer_create +3380:hb_blob_ptr_t::destroy\28\29 +3381:haircubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +3382:gray_render_line +3383:gl_target_to_gr_target\28unsigned\20int\29 +3384:gl_target_to_binding_index\28unsigned\20int\29 +3385:get_vendor\28char\20const*\29 +3386:get_renderer\28char\20const*\2c\20GrGLExtensions\20const&\29 +3387:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29 +3388:get_joining_type\28unsigned\20int\2c\20hb_unicode_general_category_t\29 +3389:get_child_table_pointer +3390:generate_distance_field_from_image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\29 +3391:gaussianIntegral\28float\29 +3392:ft_var_readpackeddeltas +3393:ft_var_done_item_variation_store +3394:ft_glyphslot_alloc_bitmap +3395:ft_face_get_mm_service +3396:freelocale +3397:fputc +3398:fp_barrierf +3399:float*\20SkArenaAlloc::makeArray\28unsigned\20long\29 +3400:fixN0c\28BracketData*\2c\20int\2c\20int\2c\20unsigned\20char\29 +3401:filter_to_gl_min_filter\28SkFilterMode\2c\20SkMipmapMode\29 +3402:exp2 +3403:em_task_queue_execute +3404:dquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3405:do_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +3406:do_anti_hairline\28int\2c\20int\2c\20int\2c\20int\2c\20SkIRect\20const*\2c\20SkBlitter*\29 +3407:dline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3408:directionFromFlags\28UBiDi*\29 +3409:destroy_face +3410:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0>\28skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3411:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool&\2c\20GrPipeline*&\2c\20GrUserStencilSettings\20const*&&\2c\20\28anonymous\20namespace\29::DrawAtlasPathShader*&\2c\20GrPrimitiveType&&\2c\20GrXferBarrierFlags&\2c\20GrLoadOp&\29::'lambda'\28void*\29>\28GrProgramInfo&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3412:dcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3413:dconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3414:cubic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3415:conic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3416:cleanup_shaders\28GrGLGpu*\2c\20SkTDArray\20const&\29 +3417:chop_mono_cubic_at_y\28SkPoint*\2c\20float\2c\20SkPoint*\29 +3418:check_inverse_on_empty_return\28SkRegion*\2c\20SkPath\20const&\2c\20SkRegion\20const&\29 +3419:check_intersection\28SkAnalyticEdge\20const*\2c\20int\2c\20int*\29 +3420:char\20const*\20std::__2::find\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char\20const&\29 +3421:cff_parse_real +3422:cff_parse_integer +3423:cff_index_read_offset +3424:cff_index_get_pointers +3425:cff_index_access_element +3426:cff2_path_param_t::move_to\28CFF::point_t\20const&\29 +3427:cff1_path_param_t::move_to\28CFF::point_t\20const&\29 +3428:cf2_hintmap_map +3429:cf2_glyphpath_pushPrevElem +3430:cf2_glyphpath_computeOffset +3431:cf2_glyphpath_closeOpenPath +3432:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_1::operator\28\29\28int\29\20const +3433:calc_dot_cross_cubic\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +3434:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3435:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3436:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3437:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3438:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3439:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3440:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3441:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3442:byn$mgfn-shared$void\20GrGLProgramDataManager::setMatrices<2>\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +3443:byn$mgfn-shared$std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +3444:byn$mgfn-shared$std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +3445:byn$mgfn-shared$std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3446:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3447:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +3448:byn$mgfn-shared$skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3449:byn$mgfn-shared$skia_private::TArray<\28anonymous\20namespace\29::DrawAtlasOpImpl::Geometry\2c\20true>::checkRealloc\28int\2c\20double\29 +3450:byn$mgfn-shared$skia_private::TArray::checkRealloc\28int\2c\20double\29 +3451:byn$mgfn-shared$skia_private::AutoSTMalloc<4ul\2c\20int\2c\20void>::AutoSTMalloc\28unsigned\20long\29 +3452:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3453:byn$mgfn-shared$skgpu::Swizzle::RGBA\28\29 +3454:byn$mgfn-shared$resource_cache_mutex\28\29 +3455:byn$mgfn-shared$portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3456:byn$mgfn-shared$portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3457:byn$mgfn-shared$portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3458:byn$mgfn-shared$portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3459:byn$mgfn-shared$portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3460:byn$mgfn-shared$portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3461:byn$mgfn-shared$portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3462:byn$mgfn-shared$portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3463:byn$mgfn-shared$portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3464:byn$mgfn-shared$portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3465:byn$mgfn-shared$portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3466:byn$mgfn-shared$portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3467:byn$mgfn-shared$portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3468:byn$mgfn-shared$portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3469:byn$mgfn-shared$portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3470:byn$mgfn-shared$portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3471:byn$mgfn-shared$portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3472:byn$mgfn-shared$portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3473:byn$mgfn-shared$portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3474:byn$mgfn-shared$portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3475:byn$mgfn-shared$portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3476:byn$mgfn-shared$portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3477:byn$mgfn-shared$portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3478:byn$mgfn-shared$portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3479:byn$mgfn-shared$portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3480:byn$mgfn-shared$portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3481:byn$mgfn-shared$portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3482:byn$mgfn-shared$portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3483:byn$mgfn-shared$portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3484:byn$mgfn-shared$portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3485:byn$mgfn-shared$portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3486:byn$mgfn-shared$portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3487:byn$mgfn-shared$portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3488:byn$mgfn-shared$portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3489:byn$mgfn-shared$portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3490:byn$mgfn-shared$portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3491:byn$mgfn-shared$portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3492:byn$mgfn-shared$portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3493:byn$mgfn-shared$portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3494:byn$mgfn-shared$SkTBlockList::pushItem\28\29 +3495:byn$mgfn-shared$SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +3496:byn$mgfn-shared$SkImage_Base::isGaneshBacked\28\29\20const +3497:byn$mgfn-shared$Round_To_Grid +3498:byn$mgfn-shared$LineQuadraticIntersections::addLineNearEndPoints\28\29 +3499:byn$mgfn-shared$GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +3500:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +3501:byn$mgfn-shared$DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3502:bracketProcessBoundary\28BracketData*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +3503:bracketAddOpening\28BracketData*\2c\20char16_t\2c\20int\29 +3504:bool\20std::__2::equal\5babi:v160004\5d\28float\20const*\2c\20float\20const*\2c\20float\20const*\2c\20std::__2::__equal_to\29 +3505:bool\20OT::would_match_input>\28OT::hb_would_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20bool\20\28*\29\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29\2c\20void\20const*\29 +3506:bool\20OT::match_lookahead>\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20bool\20\28*\29\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29\2c\20void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +3507:bool\20OT::match_backtrack>\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20bool\20\28*\29\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29\2c\20void\20const*\2c\20unsigned\20int*\29 +3508:bool\20OT::glyf_impl::Glyph::get_points\28hb_font_t*\2c\20OT::glyf_accelerator_t\20const&\2c\20contour_point_vector_t&\2c\20contour_point_vector_t*\2c\20head_maxp_info_t*\2c\20unsigned\20int*\2c\20bool\2c\20bool\2c\20bool\2c\20hb_array_t\2c\20hb_map_t*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +3509:bool\20OT::glyf_accelerator_t::get_points\28hb_font_t*\2c\20unsigned\20int\2c\20OT::glyf_accelerator_t::points_aggregator_t\29\20const +3510:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3511:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3512:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3513:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3514:blitrect\28SkBlitter*\2c\20SkIRect\20const&\29 +3515:blit_single_alpha\28AdditiveBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +3516:blit_aaa_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +3517:atan +3518:append_index_uv_varyings\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20char\20const*\2c\20char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVarying*\2c\20GrGLSLVarying*\29 +3519:antifillrect\28SkRect\20const&\2c\20SkBlitter*\29 +3520:af_property_get_face_globals +3521:af_latin_hints_link_segments +3522:af_latin_compute_stem_width +3523:af_latin_align_linked_edge +3524:af_iup_interp +3525:af_glyph_hints_save +3526:af_glyph_hints_done +3527:af_cjk_align_linked_edge +3528:add_quad\28SkPoint\20const*\2c\20skia_private::TArray*\29 +3529:acosf +3530:acos +3531:aaa_fill_path\28SkPath\20const&\2c\20SkIRect\20const&\2c\20AdditiveBlitter*\2c\20int\2c\20int\2c\20bool\2c\20bool\2c\20bool\29 +3532:a_swap +3533:a_store +3534:a_cas_p.9086 +3535:_iup_worker_interpolate +3536:_hb_head_t\29&>\28fp\29\2c\20std::forward>\28fp0\29\2c\20\28hb_priority<16u>\29\28\29\29\29>::type\20$_14::operator\28\29\29&\2c\20hb_pair_t>\28find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29&\2c\20hb_pair_t&&\29\20const +3537:_hb_font_adopt_var_coords\28hb_font_t*\2c\20int*\2c\20float*\2c\20unsigned\20int\29 +3538:_get_path\28OT::cff1::accelerator_t\20const*\2c\20hb_font_t*\2c\20unsigned\20int\2c\20hb_draw_session_t&\2c\20bool\2c\20CFF::point_t*\29 +3539:_get_bounds\28OT::cff1::accelerator_t\20const*\2c\20unsigned\20int\2c\20bounds_t&\2c\20bool\29 +3540:__trunctfdf2 +3541:__towrite +3542:__toread +3543:__tl_unlock +3544:__tl_lock +3545:__timedwait_cp +3546:__subtf3 +3547:__strchrnul +3548:__rem_pio2f +3549:__rem_pio2 +3550:__pthread_mutex_trylock +3551:__overflow +3552:__fwritex +3553:__cxxabiv1::__class_type_info::process_static_type_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\29\20const +3554:__cxxabiv1::__class_type_info::process_static_type_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\29\20const +3555:__cxxabiv1::__class_type_info::process_found_base_class\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +3556:__cxxabiv1::__base_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +3557:\28anonymous\20namespace\29::split_conic\28SkPoint\20const*\2c\20SkConic*\2c\20float\29 +3558:\28anonymous\20namespace\29::single_pass_shape\28GrStyledShape\20const&\29 +3559:\28anonymous\20namespace\29::shift_left\28skvx::Vec<4\2c\20float>\20const&\2c\20int\29 +3560:\28anonymous\20namespace\29::shape_contains_rect\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20bool\29 +3561:\28anonymous\20namespace\29::set_gl_stencil\28GrGLInterface\20const*\2c\20GrStencilSettings::Face\20const&\2c\20unsigned\20int\29 +3562:\28anonymous\20namespace\29::make_blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\2c\20std::__2::optional\2c\20bool\29::$_0::operator\28\29\28sk_sp\29\20const +3563:\28anonymous\20namespace\29::get_tile_count\28SkIRect\20const&\2c\20int\29 +3564:\28anonymous\20namespace\29::generateGlyphPathStatic\28FT_FaceRec_*\2c\20SkPath*\29 +3565:\28anonymous\20namespace\29::generateFacePathCOLRv1\28FT_FaceRec_*\2c\20unsigned\20short\2c\20SkPath*\29 +3566:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_0::operator\28\29\28SkPoint\20const*\2c\20bool\29\20const +3567:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads_with_constraint\28SkPoint\20const*\2c\20float\2c\20SkPathFirstDirection\2c\20skia_private::TArray*\2c\20int\29 +3568:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\2c\20int\2c\20bool\2c\20bool\29 +3569:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const +3570:\28anonymous\20namespace\29::calculate_colors\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20skgpu::MaskFormat\2c\20GrPaint*\29 +3571:\28anonymous\20namespace\29::bloat_quad\28SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkMatrix\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +3572:\28anonymous\20namespace\29::TriangulatingPathOp::CreateMesh\28GrMeshDrawTarget*\2c\20sk_sp\2c\20int\2c\20int\29 +3573:\28anonymous\20namespace\29::TransformedMaskSubRun::~TransformedMaskSubRun\28\29.1 +3574:\28anonymous\20namespace\29::TransformedMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +3575:\28anonymous\20namespace\29::TransformedMaskSubRun::glyphs\28\29\20const +3576:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29 +3577:\28anonymous\20namespace\29::SkMorphologyImageFilter::radii\28skif::Mapping\20const&\29\20const +3578:\28anonymous\20namespace\29::SkFTGeometrySink::goingTo\28FT_Vector_\20const*\29 +3579:\28anonymous\20namespace\29::SkCropImageFilter::cropRect\28skif::Mapping\20const&\29\20const +3580:\28anonymous\20namespace\29::ShapedRun::~ShapedRun\28\29 +3581:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +3582:\28anonymous\20namespace\29::PathSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +3583:\28anonymous\20namespace\29::MemoryPoolAccessor::pool\28\29\20const +3584:\28anonymous\20namespace\29::DrawAtlasOpImpl::visitProxies\28std::__2::function\20const&\29\20const +3585:\28anonymous\20namespace\29::DrawAtlasOpImpl::programInfo\28\29 +3586:\28anonymous\20namespace\29::DrawAtlasOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +3587:TT_Vary_Apply_Glyph_Deltas +3588:TT_Set_Var_Design +3589:TT_Get_VMetrics +3590:SkWriter32::writeRegion\28SkRegion\20const&\29 +3591:SkVertices::Sizes::Sizes\28SkVertices::Desc\20const&\29 +3592:SkVertices::MakeCopy\28SkVertices::VertexMode\2c\20int\2c\20SkPoint\20const*\2c\20SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20short\20const*\29 +3593:SkVertices::Builder::~Builder\28\29 +3594:SkVertices::Builder::detach\28\29 +3595:SkUnitScalarClampToByte\28float\29 +3596:SkUTF::ToUTF16\28int\2c\20unsigned\20short*\29 +3597:SkTypeface_FreeType::~SkTypeface_FreeType\28\29 +3598:SkTextBlobBuilder::updateDeferredBounds\28\29 +3599:SkTextBlobBuilder::allocInternal\28SkFont\20const&\2c\20SkTextBlob::GlyphPositioning\2c\20int\2c\20int\2c\20SkPoint\2c\20SkRect\20const*\29 +3600:SkTextBlob::RunRecord::textSizePtr\28\29\20const +3601:SkTSpan::markCoincident\28\29 +3602:SkTSect::markSpanGone\28SkTSpan*\29 +3603:SkTSect::computePerpendiculars\28SkTSect*\2c\20SkTSpan*\2c\20SkTSpan*\29 +3604:SkTMultiMap::insert\28skgpu::ScratchKey\20const&\2c\20GrGpuResource*\29 +3605:SkTDStorage::moveTail\28int\2c\20int\2c\20int\29 +3606:SkTDStorage::calculateSizeOrDie\28int\29 +3607:SkTDArray::append\28int\29 +3608:SkTDArray::append\28\29 +3609:SkTConic::hullIntersects\28SkDConic\20const&\2c\20bool*\29\20const +3610:SkTBlockList::pop_back\28\29 +3611:SkSurface_Base::~SkSurface_Base\28\29 +3612:SkSurface_Base::aboutToDraw\28SkSurface::ContentChangeMode\29 +3613:SkStrokeRec::init\28SkPaint\20const&\2c\20SkPaint::Style\2c\20float\29 +3614:SkStrokeRec::getInflationRadius\28\29\20const +3615:SkString::printVAList\28char\20const*\2c\20void*\29 +3616:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec&&\29 +3617:SkStrikeSpec::MakeWithNoDevice\28SkFont\20const&\2c\20SkPaint\20const*\29 +3618:SkStrikeSpec::MakePath\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\29 +3619:SkStrikeCache::findOrCreateStrike\28SkStrikeSpec\20const&\29 +3620:SkStrike::prepareForPath\28SkGlyph*\29 +3621:SkSpriteBlitter::SkSpriteBlitter\28SkPixmap\20const&\29 +3622:SkSpecialImage::~SkSpecialImage\28\29 +3623:SkSpecialImage::makeSubset\28SkIRect\20const&\29\20const +3624:SkSpecialImage::makePixelOutset\28\29\20const +3625:SkShapers::HB::ScriptRunIterator\28char\20const*\2c\20unsigned\20long\29 +3626:SkShaper::TrivialRunIterator::endOfCurrentRun\28\29\20const +3627:SkShaper::TrivialRunIterator::consume\28\29 +3628:SkShaper::TrivialRunIterator::atEnd\28\29\20const +3629:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29 +3630:SkShaders::MatrixRec::MatrixRec\28SkMatrix\20const&\29 +3631:SkShaderUtils::GLSLPrettyPrint::tabString\28\29 +3632:SkScanClipper::~SkScanClipper\28\29 +3633:SkScanClipper::SkScanClipper\28SkBlitter*\2c\20SkRegion\20const*\2c\20SkIRect\20const&\2c\20bool\2c\20bool\29 +3634:SkScan::HairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +3635:SkScan::FillTriangle\28SkPoint\20const*\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3636:SkScan::FillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3637:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3638:SkScan::AntiHairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3639:SkScan::AntiHairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +3640:SkScan::AntiFillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +3641:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\2c\20bool\29 +3642:SkScalerContext_FreeType::updateGlyphBoundsIfSubpixel\28SkGlyph\20const&\2c\20SkRect*\2c\20bool\29 +3643:SkScalerContextRec::CachedMaskGamma\28unsigned\20char\2c\20unsigned\20char\29 +3644:SkScalerContextFTUtils::drawSVGGlyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +3645:SkScalerContext::~SkScalerContext\28\29 +3646:SkSTArenaAlloc<2048ul>::SkSTArenaAlloc\28unsigned\20long\29 +3647:SkSL::type_is_valid_for_coords\28SkSL::Type\20const&\29 +3648:SkSL::simplify_negation\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\29 +3649:SkSL::simplify_matrix_multiplication\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3650:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +3651:SkSL::replace_empty_with_nop\28std::__2::unique_ptr>\2c\20bool\29 +3652:SkSL::find_generic_index\28SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20bool\29 +3653:SkSL::evaluate_intrinsic_numeric\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +3654:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29 +3655:SkSL::coalesce_n_way_vector\28SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +3656:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_0::operator\28\29\28int\29\20const +3657:SkSL::build_argument_type_list\28SkSpan>\20const>\29 +3658:SkSL::\28anonymous\20namespace\29::SwitchCaseContainsExit::visitStatement\28SkSL::Statement\20const&\29 +3659:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::returnsInputAlpha\28SkSL::Expression\20const&\29 +3660:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29 +3661:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29 +3662:SkSL::\28anonymous\20namespace\29::ConstantExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +3663:SkSL::Variable::~Variable\28\29 +3664:SkSL::Variable::Make\28SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20std::__2::basic_string_view>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20bool\2c\20SkSL::VariableStorage\29 +3665:SkSL::Variable::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\29 +3666:SkSL::VarDeclaration::~VarDeclaration\28\29 +3667:SkSL::VarDeclaration::Make\28SkSL::Context\20const&\2c\20SkSL::Variable*\2c\20SkSL::Type\20const*\2c\20int\2c\20std::__2::unique_ptr>\29 +3668:SkSL::Type::isStorageTexture\28\29\20const +3669:SkSL::Type::convertArraySize\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20long\20long\29\20const +3670:SkSL::Type::MakeSamplerType\28char\20const*\2c\20SkSL::Type\20const&\29 +3671:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29 +3672:SkSL::Transform::EliminateDeadGlobalVariables\28SkSL::Program&\29::$_2::operator\28\29\28SkSL::ProgramElement\20const&\29\20const +3673:SkSL::TernaryExpression::~TernaryExpression\28\29 +3674:SkSL::SymbolTable::SymbolKey::operator==\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3675:SkSL::SingleArgumentConstructor::~SingleArgumentConstructor\28\29 +3676:SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +3677:SkSL::RP::SlotManager::createSlots\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20bool\29 +3678:SkSL::RP::SlotManager::addSlotDebugInfoForGroup\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20int*\2c\20bool\29 +3679:SkSL::RP::Program::makeStages\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSpan\2c\20SkSL::RP::Program::SlotData\20const&\29\20const::$_4::operator\28\29\28\29\20const +3680:SkSL::RP::Program::makeStages\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSpan\2c\20SkSL::RP::Program::SlotData\20const&\29\20const::$_1::operator\28\29\28int\29\20const +3681:SkSL::RP::Program::appendCopySlotsMasked\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +3682:SkSL::RP::LValueSlice::~LValueSlice\28\29 +3683:SkSL::RP::Generator::pushTernaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +3684:SkSL::RP::Generator::pushStructuredComparison\28SkSL::RP::LValue*\2c\20SkSL::Operator\2c\20SkSL::RP::LValue*\2c\20SkSL::Type\20const&\29 +3685:SkSL::RP::Generator::pushPrefixExpression\28SkSL::Operator\2c\20SkSL::Expression\20const&\29 +3686:SkSL::RP::Generator::pushMatrixMultiply\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3687:SkSL::RP::Generator::pushAbsFloatIntrinsic\28int\29 +3688:SkSL::RP::Generator::needsReturnMask\28SkSL::FunctionDefinition\20const*\29 +3689:SkSL::RP::Generator::needsFunctionResultSlots\28SkSL::FunctionDefinition\20const*\29 +3690:SkSL::RP::Generator::foldWithMultiOp\28SkSL::RP::BuilderOp\2c\20int\29 +3691:SkSL::RP::Generator::GetTypedOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +3692:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29 +3693:SkSL::RP::Builder::select\28int\29 +3694:SkSL::RP::Builder::push_uniform\28SkSL::RP::SlotRange\29 +3695:SkSL::RP::Builder::pop_loop_mask\28\29 +3696:SkSL::RP::Builder::merge_condition_mask\28\29 +3697:SkSL::RP::Builder::branch_if_no_active_lanes_on_stack_top_equal\28int\2c\20int\29 +3698:SkSL::RP::AutoStack&\20std::__2::optional::emplace\5babi:v160004\5d\28SkSL::RP::Generator*&\29 +3699:SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +3700:SkSL::PipelineStage::PipelineStageCodeGenerator::modifierString\28SkSL::ModifierFlags\29 +3701:SkSL::PipelineStage::ConvertProgram\28SkSL::Program\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20SkSL::PipelineStage::Callbacks*\29 +3702:SkSL::Parser::unsizedArrayType\28SkSL::Type\20const*\2c\20SkSL::Position\29 +3703:SkSL::Parser::unaryExpression\28\29 +3704:SkSL::Parser::swizzle\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::basic_string_view>\2c\20SkSL::Position\29 +3705:SkSL::Parser::poison\28SkSL::Position\29 +3706:SkSL::Parser::checkIdentifier\28SkSL::Token*\29 +3707:SkSL::Parser::block\28bool\2c\20std::__2::unique_ptr>*\29 +3708:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29 +3709:SkSL::Operator::getBinaryPrecedence\28\29\20const +3710:SkSL::MultiArgumentConstructor::~MultiArgumentConstructor\28\29 +3711:SkSL::ModuleLoader::loadVertexModule\28SkSL::Compiler*\29 +3712:SkSL::ModuleLoader::loadGPUModule\28SkSL::Compiler*\29 +3713:SkSL::ModuleLoader::loadFragmentModule\28SkSL::Compiler*\29 +3714:SkSL::ModifierFlags::checkPermittedFlags\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\29\20const +3715:SkSL::MethodReference::~MethodReference\28\29.1 +3716:SkSL::MethodReference::~MethodReference\28\29 +3717:SkSL::Mangler::uniqueName\28std::__2::basic_string_view>\2c\20SkSL::SymbolTable*\29 +3718:SkSL::LiteralType::slotType\28unsigned\20long\29\20const +3719:SkSL::Literal::MakeFloat\28SkSL::Position\2c\20float\2c\20SkSL::Type\20const*\29 +3720:SkSL::Literal::MakeBool\28SkSL::Position\2c\20bool\2c\20SkSL::Type\20const*\29 +3721:SkSL::Layout::checkPermittedLayout\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkEnumBitMask\29\20const +3722:SkSL::IfStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3723:SkSL::IRHelpers::Binary\28std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29\20const +3724:SkSL::GlobalVarDeclaration::~GlobalVarDeclaration\28\29.1 +3725:SkSL::GlobalVarDeclaration::~GlobalVarDeclaration\28\29 +3726:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29 +3727:SkSL::GLSLCodeGenerator::writeLiteral\28SkSL::Literal\20const&\29 +3728:SkSL::GLSLCodeGenerator::writeFunctionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +3729:SkSL::GLSLCodeGenerator::shouldRewriteVoidTypedFunctions\28SkSL::FunctionDeclaration\20const*\29\20const +3730:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29 +3731:SkSL::ForStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3732:SkSL::FieldAccess::FieldAccess\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +3733:SkSL::Expression::isIncomplete\28SkSL::Context\20const&\29\20const +3734:SkSL::Expression::compareConstant\28SkSL::Expression\20const&\29\20const +3735:SkSL::DebugTracePriv::~DebugTracePriv\28\29 +3736:SkSL::ConstructorArrayCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +3737:SkSL::ConstructorArray::~ConstructorArray\28\29 +3738:SkSL::ConstantFolder::GetConstantValueOrNull\28SkSL::Expression\20const&\29 +3739:SkSL::Compiler::runInliner\28SkSL::Inliner*\2c\20std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\29 +3740:SkSL::Block::~Block\28\29 +3741:SkSL::BinaryExpression::~BinaryExpression\28\29 +3742:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\2c\20SkSL::Type\20const*\29 +3743:SkSL::Analysis::GetReturnComplexity\28SkSL::FunctionDefinition\20const&\29 +3744:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29 +3745:SkSL::Analysis::CallsColorTransformIntrinsics\28SkSL::Program\20const&\29 +3746:SkSL::AliasType::bitWidth\28\29\20const +3747:SkRuntimeShader::uniformData\28SkColorSpace\20const*\29\20const +3748:SkRuntimeEffectPriv::VarAsUniform\28SkSL::Variable\20const&\2c\20SkSL::Context\20const&\2c\20unsigned\20long*\29 +3749:SkRuntimeEffect::makeShader\28sk_sp\2c\20SkSpan\2c\20SkMatrix\20const*\29\20const +3750:SkRuntimeEffect::MakeForShader\28SkString\29 +3751:SkRgnBuilder::~SkRgnBuilder\28\29 +3752:SkResourceCache::checkMessages\28\29 +3753:SkResourceCache::Key::operator==\28SkResourceCache::Key\20const&\29\20const +3754:SkRegion::translate\28int\2c\20int\2c\20SkRegion*\29\20const +3755:SkRegion::op\28SkRegion\20const&\2c\20SkIRect\20const&\2c\20SkRegion::Op\29 +3756:SkRegion::RunHead::findScanline\28int\29\20const +3757:SkRegion::RunHead::Alloc\28int\29 +3758:SkReduceOrder::Cubic\28SkPoint\20const*\2c\20SkPoint*\29 +3759:SkRect::offset\28float\2c\20float\29 +3760:SkRect*\20SkRecorder::copy\28SkRect\20const*\29 +3761:SkRecords::PreCachedPath::PreCachedPath\28SkPath\20const&\29 +3762:SkRecords::FillBounds::pushSaveBlock\28SkPaint\20const*\29 +3763:SkRecorder::~SkRecorder\28\29 +3764:SkRecordDraw\28SkRecord\20const&\2c\20SkCanvas*\2c\20SkPicture\20const*\20const*\2c\20SkDrawable*\20const*\2c\20int\2c\20SkBBoxHierarchy\20const*\2c\20SkPicture::AbortCallback*\29 +3765:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29 +3766:SkRasterPipelineBlitter::blitRectWithTrace\28int\2c\20int\2c\20int\2c\20int\2c\20bool\29 +3767:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29::$_0::operator\28\29\28int\2c\20SkRasterPipeline_MemoryCtx*\29\20const +3768:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +3769:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29 +3770:SkRasterPipeline::appendStore\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +3771:SkRasterClip::op\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkClipOp\2c\20bool\29 +3772:SkRasterClip::convertToAA\28\29 +3773:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29::$_1::operator\28\29\28SkRect\20const&\2c\20SkRRect::Corner\29\20const +3774:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29 +3775:SkRRect::scaleRadii\28\29 +3776:SkRRect::AreRectAndRadiiValid\28SkRect\20const&\2c\20SkPoint\20const*\29 +3777:SkRGBA4f<\28SkAlphaType\292>*\20SkArenaAlloc::makeArray>\28unsigned\20long\29 +3778:SkQuadraticEdge::updateQuadratic\28\29 +3779:SkQuadConstruct::initWithStart\28SkQuadConstruct*\29 +3780:SkQuadConstruct::initWithEnd\28SkQuadConstruct*\29 +3781:SkPointPriv::DistanceToLineBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPointPriv::Side*\29 +3782:SkPoint::setNormalize\28float\2c\20float\29 +3783:SkPoint::setLength\28float\2c\20float\2c\20float\29 +3784:SkPixmap::setColorSpace\28sk_sp\29 +3785:SkPixmap::rowBytesAsPixels\28\29\20const +3786:SkPixelRef::getGenerationID\28\29\20const +3787:SkPictureRecorder::~SkPictureRecorder\28\29 +3788:SkPictureRecorder::SkPictureRecorder\28\29 +3789:SkPicture::~SkPicture\28\29 +3790:SkPerlinNoiseShader::PaintingData::random\28\29 +3791:SkPathWriter::~SkPathWriter\28\29 +3792:SkPathWriter::update\28SkOpPtT\20const*\29 +3793:SkPathWriter::lineTo\28\29 +3794:SkPathWriter::SkPathWriter\28SkPath&\29 +3795:SkPathStroker::strokeCloseEnough\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20SkQuadConstruct*\29\20const +3796:SkPathStroker::setRayPts\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +3797:SkPathStroker::quadPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +3798:SkPathStroker::finishContour\28bool\2c\20bool\29 +3799:SkPathStroker::conicPerpRay\28SkConic\20const&\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +3800:SkPathPriv::IsRectContour\28SkPath\20const&\2c\20bool\2c\20int*\2c\20SkPoint\20const**\2c\20bool*\2c\20SkPathDirection*\2c\20SkRect*\29 +3801:SkPathPriv::AddGenIDChangeListener\28SkPath\20const&\2c\20sk_sp\29 +3802:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +3803:SkPathBuilder::quadTo\28SkPoint\2c\20SkPoint\29 +3804:SkPathBuilder::moveTo\28float\2c\20float\29 +3805:SkPathBuilder::cubicTo\28SkPoint\2c\20SkPoint\2c\20SkPoint\29 +3806:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3807:SkPath::setLastPt\28float\2c\20float\29 +3808:SkPath::reversePathTo\28SkPath\20const&\29 +3809:SkPath::rQuadTo\28float\2c\20float\2c\20float\2c\20float\29 +3810:SkPath::isLastContourClosed\28\29\20const +3811:SkPath::cubicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +3812:SkPath::contains\28float\2c\20float\29\20const +3813:SkPath::conicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +3814:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29::$_0::operator\28\29\28SkPoint\20const&\29\20const +3815:SkPath::addPath\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPath::AddPathMode\29 +3816:SkPath::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3817:SkPath::Rect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3818:SkPath::Iter::autoClose\28SkPoint*\29 +3819:SkPath*\20SkTLazy::init<>\28\29 +3820:SkPaintToGrPaintReplaceShader\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +3821:SkPaint::getBlendMode_or\28SkBlendMode\29\20const +3822:SkOpSpanBase::checkForCollapsedCoincidence\28\29 +3823:SkOpSpan::setWindSum\28int\29 +3824:SkOpSegment::updateWindingReverse\28SkOpAngle\20const*\29 +3825:SkOpSegment::match\28SkOpPtT\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20SkPoint\20const&\29\20const +3826:SkOpSegment::markWinding\28SkOpSpan*\2c\20int\2c\20int\29 +3827:SkOpSegment::markAngle\28int\2c\20int\2c\20int\2c\20int\2c\20SkOpAngle\20const*\2c\20SkOpSpanBase**\29 +3828:SkOpSegment::markAngle\28int\2c\20int\2c\20SkOpAngle\20const*\2c\20SkOpSpanBase**\29 +3829:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20int\2c\20SkOpSpanBase**\29 +3830:SkOpSegment::markAllDone\28\29 +3831:SkOpSegment::dSlopeAtT\28double\29\20const +3832:SkOpSegment::addT\28double\2c\20SkPoint\20const&\29 +3833:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +3834:SkOpPtT::oppPrev\28SkOpPtT\20const*\29\20const +3835:SkOpPtT::contains\28SkOpSegment\20const*\29\20const +3836:SkOpPtT::Overlaps\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const**\2c\20SkOpPtT\20const**\29 +3837:SkOpEdgeBuilder::closeContour\28SkPoint\20const&\2c\20SkPoint\20const&\29 +3838:SkOpCoincidence::expand\28\29 +3839:SkOpCoincidence::Ordered\28SkOpSegment\20const*\2c\20SkOpSegment\20const*\29 +3840:SkOpCoincidence::Ordered\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +3841:SkOpAngle::orderable\28SkOpAngle*\29 +3842:SkOpAngle::lineOnOneSide\28SkDPoint\20const&\2c\20SkDVector\20const&\2c\20SkOpAngle\20const*\2c\20bool\29\20const +3843:SkOpAngle::computeSector\28\29 +3844:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\2c\20sk_sp\29 +3845:SkMipmapAccessor::SkMipmapAccessor\28SkImage_Base\20const*\2c\20SkMatrix\20const&\2c\20SkMipmapMode\29::$_0::operator\28\29\28\29\20const +3846:SkMessageBus::Get\28\29 +3847:SkMessageBus::Get\28\29 +3848:SkMessageBus::BufferFinishedMessage\2c\20GrDirectContext::DirectContextID\2c\20false>::Get\28\29 +3849:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +3850:SkMatrixPriv::InverseMapRect\28SkMatrix\20const&\2c\20SkRect*\2c\20SkRect\20const&\29 +3851:SkMatrix::setPolyToPoly\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20int\29 +3852:SkMatrix::preservesRightAngles\28float\29\20const +3853:SkMatrix::mapRectToQuad\28SkPoint*\2c\20SkRect\20const&\29\20const +3854:SkMatrix::mapRectScaleTranslate\28SkRect*\2c\20SkRect\20const&\29\20const +3855:SkMatrix::getMinMaxScales\28float*\29\20const +3856:SkMatrix::getMapXYProc\28\29\20const +3857:SkMaskBuilder::PrepareDestination\28int\2c\20int\2c\20SkMask\20const&\29 +3858:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\2c\20int\2c\20int\29 +3859:SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry::~Entry\28\29 +3860:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::reset\28\29 +3861:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry::~Entry\28\29 +3862:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29 +3863:SkJSONWriter::separator\28bool\29 +3864:SkJSONWriter::multiline\28\29\20const +3865:SkJSONWriter::flush\28\29 +3866:SkJSONWriter::appendS32\28int\29 +3867:SkIntersections::intersectRay\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +3868:SkIntersections::intersectRay\28SkDLine\20const&\2c\20SkDLine\20const&\29 +3869:SkIntersections::intersectRay\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +3870:SkIntersections::intersectRay\28SkDConic\20const&\2c\20SkDLine\20const&\29 +3871:SkIntersections::computePoints\28SkDLine\20const&\2c\20int\29 +3872:SkIntersections::cleanUpParallelLines\28bool\29 +3873:SkImage_Raster::SkImage_Raster\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20int\29 +3874:SkImage_Lazy::~SkImage_Lazy\28\29.1 +3875:SkImage_Lazy::Validator::~Validator\28\29 +3876:SkImage_Lazy::Validator::Validator\28sk_sp\2c\20SkColorType\20const*\2c\20sk_sp\29 +3877:SkImage_Lazy::SkImage_Lazy\28SkImage_Lazy::Validator*\29 +3878:SkImage_Ganesh::~SkImage_Ganesh\28\29 +3879:SkImage_Ganesh::ProxyChooser::chooseProxy\28GrRecordingContext*\29 +3880:SkImage_Base::isYUVA\28\29\20const +3881:SkImageShader::MakeSubset\28sk_sp\2c\20SkRect\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +3882:SkImageShader::CubicResamplerMatrix\28float\2c\20float\29 +3883:SkImageInfo::minRowBytes64\28\29\20const +3884:SkImageInfo::makeAlphaType\28SkAlphaType\29\20const +3885:SkImageInfo::MakeN32Premul\28SkISize\29 +3886:SkImageGenerator::getPixels\28SkPixmap\20const&\29 +3887:SkImageFilters::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +3888:SkImageFilter_Base::filterImage\28skif::Context\20const&\29\20const +3889:SkImageFilter_Base::affectsTransparentBlack\28\29\20const +3890:SkImageFilterCacheKey::operator==\28SkImageFilterCacheKey\20const&\29\20const +3891:SkImage::readPixels\28GrDirectContext*\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +3892:SkImage::peekPixels\28SkPixmap*\29\20const +3893:SkImage::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\29\20const +3894:SkIRect\20skif::Mapping::map\28SkIRect\20const&\2c\20SkMatrix\20const&\29 +3895:SkIRect::offset\28SkIPoint\20const&\29 +3896:SkIRect::containsNoEmptyCheck\28SkIRect\20const&\29\20const +3897:SkIRect::MakeXYWH\28int\2c\20int\2c\20int\2c\20int\29 +3898:SkIDChangeListener::List::~List\28\29 +3899:SkIDChangeListener::List::add\28sk_sp\29 +3900:SkGradientShader::MakeSweep\28float\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3901:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3902:SkGradientBaseShader::AppendInterpolatedToDstStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20bool\2c\20SkGradientShader::Interpolation\20const&\2c\20SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +3903:SkGlyph::mask\28\29\20const +3904:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29 +3905:SkFontScanner_FreeType::openFace\28SkStreamAsset*\2c\20int\2c\20FT_StreamRec_*\29\20const +3906:SkFontScanner_FreeType::GetAxes\28FT_FaceRec_*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29 +3907:SkFontPriv::ApproximateTransformedTextSize\28SkFont\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\20const&\29 +3908:SkFontMgr::matchFamily\28char\20const*\29\20const +3909:SkFont::getWidthsBounds\28unsigned\20short\20const*\2c\20int\2c\20float*\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +3910:SkFont::getBounds\28unsigned\20short\20const*\2c\20int\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +3911:SkFindCubicMaxCurvature\28SkPoint\20const*\2c\20float*\29 +3912:SkFILEStream::SkFILEStream\28std::__2::shared_ptr<_IO_FILE>\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3913:SkEmptyFontMgr::onMatchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +3914:SkEdgeClipper::appendQuad\28SkPoint\20const*\2c\20bool\29 +3915:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkIRect\20const*\2c\20int\29 +3916:SkDynamicMemoryWStream::write\28void\20const*\2c\20unsigned\20long\29 +3917:SkDrawTreatAAStrokeAsHairline\28float\2c\20SkMatrix\20const&\2c\20float*\29 +3918:SkDrawBase::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29\20const +3919:SkDrawBase::drawDevicePoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\2c\20SkDevice*\29\20const +3920:SkDevice::getRelativeTransform\28SkDevice\20const&\29\20const +3921:SkDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +3922:SkDevice::drawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +3923:SkDevice::SkDevice\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +3924:SkData::MakeZeroInitialized\28unsigned\20long\29 +3925:SkData::MakeWithoutCopy\28void\20const*\2c\20unsigned\20long\29 +3926:SkDQuad::FindExtrema\28double\20const*\2c\20double*\29 +3927:SkDCubic::subDivide\28double\2c\20double\29\20const +3928:SkDCubic::searchRoots\28double*\2c\20int\2c\20double\2c\20SkDCubic::SearchAxis\2c\20double*\29\20const +3929:SkDCubic::monotonicInX\28\29\20const +3930:SkDCubic::findInflections\28double*\29\20const +3931:SkDConic::FindExtrema\28double\20const*\2c\20float\2c\20double*\29 +3932:SkCubicEdge::updateCubic\28\29 +3933:SkContourMeasureIter::next\28\29 +3934:SkContourMeasureIter::Impl::compute_quad_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3935:SkContourMeasureIter::Impl::compute_cubic_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3936:SkContourMeasureIter::Impl::compute_conic_segs\28SkConic\20const&\2c\20float\2c\20int\2c\20SkPoint\20const&\2c\20int\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20int\29 +3937:SkContourMeasure::distanceToSegment\28float\2c\20float*\29\20const +3938:SkConic::evalAt\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +3939:SkConic::evalAt\28float\29\20const +3940:SkConic::TransformW\28SkPoint\20const*\2c\20float\2c\20SkMatrix\20const&\29 +3941:SkCompressedDataSize\28SkTextureCompressionType\2c\20SkISize\2c\20skia_private::TArray*\2c\20bool\29 +3942:SkColorToPMColor4f\28unsigned\20int\2c\20GrColorInfo\20const&\29 +3943:SkColorSpace::MakeRGB\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +3944:SkColorInfo::operator=\28SkColorInfo&&\29 +3945:SkCoincidentSpans::extend\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +3946:SkChopQuadAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +3947:SkCapabilities::RasterBackend\28\29 +3948:SkCanvas::scale\28float\2c\20float\29 +3949:SkCanvas::saveLayer\28SkCanvas::SaveLayerRec\20const&\29 +3950:SkCanvas::onResetClip\28\29 +3951:SkCanvas::onClipShader\28sk_sp\2c\20SkClipOp\29 +3952:SkCanvas::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +3953:SkCanvas::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3954:SkCanvas::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3955:SkCanvas::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3956:SkCanvas::internalSave\28\29 +3957:SkCanvas::internalRestore\28\29 +3958:SkCanvas::internalDrawDeviceWithFilter\28SkDevice*\2c\20SkDevice*\2c\20SkSpan>\2c\20SkPaint\20const&\2c\20SkCanvas::DeviceCompatibleWithFilter\2c\20SkColorInfo\20const&\2c\20float\2c\20bool\29 +3959:SkCanvas::drawColor\28unsigned\20int\2c\20SkBlendMode\29 +3960:SkCanvas::clipRect\28SkRect\20const&\2c\20bool\29 +3961:SkCanvas::clipPath\28SkPath\20const&\2c\20bool\29 +3962:SkCanvas::clear\28unsigned\20int\29 +3963:SkCanvas::clear\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3964:SkCanvas::attemptBlurredRRectDraw\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20SkEnumBitMask\29 +3965:SkCachedData::~SkCachedData\28\29 +3966:SkBlitterClipper::~SkBlitterClipper\28\29 +3967:SkBlitter::blitRegion\28SkRegion\20const&\29 +3968:SkBlendShader::~SkBlendShader\28\29 +3969:SkBitmapDevice::SkBitmapDevice\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\2c\20void*\29 +3970:SkBitmapDevice::BDDraw::~BDDraw\28\29 +3971:SkBitmapDevice::BDDraw::BDDraw\28SkBitmapDevice*\29 +3972:SkBitmap::writePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +3973:SkBitmap::setPixels\28void*\29 +3974:SkBitmap::readPixels\28SkPixmap\20const&\2c\20int\2c\20int\29\20const +3975:SkBitmap::installPixels\28SkPixmap\20const&\29 +3976:SkBitmap::allocPixels\28\29 +3977:SkBitmap::SkBitmap\28SkBitmap&&\29 +3978:SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3979:SkBinaryWriteBuffer::writeInt\28int\29 +3980:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29.1 +3981:SkBaseShadowTessellator::handleLine\28SkPoint\20const&\29 +3982:SkAutoPixmapStorage::freeStorage\28\29 +3983:SkAutoPathBoundsUpdate::~SkAutoPathBoundsUpdate\28\29 +3984:SkAutoPathBoundsUpdate::SkAutoPathBoundsUpdate\28SkPath*\2c\20SkRect\20const&\29 +3985:SkAutoMalloc::reset\28unsigned\20long\2c\20SkAutoMalloc::OnShrink\29 +3986:SkAutoDescriptor::free\28\29 +3987:SkArenaAllocWithReset::reset\28\29 +3988:SkAnalyticQuadraticEdge::updateQuadratic\28\29 +3989:SkAnalyticEdge::goY\28int\29 +3990:SkAnalyticCubicEdge::updateCubic\28bool\29 +3991:SkAAClipBlitter::ensureRunsAndAA\28\29 +3992:SkAAClip::setRegion\28SkRegion\20const&\29 +3993:SkAAClip::setRect\28SkIRect\20const&\29 +3994:SkAAClip::quickContains\28int\2c\20int\2c\20int\2c\20int\29\20const +3995:SkAAClip::RunHead::Alloc\28int\2c\20unsigned\20long\29 +3996:SkAAClip::Builder::AppendRun\28SkTDArray&\2c\20unsigned\20int\2c\20int\29 +3997:Sk4f_toL32\28skvx::Vec<4\2c\20float>\20const&\29 +3998:SSVertex*\20SkArenaAlloc::make\28GrTriangulator::Vertex*&\29 +3999:RunBasedAdditiveBlitter::flush\28\29 +4000:R.9044 +4001:OpAsWinding::nextEdge\28Contour&\2c\20OpAsWinding::Edge\29 +4002:OT::sbix::get_strike\28unsigned\20int\29\20const +4003:OT::hb_paint_context_t::get_color\28unsigned\20int\2c\20float\2c\20int*\29 +4004:OT::hb_ot_apply_context_t::skipping_iterator_t::prev\28unsigned\20int*\29 +4005:OT::hb_ot_apply_context_t::check_glyph_property\28hb_glyph_info_t\20const*\2c\20unsigned\20int\29\20const +4006:OT::glyf_impl::CompositeGlyphRecord::translate\28contour_point_t\20const&\2c\20hb_array_t\29 +4007:OT::VariationStore::sanitize\28hb_sanitize_context_t*\29\20const +4008:OT::VarSizedBinSearchArrayOf>\2c\20OT::IntType\2c\20false>>>::get_length\28\29\20const +4009:OT::Script::get_lang_sys\28unsigned\20int\29\20const +4010:OT::PaintSkew::sanitize\28hb_sanitize_context_t*\29\20const +4011:OT::OpenTypeOffsetTable::sanitize\28hb_sanitize_context_t*\29\20const +4012:OT::OS2::has_data\28\29\20const +4013:OT::Layout::GSUB_impl::SubstLookup::serialize_ligature\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20hb_sorted_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\29 +4014:OT::Layout::GPOS_impl::MarkArray::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20OT::Layout::GPOS_impl::AnchorMatrix\20const&\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +4015:OT::HVARVVAR::sanitize\28hb_sanitize_context_t*\29\20const +4016:OT::GSUBGPOS::get_lookup_count\28\29\20const +4017:OT::GSUBGPOS::get_feature_list\28\29\20const +4018:OT::GSUBGPOS::accelerator_t::get_accel\28unsigned\20int\29\20const +4019:OT::Device::get_y_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +4020:OT::Device::get_x_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +4021:OT::ClipList::get_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\2c\20OT::VarStoreInstancer\20const&\29\20const +4022:OT::COLR::paint_glyph\28hb_font_t*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29\20const +4023:OT::ArrayOf>::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20bool\29 +4024:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29 +4025:LineQuadraticIntersections::uniqueAnswer\28double\2c\20SkDPoint\20const&\29 +4026:LineQuadraticIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineQuadraticIntersections::PinTPoint\29 +4027:LineQuadraticIntersections::checkCoincident\28\29 +4028:LineQuadraticIntersections::addLineNearEndPoints\28\29 +4029:LineCubicIntersections::uniqueAnswer\28double\2c\20SkDPoint\20const&\29 +4030:LineCubicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineCubicIntersections::PinTPoint\29 +4031:LineCubicIntersections::checkCoincident\28\29 +4032:LineCubicIntersections::addLineNearEndPoints\28\29 +4033:LineConicIntersections::validT\28double*\2c\20double\2c\20double*\29 +4034:LineConicIntersections::uniqueAnswer\28double\2c\20SkDPoint\20const&\29 +4035:LineConicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineConicIntersections::PinTPoint\29 +4036:LineConicIntersections::checkCoincident\28\29 +4037:LineConicIntersections::addLineNearEndPoints\28\29 +4038:HandleInnerJoin\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +4039:GrVertexChunkBuilder::~GrVertexChunkBuilder\28\29 +4040:GrTriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +4041:GrTriangulator::splitEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +4042:GrTriangulator::pathToPolys\28float\2c\20SkRect\20const&\2c\20bool*\29 +4043:GrTriangulator::makePoly\28GrTriangulator::Poly**\2c\20GrTriangulator::Vertex*\2c\20int\29\20const +4044:GrTriangulator::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20GrTriangulator::VertexList*\2c\20int\29\20const +4045:GrTriangulator::checkForIntersection\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +4046:GrTriangulator::applyFillType\28int\29\20const +4047:GrTriangulator::SortMesh\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +4048:GrTriangulator::MonotonePoly::addEdge\28GrTriangulator::Edge*\29 +4049:GrTriangulator::GrTriangulator\28SkPath\20const&\2c\20SkArenaAlloc*\29 +4050:GrTriangulator::Edge::insertBelow\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +4051:GrTriangulator::Edge::insertAbove\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +4052:GrTriangulator::BreadcrumbTriangleList::append\28SkArenaAlloc*\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20int\29 +4053:GrThreadSafeCache::recycleEntry\28GrThreadSafeCache::Entry*\29 +4054:GrThreadSafeCache::dropAllRefs\28\29 +4055:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +4056:GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +4057:GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +4058:GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +4059:GrTextureRenderTargetProxy::callbackDesc\28\29\20const +4060:GrTextureProxy::~GrTextureProxy\28\29 +4061:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_0::operator\28\29\28int\2c\20GrSamplerState::WrapMode\29\20const +4062:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_3::operator\28\29\28bool\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +4063:GrTexture::GrTexture\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20GrTextureType\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +4064:GrTexture::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20skgpu::ScratchKey*\29 +4065:GrSurfaceProxyView::asTextureProxyRef\28\29\20const +4066:GrSurfaceProxy::instantiateImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::UniqueKey\20const*\29 +4067:GrSurfaceProxy::GrSurfaceProxy\28sk_sp\2c\20SkBackingFit\2c\20GrSurfaceProxy::UseAllocator\29 +4068:GrSurface::setRelease\28sk_sp\29 +4069:GrStyledShape::styledBounds\28\29\20const +4070:GrStyledShape::addGenIDChangeListener\28sk_sp\29\20const +4071:GrStyledShape::GrStyledShape\28SkRect\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +4072:GrStyle::isSimpleHairline\28\29\20const +4073:GrStyle::initPathEffect\28sk_sp\29 +4074:GrStencilSettings::Face::reset\28GrTStencilFaceSettings\20const&\2c\20bool\2c\20int\29 +4075:GrSimpleMeshDrawOpHelper::fixedFunctionFlags\28\29\20const +4076:GrShape::setPath\28SkPath\20const&\29 +4077:GrShape::segmentMask\28\29\20const +4078:GrShape::operator=\28GrShape\20const&\29 +4079:GrShape::convex\28bool\29\20const +4080:GrShaderVar::GrShaderVar\28SkString\2c\20SkSLType\2c\20int\29 +4081:GrResourceProvider::findResourceByUniqueKey\28skgpu::UniqueKey\20const&\29 +4082:GrResourceProvider::createPatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const*\29 +4083:GrResourceCache::removeUniqueKey\28GrGpuResource*\29 +4084:GrResourceCache::getNextTimestamp\28\29 +4085:GrResourceCache::findAndRefScratchResource\28skgpu::ScratchKey\20const&\29 +4086:GrRenderTask::dependsOn\28GrRenderTask\20const*\29\20const +4087:GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +4088:GrRenderTargetProxy::canUseStencil\28GrCaps\20const&\29\20const +4089:GrRecordingContextPriv::createDevice\28skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\2c\20skgpu::ganesh::Device::InitContents\29 +4090:GrRecordingContextPriv::addOnFlushCallbackObject\28GrOnFlushCallbackObject*\29 +4091:GrRecordingContext::~GrRecordingContext\28\29 +4092:GrQuadUtils::TessellationHelper::reset\28GrQuad\20const&\2c\20GrQuad\20const*\29 +4093:GrQuadUtils::TessellationHelper::getEdgeEquations\28\29 +4094:GrQuadUtils::TessellationHelper::Vertices::moveAlong\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4095:GrQuadUtils::ResolveAAType\28GrAAType\2c\20GrQuadAAFlags\2c\20GrQuad\20const&\2c\20GrAAType*\2c\20GrQuadAAFlags*\29 +4096:GrQuadUtils::CropToRect\28SkRect\20const&\2c\20GrAA\2c\20DrawQuad*\2c\20bool\29 +4097:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA&&\2c\20GrQuad\20const*\29 +4098:GrQuad::setQuadType\28GrQuad::Type\29 +4099:GrPorterDuffXPFactory::SimpleSrcOverXP\28\29 +4100:GrPipeline*\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29 +4101:GrPersistentCacheUtils::UnpackCachedShaders\28SkReadBuffer*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20int\2c\20GrPersistentCacheUtils::ShaderMetadata*\29 +4102:GrPathUtils::quadraticPointCount\28SkPoint\20const*\2c\20float\29 +4103:GrPathUtils::convertCubicToQuads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\29 +4104:GrPathTessellationShader::Make\28GrShaderCaps\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::tess::PatchAttribs\29 +4105:GrPathTessellationShader::MakeSimpleTriangleShader\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +4106:GrOvalOpFactory::MakeOvalOp\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\2c\20GrShaderCaps\20const*\29 +4107:GrOpsRenderPass::drawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +4108:GrOpFlushState::draw\28int\2c\20int\29 +4109:GrOp::chainConcat\28std::__2::unique_ptr>\29 +4110:GrNonAtomicRef::unref\28\29\20const +4111:GrModulateAtlasCoverageEffect::GrModulateAtlasCoverageEffect\28GrModulateAtlasCoverageEffect\20const&\29 +4112:GrMipLevel::operator=\28GrMipLevel&&\29 +4113:GrMeshDrawOp::PatternHelper::PatternHelper\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +4114:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29 +4115:GrImageInfo::makeDimensions\28SkISize\29\20const +4116:GrGpuResource::~GrGpuResource\28\29 +4117:GrGpuResource::removeScratchKey\28\29 +4118:GrGpuResource::registerWithCacheWrapped\28GrWrapCacheable\29 +4119:GrGpuResource::getResourceName\28\29\20const +4120:GrGpuResource::dumpMemoryStatisticsPriv\28SkTraceMemoryDump*\2c\20SkString\20const&\2c\20char\20const*\2c\20unsigned\20long\29\20const +4121:GrGpuResource::CreateUniqueID\28\29 +4122:GrGpuBuffer::onGpuMemorySize\28\29\20const +4123:GrGpu::resolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +4124:GrGeometryProcessor::TextureSampler::TextureSampler\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +4125:GrGeometryProcessor::TextureSampler::TextureSampler\28GrGeometryProcessor::TextureSampler&&\29 +4126:GrGeometryProcessor::ProgramImpl::TransformInfo::TransformInfo\28GrGeometryProcessor::ProgramImpl::TransformInfo\20const&\29 +4127:GrGeometryProcessor::ProgramImpl::AddMatrixKeys\28GrShaderCaps\20const&\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\29 +4128:GrGeometryProcessor::Attribute::size\28\29\20const +4129:GrGLUniformHandler::~GrGLUniformHandler\28\29 +4130:GrGLUniformHandler::getUniformVariable\28GrResourceHandle\29\20const +4131:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +4132:GrGLTextureRenderTarget::onRelease\28\29 +4133:GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +4134:GrGLTextureRenderTarget::onAbandon\28\29 +4135:GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +4136:GrGLTexture::~GrGLTexture\28\29 +4137:GrGLTexture::onRelease\28\29 +4138:GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +4139:GrGLTexture::TextureTypeFromTarget\28unsigned\20int\29 +4140:GrGLSemaphore::Make\28GrGLGpu*\2c\20bool\29 +4141:GrGLSLVaryingHandler::~GrGLSLVaryingHandler\28\29 +4142:GrGLSLUniformHandler::addInputSampler\28skgpu::Swizzle\20const&\2c\20char\20const*\29 +4143:GrGLSLUniformHandler::UniformInfo::~UniformInfo\28\29 +4144:GrGLSLShaderBuilder::appendTextureLookup\28SkString*\2c\20GrResourceHandle\2c\20char\20const*\29\20const +4145:GrGLSLShaderBuilder::appendColorGamutXform\28char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +4146:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +4147:GrGLSLProgramDataManager::setSkMatrix\28GrResourceHandle\2c\20SkMatrix\20const&\29\20const +4148:GrGLSLProgramBuilder::writeFPFunction\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +4149:GrGLSLProgramBuilder::nameExpression\28SkString*\2c\20char\20const*\29 +4150:GrGLSLProgramBuilder::fragmentProcessorHasCoordsParam\28GrFragmentProcessor\20const*\29\20const +4151:GrGLSLProgramBuilder::emitSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\29 +4152:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +4153:GrGLSLBlend::BlendKey\28SkBlendMode\29 +4154:GrGLRenderTarget::~GrGLRenderTarget\28\29 +4155:GrGLRenderTarget::onRelease\28\29 +4156:GrGLRenderTarget::onAbandon\28\29 +4157:GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +4158:GrGLProgramDataManager::~GrGLProgramDataManager\28\29 +4159:GrGLProgramBuilder::~GrGLProgramBuilder\28\29 +4160:GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29 +4161:GrGLProgramBuilder::addInputVars\28SkSL::ProgramInterface\20const&\29 +4162:GrGLOpsRenderPass::dmsaaLoadStoreBounds\28\29\20const +4163:GrGLOpsRenderPass::bindInstanceBuffer\28GrBuffer\20const*\2c\20int\29 +4164:GrGLGpu::insertSemaphore\28GrSemaphore*\29 +4165:GrGLGpu::flushViewport\28SkIRect\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +4166:GrGLGpu::flushScissor\28GrScissorState\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +4167:GrGLGpu::flushClearColor\28std::__2::array\29 +4168:GrGLGpu::disableStencil\28\29 +4169:GrGLGpu::createTexture\28SkISize\2c\20GrGLFormat\2c\20unsigned\20int\2c\20skgpu::Renderable\2c\20GrGLTextureParameters::SamplerOverriddenState*\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +4170:GrGLGpu::copySurfaceAsDraw\28GrSurface*\2c\20bool\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +4171:GrGLGpu::HWVertexArrayState::bindInternalVertexArray\28GrGLGpu*\2c\20GrBuffer\20const*\29 +4172:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20char\2c\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20char\2c\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20char\2c\20int\2c\20void\20const*\29 +4173:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +4174:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29\29::'lambda'\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29::__invoke\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +4175:GrGLFunction::GrGLFunction\28unsigned\20char\20const*\20\28*\29\28unsigned\20int\2c\20unsigned\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29 +4176:GrGLContextInfo::~GrGLContextInfo\28\29 +4177:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrGLFormat\29\20const +4178:GrGLCaps::canCopyAsDraw\28GrGLFormat\2c\20bool\2c\20bool\29\20const +4179:GrGLBuffer::~GrGLBuffer\28\29 +4180:GrGLBuffer::Make\28GrGLGpu*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +4181:GrGLBackendTextureData::GrGLBackendTextureData\28GrGLTextureInfo\20const&\2c\20sk_sp\29 +4182:GrGLAttribArrayState::invalidate\28\29 +4183:GrGLAttribArrayState::enableVertexArrays\28GrGLGpu\20const*\2c\20int\2c\20GrPrimitiveRestart\29 +4184:GrGLAttachment::GrGLAttachment\28GrGpu*\2c\20unsigned\20int\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20GrGLFormat\2c\20std::__2::basic_string_view>\29 +4185:GrFragmentProcessors::make_effect_fp\28sk_sp\2c\20char\20const*\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkSpan\2c\20GrFPArgs\20const&\29 +4186:GrFragmentProcessors::IsSupported\28SkMaskFilter\20const*\29 +4187:GrFragmentProcessor::makeProgramImpl\28\29\20const +4188:GrFragmentProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +4189:GrFragmentProcessor::ProgramImpl::~ProgramImpl\28\29 +4190:GrFragmentProcessor::MulInputByChildAlpha\28std::__2::unique_ptr>\29 +4191:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +4192:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29 +4193:GrEagerDynamicVertexAllocator::lock\28unsigned\20long\2c\20int\29 +4194:GrDynamicAtlas::makeNode\28GrDynamicAtlas::Node*\2c\20int\2c\20int\2c\20int\2c\20int\29 +4195:GrDstProxyView::GrDstProxyView\28GrDstProxyView\20const&\29 +4196:GrDrawingManager::setLastRenderTask\28GrSurfaceProxy\20const*\2c\20GrRenderTask*\29 +4197:GrDrawingManager::removeRenderTasks\28\29 +4198:GrDrawingManager::insertTaskBeforeLast\28sk_sp\29 +4199:GrDrawingManager::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +4200:GrDrawOpAtlas::makeMRU\28skgpu::Plot*\2c\20unsigned\20int\29 +4201:GrDefaultGeoProcFactory::MakeForDeviceSpace\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +4202:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29 +4203:GrColorTypeClampType\28GrColorType\29 +4204:GrColorSpaceXform::Equals\28GrColorSpaceXform\20const*\2c\20GrColorSpaceXform\20const*\29 +4205:GrBufferAllocPool::unmap\28\29 +4206:GrBufferAllocPool::reset\28\29 +4207:GrBlurUtils::extract_draw_rect_from_data\28SkData*\2c\20SkIRect\20const&\29 +4208:GrBlurUtils::can_filter_mask\28SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect*\29 +4209:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29 +4210:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +4211:GrBicubicEffect::GrBicubicEffect\28std::__2::unique_ptr>\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrBicubicEffect::Clamp\29 +4212:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20sk_sp\2c\20std::__2::basic_string_view>\29 +4213:GrBackendFormatStencilBits\28GrBackendFormat\20const&\29 +4214:GrBackendFormat::operator==\28GrBackendFormat\20const&\29\20const +4215:GrAtlasManager::resolveMaskFormat\28skgpu::MaskFormat\29\20const +4216:GrAATriangulator::~GrAATriangulator\28\29 +4217:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrAATriangulator::EventList*\29\20const +4218:GrAATriangulator::connectSSEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +4219:GrAAConvexTessellator::terminate\28GrAAConvexTessellator::Ring\20const&\29 +4220:GrAAConvexTessellator::computePtAlongBisector\28int\2c\20SkPoint\20const&\2c\20int\2c\20float\2c\20SkPoint*\29\20const +4221:GrAAConvexTessellator::computeNormals\28\29::$_0::operator\28\29\28SkPoint\29\20const +4222:GrAAConvexTessellator::CandidateVerts::originatingIdx\28int\29\20const +4223:GrAAConvexTessellator::CandidateVerts::fuseWithPrior\28int\29 +4224:GrAAConvexTessellator::CandidateVerts::addNewPt\28SkPoint\20const&\2c\20int\2c\20int\2c\20bool\29 +4225:FT_Stream_Free +4226:FT_Set_Transform +4227:FT_Set_Char_Size +4228:FT_Select_Metrics +4229:FT_Request_Metrics +4230:FT_List_Finalize +4231:FT_Hypot +4232:FT_GlyphLoader_CreateExtra +4233:FT_GlyphLoader_Adjust_Points +4234:FT_Get_Paint +4235:FT_Get_MM_Var +4236:FT_Get_Color_Glyph_Paint +4237:FT_Activate_Size +4238:EllipticalRRectOp::~EllipticalRRectOp\28\29 +4239:EdgeLT::operator\28\29\28Edge\20const&\2c\20Edge\20const&\29\20const +4240:DAffineMatrix::mapPoint\28\28anonymous\20namespace\29::DPoint\20const&\29\20const +4241:DAffineMatrix::mapPoint\28SkPoint\20const&\29\20const +4242:Cr_z_inflate_table +4243:Compute_Point_Displacement +4244:CircularRRectOp::~CircularRRectOp\28\29 +4245:CFF::cff_stack_t::push\28\29 +4246:CFF::arg_stack_t::pop_int\28\29 +4247:CFF::CFFIndex>::get_size\28\29\20const +4248:Bounder::Bounder\28SkRect\20const&\2c\20SkPaint\20const&\29 +4249:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::Item::operator++\28\29 +4250:ActiveEdgeList::DoubleRotation\28ActiveEdge*\2c\20int\29 +4251:AAT::kerxTupleKern\28int\2c\20unsigned\20int\2c\20void\20const*\2c\20AAT::hb_aat_apply_context_t*\29 +4252:AAT::feat::get_feature\28hb_aat_layout_feature_type_t\29\20const +4253:AAT::StateTable::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +4254:AAT::StateTable::get_class\28unsigned\20int\2c\20unsigned\20int\29\20const +4255:AAT::StateTable::get_entry\28int\2c\20unsigned\20int\29\20const +4256:AAT::Lookup::sanitize\28hb_sanitize_context_t*\29\20const +4257:AAT::ClassTable>::get_class\28unsigned\20int\2c\20unsigned\20int\29\20const +4258:zeroinfnan +4259:zero_mark_widths_by_gdef\28hb_buffer_t*\2c\20bool\29 +4260:xyzd50_to_lab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +4261:xyz_almost_equal\28skcms_Matrix3x3\20const&\2c\20skcms_Matrix3x3\20const&\29 +4262:write_vertex_position\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrShaderVar\20const&\2c\20SkMatrix\20const&\2c\20char\20const*\2c\20GrShaderVar*\2c\20GrResourceHandle*\29 +4263:write_passthrough_vertex_position\28GrGLSLVertexBuilder*\2c\20GrShaderVar\20const&\2c\20GrShaderVar*\29 +4264:winding_mono_quad\28SkPoint\20const*\2c\20float\2c\20float\2c\20int*\29 +4265:winding_mono_conic\28SkConic\20const&\2c\20float\2c\20float\2c\20int*\29 +4266:wctomb +4267:wchar_t*\20std::__2::copy\5babi:v160004\5d\2c\20wchar_t*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20wchar_t*\29 +4268:walk_simple_edges\28SkEdge*\2c\20SkBlitter*\2c\20int\2c\20int\29 +4269:vsscanf +4270:void\20std::__2::allocator_traits>::construct\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\29 +4271:void\20std::__2::allocator::construct\5babi:v160004\5d&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&>\28sktext::GlyphRun*\2c\20SkFont\20const&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\29 +4272:void\20std::__2::allocator::construct\5babi:v160004\5d\28skia::textlayout::FontFeature*\2c\20SkString\20const&\2c\20int&\29 +4273:void\20std::__2::allocator::construct\5babi:v160004\5d\28Contour*\2c\20SkRect&\2c\20int&\2c\20int&\29 +4274:void\20std::__2::__variant_detail::__impl\2c\20std::__2::unique_ptr>>::__assign\5babi:v160004\5d<0ul\2c\20sk_sp>\28sk_sp&&\29 +4275:void\20std::__2::__variant_detail::__impl::__assign\5babi:v160004\5d<0ul\2c\20SkPaint>\28SkPaint&&\29 +4276:void\20std::__2::__variant_detail::__assignment>::__assign_alt\5babi:v160004\5d<0ul\2c\20SkPaint\2c\20SkPaint>\28std::__2::__variant_detail::__alt<0ul\2c\20SkPaint>&\2c\20SkPaint&&\29 +4277:void\20std::__2::__tree_right_rotate\5babi:v160004\5d*>\28std::__2::__tree_node_base*\29 +4278:void\20std::__2::__tree_left_rotate\5babi:v160004\5d*>\28std::__2::__tree_node_base*\29 +4279:void\20std::__2::__stable_sort_move\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\29 +4280:void\20std::__2::__sift_up\5babi:v160004\5d*>>\28std::__2::__wrap_iter*>\2c\20std::__2::__wrap_iter*>\2c\20GrGeometryProcessor::ProgramImpl::emitTransformCode\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\29::$_0&\2c\20std::__2::iterator_traits*>>::difference_type\29 +4281:void\20std::__2::__sift_up\5babi:v160004\5d>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20GrAATriangulator::EventComparator&\2c\20std::__2::iterator_traits>::difference_type\29 +4282:void\20std::__2::__optional_storage_base::__construct\5babi:v160004\5d\28skia::textlayout::FontArguments\20const&\29 +4283:void\20std::__2::__optional_storage_base::__assign_from\5babi:v160004\5d\20const&>\28std::__2::__optional_copy_assign_base\20const&\29 +4284:void\20std::__2::__optional_storage_base::__construct\5babi:v160004\5d\28SkPath\20const&\29 +4285:void\20std::__2::__memberwise_forward_assign\5babi:v160004\5d&\2c\20int&>\2c\20std::__2::tuple\2c\20unsigned\20long>\2c\20sk_sp\2c\20unsigned\20long\2c\200ul\2c\201ul>\28std::__2::tuple&\2c\20int&>&\2c\20std::__2::tuple\2c\20unsigned\20long>&&\2c\20std::__2::__tuple_types\2c\20unsigned\20long>\2c\20std::__2::__tuple_indices<0ul\2c\201ul>\29 +4286:void\20std::__2::__memberwise_forward_assign\5babi:v160004\5d&>\2c\20std::__2::tuple>\2c\20GrSurfaceProxyView\2c\20sk_sp\2c\200ul\2c\201ul>\28std::__2::tuple&>&\2c\20std::__2::tuple>&&\2c\20std::__2::__tuple_types>\2c\20std::__2::__tuple_indices<0ul\2c\201ul>\29 +4287:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20char*&\2c\20char*&\29 +4288:void\20sorted_merge<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +4289:void\20sorted_merge<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +4290:void\20sort_r_simple\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void*\29\2c\20void*\29 +4291:void\20sktext::gpu::fillDirectClipped\28SkZip\2c\20unsigned\20int\2c\20SkPoint\2c\20SkIRect*\29 +4292:void\20skgpu::ganesh::SurfaceFillContext::clearAtLeast<\28SkAlphaType\292>\28SkIRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +4293:void\20portable::memsetT\28unsigned\20short*\2c\20unsigned\20short\2c\20int\29 +4294:void\20portable::memsetT\28unsigned\20int*\2c\20unsigned\20int\2c\20int\29 +4295:void\20hb_sanitize_context_t::set_object>\28OT::KernSubTable\20const*\29 +4296:void\20hb_sanitize_context_t::set_object>\28AAT::ChainSubtable\20const*\29 +4297:void\20hair_path<\28SkPaint::Cap\292>\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4298:void\20hair_path<\28SkPaint::Cap\291>\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4299:void\20hair_path<\28SkPaint::Cap\290>\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4300:void\20\28anonymous\20namespace\29::copyFT2LCD16\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\29 +4301:void\20SkTQSort\28double*\2c\20double*\29 +4302:void\20SkTIntroSort\28int\2c\20int*\2c\20int\2c\20DistanceLessThan\20const&\29 +4303:void\20SkTIntroSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29>\28int\2c\20float*\2c\20int\2c\20void\20SkTQSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29\20const&\29 +4304:void\20SkTIntroSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29>\28int\2c\20double*\2c\20int\2c\20void\20SkTQSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29\20const&\29 +4305:void\20SkTIntroSort\28int\2c\20SkString*\2c\20int\2c\20bool\20\20const\28&\29\28SkString\20const&\2c\20SkString\20const&\29\29 +4306:void\20SkTIntroSort\28int\2c\20SkOpRayHit**\2c\20int\2c\20bool\20\20const\28&\29\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29\29 +4307:void\20SkTIntroSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29>\28int\2c\20SkOpContour*\2c\20int\2c\20void\20SkTQSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29\20const&\29 +4308:void\20SkTIntroSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29>\28int\2c\20SkEdge*\2c\20int\2c\20void\20SkTQSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29\20const&\29 +4309:void\20SkTIntroSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29>\28int\2c\20SkClosestRecord\20const*\2c\20int\2c\20void\20SkTQSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29\20const&\29 +4310:void\20SkTIntroSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29>\28int\2c\20SkAnalyticEdge*\2c\20int\2c\20void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const&\29 +4311:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\20const\28&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +4312:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\28*\20const&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +4313:void\20SkTIntroSort\28int\2c\20Edge*\2c\20int\2c\20EdgeLT\20const&\29 +4314:void\20SkSafeUnref\28GrWindowRectangles::Rec\20const*\29 +4315:void\20SkSafeUnref\28GrSurface::RefCntedReleaseProc*\29 +4316:void\20SkSafeUnref\28GrBufferAllocPool::CpuBufferCache*\29 +4317:void\20SkRecords::FillBounds::trackBounds\28SkRecords::NoOp\20const&\29 +4318:void\20GrGeometryProcessor::ProgramImpl::collectTransforms\28GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGLSLUniformHandler*\2c\20GrShaderType\2c\20GrShaderVar\20const&\2c\20GrShaderVar\20const&\2c\20GrPipeline\20const&\29::$_0::operator\28\29<$_0>\28$_0&\2c\20GrFragmentProcessor\20const&\2c\20bool\2c\20GrFragmentProcessor\20const*\2c\20int\2c\20GrGeometryProcessor::ProgramImpl::BaseCoord\29 +4319:void\20GrGLProgramDataManager::setMatrices<4>\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +4320:void\20GrGLProgramDataManager::setMatrices<3>\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +4321:void\20GrGLProgramDataManager::setMatrices<2>\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +4322:void\20A8_row_aa\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\20\28*\29\28unsigned\20char\2c\20unsigned\20char\29\2c\20bool\29 +4323:virtual\20thunk\20to\20GrGLTexture::onSetLabel\28\29 +4324:virtual\20thunk\20to\20GrGLTexture::backendFormat\28\29\20const +4325:vfiprintf +4326:validate_texel_levels\28SkISize\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20GrCaps\20const*\29 +4327:valid_divs\28int\20const*\2c\20int\2c\20int\2c\20int\29 +4328:utf8_byte_type\28unsigned\20char\29 +4329:use_tiled_rendering\28GrGLCaps\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\29 +4330:uprv_realloc_skia +4331:update_edge\28SkEdge*\2c\20int\29 +4332:unsigned\20short\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4333:unsigned\20short\20sk_saturate_cast\28float\29 +4334:unsigned\20long\20long\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4335:unsigned\20long&\20std::__2::vector>::emplace_back\28unsigned\20long&\29 +4336:unsigned\20int\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4337:unsigned\20int\20const*\20std::__2::lower_bound\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20unsigned\20long\20const&\29 +4338:unsigned\20int*\20hb_vector_t::push\28unsigned\20int&\29 +4339:unsigned\20char\20pack_distance_field_val<4>\28float\29 +4340:ubidi_getVisualRun_skia +4341:ubidi_countRuns_skia +4342:ubidi_close_skia +4343:u_terminateUChars_skia +4344:u_charType_skia +4345:u8_lerp\28unsigned\20char\2c\20unsigned\20char\2c\20unsigned\20char\29 +4346:tt_size_select +4347:tt_size_run_prep +4348:tt_size_done_bytecode +4349:tt_sbit_decoder_load_image +4350:tt_prepare_zone +4351:tt_loader_set_pp +4352:tt_loader_init +4353:tt_loader_done +4354:tt_hvadvance_adjust +4355:tt_face_vary_cvt +4356:tt_face_palette_set +4357:tt_face_load_generic_header +4358:tt_face_load_cvt +4359:tt_face_goto_table +4360:tt_face_get_metrics +4361:tt_done_blend +4362:tt_cmap4_set_range +4363:tt_cmap4_next +4364:tt_cmap4_char_map_linear +4365:tt_cmap4_char_map_binary +4366:tt_cmap2_get_subheader +4367:tt_cmap14_get_nondef_chars +4368:tt_cmap14_get_def_chars +4369:tt_cmap14_def_char_count +4370:tt_cmap13_next +4371:tt_cmap13_init +4372:tt_cmap13_char_map_binary +4373:tt_cmap12_next +4374:tt_cmap12_char_map_binary +4375:tt_apply_mvar +4376:top_collinear\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +4377:to_stablekey\28int\2c\20unsigned\20int\29 +4378:throw_on_failure\28unsigned\20long\2c\20void*\29 +4379:thai_pua_shape\28unsigned\20int\2c\20thai_action_t\2c\20hb_font_t*\29 +4380:t1_lookup_glyph_by_stdcharcode_ps +4381:t1_cmap_std_init +4382:t1_cmap_std_char_index +4383:t1_builder_init +4384:t1_builder_close_contour +4385:t1_builder_add_point1 +4386:t1_builder_add_point +4387:t1_builder_add_contour +4388:sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4389:sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4390:surface_setCallbackHandler +4391:surface_getThreadId +4392:strutStyle_setFontSize +4393:strtox.9301 +4394:strtoull +4395:strtoll_l +4396:strspn +4397:strncpy +4398:strcspn +4399:store_int +4400:std::logic_error::~logic_error\28\29 +4401:std::logic_error::logic_error\28char\20const*\29 +4402:std::exception::exception\5babi:v160004\5d\28\29 +4403:std::__2::vector>::operator=\5babi:v160004\5d\28std::__2::vector>\20const&\29 +4404:std::__2::vector>::__vdeallocate\28\29 +4405:std::__2::vector>::__move_assign\28std::__2::vector>&\2c\20std::__2::integral_constant\29 +4406:std::__2::vector>\2c\20std::__2::allocator>>>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::unique_ptr>*\29 +4407:std::__2::vector\2c\20std::__2::allocator>>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::tuple*\29 +4408:std::__2::vector>::max_size\28\29\20const +4409:std::__2::vector>::capacity\5babi:v160004\5d\28\29\20const +4410:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +4411:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4412:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::locale::facet**\29 +4413:std::__2::vector\2c\20std::__2::allocator>\2c\20std::__2::allocator\2c\20std::__2::allocator>>>::__clear\5babi:v160004\5d\28\29 +4414:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4415:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +4416:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +4417:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +4418:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4419:std::__2::vector>::operator=\5babi:v160004\5d\28std::__2::vector>\20const&\29 +4420:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4421:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28skia::textlayout::FontFeature*\29 +4422:std::__2::vector\2c\20std::__2::allocator>>::vector\28std::__2::vector\2c\20std::__2::allocator>>\20const&\29 +4423:std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float&&\29 +4424:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +4425:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +4426:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4427:std::__2::vector>::vector\5babi:v160004\5d\28std::initializer_list\29 +4428:std::__2::vector>::reserve\28unsigned\20long\29 +4429:std::__2::vector>::operator=\5babi:v160004\5d\28std::__2::vector>\20const&\29 +4430:std::__2::vector>::__vdeallocate\28\29 +4431:std::__2::vector>::__destroy_vector::operator\28\29\5babi:v160004\5d\28\29 +4432:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4433:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28SkString*\29 +4434:std::__2::vector>::push_back\5babi:v160004\5d\28SkSL::TraceInfo&&\29 +4435:std::__2::vector>::push_back\5babi:v160004\5d\28SkSL::SymbolTable*\20const&\29 +4436:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +4437:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4438:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\2c\20SkSL::ProgramElement\20const**\29 +4439:std::__2::vector>::__move_range\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\29 +4440:std::__2::vector>::erase\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4441:std::__2::vector>::push_back\5babi:v160004\5d\28SkRuntimeEffect::Uniform&&\29 +4442:std::__2::vector>::push_back\5babi:v160004\5d\28SkRuntimeEffect::Child&&\29 +4443:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +4444:std::__2::vector>::__destroy_vector::operator\28\29\5babi:v160004\5d\28\29 +4445:std::__2::vector>::reserve\28unsigned\20long\29 +4446:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4447:std::__2::vector\2c\20std::__2::allocator>>::__swap_out_circular_buffer\28std::__2::__split_buffer\2c\20std::__2::allocator>&>&\29 +4448:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +4449:std::__2::vector>::push_back\5babi:v160004\5d\28SkMeshSpecification::Varying&&\29 +4450:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +4451:std::__2::vector>::reserve\28unsigned\20long\29 +4452:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4453:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +4454:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4455:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28unsigned\20char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +4456:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4457:std::__2::unique_ptr>::reset\5babi:v160004\5d\28sktext::gpu::TextBlobRedrawCoordinator*\29 +4458:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +4459:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4460:std::__2::unique_ptr>::reset\5babi:v160004\5d\28sktext::gpu::SubRunAllocator*\29 +4461:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4462:std::__2::unique_ptr>::reset\5babi:v160004\5d\28sktext::gpu::StrikeCache*\29 +4463:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4464:std::__2::unique_ptr>::reset\5babi:v160004\5d\28sktext::GlyphRunBuilder*\29 +4465:std::__2::unique_ptr\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4466:std::__2::unique_ptr\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4467:std::__2::unique_ptr\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4468:std::__2::unique_ptr>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4469:std::__2::unique_ptr::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4470:std::__2::unique_ptr>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4471:std::__2::unique_ptr\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4472:std::__2::unique_ptr::AdaptedTraits>::Slot\20\5b\5d\2c\20std::__2::default_delete::AdaptedTraits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4473:std::__2::unique_ptr::Slot\20\5b\5d\2c\20std::__2::default_delete::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4474:std::__2::unique_ptr\2c\20std::__2::default_delete>>::reset\5babi:v160004\5d\28skia_private::TArray*\29 +4475:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4476:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4477:std::__2::unique_ptr>::reset\5babi:v160004\5d\28skgpu::ganesh::SmallPathAtlasMgr*\29 +4478:std::__2::unique_ptr\20\5b\5d\2c\20std::__2::default_delete\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4479:std::__2::unique_ptr>::reset\5babi:v160004\5d\28hb_font_t*\29 +4480:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4481:std::__2::unique_ptr>::reset\5babi:v160004\5d\28hb_blob_t*\29 +4482:std::__2::unique_ptr::operator=\5babi:v160004\5d\28std::__2::unique_ptr&&\29 +4483:std::__2::unique_ptr<\28anonymous\20namespace\29::SoftwarePathData\2c\20std::__2::default_delete<\28anonymous\20namespace\29::SoftwarePathData>>::reset\5babi:v160004\5d\28\28anonymous\20namespace\29::SoftwarePathData*\29 +4484:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4485:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkTaskGroup*\29 +4486:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4487:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4488:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4489:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::RP::Program*\29 +4490:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4491:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::Program*\29 +4492:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::ProgramUsage*\29 +4493:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4494:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4495:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::MemoryPool*\29 +4496:std::__2::unique_ptr>\20SkSL::coalesce_vector\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +4497:std::__2::unique_ptr>\20SkSL::coalesce_pairwise_vectors\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +4498:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4499:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4500:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkRecorder*\29 +4501:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkLatticeIter*\29 +4502:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkCanvas::Layer*\29 +4503:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4504:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkCanvas::BackImage*\29 +4505:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4506:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkArenaAlloc*\29 +4507:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4508:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrThreadSafeCache*\29 +4509:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4510:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrResourceProvider*\29 +4511:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4512:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrResourceCache*\29 +4513:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4514:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrProxyProvider*\29 +4515:std::__2::unique_ptr>\20GrOp::Make\28GrRecordingContext*\2c\20skgpu::ganesh::AtlasTextOp::MaskType&&\2c\20bool&&\2c\20int&&\2c\20SkRect&\2c\20skgpu::ganesh::AtlasTextOp::Geometry*&\2c\20GrColorInfo\20const&\2c\20GrPaint&&\29 +4516:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4517:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4518:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4519:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4520:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrAuditTrail::OpNode*\29 +4521:std::__2::unique_ptr>::reset\5babi:v160004\5d\28FT_SizeRec_*\29 +4522:std::__2::tuple::tuple\5babi:v160004\5d\28std::__2::\28anonymous\20namespace\29::__fake_bind&&\29 +4523:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda0'\28\29::operator\28\29\28\29\20const +4524:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +4525:std::__2::tuple&\20std::__2::tuple::operator=\5babi:v160004\5d\28std::__2::pair&&\29 +4526:std::__2::to_string\28unsigned\20long\29 +4527:std::__2::to_chars_result\20std::__2::__to_chars_itoa\5babi:v160004\5d\28char*\2c\20char*\2c\20unsigned\20int\2c\20std::__2::integral_constant\29 +4528:std::__2::time_put>>::~time_put\28\29.1 +4529:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4530:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4531:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4532:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4533:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4534:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4535:std::__2::shared_ptr::operator=\5babi:v160004\5d\28std::__2::shared_ptr&&\29 +4536:std::__2::reverse_iterator::operator++\5babi:v160004\5d\28\29 +4537:std::__2::priority_queue>\2c\20GrAATriangulator::EventComparator>::push\28GrAATriangulator::Event*\20const&\29 +4538:std::__2::pair::pair\28std::__2::pair&&\29 +4539:std::__2::pair>::~pair\28\29 +4540:std::__2::pair\2c\20std::__2::allocator>>>::~pair\28\29 +4541:std::__2::pair\20std::__2::__copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +4542:std::__2::pair::pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +4543:std::__2::pair>::~pair\28\29 +4544:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28wchar_t\29 +4545:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28char\29 +4546:std::__2::optional&\20std::__2::optional::operator=\5babi:v160004\5d\28SkPath\20const&\29 +4547:std::__2::optional::value\5babi:v160004\5d\28\29\20& +4548:std::__2::optional::value\5babi:v160004\5d\28\29\20& +4549:std::__2::numpunct::~numpunct\28\29.1 +4550:std::__2::numpunct::~numpunct\28\29.1 +4551:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +4552:std::__2::num_get>>\20const&\20std::__2::use_facet\5babi:v160004\5d>>>\28std::__2::locale\20const&\29 +4553:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +4554:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +4555:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +4556:std::__2::moneypunct::do_negative_sign\28\29\20const +4557:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +4558:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +4559:std::__2::moneypunct::do_negative_sign\28\29\20const +4560:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20wchar_t*&\2c\20wchar_t*\29 +4561:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20char*&\2c\20char*\29 +4562:std::__2::locale::operator=\28std::__2::locale\20const&\29 +4563:std::__2::locale::__imp::~__imp\28\29.1 +4564:std::__2::list>::pop_front\28\29 +4565:std::__2::iterator_traits\2c\20std::__2::allocator>\20const*>::difference_type\20std::__2::distance\5babi:v160004\5d\2c\20std::__2::allocator>\20const*>\28std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +4566:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28char*\2c\20char*\29 +4567:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::random_access_iterator_tag\29 +4568:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +4569:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +4570:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +4571:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +4572:std::__2::ios_base::width\5babi:v160004\5d\28long\29 +4573:std::__2::ios_base::setstate\5babi:v160004\5d\28unsigned\20int\29 +4574:std::__2::ios_base::clear\28unsigned\20int\29 +4575:std::__2::ios_base::__call_callbacks\28std::__2::ios_base::event\29 +4576:std::__2::hash>::operator\28\29\5babi:v160004\5d\28std::__2::optional\20const&\29\20const +4577:std::__2::function::operator\28\29\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29\20const +4578:std::__2::function::operator\28\29\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29\20const +4579:std::__2::function::operator\28\29\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29\20const +4580:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::writeDeferredStrokePatch\28\29 +4581:std::__2::enable_if>::value\2c\20SkRuntimeEffectBuilder::BuilderUniform&>::type\20SkRuntimeEffectBuilder::BuilderUniform::operator=>\28std::__2::array\20const&\29 +4582:std::__2::enable_if::value\2c\20SkRuntimeEffectBuilder::BuilderUniform&>::type\20SkRuntimeEffectBuilder::BuilderUniform::operator=\28float\20const&\29 +4583:std::__2::enable_if>::value\20&&\20sizeof\20\28skia::textlayout::SkRange\29\20!=\204\2c\20unsigned\20int>::type\20SkGoodHash::operator\28\29>\28skia::textlayout::SkRange\20const&\29\20const +4584:std::__2::enable_if::value\20&&\20sizeof\20\28bool\29\20!=\204\2c\20unsigned\20int>::type\20SkGoodHash::operator\28\29\28bool\20const&\29\20const +4585:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28char&\2c\20char&\29 +4586:std::__2::enable_if<__can_be_converted_to_string_view\2c\20std::__2::basic_string_view>>::value\20&&\20!__is_same_uncvref>\2c\20std::__2::basic_string\2c\20std::__2::allocator>>::value\2c\20std::__2::basic_string\2c\20std::__2::allocator>&>::type\20std::__2::basic_string\2c\20std::__2::allocator>::operator+=>>\28std::__2::basic_string_view>\20const&\29 +4587:std::__2::enable_if<_CheckArrayPointerConversion::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*>\28skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*\29 +4588:std::__2::enable_if<_CheckArrayPointerConversion\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot*>\28skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot*\29 +4589:std::__2::enable_if<_CheckArrayPointerConversion>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot*>\28skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot*\29 +4590:std::__2::enable_if<_CheckArrayPointerConversion::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot*>\28skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot*\29 +4591:std::__2::enable_if<_CheckArrayPointerConversion\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>>::reset\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29 +4592:std::__2::deque>::back\28\29 +4593:std::__2::deque>::__add_back_capacity\28\29 +4594:std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::_EnableIfConvertible::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot>::type\20std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot>\28skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*\29\20const +4595:std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot>::type\20std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot>\28skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*\29\20const +4596:std::__2::default_delete\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot>::type\20std::__2::default_delete\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot>\28skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot*\29\20const +4597:std::__2::default_delete\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot>::type\20std::__2::default_delete\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot>\28skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot*\29\20const +4598:std::__2::default_delete>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot>::type\20std::__2::default_delete>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot>\28skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot*\29\20const +4599:std::__2::default_delete::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::_EnableIfConvertible::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot>::type\20std::__2::default_delete::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot>\28skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot*\29\20const +4600:std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>::type\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29\20const +4601:std::__2::default_delete\20\5b\5d>::_EnableIfConvertible>::type\20std::__2::default_delete\20\5b\5d>::operator\28\29\5babi:v160004\5d>\28sk_sp*\29\20const +4602:std::__2::default_delete::_EnableIfConvertible::type\20std::__2::default_delete::operator\28\29\5babi:v160004\5d\28GrGLCaps::ColorTypeInfo*\29\20const +4603:std::__2::ctype::~ctype\28\29.1 +4604:std::__2::codecvt::~codecvt\28\29.1 +4605:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +4606:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char32_t\20const*\2c\20char32_t\20const*\2c\20char32_t\20const*&\2c\20char8_t*\2c\20char8_t*\2c\20char8_t*&\29\20const +4607:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char8_t\20const*\2c\20char8_t\20const*\2c\20unsigned\20long\29\20const +4608:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char8_t\20const*\2c\20char8_t\20const*\2c\20char8_t\20const*&\2c\20char32_t*\2c\20char32_t*\2c\20char32_t*&\29\20const +4609:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char16_t\20const*\2c\20char16_t\20const*\2c\20char16_t\20const*&\2c\20char8_t*\2c\20char8_t*\2c\20char8_t*&\29\20const +4610:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char8_t\20const*\2c\20char8_t\20const*\2c\20unsigned\20long\29\20const +4611:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char8_t\20const*\2c\20char8_t\20const*\2c\20char8_t\20const*&\2c\20char16_t*\2c\20char16_t*\2c\20char16_t*&\29\20const +4612:std::__2::char_traits::eq_int_type\28int\2c\20int\29 +4613:std::__2::char_traits::not_eof\28int\29 +4614:std::__2::char_traits::find\28char\20const*\2c\20unsigned\20long\2c\20char\20const&\29 +4615:std::__2::basic_stringstream\2c\20std::__2::allocator>::basic_stringstream\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29 +4616:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4617:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28\29\20const +4618:std::__2::basic_string_view>::substr\5babi:v160004\5d\28unsigned\20long\2c\20unsigned\20long\29\20const +4619:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29 +4620:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\2c\20wchar_t\20const*\29 +4621:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20wchar_t\20const*\29 +4622:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +4623:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +4624:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20char\29 +4625:std::__2::basic_string\2c\20std::__2::allocator>::__null_terminate_at\5babi:v160004\5d\28char*\2c\20unsigned\20long\29 +4626:std::__2::basic_string\2c\20std::__2::allocator>&\20skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::emplace_back\28char\20const*&&\29 +4627:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +4628:std::__2::basic_streambuf>::sputc\5babi:v160004\5d\28char\29 +4629:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +4630:std::__2::basic_streambuf>::basic_streambuf\28\29 +4631:std::__2::basic_ostream>::sentry::~sentry\28\29 +4632:std::__2::basic_ostream>::sentry::sentry\28std::__2::basic_ostream>&\29 +4633:std::__2::basic_ostream>::operator<<\28float\29 +4634:std::__2::basic_ostream>::flush\28\29 +4635:std::__2::basic_istream>::~basic_istream\28\29.1 +4636:std::__2::basic_iostream>::basic_iostream\5babi:v160004\5d\28std::__2::basic_streambuf>*\29 +4637:std::__2::basic_ios>::imbue\5babi:v160004\5d\28std::__2::locale\20const&\29 +4638:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\2c\20unsigned\20long\29 +4639:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +4640:std::__2::__wrap_iter\20std::__2::vector>::insert\2c\200>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4641:std::__2::__unwrap_iter_impl::__rewrap\5babi:v160004\5d\28char*\2c\20char*\29 +4642:std::__2::__unique_if\2c\20std::__2::allocator>>::__unique_single\20std::__2::make_unique\5babi:v160004\5d\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>>\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +4643:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Variable\20const*&&\2c\20SkSL::VariableRefKind&&\29 +4644:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>>\28SkSL::Position&\2c\20std::__2::unique_ptr>&&\2c\20std::__2::unique_ptr>&&\2c\20std::__2::unique_ptr>&&\29 +4645:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28\29 +4646:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28\29 +4647:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +4648:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4649:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4650:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4651:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4652:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4653:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +4654:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4655:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +4656:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>\2c\20true>\2c\20SkSL::Block::Kind&\2c\20std::__2::unique_ptr>>\28SkSL::Position&\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>&&\2c\20SkSL::Block::Kind&\2c\20std::__2::unique_ptr>&&\29 +4657:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>\28sk_sp&&\29 +4658:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d&>\28std::__2::shared_ptr&\29 +4659:std::__2::__tuple_impl\2c\20std::__2::\28anonymous\20namespace\29::__fake_bind&&>::__tuple_impl\5babi:v160004\5d<0ul\2c\20std::__2::\28anonymous\20namespace\29::__fake_bind&&\2c\20std::__2::\28anonymous\20namespace\29::__fake_bind>\28std::__2::__tuple_indices<0ul>\2c\20std::__2::__tuple_types\2c\20std::__2::__tuple_indices<>\2c\20std::__2::__tuple_types<>\2c\20std::__2::\28anonymous\20namespace\29::__fake_bind&&\29 +4660:std::__2::__time_put::__time_put\5babi:v160004\5d\28\29 +4661:std::__2::__time_put::__do_put\28char*\2c\20char*&\2c\20tm\20const*\2c\20char\2c\20char\29\20const +4662:std::__2::__throw_out_of_range\5babi:v160004\5d\28char\20const*\29 +4663:std::__2::__throw_length_error\5babi:v160004\5d\28char\20const*\29 +4664:std::__2::__split_buffer&>::~__split_buffer\28\29 +4665:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +4666:std::__2::__split_buffer>::pop_back\5babi:v160004\5d\28\29 +4667:std::__2::__split_buffer>::__destruct_at_end\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock**\2c\20std::__2::integral_constant\29 +4668:std::__2::__split_buffer&>::push_back\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +4669:std::__2::__split_buffer&>::~__split_buffer\28\29 +4670:std::__2::__split_buffer&>::~__split_buffer\28\29 +4671:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +4672:std::__2::__split_buffer&>::~__split_buffer\28\29 +4673:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +4674:std::__2::__split_buffer&>::~__split_buffer\28\29 +4675:std::__2::__shared_weak_count::__release_shared\5babi:v160004\5d\28\29 +4676:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +4677:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +4678:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +4679:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +4680:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +4681:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +4682:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +4683:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +4684:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20wchar_t&\2c\20wchar_t&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +4685:std::__2::__money_put::__format\28wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20unsigned\20int\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +4686:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20char&\2c\20char&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +4687:std::__2::__money_put::__format\28char*\2c\20char*&\2c\20char*&\2c\20unsigned\20int\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +4688:std::__2::__libcpp_sscanf_l\28char\20const*\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +4689:std::__2::__libcpp_mbrtowc_l\5babi:v160004\5d\28wchar_t*\2c\20char\20const*\2c\20unsigned\20long\2c\20__mbstate_t*\2c\20__locale_struct*\29 +4690:std::__2::__libcpp_mb_cur_max_l\5babi:v160004\5d\28__locale_struct*\29 +4691:std::__2::__libcpp_condvar_wait\5babi:v160004\5d\28pthread_cond_t*\2c\20pthread_mutex_t*\29 +4692:std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__deallocate_node\28std::__2::__hash_node_base\2c\20void*>*>*\29 +4693:std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__deallocate_node\28std::__2::__hash_node_base\2c\20void*>*>*\29 +4694:std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__deallocate_node\28std::__2::__hash_node_base*>*\29 +4695:std::__2::__function::__value_func\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\5babi:v160004\5d\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29\20const +4696:std::__2::__function::__value_func\29>::operator\28\29\5babi:v160004\5d\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29\20const +4697:std::__2::__function::__value_func::operator\28\29\5babi:v160004\5d\28\29\20const +4698:std::__2::__function::__value_func\29>::operator\28\29\5babi:v160004\5d\28sk_sp&&\29\20const +4699:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29 +4700:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +4701:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +4702:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29 +4703:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +4704:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +4705:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +4706:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +4707:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +4708:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy_deallocate\28\29 +4709:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy\28\29 +4710:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +4711:std::__2::__forward_list_base\2c\20std::__2::allocator>>::clear\28\29 +4712:std::__2::__exception_guard_exceptions>::__destroy_vector>::~__exception_guard_exceptions\5babi:v160004\5d\28\29 +4713:std::__2::__exception_guard_exceptions>::__destroy_vector>::~__exception_guard_exceptions\5babi:v160004\5d\28\29 +4714:std::__2::__exception_guard_exceptions\2c\20SkString*>>::~__exception_guard_exceptions\5babi:v160004\5d\28\29 +4715:std::__2::__constexpr_wcslen\5babi:v160004\5d\28wchar_t\20const*\29 +4716:std::__2::__compressed_pair_elem\29::$_0\2c\200\2c\20false>::__compressed_pair_elem\5babi:v160004\5d\29::$_0\20const&\2c\200ul>\28std::__2::piecewise_construct_t\2c\20std::__2::tuple\29::$_0\20const&>\2c\20std::__2::__tuple_indices<0ul>\29 +4717:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28std::__2::piecewise_construct_t\2c\20std::__2::tuple\2c\20std::__2::__tuple_indices<0ul>\29 +4718:std::__2::__compressed_pair::__compressed_pair\5babi:v160004\5d\28unsigned\20char*&\2c\20void\20\28*&&\29\28void*\29\29 +4719:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::__sso_allocator&\2c\20unsigned\20long\29 +4720:srgb_to_hsl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +4721:sort_r_swap_blocks\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4722:sort_increasing_Y\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +4723:sort_edges\28SkEdge**\2c\20int\2c\20SkEdge**\29 +4724:sort_as_rect\28skvx::Vec<4\2c\20float>\20const&\29 +4725:small_blur\28double\2c\20double\2c\20SkMask\20const&\2c\20SkMaskBuilder*\29::$_0::operator\28\29\28SkGaussFilter\20const&\2c\20unsigned\20short*\29\20const +4726:skvx::Vec<8\2c\20unsigned\20int>\20skvx::cast\28skvx::Vec<8\2c\20unsigned\20short>\20const&\29 +4727:skvx::Vec<4\2c\20unsigned\20short>\20skvx::operator>><4\2c\20unsigned\20short>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20int\29 +4728:skvx::Vec<4\2c\20unsigned\20short>\20skvx::operator<<<4\2c\20unsigned\20short>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20int\29 +4729:skvx::Vec<4\2c\20unsigned\20int>\20skvx::operator>><4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20int\29 +4730:skvx::Vec<4\2c\20unsigned\20int>\20skvx::operator*<4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +4731:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator!=<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +4732:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator!=<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4733:skvx::Vec<4\2c\20int>\20skvx::operator^<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +4734:skvx::Vec<4\2c\20int>\20skvx::operator>><4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20int\29 +4735:skvx::Vec<4\2c\20int>\20skvx::operator<<<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20int\29 +4736:skvx::Vec<4\2c\20float>\20skvx::sqrt<4>\28skvx::Vec<4\2c\20float>\20const&\29 +4737:skvx::Vec<4\2c\20float>\20skvx::operator/<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +4738:skvx::Vec<4\2c\20float>\20skvx::operator/<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4739:skvx::Vec<4\2c\20float>\20skvx::operator-<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +4740:skvx::Vec<4\2c\20float>\20skvx::operator-<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4741:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20int\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20int\29 +4742:skvx::Vec<4\2c\20float>\20skvx::min<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4743:skvx::Vec<4\2c\20float>\20skvx::min<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.5835\29 +4744:skvx::Vec<4\2c\20float>\20skvx::max<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4745:skvx::Vec<4\2c\20float>\20skvx::from_half<4>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\29 +4746:skvx::Vec<4\2c\20float>&\20skvx::operator*=<4\2c\20float>\28skvx::Vec<4\2c\20float>&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.6741\29 +4747:skvx::Vec<2\2c\20unsigned\20char>\20skvx::cast\28skvx::Vec<2\2c\20float>\20const&\29 +4748:skvx::ScaledDividerU32::divide\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +4749:skvx::ScaledDividerU32::ScaledDividerU32\28unsigned\20int\29 +4750:sktext::gpu::can_use_direct\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +4751:sktext::gpu::build_distance_adjust_table\28float\29 +4752:sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const +4753:sktext::gpu::TextBlobRedrawCoordinator::internalRemove\28sktext::gpu::TextBlob*\29 +4754:sktext::gpu::TextBlobRedrawCoordinator::BlobIDCacheEntry::findBlobIndex\28sktext::gpu::TextBlob::Key\20const&\29\20const +4755:sktext::gpu::TextBlobRedrawCoordinator::BlobIDCacheEntry::BlobIDCacheEntry\28sktext::gpu::TextBlobRedrawCoordinator::BlobIDCacheEntry&&\29 +4756:sktext::gpu::TextBlob::~TextBlob\28\29 +4757:sktext::gpu::SubRunContainer::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20SkRefCnt\20const*\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +4758:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_2::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +4759:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_0::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +4760:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29 +4761:sktext::gpu::SubRunContainer::EstimateAllocSize\28sktext::GlyphRunList\20const&\29 +4762:sktext::gpu::SubRunAllocator::SubRunAllocator\28int\29 +4763:sktext::gpu::SlugImpl::~SlugImpl\28\29 +4764:sktext::gpu::SDFTControl::isSDFT\28float\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +4765:sktext::SkStrikePromise::resetStrike\28\29 +4766:sktext::GlyphRunList::maxGlyphRunSize\28\29\20const +4767:sktext::GlyphRunBuilder::~GlyphRunBuilder\28\29 +4768:sktext::GlyphRunBuilder::makeGlyphRunList\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20SkPoint\29 +4769:sktext::GlyphRunBuilder::blobToGlyphRunList\28SkTextBlob\20const&\2c\20SkPoint\29 +4770:skstd::to_string\28float\29 +4771:skip_string +4772:skip_procedure +4773:skip_comment +4774:skif::compatible_sampling\28SkSamplingOptions\20const&\2c\20bool\2c\20SkSamplingOptions*\2c\20bool\29 +4775:skif::\28anonymous\20namespace\29::decompose_transform\28SkMatrix\20const&\2c\20SkPoint\2c\20SkMatrix*\2c\20SkMatrix*\29 +4776:skif::\28anonymous\20namespace\29::are_axes_nearly_integer_aligned\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +4777:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +4778:skif::Mapping::adjustLayerSpace\28SkMatrix\20const&\29 +4779:skif::LayerSpace\20skif::Mapping::paramToLayer\28skif::ParameterSpace\20const&\29\20const +4780:skif::LayerSpace::roundIn\28\29\20const +4781:skif::LayerSpace::inset\28skif::LayerSpace\20const&\29 +4782:skif::LayerSpace::mapSize\28skif::LayerSpace\20const&\29\20const +4783:skif::LayerSpace::RectToRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\29 +4784:skif::LayerSpace::offset\28skif::LayerSpace\20const&\29 +4785:skif::FilterResult::imageAndOffset\28skif::Context\20const&\29\20const +4786:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20SkBlender\20const*\29\20const +4787:skif::FilterResult::drawAnalyzedImage\28skif::Context\20const&\2c\20SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\2c\20SkBlender\20const*\29\20const +4788:skif::FilterResult::Builder::drawShader\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +4789:skif::FilterResult::Builder::createInputShaders\28skif::LayerSpace\20const&\2c\20bool\29 +4790:skif::Context::Context\28sk_sp\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult\20const&\2c\20SkColorSpace\20const*\2c\20skif::Stats*\29 +4791:skia_private::THashTable>\2c\20std::__2::basic_string_view>\2c\20skia_private::THashSet>\2c\20SkGoodHash>::Traits>::uncheckedSet\28std::__2::basic_string_view>&&\29 +4792:skia_private::THashTable::uncheckedSet\28sktext::gpu::Glyph*&&\29 +4793:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4794:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4795:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeIfExists\28unsigned\20int\20const&\29 +4796:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot::emplace\28skia_private::THashMap::Pair&&\2c\20unsigned\20int\29 +4797:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4798:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::reset\28\29 +4799:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4800:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\29 +4801:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot::reset\28\29 +4802:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\2c\20unsigned\20int\29 +4803:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Hash\28skia::textlayout::OneLineShaper::FontKey\20const&\29 +4804:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\29 +4805:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot::reset\28\29 +4806:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\2c\20unsigned\20int\29 +4807:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Hash\28skia::textlayout::FontCollection::FamilyKey\20const&\29 +4808:skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::uncheckedSet\28skia_private::THashMap>::Pair&&\29 +4809:skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::reset\28\29 +4810:skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Hash\28skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\20const&\29 +4811:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4812:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot::reset\28\29 +4813:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot::emplace\28skia_private::THashMap::Pair&&\2c\20unsigned\20int\29 +4814:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +4815:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +4816:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4817:skia_private::THashTable::Pair\2c\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4818:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +4819:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +4820:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4821:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Hash\28SkString\20const&\29 +4822:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +4823:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +4824:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4825:skia_private::THashTable::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4826:skia_private::THashTable::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap::Pair>::firstPopulatedSlot\28\29\20const +4827:skia_private::THashTable::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap::Pair>::Iter>::operator++\28\29 +4828:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4829:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4830:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4831:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::set\28skia_private::THashMap::Pair\29 +4832:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4833:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +4834:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4835:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4836:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::Slot::reset\28\29 +4837:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::Slot::emplace\28skia_private::THashMap::Pair&&\2c\20unsigned\20int\29 +4838:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +4839:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::resize\28int\29 +4840:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4841:skia_private::THashTable::Pair\2c\20GrSurfaceProxy*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4842:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28skgpu::ganesh::SmallPathShapeData*&&\29 +4843:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +4844:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +4845:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::uncheckedSet\28sk_sp&&\29 +4846:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::reset\28\29 +4847:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot::reset\28\29 +4848:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot::emplace\28sk_sp&&\2c\20unsigned\20int\29 +4849:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::uncheckedSet\28sk_sp&&\29 +4850:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::resize\28int\29 +4851:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::Slot::emplace\28sk_sp&&\2c\20unsigned\20int\29 +4852:skia_private::THashTable::Traits>::set\28int\29 +4853:skia_private::THashTable::Traits>::THashTable\28skia_private::THashTable::Traits>&&\29 +4854:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::uncheckedSet\28\28anonymous\20namespace\29::CacheImpl::Value*&&\29 +4855:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::resize\28int\29 +4856:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +4857:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +4858:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::findOrNull\28skgpu::ScratchKey\20const&\29\20const +4859:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +4860:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +4861:skia_private::THashTable::Traits>::uncheckedSet\28SkSL::Variable\20const*&&\29 +4862:skia_private::THashTable::Traits>::resize\28int\29 +4863:skia_private::THashTable::uncheckedSet\28SkResourceCache::Rec*&&\29 +4864:skia_private::THashTable::resize\28int\29 +4865:skia_private::THashTable::find\28SkResourceCache::Key\20const&\29\20const +4866:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*&&\29 +4867:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::resize\28int\29 +4868:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::find\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +4869:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*&&\29 +4870:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::resize\28int\29 +4871:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::find\28GrProgramDesc\20const&\29\20const +4872:skia_private::THashTable::uncheckedSet\28SkGlyphDigest&&\29 +4873:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrThreadSafeCache::Entry*&&\29 +4874:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +4875:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +4876:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrTextureProxy*&&\29 +4877:skia_private::THashTable::AdaptedTraits>::set\28GrTextureProxy*\29 +4878:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +4879:skia_private::THashTable::AdaptedTraits>::findOrNull\28skgpu::UniqueKey\20const&\29\20const +4880:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrGpuResource*&&\29 +4881:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +4882:skia_private::THashTable::AdaptedTraits>::findOrNull\28skgpu::UniqueKey\20const&\29\20const +4883:skia_private::THashTable::Traits>::uncheckedSet\28FT_Opaque_Paint_&&\29 +4884:skia_private::THashTable::Traits>::resize\28int\29 +4885:skia_private::THashSet::contains\28int\20const&\29\20const +4886:skia_private::THashSet::contains\28FT_Opaque_Paint_\20const&\29\20const +4887:skia_private::THashSet::add\28FT_Opaque_Paint_\29 +4888:skia_private::THashMap::find\28unsigned\20int\20const&\29\20const +4889:skia_private::THashMap\2c\20SkGoodHash>::find\28int\20const&\29\20const +4890:skia_private::THashMap::find\28int\20const&\29\20const +4891:skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +4892:skia_private::THashMap::operator\5b\5d\28SkSL::Symbol\20const*\20const&\29 +4893:skia_private::THashMap::set\28SkSL::FunctionDeclaration\20const*\2c\20int\29 +4894:skia_private::THashMap::operator\5b\5d\28SkSL::FunctionDeclaration\20const*\20const&\29 +4895:skia_private::THashMap>\2c\20SkGoodHash>::remove\28SkImageFilter\20const*\20const&\29 +4896:skia_private::THashMap>\2c\20SkGoodHash>::Pair::Pair\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +4897:skia_private::THashMap::find\28GrSurfaceProxy*\20const&\29\20const +4898:skia_private::TArray::push_back_raw\28int\29 +4899:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4900:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +4901:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4902:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +4903:skia_private::TArray::initData\28int\29 +4904:skia_private::TArray::Allocate\28int\2c\20double\29 +4905:skia_private::TArray>\2c\20true>::~TArray\28\29 +4906:skia_private::TArray>\2c\20true>::operator=\28skia_private::TArray>\2c\20true>&&\29 +4907:skia_private::TArray>\2c\20true>::~TArray\28\29 +4908:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +4909:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::checkRealloc\28int\2c\20double\29 +4910:skia_private::TArray\2c\20true>::preallocateNewData\28int\2c\20double\29 +4911:skia_private::TArray\2c\20true>::installDataAndUpdateCapacity\28SkSpan\29 +4912:skia_private::TArray::destroyAll\28\29 +4913:skia_private::TArray::destroyAll\28\29 +4914:skia_private::TArray\2c\20false>::~TArray\28\29 +4915:skia_private::TArray::~TArray\28\29 +4916:skia_private::TArray::destroyAll\28\29 +4917:skia_private::TArray::copy\28skia::textlayout::Run\20const*\29 +4918:skia_private::TArray::Allocate\28int\2c\20double\29 +4919:skia_private::TArray::destroyAll\28\29 +4920:skia_private::TArray::initData\28int\29 +4921:skia_private::TArray::destroyAll\28\29 +4922:skia_private::TArray::TArray\28skia_private::TArray&&\29 +4923:skia_private::TArray::Allocate\28int\2c\20double\29 +4924:skia_private::TArray::copy\28skia::textlayout::Cluster\20const*\29 +4925:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4926:skia_private::TArray::Allocate\28int\2c\20double\29 +4927:skia_private::TArray::initData\28int\29 +4928:skia_private::TArray::destroyAll\28\29 +4929:skia_private::TArray::TArray\28skia_private::TArray&&\29 +4930:skia_private::TArray::Allocate\28int\2c\20double\29 +4931:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4932:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4933:skia_private::TArray::push_back\28\29 +4934:skia_private::TArray::push_back\28\29 +4935:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4936:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4937:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4938:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4939:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4940:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4941:skia_private::TArray::destroyAll\28\29 +4942:skia_private::TArray::clear\28\29 +4943:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4944:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4945:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4946:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4947:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4948:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4949:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4950:skia_private::TArray::operator=\28skia_private::TArray&&\29 +4951:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4952:skia_private::TArray::destroyAll\28\29 +4953:skia_private::TArray::clear\28\29 +4954:skia_private::TArray::Allocate\28int\2c\20double\29 +4955:skia_private::TArray::BufferFinishedMessage\2c\20false>::operator=\28skia_private::TArray::BufferFinishedMessage\2c\20false>&&\29 +4956:skia_private::TArray::BufferFinishedMessage\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +4957:skia_private::TArray::BufferFinishedMessage\2c\20false>::destroyAll\28\29 +4958:skia_private::TArray::BufferFinishedMessage\2c\20false>::clear\28\29 +4959:skia_private::TArray::Plane\2c\20false>::preallocateNewData\28int\2c\20double\29 +4960:skia_private::TArray::Plane\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +4961:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +4962:skia_private::TArray\2c\20true>::~TArray\28\29 +4963:skia_private::TArray\2c\20true>::~TArray\28\29 +4964:skia_private::TArray\2c\20true>::preallocateNewData\28int\2c\20double\29 +4965:skia_private::TArray\2c\20true>::clear\28\29 +4966:skia_private::TArray::push_back_raw\28int\29 +4967:skia_private::TArray::push_back\28hb_feature_t&&\29 +4968:skia_private::TArray::resize_back\28int\29 +4969:skia_private::TArray::reset\28int\29 +4970:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +4971:skia_private::TArray::operator=\28skia_private::TArray&&\29 +4972:skia_private::TArray::initData\28int\29 +4973:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4974:skia_private::TArray<\28anonymous\20namespace\29::DrawAtlasOpImpl::Geometry\2c\20true>::checkRealloc\28int\2c\20double\29 +4975:skia_private::TArray<\28anonymous\20namespace\29::DefaultPathOp::PathData\2c\20true>::preallocateNewData\28int\2c\20double\29 +4976:skia_private::TArray<\28anonymous\20namespace\29::AAHairlineOp::PathData\2c\20true>::preallocateNewData\28int\2c\20double\29 +4977:skia_private::TArray<\28anonymous\20namespace\29::AAHairlineOp::PathData\2c\20true>::installDataAndUpdateCapacity\28SkSpan\29 +4978:skia_private::TArray::push_back_n\28int\2c\20SkUnicode::CodeUnitFlags\20const&\29 +4979:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4980:skia_private::TArray::operator=\28skia_private::TArray&&\29 +4981:skia_private::TArray::destroyAll\28\29 +4982:skia_private::TArray::initData\28int\29 +4983:skia_private::TArray::TArray\28skia_private::TArray\20const&\29 +4984:skia_private::TArray\29::ReorderedArgument\2c\20false>::push_back\28SkSL::optimize_constructor_swizzle\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ConstructorCompound\20const&\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29::ReorderedArgument&&\29 +4985:skia_private::TArray::reserve_exact\28int\29 +4986:skia_private::TArray::fromBack\28int\29 +4987:skia_private::TArray::TArray\28skia_private::TArray&&\29 +4988:skia_private::TArray::Allocate\28int\2c\20double\29 +4989:skia_private::TArray::push_back\28SkSL::Field&&\29 +4990:skia_private::TArray::initData\28int\29 +4991:skia_private::TArray::Allocate\28int\2c\20double\29 +4992:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4993:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4994:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4995:skia_private::TArray\2c\20true>::push_back\28SkRGBA4f<\28SkAlphaType\292>&&\29 +4996:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +4997:skia_private::TArray\2c\20true>::checkRealloc\28int\2c\20double\29 +4998:skia_private::TArray::push_back\28SkPoint\20const&\29 +4999:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +5000:skia_private::TArray::copy\28SkPoint\20const*\29 +5001:skia_private::TArray::~TArray\28\29 +5002:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5003:skia_private::TArray::destroyAll\28\29 +5004:skia_private::TArray::~TArray\28\29 +5005:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5006:skia_private::TArray::destroyAll\28\29 +5007:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5008:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5009:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5010:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5011:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5012:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5013:skia_private::TArray::push_back\28\29 +5014:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5015:skia_private::TArray::push_back\28\29 +5016:skia_private::TArray::push_back_raw\28int\29 +5017:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5018:skia_private::TArray::~TArray\28\29 +5019:skia_private::TArray::operator=\28skia_private::TArray&&\29 +5020:skia_private::TArray::destroyAll\28\29 +5021:skia_private::TArray::clear\28\29 +5022:skia_private::TArray::Allocate\28int\2c\20double\29 +5023:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5024:skia_private::TArray::push_back\28\29 +5025:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5026:skia_private::TArray::pop_back\28\29 +5027:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5028:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5029:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5030:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5031:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5032:skia_private::STArray<8\2c\20int\2c\20true>::STArray\28int\29 +5033:skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>::STArray\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\20const&\29 +5034:skia_private::AutoTMalloc::realloc\28unsigned\20long\29 +5035:skia_private::AutoTMalloc::reset\28unsigned\20long\29 +5036:skia_private::AutoTArray::AutoTArray\28unsigned\20long\29 +5037:skia_private::AutoTArray::AutoTArray\28unsigned\20long\29 +5038:skia_private::AutoTArray::AutoTArray\28unsigned\20long\29 +5039:skia_private::AutoSTMalloc<256ul\2c\20unsigned\20short\2c\20void>::AutoSTMalloc\28unsigned\20long\29 +5040:skia_private::AutoSTArray<64\2c\20TriangulationVertex>::reset\28int\29 +5041:skia_private::AutoSTArray<64\2c\20SkGlyph\20const*>::reset\28int\29 +5042:skia_private::AutoSTArray<4\2c\20unsigned\20char>::reset\28int\29 +5043:skia_private::AutoSTArray<4\2c\20GrResourceHandle>::reset\28int\29 +5044:skia_private::AutoSTArray<3\2c\20std::__2::unique_ptr>>::reset\28int\29 +5045:skia_private::AutoSTArray<32\2c\20unsigned\20short>::~AutoSTArray\28\29 +5046:skia_private::AutoSTArray<32\2c\20unsigned\20short>::reset\28int\29 +5047:skia_private::AutoSTArray<32\2c\20SkRect>::reset\28int\29 +5048:skia_private::AutoSTArray<2\2c\20sk_sp>::reset\28int\29 +5049:skia_private::AutoSTArray<16\2c\20SkRect>::~AutoSTArray\28\29 +5050:skia_private::AutoSTArray<16\2c\20GrMipLevel>::reset\28int\29 +5051:skia_private::AutoSTArray<15\2c\20GrMipLevel>::reset\28int\29 +5052:skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>::~AutoSTArray\28\29 +5053:skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>::reset\28int\29 +5054:skia_private::AutoSTArray<14\2c\20GrMipLevel>::~AutoSTArray\28\29 +5055:skia_private::AutoSTArray<14\2c\20GrMipLevel>::reset\28int\29 +5056:skia_private::AutoSTArray<128\2c\20unsigned\20char>::~AutoSTArray\28\29 +5057:skia_png_set_longjmp_fn +5058:skia_png_read_finish_IDAT +5059:skia_png_read_chunk_header +5060:skia_png_read_IDAT_data +5061:skia_png_gamma_16bit_correct +5062:skia_png_do_strip_channel +5063:skia_png_do_gray_to_rgb +5064:skia_png_do_expand +5065:skia_png_destroy_gamma_table +5066:skia_png_colorspace_set_sRGB +5067:skia_png_check_IHDR +5068:skia_png_calculate_crc +5069:skia::textlayout::operator==\28skia::textlayout::FontArguments\20const&\2c\20skia::textlayout::FontArguments\20const&\29 +5070:skia::textlayout::\28anonymous\20namespace\29::littleRound\28float\29 +5071:skia::textlayout::\28anonymous\20namespace\29::LineBreakerWithLittleRounding::breakLine\28float\29\20const +5072:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29 +5073:skia::textlayout::TypefaceFontStyleSet::matchStyle\28SkFontStyle\20const&\29 +5074:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29 +5075:skia::textlayout::TypefaceFontProvider::registerTypeface\28sk_sp\2c\20SkString\20const&\29 +5076:skia::textlayout::TextWrapper::TextStretch::TextStretch\28skia::textlayout::Cluster*\2c\20skia::textlayout::Cluster*\2c\20bool\29 +5077:skia::textlayout::TextStyle::matchOneAttribute\28skia::textlayout::StyleType\2c\20skia::textlayout::TextStyle\20const&\29\20const +5078:skia::textlayout::TextStyle::equals\28skia::textlayout::TextStyle\20const&\29\20const +5079:skia::textlayout::TextShadow::operator!=\28skia::textlayout::TextShadow\20const&\29\20const +5080:skia::textlayout::TextLine::~TextLine\28\29 +5081:skia::textlayout::TextLine::spacesWidth\28\29\20const +5082:skia::textlayout::TextLine::shiftCluster\28skia::textlayout::Cluster\20const*\2c\20float\2c\20float\29 +5083:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const::$_0::operator\28\29\28unsigned\20long\20const&\29\20const::'lambda'\28skia::textlayout::Cluster&\29::operator\28\29\28skia::textlayout::Cluster&\29\20const +5084:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const +5085:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkRect\29::operator\28\29\28SkRect\29\20const +5086:skia::textlayout::TextLine::getMetrics\28\29\20const +5087:skia::textlayout::TextLine::extendHeight\28skia::textlayout::TextLine::ClipContext\20const&\29\20const +5088:skia::textlayout::TextLine::ensureTextBlobCachePopulated\28\29 +5089:skia::textlayout::TextLine::endsWithHardLineBreak\28\29\20const +5090:skia::textlayout::TextLine::buildTextBlob\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +5091:skia::textlayout::TextLine::TextLine\28skia::textlayout::ParagraphImpl*\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20skia::textlayout::InternalLineMetrics\29 +5092:skia::textlayout::TextLine::TextBlobRecord::~TextBlobRecord\28\29 +5093:skia::textlayout::TextLine::TextBlobRecord::TextBlobRecord\28\29 +5094:skia::textlayout::TextLine&\20skia_private::TArray::emplace_back&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&>\28skia::textlayout::ParagraphImpl*&&\2c\20SkPoint&\2c\20SkPoint&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&\29 +5095:skia::textlayout::StrutStyle::StrutStyle\28\29 +5096:skia::textlayout::Run::shift\28skia::textlayout::Cluster\20const*\2c\20float\29 +5097:skia::textlayout::Run::newRunBuffer\28\29 +5098:skia::textlayout::Run::clusterIndex\28unsigned\20long\29\20const +5099:skia::textlayout::Run::calculateMetrics\28\29 +5100:skia::textlayout::ParagraphStyle::ellipsized\28\29\20const +5101:skia::textlayout::ParagraphPainter::DecorationStyle::DecorationStyle\28unsigned\20int\2c\20float\2c\20std::__2::optional\29 +5102:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29 +5103:skia::textlayout::ParagraphImpl::resolveStrut\28\29 +5104:skia::textlayout::ParagraphImpl::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +5105:skia::textlayout::ParagraphImpl::getGlyphInfoAtUTF16Offset\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +5106:skia::textlayout::ParagraphImpl::getGlyphClusterAt\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +5107:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda0'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +5108:skia::textlayout::ParagraphImpl::computeEmptyMetrics\28\29 +5109:skia::textlayout::ParagraphImpl::buildClusterTable\28\29::$_0::operator\28\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\29\20const +5110:skia::textlayout::ParagraphCacheKey::ParagraphCacheKey\28skia::textlayout::ParagraphImpl\20const*\29 +5111:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29 +5112:skia::textlayout::ParagraphBuilderImpl::finalize\28\29 +5113:skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda0'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +5114:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\2c\20bool\29 +5115:skia::textlayout::Paragraph::~Paragraph\28\29 +5116:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29 +5117:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29::$_0::operator\28\29\28unsigned\20long\2c\20skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29::Dir\29\20const +5118:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29 +5119:skia::textlayout::OneLineShaper::FontKey::operator==\28skia::textlayout::OneLineShaper::FontKey\20const&\29\20const +5120:skia::textlayout::InternalLineMetrics::add\28skia::textlayout::InternalLineMetrics\29 +5121:skia::textlayout::FontFeature::operator==\28skia::textlayout::FontFeature\20const&\29\20const +5122:skia::textlayout::FontFeature::FontFeature\28skia::textlayout::FontFeature\20const&\29 +5123:skia::textlayout::FontCollection::~FontCollection\28\29 +5124:skia::textlayout::FontCollection::matchTypeface\28SkString\20const&\2c\20SkFontStyle\29 +5125:skia::textlayout::FontCollection::defaultFallback\28int\2c\20SkFontStyle\2c\20SkString\20const&\29 +5126:skia::textlayout::FontCollection::FamilyKey::operator==\28skia::textlayout::FontCollection::FamilyKey\20const&\29\20const +5127:skia::textlayout::FontCollection::FamilyKey::FamilyKey\28skia::textlayout::FontCollection::FamilyKey&&\29 +5128:skia::textlayout::FontArguments::~FontArguments\28\29 +5129:skia::textlayout::Decoration::operator==\28skia::textlayout::Decoration\20const&\29\20const +5130:skia::textlayout::Cluster::trimmedWidth\28unsigned\20long\29\20const +5131:skgpu::tess::\28anonymous\20namespace\29::write_curve_index_buffer_base_index\28skgpu::VertexWriter\2c\20unsigned\20long\2c\20unsigned\20short\29 +5132:skgpu::tess::StrokeParams::set\28SkStrokeRec\20const&\29 +5133:skgpu::tess::StrokeIterator::finishOpenContour\28\29 +5134:skgpu::tess::PreChopPathCurves\28float\2c\20SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +5135:skgpu::tess::LinearTolerances::setStroke\28skgpu::tess::StrokeParams\20const&\2c\20float\29 +5136:skgpu::tess::LinearTolerances::requiredResolveLevel\28\29\20const +5137:skgpu::tess::GetJoinType\28SkStrokeRec\20const&\29 +5138:skgpu::tess::FixedCountCurves::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +5139:skgpu::tess::CullTest::areVisible3\28SkPoint\20const*\29\20const +5140:skgpu::tess::ConicHasCusp\28SkPoint\20const*\29 +5141:skgpu::tess::CalcNumRadialSegmentsPerRadian\28float\29 +5142:skgpu::make_unnormalized_half_kernel\28float*\2c\20int\2c\20float\29 +5143:skgpu::ganesh::\28anonymous\20namespace\29::add_line_to_segment\28SkPoint\20const&\2c\20skia_private::TArray*\29 +5144:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29 +5145:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::flush\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\29\20const +5146:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::addToAtlasWithRetry\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\2c\20skgpu::ganesh::SmallPathAtlasMgr*\2c\20int\2c\20int\2c\20void\20const*\2c\20SkRect\20const&\2c\20int\2c\20skgpu::ganesh::SmallPathShapeData*\29\20const +5147:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::SmallPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20GrUserStencilSettings\20const*\29 +5148:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29 +5149:skgpu::ganesh::\28anonymous\20namespace\29::ChopPathIfNecessary\28SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkStrokeRec\20const&\2c\20SkPath*\29 +5150:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29 +5151:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::recordDraw\28GrMeshDrawTarget*\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20int\2c\20unsigned\20short*\29 +5152:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::PathData::PathData\28skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::PathData&&\29 +5153:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::AAFlatteningConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20float\2c\20SkStrokeRec::Style\2c\20SkPaint::Join\2c\20float\2c\20GrUserStencilSettings\20const*\29 +5154:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29 +5155:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::PathData::PathData\28skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::PathData&&\29 +5156:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::AAConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrUserStencilSettings\20const*\29 +5157:skgpu::ganesh::TextureOp::Make\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20SkBlendMode\2c\20GrAAType\2c\20DrawQuad*\2c\20SkRect\20const*\29 +5158:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +5159:skgpu::ganesh::SurfaceFillContext::blitTexture\28GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\29 +5160:skgpu::ganesh::SurfaceFillContext::arenas\28\29 +5161:skgpu::ganesh::SurfaceFillContext::addDrawOp\28std::__2::unique_ptr>\29 +5162:skgpu::ganesh::SurfaceFillContext::SurfaceFillContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +5163:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29.1 +5164:skgpu::ganesh::SurfaceDrawContext::setNeedsStencil\28\29 +5165:skgpu::ganesh::SurfaceDrawContext::internalStencilClear\28SkIRect\20const*\2c\20bool\29 +5166:skgpu::ganesh::SurfaceDrawContext::fillRectWithEdgeAA\28GrClip\20const*\2c\20GrPaint&&\2c\20GrQuadAAFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const*\29 +5167:skgpu::ganesh::SurfaceDrawContext::drawVertices\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20sk_sp\2c\20GrPrimitiveType*\2c\20bool\29 +5168:skgpu::ganesh::SurfaceDrawContext::drawTexturedQuad\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkBlendMode\2c\20DrawQuad*\2c\20SkRect\20const*\29 +5169:skgpu::ganesh::SurfaceDrawContext::drawTexture\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkBlendMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +5170:skgpu::ganesh::SurfaceDrawContext::drawStrokedLine\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkStrokeRec\20const&\29 +5171:skgpu::ganesh::SurfaceDrawContext::drawRegion\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrStyle\20const&\2c\20GrUserStencilSettings\20const*\29 +5172:skgpu::ganesh::SurfaceDrawContext::drawOval\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\29 +5173:skgpu::ganesh::SurfaceDrawContext::drawAtlas\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +5174:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29::$_0::operator\28\29\28\29\20const +5175:skgpu::ganesh::SurfaceDrawContext::SurfaceDrawContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +5176:skgpu::ganesh::SurfaceContext::writePixels\28GrDirectContext*\2c\20GrCPixmap\2c\20SkIPoint\29 +5177:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +5178:skgpu::ganesh::SurfaceContext::copy\28sk_sp\2c\20SkIRect\2c\20SkIPoint\29 +5179:skgpu::ganesh::SurfaceContext::copyScaled\28sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20SkFilterMode\29 +5180:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +5181:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::FinishContext::~FinishContext\28\29 +5182:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +5183:skgpu::ganesh::StrokeTessellator::draw\28GrOpFlushState*\29\20const +5184:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29 +5185:skgpu::ganesh::StrokeTessellateOp::prePrepareTessellator\28GrTessellationShader::ProgramArgs&&\2c\20GrAppliedClip&&\29 +5186:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::allowed_stroke\28GrCaps\20const*\2c\20SkStrokeRec\20const&\2c\20GrAA\2c\20bool*\29 +5187:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29 +5188:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::NonAAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrSimpleMeshDrawOpHelper::InputFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\2c\20GrAAType\29 +5189:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29 +5190:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::ClassID\28\29 +5191:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::RectInfo\20const&\2c\20bool\29 +5192:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const&\29 +5193:skgpu::ganesh::SoftwarePathRenderer::DrawAroundInvPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +5194:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +5195:skgpu::ganesh::SmallPathAtlasMgr::reset\28\29 +5196:skgpu::ganesh::SmallPathAtlasMgr::findOrCreate\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +5197:skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +5198:skgpu::ganesh::SmallPathAtlasMgr::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +5199:skgpu::ganesh::ShadowRRectOp::Make\28GrRecordingContext*\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20float\2c\20float\29 +5200:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29 +5201:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::RegionOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +5202:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::primitiveType\28\29\20const +5203:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::VertexSpec\28GrQuad::Type\2c\20skgpu::ganesh::QuadPerEdgeAA::ColorType\2c\20GrQuad::Type\2c\20bool\2c\20skgpu::ganesh::QuadPerEdgeAA::Subset\2c\20GrAAType\2c\20bool\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +5204:skgpu::ganesh::QuadPerEdgeAA::Tessellator::append\28GrQuad*\2c\20GrQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\29 +5205:skgpu::ganesh::QuadPerEdgeAA::Tessellator::Tessellator\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29 +5206:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29 +5207:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::initializeAttrs\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29 +5208:skgpu::ganesh::QuadPerEdgeAA::IssueDraw\28GrCaps\20const&\2c\20GrOpsRenderPass*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +5209:skgpu::ganesh::QuadPerEdgeAA::GetIndexBuffer\28GrMeshDrawTarget*\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +5210:skgpu::ganesh::PathWedgeTessellator::Make\28SkArenaAlloc*\2c\20bool\2c\20skgpu::tess::PatchAttribs\29 +5211:skgpu::ganesh::PathTessellator::PathTessellator\28bool\2c\20skgpu::tess::PatchAttribs\29 +5212:skgpu::ganesh::PathTessellator::PathDrawList*\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +5213:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29 +5214:skgpu::ganesh::PathTessellateOp::usesMSAA\28\29\20const +5215:skgpu::ganesh::PathTessellateOp::prepareTessellator\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +5216:skgpu::ganesh::PathTessellateOp::PathTessellateOp\28SkArenaAlloc*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\2c\20SkRect\20const&\29 +5217:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29 +5218:skgpu::ganesh::PathStencilCoverOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +5219:skgpu::ganesh::PathStencilCoverOp::ClassID\28\29 +5220:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29 +5221:skgpu::ganesh::PathInnerTriangulateOp::pushFanStencilProgram\28GrTessellationShader::ProgramArgs\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +5222:skgpu::ganesh::PathInnerTriangulateOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +5223:skgpu::ganesh::PathCurveTessellator::~PathCurveTessellator\28\29 +5224:skgpu::ganesh::PathCurveTessellator::prepareWithTriangles\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20GrTriangulator::BreadcrumbTriangleList*\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +5225:skgpu::ganesh::PathCurveTessellator::Make\28SkArenaAlloc*\2c\20bool\2c\20skgpu::tess::PatchAttribs\29 +5226:skgpu::ganesh::OpsTask::setColorLoadOp\28GrLoadOp\2c\20std::__2::array\29 +5227:skgpu::ganesh::OpsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +5228:skgpu::ganesh::OpsTask::onExecute\28GrOpFlushState*\29 +5229:skgpu::ganesh::OpsTask::addSampledTexture\28GrSurfaceProxy*\29 +5230:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0::operator\28\29\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\20const +5231:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +5232:skgpu::ganesh::OpsTask::OpsTask\28GrDrawingManager*\2c\20GrSurfaceProxyView\2c\20GrAuditTrail*\2c\20sk_sp\29 +5233:skgpu::ganesh::OpsTask::OpChain::tryConcat\28skgpu::ganesh::OpsTask::OpChain::List*\2c\20GrProcessorSet::Analysis\2c\20GrDstProxyView\20const&\2c\20GrAppliedClip\20const*\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrAuditTrail*\29 +5234:skgpu::ganesh::OpsTask::OpChain::OpChain\28std::__2::unique_ptr>\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\29 +5235:skgpu::ganesh::MakeFragmentProcessorFromView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +5236:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29 +5237:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29 +5238:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::NonAALatticeOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20std::__2::unique_ptr>\2c\20SkRect\20const&\29 +5239:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29 +5240:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::can_use_hw_derivatives_with_coverage\28skvx::Vec<2\2c\20float>\20const&\2c\20SkPoint\20const&\29 +5241:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29 +5242:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20GrAA\29 +5243:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::FillRRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29 +5244:skgpu::ganesh::DrawableOp::~DrawableOp\28\29 +5245:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29 +5246:skgpu::ganesh::DrawAtlasPathOp::prepareProgram\28GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5247:skgpu::ganesh::Device::~Device\28\29 +5248:skgpu::ganesh::Device::replaceBackingProxy\28SkSurface::ContentChangeMode\2c\20sk_sp\2c\20GrColorType\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +5249:skgpu::ganesh::Device::makeSpecial\28SkBitmap\20const&\29 +5250:skgpu::ganesh::Device::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +5251:skgpu::ganesh::Device::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +5252:skgpu::ganesh::Device::drawEdgeAAImage\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20SkTileMode\29 +5253:skgpu::ganesh::Device::convertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +5254:skgpu::ganesh::Device::android_utils_clipAsRgn\28SkRegion*\29\20const +5255:skgpu::ganesh::DefaultPathRenderer::internalDrawPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20bool\29 +5256:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +5257:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29 +5258:skgpu::ganesh::CopyView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\2c\20std::__2::basic_string_view>\29 +5259:skgpu::ganesh::ClipStack::clipPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrAA\2c\20SkClipOp\29 +5260:skgpu::ganesh::ClipStack::begin\28\29\20const +5261:skgpu::ganesh::ClipStack::SaveRecord::removeElements\28SkTBlockList*\29 +5262:skgpu::ganesh::ClipStack::RawElement::clipType\28\29\20const +5263:skgpu::ganesh::ClipStack::Mask::invalidate\28GrProxyProvider*\29 +5264:skgpu::ganesh::ClipStack::ElementIter::operator++\28\29 +5265:skgpu::ganesh::ClipStack::Element::Element\28skgpu::ganesh::ClipStack::Element\20const&\29 +5266:skgpu::ganesh::ClipStack::Draw::Draw\28SkRect\20const&\2c\20GrAA\29 +5267:skgpu::ganesh::ClearOp::ClearOp\28skgpu::ganesh::ClearOp::Buffer\2c\20GrScissorState\20const&\2c\20std::__2::array\2c\20bool\29 +5268:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29 +5269:skgpu::ganesh::AtlasTextOp::operator\20new\28unsigned\20long\29 +5270:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29::$_0::operator\28\29\28\29\20const +5271:skgpu::ganesh::AtlasTextOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5272:skgpu::ganesh::AtlasTextOp::ClassID\28\29 +5273:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29 +5274:skgpu::ganesh::AtlasRenderTask::stencilAtlasRect\28GrRecordingContext*\2c\20SkRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrUserStencilSettings\20const*\29 +5275:skgpu::ganesh::AtlasRenderTask::readView\28GrCaps\20const&\29\20const +5276:skgpu::ganesh::AtlasRenderTask::instantiate\28GrOnFlushResourceProvider*\2c\20sk_sp\29 +5277:skgpu::ganesh::AtlasRenderTask::addPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIPoint\2c\20int\2c\20int\2c\20bool\2c\20SkIPoint16*\29 +5278:skgpu::ganesh::AtlasRenderTask::addAtlasDrawOp\28std::__2::unique_ptr>\2c\20GrCaps\20const&\29 +5279:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +5280:skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +5281:skgpu::ganesh::AtlasPathRenderer::pathFitsInAtlas\28SkRect\20const&\2c\20GrAAType\29\20const +5282:skgpu::ganesh::AtlasPathRenderer::addPathToAtlas\28GrRecordingContext*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRect\20const&\2c\20SkIRect*\2c\20SkIPoint16*\2c\20bool*\2c\20std::__2::function\20const&\29 +5283:skgpu::ganesh::AtlasPathRenderer::AtlasPathKey::operator==\28skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\20const&\29\20const +5284:skgpu::ganesh::AsFragmentProcessor\28GrRecordingContext*\2c\20SkImage\20const*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +5285:skgpu::TiledTextureUtils::OptimizeSampleArea\28SkISize\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkRect*\2c\20SkRect*\2c\20SkMatrix*\29 +5286:skgpu::TiledTextureUtils::CanDisableMipmap\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +5287:skgpu::TClientMappedBufferManager::process\28\29 +5288:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29 +5289:skgpu::TAsyncReadResult::count\28\29\20const +5290:skgpu::TAsyncReadResult::Plane::~Plane\28\29 +5291:skgpu::Swizzle::RGB1\28\29 +5292:skgpu::Swizzle::BGRA\28\29 +5293:skgpu::ScratchKey::ScratchKey\28skgpu::ScratchKey\20const&\29 +5294:skgpu::ResourceKey::operator=\28skgpu::ResourceKey\20const&\29 +5295:skgpu::RefCntedCallback::Make\28void\20\28*\29\28void*\29\2c\20void*\29 +5296:skgpu::RectanizerSkyline::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +5297:skgpu::RectanizerSkyline::RectanizerSkyline\28int\2c\20int\29 +5298:skgpu::Plot::~Plot\28\29 +5299:skgpu::Plot::resetRects\28\29 +5300:skgpu::Plot::Plot\28int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20SkColorType\2c\20unsigned\20long\29 +5301:skgpu::KeyBuilder::flush\28\29 +5302:skgpu::KeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5303:skgpu::GetReducedBlendModeInfo\28SkBlendMode\29 +5304:skgpu::GetApproxSize\28SkISize\29::$_0::operator\28\29\28int\29\20const +5305:skgpu::CreateIntegralTable\28int\29 +5306:skgpu::ComputeIntegralTableWidth\28float\29 +5307:skgpu::AtlasLocator::updatePlotLocator\28skgpu::PlotLocator\29 +5308:skgpu::AtlasLocator::insetSrc\28int\29 +5309:skcms_Matrix3x3_invert +5310:sk_sp::~sk_sp\28\29 +5311:sk_sp<\28anonymous\20namespace\29::UniqueKeyInvalidator>\20sk_make_sp<\28anonymous\20namespace\29::UniqueKeyInvalidator\2c\20skgpu::UniqueKey&\2c\20unsigned\20int>\28skgpu::UniqueKey&\2c\20unsigned\20int&&\29 +5312:sk_sp<\28anonymous\20namespace\29::ShadowInvalidator>\20sk_make_sp<\28anonymous\20namespace\29::ShadowInvalidator\2c\20SkResourceCache::Key&>\28SkResourceCache::Key&\29 +5313:sk_sp::operator=\28sk_sp\20const&\29 +5314:sk_sp&\20std::__2::vector\2c\20std::__2::allocator>>::emplace_back>\28sk_sp&&\29 +5315:sk_sp\20sk_make_sp>\28sk_sp&&\29 +5316:sk_sp::~sk_sp\28\29 +5317:sk_sp::sk_sp\28sk_sp\20const&\29 +5318:sk_sp::operator=\28sk_sp&&\29 +5319:sk_sp::reset\28SkData\20const*\29 +5320:sk_sp::operator=\28sk_sp\20const&\29 +5321:sk_sp::operator=\28sk_sp\20const&\29 +5322:sk_sp::operator=\28sk_sp&&\29 +5323:sk_sp\20sk_make_sp\2c\20float\2c\20sk_sp>\28sk_sp&&\2c\20float&&\2c\20sk_sp&&\29 +5324:sk_sp::~sk_sp\28\29 +5325:sk_sp&\20sk_sp::operator=\28sk_sp&&\29 +5326:sk_sp::reset\28GrSurface::RefCntedReleaseProc*\29 +5327:sk_sp::operator=\28sk_sp&&\29 +5328:sk_sp::~sk_sp\28\29 +5329:sk_sp::operator=\28sk_sp&&\29 +5330:sk_sp::~sk_sp\28\29 +5331:sk_sp\20sk_make_sp\28\29 +5332:sk_sp::reset\28GrArenas*\29 +5333:sk_ft_free\28FT_MemoryRec_*\2c\20void*\29 +5334:sk_fopen\28char\20const*\2c\20SkFILE_Flags\29 +5335:sk_fgetsize\28_IO_FILE*\29 +5336:sk_determinant\28float\20const*\2c\20int\29 +5337:sk_blit_below\28SkBlitter*\2c\20SkIRect\20const&\2c\20SkRegion\20const&\29 +5338:sk_blit_above\28SkBlitter*\2c\20SkIRect\20const&\2c\20SkRegion\20const&\29 +5339:sid_to_gid_t\20const*\20hb_sorted_array_t::bsearch\28unsigned\20int\20const&\2c\20sid_to_gid_t\20const*\29 +5340:short\20sk_saturate_cast\28float\29 +5341:sharp_angle\28SkPoint\20const*\29 +5342:setup_masks_arabic_plan\28arabic_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_script_t\29 +5343:set_points\28float*\2c\20int*\2c\20int\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float\2c\20float\2c\20bool\29 +5344:set_normal_unitnormal\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +5345:set_khr_debug_label\28GrGLGpu*\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5346:setThrew +5347:setEmptyCheck\28SkRegion*\29 +5348:serialize_image\28SkImage\20const*\2c\20SkSerialProcs\29 +5349:sem_trywait +5350:sem_init +5351:sect_clamp_with_vertical\28SkPoint\20const*\2c\20float\29 +5352:scanexp +5353:scalbnl +5354:safe_picture_bounds\28SkRect\20const&\29 +5355:rt_has_msaa_render_buffer\28GrGLRenderTarget\20const*\2c\20GrGLCaps\20const&\29 +5356:rrect_type_to_vert_count\28RRectType\29 +5357:row_is_all_zeros\28unsigned\20char\20const*\2c\20int\29 +5358:round_up_to_int\28float\29 +5359:round_down_to_int\28float\29 +5360:rotate\28SkDCubic\20const&\2c\20int\2c\20int\2c\20SkDCubic&\29 +5361:rewind_if_necessary\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +5362:resolveImplicitLevels\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +5363:renderbuffer_storage_msaa\28GrGLGpu*\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +5364:remove_edge_below\28GrTriangulator::Edge*\29 +5365:remove_edge_above\28GrTriangulator::Edge*\29 +5366:reductionLineCount\28SkDQuad\20const&\29 +5367:recursive_edge_intersect\28GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint*\2c\20double*\2c\20double*\29 +5368:rect_exceeds\28SkRect\20const&\2c\20float\29 +5369:reclassify_vertex\28TriangulationVertex*\2c\20SkPoint\20const*\2c\20int\2c\20ReflexHash*\2c\20SkTInternalLList*\29 +5370:radii_are_nine_patch\28SkPoint\20const*\29 +5371:quad_type_for_transformed_rect\28SkMatrix\20const&\29 +5372:quad_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5373:quad_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5374:quad_in_line\28SkPoint\20const*\29 +5375:pthread_mutex_destroy +5376:pthread_cond_broadcast +5377:psh_hint_table_record +5378:psh_hint_table_init +5379:psh_hint_table_find_strong_points +5380:psh_hint_table_done +5381:psh_hint_table_activate_mask +5382:psh_hint_align +5383:psh_glyph_load_points +5384:psh_globals_scale_widths +5385:psh_compute_dir +5386:psh_blues_set_zones_0 +5387:psh_blues_set_zones +5388:ps_table_realloc +5389:ps_parser_to_token_array +5390:ps_parser_load_field +5391:ps_mask_table_last +5392:ps_mask_table_done +5393:ps_hints_stem +5394:ps_dimension_end +5395:ps_dimension_done +5396:ps_dimension_add_t1stem +5397:ps_builder_start_point +5398:ps_builder_close_contour +5399:ps_builder_add_point1 +5400:printf_core +5401:prepare_to_draw_into_mask\28SkRect\20const&\2c\20SkMaskBuilder*\29 +5402:position_cluster\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29 +5403:portable::uniform_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5404:portable::set_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5405:portable::copy_from_indirect_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5406:portable::copy_2_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5407:portable::check_decal_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5408:pop_arg +5409:pointInTriangle\28SkDPoint\20const*\2c\20SkDPoint\20const&\29 +5410:pntz +5411:png_rtran_ok +5412:png_malloc_array_checked +5413:png_inflate +5414:png_format_buffer +5415:png_decompress_chunk +5416:png_colorspace_check_gamma +5417:png_cache_unknown_chunk +5418:pin_offset_s32\28int\2c\20int\2c\20int\29 +5419:path_key_from_data_size\28SkPath\20const&\29 +5420:parse_private_use_subtag\28char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20char\20const*\2c\20unsigned\20char\20\28*\29\28unsigned\20char\29\29 +5421:paint_color_to_dst\28SkPaint\20const&\2c\20SkPixmap\20const&\29 +5422:operator==\28SkRect\20const&\2c\20SkRect\20const&\29 +5423:operator==\28SkRRect\20const&\2c\20SkRRect\20const&\29 +5424:operator==\28SkPaint\20const&\2c\20SkPaint\20const&\29 +5425:operator!=\28SkRRect\20const&\2c\20SkRRect\20const&\29 +5426:open_face +5427:on_same_side\28SkPoint\20const*\2c\20int\2c\20int\29 +5428:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::~TransformedMaskSubRun\28\29.1 +5429:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::~TransformedMaskSubRun\28\29 +5430:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +5431:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::glyphs\28\29\20const +5432:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +5433:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +5434:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::size\28\29\20const +5435:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +5436:move_multiples\28SkOpContourHead*\29 +5437:mono_cubic_closestT\28float\20const*\2c\20float\29 +5438:mbsrtowcs +5439:matchesEnd\28SkDPoint\20const*\2c\20SkDPoint\20const&\29 +5440:map_rect_perspective\28SkRect\20const&\2c\20float\20const*\29::$_0::operator\28\29\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20const::'lambda'\28skvx::Vec<4\2c\20float>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20float>\20const&\29\20const +5441:map_quad_to_rect\28SkRSXform\20const&\2c\20SkRect\20const&\29 +5442:map_quad_general\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20SkMatrix\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +5443:make_xrect\28SkRect\20const&\29 +5444:make_tiled_gradient\28GrFPArgs\20const&\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +5445:make_premul_effect\28std::__2::unique_ptr>\29 +5446:make_paint_with_image\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkSamplingOptions\20const&\2c\20SkMatrix*\29 +5447:make_dual_interval_colorizer\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20float\29 +5448:make_clamped_gradient\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20bool\29 +5449:make_bmp_proxy\28GrProxyProvider*\2c\20SkBitmap\20const&\2c\20GrColorType\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +5450:long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +5451:long\20long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +5452:long\20double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +5453:log2f_\28float\29 +5454:load_post_names +5455:line_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5456:line_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5457:lineMetrics_getLineNumber +5458:lineMetrics_getHardBreak +5459:lineBreakBuffer_free +5460:lin_srgb_to_oklab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5461:lang_find_or_insert\28char\20const*\29 +5462:is_zero_width_char\28hb_font_t*\2c\20unsigned\20int\29 +5463:is_simple_rect\28GrQuad\20const&\29 +5464:is_plane_config_compatible_with_subsampling\28SkYUVAInfo::PlaneConfig\2c\20SkYUVAInfo::Subsampling\29 +5465:is_overlap_edge\28GrTriangulator::Edge*\29 +5466:is_int\28float\29 +5467:is_halant_use\28hb_glyph_info_t\20const&\29 +5468:is_float_fp32\28GrGLContextInfo\20const&\2c\20GrGLInterface\20const*\2c\20unsigned\20int\29 +5469:iprintf +5470:invalidate_buffer\28GrGLGpu*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\29 +5471:interp_cubic_coords\28double\20const*\2c\20double*\2c\20double\29 +5472:int\20SkRecords::Pattern>::matchFirst>\28SkRecords::Is*\2c\20SkRecord*\2c\20int\29 +5473:int\20OT::IntType::cmp\28unsigned\20int\29\20const +5474:inside_triangle\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +5475:init_mparams +5476:inflateEnd +5477:image_ref +5478:image_getWidth +5479:hb_vector_t::resize\28int\2c\20bool\2c\20bool\29 +5480:hb_vector_t\2c\20false>::shrink_vector\28unsigned\20int\29 +5481:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +5482:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5483:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5484:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5485:hb_vector_t::pop\28\29 +5486:hb_vector_t\2c\20false>::shrink_vector\28unsigned\20int\29 +5487:hb_vector_t\2c\20false>::fini\28\29 +5488:hb_vector_t::shrink_vector\28unsigned\20int\29 +5489:hb_vector_t::fini\28\29 +5490:hb_unicode_mirroring_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +5491:hb_unicode_funcs_t::is_default_ignorable\28unsigned\20int\29 +5492:hb_unicode_funcs_get_default +5493:hb_tag_from_string +5494:hb_shape_plan_key_t::init\28bool\2c\20hb_face_t*\2c\20hb_segment_properties_t\20const*\2c\20hb_feature_t\20const*\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20char\20const*\20const*\29 +5495:hb_shape_plan_key_t::fini\28\29 +5496:hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>::may_have\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>\20const&\29\20const +5497:hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>::add\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>\20const&\29 +5498:hb_serialize_context_t::fini\28\29 +5499:hb_sanitize_context_t::return_t\20OT::Context::dispatch\28hb_sanitize_context_t*\29\20const +5500:hb_sanitize_context_t::return_t\20OT::ChainContext::dispatch\28hb_sanitize_context_t*\29\20const +5501:hb_paint_funcs_t::sweep_gradient\28void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5502:hb_paint_funcs_t::radial_gradient\28void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5503:hb_paint_funcs_t::push_skew\28void*\2c\20float\2c\20float\29 +5504:hb_paint_funcs_t::push_rotate\28void*\2c\20float\29 +5505:hb_paint_funcs_t::push_root_transform\28void*\2c\20hb_font_t\20const*\29 +5506:hb_paint_funcs_t::push_inverse_root_transform\28void*\2c\20hb_font_t*\29 +5507:hb_paint_funcs_t::push_group\28void*\29 +5508:hb_paint_funcs_t::pop_group\28void*\2c\20hb_paint_composite_mode_t\29 +5509:hb_paint_funcs_t::linear_gradient\28void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5510:hb_paint_extents_paint_linear_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +5511:hb_paint_extents_get_funcs\28\29 +5512:hb_paint_extents_context_t::~hb_paint_extents_context_t\28\29 +5513:hb_paint_extents_context_t::pop_clip\28\29 +5514:hb_paint_extents_context_t::hb_paint_extents_context_t\28\29 +5515:hb_ot_map_t::fini\28\29 +5516:hb_ot_map_builder_t::add_pause\28unsigned\20int\2c\20bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +5517:hb_ot_map_builder_t::add_lookups\28hb_ot_map_t&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20unsigned\20int\29 +5518:hb_ot_layout_has_substitution +5519:hb_ot_font_set_funcs +5520:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::get_stored\28\29\20const +5521:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::get_stored\28\29\20const +5522:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::do_destroy\28OT::post_accelerator_t*\29 +5523:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get_stored\28\29\20const +5524:hb_lazy_loader_t\2c\20hb_face_t\2c\205u\2c\20OT::hmtx_accelerator_t>::get_stored\28\29\20const +5525:hb_lazy_loader_t\2c\20hb_face_t\2c\2021u\2c\20OT::gvar_accelerator_t>::do_destroy\28OT::gvar_accelerator_t*\29 +5526:hb_lazy_loader_t\2c\20hb_face_t\2c\2015u\2c\20OT::glyf_accelerator_t>::do_destroy\28OT::glyf_accelerator_t*\29 +5527:hb_lazy_loader_t\2c\20hb_face_t\2c\203u\2c\20OT::cmap_accelerator_t>::do_destroy\28OT::cmap_accelerator_t*\29 +5528:hb_lazy_loader_t\2c\20hb_face_t\2c\2017u\2c\20OT::cff2_accelerator_t>::get_stored\28\29\20const +5529:hb_lazy_loader_t\2c\20hb_face_t\2c\2017u\2c\20OT::cff2_accelerator_t>::do_destroy\28OT::cff2_accelerator_t*\29 +5530:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::do_destroy\28OT::cff1_accelerator_t*\29 +5531:hb_lazy_loader_t\2c\20hb_face_t\2c\2019u\2c\20hb_blob_t>::get\28\29\20const +5532:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::do_destroy\28OT::GDEF_accelerator_t*\29 +5533:hb_lazy_loader_t\2c\20hb_face_t\2c\2035u\2c\20hb_blob_t>::get\28\29\20const +5534:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::get_stored\28\29\20const +5535:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::do_destroy\28OT::CBDT_accelerator_t*\29 +5536:hb_lazy_loader_t\2c\20hb_face_t\2c\2032u\2c\20hb_blob_t>::get\28\29\20const +5537:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get_stored\28\29\20const +5538:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get\28\29\20const +5539:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get_stored\28\29\20const +5540:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get\28\29\20const +5541:hb_lazy_loader_t\2c\20hb_face_t\2c\2033u\2c\20hb_blob_t>::get\28\29\20const +5542:hb_lazy_loader_t\2c\20hb_face_t\2c\2030u\2c\20hb_blob_t>::get_stored\28\29\20const +5543:hb_language_matches +5544:hb_iter_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>\2c\20hb_pair_t>>::operator-=\28unsigned\20int\29\20& +5545:hb_iter_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>\2c\20hb_pair_t>>::operator+=\28unsigned\20int\29\20& +5546:hb_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20hb_pair_t>::operator++\28\29\20& +5547:hb_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>\2c\20hb_pair_t>::operator--\28\29\20& +5548:hb_indic_get_categories\28unsigned\20int\29 +5549:hb_hashmap_t::fetch_item\28unsigned\20int\20const&\2c\20unsigned\20int\29\20const +5550:hb_hashmap_t::fetch_item\28hb_serialize_context_t::object_t\20const*\20const&\2c\20unsigned\20int\29\20const +5551:hb_font_t::subtract_glyph_origin_for_direction\28unsigned\20int\2c\20hb_direction_t\2c\20int*\2c\20int*\29 +5552:hb_font_t::subtract_glyph_h_origin\28unsigned\20int\2c\20int*\2c\20int*\29 +5553:hb_font_t::guess_v_origin_minus_h_origin\28unsigned\20int\2c\20int*\2c\20int*\29 +5554:hb_font_t::get_variation_glyph\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\29 +5555:hb_font_t::get_glyph_v_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +5556:hb_font_t::get_glyph_v_kerning\28unsigned\20int\2c\20unsigned\20int\29 +5557:hb_font_t::get_glyph_h_kerning\28unsigned\20int\2c\20unsigned\20int\29 +5558:hb_font_t::get_glyph_contour_point\28unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\29 +5559:hb_font_t::get_font_h_extents\28hb_font_extents_t*\29 +5560:hb_font_t::draw_glyph\28unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\29 +5561:hb_font_set_variations +5562:hb_font_set_funcs +5563:hb_font_get_variation_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +5564:hb_font_get_font_h_extents_nil\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +5565:hb_font_funcs_set_variation_glyph_func +5566:hb_font_funcs_set_nominal_glyphs_func +5567:hb_font_funcs_set_nominal_glyph_func +5568:hb_font_funcs_set_glyph_h_advances_func +5569:hb_font_funcs_set_glyph_extents_func +5570:hb_font_funcs_create +5571:hb_font_destroy +5572:hb_face_destroy +5573:hb_face_create_for_tables +5574:hb_draw_move_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +5575:hb_draw_funcs_t::emit_move_to\28void*\2c\20hb_draw_state_t&\2c\20float\2c\20float\29 +5576:hb_draw_funcs_set_quadratic_to_func +5577:hb_draw_funcs_set_move_to_func +5578:hb_draw_funcs_set_line_to_func +5579:hb_draw_funcs_set_cubic_to_func +5580:hb_draw_funcs_destroy +5581:hb_draw_funcs_create +5582:hb_draw_extents_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +5583:hb_cache_t<24u\2c\2016u\2c\208u\2c\20true>::clear\28\29 +5584:hb_buffer_t::sort\28unsigned\20int\2c\20unsigned\20int\2c\20int\20\28*\29\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29\29 +5585:hb_buffer_t::safe_to_insert_tatweel\28unsigned\20int\2c\20unsigned\20int\29 +5586:hb_buffer_t::next_glyphs\28unsigned\20int\29 +5587:hb_buffer_t::message_impl\28hb_font_t*\2c\20char\20const*\2c\20void*\29 +5588:hb_buffer_t::delete_glyphs_inplace\28bool\20\28*\29\28hb_glyph_info_t\20const*\29\29 +5589:hb_buffer_t::clear\28\29 +5590:hb_buffer_t::add\28unsigned\20int\2c\20unsigned\20int\29 +5591:hb_buffer_get_glyph_positions +5592:hb_buffer_diff +5593:hb_buffer_clear_contents +5594:hb_buffer_add_utf8 +5595:hb_bounds_t::union_\28hb_bounds_t\20const&\29 +5596:hb_blob_t::destroy_user_data\28\29 +5597:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +5598:hb_array_t::hash\28\29\20const +5599:hb_array_t::cmp\28hb_array_t\20const&\29\20const +5600:hb_array_t>::qsort\28int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +5601:hb_array_t::__next__\28\29 +5602:hb_aat_map_builder_t::feature_info_t\20const*\20hb_vector_t::bsearch\28hb_aat_map_builder_t::feature_info_t\20const&\2c\20hb_aat_map_builder_t::feature_info_t\20const*\29\20const +5603:hb_aat_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +5604:hb_aat_map_builder_t::feature_info_t::cmp\28hb_aat_map_builder_t::feature_info_t\20const&\29\20const +5605:hb_aat_layout_remove_deleted_glyphs\28hb_buffer_t*\29 +5606:has_msaa_render_buffer\28GrSurfaceProxy\20const*\2c\20GrGLCaps\20const&\29 +5607:hair_cubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +5608:getint +5609:get_win_string +5610:get_tasks_for_thread +5611:get_paint\28GrAA\2c\20unsigned\20char\29 +5612:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29::$_0::operator\28\29\28int\29\20const +5613:get_dst_swizzle_and_store\28GrColorType\2c\20SkRasterPipelineOp*\2c\20LumMode*\2c\20bool*\2c\20bool*\29 +5614:get_driver_and_version\28GrGLStandard\2c\20GrGLVendor\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +5615:get_apple_string +5616:getSingleRun\28UBiDi*\2c\20unsigned\20char\29 +5617:getRunFromLogicalIndex\28UBiDi*\2c\20int\29 +5618:getMirror\28int\2c\20unsigned\20short\29\20\28.8867\29 +5619:geometric_overlap\28SkRect\20const&\2c\20SkRect\20const&\29 +5620:geometric_contains\28SkRect\20const&\2c\20SkRect\20const&\29 +5621:gen_key\28skgpu::KeyBuilder*\2c\20GrProgramInfo\20const&\2c\20GrCaps\20const&\29 +5622:gen_fp_key\28GrFragmentProcessor\20const&\2c\20GrCaps\20const&\2c\20skgpu::KeyBuilder*\29 +5623:gather_uniforms_and_check_for_main\28SkSL::Program\20const&\2c\20std::__2::vector>*\2c\20std::__2::vector>*\2c\20SkRuntimeEffect::Uniform::Flags\2c\20unsigned\20long*\29 +5624:fwrite +5625:ft_var_to_normalized +5626:ft_var_load_item_variation_store +5627:ft_var_load_hvvar +5628:ft_var_load_avar +5629:ft_var_get_value_pointer +5630:ft_var_get_item_delta +5631:ft_var_apply_tuple +5632:ft_set_current_renderer +5633:ft_recompute_scaled_metrics +5634:ft_mem_strcpyn +5635:ft_mem_dup +5636:ft_hash_num_lookup +5637:ft_gzip_alloc +5638:ft_glyphslot_preset_bitmap +5639:ft_glyphslot_done +5640:ft_corner_orientation +5641:ft_corner_is_flat +5642:ft_cmap_done_internal +5643:frexp +5644:fread +5645:fquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5646:fp_force_eval +5647:fp_barrier +5648:formulate_F1DotF2\28float\20const*\2c\20float*\29 +5649:formulate_F1DotF2\28double\20const*\2c\20double*\29 +5650:format_alignment\28SkMask::Format\29 +5651:format1_names\28unsigned\20int\29 +5652:fopen +5653:fold_opacity_layer_color_to_paint\28SkPaint\20const*\2c\20bool\2c\20SkPaint*\29 +5654:fmodl +5655:float\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +5656:float\20const*\20std::__2::min_element\5babi:v160004\5d>\28float\20const*\2c\20float\20const*\2c\20std::__2::__less\29 +5657:float\20const*\20std::__2::max_element\5babi:v160004\5d>\28float\20const*\2c\20float\20const*\2c\20std::__2::__less\29 +5658:fline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5659:first_axis_intersection\28double\20const*\2c\20bool\2c\20double\2c\20double*\29 +5660:fiprintf +5661:find_unicode_charmap +5662:find_diff_pt\28SkPoint\20const*\2c\20int\2c\20int\2c\20int\29 +5663:find_a8_rowproc_pair\28SkBlendMode\29 +5664:fillable\28SkRect\20const&\29 +5665:fileno +5666:fcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5667:fconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5668:exp2f_\28float\29 +5669:eval_cubic_pts\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5670:eval_cubic_derivative\28SkPoint\20const*\2c\20float\29 +5671:emscripten_async_run_in_main_thread +5672:emptyOnNull\28sk_sp&&\29 +5673:em_task_queue_free +5674:em_task_queue_enqueue +5675:em_task_queue_dequeue +5676:em_task_queue_create +5677:em_task_queue_cancel +5678:em_queued_call_malloc +5679:elliptical_effect_uses_scale\28GrShaderCaps\20const&\2c\20SkRRect\20const&\29 +5680:edges_too_close\28SkAnalyticEdge*\2c\20SkAnalyticEdge*\2c\20int\29 +5681:edge_line_needs_recursion\28SkPoint\20const&\2c\20SkPoint\20const&\29 +5682:eat_space_sep_strings\28skia_private::TArray*\2c\20char\20const*\29 +5683:draw_rect_as_path\28SkDrawBase\20const&\2c\20SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\29 +5684:draw_nine\28SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\2c\20bool\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +5685:dquad_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +5686:double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +5687:do_fixed +5688:do_dispatch_to_thread +5689:doWriteReverse\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +5690:doWriteForward\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +5691:dline_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +5692:distance_to_sentinel\28int\20const*\29 +5693:dispose_chunk +5694:diff_to_shift\28int\2c\20int\2c\20int\29 +5695:destroy_size +5696:destroy_charmaps +5697:demangling_terminate_handler\28\29 +5698:decompose_current_character\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\29 +5699:decompose\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\2c\20unsigned\20int\29 +5700:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::Make\28SkArenaAlloc*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5701:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&\2c\20skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathCurveTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5702:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5703:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker\2c\20int&>\28int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5704:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkShaderBase&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTransformShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5705:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5706:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29>\28GrThreadSafeCache::Entry&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5707:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrRRectShadowGeoProc::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5708:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28GrQuadEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5709:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29::'lambda'\28void*\29>\28GrPipeline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5710:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldA8TextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5711:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5712:decltype\28fp0\28\28SkRecords::NoOp\29\28\29\29\29\20SkRecord::visit\28int\2c\20SkRecords::Draw&\29\20const +5713:decltype\28fp0\28\28SkRecords::NoOp*\29\28nullptr\29\29\29\20SkRecord::mutate\28int\2c\20SkRecord::Destroyer&\29 +5714:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +5715:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>>::__generic_construct\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__ctor\2c\20std::__2::unique_ptr>>>&\2c\20std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&>\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&\29 +5716:dcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5717:dcubic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +5718:dconic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +5719:data_destroy_arabic\28void*\29 +5720:data_create_arabic\28hb_ot_shape_plan_t\20const*\29 +5721:cycle +5722:cubic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5723:cubic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5724:cubic_delta_from_line\28int\2c\20int\2c\20int\2c\20int\29 +5725:crop_simple_rect\28SkRect\20const&\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +5726:crop_rect\28SkRect\20const&\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +5727:count_scalable_pixels\28int\20const*\2c\20int\2c\20bool\2c\20int\2c\20int\29 +5728:copysignl +5729:copy_mask_to_cacheddata\28SkMaskBuilder*\29 +5730:copy_bitmap_subset\28SkBitmap\20const&\2c\20SkIRect\20const&\29 +5731:contour_point_vector_t::extend\28hb_array_t\20const&\29 +5732:contourMeasure_length +5733:conservative_round_to_int\28SkRect\20const&\29 +5734:conic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5735:conic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5736:conic_eval_tan\28double\20const*\2c\20float\2c\20double\29 +5737:conic_deriv_coeff\28double\20const*\2c\20float\2c\20double*\29 +5738:compute_stroke_size\28SkPaint\20const&\2c\20SkMatrix\20const&\29 +5739:compute_pos_tan\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +5740:compute_normal\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint*\29 +5741:compute_intersection\28OffsetSegment\20const&\2c\20OffsetSegment\20const&\2c\20SkPoint*\2c\20float*\2c\20float*\29 +5742:compute_anti_width\28short\20const*\29 +5743:compose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +5744:clip_to_limit\28SkRegion\20const&\2c\20SkRegion*\29 +5745:clip_line\28SkPoint*\2c\20SkRect\20const&\2c\20float\2c\20float\29 +5746:clipHandlesSprite\28SkRasterClip\20const&\2c\20int\2c\20int\2c\20SkPixmap\20const&\29 +5747:clean_sampling_for_constraint\28SkSamplingOptions\20const&\2c\20SkCanvas::SrcRectConstraint\29 +5748:clamp_to_zero\28SkPoint*\29 +5749:clamp\28SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Comparator\20const&\29 +5750:chop_mono_cubic_at_x\28SkPoint*\2c\20float\2c\20SkPoint*\29 +5751:chopMonoQuadAt\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +5752:chopMonoQuadAtY\28SkPoint*\2c\20float\2c\20float*\29 +5753:chopMonoQuadAtX\28SkPoint*\2c\20float\2c\20float*\29 +5754:checkint +5755:check_write_and_transfer_input\28GrGLTexture*\29 +5756:check_name\28SkString\20const&\29 +5757:check_backend_texture\28GrBackendTexture\20const&\2c\20GrGLCaps\20const&\2c\20GrGLTexture::Desc*\2c\20bool\29 +5758:char*\20std::__2::copy\5babi:v160004\5d\2c\20char*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20char*\29 +5759:char*\20std::__2::copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +5760:char*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29 +5761:cff_vstore_done +5762:cff_subfont_load +5763:cff_subfont_done +5764:cff_size_select +5765:cff_parser_run +5766:cff_parser_init +5767:cff_make_private_dict +5768:cff_load_private_dict +5769:cff_index_get_name +5770:cff_glyph_load +5771:cff_get_kerning +5772:cff_get_glyph_data +5773:cff_fd_select_get +5774:cff_charset_compute_cids +5775:cff_builder_init +5776:cff_builder_add_point1 +5777:cff_builder_add_point +5778:cff_builder_add_contour +5779:cff_blend_check_vector +5780:cff_blend_build_vector +5781:cff1_path_param_t::end_path\28\29 +5782:cf2_stack_pop +5783:cf2_hintmask_setCounts +5784:cf2_hintmask_read +5785:cf2_glyphpath_pushMove +5786:cf2_getSeacComponent +5787:cf2_freeSeacComponent +5788:cf2_computeDarkening +5789:cf2_arrstack_setNumElements +5790:cf2_arrstack_push +5791:cbrt +5792:can_use_hw_blend_equation\28skgpu::BlendEquation\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\29 +5793:can_proxy_use_scratch\28GrCaps\20const&\2c\20GrSurfaceProxy*\29 +5794:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_3::operator\28\29\28float\29\20const +5795:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_2::operator\28\29\28float\29\20const +5796:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_0::operator\28\29\28float\29\20const +5797:byn$mgfn-shared$void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +5798:byn$mgfn-shared$t1_hints_open +5799:byn$mgfn-shared$std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28SkString*\29 +5800:byn$mgfn-shared$std::__2::vector>::~vector\5babi:v160004\5d\28\29 +5801:byn$mgfn-shared$std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +5802:byn$mgfn-shared$std::__2::unique_ptr\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +5803:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +5804:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +5805:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +5806:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +5807:byn$mgfn-shared$std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot>::type\20std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot>\28skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*\29\20const +5808:byn$mgfn-shared$std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::_EnableIfConvertible::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot>::type\20std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot>\28skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot*\29\20const +5809:byn$mgfn-shared$std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +5810:byn$mgfn-shared$std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +5811:byn$mgfn-shared$std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +5812:byn$mgfn-shared$std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__deallocate_node\28std::__2::__hash_node_base\2c\20void*>*>*\29 +5813:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +5814:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +5815:byn$mgfn-shared$skia_private::THashTable::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap::Pair>::Iter>::operator++\28\29 +5816:byn$mgfn-shared$skia_private::THashTable::Pair\2c\20SkSL::Symbol\20const*\2c\20skia_private::THashMap::Pair>::firstPopulatedSlot\28\29\20const +5817:byn$mgfn-shared$skia_private::THashMap\2c\20SkGoodHash>::find\28int\20const&\29\20const +5818:byn$mgfn-shared$skia_private::THashMap::find\28SkSL::FunctionDeclaration\20const*\20const&\29\20const +5819:byn$mgfn-shared$skia_private::THashMap>\2c\20SkGoodHash>::find\28SkImageFilter\20const*\20const&\29\20const +5820:byn$mgfn-shared$skia_private::TArray::destroyAll\28\29 +5821:byn$mgfn-shared$skia_private::TArray::checkRealloc\28int\2c\20double\29 +5822:byn$mgfn-shared$skia_private::AutoSTArray<16\2c\20SkRect>::reset\28int\29 +5823:byn$mgfn-shared$skia_private::AutoSTArray<16\2c\20GrMipLevel>::reset\28int\29 +5824:byn$mgfn-shared$skia_png_gamma_8bit_correct +5825:byn$mgfn-shared$skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +5826:byn$mgfn-shared$setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +5827:byn$mgfn-shared$precisely_between\28double\2c\20double\2c\20double\29 +5828:byn$mgfn-shared$portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5829:byn$mgfn-shared$portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5830:byn$mgfn-shared$portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5831:byn$mgfn-shared$portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5832:byn$mgfn-shared$paint_setImageFilter +5833:byn$mgfn-shared$paint_setColorFilter +5834:byn$mgfn-shared$make_unpremul_effect\28std::__2::unique_ptr>\29 +5835:byn$mgfn-shared$imageFilter_createDilate +5836:byn$mgfn-shared$hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5837:byn$mgfn-shared$hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5838:byn$mgfn-shared$hb_vector_t\2c\20false>::shrink_vector\28unsigned\20int\29 +5839:byn$mgfn-shared$hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +5840:byn$mgfn-shared$gl_target_to_binding_index\28unsigned\20int\29 +5841:byn$mgfn-shared$cf2_stack_pushInt +5842:byn$mgfn-shared$bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5843:byn$mgfn-shared$\28anonymous\20namespace\29::shift_left\28skvx::Vec<4\2c\20float>\20const&\2c\20int\29 +5844:byn$mgfn-shared$\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +5845:byn$mgfn-shared$\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +5846:byn$mgfn-shared$\28anonymous\20namespace\29::BitmapKey::BitmapKey\28SkBitmapCacheDesc\20const&\29 +5847:byn$mgfn-shared$SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +5848:byn$mgfn-shared$SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +5849:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +5850:byn$mgfn-shared$SkSL::FunctionReference::clone\28SkSL::Position\29\20const +5851:byn$mgfn-shared$SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +5852:byn$mgfn-shared$SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +5853:byn$mgfn-shared$SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +5854:byn$mgfn-shared$SkRuntimeEffect::ChildPtr::shader\28\29\20const +5855:byn$mgfn-shared$SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +5856:byn$mgfn-shared$SkRecorder::onDrawPaint\28SkPaint\20const&\29 +5857:byn$mgfn-shared$SkRecorder::didTranslate\28float\2c\20float\29 +5858:byn$mgfn-shared$SkRecorder::didConcat44\28SkM44\20const&\29 +5859:byn$mgfn-shared$SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +5860:byn$mgfn-shared$SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +5861:byn$mgfn-shared$SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +5862:byn$mgfn-shared$SkPictureRecord::didConcat44\28SkM44\20const&\29 +5863:byn$mgfn-shared$SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +5864:byn$mgfn-shared$SkJSONWriter::endArray\28\29 +5865:byn$mgfn-shared$OT::cff1::sanitize\28hb_sanitize_context_t*\29\20const +5866:byn$mgfn-shared$OT::IntType*\20hb_serialize_context_t::extend_min>\28OT::IntType*\29 +5867:byn$mgfn-shared$OT::ArrayOf\2c\20OT::IntType>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +5868:byn$mgfn-shared$OT::ArrayOf\2c\20OT::IntType>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +5869:byn$mgfn-shared$GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +5870:byn$mgfn-shared$BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::Item::operator++\28\29 +5871:byn$mgfn-shared$AAT::StateTable::get_entry\28int\2c\20unsigned\20int\29\20const +5872:byn$mgfn-shared$AAT::StateTable::get_entry\28int\2c\20unsigned\20int\29\20const +5873:byn$mgfn-shared$AAT::Lookup::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +5874:build_key\28skgpu::ResourceKey::Builder*\2c\20GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\29 +5875:build_intervals\28int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20float*\29 +5876:bracketProcessChar\28BracketData*\2c\20int\29 +5877:bracketInit\28UBiDi*\2c\20BracketData*\29 +5878:bounds_t::merge\28bounds_t\20const&\29 +5879:bottom_collinear\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +5880:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +5881:bool\20std::__2::operator==\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +5882:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +5883:bool\20std::__2::__insertion_sort_incomplete\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +5884:bool\20std::__2::__insertion_sort_incomplete\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +5885:bool\20std::__2::__insertion_sort_incomplete\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +5886:bool\20set_point_length\28SkPoint*\2c\20float\2c\20float\2c\20float\2c\20float*\29 +5887:bool\20is_parallel\28SkDLine\20const&\2c\20SkTCurve\20const&\29 +5888:bool\20hb_sanitize_context_t::check_array>\28OT::IntType\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +5889:bool\20hb_sanitize_context_t::check_array\28OT::Index\20const*\2c\20unsigned\20int\29\20const +5890:bool\20hb_sanitize_context_t::check_array\28AAT::Feature\20const*\2c\20unsigned\20int\29\20const +5891:bool\20hb_sanitize_context_t::check_array>\28AAT::Entry\20const*\2c\20unsigned\20int\29\20const +5892:bool\20apply_string\28OT::hb_ot_apply_context_t*\2c\20GSUBProxy::Lookup\20const&\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\29 +5893:bool\20OT::hb_accelerate_subtables_context_t::cache_func_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\2c\20bool\29 +5894:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5895:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5896:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5897:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5898:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5899:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5900:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5901:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5902:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5903:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5904:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5905:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5906:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5907:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5908:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5909:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5910:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5911:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5912:bool\20OT::chain_context_would_apply_lookup>\28OT::hb_would_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20OT::ChainContextApplyLookupContext\20const&\29 +5913:bool\20OT::Paint::sanitize<>\28hb_sanitize_context_t*\29\20const +5914:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5915:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5916:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5917:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5918:bool\20OT::OffsetTo\2c\20true>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\2c\20unsigned\20int&&\29\20const +5919:bool\20OT::OffsetTo\2c\20true>::serialize_serialize\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&>\28hb_serialize_context_t*\2c\20hb_map_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&\29 +5920:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5921:bool\20OT::OffsetTo\2c\20true>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\2c\20unsigned\20int&&\29\20const +5922:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5923:bool\20OT::OffsetTo\2c\20true>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\2c\20AAT::trak\20const*&&\29\20const +5924:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5925:bool\20OT::GSUBGPOS::sanitize\28hb_sanitize_context_t*\29\20const +5926:bool\20OT::GSUBGPOS::sanitize\28hb_sanitize_context_t*\29\20const +5927:bool\20GrTTopoSort_Visit\28GrRenderTask*\2c\20unsigned\20int*\29 +5928:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +5929:blit_two_alphas\28AdditiveBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +5930:blit_full_alpha\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +5931:blender_requires_shader\28SkBlender\20const*\29 +5932:bits_to_runs\28SkBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\2c\20long\2c\20unsigned\20char\29 +5933:between_closed\28double\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5934:barycentric_coords\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +5935:auto\20GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29::$_0::operator\28\29\28int\2c\20GrGeometryProcessor::Attribute\20const&\29\20const +5936:auto&&\20std::__2::__generic_get\5babi:v160004\5d<0ul\2c\20std::__2::variant\20const&>\28std::__2::variant\20const&\29 +5937:atanf +5938:are_radius_check_predicates_valid\28float\2c\20float\2c\20float\29 +5939:arabic_fallback_plan_destroy\28arabic_fallback_plan_t*\29 +5940:apply_forward\28OT::hb_ot_apply_context_t*\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\2c\20unsigned\20int\29 +5941:apply_fill_type\28SkPathFillType\2c\20int\29 +5942:apply_fill_type\28SkPathFillType\2c\20GrTriangulator::Poly*\29 +5943:apply_alpha_and_colorfilter\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20SkPaint\20const&\29 +5944:append_texture_swizzle\28SkString*\2c\20skgpu::Swizzle\29 +5945:append_multitexture_lookup\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20GrGLSLVarying\20const&\2c\20char\20const*\2c\20char\20const*\29 +5946:append_color_output\28PorterDuffXferProcessor\20const&\2c\20GrGLSLXPFragmentBuilder*\2c\20skgpu::BlendFormula::OutputType\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +5947:antifilldot8\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\2c\20bool\29 +5948:analysis_properties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkBlendMode\29 +5949:afm_stream_skip_spaces +5950:afm_stream_read_string +5951:afm_stream_read_one +5952:af_sort_and_quantize_widths +5953:af_shaper_get_elem +5954:af_loader_compute_darkening +5955:af_latin_metrics_scale_dim +5956:af_latin_hints_detect_features +5957:af_hint_normal_stem +5958:af_glyph_hints_align_weak_points +5959:af_glyph_hints_align_strong_points +5960:af_face_globals_new +5961:af_cjk_metrics_scale_dim +5962:af_cjk_metrics_scale +5963:af_cjk_metrics_init_widths +5964:af_cjk_metrics_check_digits +5965:af_cjk_hints_init +5966:af_cjk_hints_detect_features +5967:af_cjk_hints_compute_blue_edges +5968:af_cjk_hints_apply +5969:af_cjk_get_standard_widths +5970:af_cjk_compute_stem_width +5971:af_axis_hints_new_edge +5972:adjust_mipmapped\28skgpu::Mipmapped\2c\20SkBitmap\20const&\2c\20GrCaps\20const*\29 +5973:add_line\28SkPoint\20const*\2c\20skia_private::TArray*\29 +5974:add_const_color\28SkRasterPipeline_GradientCtx*\2c\20unsigned\20long\2c\20SkRGBA4f<\28SkAlphaType\292>\29 +5975:a_swap.9210 +5976:a_fetch_add.9171 +5977:a_fetch_add +5978:a_ctz_32 +5979:_pow10\28unsigned\20int\29 +5980:_hb_preprocess_text_vowel_constraints\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +5981:_hb_ot_shape +5982:_hb_options_init\28\29 +5983:_hb_grapheme_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +5984:_hb_font_create\28hb_face_t*\29 +5985:_hb_fallback_shape +5986:_glyf_get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29 +5987:_emscripten_yield +5988:_emscripten_thread_mailbox_init +5989:_do_call +5990:__wasm_init_tls +5991:__vm_wait +5992:__vfprintf_internal +5993:__trunctfsf2 +5994:__timedwait +5995:__tan +5996:__set_thread_state +5997:__rem_pio2_large +5998:__pthread_rwlock_unlock +5999:__pthread_rwlock_tryrdlock +6000:__pthread_rwlock_timedrdlock +6001:__newlocale +6002:__math_xflowf +6003:__math_uflowf +6004:__math_oflowf +6005:__math_invalidf +6006:__loc_is_allocated +6007:__isxdigit_l +6008:__getf2 +6009:__get_locale +6010:__ftello_unlocked +6011:__fseeko_unlocked +6012:__floatscan +6013:__expo2 +6014:__dynamic_cast +6015:__divtf3 +6016:__cxxabiv1::__base_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +6017:__cxxabiv1::\28anonymous\20namespace\29::InitByteGlobalMutex<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex\2c\20__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex>::instance\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar>::instance\2c\20\28unsigned\20int\20\28*\29\28\29\290>::LockGuard::~LockGuard\28\29 +6018:__cxxabiv1::\28anonymous\20namespace\29::InitByteGlobalMutex<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex\2c\20__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex>::instance\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar>::instance\2c\20\28unsigned\20int\20\28*\29\28\29\290>::LockGuard::LockGuard\28char\20const*\29 +6019:__cxxabiv1::\28anonymous\20namespace\29::GuardObject<__cxxabiv1::\28anonymous\20namespace\29::InitByteGlobalMutex<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex\2c\20__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex>::instance\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar>::instance\2c\20\28unsigned\20int\20\28*\29\28\29\290>>::GuardObject\28unsigned\20int*\29 +6020:\28anonymous\20namespace\29::texture_color\28SkRGBA4f<\28SkAlphaType\293>\2c\20float\2c\20GrColorType\2c\20GrColorInfo\20const&\29 +6021:\28anonymous\20namespace\29::supported_aa\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrAA\29 +6022:\28anonymous\20namespace\29::set_uv_quad\28SkPoint\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +6023:\28anonymous\20namespace\29::safe_to_ignore_subset_rect\28GrAAType\2c\20SkFilterMode\2c\20DrawQuad\20const&\2c\20SkRect\20const&\29 +6024:\28anonymous\20namespace\29::rrect_type_to_vert_count\28\28anonymous\20namespace\29::RRectType\29 +6025:\28anonymous\20namespace\29::proxy_normalization_params\28GrSurfaceProxy\20const*\2c\20GrSurfaceOrigin\29 +6026:\28anonymous\20namespace\29::prepare_for_direct_mask_drawing\28SkStrike*\2c\20SkMatrix\20const&\2c\20SkZip\2c\20SkZip\2c\20SkZip\29 +6027:\28anonymous\20namespace\29::normalize_src_quad\28\28anonymous\20namespace\29::NormalizationParams\20const&\2c\20GrQuad*\29 +6028:\28anonymous\20namespace\29::normalize_and_inset_subset\28SkFilterMode\2c\20\28anonymous\20namespace\29::NormalizationParams\20const&\2c\20SkRect\20const*\29 +6029:\28anonymous\20namespace\29::next_gen_id\28\29 +6030:\28anonymous\20namespace\29::morphology_pass\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20\28anonymous\20namespace\29::MorphType\2c\20\28anonymous\20namespace\29::MorphDirection\2c\20int\29 +6031:\28anonymous\20namespace\29::make_non_convex_fill_op\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20skgpu::ganesh::FillPathFlags\2c\20GrAAType\2c\20SkRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\29 +6032:\28anonymous\20namespace\29::is_visible\28SkRect\20const&\2c\20SkIRect\20const&\29 +6033:\28anonymous\20namespace\29::is_degen_quad_or_conic\28SkPoint\20const*\2c\20float*\29 +6034:\28anonymous\20namespace\29::init_vertices_paint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20bool\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +6035:\28anonymous\20namespace\29::get_hbFace_cache\28\29 +6036:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_1::operator\28\29\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20bool\29\20const +6037:\28anonymous\20namespace\29::draw_to_sw_mask\28GrSWMaskHelper*\2c\20skgpu::ganesh::ClipStack::Element\20const&\2c\20bool\29 +6038:\28anonymous\20namespace\29::draw_path\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20skgpu::ganesh::PathRenderer*\2c\20GrHardClip\20const&\2c\20SkIRect\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20GrAA\29 +6039:\28anonymous\20namespace\29::determine_clipped_src_rect\28SkIRect\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkISize\20const&\2c\20SkRect\20const*\29 +6040:\28anonymous\20namespace\29::create_data\28int\2c\20bool\2c\20float\29 +6041:\28anonymous\20namespace\29::cpu_blur\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20sk_sp\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28double\29\20const +6042:\28anonymous\20namespace\29::copyFTBitmap\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\29 +6043:\28anonymous\20namespace\29::contains_scissor\28GrScissorState\20const&\2c\20GrScissorState\20const&\29 +6044:\28anonymous\20namespace\29::colrv1_start_glyph_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +6045:\28anonymous\20namespace\29::colrv1_start_glyph\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +6046:\28anonymous\20namespace\29::colrv1_draw_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\29 +6047:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29 +6048:\28anonymous\20namespace\29::can_use_draw_texture\28SkPaint\20const&\2c\20SkSamplingOptions\20const&\29 +6049:\28anonymous\20namespace\29::axis_aligned_quad_size\28GrQuad\20const&\29 +6050:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29 +6051:\28anonymous\20namespace\29::YUVPlanesKey::YUVPlanesKey\28unsigned\20int\29 +6052:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29 +6053:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29 +6054:\28anonymous\20namespace\29::TriangulatingPathOp::TriangulatingPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +6055:\28anonymous\20namespace\29::TriangulatingPathOp::Triangulate\28GrEagerVertexAllocator*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool*\29 +6056:\28anonymous\20namespace\29::TriangulatingPathOp::CreateKey\28skgpu::UniqueKey*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\29 +6057:\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +6058:\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +6059:\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +6060:\28anonymous\20namespace\29::TransformedMaskSubRun::glyphCount\28\29\20const +6061:\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +6062:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29 +6063:\28anonymous\20namespace\29::TextureOpImpl::propagateCoverageAAThroughoutChain\28\29 +6064:\28anonymous\20namespace\29::TextureOpImpl::numChainedQuads\28\29\20const +6065:\28anonymous\20namespace\29::TextureOpImpl::characterize\28\28anonymous\20namespace\29::TextureOpImpl::Desc*\29\20const +6066:\28anonymous\20namespace\29::TextureOpImpl::appendQuad\28DrawQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\29 +6067:\28anonymous\20namespace\29::TextureOpImpl::Make\28GrRecordingContext*\2c\20GrTextureSetEntry*\2c\20int\2c\20int\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20GrAAType\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +6068:\28anonymous\20namespace\29::TextureOpImpl::FillInVertices\28GrCaps\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl*\2c\20\28anonymous\20namespace\29::TextureOpImpl::Desc*\2c\20char*\29 +6069:\28anonymous\20namespace\29::TextureOpImpl::Desc::totalSizeInBytes\28\29\20const +6070:\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29 +6071:\28anonymous\20namespace\29::TextureOpImpl::ClassID\28\29 +6072:\28anonymous\20namespace\29::SpotVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +6073:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::hb_script_for_unichar\28int\29 +6074:\28anonymous\20namespace\29::SkQuadCoeff::SkQuadCoeff\28SkPoint\20const*\29 +6075:\28anonymous\20namespace\29::SkMorphologyImageFilter::requiredInput\28skif::Mapping\20const&\2c\20skif::LayerSpace\29\20const +6076:\28anonymous\20namespace\29::SkMorphologyImageFilter::kernelOutputBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\29\20const +6077:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::requiredInput\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\29\20const +6078:\28anonymous\20namespace\29::SkEmptyTypeface::onMakeClone\28SkFontArguments\20const&\29\20const +6079:\28anonymous\20namespace\29::SkCropImageFilter::requiredInput\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\29\20const +6080:\28anonymous\20namespace\29::SkConicCoeff::SkConicCoeff\28SkConic\20const&\29 +6081:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29 +6082:\28anonymous\20namespace\29::SkBlurImageFilter::mapSigma\28skif::Mapping\20const&\2c\20bool\29\20const +6083:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29 +6084:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29 +6085:\28anonymous\20namespace\29::ShaperHarfBuzz::~ShaperHarfBuzz\28\29 +6086:\28anonymous\20namespace\29::ShadowedPath::keyBytes\28\29\20const +6087:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29 +6088:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29 +6089:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +6090:\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +6091:\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +6092:\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +6093:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29 +6094:\28anonymous\20namespace\29::RectsBlurKey::RectsBlurKey\28float\2c\20SkBlurStyle\2c\20SkRect\20const*\2c\20int\29 +6095:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29 +6096:\28anonymous\20namespace\29::RRectBlurKey::RRectBlurKey\28float\2c\20SkRRect\20const&\2c\20SkBlurStyle\29 +6097:\28anonymous\20namespace\29::PlanGauss::PlanGauss\28double\29 +6098:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29 +6099:\28anonymous\20namespace\29::PathOpSubmitter::~PathOpSubmitter\28\29 +6100:\28anonymous\20namespace\29::PathGeoBuilder::createMeshAndPutBackReserve\28\29 +6101:\28anonymous\20namespace\29::PathGeoBuilder::allocNewBuffers\28\29 +6102:\28anonymous\20namespace\29::PathGeoBuilder::addQuad\28SkPoint\20const*\2c\20float\2c\20float\29 +6103:\28anonymous\20namespace\29::Pass::blur\28int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +6104:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29 +6105:\28anonymous\20namespace\29::MipMapKey::MipMapKey\28SkBitmapCacheDesc\20const&\29 +6106:\28anonymous\20namespace\29::MipLevelHelper::allocAndInit\28SkArenaAlloc*\2c\20SkSamplingOptions\20const&\2c\20SkTileMode\2c\20SkTileMode\29 +6107:\28anonymous\20namespace\29::MipLevelHelper::MipLevelHelper\28\29 +6108:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29 +6109:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29 +6110:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20sk_sp\2c\20GrPrimitiveType\20const*\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +6111:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMesh\20const&\2c\20skia_private::TArray>\2c\20true>\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +6112:\28anonymous\20namespace\29::MeshOp::Mesh::indices\28\29\20const +6113:\28anonymous\20namespace\29::MeshOp::Mesh::Mesh\28SkMesh\20const&\29 +6114:\28anonymous\20namespace\29::MeshOp::ClassID\28\29 +6115:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29 +6116:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29 +6117:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineStruct\28char\20const*\29 +6118:\28anonymous\20namespace\29::Iter::next\28\29 +6119:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29 +6120:\28anonymous\20namespace\29::FillRectOpImpl::tessellate\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29\20const +6121:\28anonymous\20namespace\29::FillRectOpImpl::FillRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +6122:\28anonymous\20namespace\29::ExternalWebGLTexture::~ExternalWebGLTexture\28\29 +6123:\28anonymous\20namespace\29::EllipticalRRectEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +6124:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29 +6125:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29 +6126:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29 +6127:\28anonymous\20namespace\29::DrawAtlasOpImpl::DrawAtlasOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrAAType\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +6128:\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +6129:\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +6130:\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +6131:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29 +6132:\28anonymous\20namespace\29::DefaultPathOp::programInfo\28\29 +6133:\28anonymous\20namespace\29::DefaultPathOp::primType\28\29\20const +6134:\28anonymous\20namespace\29::DefaultPathOp::PathData::PathData\28\28anonymous\20namespace\29::DefaultPathOp::PathData&&\29 +6135:\28anonymous\20namespace\29::DefaultPathOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +6136:\28anonymous\20namespace\29::DefaultPathOp::DefaultPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +6137:\28anonymous\20namespace\29::ClipGeometry\20\28anonymous\20namespace\29::get_clip_geometry\28skgpu::ganesh::ClipStack::SaveRecord\20const&\2c\20skgpu::ganesh::ClipStack::Draw\20const&\29 +6138:\28anonymous\20namespace\29::CircularRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20unsigned\20int\2c\20SkRRect\20const&\29 +6139:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29 +6140:\28anonymous\20namespace\29::CachedTessellationsRec::CachedTessellationsRec\28SkResourceCache::Key\20const&\2c\20sk_sp<\28anonymous\20namespace\29::CachedTessellations>\29 +6141:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29 +6142:\28anonymous\20namespace\29::CachedTessellations::CachedTessellations\28\29 +6143:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29 +6144:\28anonymous\20namespace\29::BitmapKey::BitmapKey\28SkBitmapCacheDesc\20const&\29 +6145:\28anonymous\20namespace\29::AmbientVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +6146:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29 +6147:\28anonymous\20namespace\29::AAHairlineOp::PathData::PathData\28\28anonymous\20namespace\29::AAHairlineOp::PathData&&\29 +6148:\28anonymous\20namespace\29::AAHairlineOp::AAHairlineOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIRect\2c\20float\2c\20GrUserStencilSettings\20const*\29 +6149:TextureSourceImageGenerator::~TextureSourceImageGenerator\28\29 +6150:TT_Set_Named_Instance +6151:TT_Save_Context +6152:TT_Hint_Glyph +6153:TT_DotFix14 +6154:TT_Done_Context +6155:StringBuffer\20apply_format_string<1024>\28char\20const*\2c\20void*\2c\20char\20\28&\29\20\5b1024\5d\2c\20SkString*\29 +6156:SortContourList\28SkOpContourHead**\2c\20bool\2c\20bool\29 +6157:Skwasm::Surface::_resizeCanvasToFit\28int\2c\20int\29 +6158:SkWriter32::writeString\28char\20const*\2c\20unsigned\20long\29 +6159:SkWriter32::writePoint3\28SkPoint3\20const&\29 +6160:SkWBuffer::padToAlign4\28\29 +6161:SkVertices::getSizes\28\29\20const +6162:SkVertices::Builder::init\28SkVertices::Desc\20const&\29 +6163:SkVertices::Builder::Builder\28SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +6164:SkUnicode_client::~SkUnicode_client\28\29 +6165:SkUnicode::convertUtf16ToUtf8\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +6166:SkUnicode::BidiRegion&\20std::__2::vector>::emplace_back\28unsigned\20long&\2c\20unsigned\20long&\2c\20unsigned\20char&\29 +6167:SkUTF::UTF16ToUTF8\28char*\2c\20int\2c\20unsigned\20short\20const*\2c\20unsigned\20long\29 +6168:SkUTF::ToUTF8\28int\2c\20char*\29 +6169:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29 +6170:SkTypeface_FreeTypeStream::SkTypeface_FreeTypeStream\28std::__2::unique_ptr>\2c\20SkString\2c\20SkFontStyle\20const&\2c\20bool\29 +6171:SkTypeface_FreeType::getFaceRec\28\29\20const +6172:SkTypeface_FreeType::SkTypeface_FreeType\28SkFontStyle\20const&\2c\20bool\29 +6173:SkTypeface_FreeType::GetUnitsPerEm\28FT_FaceRec_*\29 +6174:SkTypeface_Custom::~SkTypeface_Custom\28\29 +6175:SkTypeface_Custom::onGetFamilyName\28SkString*\29\20const +6176:SkTypeface::unicharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +6177:SkTypeface::MakeEmpty\28\29 +6178:SkTransformShader::update\28SkMatrix\20const&\29 +6179:SkTextBlobBuilder::reserve\28unsigned\20long\29 +6180:SkTextBlobBuilder::allocRunPos\28SkFont\20const&\2c\20int\2c\20SkRect\20const*\29 +6181:SkTextBlobBuilder::TightRunBounds\28SkTextBlob::RunRecord\20const&\29 +6182:SkTextBlob::getIntercepts\28float\20const*\2c\20float*\2c\20SkPaint\20const*\29\20const +6183:SkTaskGroup::add\28std::__2::function\29 +6184:SkTSpan::split\28SkTSpan*\2c\20SkArenaAlloc*\29 +6185:SkTSpan::splitAt\28SkTSpan*\2c\20double\2c\20SkArenaAlloc*\29 +6186:SkTSpan::linearIntersects\28SkTCurve\20const&\29\20const +6187:SkTSpan::hullCheck\28SkTSpan\20const*\2c\20bool*\2c\20bool*\29 +6188:SkTSpan::contains\28double\29\20const +6189:SkTSect::unlinkSpan\28SkTSpan*\29 +6190:SkTSect::removeAllBut\28SkTSpan\20const*\2c\20SkTSpan*\2c\20SkTSect*\29 +6191:SkTSect::recoverCollapsed\28\29 +6192:SkTSect::intersects\28SkTSpan*\2c\20SkTSect*\2c\20SkTSpan*\2c\20int*\29 +6193:SkTSect::coincidentHasT\28double\29 +6194:SkTSect::boundsMax\28\29 +6195:SkTSect::addSplitAt\28SkTSpan*\2c\20double\29 +6196:SkTSect::addForPerp\28SkTSpan*\2c\20double\29 +6197:SkTSect::EndsEqual\28SkTSect\20const*\2c\20SkTSect\20const*\2c\20SkIntersections*\29 +6198:SkTMultiMap::reset\28\29 +6199:SkTMaskGamma<3\2c\203\2c\203>::SkTMaskGamma\28float\2c\20float\29 +6200:SkTMaskGamma<3\2c\203\2c\203>::CanonicalColor\28unsigned\20int\29 +6201:SkTLazy::getMaybeNull\28\29 +6202:SkTInternalLList::remove\28skgpu::ganesh::SmallPathShapeData*\29 +6203:SkTInternalLList<\28anonymous\20namespace\29::CacheImpl::Value>::remove\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +6204:SkTInternalLList<\28anonymous\20namespace\29::CacheImpl::Value>::addToHead\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +6205:SkTInternalLList::remove\28TriangulationVertex*\29 +6206:SkTInternalLList::addToTail\28TriangulationVertex*\29 +6207:SkTInternalLList::Entry>::addToHead\28SkLRUCache::Entry*\29 +6208:SkTInternalLList>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry>::addToHead\28SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\29 +6209:SkTInternalLList>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry>::addToHead\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\29 +6210:SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::find\28SkImageFilterCacheKey\20const&\29\20const +6211:SkTDStorage::SkTDStorage\28SkTDStorage&&\29 +6212:SkTDPQueue<\28anonymous\20namespace\29::RunIteratorQueue::Entry\2c\20&\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\2c\20\28int*\20\28*\29\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\290>::insert\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\29 +6213:SkTDPQueue::remove\28GrGpuResource*\29 +6214:SkTDPQueue::percolateUpIfNecessary\28int\29 +6215:SkTDPQueue::percolateDownIfNecessary\28int\29 +6216:SkTDPQueue::insert\28GrGpuResource*\29 +6217:SkTDArray::append\28int\29 +6218:SkTDArray::append\28int\29 +6219:SkTDArray::push_back\28SkRecords::FillBounds::SaveBounds\20const&\29 +6220:SkTCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +6221:SkTCopyOnFirstWrite::writable\28\29 +6222:SkTCopyOnFirstWrite::writable\28\29 +6223:SkTConic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +6224:SkTConic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +6225:SkTConic::controlsInside\28\29\20const +6226:SkTConic::collapsed\28\29\20const +6227:SkTBlockList::pushItem\28\29 +6228:SkTBlockList::pop_back\28\29 +6229:SkTBlockList::push_back\28skgpu::ganesh::ClipStack::RawElement&&\29 +6230:SkTBlockList::pushItem\28\29 +6231:SkTBlockList::~SkTBlockList\28\29 +6232:SkTBlockList::push_back\28GrGLProgramDataManager::GLUniformInfo\20const&\29 +6233:SkTBlockList::item\28int\29 +6234:SkSurface_Raster::~SkSurface_Raster\28\29 +6235:SkSurface_Ganesh::~SkSurface_Ganesh\28\29 +6236:SkSurface_Ganesh::onDiscard\28\29 +6237:SkSurface_Base::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +6238:SkSurface_Base::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +6239:SkSurface_Base::onCapabilities\28\29 +6240:SkSurfaceValidateRasterInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +6241:SkStrokeRec::GetInflationRadius\28SkPaint::Join\2c\20float\2c\20SkPaint::Cap\2c\20float\29 +6242:SkString_from_UTF16BE\28unsigned\20char\20const*\2c\20unsigned\20long\2c\20SkString&\29 +6243:SkString::equals\28char\20const*\2c\20unsigned\20long\29\20const +6244:SkString::equals\28char\20const*\29\20const +6245:SkString::appendVAList\28char\20const*\2c\20void*\29 +6246:SkString::appendUnichar\28int\29 +6247:SkString::appendHex\28unsigned\20int\2c\20int\29 +6248:SkString::SkString\28unsigned\20long\29 +6249:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec\20const&\29 +6250:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29::$_0::operator\28\29\28int\2c\20int\29\20const +6251:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29 +6252:SkStrikeSpec::MakeTransformMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +6253:SkStrikeCache::~SkStrikeCache\28\29 +6254:SkStrike::~SkStrike\28\29 +6255:SkStrike::prepareForImage\28SkGlyph*\29 +6256:SkStrike::prepareForDrawable\28SkGlyph*\29 +6257:SkStrike::internalPrepare\28SkSpan\2c\20SkStrike::PathDetail\2c\20SkGlyph\20const**\29 +6258:SkStrSplit\28char\20const*\2c\20char\20const*\2c\20SkStrSplitMode\2c\20skia_private::TArray*\29 +6259:SkStrAppendU32\28char*\2c\20unsigned\20int\29 +6260:SkStrAppendS32\28char*\2c\20int\29 +6261:SkSpriteBlitter_Memcpy::~SkSpriteBlitter_Memcpy\28\29 +6262:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +6263:SkSpecialImages::AsBitmap\28SkSpecialImage\20const*\2c\20SkBitmap*\29 +6264:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29 +6265:SkSpecialImage_Raster::getROPixels\28SkBitmap*\29\20const +6266:SkSpecialImage_Raster::SkSpecialImage_Raster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +6267:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29 +6268:SkSpecialImage::SkSpecialImage\28SkIRect\20const&\2c\20unsigned\20int\2c\20SkColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +6269:SkSize\20skif::Mapping::map\28SkSize\20const&\2c\20SkMatrix\20const&\29 +6270:SkShapers::unicode::BidiRunIterator\28sk_sp\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20char\29 +6271:SkShapers::HB::ShapeDontWrapOrReorder\28sk_sp\2c\20sk_sp\29 +6272:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29 +6273:SkShaper::MakeStdLanguageRunIterator\28char\20const*\2c\20unsigned\20long\29 +6274:SkShaper::MakeFontMgrRunIterator\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20sk_sp\29 +6275:SkShadowTessellator::MakeAmbient\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20bool\29 +6276:SkShaders::MatrixRec::totalMatrix\28\29\20const +6277:SkShaders::MatrixRec::concat\28SkMatrix\20const&\29\20const +6278:SkShaders::Empty\28\29 +6279:SkShaders::Color\28unsigned\20int\29 +6280:SkShaders::Blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\29 +6281:SkShaderUtils::VisitLineByLine\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::function\20const&\29 +6282:SkShaderUtils::GLSLPrettyPrint::undoNewlineAfter\28char\29 +6283:SkShaderUtils::GLSLPrettyPrint::parseUntil\28char\20const*\29 +6284:SkShaderUtils::GLSLPrettyPrint::parseUntilNewline\28\29 +6285:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +6286:SkShaderBlurAlgorithm::evalBlur1D\28float\2c\20int\2c\20SkV2\2c\20sk_sp\2c\20SkIRect\2c\20SkTileMode\2c\20SkIRect\29\20const +6287:SkShaderBlurAlgorithm::GetLinearBlur1DEffect\28int\29 +6288:SkShaderBlurAlgorithm::GetBlur2DEffect\28SkISize\20const&\29 +6289:SkShaderBlurAlgorithm::Compute2DBlurOffsets\28SkISize\2c\20std::__2::array&\29 +6290:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20std::__2::array&\29 +6291:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20SkSpan\29 +6292:SkShaderBlurAlgorithm::Compute1DBlurLinearKernel\28float\2c\20int\2c\20std::__2::array&\29 +6293:SkShaderBlurAlgorithm::Compute1DBlurKernel\28float\2c\20int\2c\20SkSpan\29 +6294:SkShaderBase::getFlattenableType\28\29\20const +6295:SkShader::makeWithColorFilter\28sk_sp\29\20const +6296:SkScan::PathRequiresTiling\28SkIRect\20const&\29 +6297:SkScan::HairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +6298:SkScan::FillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +6299:SkScan::FillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +6300:SkScan::AntiFrameRect\28SkRect\20const&\2c\20SkPoint\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +6301:SkScan::AntiFillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +6302:SkScan::AAAFillPath\28SkPath\20const&\2c\20SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +6303:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29 +6304:SkScalerContext_FreeType::shouldSubpixelBitmap\28SkGlyph\20const&\2c\20SkMatrix\20const&\29 +6305:SkScalerContext_FreeType::getCBoxForLetter\28char\2c\20FT_BBox_*\29 +6306:SkScalerContext_FreeType::getBoundsOfCurrentOutlineGlyph\28FT_GlyphSlotRec_*\2c\20SkRect*\29 +6307:SkScalerContextRec::setLuminanceColor\28unsigned\20int\29 +6308:SkScalerContextFTUtils::drawCOLRv1Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +6309:SkScalerContextFTUtils::drawCOLRv0Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +6310:SkScalerContext::makeGlyph\28SkPackedGlyphID\2c\20SkArenaAlloc*\29 +6311:SkScalerContext::internalGetPath\28SkGlyph&\2c\20SkArenaAlloc*\29 +6312:SkScalerContext::SkScalerContext\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +6313:SkScalerContext::SaturateGlyphBounds\28SkGlyph*\2c\20SkRect&&\29 +6314:SkScalerContext::MakeRecAndEffects\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\2c\20SkScalerContextRec*\2c\20SkScalerContextEffects*\29 +6315:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +6316:SkScalerContext::AutoDescriptorGivenRecAndEffects\28SkScalerContextRec\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkAutoDescriptor*\29 +6317:SkScalarInterpFunc\28float\2c\20float\20const*\2c\20float\20const*\2c\20int\29 +6318:SkSTArenaAlloc<4096ul>::SkSTArenaAlloc\28unsigned\20long\29 +6319:SkSTArenaAlloc<256ul>::SkSTArenaAlloc\28unsigned\20long\29 +6320:SkSLCombinedSamplerTypeForTextureType\28GrTextureType\29 +6321:SkSL::type_to_sksltype\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSLType*\29 +6322:SkSL::stoi\28std::__2::basic_string_view>\2c\20long\20long*\29 +6323:SkSL::splat_scalar\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +6324:SkSL::simplify_constant_equality\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +6325:SkSL::short_circuit_boolean\28SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +6326:SkSL::remove_break_statements\28std::__2::unique_ptr>&\29::RemoveBreaksWriter::visitStatementPtr\28std::__2::unique_ptr>&\29 +6327:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_2::operator\28\29\28int\29\20const +6328:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_1::operator\28\29\28int\29\20const +6329:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +6330:SkSL::negate_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +6331:SkSL::make_reciprocal_expression\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29 +6332:SkSL::index_out_of_range\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20long\20long\2c\20SkSL::Expression\20const&\29 +6333:SkSL::hoist_vardecl_symbols_into_outer_scope\28SkSL::Context\20const&\2c\20SkSL::Block\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::SymbolTable*\29::SymbolHoister::visitStatement\28SkSL::Statement\20const&\29 +6334:SkSL::get_struct_definitions_from_module\28SkSL::Program&\2c\20SkSL::Module\20const&\2c\20std::__2::vector>*\29 +6335:SkSL::find_existing_declaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20SkSL::IntrinsicKind\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray>\2c\20true>&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration**\29::$_0::operator\28\29\28\29\20const +6336:SkSL::extract_matrix\28SkSL::Expression\20const*\2c\20float*\29 +6337:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +6338:SkSL::eliminate_no_op_boolean\28SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +6339:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_4::operator\28\29\28int\29\20const +6340:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_2::operator\28\29\28SkSL::Type\20const&\29\20const +6341:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_1::operator\28\29\28int\29\20const +6342:SkSL::argument_needs_scratch_variable\28SkSL::Expression\20const*\2c\20SkSL::Variable\20const*\2c\20SkSL::ProgramUsage\20const&\29 +6343:SkSL::argument_and_parameter_flags_match\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29 +6344:SkSL::apply_to_elements\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20double\20\28*\29\28double\29\29 +6345:SkSL::append_rtadjust_fixup_to_vertex_main\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::Block&\29::AppendRTAdjustFixupHelper::Adjust\28\29\20const +6346:SkSL::\28anonymous\20namespace\29::clone_with_ref_kind\28SkSL::Expression\20const&\2c\20SkSL::VariableRefKind\2c\20SkSL::Position\29 +6347:SkSL::\28anonymous\20namespace\29::check_valid_uniform_type\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Context\20const&\2c\20bool\29::$_0::operator\28\29\28\29\20const +6348:SkSL::\28anonymous\20namespace\29::caps_lookup_table\28\29 +6349:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +6350:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStructFields\28SkSL::Type\20const&\29 +6351:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStatement\28SkSL::Statement\20const&\29 +6352:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +6353:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitStatement\28SkSL::Statement\20const&\29 +6354:SkSL::\28anonymous\20namespace\29::IsAssignableVisitor::visitExpression\28SkSL::Expression&\2c\20SkSL::FieldAccess\20const*\29::'lambda'\28\29::operator\28\29\28\29\20const +6355:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +6356:SkSL::Variable::MakeScratchVariable\28SkSL::Context\20const&\2c\20SkSL::Mangler&\2c\20std::__2::basic_string_view>\2c\20SkSL::Type\20const*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>\29 +6357:SkSL::VarDeclaration::ErrorCheck\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Type\20const*\2c\20SkSL::VariableStorage\29 +6358:SkSL::TypeReference::description\28SkSL::OperatorPrecedence\29\20const +6359:SkSL::TypeReference::VerifyType\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Position\29 +6360:SkSL::TypeReference::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\29 +6361:SkSL::Type::checkIfUsableInArray\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +6362:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29\20const +6363:SkSL::Type::MakeStructType\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20bool\29 +6364:SkSL::Type::MakeLiteralType\28char\20const*\2c\20SkSL::Type\20const&\2c\20signed\20char\29 +6365:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::addDeclaringElement\28SkSL::Symbol\20const*\29 +6366:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::visitStatementPtr\28std::__2::unique_ptr>&\29 +6367:SkSL::Transform::EliminateDeadGlobalVariables\28SkSL::Program&\29::$_0::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +6368:SkSL::TernaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +6369:SkSL::SymbolTable::moveSymbolTo\28SkSL::SymbolTable*\2c\20SkSL::Symbol*\2c\20SkSL::Context\20const&\29 +6370:SkSL::SymbolTable::isBuiltinType\28std::__2::basic_string_view>\29\20const +6371:SkSL::SymbolTable::insertNewParent\28\29 +6372:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Symbol*\29 +6373:SkSL::Symbol::instantiate\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +6374:SkSL::SwitchStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +6375:SkSL::SwitchCase::Make\28SkSL::Position\2c\20long\20long\2c\20std::__2::unique_ptr>\29 +6376:SkSL::SwitchCase::MakeDefault\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +6377:SkSL::StructType::structNestingDepth\28\29\20const +6378:SkSL::StructType::slotCount\28\29\20const +6379:SkSL::StructType::StructType\28SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20int\2c\20bool\2c\20bool\29 +6380:SkSL::String::vappendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20void*\29 +6381:SkSL::SingleArgumentConstructor::argumentSpan\28\29 +6382:SkSL::Setting::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20bool\20const\20SkSL::ShaderCaps::*\29 +6383:SkSL::RP::stack_usage\28SkSL::RP::Instruction\20const&\29 +6384:SkSL::RP::is_sliceable_swizzle\28SkSpan\29 +6385:SkSL::RP::is_immediate_op\28SkSL::RP::BuilderOp\29 +6386:SkSL::RP::UnownedLValueSlice::isWritable\28\29\20const +6387:SkSL::RP::UnownedLValueSlice::dynamicSlotRange\28\29 +6388:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29 +6389:SkSL::RP::ScratchLValue::~ScratchLValue\28\29 +6390:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const +6391:SkSL::RP::Program::appendStackRewind\28skia_private::TArray*\29\20const +6392:SkSL::RP::Program::appendCopyImmutableUnmasked\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +6393:SkSL::RP::Program::appendAdjacentNWayTernaryOp\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSL::RP::ProgramOp\2c\20std::byte*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +6394:SkSL::RP::Program::appendAdjacentNWayBinaryOp\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +6395:SkSL::RP::LValue::swizzle\28\29 +6396:SkSL::RP::ImmutableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +6397:SkSL::RP::Generator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\29 +6398:SkSL::RP::Generator::writeFunction\28SkSL::IRNode\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSpan>\20const>\29 +6399:SkSL::RP::Generator::storeImmutableValueToSlots\28skia_private::TArray\20const&\2c\20SkSL::RP::SlotRange\29 +6400:SkSL::RP::Generator::returnComplexity\28SkSL::FunctionDefinition\20const*\29 +6401:SkSL::RP::Generator::pushVariableReferencePartial\28SkSL::VariableReference\20const&\2c\20SkSL::RP::SlotRange\29 +6402:SkSL::RP::Generator::pushTraceScopeMask\28\29 +6403:SkSL::RP::Generator::pushLengthIntrinsic\28int\29 +6404:SkSL::RP::Generator::pushLValueOrExpression\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\29 +6405:SkSL::RP::Generator::pushIntrinsic\28SkSL::RP::BuilderOp\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +6406:SkSL::RP::Generator::pushIntrinsic\28SkSL::IntrinsicKind\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +6407:SkSL::RP::Generator::pushImmutableData\28SkSL::Expression\20const&\29 +6408:SkSL::RP::Generator::getImmutableValueForExpression\28SkSL::Expression\20const&\2c\20skia_private::TArray*\29 +6409:SkSL::RP::Generator::getImmutableBitsForSlot\28SkSL::Expression\20const&\2c\20unsigned\20long\29 +6410:SkSL::RP::Generator::findPreexistingImmutableData\28skia_private::TArray\20const&\29 +6411:SkSL::RP::Generator::discardTraceScopeMask\28\29 +6412:SkSL::RP::Builder::push_condition_mask\28\29 +6413:SkSL::RP::Builder::pop_slots_unmasked\28SkSL::RP::SlotRange\29 +6414:SkSL::RP::Builder::pop_condition_mask\28\29 +6415:SkSL::RP::Builder::pop_and_reenable_loop_mask\28\29 +6416:SkSL::RP::Builder::merge_loop_mask\28\29 +6417:SkSL::RP::Builder::merge_inv_condition_mask\28\29 +6418:SkSL::RP::Builder::mask_off_loop_mask\28\29 +6419:SkSL::RP::Builder::discard_stack\28int\2c\20int\29 +6420:SkSL::RP::Builder::copy_stack_to_slots_unmasked\28SkSL::RP::SlotRange\2c\20int\29 +6421:SkSL::RP::Builder::copy_stack_to_slots_unmasked\28SkSL::RP::SlotRange\29 +6422:SkSL::RP::Builder::copy_stack_to_slots\28SkSL::RP::SlotRange\29 +6423:SkSL::RP::Builder::branch_if_any_lanes_active\28int\29 +6424:SkSL::RP::AutoStack::pushClone\28SkSL::RP::SlotRange\2c\20int\29 +6425:SkSL::RP::AutoContinueMask::~AutoContinueMask\28\29 +6426:SkSL::RP::AutoContinueMask::exitLoopBody\28\29 +6427:SkSL::RP::AutoContinueMask::enterLoopBody\28\29 +6428:SkSL::RP::AutoContinueMask::enable\28\29 +6429:SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +6430:SkSL::ProgramUsage::get\28SkSL::FunctionDeclaration\20const&\29\20const +6431:SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +6432:SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +6433:SkSL::ProgramConfig::ProgramConfig\28\29 +6434:SkSL::Program::~Program\28\29 +6435:SkSL::PostfixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\29 +6436:SkSL::PipelineStage::PipelineStageCodeGenerator::functionName\28SkSL::FunctionDeclaration\20const&\29 +6437:SkSL::PipelineStage::PipelineStageCodeGenerator::functionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +6438:SkSL::Parser::~Parser\28\29 +6439:SkSL::Parser::varDeclarations\28\29 +6440:SkSL::Parser::varDeclarationsPrefix\28SkSL::Parser::VarDeclarationsPrefix*\29 +6441:SkSL::Parser::varDeclarationsOrExpressionStatement\28\29 +6442:SkSL::Parser::switchCaseBody\28SkSL::ExpressionArray*\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>*\2c\20std::__2::unique_ptr>\29 +6443:SkSL::Parser::shiftExpression\28\29 +6444:SkSL::Parser::relationalExpression\28\29 +6445:SkSL::Parser::multiplicativeExpression\28\29 +6446:SkSL::Parser::logicalXorExpression\28\29 +6447:SkSL::Parser::logicalAndExpression\28\29 +6448:SkSL::Parser::localVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +6449:SkSL::Parser::intLiteral\28long\20long*\29 +6450:SkSL::Parser::identifier\28std::__2::basic_string_view>*\29 +6451:SkSL::Parser::globalVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +6452:SkSL::Parser::expressionStatement\28\29 +6453:SkSL::Parser::expectNewline\28\29 +6454:SkSL::Parser::equalityExpression\28\29 +6455:SkSL::Parser::directive\28bool\29 +6456:SkSL::Parser::declarations\28\29 +6457:SkSL::Parser::bitwiseXorExpression\28\29 +6458:SkSL::Parser::bitwiseOrExpression\28\29 +6459:SkSL::Parser::bitwiseAndExpression\28\29 +6460:SkSL::Parser::additiveExpression\28\29 +6461:SkSL::Parser::addGlobalVarDeclaration\28std::__2::unique_ptr>\29 +6462:SkSL::Parser::Parser\28SkSL::Compiler*\2c\20SkSL::ProgramSettings\20const&\2c\20SkSL::ProgramKind\2c\20std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>\29 +6463:SkSL::MultiArgumentConstructor::argumentSpan\28\29 +6464:SkSL::ModuleLoader::loadSharedModule\28SkSL::Compiler*\29 +6465:SkSL::ModuleLoader::loadPublicModule\28SkSL::Compiler*\29 +6466:SkSL::ModuleLoader::Get\28\29 +6467:SkSL::Module::~Module\28\29 +6468:SkSL::MatrixType::bitWidth\28\29\20const +6469:SkSL::MakeRasterPipelineProgram\28SkSL::Program\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSL::DebugTracePriv*\2c\20bool\29 +6470:SkSL::Layout::operator!=\28SkSL::Layout\20const&\29\20const +6471:SkSL::Layout::description\28\29\20const +6472:SkSL::Intrinsics::\28anonymous\20namespace\29::finalize_distance\28double\29 +6473:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_matrixCompMult\28double\2c\20double\2c\20double\29 +6474:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_length\28std::__2::array\20const&\29 +6475:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +6476:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29 +6477:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29 +6478:SkSL::Inliner::buildCandidateList\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\2c\20SkSL::InlineCandidateList*\29::$_1::operator\28\29\28SkSL::InlineCandidate\20const&\29\20const +6479:SkSL::Inliner::buildCandidateList\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\2c\20SkSL::InlineCandidateList*\29::$_0::operator\28\29\28SkSL::InlineCandidate\20const&\29\20const +6480:SkSL::Inliner::InlinedCall::~InlinedCall\28\29 +6481:SkSL::IndexExpression::~IndexExpression\28\29 +6482:SkSL::IfStatement::~IfStatement\28\29 +6483:SkSL::IRHelpers::Ref\28SkSL::Variable\20const*\29\20const +6484:SkSL::IRHelpers::Mul\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29\20const +6485:SkSL::IRHelpers::Assign\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29\20const +6486:SkSL::GLSLCodeGenerator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\2c\20bool\29 +6487:SkSL::GLSLCodeGenerator::writeProgramElement\28SkSL::ProgramElement\20const&\29 +6488:SkSL::GLSLCodeGenerator::writeMinAbsHack\28SkSL::Expression&\2c\20SkSL::Expression&\29 +6489:SkSL::GLSLCodeGenerator::generateCode\28\29 +6490:SkSL::FunctionDefinition::~FunctionDefinition\28\29.1 +6491:SkSL::FunctionDefinition::~FunctionDefinition\28\29 +6492:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::visitStatementPtr\28std::__2::unique_ptr>&\29 +6493:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::addLocalVariable\28SkSL::Variable\20const*\2c\20SkSL::Position\29 +6494:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29.1 +6495:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29 +6496:SkSL::FunctionDeclaration::mangledName\28\29\20const +6497:SkSL::FunctionDeclaration::getMainInputColorParameter\28\29\20const +6498:SkSL::FunctionDeclaration::getMainDestColorParameter\28\29\20const +6499:SkSL::FunctionDeclaration::determineFinalTypes\28SkSL::ExpressionArray\20const&\2c\20skia_private::STArray<8\2c\20SkSL::Type\20const*\2c\20true>*\2c\20SkSL::Type\20const**\29\20const +6500:SkSL::FunctionDeclaration::FunctionDeclaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20SkSL::Type\20const*\2c\20SkSL::IntrinsicKind\29 +6501:SkSL::FunctionCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +6502:SkSL::FunctionCall::FunctionCall\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\29 +6503:SkSL::FunctionCall::FindBestFunctionForCall\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\20const&\29 +6504:SkSL::FunctionCall::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +6505:SkSL::ForStatement::~ForStatement\28\29 +6506:SkSL::ForStatement::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +6507:SkSL::FindIntrinsicKind\28std::__2::basic_string_view>\29 +6508:SkSL::FieldAccess::~FieldAccess\28\29.1 +6509:SkSL::FieldAccess::~FieldAccess\28\29 +6510:SkSL::FieldAccess::description\28SkSL::OperatorPrecedence\29\20const +6511:SkSL::ExtendedVariable::~ExtendedVariable\28\29 +6512:SkSL::Expression::isFloatLiteral\28\29\20const +6513:SkSL::Expression::coercionCost\28SkSL::Type\20const&\29\20const +6514:SkSL::DoStatement::~DoStatement\28\29.1 +6515:SkSL::DoStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +6516:SkSL::DiscardStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\29 +6517:SkSL::ContinueStatement::Make\28SkSL::Position\29 +6518:SkSL::ConstructorStruct::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +6519:SkSL::ConstructorScalarCast::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +6520:SkSL::ConstructorMatrixResize::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +6521:SkSL::Constructor::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +6522:SkSL::Compiler::resetErrors\28\29 +6523:SkSL::Compiler::initializeContext\28SkSL::Module\20const*\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\2c\20std::__2::basic_string_view>\2c\20bool\29 +6524:SkSL::Compiler::cleanupContext\28\29 +6525:SkSL::CoercionCost::operator<\28SkSL::CoercionCost\29\20const +6526:SkSL::ChildCall::~ChildCall\28\29.1 +6527:SkSL::ChildCall::~ChildCall\28\29 +6528:SkSL::ChildCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const&\2c\20SkSL::ExpressionArray\29 +6529:SkSL::ChildCall::ChildCall\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const*\2c\20SkSL::ExpressionArray\29 +6530:SkSL::BreakStatement::Make\28SkSL::Position\29 +6531:SkSL::Block::Block\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +6532:SkSL::BinaryExpression::isAssignmentIntoVariable\28\29 +6533:SkSL::ArrayType::columns\28\29\20const +6534:SkSL::Analysis::\28anonymous\20namespace\29::LoopControlFlowVisitor::visitStatement\28SkSL::Statement\20const&\29 +6535:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29::IsDynamicallyUniformExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +6536:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29 +6537:SkSL::Analysis::IsConstantExpression\28SkSL::Expression\20const&\29 +6538:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29::IsCompileTimeConstantVisitor::visitExpression\28SkSL::Expression\20const&\29 +6539:SkSL::Analysis::IsAssignable\28SkSL::Expression&\2c\20SkSL::Analysis::AssignmentInfo*\2c\20SkSL::ErrorReporter*\29 +6540:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29::HasSideEffectsVisitor::visitExpression\28SkSL::Expression\20const&\29 +6541:SkSL::Analysis::GetLoopUnrollInfo\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\20const&\2c\20SkSL::Statement\20const*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Expression\20const*\2c\20SkSL::Statement\20const*\2c\20SkSL::ErrorReporter*\29 +6542:SkSL::Analysis::GetLoopControlFlowInfo\28SkSL::Statement\20const&\29 +6543:SkSL::Analysis::ContainsVariable\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29::ContainsVariableVisitor::visitExpression\28SkSL::Expression\20const&\29 +6544:SkSL::Analysis::ContainsRTAdjust\28SkSL::Expression\20const&\29::ContainsRTAdjustVisitor::visitExpression\28SkSL::Expression\20const&\29 +6545:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +6546:SkSL::AliasType::numberKind\28\29\20const +6547:SkSL::AliasType::isAllowedInES2\28\29\20const +6548:SkSBlockAllocator<80ul>::SkSBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\29 +6549:SkRuntimeShader::~SkRuntimeShader\28\29 +6550:SkRuntimeEffectPriv::VarAsChild\28SkSL::Variable\20const&\2c\20int\29 +6551:SkRuntimeEffect::~SkRuntimeEffect\28\29 +6552:SkRuntimeEffect::getRPProgram\28SkSL::DebugTracePriv*\29\20const +6553:SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +6554:SkRuntimeEffect::ChildPtr::type\28\29\20const +6555:SkRuntimeEffect::ChildPtr::shader\28\29\20const +6556:SkRuntimeEffect::ChildPtr::colorFilter\28\29\20const +6557:SkRuntimeEffect::ChildPtr::blender\28\29\20const +6558:SkRgnBuilder::collapsWithPrev\28\29 +6559:SkResourceCache::release\28SkResourceCache::Rec*\29 +6560:SkResourceCache::PostPurgeSharedID\28unsigned\20long\20long\29 +6561:SkResourceCache::NewCachedData\28unsigned\20long\29 +6562:SkResourceCache::GetDiscardableFactory\28\29 +6563:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29 +6564:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +6565:SkRegion::quickReject\28SkIRect\20const&\29\20const +6566:SkRegion::quickContains\28SkIRect\20const&\29\20const +6567:SkRegion::op\28SkIRect\20const&\2c\20SkRegion::Op\29 +6568:SkRegion::getRuns\28int*\2c\20int*\29\20const +6569:SkRegion::Spanerator::next\28int*\2c\20int*\29 +6570:SkRegion::Spanerator::Spanerator\28SkRegion\20const&\2c\20int\2c\20int\2c\20int\29 +6571:SkRegion::RunHead::ensureWritable\28\29 +6572:SkRegion::RunHead::computeRunBounds\28SkIRect*\29 +6573:SkRegion::RunHead::Alloc\28int\2c\20int\2c\20int\29 +6574:SkRegion::Oper\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\2c\20SkRegion*\29 +6575:SkRefCntBase::internal_dispose\28\29\20const +6576:SkReduceOrder::Conic\28SkConic\20const&\2c\20SkPoint*\29 +6577:SkRectPriv::Subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkIRect*\29 +6578:SkRectPriv::QuadContainsRect\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +6579:SkRectPriv::QuadContainsRectMask\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +6580:SkRectPriv::FitsInFixed\28SkRect\20const&\29 +6581:SkRectClipBlitter::requestRowsPreserved\28\29\20const +6582:SkRectClipBlitter::allocBlitMemory\28unsigned\20long\29 +6583:SkRect::roundOut\28SkRect*\29\20const +6584:SkRect::roundIn\28\29\20const +6585:SkRect::roundIn\28SkIRect*\29\20const +6586:SkRect::makeOffset\28float\2c\20float\29\20const +6587:SkRect::joinNonEmptyArg\28SkRect\20const&\29 +6588:SkRect::intersect\28SkRect\20const&\2c\20SkRect\20const&\29 +6589:SkRect::contains\28float\2c\20float\29\20const +6590:SkRect::contains\28SkIRect\20const&\29\20const +6591:SkRect*\20SkRecord::alloc\28unsigned\20long\29 +6592:SkRecords::FillBounds::popSaveBlock\28\29 +6593:SkRecords::FillBounds::popControl\28SkRect\20const&\29 +6594:SkRecords::FillBounds::AdjustForPaint\28SkPaint\20const*\2c\20SkRect*\29 +6595:SkRecorder::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +6596:SkRecordedDrawable::~SkRecordedDrawable\28\29 +6597:SkRecordOptimize\28SkRecord*\29 +6598:SkRecordFillBounds\28SkRect\20const&\2c\20SkRecord\20const&\2c\20SkRect*\2c\20SkBBoxHierarchy::Metadata*\29 +6599:SkRecord::~SkRecord\28\29 +6600:SkReadBuffer::skipByteArray\28unsigned\20long*\29 +6601:SkReadBuffer::readPad32\28void*\2c\20unsigned\20long\29 +6602:SkReadBuffer::SkReadBuffer\28void\20const*\2c\20unsigned\20long\29 +6603:SkRasterPipeline_UniformColorCtx*\20SkArenaAlloc::make\28\29 +6604:SkRasterPipeline_TileCtx*\20SkArenaAlloc::make\28\29 +6605:SkRasterPipeline_RewindCtx*\20SkArenaAlloc::make\28\29 +6606:SkRasterPipeline_DecalTileCtx*\20SkArenaAlloc::make\28\29 +6607:SkRasterPipeline_CopyIndirectCtx*\20SkArenaAlloc::make\28\29 +6608:SkRasterPipeline_2PtConicalCtx*\20SkArenaAlloc::make\28\29 +6609:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29 +6610:SkRasterPipeline::buildPipeline\28SkRasterPipelineStage*\29\20const +6611:SkRasterPipeline::appendSetRGB\28SkArenaAlloc*\2c\20float\20const*\29 +6612:SkRasterPipeline::appendLoad\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +6613:SkRasterClipStack::Rec::Rec\28SkRasterClip\20const&\29 +6614:SkRasterClip::setEmpty\28\29 +6615:SkRasterClip::computeIsRect\28\29\20const +6616:SkRandom::nextULessThan\28unsigned\20int\29 +6617:SkRTreeFactory::operator\28\29\28\29\20const +6618:SkRTree::~SkRTree\28\29 +6619:SkRTree::search\28SkRTree::Node*\2c\20SkRect\20const&\2c\20std::__2::vector>*\29\20const +6620:SkRTree::bulkLoad\28std::__2::vector>*\2c\20int\29 +6621:SkRTree::allocateNodeAtLevel\28unsigned\20short\29 +6622:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29::$_2::operator\28\29\28SkRRect::Corner\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29\20const +6623:SkRRect::setRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +6624:SkRRect::isValid\28\29\20const +6625:SkRRect::computeType\28\29 +6626:SkRGBA4f<\28SkAlphaType\292>\20skgpu::Swizzle::applyTo<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +6627:SkRGBA4f<\28SkAlphaType\292>::unpremul\28\29\20const +6628:SkQuads::Roots\28double\2c\20double\2c\20double\29 +6629:SkQuadraticEdge::setQuadraticWithoutUpdate\28SkPoint\20const*\2c\20int\29 +6630:SkQuadConstruct::init\28float\2c\20float\29 +6631:SkPtrSet::add\28void*\29 +6632:SkPoint::Normalize\28SkPoint*\29 +6633:SkPixmap::readPixels\28SkPixmap\20const&\29\20const +6634:SkPixmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +6635:SkPixmap::erase\28unsigned\20int\29\20const +6636:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const +6637:SkPixelRef::callGenIDChangeListeners\28\29 +6638:SkPictureShader::CachedImageInfo::makeImage\28sk_sp\2c\20SkPicture\20const*\29\20const +6639:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20sk_sp\29 +6640:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20SkBBHFactory*\29 +6641:SkPictureRecord::fillRestoreOffsetPlaceholdersForCurrentStackLevel\28unsigned\20int\29 +6642:SkPictureRecord::endRecording\28\29 +6643:SkPictureRecord::beginRecording\28\29 +6644:SkPictureRecord::addPath\28SkPath\20const&\29 +6645:SkPictureRecord::addPathToHeap\28SkPath\20const&\29 +6646:SkPictureRecord::SkPictureRecord\28SkIRect\20const&\2c\20unsigned\20int\29 +6647:SkPictureImageGenerator::~SkPictureImageGenerator\28\29 +6648:SkPictureData::~SkPictureData\28\29 +6649:SkPictureData::flatten\28SkWriteBuffer&\29\20const +6650:SkPictureData::SkPictureData\28SkPictureRecord\20const&\2c\20SkPictInfo\20const&\29 +6651:SkPicture::SkPicture\28\29 +6652:SkPathWriter::moveTo\28\29 +6653:SkPathWriter::init\28\29 +6654:SkPathWriter::assemble\28\29 +6655:SkPathStroker::setQuadEndNormal\28SkPoint\20const*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\29 +6656:SkPathStroker::cubicQuadEnds\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +6657:SkPathRef::resetToSize\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +6658:SkPathRef::isRRect\28SkRRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +6659:SkPathRef::isOval\28SkRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +6660:SkPathRef::commonReset\28\29 +6661:SkPathRef::Iter::next\28SkPoint*\29 +6662:SkPathRef::CreateEmpty\28\29 +6663:SkPathPriv::LeadingMoveToCount\28SkPath\20const&\29 +6664:SkPathPriv::IsRRect\28SkPath\20const&\2c\20SkRRect*\2c\20SkPathDirection*\2c\20unsigned\20int*\29 +6665:SkPathPriv::IsOval\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\2c\20unsigned\20int*\29 +6666:SkPathPriv::IsNestedFillRects\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\29 +6667:SkPathPriv::CreateDrawArcPath\28SkPath*\2c\20SkArc\20const&\2c\20bool\29 +6668:SkPathOpsBounds::Intersects\28SkPathOpsBounds\20const&\2c\20SkPathOpsBounds\20const&\29 +6669:SkPathMeasure::~SkPathMeasure\28\29 +6670:SkPathMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29 +6671:SkPathMeasure::SkPathMeasure\28SkPath\20const&\2c\20bool\2c\20float\29 +6672:SkPathEffectBase::getFlattenableType\28\29\20const +6673:SkPathEffectBase::PointData::~PointData\28\29 +6674:SkPathEdgeIter::next\28\29::'lambda'\28\29::operator\28\29\28\29\20const +6675:SkPathBuilder::reset\28\29 +6676:SkPathBuilder::lineTo\28float\2c\20float\29 +6677:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\29 +6678:SkPathBuilder::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +6679:SkPath::writeToMemory\28void*\29\20const +6680:SkPath::reverseAddPath\28SkPath\20const&\29 +6681:SkPath::offset\28float\2c\20float\29 +6682:SkPath::makeTransform\28SkMatrix\20const&\2c\20SkApplyPerspectiveClip\29\20const +6683:SkPath::isZeroLengthSincePoint\28int\29\20const +6684:SkPath::isRRect\28SkRRect*\29\20const +6685:SkPath::isOval\28SkRect*\29\20const +6686:SkPath::copyFields\28SkPath\20const&\29 +6687:SkPath::conservativelyContainsRect\28SkRect\20const&\29\20const +6688:SkPath::arcTo\28float\2c\20float\2c\20float\2c\20SkPath::ArcSize\2c\20SkPathDirection\2c\20float\2c\20float\29 +6689:SkPath::addRect\28float\2c\20float\2c\20float\2c\20float\2c\20SkPathDirection\29 +6690:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +6691:SkPath::addCircle\28float\2c\20float\2c\20float\2c\20SkPathDirection\29 +6692:SkPath::Polygon\28std::initializer_list\20const&\2c\20bool\2c\20SkPathFillType\2c\20bool\29 +6693:SkPaintToGrPaintWithBlend\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +6694:SkPaintPriv::ShouldDither\28SkPaint\20const&\2c\20SkColorType\29 +6695:SkPackedGlyphID::PackIDSkPoint\28unsigned\20short\2c\20SkPoint\2c\20SkIPoint\29 +6696:SkOpSpanBase::merge\28SkOpSpan*\29 +6697:SkOpSpanBase::initBase\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +6698:SkOpSpan::sortableTop\28SkOpContour*\29 +6699:SkOpSpan::setOppSum\28int\29 +6700:SkOpSpan::insertCoincidence\28SkOpSpan*\29 +6701:SkOpSpan::insertCoincidence\28SkOpSegment\20const*\2c\20bool\2c\20bool\29 +6702:SkOpSpan::init\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +6703:SkOpSpan::containsCoincidence\28SkOpSegment\20const*\29\20const +6704:SkOpSpan::computeWindSum\28\29 +6705:SkOpSegment::updateOppWindingReverse\28SkOpAngle\20const*\29\20const +6706:SkOpSegment::ptsDisjoint\28double\2c\20SkPoint\20const&\2c\20double\2c\20SkPoint\20const&\29\20const +6707:SkOpSegment::markWinding\28SkOpSpan*\2c\20int\29 +6708:SkOpSegment::isClose\28double\2c\20SkOpSegment\20const*\29\20const +6709:SkOpSegment::computeSum\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpAngle::IncludeType\29 +6710:SkOpSegment::collapsed\28double\2c\20double\29\20const +6711:SkOpSegment::addExpanded\28double\2c\20SkOpSpanBase\20const*\2c\20bool*\29 +6712:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\29 +6713:SkOpSegment::activeOp\28int\2c\20int\2c\20SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkPathOp\2c\20int*\2c\20int*\29 +6714:SkOpSegment::activeAngle\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +6715:SkOpSegment::activeAngleInner\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +6716:SkOpPtT::ptAlreadySeen\28SkOpPtT\20const*\29\20const +6717:SkOpEdgeBuilder::~SkOpEdgeBuilder\28\29 +6718:SkOpEdgeBuilder::preFetch\28\29 +6719:SkOpEdgeBuilder::finish\28\29 +6720:SkOpEdgeBuilder::SkOpEdgeBuilder\28SkPath\20const&\2c\20SkOpContourHead*\2c\20SkOpGlobalState*\29 +6721:SkOpContourBuilder::addQuad\28SkPoint*\29 +6722:SkOpContourBuilder::addLine\28SkPoint\20const*\29 +6723:SkOpContourBuilder::addCubic\28SkPoint*\29 +6724:SkOpContourBuilder::addConic\28SkPoint*\2c\20float\29 +6725:SkOpCoincidence::restoreHead\28\29 +6726:SkOpCoincidence::releaseDeleted\28SkCoincidentSpans*\29 +6727:SkOpCoincidence::mark\28\29 +6728:SkOpCoincidence::markCollapsed\28SkCoincidentSpans*\2c\20SkOpPtT*\29 +6729:SkOpCoincidence::fixUp\28SkCoincidentSpans*\2c\20SkOpPtT*\2c\20SkOpPtT\20const*\29 +6730:SkOpCoincidence::contains\28SkCoincidentSpans\20const*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\29\20const +6731:SkOpCoincidence::checkOverlap\28SkCoincidentSpans*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20SkTDArray*\29\20const +6732:SkOpCoincidence::addOrOverlap\28SkOpSegment*\2c\20SkOpSegment*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20bool*\29 +6733:SkOpCoincidence::addMissing\28bool*\29 +6734:SkOpCoincidence::addEndMovedSpans\28SkOpSpan\20const*\2c\20SkOpSpanBase\20const*\29 +6735:SkOpAngle::tangentsDiverge\28SkOpAngle\20const*\2c\20double\29 +6736:SkOpAngle::setSpans\28\29 +6737:SkOpAngle::setSector\28\29 +6738:SkOpAngle::previous\28\29\20const +6739:SkOpAngle::midToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +6740:SkOpAngle::merge\28SkOpAngle*\29 +6741:SkOpAngle::loopContains\28SkOpAngle\20const*\29\20const +6742:SkOpAngle::lineOnOneSide\28SkOpAngle\20const*\2c\20bool\29 +6743:SkOpAngle::lastMarked\28\29\20const +6744:SkOpAngle::findSector\28SkPath::Verb\2c\20double\2c\20double\29\20const +6745:SkOpAngle::endToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +6746:SkOpAngle::checkCrossesZero\28\29\20const +6747:SkOpAngle::alignmentSameSide\28SkOpAngle\20const*\2c\20int*\29\20const +6748:SkOpAngle::after\28SkOpAngle*\29 +6749:SkOffsetSimplePolygon\28SkPoint\20const*\2c\20int\2c\20SkRect\20const&\2c\20float\2c\20SkTDArray*\2c\20SkTDArray*\29 +6750:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29 +6751:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29 +6752:SkNullBlitter*\20SkArenaAlloc::make\28\29 +6753:SkNotifyBitmapGenIDIsStale\28unsigned\20int\29 +6754:SkNoPixelsDevice::~SkNoPixelsDevice\28\29 +6755:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\29 +6756:SkNoDestructor::SkNoDestructor\2c\20sk_sp>\28sk_sp&&\2c\20sk_sp&&\29 +6757:SkNVRefCnt::unref\28\29\20const +6758:SkNVRefCnt::unref\28\29\20const +6759:SkNVRefCnt::unref\28\29\20const +6760:SkNVRefCnt::unref\28\29\20const +6761:SkNVRefCnt::unref\28\29\20const +6762:SkMipmapAccessor::SkMipmapAccessor\28SkImage_Base\20const*\2c\20SkMatrix\20const&\2c\20SkMipmapMode\29::$_1::operator\28\29\28SkPixmap\20const&\29\20const +6763:SkMipmap::~SkMipmap\28\29 +6764:SkMessageBus::Get\28\29 +6765:SkMessageBus::Get\28\29 +6766:SkMeshSpecification::Attribute::Attribute\28SkMeshSpecification::Attribute\20const&\29 +6767:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +6768:SkMeshPriv::CpuBuffer::size\28\29\20const +6769:SkMeshPriv::CpuBuffer::peek\28\29\20const +6770:SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +6771:SkMemoryStream::~SkMemoryStream\28\29 +6772:SkMemoryStream::SkMemoryStream\28sk_sp\29 +6773:SkMatrixPriv::MapPointsWithStride\28SkMatrix\20const&\2c\20SkPoint*\2c\20unsigned\20long\2c\20int\29 +6774:SkMatrix::updateTranslateMask\28\29 +6775:SkMatrix::setTranslate\28float\2c\20float\29 +6776:SkMatrix::setScale\28float\2c\20float\29 +6777:SkMatrix::postSkew\28float\2c\20float\29 +6778:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint3\20const*\2c\20int\29\20const +6779:SkMatrix::getMinScale\28\29\20const +6780:SkMatrix::computeTypeMask\28\29\20const +6781:SkMatrix::Rot_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +6782:SkMatrix*\20SkRecord::alloc\28unsigned\20long\29 +6783:SkMaskFilterBase::NinePatch::~NinePatch\28\29 +6784:SkMask*\20SkTLazy::init\28unsigned\20char\20const*&&\2c\20SkIRect\20const&\2c\20unsigned\20int\20const&\2c\20SkMask::Format\20const&\29 +6785:SkMask*\20SkTLazy::init\28SkMaskBuilder&\29 +6786:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29 +6787:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29 +6788:SkMakeBitmapShaderForPaint\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20SkCopyPixelsMode\29 +6789:SkM44::preTranslate\28float\2c\20float\2c\20float\29 +6790:SkM44::postTranslate\28float\2c\20float\2c\20float\29 +6791:SkLocalMatrixShader::type\28\29\20const +6792:SkLinearColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +6793:SkLineParameters::normalize\28\29 +6794:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\29 +6795:SkLineClipper::ClipLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\2c\20bool\29 +6796:SkLatticeIter::~SkLatticeIter\28\29 +6797:SkLatticeIter::next\28SkIRect*\2c\20SkRect*\2c\20bool*\2c\20unsigned\20int*\29 +6798:SkLatticeIter::SkLatticeIter\28SkCanvas::Lattice\20const&\2c\20SkRect\20const&\29 +6799:SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::find\28skia::textlayout::ParagraphCacheKey\20const&\29 +6800:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::insert\28GrProgramDesc\20const&\2c\20std::__2::unique_ptr>\29 +6801:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::find\28GrProgramDesc\20const&\29 +6802:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29::$_0::operator\28\29\28int\2c\20SkRuntimeEffect::Options\20const&\29\20const +6803:SkJSONWriter::appendf\28char\20const*\2c\20...\29 +6804:SkIsSimplePolygon\28SkPoint\20const*\2c\20int\29 +6805:SkIsConvexPolygon\28SkPoint\20const*\2c\20int\29 +6806:SkInvert4x4Matrix\28float\20const*\2c\20float*\29 +6807:SkInvert3x3Matrix\28float\20const*\2c\20float*\29 +6808:SkIntersections::quadVertical\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6809:SkIntersections::quadLine\28SkPoint\20const*\2c\20SkPoint\20const*\29 +6810:SkIntersections::quadHorizontal\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6811:SkIntersections::mostOutside\28double\2c\20double\2c\20SkDPoint\20const&\29\20const +6812:SkIntersections::lineVertical\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6813:SkIntersections::lineHorizontal\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6814:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDQuad\20const&\29 +6815:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDConic\20const&\29 +6816:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDQuad\20const&\29 +6817:SkIntersections::insertCoincident\28double\2c\20double\2c\20SkDPoint\20const&\29 +6818:SkIntersections::cubicVertical\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6819:SkIntersections::cubicLine\28SkPoint\20const*\2c\20SkPoint\20const*\29 +6820:SkIntersections::cubicHorizontal\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6821:SkIntersections::conicVertical\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6822:SkIntersections::conicLine\28SkPoint\20const*\2c\20float\2c\20SkPoint\20const*\29 +6823:SkIntersections::conicHorizontal\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6824:SkImages::RasterFromPixmap\28SkPixmap\20const&\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +6825:SkImages::RasterFromData\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\29 +6826:SkImage_Raster::~SkImage_Raster\28\29 +6827:SkImage_Raster::onPeekBitmap\28\29\20const +6828:SkImage_Raster::SkImage_Raster\28SkBitmap\20const&\2c\20bool\29 +6829:SkImage_Lazy::~SkImage_Lazy\28\29 +6830:SkImage_Lazy::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +6831:SkImage_GaneshBase::~SkImage_GaneshBase\28\29 +6832:SkImage_GaneshBase::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +6833:SkImage_GaneshBase::SkImage_GaneshBase\28sk_sp\2c\20SkImageInfo\2c\20unsigned\20int\29 +6834:SkImage_Base::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +6835:SkImage_Base::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +6836:SkImageShader::~SkImageShader\28\29 +6837:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_3::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +6838:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_1::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +6839:SkImageInfoValidConversion\28SkImageInfo\20const&\2c\20SkImageInfo\20const&\29 +6840:SkImageGenerator::SkImageGenerator\28SkImageInfo\20const&\2c\20unsigned\20int\29 +6841:SkImageFilters::Crop\28SkRect\20const&\2c\20sk_sp\29 +6842:SkImageFilters::Blur\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +6843:SkImageFilter_Base::getInputBounds\28skif::Mapping\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\29\20const +6844:SkImageFilter_Base::getCTMCapability\28\29\20const +6845:SkImageFilterCache::Get\28SkImageFilterCache::CreateIfNecessary\29 +6846:SkImageFilterCache::Create\28unsigned\20long\29 +6847:SkImage::~SkImage\28\29 +6848:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20unsigned\20int\20const*\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20SkMatrix\20const*\29 +6849:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +6850:SkGradientShader::MakeSweep\28float\2c\20float\2c\20unsigned\20int\20const*\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const*\29 +6851:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20unsigned\20int\20const*\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20SkMatrix\20const*\29 +6852:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20SkMatrix\20const*\29 +6853:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +6854:SkGradientBaseShader::~SkGradientBaseShader\28\29 +6855:SkGradientBaseShader::getPos\28int\29\20const +6856:SkGradientBaseShader::AppendGradientFillStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\29 +6857:SkGlyph::mask\28SkPoint\29\20const +6858:SkGlyph::ensureIntercepts\28float\20const*\2c\20float\2c\20float\2c\20float*\2c\20int*\2c\20SkArenaAlloc*\29::$_1::operator\28\29\28SkGlyph::Intercept\20const*\2c\20float*\2c\20int*\29\20const +6859:SkGenerateDistanceFieldFromA8Image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20unsigned\20long\29 +6860:SkGaussFilter::SkGaussFilter\28double\29 +6861:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29 +6862:SkFontStyleSet::CreateEmpty\28\29 +6863:SkFontStyle::SkFontStyle\28int\2c\20int\2c\20SkFontStyle::Slant\29 +6864:SkFontScanner_FreeType::scanInstance\28SkStreamAsset*\2c\20int\2c\20int\2c\20SkString*\2c\20SkFontStyle*\2c\20bool*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29\20const +6865:SkFontScanner_FreeType::computeAxisValues\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\2c\20SkFontArguments::VariationPosition\2c\20int*\2c\20SkString\20const&\2c\20SkFontStyle*\2c\20SkFontArguments::VariationPosition::Coordinate\20const*\29 +6866:SkFontScanner_FreeType::SkFontScanner_FreeType\28\29 +6867:SkFontPriv::MakeTextMatrix\28float\2c\20float\2c\20float\29 +6868:SkFontPriv::GetFontBounds\28SkFont\20const&\29 +6869:SkFontMgr_Custom::~SkFontMgr_Custom\28\29 +6870:SkFontDescriptor::SkFontStyleWidthForWidthAxisValue\28float\29 +6871:SkFontData::~SkFontData\28\29 +6872:SkFontData::SkFontData\28std::__2::unique_ptr>\2c\20int\2c\20int\2c\20int\20const*\2c\20int\2c\20SkFontArguments::Palette::Override\20const*\2c\20int\29 +6873:SkFont::operator==\28SkFont\20const&\29\20const +6874:SkFont::getWidths\28unsigned\20short\20const*\2c\20int\2c\20float*\29\20const +6875:SkFont::getPaths\28unsigned\20short\20const*\2c\20int\2c\20void\20\28*\29\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29\2c\20void*\29\20const +6876:SkFindCubicInflections\28SkPoint\20const*\2c\20float*\29 +6877:SkFindCubicExtrema\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +6878:SkFindBisector\28SkPoint\2c\20SkPoint\29 +6879:SkFibBlockSizes<4294967295u>::SkFibBlockSizes\28unsigned\20int\2c\20unsigned\20int\29::'lambda0'\28\29::operator\28\29\28\29\20const +6880:SkFibBlockSizes<4294967295u>::SkFibBlockSizes\28unsigned\20int\2c\20unsigned\20int\29::'lambda'\28\29::operator\28\29\28\29\20const +6881:SkFILEStream::~SkFILEStream\28\29 +6882:SkEvalQuadTangentAt\28SkPoint\20const*\2c\20float\29 +6883:SkEvalQuadAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +6884:SkEdgeClipper::next\28SkPoint*\29 +6885:SkEdgeClipper::clipQuad\28SkPoint\20const*\2c\20SkRect\20const&\29 +6886:SkEdgeClipper::clipLine\28SkPoint\2c\20SkPoint\2c\20SkRect\20const&\29 +6887:SkEdgeClipper::appendCubic\28SkPoint\20const*\2c\20bool\29 +6888:SkEdgeClipper::ClipPath\28SkPath\20const&\2c\20SkRect\20const&\2c\20bool\2c\20void\20\28*\29\28SkEdgeClipper*\2c\20bool\2c\20void*\29\2c\20void*\29 +6889:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_1::operator\28\29\28SkPoint\20const*\29\20const +6890:SkEdgeBuilder::buildEdges\28SkPath\20const&\2c\20SkIRect\20const*\29 +6891:SkEdgeBuilder::SkEdgeBuilder\28\29 +6892:SkEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\29 +6893:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20int\29 +6894:SkDynamicMemoryWStream::reset\28\29 +6895:SkDynamicMemoryWStream::Block::append\28void\20const*\2c\20unsigned\20long\29 +6896:SkDrawableList::newDrawableSnapshot\28\29 +6897:SkDrawTreatAsHairline\28SkPaint\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +6898:SkDrawShadowMetrics::GetSpotShadowTransform\28SkPoint3\20const&\2c\20float\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkRect\20const&\2c\20bool\2c\20SkMatrix*\2c\20float*\29 +6899:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20SkRect\20const*\29\20const +6900:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\2c\20bool\2c\20SkBlitter*\29\20const +6901:SkDrawBase::drawPaint\28SkPaint\20const&\29\20const +6902:SkDrawBase::SkDrawBase\28SkDrawBase\20const&\29 +6903:SkDrawBase::DrawToMask\28SkPath\20const&\2c\20SkIRect\20const&\2c\20SkMaskFilter\20const*\2c\20SkMatrix\20const*\2c\20SkMaskBuilder*\2c\20SkMaskBuilder::CreateMode\2c\20SkStrokeRec::InitStyle\29 +6904:SkDraw::drawSprite\28SkBitmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29\20const +6905:SkDraw::drawBitmap\28SkBitmap\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29\20const +6906:SkDraw::SkDraw\28SkDraw\20const&\29 +6907:SkDevice::setOrigin\28SkM44\20const&\2c\20int\2c\20int\29 +6908:SkDevice::setDeviceCoordinateSystem\28SkM44\20const&\2c\20SkM44\20const&\2c\20SkM44\20const&\2c\20int\2c\20int\29 +6909:SkDevice::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +6910:SkDevice::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +6911:SkDevice::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +6912:SkDescriptor::addEntry\28unsigned\20int\2c\20unsigned\20long\2c\20void\20const*\29 +6913:SkDeque::push_back\28\29 +6914:SkDeque::allocateBlock\28int\29 +6915:SkDeque::Iter::Iter\28SkDeque\20const&\2c\20SkDeque::Iter::IterStart\29 +6916:SkDashPathEffect::Make\28float\20const*\2c\20int\2c\20float\29 +6917:SkDashPath::InternalFilter\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20float\20const*\2c\20int\2c\20float\2c\20int\2c\20float\2c\20float\2c\20SkDashPath::StrokeRecApplication\29 +6918:SkDashPath::CalcDashParameters\28float\2c\20float\20const*\2c\20int\2c\20float*\2c\20int*\2c\20float*\2c\20float*\29 +6919:SkDashImpl::~SkDashImpl\28\29 +6920:SkDRect::setBounds\28SkDQuad\20const&\2c\20SkDQuad\20const&\2c\20double\2c\20double\29 +6921:SkDRect::setBounds\28SkDCubic\20const&\2c\20SkDCubic\20const&\2c\20double\2c\20double\29 +6922:SkDRect::setBounds\28SkDConic\20const&\2c\20SkDConic\20const&\2c\20double\2c\20double\29 +6923:SkDQuad::subDivide\28double\2c\20double\29\20const +6924:SkDQuad::otherPts\28int\2c\20SkDPoint\20const**\29\20const +6925:SkDQuad::isLinear\28int\2c\20int\29\20const +6926:SkDQuad::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +6927:SkDQuad::AddValidTs\28double*\2c\20int\2c\20double*\29 +6928:SkDPoint::roughlyEqual\28SkDPoint\20const&\29\20const +6929:SkDPoint::approximatelyDEqual\28SkDPoint\20const&\29\20const +6930:SkDCurveSweep::setCurveHullSweep\28SkPath::Verb\29 +6931:SkDCubic::monotonicInY\28\29\20const +6932:SkDCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +6933:SkDCubic::hullIntersects\28SkDPoint\20const*\2c\20int\2c\20bool*\29\20const +6934:SkDCubic::Coefficients\28double\20const*\2c\20double*\2c\20double*\2c\20double*\2c\20double*\29 +6935:SkDConic::subDivide\28double\2c\20double\29\20const +6936:SkCubics::RootsReal\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +6937:SkCubicEdge::setCubicWithoutUpdate\28SkPoint\20const*\2c\20int\2c\20bool\29 +6938:SkCubicClipper::ChopMonoAtY\28SkPoint\20const*\2c\20float\2c\20float*\29 +6939:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20SkArenaAlloc*\2c\20sk_sp\29 +6940:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkArenaAlloc*\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +6941:SkContourMeasure_segTo\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20float\2c\20SkPath*\29 +6942:SkContourMeasureIter::SkContourMeasureIter\28SkPath\20const&\2c\20bool\2c\20float\29 +6943:SkContourMeasureIter::Impl::compute_line_seg\28SkPoint\2c\20SkPoint\2c\20float\2c\20unsigned\20int\29 +6944:SkContourMeasure::~SkContourMeasure\28\29 +6945:SkContourMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29\20const +6946:SkConicalGradient::getCenterX1\28\29\20const +6947:SkConic::evalTangentAt\28float\29\20const +6948:SkConic::chop\28SkConic*\29\20const +6949:SkConic::chopIntoQuadsPOW2\28SkPoint*\2c\20int\29\20const +6950:SkConic::BuildUnitArc\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRotationDirection\2c\20SkMatrix\20const*\2c\20SkConic*\29 +6951:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29 +6952:SkColorSpaceSingletonFactory::Make\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +6953:SkColorSpaceLuminance::Fetch\28float\29 +6954:SkColorSpace::makeLinearGamma\28\29\20const +6955:SkColorSpace::computeLazyDstFields\28\29\20const +6956:SkColorSpace::SkColorSpace\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +6957:SkColorFilters::Compose\28sk_sp\20const&\2c\20sk_sp\29 +6958:SkColorFilters::Blend\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\2c\20SkBlendMode\29 +6959:SkColorFilterShader::~SkColorFilterShader\28\29 +6960:SkColorFilterShader::flatten\28SkWriteBuffer&\29\20const +6961:SkColor4fXformer::~SkColor4fXformer\28\29 +6962:SkColor4fXformer::SkColor4fXformer\28SkGradientBaseShader\20const*\2c\20SkColorSpace*\2c\20bool\29 +6963:SkColor4Shader::~SkColor4Shader\28\29 +6964:SkCoincidentSpans::contains\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\29\20const +6965:SkChopQuadAtMaxCurvature\28SkPoint\20const*\2c\20SkPoint*\29 +6966:SkChopQuadAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +6967:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\2c\20float\29 +6968:SkChopCubicAtInflections\28SkPoint\20const*\2c\20SkPoint*\29 +6969:SkCharToGlyphCache::reset\28\29 +6970:SkCharToGlyphCache::findGlyphIndex\28int\29\20const +6971:SkCanvasVirtualEnforcer::SkCanvasVirtualEnforcer\28SkIRect\20const&\29 +6972:SkCanvasPriv::WriteLattice\28void*\2c\20SkCanvas::Lattice\20const&\29 +6973:SkCanvasPriv::GetDstClipAndMatrixCounts\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20int*\2c\20int*\29 +6974:SkCanvas::setMatrix\28SkM44\20const&\29 +6975:SkCanvas::internalSaveLayer\28SkCanvas::SaveLayerRec\20const&\2c\20SkCanvas::SaveLayerStrategy\2c\20bool\29 +6976:SkCanvas::internalDrawPaint\28SkPaint\20const&\29 +6977:SkCanvas::getDeviceClipBounds\28\29\20const +6978:SkCanvas::experimental_DrawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +6979:SkCanvas::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +6980:SkCanvas::drawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +6981:SkCanvas::drawPicture\28sk_sp\20const&\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +6982:SkCanvas::drawPicture\28SkPicture\20const*\29 +6983:SkCanvas::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +6984:SkCanvas::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +6985:SkCanvas::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +6986:SkCanvas::drawColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +6987:SkCanvas::drawAtlas\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +6988:SkCanvas::drawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +6989:SkCanvas::didTranslate\28float\2c\20float\29 +6990:SkCanvas::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +6991:SkCanvas::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +6992:SkCanvas::SkCanvas\28sk_sp\29 +6993:SkCanvas::SkCanvas\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +6994:SkCanvas::SkCanvas\28SkBitmap\20const&\29 +6995:SkCachedData::setData\28void*\29 +6996:SkCachedData::internalUnref\28bool\29\20const +6997:SkCachedData::internalRef\28bool\29\20const +6998:SkCachedData::SkCachedData\28void*\2c\20unsigned\20long\29 +6999:SkCachedData::SkCachedData\28unsigned\20long\2c\20SkDiscardableMemory*\29 +7000:SkCTMShader::isOpaque\28\29\20const +7001:SkBulkGlyphMetricsAndPaths::glyphs\28SkSpan\29 +7002:SkBreakIterator_client::~SkBreakIterator_client\28\29 +7003:SkBlurMaskFilterImpl::filterRectMask\28SkMaskBuilder*\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\2c\20SkMaskBuilder::CreateMode\29\20const +7004:SkBlurMask::ComputeBlurredScanline\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20unsigned\20int\2c\20float\29 +7005:SkBlockAllocator::addBlock\28int\2c\20int\29 +7006:SkBlockAllocator::BlockIter::Item::advance\28SkBlockAllocator::Block*\29 +7007:SkBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +7008:SkBlitter::blitRectRegion\28SkIRect\20const&\2c\20SkRegion\20const&\29 +7009:SkBlitter::Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +7010:SkBlitter::ChooseSprite\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkArenaAlloc*\2c\20sk_sp\29 +7011:SkBlenderBase::affectsTransparentBlack\28\29\20const +7012:SkBlendShader::~SkBlendShader\28\29.1 +7013:SkBitmapDevice::~SkBitmapDevice\28\29 +7014:SkBitmapDevice::Create\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\2c\20SkRasterHandleAllocator*\29 +7015:SkBitmapCache::Rec::~Rec\28\29 +7016:SkBitmapCache::Rec::install\28SkBitmap*\29 +7017:SkBitmapCache::Rec::diagnostic_only_getDiscardable\28\29\20const +7018:SkBitmapCache::Find\28SkBitmapCacheDesc\20const&\2c\20SkBitmap*\29 +7019:SkBitmapCache::Alloc\28SkBitmapCacheDesc\20const&\2c\20SkImageInfo\20const&\2c\20SkPixmap*\29 +7020:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +7021:SkBitmap::readPixels\28SkPixmap\20const&\29\20const +7022:SkBitmap::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +7023:SkBitmap::getAddr\28int\2c\20int\29\20const +7024:SkBitmap::allocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +7025:SkBitmap::allocPixels\28SkImageInfo\20const&\29 +7026:SkBinaryWriteBuffer::writeFlattenable\28SkFlattenable\20const*\29 +7027:SkBinaryWriteBuffer::writeColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +7028:SkBigPicture::~SkBigPicture\28\29 +7029:SkBigPicture::SnapshotArray::~SnapshotArray\28\29 +7030:SkBigPicture::SkBigPicture\28SkRect\20const&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20sk_sp\2c\20unsigned\20long\29 +7031:SkBidiFactory::MakeIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29\20const +7032:SkBezierCubic::Subdivide\28double\20const*\2c\20double\2c\20double*\29 +7033:SkBasicEdgeBuilder::~SkBasicEdgeBuilder\28\29 +7034:SkBasicEdgeBuilder::combineVertical\28SkEdge\20const*\2c\20SkEdge*\29 +7035:SkBaseShadowTessellator::releaseVertices\28\29 +7036:SkBaseShadowTessellator::handleQuad\28SkPoint\20const*\29 +7037:SkBaseShadowTessellator::handleQuad\28SkMatrix\20const&\2c\20SkPoint*\29 +7038:SkBaseShadowTessellator::handleLine\28SkMatrix\20const&\2c\20SkPoint*\29 +7039:SkBaseShadowTessellator::handleCubic\28SkMatrix\20const&\2c\20SkPoint*\29 +7040:SkBaseShadowTessellator::handleConic\28SkMatrix\20const&\2c\20SkPoint*\2c\20float\29 +7041:SkBaseShadowTessellator::finishPathPolygon\28\29 +7042:SkBaseShadowTessellator::computeConvexShadow\28float\2c\20float\2c\20bool\29 +7043:SkBaseShadowTessellator::computeConcaveShadow\28float\2c\20float\29 +7044:SkBaseShadowTessellator::clipUmbraPoint\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\29 +7045:SkBaseShadowTessellator::checkConvexity\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +7046:SkBaseShadowTessellator::appendQuad\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +7047:SkBaseShadowTessellator::addInnerPoint\28SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20int*\29 +7048:SkBaseShadowTessellator::addEdge\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20bool\2c\20bool\29 +7049:SkBaseShadowTessellator::addArc\28SkPoint\20const&\2c\20float\2c\20bool\29 +7050:SkBaseShadowTessellator::accumulateCentroid\28SkPoint\20const&\2c\20SkPoint\20const&\29 +7051:SkAutoSMalloc<1024ul>::reset\28unsigned\20long\2c\20SkAutoMalloc::OnShrink\2c\20bool*\29 +7052:SkAutoPixmapStorage::reset\28SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +7053:SkAutoMalloc::SkAutoMalloc\28unsigned\20long\29 +7054:SkAutoDescriptor::reset\28unsigned\20long\29 +7055:SkAutoDescriptor::reset\28SkDescriptor\20const&\29 +7056:SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint\28\29 +7057:SkAutoCanvasMatrixPaint::SkAutoCanvasMatrixPaint\28SkCanvas*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\2c\20SkRect\20const&\29 +7058:SkAutoBlitterChoose::choose\28SkDrawBase\20const&\2c\20SkMatrix\20const*\2c\20SkPaint\20const&\2c\20bool\29 +7059:SkArenaAlloc::ensureSpace\28unsigned\20int\2c\20unsigned\20int\29 +7060:SkAnySubclass::reset\28\29 +7061:SkAnalyticEdgeBuilder::combineVertical\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge*\29 +7062:SkAnalyticEdge::update\28int\2c\20bool\29 +7063:SkAnalyticEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +7064:SkAnalyticEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\29 +7065:SkAlphaRuns::BreakAt\28short*\2c\20unsigned\20char*\2c\20int\29 +7066:SkAAClip::operator=\28SkAAClip\20const&\29 +7067:SkAAClip::op\28SkIRect\20const&\2c\20SkClipOp\29 +7068:SkAAClip::isRect\28\29\20const +7069:SkAAClip::RunHead::Iterate\28SkAAClip\20const&\29 +7070:SkAAClip::Builder::~Builder\28\29 +7071:SkAAClip::Builder::flushRow\28bool\29 +7072:SkAAClip::Builder::finish\28SkAAClip*\29 +7073:SkAAClip::Builder::Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +7074:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29 +7075:SkA8_Coverage_Blitter*\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29 +7076:SkA8_Blitter::~SkA8_Blitter\28\29 +7077:Simplify\28SkPath\20const&\2c\20SkPath*\29 +7078:SharedGenerator::Make\28std::__2::unique_ptr>\29 +7079:SetSuperRound +7080:RuntimeEffectRPCallbacks::applyColorSpaceXform\28SkColorSpaceXformSteps\20const&\2c\20void\20const*\29 +7081:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29.1 +7082:RunBasedAdditiveBlitter::advanceRuns\28\29 +7083:RunBasedAdditiveBlitter::RunBasedAdditiveBlitter\28SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +7084:RgnOper::addSpan\28int\2c\20int\20const*\2c\20int\20const*\29 +7085:ReflexHash::hash\28TriangulationVertex*\29\20const +7086:PorterDuffXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +7087:PathSegment::init\28\29 +7088:PS_Conv_Strtol +7089:PS_Conv_ASCIIHexDecode +7090:PDLCDXferProcessor::Make\28SkBlendMode\2c\20GrProcessorAnalysisColor\20const&\29 +7091:OpAsWinding::markReverse\28Contour*\2c\20Contour*\29 +7092:OpAsWinding::getDirection\28Contour&\29 +7093:OpAsWinding::checkContainerChildren\28Contour*\2c\20Contour*\29 +7094:OffsetEdge::computeCrossingDistance\28OffsetEdge\20const*\29 +7095:OT::sbix::sanitize\28hb_sanitize_context_t*\29\20const +7096:OT::sbix::accelerator_t::reference_png\28hb_font_t*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20unsigned\20int*\29\20const +7097:OT::sbix::accelerator_t::has_data\28\29\20const +7098:OT::sbix::accelerator_t::get_png_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +7099:OT::post::sanitize\28hb_sanitize_context_t*\29\20const +7100:OT::maxp::sanitize\28hb_sanitize_context_t*\29\20const +7101:OT::kern::sanitize\28hb_sanitize_context_t*\29\20const +7102:OT::hmtxvmtx::accelerator_t::get_advance_with_var_unscaled\28unsigned\20int\2c\20hb_font_t*\2c\20float*\29\20const +7103:OT::head::sanitize\28hb_sanitize_context_t*\29\20const +7104:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GSUB_impl::SubstLookup\20const&\29 +7105:OT::hb_ot_apply_context_t::skipping_iterator_t::may_skip\28hb_glyph_info_t\20const&\29\20const +7106:OT::hb_ot_apply_context_t::skipping_iterator_t::init\28OT::hb_ot_apply_context_t*\2c\20bool\29 +7107:OT::hb_ot_apply_context_t::matcher_t::may_skip\28OT::hb_ot_apply_context_t\20const*\2c\20hb_glyph_info_t\20const&\29\20const +7108:OT::hb_kern_machine_t::kern\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20bool\29\20const +7109:OT::hb_accelerate_subtables_context_t::return_t\20OT::Context::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +7110:OT::hb_accelerate_subtables_context_t::return_t\20OT::ChainContext::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +7111:OT::gvar::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7112:OT::gvar::get_offset\28unsigned\20int\2c\20unsigned\20int\29\20const +7113:OT::gvar::accelerator_t::infer_delta\28hb_array_t\2c\20hb_array_t\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\20contour_point_t::*\29 +7114:OT::glyf_impl::composite_iter_tmpl::set_current\28OT::glyf_impl::CompositeGlyphRecord\20const*\29 +7115:OT::glyf_impl::composite_iter_tmpl::__next__\28\29 +7116:OT::glyf_impl::SimpleGlyph::read_points\28OT::IntType\20const*&\2c\20hb_array_t\2c\20OT::IntType\20const*\2c\20float\20contour_point_t::*\2c\20OT::glyf_impl::SimpleGlyph::simple_glyph_flag_t\2c\20OT::glyf_impl::SimpleGlyph::simple_glyph_flag_t\29 +7117:OT::glyf_impl::Glyph::get_composite_iterator\28\29\20const +7118:OT::glyf_impl::CompositeGlyphRecord::transform\28float\20const\20\28&\29\20\5b4\5d\2c\20hb_array_t\29 +7119:OT::glyf_impl::CompositeGlyphRecord::get_transformation\28float\20\28&\29\20\5b4\5d\2c\20contour_point_t&\29\20const +7120:OT::glyf_accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\29\20const +7121:OT::fvar::sanitize\28hb_sanitize_context_t*\29\20const +7122:OT::cmap::sanitize\28hb_sanitize_context_t*\29\20const +7123:OT::cmap::accelerator_t::get_nominal_glyph\28unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +7124:OT::cmap::accelerator_t::_cached_get\28unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +7125:OT::cff2::sanitize\28hb_sanitize_context_t*\29\20const +7126:OT::cff2::accelerator_templ_t>::_fini\28\29 +7127:OT::cff1::sanitize\28hb_sanitize_context_t*\29\20const +7128:OT::cff1::accelerator_templ_t>::glyph_to_sid\28unsigned\20int\2c\20CFF::code_pair_t*\29\20const +7129:OT::cff1::accelerator_templ_t>::_fini\28\29 +7130:OT::cff1::accelerator_t::gname_t::cmp\28void\20const*\2c\20void\20const*\29 +7131:OT::avar::sanitize\28hb_sanitize_context_t*\29\20const +7132:OT::VariationDevice::get_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +7133:OT::VarData::get_row_size\28\29\20const +7134:OT::VVAR::sanitize\28hb_sanitize_context_t*\29\20const +7135:OT::VORG::sanitize\28hb_sanitize_context_t*\29\20const +7136:OT::UnsizedArrayOf\2c\2014u>>\20const&\20OT::operator+\2c\20\28void*\290>\28hb_blob_ptr_t\20const&\2c\20OT::OffsetTo\2c\2014u>>\2c\20OT::IntType\2c\20false>\20const&\29 +7137:OT::TupleVariationHeader::get_size\28unsigned\20int\29\20const +7138:OT::TupleVariationData::unpack_points\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +7139:OT::TupleVariationData::unpack_deltas\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +7140:OT::TupleVariationData::tuple_iterator_t::is_valid\28\29\20const +7141:OT::SortedArrayOf\2c\20OT::IntType>::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\29 +7142:OT::SVG::sanitize\28hb_sanitize_context_t*\29\20const +7143:OT::RuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +7144:OT::RuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +7145:OT::ResourceMap::get_type_record\28unsigned\20int\29\20const +7146:OT::ResourceMap::get_type_count\28\29\20const +7147:OT::RecordArrayOf::find_index\28unsigned\20int\2c\20unsigned\20int*\29\20const +7148:OT::PaintTranslate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7149:OT::PaintSolid::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7150:OT::PaintSkewAroundCenter::sanitize\28hb_sanitize_context_t*\29\20const +7151:OT::PaintSkewAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7152:OT::PaintSkew::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7153:OT::PaintScaleUniformAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7154:OT::PaintScaleUniform::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7155:OT::PaintScaleAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7156:OT::PaintScale::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7157:OT::PaintRotateAroundCenter::sanitize\28hb_sanitize_context_t*\29\20const +7158:OT::PaintRotateAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7159:OT::PaintRotate::sanitize\28hb_sanitize_context_t*\29\20const +7160:OT::PaintRotate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7161:OT::OpenTypeFontFile::sanitize\28hb_sanitize_context_t*\29\20const +7162:OT::OffsetTo\2c\20true>::neuter\28hb_sanitize_context_t*\29\20const +7163:OT::OS2::sanitize\28hb_sanitize_context_t*\29\20const +7164:OT::MVAR::sanitize\28hb_sanitize_context_t*\29\20const +7165:OT::Lookup::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +7166:OT::Lookup*\20hb_serialize_context_t::extend_size\28OT::Lookup*\2c\20unsigned\20long\2c\20bool\29 +7167:OT::Layout::propagate_attachment_offsets\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +7168:OT::Layout::GPOS_impl::reverse_cursive_minor_offset\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +7169:OT::Layout::GPOS_impl::ValueFormat::sanitize_value_devices\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\29\20const +7170:OT::Layout::Common::RangeRecord\20const&\20OT::SortedArrayOf\2c\20OT::IntType>::bsearch\28unsigned\20int\20const&\2c\20OT::Layout::Common::RangeRecord\20const&\29\20const +7171:OT::Layout::Common::CoverageFormat2_4*\20hb_serialize_context_t::extend_min>\28OT::Layout::Common::CoverageFormat2_4*\29 +7172:OT::Layout::Common::Coverage::sanitize\28hb_sanitize_context_t*\29\20const +7173:OT::Layout::Common::Coverage::get_population\28\29\20const +7174:OT::LangSys::sanitize\28hb_sanitize_context_t*\2c\20OT::Record_sanitize_closure_t\20const*\29\20const +7175:OT::IndexSubtableRecord::get_image_data\28unsigned\20int\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +7176:OT::IndexArray::get_indexes\28unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +7177:OT::HintingDevice::get_delta\28unsigned\20int\2c\20int\29\20const +7178:OT::HVARVVAR::get_advance_delta_unscaled\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +7179:OT::GSUBGPOS::get_script_list\28\29\20const +7180:OT::GSUBGPOS::get_feature_variations\28\29\20const +7181:OT::GSUBGPOS::accelerator_t::get_accel\28unsigned\20int\29\20const +7182:OT::GDEF::sanitize\28hb_sanitize_context_t*\29\20const +7183:OT::GDEF::get_mark_glyph_sets\28\29\20const +7184:OT::GDEF::accelerator_t::get_glyph_props\28unsigned\20int\29\20const +7185:OT::Feature::sanitize\28hb_sanitize_context_t*\2c\20OT::Record_sanitize_closure_t\20const*\29\20const +7186:OT::ContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +7187:OT::ColorStop::get_color_stop\28OT::hb_paint_context_t*\2c\20hb_color_stop_t*\2c\20unsigned\20int\2c\20OT::VarStoreInstancer\20const&\29\20const +7188:OT::ColorLine::static_get_extend\28hb_color_line_t*\2c\20void*\2c\20void*\29 +7189:OT::CmapSubtableLongSegmented::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +7190:OT::CmapSubtableLongGroup\20const&\20OT::SortedArrayOf>::bsearch\28unsigned\20int\20const&\2c\20OT::CmapSubtableLongGroup\20const&\29\20const +7191:OT::CmapSubtableFormat4::accelerator_t::init\28OT::CmapSubtableFormat4\20const*\29 +7192:OT::CmapSubtableFormat4::accelerator_t::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +7193:OT::ClipBoxFormat1::get_clip_box\28OT::ClipBoxData&\2c\20OT::VarStoreInstancer\20const&\29\20const +7194:OT::ClassDef::cost\28\29\20const +7195:OT::ChainRuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +7196:OT::ChainRuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +7197:OT::ChainContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +7198:OT::CPAL::sanitize\28hb_sanitize_context_t*\29\20const +7199:OT::COLR::sanitize\28hb_sanitize_context_t*\29\20const +7200:OT::COLR::get_base_glyph_paint\28unsigned\20int\29\20const +7201:OT::CBLC::sanitize\28hb_sanitize_context_t*\29\20const +7202:OT::CBLC::choose_strike\28hb_font_t*\29\20const +7203:OT::CBDT::sanitize\28hb_sanitize_context_t*\29\20const +7204:OT::CBDT::accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +7205:OT::BitmapSizeTable::find_table\28unsigned\20int\2c\20void\20const*\2c\20void\20const**\29\20const +7206:OT::ArrayOf>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7207:OT::ArrayOf\2c\20OT::IntType>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7208:OT::ArrayOf>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7209:OT::ArrayOf>>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7210:OT::Affine2x3::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7211:MaskValue*\20SkTLazy::init\28MaskValue\20const&\29 +7212:MakeRasterCopyPriv\28SkPixmap\20const&\2c\20unsigned\20int\29 +7213:Load_SBit_Png +7214:LineQuadraticIntersections::verticalIntersect\28double\2c\20double*\29 +7215:LineQuadraticIntersections::intersectRay\28double*\29 +7216:LineQuadraticIntersections::horizontalIntersect\28double\2c\20double*\29 +7217:LineCubicIntersections::intersectRay\28double*\29 +7218:LineCubicIntersections::VerticalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +7219:LineCubicIntersections::HorizontalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +7220:LineConicIntersections::verticalIntersect\28double\2c\20double*\29 +7221:LineConicIntersections::intersectRay\28double*\29 +7222:LineConicIntersections::horizontalIntersect\28double\2c\20double*\29 +7223:Ins_UNKNOWN +7224:Ins_SxVTL +7225:HandleCoincidence\28SkOpContourHead*\2c\20SkOpCoincidence*\29 +7226:GrWritePixelsTask::~GrWritePixelsTask\28\29 +7227:GrWindowRectsState::operator=\28GrWindowRectsState\20const&\29 +7228:GrWindowRectsState::operator==\28GrWindowRectsState\20const&\29\20const +7229:GrWindowRectangles::GrWindowRectangles\28GrWindowRectangles\20const&\29 +7230:GrWaitRenderTask::~GrWaitRenderTask\28\29 +7231:GrVertexBufferAllocPool::makeSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +7232:GrVertexBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +7233:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20SkPathFillType\2c\20skgpu::VertexWriter\29\20const +7234:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20GrEagerVertexAllocator*\29\20const +7235:GrTriangulator::mergeEdgesBelow\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +7236:GrTriangulator::mergeEdgesAbove\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +7237:GrTriangulator::makeSortedVertex\28SkPoint\20const&\2c\20unsigned\20char\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29\20const +7238:GrTriangulator::makeEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\29 +7239:GrTriangulator::computeBisector\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\29\20const +7240:GrTriangulator::appendQuadraticToContour\28SkPoint\20const*\2c\20float\2c\20GrTriangulator::VertexList*\29\20const +7241:GrTriangulator::allocateMonotonePoly\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20int\29 +7242:GrTriangulator::Edge::recompute\28\29 +7243:GrTriangulator::Edge::intersect\28GrTriangulator::Edge\20const&\2c\20SkPoint*\2c\20unsigned\20char*\29\20const +7244:GrTriangulator::CountPoints\28GrTriangulator::Poly*\2c\20SkPathFillType\29 +7245:GrTriangulator::BreadcrumbTriangleList::concat\28GrTriangulator::BreadcrumbTriangleList&&\29 +7246:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29 +7247:GrThreadSafeCache::makeNewEntryMRU\28GrThreadSafeCache::Entry*\29 +7248:GrThreadSafeCache::makeExistingEntryMRU\28GrThreadSafeCache::Entry*\29 +7249:GrThreadSafeCache::findVertsWithData\28skgpu::UniqueKey\20const&\29 +7250:GrThreadSafeCache::addVertsWithData\28skgpu::UniqueKey\20const&\2c\20sk_sp\2c\20bool\20\28*\29\28SkData*\2c\20SkData*\29\29 +7251:GrThreadSafeCache::Trampoline::~Trampoline\28\29 +7252:GrThreadSafeCache::Entry::set\28skgpu::UniqueKey\20const&\2c\20sk_sp\29 +7253:GrThreadSafeCache::Entry::makeEmpty\28\29 +7254:GrThreadSafeCache::CreateLazyView\28GrDirectContext*\2c\20GrColorType\2c\20SkISize\2c\20GrSurfaceOrigin\2c\20SkBackingFit\29 +7255:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29 +7256:GrTextureRenderTargetProxy::initSurfaceFlags\28GrCaps\20const&\29 +7257:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +7258:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28GrCaps\20const&\2c\20std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\2c\20std::__2::basic_string_view>\29 +7259:GrTextureProxy::~GrTextureProxy\28\29.2 +7260:GrTextureProxy::~GrTextureProxy\28\29.1 +7261:GrTextureProxy::setUniqueKey\28GrProxyProvider*\2c\20skgpu::UniqueKey\20const&\29 +7262:GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +7263:GrTextureProxy::instantiate\28GrResourceProvider*\29 +7264:GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +7265:GrTextureProxy::callbackDesc\28\29\20const +7266:GrTextureProxy::ProxiesAreCompatibleAsDynamicState\28GrSurfaceProxy\20const*\2c\20GrSurfaceProxy\20const*\29 +7267:GrTextureProxy::GrTextureProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +7268:GrTextureEffect::~GrTextureEffect\28\29 +7269:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_1::operator\28\29\28int\2c\20GrSamplerState::WrapMode\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20float\29\20const +7270:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29::$_0::operator\28\29\28float*\2c\20GrResourceHandle\29\20const +7271:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_2::operator\28\29\28GrTextureEffect::ShaderMode\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +7272:GrTexture::onGpuMemorySize\28\29\20const +7273:GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +7274:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29 +7275:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29 +7276:GrSurfaceProxyView::operator=\28GrSurfaceProxyView\20const&\29 +7277:GrSurfaceProxyView::operator==\28GrSurfaceProxyView\20const&\29\20const +7278:GrSurfaceProxyPriv::exactify\28\29 +7279:GrSurfaceProxyPriv::assign\28sk_sp\29 +7280:GrSurfaceProxy::GrSurfaceProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +7281:GrSurfaceProxy::GrSurfaceProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +7282:GrSurface::onRelease\28\29 +7283:GrStyledShape::setInheritedKey\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +7284:GrStyledShape::asRRect\28SkRRect*\2c\20bool*\29\20const +7285:GrStyledShape::asLine\28SkPoint*\2c\20bool*\29\20const +7286:GrStyledShape::GrStyledShape\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20bool\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +7287:GrStyledShape::GrStyledShape\28SkRRect\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +7288:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20SkPaint\20const&\2c\20GrStyledShape::DoSimplify\29 +7289:GrStyle::resetToInitStyle\28SkStrokeRec::InitStyle\29 +7290:GrStyle::applyToPath\28SkPath*\2c\20SkStrokeRec::InitStyle*\2c\20SkPath\20const&\2c\20float\29\20const +7291:GrStyle::applyPathEffect\28SkPath*\2c\20SkStrokeRec*\2c\20SkPath\20const&\29\20const +7292:GrStyle::MatrixToScaleFactor\28SkMatrix\20const&\29 +7293:GrStyle::DashInfo::operator=\28GrStyle::DashInfo\20const&\29 +7294:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29 +7295:GrStrokeTessellationShader::Impl::~Impl\28\29 +7296:GrStagingBufferManager::detachBuffers\28\29 +7297:GrSkSLFP::~GrSkSLFP\28\29 +7298:GrSkSLFP::Impl::~Impl\28\29 +7299:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineStruct\28char\20const*\29 +7300:GrSimpleMesh::~GrSimpleMesh\28\29 +7301:GrShape::simplify\28unsigned\20int\29 +7302:GrShape::setArc\28SkArc\20const&\29 +7303:GrShape::conservativeContains\28SkRect\20const&\29\20const +7304:GrShape::closed\28\29\20const +7305:GrShape::GrShape\28SkRect\20const&\29 +7306:GrShape::GrShape\28SkRRect\20const&\29 +7307:GrShape::GrShape\28SkPath\20const&\29 +7308:GrShaderVar::GrShaderVar\28SkString\2c\20SkSLType\2c\20GrShaderVar::TypeModifier\2c\20int\2c\20SkString\2c\20SkString\29 +7309:GrScissorState::operator==\28GrScissorState\20const&\29\20const +7310:GrScissorState::intersect\28SkIRect\20const&\29 +7311:GrSWMaskHelper::toTextureView\28GrRecordingContext*\2c\20SkBackingFit\29 +7312:GrSWMaskHelper::drawShape\28GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +7313:GrSWMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +7314:GrResourceProvider::writePixels\28sk_sp\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\29\20const +7315:GrResourceProvider::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +7316:GrResourceProvider::prepareLevels\28GrBackendFormat\20const&\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\2c\20skia_private::AutoSTArray<14\2c\20GrMipLevel>*\2c\20skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>*\29\20const +7317:GrResourceProvider::getExactScratch\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7318:GrResourceProvider::findAndRefScratchTexture\28skgpu::ScratchKey\20const&\2c\20std::__2::basic_string_view>\29 +7319:GrResourceProvider::findAndRefScratchTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7320:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7321:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20GrColorType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMipLevel\20const*\2c\20std::__2::basic_string_view>\29 +7322:GrResourceProvider::createBuffer\28void\20const*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +7323:GrResourceProvider::createApproxTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7324:GrResourceCache::removeResource\28GrGpuResource*\29 +7325:GrResourceCache::removeFromNonpurgeableArray\28GrGpuResource*\29 +7326:GrResourceCache::releaseAll\28\29 +7327:GrResourceCache::refAndMakeResourceMRU\28GrGpuResource*\29 +7328:GrResourceCache::processFreedGpuResources\28\29 +7329:GrResourceCache::insertResource\28GrGpuResource*\29 +7330:GrResourceCache::findAndRefUniqueResource\28skgpu::UniqueKey\20const&\29 +7331:GrResourceCache::didChangeBudgetStatus\28GrGpuResource*\29 +7332:GrResourceCache::addToNonpurgeableArray\28GrGpuResource*\29 +7333:GrResourceAllocator::~GrResourceAllocator\28\29 +7334:GrResourceAllocator::planAssignment\28\29 +7335:GrResourceAllocator::expire\28unsigned\20int\29 +7336:GrResourceAllocator::Register*\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29 +7337:GrResourceAllocator::IntervalList::popHead\28\29 +7338:GrResourceAllocator::IntervalList::insertByIncreasingStart\28GrResourceAllocator::Interval*\29 +7339:GrRenderTask::makeSkippable\28\29 +7340:GrRenderTask::isUsed\28GrSurfaceProxy*\29\20const +7341:GrRenderTask::isInstantiated\28\29\20const +7342:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.2 +7343:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +7344:GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +7345:GrRenderTargetProxy::isMSAADirty\28\29\20const +7346:GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +7347:GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +7348:GrRenderTargetProxy::callbackDesc\28\29\20const +7349:GrRenderTarget::GrRenderTarget\28GrGpu*\2c\20SkISize\20const&\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20sk_sp\29 +7350:GrRecordingContext::init\28\29 +7351:GrRecordingContext::destroyDrawingManager\28\29 +7352:GrRecordingContext::colorTypeSupportedAsSurface\28SkColorType\29\20const +7353:GrRecordingContext::abandoned\28\29 +7354:GrRecordingContext::abandonContext\28\29 +7355:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29 +7356:GrRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\2c\20GrShaderCaps\20const&\29 +7357:GrQuadUtils::TessellationHelper::outset\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad*\2c\20GrQuad*\29 +7358:GrQuadUtils::TessellationHelper::getOutsetRequest\28skvx::Vec<4\2c\20float>\20const&\29 +7359:GrQuadUtils::TessellationHelper::adjustVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +7360:GrQuadUtils::TessellationHelper::adjustDegenerateVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +7361:GrQuadUtils::TessellationHelper::Vertices::moveTo\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +7362:GrQuadUtils::ClipToW0\28DrawQuad*\2c\20DrawQuad*\29 +7363:GrQuadBuffer<\28anonymous\20namespace\29::TextureOpImpl::ColorSubsetAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl::ColorSubsetAndAA&&\2c\20GrQuad\20const*\29 +7364:GrQuadBuffer<\28anonymous\20namespace\29::TextureOpImpl::ColorSubsetAndAA>::GrQuadBuffer\28int\2c\20bool\29 +7365:GrQuad::point\28int\29\20const +7366:GrQuad::bounds\28\29\20const::'lambda0'\28float\20const*\29::operator\28\29\28float\20const*\29\20const +7367:GrQuad::bounds\28\29\20const::'lambda'\28float\20const*\29::operator\28\29\28float\20const*\29\20const +7368:GrProxyProvider::removeUniqueKeyFromProxy\28GrTextureProxy*\29 +7369:GrProxyProvider::processInvalidUniqueKeyImpl\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\2c\20GrProxyProvider::RemoveTableEntry\29 +7370:GrProxyProvider::createLazyProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20GrInternalSurfaceFlags\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +7371:GrProxyProvider::adoptUniqueKeyFromSurface\28GrTextureProxy*\2c\20GrSurface\20const*\29 +7372:GrProcessorSet::operator==\28GrProcessorSet\20const&\29\20const +7373:GrPorterDuffXPFactory::Get\28SkBlendMode\29 +7374:GrPixmap::GrPixmap\28SkPixmap\20const&\29 +7375:GrPipeline::peekDstTexture\28\29\20const +7376:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20sk_sp\2c\20GrAppliedHardClip\20const&\29 +7377:GrPersistentCacheUtils::ShaderMetadata::~ShaderMetadata\28\29 +7378:GrPersistentCacheUtils::GetType\28SkReadBuffer*\29 +7379:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29 +7380:GrPathUtils::QuadUVMatrix::set\28SkPoint\20const*\29 +7381:GrPathUtils::QuadUVMatrix::apply\28void*\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +7382:GrPathTessellationShader::MakeStencilOnlyPipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedHardClip\20const&\2c\20GrPipeline::InputFlags\29 +7383:GrPathTessellationShader::Impl::~Impl\28\29 +7384:GrOpsRenderPass::~GrOpsRenderPass\28\29 +7385:GrOpsRenderPass::resetActiveBuffers\28\29 +7386:GrOpsRenderPass::draw\28int\2c\20int\29 +7387:GrOpsRenderPass::drawIndexPattern\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +7388:GrOpFlushState::~GrOpFlushState\28\29.1 +7389:GrOpFlushState::smallPathAtlasManager\28\29\20const +7390:GrOpFlushState::reset\28\29 +7391:GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +7392:GrOpFlushState::putBackIndices\28int\29 +7393:GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp\28GrOp\20const*\2c\20SkRect\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +7394:GrOpFlushState::drawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +7395:GrOpFlushState::doUpload\28std::__2::function&\29>&\2c\20bool\29 +7396:GrOpFlushState::addASAPUpload\28std::__2::function&\29>&&\29 +7397:GrOpFlushState::OpArgs::OpArgs\28GrOp*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7398:GrOp::setTransformedBounds\28SkRect\20const&\2c\20SkMatrix\20const&\2c\20GrOp::HasAABloat\2c\20GrOp::IsHairline\29 +7399:GrOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7400:GrOp::combineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7401:GrNonAtomicRef::unref\28\29\20const +7402:GrNonAtomicRef::unref\28\29\20const +7403:GrNonAtomicRef::unref\28\29\20const +7404:GrNativeRect::operator!=\28GrNativeRect\20const&\29\20const +7405:GrMeshDrawTarget::allocPrimProcProxyPtrs\28int\29 +7406:GrMeshDrawOp::PatternHelper::init\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +7407:GrMemoryPool::allocate\28unsigned\20long\29 +7408:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +7409:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::changed\28\29 +7410:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrTextureProxy*\29\20const +7411:GrIndexBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20int*\29 +7412:GrIndexBufferAllocPool::makeSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +7413:GrImageInfo::operator=\28GrImageInfo&&\29 +7414:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20int\2c\20int\29 +7415:GrImageContext::abandonContext\28\29 +7416:GrHashMapWithCache::find\28unsigned\20int\20const&\29\20const +7417:GrGradientBitmapCache::release\28GrGradientBitmapCache::Entry*\29\20const +7418:GrGradientBitmapCache::Entry::~Entry\28\29 +7419:GrGpuResource::setLabel\28std::__2::basic_string_view>\29 +7420:GrGpuResource::makeBudgeted\28\29 +7421:GrGpuResource::GrGpuResource\28GrGpu*\2c\20std::__2::basic_string_view>\29 +7422:GrGpuResource::CacheAccess::abandon\28\29 +7423:GrGpuBuffer::ComputeScratchKeyForDynamicBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20skgpu::ScratchKey*\29 +7424:GrGpu::~GrGpu\28\29 +7425:GrGpu::regenerateMipMapLevels\28GrTexture*\29 +7426:GrGpu::executeFlushInfo\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +7427:GrGpu::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7428:GrGpu::createTextureCommon\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +7429:GrGpu::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +7430:GrGpu::callSubmittedProcs\28bool\29 +7431:GrGeometryProcessor::AttributeSet::addToKey\28skgpu::KeyBuilder*\29\20const +7432:GrGeometryProcessor::AttributeSet::Iter::skipUninitialized\28\29 +7433:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b26\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +7434:GrGLVertexArray::bind\28GrGLGpu*\29 +7435:GrGLTextureParameters::invalidate\28\29 +7436:GrGLTextureParameters::SamplerOverriddenState::SamplerOverriddenState\28\29 +7437:GrGLTexture::~GrGLTexture\28\29.2 +7438:GrGLTexture::~GrGLTexture\28\29.1 +7439:GrGLTexture::MakeWrapped\28GrGLGpu*\2c\20GrMipmapStatus\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrWrapCacheable\2c\20GrIOType\2c\20std::__2::basic_string_view>\29 +7440:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20skgpu::Budgeted\2c\20GrGLTexture::Desc\20const&\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +7441:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +7442:GrGLSemaphore::~GrGLSemaphore\28\29 +7443:GrGLSLVaryingHandler::addAttribute\28GrShaderVar\20const&\29 +7444:GrGLSLVarying::vsOutVar\28\29\20const +7445:GrGLSLVarying::fsInVar\28\29\20const +7446:GrGLSLUniformHandler::liftUniformToVertexShader\28GrProcessor\20const&\2c\20SkString\29 +7447:GrGLSLShaderBuilder::nextStage\28\29 +7448:GrGLSLShaderBuilder::finalize\28unsigned\20int\29 +7449:GrGLSLShaderBuilder::emitFunction\28char\20const*\2c\20char\20const*\29 +7450:GrGLSLShaderBuilder::emitFunctionPrototype\28char\20const*\29 +7451:GrGLSLShaderBuilder::appendTextureLookupAndBlend\28char\20const*\2c\20SkBlendMode\2c\20GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +7452:GrGLSLShaderBuilder::appendDecls\28SkTBlockList\20const&\2c\20SkString*\29\20const +7453:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29::$_0::operator\28\29\28char\20const*\2c\20GrResourceHandle\2c\20skcms_TFType\29\20const +7454:GrGLSLShaderBuilder::GrGLSLShaderBuilder\28GrGLSLProgramBuilder*\29 +7455:GrGLSLProgramDataManager::setRuntimeEffectUniforms\28SkSpan\2c\20SkSpan\20const>\2c\20SkSpan\2c\20void\20const*\29\20const +7456:GrGLSLProgramBuilder::~GrGLSLProgramBuilder\28\29 +7457:GrGLSLFragmentShaderBuilder::onFinalize\28\29 +7458:GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +7459:GrGLSLColorSpaceXformHelper::isNoop\28\29\20const +7460:GrGLSLBlend::SetBlendModeUniformData\28GrGLSLProgramDataManager\20const&\2c\20GrResourceHandle\2c\20SkBlendMode\29 +7461:GrGLSLBlend::BlendExpression\28GrProcessor\20const*\2c\20GrGLSLUniformHandler*\2c\20GrResourceHandle*\2c\20char\20const*\2c\20char\20const*\2c\20SkBlendMode\29 +7462:GrGLRenderTarget::~GrGLRenderTarget\28\29.2 +7463:GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +7464:GrGLRenderTarget::setFlags\28GrGLCaps\20const&\2c\20GrGLRenderTarget::IDs\20const&\29 +7465:GrGLRenderTarget::onGpuMemorySize\28\29\20const +7466:GrGLRenderTarget::bind\28bool\29 +7467:GrGLRenderTarget::backendFormat\28\29\20const +7468:GrGLRenderTarget::GrGLRenderTarget\28GrGLGpu*\2c\20SkISize\20const&\2c\20GrGLFormat\2c\20int\2c\20GrGLRenderTarget::IDs\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7469:GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +7470:GrGLProgramDataManager::set2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +7471:GrGLProgramBuilder::uniformHandler\28\29 +7472:GrGLProgramBuilder::compileAndAttachShaders\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SkTDArray*\2c\20bool\2c\20skgpu::ShaderErrorHandler*\29 +7473:GrGLProgramBuilder::PrecompileProgram\28GrDirectContext*\2c\20GrGLPrecompiledProgram*\2c\20SkData\20const&\29::$_0::operator\28\29\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29\20const +7474:GrGLProgramBuilder::CreateProgram\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrGLPrecompiledProgram\20const*\29 +7475:GrGLProgram::~GrGLProgram\28\29 +7476:GrGLInterfaces::MakeWebGL\28\29 +7477:GrGLInterface::~GrGLInterface\28\29 +7478:GrGLGpu::~GrGLGpu\28\29 +7479:GrGLGpu::waitSemaphore\28GrSemaphore*\29 +7480:GrGLGpu::uploadTexData\28SkISize\2c\20unsigned\20int\2c\20SkIRect\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\2c\20GrMipLevel\20const*\2c\20int\29 +7481:GrGLGpu::uploadCompressedTexData\28SkTextureCompressionType\2c\20GrGLFormat\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20unsigned\20int\2c\20void\20const*\2c\20unsigned\20long\29 +7482:GrGLGpu::uploadColorToTex\28GrGLFormat\2c\20SkISize\2c\20unsigned\20int\2c\20std::__2::array\2c\20unsigned\20int\29 +7483:GrGLGpu::readOrTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20int\29 +7484:GrGLGpu::onFBOChanged\28\29 +7485:GrGLGpu::getCompatibleStencilIndex\28GrGLFormat\29 +7486:GrGLGpu::flushWireframeState\28bool\29 +7487:GrGLGpu::flushScissorRect\28SkIRect\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +7488:GrGLGpu::flushProgram\28unsigned\20int\29 +7489:GrGLGpu::flushProgram\28sk_sp\29 +7490:GrGLGpu::flushFramebufferSRGB\28bool\29 +7491:GrGLGpu::flushConservativeRasterState\28bool\29 +7492:GrGLGpu::deleteSync\28__GLsync*\29 +7493:GrGLGpu::deleteFence\28__GLsync*\29 +7494:GrGLGpu::createRenderTargetObjects\28GrGLTexture::Desc\20const&\2c\20int\2c\20GrGLRenderTarget::IDs*\29 +7495:GrGLGpu::createCompressedTexture2D\28SkISize\2c\20SkTextureCompressionType\2c\20GrGLFormat\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrGLTextureParameters::SamplerOverriddenState*\29 +7496:GrGLGpu::bindVertexArray\28unsigned\20int\29 +7497:GrGLGpu::TextureUnitBindings::setBoundID\28unsigned\20int\2c\20GrGpuResource::UniqueID\29 +7498:GrGLGpu::TextureUnitBindings::invalidateAllTargets\28bool\29 +7499:GrGLGpu::TextureToCopyProgramIdx\28GrTexture*\29 +7500:GrGLGpu::ProgramCache::~ProgramCache\28\29 +7501:GrGLGpu::ProgramCache::findOrCreateProgramImpl\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrThreadSafePipelineBuilder::Stats::ProgramCacheResult*\29 +7502:GrGLGpu::HWVertexArrayState::invalidate\28\29 +7503:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29 +7504:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\29 +7505:GrGLFinishCallbacks::check\28\29 +7506:GrGLContext::~GrGLContext\28\29.1 +7507:GrGLCaps::~GrGLCaps\28\29 +7508:GrGLCaps::getTexSubImageExternalFormatAndType\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +7509:GrGLCaps::getExternalFormat\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20GrGLCaps::ExternalFormatUsage\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +7510:GrGLCaps::canCopyTexSubImage\28GrGLFormat\2c\20bool\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20bool\2c\20GrTextureType\20const*\29\20const +7511:GrGLCaps::canCopyAsBlit\28GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20SkRect\20const&\2c\20bool\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29\20const +7512:GrGLBuffer::~GrGLBuffer\28\29.1 +7513:GrGLAttribArrayState::resize\28int\29 +7514:GrGLAttribArrayState::GrGLAttribArrayState\28int\29 +7515:GrFragmentProcessors::MakeChildFP\28SkRuntimeEffect::ChildPtr\20const&\2c\20GrFPArgs\20const&\29 +7516:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +7517:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +7518:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::Make\28\29 +7519:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::Make\28std::__2::unique_ptr>\29 +7520:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::DeviceSpace\28std::__2::unique_ptr>\29 +7521:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +7522:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +7523:GrFragmentProcessor::ClampOutput\28std::__2::unique_ptr>\29 +7524:GrFixedClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +7525:GrFixedClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +7526:GrEagerDynamicVertexAllocator::unlock\28int\29 +7527:GrDynamicAtlas::~GrDynamicAtlas\28\29 +7528:GrDynamicAtlas::Node::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +7529:GrDrawingManager::flush\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +7530:GrDrawingManager::closeAllTasks\28\29 +7531:GrDrawOpAtlas::uploadToPage\28unsigned\20int\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +7532:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29 +7533:GrDrawOpAtlas::setLastUseToken\28skgpu::AtlasLocator\20const&\2c\20skgpu::AtlasToken\29 +7534:GrDrawOpAtlas::processEviction\28skgpu::PlotLocator\29 +7535:GrDrawOpAtlas::hasID\28skgpu::PlotLocator\20const&\29 +7536:GrDrawOpAtlas::compact\28skgpu::AtlasToken\29 +7537:GrDrawOpAtlas::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +7538:GrDrawOpAtlas::Make\28GrProxyProvider*\2c\20GrBackendFormat\20const&\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20int\2c\20int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20GrDrawOpAtlas::AllowMultitexturing\2c\20skgpu::PlotEvictionCallback*\2c\20std::__2::basic_string_view>\29 +7539:GrDrawIndirectBufferAllocPool::putBack\28int\29 +7540:GrDrawIndirectBufferAllocPool::putBackIndexed\28int\29 +7541:GrDrawIndirectBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +7542:GrDrawIndirectBufferAllocPool::makeIndexedSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +7543:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29 +7544:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29 +7545:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +7546:GrDistanceFieldA8TextGeoProc::onTextureSampler\28int\29\20const +7547:GrDisableColorXPFactory::MakeXferProcessor\28\29 +7548:GrDirectContextPriv::validPMUPMConversionExists\28\29 +7549:GrDirectContext::~GrDirectContext\28\29 +7550:GrDirectContext::syncAllOutstandingGpuWork\28bool\29 +7551:GrDirectContext::submit\28GrSyncCpu\29 +7552:GrDirectContext::flush\28SkSurface*\29 +7553:GrDirectContext::abandoned\28\29 +7554:GrDeferredProxyUploader::signalAndFreeData\28\29 +7555:GrDeferredProxyUploader::GrDeferredProxyUploader\28\29 +7556:GrCopyRenderTask::~GrCopyRenderTask\28\29 +7557:GrCopyRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +7558:GrCopyBaseMipMapToView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Budgeted\29 +7559:GrCopyBaseMipMapToTextureProxy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20std::__2::basic_string_view>\2c\20skgpu::Budgeted\29 +7560:GrContext_Base::~GrContext_Base\28\29.1 +7561:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29 +7562:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +7563:GrColorInfo::makeColorType\28GrColorType\29\20const +7564:GrColorInfo::isLinearlyBlended\28\29\20const +7565:GrColorFragmentProcessorAnalysis::GrColorFragmentProcessorAnalysis\28GrProcessorAnalysisColor\20const&\2c\20std::__2::unique_ptr>\20const*\2c\20int\29 +7566:GrCaps::~GrCaps\28\29 +7567:GrCaps::surfaceSupportsWritePixels\28GrSurface\20const*\29\20const +7568:GrCaps::getDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\2c\20bool\29\20const +7569:GrCPixmap::GrCPixmap\28GrPixmap\20const&\29 +7570:GrBufferAllocPool::resetCpuData\28unsigned\20long\29 +7571:GrBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\2c\20unsigned\20long*\29 +7572:GrBufferAllocPool::flushCpuData\28GrBufferAllocPool::BufferBlock\20const&\2c\20unsigned\20long\29 +7573:GrBufferAllocPool::destroyBlock\28\29 +7574:GrBufferAllocPool::deleteBlocks\28\29 +7575:GrBufferAllocPool::createBlock\28unsigned\20long\29 +7576:GrBufferAllocPool::CpuBufferCache::makeBuffer\28unsigned\20long\2c\20bool\29 +7577:GrBlurUtils::mask_release_proc\28void*\2c\20void*\29 +7578:GrBlurUtils::draw_shape_with_mask_filter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\29 +7579:GrBlurUtils::draw_mask\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrPaint&&\2c\20GrSurfaceProxyView\29 +7580:GrBlurUtils::create_data\28SkIRect\20const&\2c\20SkIRect\20const&\29 +7581:GrBlurUtils::convolve_gaussian_1d\28skgpu::ganesh::SurfaceFillContext*\2c\20GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\2c\20SkIRect\20const&\2c\20SkAlphaType\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\29 +7582:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29 +7583:GrBlurUtils::clip_bounds_quick_reject\28SkIRect\20const&\2c\20SkIRect\20const&\29 +7584:GrBlurUtils::\28anonymous\20namespace\29::make_texture_effect\28GrCaps\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrSamplerState\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkISize\20const&\29 +7585:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29 +7586:GrBitmapTextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +7587:GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29 +7588:GrBicubicEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +7589:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +7590:GrBackendTexture::operator=\28GrBackendTexture\20const&\29 +7591:GrBackendTexture::GrBackendTexture\28int\2c\20int\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\2c\20GrBackendApi\2c\20GrTextureType\2c\20GrGLBackendTextureData\20const&\29 +7592:GrBackendRenderTarget::isProtected\28\29\20const +7593:GrBackendFormatBytesPerBlock\28GrBackendFormat\20const&\29 +7594:GrBackendFormat::operator!=\28GrBackendFormat\20const&\29\20const +7595:GrBackendFormat::makeTexture2D\28\29\20const +7596:GrBackendFormat::isMockStencilFormat\28\29\20const +7597:GrAuditTrail::opsCombined\28GrOp\20const*\2c\20GrOp\20const*\29 +7598:GrAttachment::ComputeSharedAttachmentUniqueKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::UniqueKey*\29 +7599:GrAttachment::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::ScratchKey*\29 +7600:GrAtlasManager::~GrAtlasManager\28\29 +7601:GrAtlasManager::getViews\28skgpu::MaskFormat\2c\20unsigned\20int*\29 +7602:GrAtlasManager::atlasGeneration\28skgpu::MaskFormat\29\20const +7603:GrAppliedClip::visitProxies\28std::__2::function\20const&\29\20const +7604:GrAppliedClip::addCoverageFP\28std::__2::unique_ptr>\29 +7605:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::EventList*\2c\20GrTriangulator::Comparator\20const&\29\20const +7606:GrAATriangulator::connectPartners\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +7607:GrAATriangulator::collapseOverlapRegions\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\2c\20GrAATriangulator::EventComparator\29 +7608:GrAATriangulator::Event*\20SkArenaAlloc::make\28GrAATriangulator::SSEdge*&\2c\20SkPoint&\2c\20unsigned\20char&\29 +7609:GrAAConvexTessellator::~GrAAConvexTessellator\28\29 +7610:GrAAConvexTessellator::quadTo\28SkPoint\20const*\29 +7611:GrAAConvexTessellator::fanRing\28GrAAConvexTessellator::Ring\20const&\29 +7612:GetVariationDesignPosition\28AutoFTAccess&\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20int\29 +7613:GetShortIns +7614:FontMgrRunIterator::~FontMgrRunIterator\28\29 +7615:FontMgrRunIterator::endOfCurrentRun\28\29\20const +7616:FontMgrRunIterator::atEnd\28\29\20const +7617:FindSortableTop\28SkOpContourHead*\29 +7618:FT_Vector_NormLen +7619:FT_Sfnt_Table_Info +7620:FT_Select_Size +7621:FT_Render_Glyph +7622:FT_Remove_Module +7623:FT_Outline_Get_Orientation +7624:FT_Outline_EmboldenXY +7625:FT_Outline_Decompose +7626:FT_Open_Face +7627:FT_New_Library +7628:FT_New_GlyphSlot +7629:FT_Match_Size +7630:FT_GlyphLoader_Reset +7631:FT_GlyphLoader_Prepare +7632:FT_GlyphLoader_CheckSubGlyphs +7633:FT_Get_Var_Design_Coordinates +7634:FT_Get_Postscript_Name +7635:FT_Get_Paint_Layers +7636:FT_Get_PS_Font_Info +7637:FT_Get_Glyph_Name +7638:FT_Get_FSType_Flags +7639:FT_Get_Color_Glyph_ClipBox +7640:FT_Done_Size +7641:FT_Done_Library +7642:FT_Done_GlyphSlot +7643:FT_Bitmap_Done +7644:FT_Bitmap_Convert +7645:FT_Add_Default_Modules +7646:EmptyFontLoader::loadSystemFonts\28SkFontScanner\20const*\2c\20skia_private::TArray\2c\20true>*\29\20const +7647:EllipticalRRectOp::~EllipticalRRectOp\28\29.1 +7648:EllipticalRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7649:EllipticalRRectOp::EllipticalRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20SkPoint\2c\20bool\29 +7650:EllipseOp::EllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20EllipseOp::DeviceSpaceParams\20const&\2c\20SkStrokeRec\20const&\29 +7651:EllipseGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7652:Dot2AngleType\28float\29 +7653:DIEllipseOp::~DIEllipseOp\28\29 +7654:DIEllipseOp::DIEllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20DIEllipseOp::DeviceSpaceParams\20const&\2c\20SkMatrix\20const&\29 +7655:CustomXP::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +7656:CustomXP::makeProgramImpl\28\29\20const::Impl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +7657:Cr_z_inflateReset2 +7658:Cr_z_inflateReset +7659:CoverageSetOpXP::onIsEqual\28GrXferProcessor\20const&\29\20const +7660:Convexicator::close\28\29 +7661:Convexicator::addVec\28SkPoint\20const&\29 +7662:Convexicator::addPt\28SkPoint\20const&\29 +7663:ContourIter::next\28\29 +7664:Contour&\20std::__2::vector>::emplace_back\28SkRect&\2c\20int&\2c\20int&\29 +7665:CircularRRectOp::~CircularRRectOp\28\29.1 +7666:CircularRRectOp::CircularRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +7667:CircleOp::~CircleOp\28\29 +7668:CircleOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +7669:CircleOp::CircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +7670:CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29 +7671:CircleGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7672:CFF::dict_interpreter_t\2c\20CFF::interp_env_t>::interpret\28CFF::cff1_private_dict_values_base_t&\29 +7673:CFF::cs_opset_t\2c\20cff2_path_param_t\2c\20cff2_path_procs_path_t>::process_op\28unsigned\20int\2c\20CFF::cff2_cs_interp_env_t&\2c\20cff2_path_param_t&\29 +7674:CFF::cs_opset_t\2c\20cff2_extents_param_t\2c\20cff2_path_procs_extents_t>::process_op\28unsigned\20int\2c\20CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +7675:CFF::cff_stack_t::cff_stack_t\28\29 +7676:CFF::cff2_cs_interp_env_t::process_vsindex\28\29 +7677:CFF::cff2_cs_interp_env_t::process_blend\28\29 +7678:CFF::cff2_cs_interp_env_t::fetch_op\28\29 +7679:CFF::cff2_cs_interp_env_t::cff2_cs_interp_env_t\28hb_array_t\20const&\2c\20OT::cff2::accelerator_t\20const&\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29 +7680:CFF::cff2_cs_interp_env_t::blend_deltas\28hb_array_t\29\20const +7681:CFF::cff1_top_dict_values_t::init\28\29 +7682:CFF::cff1_cs_interp_env_t::cff1_cs_interp_env_t\28hb_array_t\20const&\2c\20OT::cff1::accelerator_t\20const&\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29 +7683:CFF::biased_subrs_t>>::init\28CFF::Subrs>\20const*\29 +7684:CFF::biased_subrs_t>>::init\28CFF::Subrs>\20const*\29 +7685:CFF::FDSelect::get_fd\28unsigned\20int\29\20const +7686:CFF::FDSelect3_4\2c\20OT::IntType>::sentinel\28\29\20const +7687:CFF::FDSelect3_4\2c\20OT::IntType>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +7688:CFF::FDSelect3_4\2c\20OT::IntType>::get_fd\28unsigned\20int\29\20const +7689:CFF::FDSelect0::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +7690:CFF::Charset::get_glyph\28unsigned\20int\2c\20unsigned\20int\29\20const +7691:CFF::CFF2FDSelect::get_fd\28unsigned\20int\29\20const +7692:ButtCapDashedCircleOp::ButtCapDashedCircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +7693:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::begin\28\29\20const +7694:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::Item::operator++\28\29 +7695:AutoRestoreInverseness::~AutoRestoreInverseness\28\29 +7696:AutoRestoreInverseness::AutoRestoreInverseness\28GrShape*\2c\20GrStyle\20const&\29 +7697:AutoLayerForImageFilter::addMaskFilterLayer\28SkRect\20const*\29 +7698:AutoLayerForImageFilter::addLayer\28SkPaint\20const&\2c\20SkRect\20const*\2c\20bool\29 +7699:AngleWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20bool*\29 +7700:AddIntersectTs\28SkOpContour*\2c\20SkOpContour*\2c\20SkOpCoincidence*\29 +7701:ActiveEdgeList::replace\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +7702:ActiveEdgeList::remove\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +7703:ActiveEdgeList::insert\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +7704:ActiveEdgeList::allocate\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +7705:AAT::trak::sanitize\28hb_sanitize_context_t*\29\20const +7706:AAT::mortmorx::sanitize\28hb_sanitize_context_t*\29\20const +7707:AAT::mortmorx::sanitize\28hb_sanitize_context_t*\29\20const +7708:AAT::ltag::sanitize\28hb_sanitize_context_t*\29\20const +7709:AAT::ltag::get_language\28unsigned\20int\29\20const +7710:AAT::feat::sanitize\28hb_sanitize_context_t*\29\20const +7711:AAT::ankr::sanitize\28hb_sanitize_context_t*\29\20const +7712:AAT::ankr::get_anchor\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +7713:AAT::TrackData::get_tracking\28void\20const*\2c\20float\29\20const +7714:AAT::Lookup>::get_value_or_null\28unsigned\20int\2c\20unsigned\20int\29\20const +7715:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +7716:AAT::Lookup>::get_value_or_null\28unsigned\20int\2c\20unsigned\20int\29\20const +7717:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +7718:AAT::KernPair\20const*\20hb_sorted_array_t::bsearch\28AAT::hb_glyph_pair_t\20const&\2c\20AAT::KernPair\20const*\29 +7719:AAT::KernPair\20const&\20OT::SortedArrayOf>>::bsearch\28AAT::hb_glyph_pair_t\20const&\2c\20AAT::KernPair\20const&\29\20const +7720:AAT::ChainSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +7721:AAT::ChainSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +7722:xyzd50_to_hcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +7723:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +7724:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +7725:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7726:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7727:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7728:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7729:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7730:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7731:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7732:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7733:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7734:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7735:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7736:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7737:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7738:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7739:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7740:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7741:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7742:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7743:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7744:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7745:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7746:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7747:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7748:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7749:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7750:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7751:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7752:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7753:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7754:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7755:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7756:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7757:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7758:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7759:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7760:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7761:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7762:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7763:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7764:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7765:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7766:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7767:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7768:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7769:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7770:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7771:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7772:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7773:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7774:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7775:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7776:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7777:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7778:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7779:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7780:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7781:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7782:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7783:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7784:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7785:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7786:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7787:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7788:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7789:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7790:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7791:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7792:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7793:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7794:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7795:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7796:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7797:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7798:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7799:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7800:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7801:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7802:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7803:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7804:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7805:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7806:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7807:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7808:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7809:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7810:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7811:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7812:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7813:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7814:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7815:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7816:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7817:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7818:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7819:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7820:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7821:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +7822:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +7823:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29.1 +7824:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29 +7825:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +7826:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +7827:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +7828:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +7829:virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +7830:virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +7831:virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +7832:virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +7833:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29.1 +7834:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29 +7835:virtual\20thunk\20to\20GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +7836:virtual\20thunk\20to\20GrTextureProxy::instantiate\28GrResourceProvider*\29 +7837:virtual\20thunk\20to\20GrTextureProxy::getUniqueKey\28\29\20const +7838:virtual\20thunk\20to\20GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +7839:virtual\20thunk\20to\20GrTextureProxy::callbackDesc\28\29\20const +7840:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29\20const +7841:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29 +7842:virtual\20thunk\20to\20GrTexture::onGpuMemorySize\28\29\20const +7843:virtual\20thunk\20to\20GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +7844:virtual\20thunk\20to\20GrTexture::asTexture\28\29\20const +7845:virtual\20thunk\20to\20GrTexture::asTexture\28\29 +7846:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +7847:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +7848:virtual\20thunk\20to\20GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +7849:virtual\20thunk\20to\20GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +7850:virtual\20thunk\20to\20GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +7851:virtual\20thunk\20to\20GrRenderTargetProxy::callbackDesc\28\29\20const +7852:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29\20const +7853:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29 +7854:virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +7855:virtual\20thunk\20to\20GrRenderTarget::onAbandon\28\29 +7856:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29\20const +7857:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29 +7858:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +7859:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +7860:virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +7861:virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +7862:virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +7863:virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +7864:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29.1 +7865:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29 +7866:virtual\20thunk\20to\20GrGLTexture::onRelease\28\29 +7867:virtual\20thunk\20to\20GrGLTexture::onAbandon\28\29 +7868:virtual\20thunk\20to\20GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +7869:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +7870:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +7871:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::onFinalize\28\29 +7872:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +7873:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29 +7874:virtual\20thunk\20to\20GrGLRenderTarget::onRelease\28\29 +7875:virtual\20thunk\20to\20GrGLRenderTarget::onGpuMemorySize\28\29\20const +7876:virtual\20thunk\20to\20GrGLRenderTarget::onAbandon\28\29 +7877:virtual\20thunk\20to\20GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +7878:virtual\20thunk\20to\20GrGLRenderTarget::backendFormat\28\29\20const +7879:vertices_dispose +7880:vertices_create +7881:unicodePositionBuffer_create +7882:typefaces_filterCoveredCodePoints +7883:typeface_create +7884:tt_vadvance_adjust +7885:tt_slot_init +7886:tt_size_request +7887:tt_size_init +7888:tt_size_done +7889:tt_sbit_decoder_load_png +7890:tt_sbit_decoder_load_compound +7891:tt_sbit_decoder_load_byte_aligned +7892:tt_sbit_decoder_load_bit_aligned +7893:tt_property_set +7894:tt_property_get +7895:tt_name_ascii_from_utf16 +7896:tt_name_ascii_from_other +7897:tt_hadvance_adjust +7898:tt_glyph_load +7899:tt_get_var_blend +7900:tt_get_interface +7901:tt_get_glyph_name +7902:tt_get_cmap_info +7903:tt_get_advances +7904:tt_face_set_sbit_strike +7905:tt_face_load_strike_metrics +7906:tt_face_load_sbit_image +7907:tt_face_load_sbit +7908:tt_face_load_post +7909:tt_face_load_pclt +7910:tt_face_load_os2 +7911:tt_face_load_name +7912:tt_face_load_maxp +7913:tt_face_load_kern +7914:tt_face_load_hmtx +7915:tt_face_load_hhea +7916:tt_face_load_head +7917:tt_face_load_gasp +7918:tt_face_load_font_dir +7919:tt_face_load_cpal +7920:tt_face_load_colr +7921:tt_face_load_cmap +7922:tt_face_load_bhed +7923:tt_face_load_any +7924:tt_face_init +7925:tt_face_get_paint_layers +7926:tt_face_get_paint +7927:tt_face_get_kerning +7928:tt_face_get_colr_layer +7929:tt_face_get_colr_glyph_paint +7930:tt_face_get_colorline_stops +7931:tt_face_get_color_glyph_clipbox +7932:tt_face_free_sbit +7933:tt_face_free_ps_names +7934:tt_face_free_name +7935:tt_face_free_cpal +7936:tt_face_free_colr +7937:tt_face_done +7938:tt_face_colr_blend_layer +7939:tt_driver_init +7940:tt_cmap_unicode_init +7941:tt_cmap_unicode_char_next +7942:tt_cmap_unicode_char_index +7943:tt_cmap_init +7944:tt_cmap8_validate +7945:tt_cmap8_get_info +7946:tt_cmap8_char_next +7947:tt_cmap8_char_index +7948:tt_cmap6_validate +7949:tt_cmap6_get_info +7950:tt_cmap6_char_next +7951:tt_cmap6_char_index +7952:tt_cmap4_validate +7953:tt_cmap4_init +7954:tt_cmap4_get_info +7955:tt_cmap4_char_next +7956:tt_cmap4_char_index +7957:tt_cmap2_validate +7958:tt_cmap2_get_info +7959:tt_cmap2_char_next +7960:tt_cmap2_char_index +7961:tt_cmap14_variants +7962:tt_cmap14_variant_chars +7963:tt_cmap14_validate +7964:tt_cmap14_init +7965:tt_cmap14_get_info +7966:tt_cmap14_done +7967:tt_cmap14_char_variants +7968:tt_cmap14_char_var_isdefault +7969:tt_cmap14_char_var_index +7970:tt_cmap14_char_next +7971:tt_cmap13_validate +7972:tt_cmap13_get_info +7973:tt_cmap13_char_next +7974:tt_cmap13_char_index +7975:tt_cmap12_validate +7976:tt_cmap12_get_info +7977:tt_cmap12_char_next +7978:tt_cmap12_char_index +7979:tt_cmap10_validate +7980:tt_cmap10_get_info +7981:tt_cmap10_char_next +7982:tt_cmap10_char_index +7983:tt_cmap0_validate +7984:tt_cmap0_get_info +7985:tt_cmap0_char_next +7986:tt_cmap0_char_index +7987:textStyle_setWordSpacing +7988:textStyle_setTextBaseline +7989:textStyle_setLocale +7990:textStyle_setLetterSpacing +7991:textStyle_setHeight +7992:textStyle_setHalfLeading +7993:textStyle_setForeground +7994:textStyle_setFontVariations +7995:textStyle_setFontStyle +7996:textStyle_setFontSize +7997:textStyle_setDecorationColor +7998:textStyle_setColor +7999:textStyle_setBackground +8000:textStyle_dispose +8001:textStyle_create +8002:textStyle_copy +8003:textStyle_clearFontFamilies +8004:textStyle_addShadow +8005:textStyle_addFontFeature +8006:textStyle_addFontFamilies +8007:textBoxList_getLength +8008:textBoxList_getBoxAtIndex +8009:textBoxList_dispose +8010:t2_hints_stems +8011:t2_hints_open +8012:t1_make_subfont +8013:t1_hints_stem +8014:t1_hints_open +8015:t1_decrypt +8016:t1_decoder_parse_metrics +8017:t1_decoder_init +8018:t1_decoder_done +8019:t1_cmap_unicode_init +8020:t1_cmap_unicode_char_next +8021:t1_cmap_unicode_char_index +8022:t1_cmap_std_done +8023:t1_cmap_std_char_next +8024:t1_cmap_standard_init +8025:t1_cmap_expert_init +8026:t1_cmap_custom_init +8027:t1_cmap_custom_done +8028:t1_cmap_custom_char_next +8029:t1_cmap_custom_char_index +8030:t1_builder_start_point +8031:swizzle_or_premul\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\2c\20SkColorSpaceXformSteps\20const&\29 +8032:surface_renderPicturesOnWorker +8033:surface_renderPictures +8034:surface_rasterizeImageOnWorker +8035:surface_rasterizeImage +8036:surface_onRenderComplete +8037:surface_onRasterizeComplete +8038:surface_dispose +8039:surface_destroy +8040:surface_create +8041:strutStyle_setLeading +8042:strutStyle_setHeight +8043:strutStyle_setHalfLeading +8044:strutStyle_setForceStrutHeight +8045:strutStyle_setFontStyle +8046:strutStyle_setFontFamilies +8047:strutStyle_dispose +8048:strutStyle_create +8049:string_read +8050:std::exception::what\28\29\20const +8051:std::bad_variant_access::what\28\29\20const +8052:std::bad_optional_access::what\28\29\20const +8053:std::bad_array_new_length::what\28\29\20const +8054:std::bad_alloc::what\28\29\20const +8055:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20tm\20const*\2c\20char\2c\20char\29\20const +8056:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20tm\20const*\2c\20char\2c\20char\29\20const +8057:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8058:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8059:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8060:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8061:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8062:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +8063:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8064:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8065:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8066:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8067:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8068:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +8069:std::__2::numpunct::~numpunct\28\29 +8070:std::__2::numpunct::do_truename\28\29\20const +8071:std::__2::numpunct::do_grouping\28\29\20const +8072:std::__2::numpunct::do_falsename\28\29\20const +8073:std::__2::numpunct::~numpunct\28\29 +8074:std::__2::numpunct::do_truename\28\29\20const +8075:std::__2::numpunct::do_thousands_sep\28\29\20const +8076:std::__2::numpunct::do_grouping\28\29\20const +8077:std::__2::numpunct::do_falsename\28\29\20const +8078:std::__2::numpunct::do_decimal_point\28\29\20const +8079:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20void\20const*\29\20const +8080:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\29\20const +8081:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\20long\29\20const +8082:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +8083:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +8084:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +8085:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20double\29\20const +8086:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20bool\29\20const +8087:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20void\20const*\29\20const +8088:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\29\20const +8089:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\20long\29\20const +8090:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +8091:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +8092:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +8093:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20double\29\20const +8094:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20bool\29\20const +8095:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +8096:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +8097:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +8098:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +8099:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +8100:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +8101:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +8102:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +8103:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +8104:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +8105:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +8106:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +8107:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +8108:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +8109:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +8110:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +8111:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +8112:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +8113:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +8114:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +8115:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +8116:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +8117:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +8118:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +8119:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +8120:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +8121:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +8122:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +8123:std::__2::locale::id::__init\28\29 +8124:std::__2::locale::__imp::~__imp\28\29 +8125:std::__2::ios_base::~ios_base\28\29.1 +8126:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +8127:std::__2::ctype::do_toupper\28wchar_t\29\20const +8128:std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +8129:std::__2::ctype::do_tolower\28wchar_t\29\20const +8130:std::__2::ctype::do_tolower\28wchar_t*\2c\20wchar_t\20const*\29\20const +8131:std::__2::ctype::do_scan_not\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8132:std::__2::ctype::do_scan_is\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8133:std::__2::ctype::do_narrow\28wchar_t\2c\20char\29\20const +8134:std::__2::ctype::do_narrow\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20char\2c\20char*\29\20const +8135:std::__2::ctype::do_is\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20unsigned\20long*\29\20const +8136:std::__2::ctype::do_is\28unsigned\20long\2c\20wchar_t\29\20const +8137:std::__2::ctype::~ctype\28\29 +8138:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +8139:std::__2::ctype::do_toupper\28char\29\20const +8140:std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +8141:std::__2::ctype::do_tolower\28char\29\20const +8142:std::__2::ctype::do_tolower\28char*\2c\20char\20const*\29\20const +8143:std::__2::ctype::do_narrow\28char\2c\20char\29\20const +8144:std::__2::ctype::do_narrow\28char\20const*\2c\20char\20const*\2c\20char\2c\20char*\29\20const +8145:std::__2::collate::do_transform\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8146:std::__2::collate::do_hash\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8147:std::__2::collate::do_compare\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8148:std::__2::collate::do_transform\28char\20const*\2c\20char\20const*\29\20const +8149:std::__2::collate::do_hash\28char\20const*\2c\20char\20const*\29\20const +8150:std::__2::collate::do_compare\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +8151:std::__2::codecvt::~codecvt\28\29 +8152:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +8153:std::__2::codecvt::do_out\28__mbstate_t&\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +8154:std::__2::codecvt::do_max_length\28\29\20const +8155:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +8156:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20wchar_t*\2c\20wchar_t*\2c\20wchar_t*&\29\20const +8157:std::__2::codecvt::do_encoding\28\29\20const +8158:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +8159:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29.1 +8160:std::__2::basic_stringbuf\2c\20std::__2::allocator>::underflow\28\29 +8161:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +8162:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +8163:std::__2::basic_stringbuf\2c\20std::__2::allocator>::pbackfail\28int\29 +8164:std::__2::basic_stringbuf\2c\20std::__2::allocator>::overflow\28int\29 +8165:std::__2::basic_streambuf>::~basic_streambuf\28\29.1 +8166:std::__2::basic_streambuf>::xsputn\28char\20const*\2c\20long\29 +8167:std::__2::basic_streambuf>::xsgetn\28char*\2c\20long\29 +8168:std::__2::basic_streambuf>::uflow\28\29 +8169:std::__2::basic_streambuf>::setbuf\28char*\2c\20long\29 +8170:std::__2::basic_streambuf>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +8171:std::__2::basic_streambuf>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +8172:std::__2::bad_function_call::what\28\29\20const +8173:std::__2::__time_get_c_storage::__x\28\29\20const +8174:std::__2::__time_get_c_storage::__weeks\28\29\20const +8175:std::__2::__time_get_c_storage::__r\28\29\20const +8176:std::__2::__time_get_c_storage::__months\28\29\20const +8177:std::__2::__time_get_c_storage::__c\28\29\20const +8178:std::__2::__time_get_c_storage::__am_pm\28\29\20const +8179:std::__2::__time_get_c_storage::__X\28\29\20const +8180:std::__2::__time_get_c_storage::__x\28\29\20const +8181:std::__2::__time_get_c_storage::__weeks\28\29\20const +8182:std::__2::__time_get_c_storage::__r\28\29\20const +8183:std::__2::__time_get_c_storage::__months\28\29\20const +8184:std::__2::__time_get_c_storage::__c\28\29\20const +8185:std::__2::__time_get_c_storage::__am_pm\28\29\20const +8186:std::__2::__time_get_c_storage::__X\28\29\20const +8187:std::__2::__shared_ptr_pointer<_IO_FILE*\2c\20void\20\28*\29\28_IO_FILE*\29\2c\20std::__2::allocator<_IO_FILE>>::__on_zero_shared\28\29 +8188:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +8189:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +8190:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +8191:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +8192:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +8193:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +8194:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +8195:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8196:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8197:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8198:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8199:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8200:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8201:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8202:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8203:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8204:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8205:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8206:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8207:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8208:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8209:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8210:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8211:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8212:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8213:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +8214:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +8215:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +8216:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +8217:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +8218:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +8219:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8220:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8221:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8222:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8223:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8224:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8225:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8226:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8227:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8228:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8229:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8230:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8231:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8232:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8233:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8234:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8235:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8236:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8237:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8238:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8239:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8240:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8241:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8242:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8243:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8244:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8245:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8246:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8247:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8248:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8249:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8250:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8251:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8252:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8253:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8254:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8255:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8256:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8257:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8258:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29 +8259:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>*\29\20const +8260:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28\29\20const +8261:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::operator\28\29\28skia::textlayout::Cluster*&&\29 +8262:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28std::__2::__function::__base*\29\20const +8263:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28\29\20const +8264:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +8265:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28\29\20const +8266:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20SkSpan&&\2c\20float&\2c\20unsigned\20long&&\2c\20unsigned\20char&&\29 +8267:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28std::__2::__function::__base\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>*\29\20const +8268:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +8269:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::operator\28\29\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29 +8270:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28std::__2::__function::__base\29>*\29\20const +8271:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28\29\20const +8272:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::operator\28\29\28sk_sp&&\29 +8273:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28std::__2::__function::__base\29>*\29\20const +8274:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28\29\20const +8275:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::operator\28\29\28skia::textlayout::SkRange&&\29 +8276:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28std::__2::__function::__base\29>*\29\20const +8277:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28\29\20const +8278:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +8279:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +8280:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +8281:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29.1 +8282:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::operator\28\29\28void*&&\2c\20void\20const*&&\29 +8283:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy_deallocate\28\29 +8284:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy\28\29 +8285:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +8286:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28\29\20const +8287:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +8288:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8289:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +8290:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +8291:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8292:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +8293:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +8294:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8295:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8296:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +8297:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8298:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8299:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +8300:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8301:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8302:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +8303:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +8304:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +8305:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*&&\2c\20int&&\2c\20int&&\2c\20skgpu::MaskFormat&&\2c\20int&&\29 +8306:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28std::__2::__function::__base\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>*\29\20const +8307:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28\29\20const +8308:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::operator\28\29\28GrSurfaceProxy\20const*&&\29 +8309:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +8310:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28\29\20const +8311:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +8312:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +8313:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +8314:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8315:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8316:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8317:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8318:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +8319:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8320:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +8321:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::operator\28\29\28\29 +8322:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8323:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28\29\20const +8324:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8325:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +8326:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8327:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +8328:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8329:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8330:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8331:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8332:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8333:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8334:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8335:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8336:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8337:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +8338:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +8339:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +8340:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +8341:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +8342:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +8343:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29.1 +8344:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +8345:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy_deallocate\28\29 +8346:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy\28\29 +8347:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8348:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +8349:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +8350:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +8351:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +8352:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::operator\28\29\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\29 +8353:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +8354:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +8355:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +8356:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +8357:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::operator\28\29\28SkVertices\20const*&&\2c\20SkBlendMode&&\2c\20SkPaint\20const&\2c\20float&&\2c\20float&&\2c\20bool&&\29 +8358:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +8359:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28\29\20const +8360:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::operator\28\29\28SkIRect\20const&\29 +8361:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8362:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +8363:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +8364:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +8365:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +8366:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +8367:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8368:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +8369:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +8370:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +8371:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +8372:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +8373:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8374:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +8375:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +8376:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +8377:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +8378:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +8379:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8380:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +8381:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::operator\28\29\28GrTextureProxy*&&\2c\20SkIRect&&\2c\20GrColorType&&\2c\20void\20const*&&\2c\20unsigned\20long&&\29 +8382:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +8383:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28\29\20const +8384:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::operator\28\29\28GrBackendTexture&&\29 +8385:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28\29\20const +8386:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +8387:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +8388:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +8389:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +8390:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +8391:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +8392:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8393:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8394:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8395:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +8396:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8397:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +8398:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8399:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8400:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8401:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +8402:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8403:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +8404:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +8405:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +8406:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +8407:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +8408:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +8409:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +8410:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +8411:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +8412:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +8413:stackSave +8414:stackRestore +8415:stackAlloc +8416:srgb_to_hwb\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +8417:srcover_p\28unsigned\20char\2c\20unsigned\20char\29 +8418:sn_write +8419:sktext::gpu::post_purge_blob_message\28unsigned\20int\2c\20unsigned\20int\29 +8420:sktext::gpu::TextBlob::~TextBlob\28\29.1 +8421:sktext::gpu::SlugImpl::~SlugImpl\28\29.1 +8422:sktext::gpu::SlugImpl::sourceBounds\28\29\20const +8423:sktext::gpu::SlugImpl::sourceBoundsWithOrigin\28\29\20const +8424:sktext::gpu::SlugImpl::doFlatten\28SkWriteBuffer&\29\20const +8425:sktext::gpu::SDFMaskFilterImpl::getTypeName\28\29\20const +8426:sktext::gpu::SDFMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +8427:sktext::gpu::SDFMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +8428:skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +8429:skif::\28anonymous\20namespace\29::RasterBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +8430:skif::\28anonymous\20namespace\29::RasterBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +8431:skif::\28anonymous\20namespace\29::RasterBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +8432:skif::\28anonymous\20namespace\29::GaneshBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +8433:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +8434:skif::\28anonymous\20namespace\29::GaneshBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +8435:skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +8436:skia_png_zfree +8437:skia_png_zalloc +8438:skia_png_set_read_fn +8439:skia_png_set_expand_gray_1_2_4_to_8 +8440:skia_png_read_start_row +8441:skia_png_read_finish_row +8442:skia_png_handle_zTXt +8443:skia_png_handle_unknown +8444:skia_png_handle_tRNS +8445:skia_png_handle_tIME +8446:skia_png_handle_tEXt +8447:skia_png_handle_sRGB +8448:skia_png_handle_sPLT +8449:skia_png_handle_sCAL +8450:skia_png_handle_sBIT +8451:skia_png_handle_pHYs +8452:skia_png_handle_pCAL +8453:skia_png_handle_oFFs +8454:skia_png_handle_iTXt +8455:skia_png_handle_iCCP +8456:skia_png_handle_hIST +8457:skia_png_handle_gAMA +8458:skia_png_handle_cHRM +8459:skia_png_handle_bKGD +8460:skia_png_handle_PLTE +8461:skia_png_handle_IHDR +8462:skia_png_handle_IEND +8463:skia_png_get_IHDR +8464:skia_png_do_read_transformations +8465:skia_png_destroy_read_struct +8466:skia_png_default_read_data +8467:skia_png_create_png_struct +8468:skia_png_combine_row +8469:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29.1 +8470:skia::textlayout::TypefaceFontStyleSet::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +8471:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29.1 +8472:skia::textlayout::TypefaceFontProvider::onMatchFamily\28char\20const*\29\20const +8473:skia::textlayout::TypefaceFontProvider::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +8474:skia::textlayout::TypefaceFontProvider::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +8475:skia::textlayout::TypefaceFontProvider::onGetFamilyName\28int\2c\20SkString*\29\20const +8476:skia::textlayout::TypefaceFontProvider::onCreateStyleSet\28int\29\20const +8477:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29.1 +8478:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +8479:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +8480:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29.1 +8481:skia::textlayout::ParagraphImpl::visit\28std::__2::function\20const&\29 +8482:skia::textlayout::ParagraphImpl::updateTextAlign\28skia::textlayout::TextAlign\29 +8483:skia::textlayout::ParagraphImpl::updateForegroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +8484:skia::textlayout::ParagraphImpl::updateFontSize\28unsigned\20long\2c\20unsigned\20long\2c\20float\29 +8485:skia::textlayout::ParagraphImpl::updateBackgroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +8486:skia::textlayout::ParagraphImpl::unresolvedGlyphs\28\29 +8487:skia::textlayout::ParagraphImpl::unresolvedCodepoints\28\29 +8488:skia::textlayout::ParagraphImpl::paint\28SkCanvas*\2c\20float\2c\20float\29 +8489:skia::textlayout::ParagraphImpl::markDirty\28\29 +8490:skia::textlayout::ParagraphImpl::lineNumber\28\29 +8491:skia::textlayout::ParagraphImpl::layout\28float\29 +8492:skia::textlayout::ParagraphImpl::getWordBoundary\28unsigned\20int\29 +8493:skia::textlayout::ParagraphImpl::getRectsForRange\28unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +8494:skia::textlayout::ParagraphImpl::getRectsForPlaceholders\28\29 +8495:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +8496:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29 +8497:skia::textlayout::ParagraphImpl::getLineNumberAtUTF16Offset\28unsigned\20long\29 +8498:skia::textlayout::ParagraphImpl::getLineMetrics\28std::__2::vector>&\29 +8499:skia::textlayout::ParagraphImpl::getLineMetricsAt\28int\2c\20skia::textlayout::LineMetrics*\29\20const +8500:skia::textlayout::ParagraphImpl::getFonts\28\29\20const +8501:skia::textlayout::ParagraphImpl::getFontAt\28unsigned\20long\29\20const +8502:skia::textlayout::ParagraphImpl::getFontAtUTF16Offset\28unsigned\20long\29 +8503:skia::textlayout::ParagraphImpl::getClosestUTF16GlyphInfoAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +8504:skia::textlayout::ParagraphImpl::getClosestGlyphClusterAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +8505:skia::textlayout::ParagraphImpl::getActualTextRange\28int\2c\20bool\29\20const +8506:skia::textlayout::ParagraphImpl::extendedVisit\28std::__2::function\20const&\29 +8507:skia::textlayout::ParagraphImpl::containsEmoji\28SkTextBlob*\29 +8508:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29::$_0::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +8509:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29 +8510:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29.1 +8511:skia::textlayout::ParagraphBuilderImpl::setWordsUtf8\28std::__2::vector>\29 +8512:skia::textlayout::ParagraphBuilderImpl::setWordsUtf16\28std::__2::vector>\29 +8513:skia::textlayout::ParagraphBuilderImpl::setLineBreaksUtf8\28std::__2::vector>\29 +8514:skia::textlayout::ParagraphBuilderImpl::setLineBreaksUtf16\28std::__2::vector>\29 +8515:skia::textlayout::ParagraphBuilderImpl::setGraphemeBreaksUtf8\28std::__2::vector>\29 +8516:skia::textlayout::ParagraphBuilderImpl::setGraphemeBreaksUtf16\28std::__2::vector>\29 +8517:skia::textlayout::ParagraphBuilderImpl::pushStyle\28skia::textlayout::TextStyle\20const&\29 +8518:skia::textlayout::ParagraphBuilderImpl::pop\28\29 +8519:skia::textlayout::ParagraphBuilderImpl::peekStyle\28\29 +8520:skia::textlayout::ParagraphBuilderImpl::getText\28\29 +8521:skia::textlayout::ParagraphBuilderImpl::getParagraphStyle\28\29\20const +8522:skia::textlayout::ParagraphBuilderImpl::getClientICUData\28\29\20const +8523:skia::textlayout::ParagraphBuilderImpl::addText\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +8524:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\2c\20unsigned\20long\29 +8525:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\29 +8526:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\29 +8527:skia::textlayout::ParagraphBuilderImpl::SetUnicode\28sk_sp\29 +8528:skia::textlayout::ParagraphBuilderImpl::Reset\28\29 +8529:skia::textlayout::ParagraphBuilderImpl::Build\28\29 +8530:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29.1 +8531:skia::textlayout::OneLineShaper::~OneLineShaper\28\29.1 +8532:skia::textlayout::OneLineShaper::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +8533:skia::textlayout::OneLineShaper::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +8534:skia::textlayout::LangIterator::~LangIterator\28\29.1 +8535:skia::textlayout::LangIterator::~LangIterator\28\29 +8536:skia::textlayout::LangIterator::endOfCurrentRun\28\29\20const +8537:skia::textlayout::LangIterator::currentLanguage\28\29\20const +8538:skia::textlayout::LangIterator::consume\28\29 +8539:skia::textlayout::LangIterator::atEnd\28\29\20const +8540:skia::textlayout::FontCollection::~FontCollection\28\29.1 +8541:skia::textlayout::CanvasParagraphPainter::translate\28float\2c\20float\29 +8542:skia::textlayout::CanvasParagraphPainter::save\28\29 +8543:skia::textlayout::CanvasParagraphPainter::restore\28\29 +8544:skia::textlayout::CanvasParagraphPainter::drawTextShadow\28sk_sp\20const&\2c\20float\2c\20float\2c\20unsigned\20int\2c\20float\29 +8545:skia::textlayout::CanvasParagraphPainter::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20std::__2::variant\20const&\29 +8546:skia::textlayout::CanvasParagraphPainter::drawRect\28SkRect\20const&\2c\20std::__2::variant\20const&\29 +8547:skia::textlayout::CanvasParagraphPainter::drawPath\28SkPath\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +8548:skia::textlayout::CanvasParagraphPainter::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +8549:skia::textlayout::CanvasParagraphPainter::drawFilledRect\28SkRect\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +8550:skia::textlayout::CanvasParagraphPainter::clipRect\28SkRect\20const&\29 +8551:skgpu::tess::FixedCountWedges::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +8552:skgpu::tess::FixedCountWedges::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +8553:skgpu::tess::FixedCountStrokes::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +8554:skgpu::tess::FixedCountCurves::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +8555:skgpu::ganesh::texture_proxy_view_from_planes\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20skgpu::Budgeted\29::$_0::__invoke\28void*\2c\20void*\29 +8556:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29.1 +8557:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::visitProxies\28std::__2::function\20const&\29\20const +8558:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8559:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8560:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8561:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::name\28\29\20const +8562:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::fixedFunctionFlags\28\29\20const +8563:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8564:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::name\28\29\20const +8565:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8566:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8567:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8568:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8569:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29.1 +8570:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::name\28\29\20const +8571:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8572:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8573:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29.1 +8574:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +8575:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8576:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8577:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8578:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8579:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::name\28\29\20const +8580:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::fixedFunctionFlags\28\29\20const +8581:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8582:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29.1 +8583:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +8584:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8585:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8586:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8587:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8588:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::name\28\29\20const +8589:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8590:skgpu::ganesh::TriangulatingPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8591:skgpu::ganesh::TriangulatingPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8592:skgpu::ganesh::TriangulatingPathRenderer::name\28\29\20const +8593:skgpu::ganesh::TessellationPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +8594:skgpu::ganesh::TessellationPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +8595:skgpu::ganesh::TessellationPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8596:skgpu::ganesh::TessellationPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8597:skgpu::ganesh::TessellationPathRenderer::name\28\29\20const +8598:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29 +8599:skgpu::ganesh::SurfaceDrawContext::willReplaceOpsTask\28skgpu::ganesh::OpsTask*\2c\20skgpu::ganesh::OpsTask*\29 +8600:skgpu::ganesh::SurfaceDrawContext::canDiscardPreviousOpsOnFullClear\28\29\20const +8601:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29.1 +8602:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +8603:skgpu::ganesh::SurfaceContext::asyncReadPixels\28GrDirectContext*\2c\20SkIRect\20const&\2c\20SkColorType\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +8604:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29.1 +8605:skgpu::ganesh::StrokeTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +8606:skgpu::ganesh::StrokeTessellateOp::usesStencil\28\29\20const +8607:skgpu::ganesh::StrokeTessellateOp::onPrepare\28GrOpFlushState*\29 +8608:skgpu::ganesh::StrokeTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8609:skgpu::ganesh::StrokeTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8610:skgpu::ganesh::StrokeTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8611:skgpu::ganesh::StrokeTessellateOp::name\28\29\20const +8612:skgpu::ganesh::StrokeTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8613:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29.1 +8614:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +8615:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::programInfo\28\29 +8616:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8617:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8618:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8619:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::name\28\29\20const +8620:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8621:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29.1 +8622:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +8623:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::programInfo\28\29 +8624:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8625:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8626:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8627:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8628:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::name\28\29\20const +8629:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8630:skgpu::ganesh::StencilClip::~StencilClip\28\29.1 +8631:skgpu::ganesh::StencilClip::~StencilClip\28\29 +8632:skgpu::ganesh::StencilClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +8633:skgpu::ganesh::StencilClip::getConservativeBounds\28\29\20const +8634:skgpu::ganesh::StencilClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +8635:skgpu::ganesh::SoftwarePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8636:skgpu::ganesh::SoftwarePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8637:skgpu::ganesh::SoftwarePathRenderer::name\28\29\20const +8638:skgpu::ganesh::SmallPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8639:skgpu::ganesh::SmallPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8640:skgpu::ganesh::SmallPathRenderer::name\28\29\20const +8641:skgpu::ganesh::SmallPathAtlasMgr::postFlush\28skgpu::AtlasToken\29 +8642:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29.1 +8643:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8644:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::programInfo\28\29 +8645:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8646:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8647:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8648:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8649:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::name\28\29\20const +8650:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8651:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_quad_generic\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8652:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8653:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8654:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8655:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8656:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8657:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8658:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8659:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29.1 +8660:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::onTextureSampler\28int\29\20const +8661:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::name\28\29\20const +8662:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8663:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8664:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8665:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8666:skgpu::ganesh::PathWedgeTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +8667:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29.1 +8668:skgpu::ganesh::PathTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +8669:skgpu::ganesh::PathTessellateOp::usesStencil\28\29\20const +8670:skgpu::ganesh::PathTessellateOp::onPrepare\28GrOpFlushState*\29 +8671:skgpu::ganesh::PathTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8672:skgpu::ganesh::PathTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8673:skgpu::ganesh::PathTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8674:skgpu::ganesh::PathTessellateOp::name\28\29\20const +8675:skgpu::ganesh::PathTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8676:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29.1 +8677:skgpu::ganesh::PathStencilCoverOp::visitProxies\28std::__2::function\20const&\29\20const +8678:skgpu::ganesh::PathStencilCoverOp::onPrepare\28GrOpFlushState*\29 +8679:skgpu::ganesh::PathStencilCoverOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8680:skgpu::ganesh::PathStencilCoverOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8681:skgpu::ganesh::PathStencilCoverOp::name\28\29\20const +8682:skgpu::ganesh::PathStencilCoverOp::fixedFunctionFlags\28\29\20const +8683:skgpu::ganesh::PathStencilCoverOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8684:skgpu::ganesh::PathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +8685:skgpu::ganesh::PathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +8686:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29.1 +8687:skgpu::ganesh::PathInnerTriangulateOp::visitProxies\28std::__2::function\20const&\29\20const +8688:skgpu::ganesh::PathInnerTriangulateOp::onPrepare\28GrOpFlushState*\29 +8689:skgpu::ganesh::PathInnerTriangulateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8690:skgpu::ganesh::PathInnerTriangulateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8691:skgpu::ganesh::PathInnerTriangulateOp::name\28\29\20const +8692:skgpu::ganesh::PathInnerTriangulateOp::fixedFunctionFlags\28\29\20const +8693:skgpu::ganesh::PathInnerTriangulateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8694:skgpu::ganesh::PathCurveTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +8695:skgpu::ganesh::OpsTask::~OpsTask\28\29.1 +8696:skgpu::ganesh::OpsTask::onPrepare\28GrOpFlushState*\29 +8697:skgpu::ganesh::OpsTask::onPrePrepare\28GrRecordingContext*\29 +8698:skgpu::ganesh::OpsTask::onMakeSkippable\28\29 +8699:skgpu::ganesh::OpsTask::onIsUsed\28GrSurfaceProxy*\29\20const +8700:skgpu::ganesh::OpsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +8701:skgpu::ganesh::OpsTask::endFlush\28GrDrawingManager*\29 +8702:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29.1 +8703:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::visitProxies\28std::__2::function\20const&\29\20const +8704:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8705:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8706:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8707:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8708:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::name\28\29\20const +8709:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8710:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29.1 +8711:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::onTextureSampler\28int\29\20const +8712:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::name\28\29\20const +8713:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8714:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8715:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8716:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8717:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29.1 +8718:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8719:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::programInfo\28\29 +8720:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8721:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8722:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8723:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8724:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::name\28\29\20const +8725:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8726:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::clipToShape\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkClipOp\2c\20SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\29 +8727:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29.1 +8728:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29 +8729:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::name\28\29\20const +8730:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8731:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8732:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8733:skgpu::ganesh::DrawableOp::~DrawableOp\28\29.1 +8734:skgpu::ganesh::DrawableOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8735:skgpu::ganesh::DrawableOp::name\28\29\20const +8736:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29.1 +8737:skgpu::ganesh::DrawAtlasPathOp::visitProxies\28std::__2::function\20const&\29\20const +8738:skgpu::ganesh::DrawAtlasPathOp::onPrepare\28GrOpFlushState*\29 +8739:skgpu::ganesh::DrawAtlasPathOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8740:skgpu::ganesh::DrawAtlasPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8741:skgpu::ganesh::DrawAtlasPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8742:skgpu::ganesh::DrawAtlasPathOp::name\28\29\20const +8743:skgpu::ganesh::DrawAtlasPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8744:skgpu::ganesh::Device::~Device\28\29.1 +8745:skgpu::ganesh::Device::strikeDeviceInfo\28\29\20const +8746:skgpu::ganesh::Device::snapSpecial\28SkIRect\20const&\2c\20bool\29 +8747:skgpu::ganesh::Device::snapSpecialScaled\28SkIRect\20const&\2c\20SkISize\20const&\29 +8748:skgpu::ganesh::Device::replaceClip\28SkIRect\20const&\29 +8749:skgpu::ganesh::Device::recordingContext\28\29\20const +8750:skgpu::ganesh::Device::pushClipStack\28\29 +8751:skgpu::ganesh::Device::popClipStack\28\29 +8752:skgpu::ganesh::Device::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +8753:skgpu::ganesh::Device::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +8754:skgpu::ganesh::Device::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +8755:skgpu::ganesh::Device::onClipShader\28sk_sp\29 +8756:skgpu::ganesh::Device::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +8757:skgpu::ganesh::Device::makeSpecial\28SkImage\20const*\29 +8758:skgpu::ganesh::Device::isClipWideOpen\28\29\20const +8759:skgpu::ganesh::Device::isClipRect\28\29\20const +8760:skgpu::ganesh::Device::isClipEmpty\28\29\20const +8761:skgpu::ganesh::Device::isClipAntiAliased\28\29\20const +8762:skgpu::ganesh::Device::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +8763:skgpu::ganesh::Device::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +8764:skgpu::ganesh::Device::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +8765:skgpu::ganesh::Device::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +8766:skgpu::ganesh::Device::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +8767:skgpu::ganesh::Device::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +8768:skgpu::ganesh::Device::drawPaint\28SkPaint\20const&\29 +8769:skgpu::ganesh::Device::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +8770:skgpu::ganesh::Device::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +8771:skgpu::ganesh::Device::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +8772:skgpu::ganesh::Device::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +8773:skgpu::ganesh::Device::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +8774:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +8775:skgpu::ganesh::Device::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +8776:skgpu::ganesh::Device::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +8777:skgpu::ganesh::Device::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +8778:skgpu::ganesh::Device::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +8779:skgpu::ganesh::Device::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +8780:skgpu::ganesh::Device::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +8781:skgpu::ganesh::Device::devClipBounds\28\29\20const +8782:skgpu::ganesh::Device::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +8783:skgpu::ganesh::Device::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +8784:skgpu::ganesh::Device::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +8785:skgpu::ganesh::Device::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +8786:skgpu::ganesh::Device::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +8787:skgpu::ganesh::Device::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +8788:skgpu::ganesh::Device::android_utils_clipWithStencil\28\29 +8789:skgpu::ganesh::DefaultPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +8790:skgpu::ganesh::DefaultPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +8791:skgpu::ganesh::DefaultPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8792:skgpu::ganesh::DefaultPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8793:skgpu::ganesh::DefaultPathRenderer::name\28\29\20const +8794:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::name\28\29\20const +8795:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8796:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8797:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8798:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::name\28\29\20const +8799:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8800:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8801:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8802:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29.1 +8803:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8804:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::programInfo\28\29 +8805:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8806:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8807:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8808:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8809:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::name\28\29\20const +8810:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::fixedFunctionFlags\28\29\20const +8811:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8812:skgpu::ganesh::DashLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8813:skgpu::ganesh::DashLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8814:skgpu::ganesh::DashLinePathRenderer::name\28\29\20const +8815:skgpu::ganesh::ClipStack::~ClipStack\28\29.1 +8816:skgpu::ganesh::ClipStack::preApply\28SkRect\20const&\2c\20GrAA\29\20const +8817:skgpu::ganesh::ClipStack::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +8818:skgpu::ganesh::ClearOp::~ClearOp\28\29 +8819:skgpu::ganesh::ClearOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8820:skgpu::ganesh::ClearOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8821:skgpu::ganesh::ClearOp::name\28\29\20const +8822:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29.1 +8823:skgpu::ganesh::AtlasTextOp::visitProxies\28std::__2::function\20const&\29\20const +8824:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8825:skgpu::ganesh::AtlasTextOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8826:skgpu::ganesh::AtlasTextOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8827:skgpu::ganesh::AtlasTextOp::name\28\29\20const +8828:skgpu::ganesh::AtlasTextOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8829:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29.1 +8830:skgpu::ganesh::AtlasRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +8831:skgpu::ganesh::AtlasRenderTask::onExecute\28GrOpFlushState*\29 +8832:skgpu::ganesh::AtlasPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8833:skgpu::ganesh::AtlasPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8834:skgpu::ganesh::AtlasPathRenderer::name\28\29\20const +8835:skgpu::ganesh::AALinearizingConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8836:skgpu::ganesh::AALinearizingConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8837:skgpu::ganesh::AALinearizingConvexPathRenderer::name\28\29\20const +8838:skgpu::ganesh::AAHairLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8839:skgpu::ganesh::AAHairLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8840:skgpu::ganesh::AAHairLinePathRenderer::name\28\29\20const +8841:skgpu::ganesh::AAConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8842:skgpu::ganesh::AAConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8843:skgpu::ganesh::AAConvexPathRenderer::name\28\29\20const +8844:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29.1 +8845:skgpu::TAsyncReadResult::rowBytes\28int\29\20const +8846:skgpu::TAsyncReadResult::data\28int\29\20const +8847:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29.1 +8848:skgpu::StringKeyBuilder::appendComment\28char\20const*\29 +8849:skgpu::StringKeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +8850:skgpu::ShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\2c\20bool\29 +8851:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29.1 +8852:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29 +8853:skgpu::RectanizerSkyline::percentFull\28\29\20const +8854:skgpu::RectanizerPow2::reset\28\29 +8855:skgpu::RectanizerPow2::percentFull\28\29\20const +8856:skgpu::RectanizerPow2::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +8857:skgpu::Plot::~Plot\28\29.1 +8858:skgpu::KeyBuilder::~KeyBuilder\28\29 +8859:skgpu::DefaultShaderErrorHandler\28\29::DefaultShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\29 +8860:sk_mmap_releaseproc\28void\20const*\2c\20void*\29 +8861:sk_ft_stream_io\28FT_StreamRec_*\2c\20unsigned\20long\2c\20unsigned\20char*\2c\20unsigned\20long\29 +8862:sk_ft_realloc\28FT_MemoryRec_*\2c\20long\2c\20long\2c\20void*\29 +8863:sk_ft_alloc\28FT_MemoryRec_*\2c\20long\29 +8864:sk_fclose\28_IO_FILE*\29 +8865:skString_getData +8866:skString_free +8867:skString_allocate +8868:skString16_getData +8869:skString16_free +8870:skString16_allocate +8871:skData_dispose +8872:skData_create +8873:shader_createSweepGradient +8874:shader_createRuntimeEffectShader +8875:shader_createRadialGradient +8876:shader_createLinearGradient +8877:shader_createFromImage +8878:shader_createConicalGradient +8879:sfnt_table_info +8880:sfnt_stream_close +8881:sfnt_load_face +8882:sfnt_is_postscript +8883:sfnt_is_alphanumeric +8884:sfnt_init_face +8885:sfnt_get_ps_name +8886:sfnt_get_name_index +8887:sfnt_get_interface +8888:sfnt_get_glyph_name +8889:sfnt_get_charset_id +8890:sfnt_done_face +8891:setup_syllables_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8892:setup_syllables_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8893:setup_syllables_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8894:setup_syllables_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8895:setup_masks_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8896:setup_masks_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8897:setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8898:setup_masks_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8899:setup_masks_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8900:setup_masks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8901:runtimeEffect_getUniformSize +8902:runtimeEffect_create +8903:reverse_hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8904:reverse_hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8905:reorder_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8906:reorder_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8907:reorder_marks_hebrew\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +8908:reorder_marks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +8909:reorder_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8910:release_data\28void*\2c\20void*\29 +8911:rect_memcpy\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\2c\20SkColorSpaceXformSteps\20const&\29 +8912:record_stch\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8913:record_rphf_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8914:record_pref_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8915:receive_notification +8916:read_data_from_FT_Stream +8917:pthread_self +8918:psnames_get_service +8919:pshinter_get_t2_funcs +8920:pshinter_get_t1_funcs +8921:pshinter_get_globals_funcs +8922:psh_globals_new +8923:psh_globals_destroy +8924:psaux_get_glyph_name +8925:ps_table_release +8926:ps_table_new +8927:ps_table_done +8928:ps_table_add +8929:ps_property_set +8930:ps_property_get +8931:ps_parser_to_int +8932:ps_parser_to_fixed_array +8933:ps_parser_to_fixed +8934:ps_parser_to_coord_array +8935:ps_parser_to_bytes +8936:ps_parser_load_field_table +8937:ps_parser_init +8938:ps_hints_t2mask +8939:ps_hints_t2counter +8940:ps_hints_t1stem3 +8941:ps_hints_t1reset +8942:ps_hints_close +8943:ps_hints_apply +8944:ps_hinter_init +8945:ps_hinter_done +8946:ps_get_standard_strings +8947:ps_get_macintosh_name +8948:ps_decoder_init +8949:preprocess_text_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8950:preprocess_text_thai\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8951:preprocess_text_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8952:preprocess_text_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8953:premultiply_data +8954:premul_rgb\28SkRGBA4f<\28SkAlphaType\292>\29 +8955:premul_polar\28SkRGBA4f<\28SkAlphaType\292>\29 +8956:postprocess_glyphs_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8957:portable::xy_to_unit_angle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8958:portable::xy_to_radius\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8959:portable::xy_to_2pt_conical_well_behaved\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8960:portable::xy_to_2pt_conical_strip\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8961:portable::xy_to_2pt_conical_smaller\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8962:portable::xy_to_2pt_conical_greater\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8963:portable::xy_to_2pt_conical_focal_on_circle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8964:portable::xor_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8965:portable::white_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8966:portable::unpremul_polar\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8967:portable::unpremul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8968:portable::uniform_color_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8969:portable::trace_var\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8970:portable::trace_scope\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8971:portable::trace_line\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8972:portable::trace_exit\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8973:portable::trace_enter\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8974:portable::tan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8975:portable::swizzle_copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8976:portable::swizzle_copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8977:portable::swizzle_copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8978:portable::swizzle_copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8979:portable::swizzle_copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8980:portable::swizzle_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8981:portable::swizzle_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8982:portable::swizzle_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8983:portable::swizzle_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8984:portable::swizzle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8985:portable::swap_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8986:portable::swap_rb_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8987:portable::swap_rb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8988:portable::sub_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8989:portable::sub_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8990:portable::sub_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8991:portable::sub_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8992:portable::sub_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8993:portable::sub_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8994:portable::sub_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8995:portable::sub_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8996:portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8997:portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8998:portable::store_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8999:portable::store_src_a\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9000:portable::store_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9001:portable::store_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9002:portable::store_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9003:portable::store_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9004:portable::store_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9005:portable::store_r8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9006:portable::store_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9007:portable::store_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9008:portable::store_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9009:portable::store_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9010:portable::store_device_xy01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9011:portable::store_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9012:portable::store_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9013:portable::store_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9014:portable::store_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9015:portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9016:portable::store_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9017:portable::store_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9018:portable::store_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9019:portable::store_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9020:portable::store_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9021:portable::store_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9022:portable::store_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9023:portable::start_pipeline\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkRasterPipelineStage*\2c\20SkSpan\2c\20unsigned\20char*\29 +9024:portable::stack_rewind\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9025:portable::stack_checkpoint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9026:portable::srcover_rgba_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9027:portable::srcover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9028:portable::srcout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9029:portable::srcin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9030:portable::srcatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9031:portable::sqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9032:portable::splat_4_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9033:portable::splat_3_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9034:portable::splat_2_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9035:portable::softlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9036:portable::smoothstep_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9037:portable::sin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9038:portable::shuffle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9039:portable::set_base_pointer\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9040:portable::seed_shader\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9041:portable::screen\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9042:portable::scale_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9043:portable::scale_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9044:portable::scale_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9045:portable::scale_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9046:portable::saturation\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9047:portable::rgb_to_hsl\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9048:portable::repeat_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9049:portable::repeat_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9050:portable::repeat_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9051:portable::refract_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9052:portable::reenable_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9053:portable::premul_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9054:portable::premul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9055:portable::pow_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9056:portable::plus_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9057:portable::perlin_noise\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9058:portable::parametric\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9059:portable::overlay\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9060:portable::negate_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9061:portable::multiply\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9062:portable::mul_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9063:portable::mul_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9064:portable::mul_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9065:portable::mul_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9066:portable::mul_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9067:portable::mul_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9068:portable::mul_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9069:portable::mul_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9070:portable::mul_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9071:portable::mul_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9072:portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9073:portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9074:portable::move_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9075:portable::move_dst_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9076:portable::modulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9077:portable::mod_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9078:portable::mod_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9079:portable::mod_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9080:portable::mod_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9081:portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9082:portable::mix_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9083:portable::mix_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9084:portable::mix_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9085:portable::mix_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9086:portable::mix_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9087:portable::mix_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9088:portable::mix_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9089:portable::mix_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9090:portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9091:portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9092:portable::mirror_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9093:portable::mirror_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9094:portable::mirror_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9095:portable::mipmap_linear_update\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9096:portable::mipmap_linear_init\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9097:portable::mipmap_linear_finish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9098:portable::min_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9099:portable::min_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9100:portable::min_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9101:portable::min_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9102:portable::min_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9103:portable::min_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9104:portable::min_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9105:portable::min_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9106:portable::min_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9107:portable::min_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9108:portable::min_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9109:portable::min_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9110:portable::min_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9111:portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9112:portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9113:portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9114:portable::merge_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9115:portable::merge_inv_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9116:portable::merge_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9117:portable::max_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9118:portable::max_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9119:portable::max_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9120:portable::max_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9121:portable::max_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9122:portable::max_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9123:portable::max_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9124:portable::max_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9125:portable::max_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9126:portable::max_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9127:portable::max_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9128:portable::max_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9129:portable::max_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9130:portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9131:portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9132:portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9133:portable::matrix_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9134:portable::matrix_scale_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9135:portable::matrix_perspective\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9136:portable::matrix_multiply_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9137:portable::matrix_multiply_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9138:portable::matrix_multiply_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9139:portable::matrix_4x5\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9140:portable::matrix_4x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9141:portable::matrix_3x4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9142:portable::matrix_3x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9143:portable::matrix_2x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9144:portable::mask_off_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9145:portable::mask_off_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9146:portable::mask_2pt_conical_nan\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9147:portable::mask_2pt_conical_degenerates\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9148:portable::luminosity\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9149:portable::log_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9150:portable::log2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9151:portable::load_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9152:portable::load_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9153:portable::load_rgf16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9154:portable::load_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9155:portable::load_rg88_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9156:portable::load_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9157:portable::load_rg1616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9158:portable::load_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9159:portable::load_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9160:portable::load_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9161:portable::load_f32_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9162:portable::load_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9163:portable::load_f16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9164:portable::load_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9165:portable::load_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9166:portable::load_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9167:portable::load_af16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9168:portable::load_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9169:portable::load_a8_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9170:portable::load_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9171:portable::load_a16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9172:portable::load_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9173:portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9174:portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9175:portable::load_565_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9176:portable::load_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9177:portable::load_4444_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9178:portable::load_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9179:portable::load_16161616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9180:portable::load_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9181:portable::load_10x6_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9182:portable::load_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9183:portable::load_1010102_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9184:portable::load_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9185:portable::load_1010102_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9186:portable::load_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9187:portable::load_10101010_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9188:portable::load_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9189:portable::lighten\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9190:portable::lerp_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9191:portable::lerp_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9192:portable::lerp_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9193:portable::lerp_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9194:portable::just_return\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9195:portable::jump\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9196:portable::invsqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9197:portable::invsqrt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9198:portable::invsqrt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9199:portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9200:portable::inverse_mat4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9201:portable::inverse_mat3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9202:portable::inverse_mat2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9203:portable::init_lane_masks\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9204:portable::hue\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9205:portable::hsl_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9206:portable::hardlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9207:portable::gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9208:portable::gauss_a_to_rgba\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9209:portable::gather_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9210:portable::gather_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9211:portable::gather_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9212:portable::gather_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9213:portable::gather_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9214:portable::gather_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9215:portable::gather_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9216:portable::gather_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9217:portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9218:portable::gather_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9219:portable::gather_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9220:portable::gather_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9221:portable::gather_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9222:portable::gather_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9223:portable::gather_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9224:portable::gather_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9225:portable::gamma_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9226:portable::force_opaque_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9227:portable::force_opaque\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9228:portable::floor_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9229:portable::floor_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9230:portable::floor_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9231:portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9232:portable::exp_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9233:portable::exp2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9234:portable::exclusion\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9235:portable::exchange_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9236:portable::evenly_spaced_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9237:portable::evenly_spaced_2_stop_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9238:portable::emboss\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9239:portable::dstover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9240:portable::dstout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9241:portable::dstin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9242:portable::dstatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9243:portable::dot_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9244:portable::dot_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9245:portable::dot_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9246:portable::div_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9247:portable::div_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9248:portable::div_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9249:portable::div_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9250:portable::div_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9251:portable::div_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9252:portable::div_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9253:portable::div_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9254:portable::div_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9255:portable::div_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9256:portable::div_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9257:portable::div_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9258:portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9259:portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9260:portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9261:portable::dither\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9262:portable::difference\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9263:portable::decal_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9264:portable::decal_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9265:portable::decal_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9266:portable::darken\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9267:portable::css_oklab_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9268:portable::css_oklab_gamut_map_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9269:portable::css_lab_to_xyz\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9270:portable::css_hwb_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9271:portable::css_hsl_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9272:portable::css_hcl_to_lab\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9273:portable::cos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9274:portable::copy_uniform\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9275:portable::copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9276:portable::copy_slot_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9277:portable::copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9278:portable::copy_immutable_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9279:portable::copy_constant\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9280:portable::copy_4_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9281:portable::copy_4_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9282:portable::copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9283:portable::copy_4_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9284:portable::copy_3_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9285:portable::copy_3_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9286:portable::copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9287:portable::copy_3_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9288:portable::copy_2_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9289:portable::copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9290:portable::continue_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9291:portable::colordodge\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9292:portable::colorburn\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9293:portable::color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9294:portable::cmpne_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9295:portable::cmpne_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9296:portable::cmpne_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9297:portable::cmpne_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9298:portable::cmpne_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9299:portable::cmpne_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9300:portable::cmpne_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9301:portable::cmpne_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9302:portable::cmpne_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9303:portable::cmpne_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9304:portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9305:portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9306:portable::cmplt_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9307:portable::cmplt_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9308:portable::cmplt_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9309:portable::cmplt_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9310:portable::cmplt_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9311:portable::cmplt_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9312:portable::cmplt_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9313:portable::cmplt_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9314:portable::cmplt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9315:portable::cmplt_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9316:portable::cmplt_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9317:portable::cmplt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9318:portable::cmplt_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9319:portable::cmplt_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9320:portable::cmplt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9321:portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9322:portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9323:portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9324:portable::cmple_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9325:portable::cmple_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9326:portable::cmple_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9327:portable::cmple_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9328:portable::cmple_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9329:portable::cmple_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9330:portable::cmple_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9331:portable::cmple_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9332:portable::cmple_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9333:portable::cmple_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9334:portable::cmple_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9335:portable::cmple_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9336:portable::cmple_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9337:portable::cmple_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9338:portable::cmple_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9339:portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9340:portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9341:portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9342:portable::cmpeq_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9343:portable::cmpeq_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9344:portable::cmpeq_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9345:portable::cmpeq_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9346:portable::cmpeq_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9347:portable::cmpeq_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9348:portable::cmpeq_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9349:portable::cmpeq_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9350:portable::cmpeq_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9351:portable::cmpeq_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9352:portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9353:portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9354:portable::clear\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9355:portable::clamp_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9356:portable::clamp_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9357:portable::clamp_gamut\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9358:portable::clamp_01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9359:portable::ceil_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9360:portable::ceil_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9361:portable::ceil_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9362:portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9363:portable::cast_to_uint_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9364:portable::cast_to_uint_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9365:portable::cast_to_uint_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9366:portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9367:portable::cast_to_int_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9368:portable::cast_to_int_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9369:portable::cast_to_int_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9370:portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9371:portable::cast_to_float_from_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9372:portable::cast_to_float_from_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9373:portable::cast_to_float_from_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9374:portable::cast_to_float_from_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9375:portable::cast_to_float_from_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9376:portable::cast_to_float_from_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9377:portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9378:portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9379:portable::case_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9380:portable::callback\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9381:portable::byte_tables\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9382:portable::bt709_luminance_or_luma_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9383:portable::bt709_luminance_or_luma_to_alpha\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9384:portable::branch_if_no_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9385:portable::branch_if_no_active_lanes_eq\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9386:portable::branch_if_any_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9387:portable::branch_if_all_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9388:portable::blit_row_s32a_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9389:portable::black_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9390:portable::bitwise_xor_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9391:portable::bitwise_xor_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9392:portable::bitwise_xor_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9393:portable::bitwise_xor_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9394:portable::bitwise_xor_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9395:portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9396:portable::bitwise_or_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9397:portable::bitwise_or_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9398:portable::bitwise_or_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9399:portable::bitwise_or_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9400:portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9401:portable::bitwise_and_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9402:portable::bitwise_and_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9403:portable::bitwise_and_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9404:portable::bitwise_and_imm_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9405:portable::bitwise_and_imm_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9406:portable::bitwise_and_imm_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9407:portable::bitwise_and_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9408:portable::bitwise_and_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9409:portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9410:portable::bilinear_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9411:portable::bilinear_py\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9412:portable::bilinear_px\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9413:portable::bilinear_ny\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9414:portable::bilinear_nx\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9415:portable::bilerp_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9416:portable::bicubic_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9417:portable::bicubic_p3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9418:portable::bicubic_p3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9419:portable::bicubic_p1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9420:portable::bicubic_p1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9421:portable::bicubic_n3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9422:portable::bicubic_n3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9423:portable::bicubic_n1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9424:portable::bicubic_n1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9425:portable::bicubic_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9426:portable::atan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9427:portable::atan2_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9428:portable::asin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9429:portable::alter_2pt_conical_unswap\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9430:portable::alter_2pt_conical_compensate_focal\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9431:portable::alpha_to_red_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9432:portable::alpha_to_red\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9433:portable::alpha_to_gray_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9434:portable::alpha_to_gray\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9435:portable::add_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9436:portable::add_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9437:portable::add_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9438:portable::add_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9439:portable::add_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9440:portable::add_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9441:portable::add_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9442:portable::add_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9443:portable::add_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9444:portable::add_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9445:portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9446:portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9447:portable::acos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9448:portable::accumulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9449:portable::abs_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9450:portable::abs_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9451:portable::abs_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9452:portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9453:portable::RGBA_to_rgbA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +9454:portable::RGBA_to_bgrA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +9455:portable::RGBA_to_BGRA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +9456:portable::PQish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9457:portable::HLGish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9458:portable::HLGinvish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9459:pop_arg_long_double +9460:png_read_filter_row_up +9461:png_read_filter_row_sub +9462:png_read_filter_row_paeth_multibyte_pixel +9463:png_read_filter_row_paeth_1byte_pixel +9464:png_read_filter_row_avg +9465:picture_getCullRect +9466:pictureRecorder_endRecording +9467:pictureRecorder_dispose +9468:pictureRecorder_create +9469:pictureRecorder_beginRecording +9470:path_transform +9471:path_setFillType +9472:path_reset +9473:path_relativeQuadraticBezierTo +9474:path_relativeMoveTo +9475:path_relativeLineTo +9476:path_relativeCubicTo +9477:path_relativeConicTo +9478:path_relativeArcToRotated +9479:path_moveTo +9480:path_lineTo +9481:path_getFillType +9482:path_getBounds +9483:path_dispose +9484:path_create +9485:path_copy +9486:path_contains +9487:path_conicTo +9488:path_combine +9489:path_close +9490:path_arcToRotated +9491:path_arcToOval +9492:path_addRect +9493:path_addRRect +9494:path_addPolygon +9495:path_addPath +9496:path_addArc +9497:paragraph_layout +9498:paragraph_getWordBoundary +9499:paragraph_getWidth +9500:paragraph_getUnresolvedCodePoints +9501:paragraph_getPositionForOffset +9502:paragraph_getMinIntrinsicWidth +9503:paragraph_getMaxIntrinsicWidth +9504:paragraph_getLongestLine +9505:paragraph_getLineNumberAt +9506:paragraph_getLineMetricsAtIndex +9507:paragraph_getLineCount +9508:paragraph_getIdeographicBaseline +9509:paragraph_getHeight +9510:paragraph_getGlyphInfoAt +9511:paragraph_getDidExceedMaxLines +9512:paragraph_getClosestGlyphInfoAtCoordinate +9513:paragraph_getBoxesForRange +9514:paragraph_getBoxesForPlaceholders +9515:paragraph_getAlphabeticBaseline +9516:paragraphStyle_setTextStyle +9517:paragraphStyle_setTextHeightBehavior +9518:paragraphStyle_setTextDirection +9519:paragraphStyle_setTextAlign +9520:paragraphStyle_setStrutStyle +9521:paragraphStyle_setMaxLines +9522:paragraphStyle_setHeight +9523:paragraphStyle_setEllipsis +9524:paragraphStyle_setApplyRoundingHack +9525:paragraphStyle_dispose +9526:paragraphStyle_create +9527:paragraphBuilder_setWordBreaksUtf16 +9528:paragraphBuilder_setLineBreaksUtf16 +9529:paragraphBuilder_setGraphemeBreaksUtf16 +9530:paragraphBuilder_pushStyle +9531:paragraphBuilder_pop +9532:paragraphBuilder_getUtf8Text +9533:paragraphBuilder_create +9534:paragraphBuilder_build +9535:paragraphBuilder_addText +9536:paragraphBuilder_addPlaceholder +9537:paint_setStyle +9538:paint_setStrokeWidth +9539:paint_setStrokeJoin +9540:paint_setStrokeCap +9541:paint_setShader +9542:paint_setMiterLimit +9543:paint_setMaskFilter +9544:paint_setImageFilter +9545:paint_setColorInt +9546:paint_setColorFilter +9547:paint_setBlendMode +9548:paint_setAntiAlias +9549:paint_getStyle +9550:paint_getStrokeJoin +9551:paint_getStrokeCap +9552:paint_getMiterLimit +9553:paint_getColorInt +9554:paint_getAntiAlias +9555:paint_dispose +9556:paint_create +9557:override_features_khmer\28hb_ot_shape_planner_t*\29 +9558:override_features_indic\28hb_ot_shape_planner_t*\29 +9559:override_features_hangul\28hb_ot_shape_planner_t*\29 +9560:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +9561:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +9562:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +9563:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +9564:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.3 +9565:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.2 +9566:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +9567:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +9568:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +9569:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +9570:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +9571:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +9572:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +9573:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +9574:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +9575:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +9576:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +9577:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9578:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +9579:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +9580:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9581:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +9582:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +9583:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9584:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +9585:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +9586:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9587:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +9588:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9589:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +9590:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +9591:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9592:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +9593:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +9594:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +9595:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +9596:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +9597:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +9598:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29.1 +9599:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29 +9600:non-virtual\20thunk\20to\20GrOpFlushState::writeView\28\29\20const +9601:non-virtual\20thunk\20to\20GrOpFlushState::usesMSAASurface\28\29\20const +9602:non-virtual\20thunk\20to\20GrOpFlushState::threadSafeCache\28\29\20const +9603:non-virtual\20thunk\20to\20GrOpFlushState::strikeCache\28\29\20const +9604:non-virtual\20thunk\20to\20GrOpFlushState::smallPathAtlasManager\28\29\20const +9605:non-virtual\20thunk\20to\20GrOpFlushState::sampledProxyArray\28\29 +9606:non-virtual\20thunk\20to\20GrOpFlushState::rtProxy\28\29\20const +9607:non-virtual\20thunk\20to\20GrOpFlushState::resourceProvider\28\29\20const +9608:non-virtual\20thunk\20to\20GrOpFlushState::renderPassBarriers\28\29\20const +9609:non-virtual\20thunk\20to\20GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +9610:non-virtual\20thunk\20to\20GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +9611:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndirectDraws\28int\29 +9612:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndices\28int\29 +9613:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +9614:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +9615:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +9616:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +9617:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +9618:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +9619:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +9620:non-virtual\20thunk\20to\20GrOpFlushState::dstProxyView\28\29\20const +9621:non-virtual\20thunk\20to\20GrOpFlushState::detachAppliedClip\28\29 +9622:non-virtual\20thunk\20to\20GrOpFlushState::colorLoadOp\28\29\20const +9623:non-virtual\20thunk\20to\20GrOpFlushState::caps\28\29\20const +9624:non-virtual\20thunk\20to\20GrOpFlushState::atlasManager\28\29\20const +9625:non-virtual\20thunk\20to\20GrOpFlushState::appliedClip\28\29\20const +9626:non-virtual\20thunk\20to\20GrGpuBuffer::unref\28\29\20const +9627:non-virtual\20thunk\20to\20GrGpuBuffer::ref\28\29\20const +9628:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +9629:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +9630:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onSetLabel\28\29 +9631:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +9632:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +9633:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +9634:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +9635:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::backendFormat\28\29\20const +9636:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +9637:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +9638:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +9639:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +9640:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::dstColor\28\29 +9641:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29.1 +9642:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29 +9643:maskFilter_createBlur +9644:lineMetrics_getWidth +9645:lineMetrics_getUnscaledAscent +9646:lineMetrics_getLeft +9647:lineMetrics_getHeight +9648:lineMetrics_getDescent +9649:lineMetrics_getBaseline +9650:lineMetrics_getAscent +9651:lineMetrics_dispose +9652:lineMetrics_create +9653:lineBreakBuffer_create +9654:lin_srgb_to_okhcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +9655:legalfunc$glWaitSync +9656:legalfunc$glClientWaitSync +9657:lcd_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9658:is_deleted_glyph\28hb_glyph_info_t\20const*\29 +9659:initial_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9660:image_getHeight +9661:image_createFromTextureSource +9662:image_createFromPixels +9663:image_createFromPicture +9664:imageFilter_getFilterBounds +9665:imageFilter_createMatrix +9666:imageFilter_createFromColorFilter +9667:imageFilter_createErode +9668:imageFilter_createDilate +9669:imageFilter_createBlur +9670:imageFilter_compose +9671:hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +9672:hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +9673:hb_unicode_script_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9674:hb_unicode_general_category_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9675:hb_ucd_script\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9676:hb_ucd_mirroring\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9677:hb_ucd_general_category\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9678:hb_ucd_decompose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20void*\29 +9679:hb_ucd_compose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9680:hb_ucd_combining_class\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9681:hb_syllabic_clear_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9682:hb_paint_sweep_gradient_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9683:hb_paint_push_transform_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9684:hb_paint_push_clip_rectangle_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9685:hb_paint_image_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +9686:hb_paint_extents_push_transform\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9687:hb_paint_extents_push_group\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +9688:hb_paint_extents_push_clip_rectangle\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9689:hb_paint_extents_push_clip_glyph\28hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_font_t*\2c\20void*\29 +9690:hb_paint_extents_pop_transform\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +9691:hb_paint_extents_pop_group\28hb_paint_funcs_t*\2c\20void*\2c\20hb_paint_composite_mode_t\2c\20void*\29 +9692:hb_paint_extents_pop_clip\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +9693:hb_paint_extents_paint_sweep_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9694:hb_paint_extents_paint_image\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +9695:hb_paint_extents_paint_color\28hb_paint_funcs_t*\2c\20void*\2c\20int\2c\20unsigned\20int\2c\20void*\29 +9696:hb_outline_recording_pen_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9697:hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +9698:hb_outline_recording_pen_line_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +9699:hb_outline_recording_pen_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9700:hb_outline_recording_pen_close_path\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +9701:hb_ot_paint_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9702:hb_ot_map_t::lookup_map_t::cmp\28void\20const*\2c\20void\20const*\29 +9703:hb_ot_map_t::feature_map_t::cmp\28void\20const*\2c\20void\20const*\29 +9704:hb_ot_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +9705:hb_ot_get_variation_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9706:hb_ot_get_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +9707:hb_ot_get_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9708:hb_ot_get_glyph_v_origin\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9709:hb_ot_get_glyph_v_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9710:hb_ot_get_glyph_name\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +9711:hb_ot_get_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9712:hb_ot_get_glyph_from_name\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +9713:hb_ot_get_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9714:hb_ot_get_font_v_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +9715:hb_ot_get_font_h_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +9716:hb_ot_draw_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +9717:hb_font_paint_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9718:hb_font_paint_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9719:hb_font_get_variation_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9720:hb_font_get_nominal_glyphs_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +9721:hb_font_get_nominal_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9722:hb_font_get_nominal_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9723:hb_font_get_glyph_v_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9724:hb_font_get_glyph_v_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9725:hb_font_get_glyph_v_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9726:hb_font_get_glyph_v_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9727:hb_font_get_glyph_v_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9728:hb_font_get_glyph_v_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9729:hb_font_get_glyph_name_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +9730:hb_font_get_glyph_name_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +9731:hb_font_get_glyph_h_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9732:hb_font_get_glyph_h_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9733:hb_font_get_glyph_h_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9734:hb_font_get_glyph_h_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9735:hb_font_get_glyph_h_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9736:hb_font_get_glyph_h_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9737:hb_font_get_glyph_from_name_default\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +9738:hb_font_get_glyph_extents_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9739:hb_font_get_glyph_extents_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9740:hb_font_get_glyph_contour_point_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9741:hb_font_get_glyph_contour_point_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9742:hb_font_get_font_v_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +9743:hb_font_get_font_h_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +9744:hb_font_draw_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +9745:hb_draw_quadratic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9746:hb_draw_quadratic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9747:hb_draw_move_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +9748:hb_draw_line_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +9749:hb_draw_extents_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9750:hb_draw_extents_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9751:hb_draw_cubic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9752:hb_draw_close_path_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +9753:hb_buffer_t::_cluster_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +9754:hb_aat_map_builder_t::feature_event_t::cmp\28void\20const*\2c\20void\20const*\29 +9755:gray_raster_render +9756:gray_raster_new +9757:gray_raster_done +9758:gray_move_to +9759:gray_line_to +9760:gray_cubic_to +9761:gray_conic_to +9762:get_sfnt_table +9763:ft_smooth_transform +9764:ft_smooth_set_mode +9765:ft_smooth_render +9766:ft_smooth_overlap_spans +9767:ft_smooth_lcd_spans +9768:ft_smooth_init +9769:ft_smooth_get_cbox +9770:ft_gzip_free +9771:ft_ansi_stream_io +9772:ft_ansi_stream_close +9773:fquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9774:fontCollection_registerTypeface +9775:fontCollection_dispose +9776:fontCollection_create +9777:fontCollection_clearCaches +9778:fmt_fp +9779:fline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9780:final_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9781:fcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9782:fconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9783:error_callback +9784:emscripten_stack_set_limits +9785:emscripten_dispatch_to_thread_ +9786:emscripten_current_thread_process_queued_calls +9787:dquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9788:dline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9789:dispose_external_texture\28void*\29 +9790:decompose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +9791:decompose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +9792:decompose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +9793:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::Make\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20bool\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9794:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\2c\20GrShaderCaps\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::\28anonymous\20namespace\29::HullShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9795:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9796:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9797:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathTessellator::PathDrawList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9798:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29>\28skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20sk_sp\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9799:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Make\28SkArenaAlloc*\2c\20GrAAType\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9800:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerSkyline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9801:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerPow2&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9802:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TextureOpImpl::Desc&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9803:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TentPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9804:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::SimpleTriangleShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9805:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9806:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader\2c\20bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*\2c\20GrShaderCaps\20const&>\28bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*&&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::DrawAtlasPathShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9807:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&>\28SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::BoundingBoxShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9808:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20unsigned\20char&&\29::'lambda'\28void*\29>\28Sprite_D32_S32&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9809:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9810:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTCubic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9811:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTConic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9812:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\29::'lambda'\28void*\29>\28SkSpriteBlitter_Memcpy&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9813:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&>\28SkPixmap\20const&\2c\20SkArenaAlloc*&\2c\20sk_sp&\29::'lambda'\28void*\29>\28SkRasterPipelineSpriteBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9814:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkArenaAlloc*&\29::'lambda'\28void*\29>\28SkRasterPipelineBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9815:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9816:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkImage_Base\20const*&&\2c\20SkMatrix\20const&\2c\20SkMipmapMode&\29::'lambda'\28void*\29>\28SkMipmapAccessor&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9817:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::PathData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9818:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::DrawableData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9819:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkGlyph&&\29::'lambda'\28void*\29>\28SkGlyph&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9820:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\29>>::Node*\20SkArenaAlloc::make&\29>>::Node\2c\20std::__2::function&\29>>\28std::__2::function&\29>&&\29::'lambda'\28void*\29>\28SkArenaAllocList&\29>>::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9821:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9822:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node>\28\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9823:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Coverage_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9824:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28GrSimpleMesh&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9825:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9826:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPath\20const&\2c\20SkArenaAlloc*\20const&\29::'lambda'\28void*\29>\28GrInnerFanTriangulator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9827:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldLCDTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20GrDistanceFieldLCDTextGeoProc::DistanceAdjust\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9828:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9829:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrAppliedClip&&\29::'lambda'\28void*\29>\28GrAppliedClip&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9830:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28EllipseGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9831:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9832:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9833:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9834:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9835:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9836:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9837:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +9838:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9839:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9840:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9841:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9842:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +9843:deallocate_buffer_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9844:ddquad_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9845:ddquad_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9846:ddline_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9847:ddline_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9848:ddcubic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9849:ddcubic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9850:ddconic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9851:ddconic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9852:dconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9853:data_destroy_use\28void*\29 +9854:data_create_use\28hb_ot_shape_plan_t\20const*\29 +9855:data_create_khmer\28hb_ot_shape_plan_t\20const*\29 +9856:data_create_indic\28hb_ot_shape_plan_t\20const*\29 +9857:data_create_hangul\28hb_ot_shape_plan_t\20const*\29 +9858:convert_to_alpha8\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\2c\20SkColorSpaceXformSteps\20const&\29 +9859:convert_bytes_to_data +9860:contourMeasure_isClosed +9861:contourMeasure_getSegment +9862:contourMeasure_getPosTan +9863:contourMeasureIter_next +9864:contourMeasureIter_dispose +9865:contourMeasureIter_create +9866:compose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9867:compose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9868:compose_hebrew\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9869:compare_ppem +9870:compare_offsets +9871:compare_myanmar_order\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9872:compare_combining_class\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9873:colorFilter_createSRGBToLinearGamma +9874:colorFilter_createMode +9875:colorFilter_createMatrix +9876:colorFilter_createLinearToSRGBGamma +9877:colorFilter_compose +9878:collect_features_use\28hb_ot_shape_planner_t*\29 +9879:collect_features_myanmar\28hb_ot_shape_planner_t*\29 +9880:collect_features_khmer\28hb_ot_shape_planner_t*\29 +9881:collect_features_indic\28hb_ot_shape_planner_t*\29 +9882:collect_features_hangul\28hb_ot_shape_planner_t*\29 +9883:collect_features_arabic\28hb_ot_shape_planner_t*\29 +9884:clip\28SkPath\20const&\2c\20SkHalfPlane\20const&\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +9885:cleanup +9886:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitStatement\28SkSL::Statement\20const&\29 +9887:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9888:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitExpression\28SkSL::Expression\20const&\29 +9889:cff_slot_init +9890:cff_slot_done +9891:cff_size_request +9892:cff_size_init +9893:cff_size_done +9894:cff_sid_to_glyph_name +9895:cff_set_var_design +9896:cff_set_mm_weightvector +9897:cff_set_mm_blend +9898:cff_set_instance +9899:cff_random +9900:cff_ps_has_glyph_names +9901:cff_ps_get_font_info +9902:cff_ps_get_font_extra +9903:cff_parse_vsindex +9904:cff_parse_private_dict +9905:cff_parse_multiple_master +9906:cff_parse_maxstack +9907:cff_parse_font_matrix +9908:cff_parse_font_bbox +9909:cff_parse_cid_ros +9910:cff_parse_blend +9911:cff_metrics_adjust +9912:cff_hadvance_adjust +9913:cff_get_var_design +9914:cff_get_var_blend +9915:cff_get_standard_encoding +9916:cff_get_ros +9917:cff_get_ps_name +9918:cff_get_name_index +9919:cff_get_mm_weightvector +9920:cff_get_mm_var +9921:cff_get_mm_blend +9922:cff_get_is_cid +9923:cff_get_interface +9924:cff_get_glyph_name +9925:cff_get_cmap_info +9926:cff_get_cid_from_glyph_index +9927:cff_get_advances +9928:cff_free_glyph_data +9929:cff_face_init +9930:cff_face_done +9931:cff_driver_init +9932:cff_done_blend +9933:cff_decoder_prepare +9934:cff_decoder_init +9935:cff_cmap_unicode_init +9936:cff_cmap_unicode_char_next +9937:cff_cmap_unicode_char_index +9938:cff_cmap_encoding_init +9939:cff_cmap_encoding_done +9940:cff_cmap_encoding_char_next +9941:cff_cmap_encoding_char_index +9942:cff_builder_start_point +9943:cf2_free_instance +9944:cf2_decoder_parse_charstrings +9945:cf2_builder_moveTo +9946:cf2_builder_lineTo +9947:cf2_builder_cubeTo +9948:canvas_translate +9949:canvas_transform +9950:canvas_skew +9951:canvas_scale +9952:canvas_saveLayer +9953:canvas_save +9954:canvas_rotate +9955:canvas_restoreToCount +9956:canvas_restore +9957:canvas_getTransform +9958:canvas_getSaveCount +9959:canvas_getLocalClipBounds +9960:canvas_getDeviceClipBounds +9961:canvas_drawVertices +9962:canvas_drawShadow +9963:canvas_drawRect +9964:canvas_drawRRect +9965:canvas_drawPoints +9966:canvas_drawPicture +9967:canvas_drawPath +9968:canvas_drawParagraph +9969:canvas_drawPaint +9970:canvas_drawOval +9971:canvas_drawLine +9972:canvas_drawImageRect +9973:canvas_drawImageNine +9974:canvas_drawImage +9975:canvas_drawDRRect +9976:canvas_drawColor +9977:canvas_drawCircle +9978:canvas_drawAtlas +9979:canvas_drawArc +9980:canvas_clipRect +9981:canvas_clipRRect +9982:canvas_clipPath +9983:cancel_notification +9984:bw_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9985:bw_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9986:bw_pt_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9987:bw_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9988:bw_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9989:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::SpotVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9990:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::AmbientVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9991:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9992:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9993:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9994:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9995:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9996:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9997:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9998:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9999:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +10000:blur_y_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10001:blur_y_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10002:blur_y_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10003:blur_y_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10004:blur_x_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10005:blur_x_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10006:blur_x_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10007:blur_x_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10008:blit_row_s32a_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +10009:blit_row_s32_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +10010:blit_row_s32_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +10011:argb32_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +10012:arabic_fallback_shape\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +10013:afm_parser_parse +10014:afm_parser_init +10015:afm_parser_done +10016:afm_compare_kern_pairs +10017:af_property_set +10018:af_property_get +10019:af_latin_metrics_scale +10020:af_latin_metrics_init +10021:af_latin_hints_init +10022:af_latin_hints_apply +10023:af_latin_get_standard_widths +10024:af_indic_metrics_scale +10025:af_indic_metrics_init +10026:af_indic_hints_init +10027:af_indic_hints_apply +10028:af_get_interface +10029:af_face_globals_free +10030:af_dummy_hints_init +10031:af_dummy_hints_apply +10032:af_cjk_metrics_init +10033:af_autofitter_load_glyph +10034:af_autofitter_init +10035:aa_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +10036:aa_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +10037:aa_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +10038:_hb_ot_font_destroy\28void*\29 +10039:_hb_glyph_info_is_default_ignorable\28hb_glyph_info_t\20const*\29 +10040:_hb_face_for_data_reference_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +10041:_hb_face_for_data_closure_destroy\28void*\29 +10042:_hb_clear_substitution_flags\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +10043:_hb_blob_destroy\28void*\29 +10044:_emscripten_tls_init +10045:_emscripten_thread_init +10046:_emscripten_thread_free_data +10047:_emscripten_thread_exit +10048:_emscripten_thread_crashed +10049:_emscripten_run_in_main_runtime_thread_js +10050:_emscripten_check_mailbox +10051:__wasm_init_memory +10052:__wasm_call_ctors +10053:__stdio_write +10054:__stdio_seek +10055:__stdio_read +10056:__stdio_close +10057:__emscripten_stdout_seek +10058:__cxxabiv1::__vmi_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10059:__cxxabiv1::__vmi_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10060:__cxxabiv1::__vmi_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +10061:__cxxabiv1::__si_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10062:__cxxabiv1::__si_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10063:__cxxabiv1::__si_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +10064:__cxxabiv1::__class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10065:__cxxabiv1::__class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10066:__cxxabiv1::__class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +10067:__cxxabiv1::__class_type_info::can_catch\28__cxxabiv1::__shim_type_info\20const*\2c\20void*&\29\20const +10068:__cxx_global_array_dtor.9479 +10069:__cxx_global_array_dtor.87 +10070:__cxx_global_array_dtor.8001 +10071:__cxx_global_array_dtor.72 +10072:__cxx_global_array_dtor.6137 +10073:__cxx_global_array_dtor.57 +10074:__cxx_global_array_dtor.5078 +10075:__cxx_global_array_dtor.4767 +10076:__cxx_global_array_dtor.44 +10077:__cxx_global_array_dtor.4207 +10078:__cxx_global_array_dtor.42 +10079:__cxx_global_array_dtor.403 +10080:__cxx_global_array_dtor.40 +10081:__cxx_global_array_dtor.38 +10082:__cxx_global_array_dtor.3789 +10083:__cxx_global_array_dtor.36 +10084:__cxx_global_array_dtor.340 +10085:__cxx_global_array_dtor.34 +10086:__cxx_global_array_dtor.32 +10087:__cxx_global_array_dtor.1988 +10088:__cxx_global_array_dtor.138 +10089:__cxx_global_array_dtor.135 +10090:__cxx_global_array_dtor.111 +10091:__cxx_global_array_dtor.1 +10092:__cxx_global_array_dtor +10093:__cxa_is_pointer_type +10094:\28anonymous\20namespace\29::skhb_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +10095:\28anonymous\20namespace\29::skhb_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +10096:\28anonymous\20namespace\29::skhb_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +10097:\28anonymous\20namespace\29::skhb_glyph_h_advance\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +10098:\28anonymous\20namespace\29::skhb_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +10099:\28anonymous\20namespace\29::skhb_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +10100:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29::$_0::__invoke\28void*\29 +10101:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +10102:\28anonymous\20namespace\29::make_morphology\28\28anonymous\20namespace\29::MorphType\2c\20SkSize\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +10103:\28anonymous\20namespace\29::create_sub_hb_font\28SkFont\20const&\2c\20std::__2::unique_ptr>\20const&\29::$_0::__invoke\28void*\29 +10104:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29.1 +10105:\28anonymous\20namespace\29::YUVPlanesRec::getCategory\28\29\20const +10106:\28anonymous\20namespace\29::YUVPlanesRec::diagnostic_only_getDiscardable\28\29\20const +10107:\28anonymous\20namespace\29::YUVPlanesRec::bytesUsed\28\29\20const +10108:\28anonymous\20namespace\29::YUVPlanesRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +10109:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29.1 +10110:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29.1 +10111:\28anonymous\20namespace\29::TriangulatingPathOp::visitProxies\28std::__2::function\20const&\29\20const +10112:\28anonymous\20namespace\29::TriangulatingPathOp::programInfo\28\29 +10113:\28anonymous\20namespace\29::TriangulatingPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10114:\28anonymous\20namespace\29::TriangulatingPathOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10115:\28anonymous\20namespace\29::TriangulatingPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10116:\28anonymous\20namespace\29::TriangulatingPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10117:\28anonymous\20namespace\29::TriangulatingPathOp::name\28\29\20const +10118:\28anonymous\20namespace\29::TriangulatingPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10119:\28anonymous\20namespace\29::TransformedMaskSubRun::unflattenSize\28\29\20const +10120:\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +10121:\28anonymous\20namespace\29::TransformedMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10122:\28anonymous\20namespace\29::TransformedMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +10123:\28anonymous\20namespace\29::TransformedMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +10124:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29.1 +10125:\28anonymous\20namespace\29::TextureOpImpl::visitProxies\28std::__2::function\20const&\29\20const +10126:\28anonymous\20namespace\29::TextureOpImpl::programInfo\28\29 +10127:\28anonymous\20namespace\29::TextureOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +10128:\28anonymous\20namespace\29::TextureOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10129:\28anonymous\20namespace\29::TextureOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10130:\28anonymous\20namespace\29::TextureOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10131:\28anonymous\20namespace\29::TextureOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10132:\28anonymous\20namespace\29::TextureOpImpl::name\28\29\20const +10133:\28anonymous\20namespace\29::TextureOpImpl::fixedFunctionFlags\28\29\20const +10134:\28anonymous\20namespace\29::TextureOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10135:\28anonymous\20namespace\29::TentPass::startBlur\28\29 +10136:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +10137:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +10138:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +10139:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29.1 +10140:\28anonymous\20namespace\29::StaticVertexAllocator::unlock\28int\29 +10141:\28anonymous\20namespace\29::StaticVertexAllocator::lock\28unsigned\20long\2c\20int\29 +10142:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::currentScript\28\29\20const +10143:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::consume\28\29 +10144:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10145:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10146:\28anonymous\20namespace\29::SkMorphologyImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10147:\28anonymous\20namespace\29::SkMorphologyImageFilter::getTypeName\28\29\20const +10148:\28anonymous\20namespace\29::SkMorphologyImageFilter::flatten\28SkWriteBuffer&\29\20const +10149:\28anonymous\20namespace\29::SkMorphologyImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10150:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10151:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10152:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10153:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::getTypeName\28\29\20const +10154:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::flatten\28SkWriteBuffer&\29\20const +10155:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10156:\28anonymous\20namespace\29::SkFTGeometrySink::Quad\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +10157:\28anonymous\20namespace\29::SkFTGeometrySink::Move\28FT_Vector_\20const*\2c\20void*\29 +10158:\28anonymous\20namespace\29::SkFTGeometrySink::Line\28FT_Vector_\20const*\2c\20void*\29 +10159:\28anonymous\20namespace\29::SkFTGeometrySink::Cubic\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +10160:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +10161:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFamilyName\28SkString*\29\20const +10162:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +10163:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateFamilyNameIterator\28\29\20const +10164:\28anonymous\20namespace\29::SkEmptyTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +10165:\28anonymous\20namespace\29::SkCropImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10166:\28anonymous\20namespace\29::SkCropImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10167:\28anonymous\20namespace\29::SkCropImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10168:\28anonymous\20namespace\29::SkCropImageFilter::onAffectsTransparentBlack\28\29\20const +10169:\28anonymous\20namespace\29::SkCropImageFilter::getTypeName\28\29\20const +10170:\28anonymous\20namespace\29::SkCropImageFilter::flatten\28SkWriteBuffer&\29\20const +10171:\28anonymous\20namespace\29::SkCropImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10172:\28anonymous\20namespace\29::SkComposeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10173:\28anonymous\20namespace\29::SkComposeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10174:\28anonymous\20namespace\29::SkComposeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10175:\28anonymous\20namespace\29::SkComposeImageFilter::getTypeName\28\29\20const +10176:\28anonymous\20namespace\29::SkComposeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10177:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29.1 +10178:\28anonymous\20namespace\29::SkColorFilterImageFilter::onIsColorFilterNode\28SkColorFilter**\29\20const +10179:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10180:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10181:\28anonymous\20namespace\29::SkColorFilterImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10182:\28anonymous\20namespace\29::SkColorFilterImageFilter::onAffectsTransparentBlack\28\29\20const +10183:\28anonymous\20namespace\29::SkColorFilterImageFilter::getTypeName\28\29\20const +10184:\28anonymous\20namespace\29::SkColorFilterImageFilter::flatten\28SkWriteBuffer&\29\20const +10185:\28anonymous\20namespace\29::SkColorFilterImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10186:\28anonymous\20namespace\29::SkBlurImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10187:\28anonymous\20namespace\29::SkBlurImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10188:\28anonymous\20namespace\29::SkBlurImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10189:\28anonymous\20namespace\29::SkBlurImageFilter::getTypeName\28\29\20const +10190:\28anonymous\20namespace\29::SkBlurImageFilter::flatten\28SkWriteBuffer&\29\20const +10191:\28anonymous\20namespace\29::SkBlurImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10192:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29.1 +10193:\28anonymous\20namespace\29::SkBlendImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10194:\28anonymous\20namespace\29::SkBlendImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10195:\28anonymous\20namespace\29::SkBlendImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10196:\28anonymous\20namespace\29::SkBlendImageFilter::onAffectsTransparentBlack\28\29\20const +10197:\28anonymous\20namespace\29::SkBlendImageFilter::getTypeName\28\29\20const +10198:\28anonymous\20namespace\29::SkBlendImageFilter::flatten\28SkWriteBuffer&\29\20const +10199:\28anonymous\20namespace\29::SkBlendImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10200:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29.1 +10201:\28anonymous\20namespace\29::SkBidiIterator_icu::getLevelAt\28int\29 +10202:\28anonymous\20namespace\29::SkBidiIterator_icu::getLength\28\29 +10203:\28anonymous\20namespace\29::SimpleTriangleShader::name\28\29\20const +10204:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10205:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10206:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20float\2c\20SkShaper::RunHandler*\29\20const +10207:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +10208:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20bool\2c\20float\2c\20SkShaper::RunHandler*\29\20const +10209:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::~ShapeDontWrapOrReorder\28\29 +10210:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::wrap\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::BiDiRunIterator\20const&\2c\20SkShaper::LanguageRunIterator\20const&\2c\20SkShaper::ScriptRunIterator\20const&\2c\20SkShaper::FontRunIterator\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +10211:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29.1 +10212:\28anonymous\20namespace\29::ShadowInvalidator::changed\28\29 +10213:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29.1 +10214:\28anonymous\20namespace\29::ShadowCircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +10215:\28anonymous\20namespace\29::ShadowCircularRRectOp::programInfo\28\29 +10216:\28anonymous\20namespace\29::ShadowCircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10217:\28anonymous\20namespace\29::ShadowCircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10218:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10219:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10220:\28anonymous\20namespace\29::ShadowCircularRRectOp::name\28\29\20const +10221:\28anonymous\20namespace\29::ShadowCircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10222:\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +10223:\28anonymous\20namespace\29::SDFTSubRun::vertexFiller\28\29\20const +10224:\28anonymous\20namespace\29::SDFTSubRun::unflattenSize\28\29\20const +10225:\28anonymous\20namespace\29::SDFTSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +10226:\28anonymous\20namespace\29::SDFTSubRun::glyphs\28\29\20const +10227:\28anonymous\20namespace\29::SDFTSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10228:\28anonymous\20namespace\29::SDFTSubRun::doFlatten\28SkWriteBuffer&\29\20const +10229:\28anonymous\20namespace\29::SDFTSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +10230:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29.1 +10231:\28anonymous\20namespace\29::RectsBlurRec::getCategory\28\29\20const +10232:\28anonymous\20namespace\29::RectsBlurRec::diagnostic_only_getDiscardable\28\29\20const +10233:\28anonymous\20namespace\29::RectsBlurRec::bytesUsed\28\29\20const +10234:\28anonymous\20namespace\29::RectsBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +10235:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29.1 +10236:\28anonymous\20namespace\29::RRectBlurRec::getCategory\28\29\20const +10237:\28anonymous\20namespace\29::RRectBlurRec::diagnostic_only_getDiscardable\28\29\20const +10238:\28anonymous\20namespace\29::RRectBlurRec::bytesUsed\28\29\20const +10239:\28anonymous\20namespace\29::RRectBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +10240:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29.1 +10241:\28anonymous\20namespace\29::PathSubRun::unflattenSize\28\29\20const +10242:\28anonymous\20namespace\29::PathSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10243:\28anonymous\20namespace\29::PathSubRun::doFlatten\28SkWriteBuffer&\29\20const +10244:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29.1 +10245:\28anonymous\20namespace\29::MipMapRec::getCategory\28\29\20const +10246:\28anonymous\20namespace\29::MipMapRec::diagnostic_only_getDiscardable\28\29\20const +10247:\28anonymous\20namespace\29::MipMapRec::bytesUsed\28\29\20const +10248:\28anonymous\20namespace\29::MipMapRec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +10249:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29.1 +10250:\28anonymous\20namespace\29::MiddleOutShader::name\28\29\20const +10251:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10252:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10253:\28anonymous\20namespace\29::MiddleOutShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10254:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29.1 +10255:\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const +10256:\28anonymous\20namespace\29::MeshOp::programInfo\28\29 +10257:\28anonymous\20namespace\29::MeshOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10258:\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10259:\28anonymous\20namespace\29::MeshOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10260:\28anonymous\20namespace\29::MeshOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10261:\28anonymous\20namespace\29::MeshOp::name\28\29\20const +10262:\28anonymous\20namespace\29::MeshOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10263:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29.1 +10264:\28anonymous\20namespace\29::MeshGP::onTextureSampler\28int\29\20const +10265:\28anonymous\20namespace\29::MeshGP::name\28\29\20const +10266:\28anonymous\20namespace\29::MeshGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10267:\28anonymous\20namespace\29::MeshGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10268:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29.1 +10269:\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10270:\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10271:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10272:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10273:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10274:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10275:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMainName\28\29 +10276:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10277:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +10278:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +10279:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareFunction\28char\20const*\29 +10280:\28anonymous\20namespace\29::HQDownSampler::buildLevel\28SkPixmap\20const&\2c\20SkPixmap\20const&\29 +10281:\28anonymous\20namespace\29::GaussPass::startBlur\28\29 +10282:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +10283:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +10284:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +10285:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29.1 +10286:\28anonymous\20namespace\29::FillRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +10287:\28anonymous\20namespace\29::FillRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +10288:\28anonymous\20namespace\29::FillRectOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10289:\28anonymous\20namespace\29::FillRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10290:\28anonymous\20namespace\29::FillRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10291:\28anonymous\20namespace\29::FillRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10292:\28anonymous\20namespace\29::FillRectOpImpl::name\28\29\20const +10293:\28anonymous\20namespace\29::FillRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10294:\28anonymous\20namespace\29::ExternalWebGLTexture::~ExternalWebGLTexture\28\29.1 +10295:\28anonymous\20namespace\29::ExternalWebGLTexture::getBackendTexture\28\29 +10296:\28anonymous\20namespace\29::ExternalWebGLTexture::dispose\28\29 +10297:\28anonymous\20namespace\29::EllipticalRRectEffect::onMakeProgramImpl\28\29\20const +10298:\28anonymous\20namespace\29::EllipticalRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10299:\28anonymous\20namespace\29::EllipticalRRectEffect::name\28\29\20const +10300:\28anonymous\20namespace\29::EllipticalRRectEffect::clone\28\29\20const +10301:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10302:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10303:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29.1 +10304:\28anonymous\20namespace\29::DrawableSubRun::unflattenSize\28\29\20const +10305:\28anonymous\20namespace\29::DrawableSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10306:\28anonymous\20namespace\29::DrawableSubRun::doFlatten\28SkWriteBuffer&\29\20const +10307:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29.1 +10308:\28anonymous\20namespace\29::DrawAtlasPathShader::onTextureSampler\28int\29\20const +10309:\28anonymous\20namespace\29::DrawAtlasPathShader::name\28\29\20const +10310:\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10311:\28anonymous\20namespace\29::DrawAtlasPathShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10312:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10313:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10314:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29.1 +10315:\28anonymous\20namespace\29::DrawAtlasOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +10316:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10317:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10318:\28anonymous\20namespace\29::DrawAtlasOpImpl::name\28\29\20const +10319:\28anonymous\20namespace\29::DrawAtlasOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10320:\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +10321:\28anonymous\20namespace\29::DirectMaskSubRun::unflattenSize\28\29\20const +10322:\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +10323:\28anonymous\20namespace\29::DirectMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10324:\28anonymous\20namespace\29::DirectMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +10325:\28anonymous\20namespace\29::DirectMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +10326:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29.1 +10327:\28anonymous\20namespace\29::DefaultPathOp::visitProxies\28std::__2::function\20const&\29\20const +10328:\28anonymous\20namespace\29::DefaultPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10329:\28anonymous\20namespace\29::DefaultPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10330:\28anonymous\20namespace\29::DefaultPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10331:\28anonymous\20namespace\29::DefaultPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10332:\28anonymous\20namespace\29::DefaultPathOp::name\28\29\20const +10333:\28anonymous\20namespace\29::DefaultPathOp::fixedFunctionFlags\28\29\20const +10334:\28anonymous\20namespace\29::DefaultPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10335:\28anonymous\20namespace\29::CircularRRectEffect::onMakeProgramImpl\28\29\20const +10336:\28anonymous\20namespace\29::CircularRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10337:\28anonymous\20namespace\29::CircularRRectEffect::name\28\29\20const +10338:\28anonymous\20namespace\29::CircularRRectEffect::clone\28\29\20const +10339:\28anonymous\20namespace\29::CircularRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10340:\28anonymous\20namespace\29::CircularRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10341:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29.1 +10342:\28anonymous\20namespace\29::CachedTessellationsRec::getCategory\28\29\20const +10343:\28anonymous\20namespace\29::CachedTessellationsRec::bytesUsed\28\29\20const +10344:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29.1 +10345:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29.1 +10346:\28anonymous\20namespace\29::CacheImpl::set\28SkImageFilterCacheKey\20const&\2c\20SkImageFilter\20const*\2c\20skif::FilterResult\20const&\29 +10347:\28anonymous\20namespace\29::CacheImpl::purge\28\29 +10348:\28anonymous\20namespace\29::CacheImpl::purgeByImageFilter\28SkImageFilter\20const*\29 +10349:\28anonymous\20namespace\29::CacheImpl::get\28SkImageFilterCacheKey\20const&\2c\20skif::FilterResult*\29\20const +10350:\28anonymous\20namespace\29::BoundingBoxShader::name\28\29\20const +10351:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10352:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10353:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10354:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29.1 +10355:\28anonymous\20namespace\29::AAHairlineOp::visitProxies\28std::__2::function\20const&\29\20const +10356:\28anonymous\20namespace\29::AAHairlineOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10357:\28anonymous\20namespace\29::AAHairlineOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10358:\28anonymous\20namespace\29::AAHairlineOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10359:\28anonymous\20namespace\29::AAHairlineOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10360:\28anonymous\20namespace\29::AAHairlineOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10361:\28anonymous\20namespace\29::AAHairlineOp::name\28\29\20const +10362:\28anonymous\20namespace\29::AAHairlineOp::fixedFunctionFlags\28\29\20const +10363:\28anonymous\20namespace\29::AAHairlineOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10364:Write_CVT_Stretched +10365:Write_CVT +10366:Vertish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +10367:Vertish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +10368:VertState::Triangles\28VertState*\29 +10369:VertState::TrianglesX\28VertState*\29 +10370:VertState::TriangleStrip\28VertState*\29 +10371:VertState::TriangleStripX\28VertState*\29 +10372:VertState::TriangleFan\28VertState*\29 +10373:VertState::TriangleFanX\28VertState*\29 +10374:VLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +10375:VLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +10376:TextureSourceImageGenerator::~TextureSourceImageGenerator\28\29.1 +10377:TextureSourceImageGenerator::generateExternalTexture\28GrRecordingContext*\2c\20skgpu::Mipmapped\29 +10378:TT_Set_MM_Blend +10379:TT_RunIns +10380:TT_Load_Simple_Glyph +10381:TT_Load_Glyph_Header +10382:TT_Load_Composite_Glyph +10383:TT_Get_Var_Design +10384:TT_Get_MM_Blend +10385:TT_Forget_Glyph_Frame +10386:TT_Access_Glyph_Frame +10387:TOUPPER\28unsigned\20char\29 +10388:TOLOWER\28unsigned\20char\29 +10389:SquareCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +10390:Sprite_D32_S32::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10391:Skwasm::Surface::Surface\28\29::$_0::__invoke\28void*\29 +10392:SkWeakRefCnt::internal_dispose\28\29\20const +10393:SkUnicode_client::~SkUnicode_client\28\29.1 +10394:SkUnicode_client::toUpper\28SkString\20const&\2c\20char\20const*\29 +10395:SkUnicode_client::toUpper\28SkString\20const&\29 +10396:SkUnicode_client::reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29 +10397:SkUnicode_client::makeBreakIterator\28char\20const*\2c\20SkUnicode::BreakType\29 +10398:SkUnicode_client::makeBreakIterator\28SkUnicode::BreakType\29 +10399:SkUnicode_client::makeBidiIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +10400:SkUnicode_client::makeBidiIterator\28char\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +10401:SkUnicode_client::getWords\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +10402:SkUnicode_client::getBidiRegions\28char\20const*\2c\20int\2c\20SkUnicode::TextDirection\2c\20std::__2::vector>*\29 +10403:SkUnicode_client::computeCodeUnitFlags\28char16_t*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +10404:SkUnicode_client::computeCodeUnitFlags\28char*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +10405:SkUnicodeHardCodedCharProperties::isWhitespace\28int\29 +10406:SkUnicodeHardCodedCharProperties::isTabulation\28int\29 +10407:SkUnicodeHardCodedCharProperties::isSpace\28int\29 +10408:SkUnicodeHardCodedCharProperties::isIdeographic\28int\29 +10409:SkUnicodeHardCodedCharProperties::isHardBreak\28int\29 +10410:SkUnicodeHardCodedCharProperties::isControl\28int\29 +10411:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29.1 +10412:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29 +10413:SkUnicodeBidiRunIterator::endOfCurrentRun\28\29\20const +10414:SkUnicodeBidiRunIterator::currentLevel\28\29\20const +10415:SkUnicodeBidiRunIterator::consume\28\29 +10416:SkUnicodeBidiRunIterator::atEnd\28\29\20const +10417:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29.1 +10418:SkTypeface_FreeTypeStream::onOpenStream\28int*\29\20const +10419:SkTypeface_FreeTypeStream::onMakeFontData\28\29\20const +10420:SkTypeface_FreeTypeStream::onMakeClone\28SkFontArguments\20const&\29\20const +10421:SkTypeface_FreeTypeStream::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +10422:SkTypeface_FreeType::onGlyphMaskNeedsCurrentColor\28\29\20const +10423:SkTypeface_FreeType::onGetVariationDesignPosition\28SkFontArguments::VariationPosition::Coordinate*\2c\20int\29\20const +10424:SkTypeface_FreeType::onGetVariationDesignParameters\28SkFontParameters::Variation::Axis*\2c\20int\29\20const +10425:SkTypeface_FreeType::onGetUPEM\28\29\20const +10426:SkTypeface_FreeType::onGetTableTags\28unsigned\20int*\29\20const +10427:SkTypeface_FreeType::onGetTableData\28unsigned\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20void*\29\20const +10428:SkTypeface_FreeType::onGetPostScriptName\28SkString*\29\20const +10429:SkTypeface_FreeType::onGetKerningPairAdjustments\28unsigned\20short\20const*\2c\20int\2c\20int*\29\20const +10430:SkTypeface_FreeType::onGetAdvancedMetrics\28\29\20const +10431:SkTypeface_FreeType::onFilterRec\28SkScalerContextRec*\29\20const +10432:SkTypeface_FreeType::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +10433:SkTypeface_FreeType::onCreateFamilyNameIterator\28\29\20const +10434:SkTypeface_FreeType::onCountGlyphs\28\29\20const +10435:SkTypeface_FreeType::onCopyTableData\28unsigned\20int\29\20const +10436:SkTypeface_FreeType::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +10437:SkTypeface_FreeType::getPostScriptGlyphNames\28SkString*\29\20const +10438:SkTypeface_FreeType::getGlyphToUnicodeMap\28int*\29\20const +10439:SkTypeface_Empty::~SkTypeface_Empty\28\29 +10440:SkTypeface_Custom::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +10441:SkTypeface::onOpenExistingStream\28int*\29\20const +10442:SkTypeface::onCopyTableData\28unsigned\20int\29\20const +10443:SkTypeface::onComputeBounds\28SkRect*\29\20const +10444:SkTriColorShader::type\28\29\20const +10445:SkTriColorShader::isOpaque\28\29\20const +10446:SkTriColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10447:SkTransformShader::type\28\29\20const +10448:SkTransformShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10449:SkTQuad::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +10450:SkTQuad::setBounds\28SkDRect*\29\20const +10451:SkTQuad::ptAtT\28double\29\20const +10452:SkTQuad::make\28SkArenaAlloc&\29\20const +10453:SkTQuad::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +10454:SkTQuad::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +10455:SkTQuad::dxdyAtT\28double\29\20const +10456:SkTQuad::debugInit\28\29 +10457:SkTCubic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +10458:SkTCubic::setBounds\28SkDRect*\29\20const +10459:SkTCubic::ptAtT\28double\29\20const +10460:SkTCubic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +10461:SkTCubic::make\28SkArenaAlloc&\29\20const +10462:SkTCubic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +10463:SkTCubic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +10464:SkTCubic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +10465:SkTCubic::dxdyAtT\28double\29\20const +10466:SkTCubic::debugInit\28\29 +10467:SkTCubic::controlsInside\28\29\20const +10468:SkTCubic::collapsed\28\29\20const +10469:SkTConic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +10470:SkTConic::setBounds\28SkDRect*\29\20const +10471:SkTConic::ptAtT\28double\29\20const +10472:SkTConic::make\28SkArenaAlloc&\29\20const +10473:SkTConic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +10474:SkTConic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +10475:SkTConic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +10476:SkTConic::dxdyAtT\28double\29\20const +10477:SkTConic::debugInit\28\29 +10478:SkSweepGradient::getTypeName\28\29\20const +10479:SkSweepGradient::flatten\28SkWriteBuffer&\29\20const +10480:SkSweepGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10481:SkSweepGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10482:SkSurface_Raster::~SkSurface_Raster\28\29.1 +10483:SkSurface_Raster::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10484:SkSurface_Raster::onRestoreBackingMutability\28\29 +10485:SkSurface_Raster::onNewSurface\28SkImageInfo\20const&\29 +10486:SkSurface_Raster::onNewImageSnapshot\28SkIRect\20const*\29 +10487:SkSurface_Raster::onNewCanvas\28\29 +10488:SkSurface_Raster::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10489:SkSurface_Raster::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +10490:SkSurface_Raster::imageInfo\28\29\20const +10491:SkSurface_Ganesh::~SkSurface_Ganesh\28\29.1 +10492:SkSurface_Ganesh::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +10493:SkSurface_Ganesh::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10494:SkSurface_Ganesh::onWait\28int\2c\20GrBackendSemaphore\20const*\2c\20bool\29 +10495:SkSurface_Ganesh::onNewSurface\28SkImageInfo\20const&\29 +10496:SkSurface_Ganesh::onNewImageSnapshot\28SkIRect\20const*\29 +10497:SkSurface_Ganesh::onNewCanvas\28\29 +10498:SkSurface_Ganesh::onIsCompatible\28GrSurfaceCharacterization\20const&\29\20const +10499:SkSurface_Ganesh::onGetRecordingContext\28\29\20const +10500:SkSurface_Ganesh::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10501:SkSurface_Ganesh::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +10502:SkSurface_Ganesh::onCharacterize\28GrSurfaceCharacterization*\29\20const +10503:SkSurface_Ganesh::onCapabilities\28\29 +10504:SkSurface_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +10505:SkSurface_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +10506:SkSurface_Ganesh::imageInfo\28\29\20const +10507:SkSurface_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +10508:SkSurface::imageInfo\28\29\20const +10509:SkStrikeCache::~SkStrikeCache\28\29.1 +10510:SkStrikeCache::findOrCreateScopedStrike\28SkStrikeSpec\20const&\29 +10511:SkStrike::~SkStrike\28\29.1 +10512:SkStrike::strikePromise\28\29 +10513:SkStrike::roundingSpec\28\29\20const +10514:SkStrike::getDescriptor\28\29\20const +10515:SkSpriteBlitter_Memcpy::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10516:SkSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +10517:SkSpriteBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10518:SkSpriteBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10519:SkSpriteBlitter::blitH\28int\2c\20int\2c\20int\29 +10520:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29.1 +10521:SkSpecialImage_Raster::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +10522:SkSpecialImage_Raster::getSize\28\29\20const +10523:SkSpecialImage_Raster::backingStoreDimensions\28\29\20const +10524:SkSpecialImage_Raster::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +10525:SkSpecialImage_Raster::asImage\28\29\20const +10526:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29.1 +10527:SkSpecialImage_Gpu::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +10528:SkSpecialImage_Gpu::getSize\28\29\20const +10529:SkSpecialImage_Gpu::backingStoreDimensions\28\29\20const +10530:SkSpecialImage_Gpu::asImage\28\29\20const +10531:SkSpecialImage::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +10532:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29.1 +10533:SkShaper::TrivialLanguageRunIterator::currentLanguage\28\29\20const +10534:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29.1 +10535:SkShaper::TrivialBiDiRunIterator::currentLevel\28\29\20const +10536:SkShaderBlurAlgorithm::maxSigma\28\29\20const +10537:SkShaderBlurAlgorithm::blur\28SkSize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +10538:SkScan::HairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10539:SkScan::HairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10540:SkScan::HairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10541:SkScan::AntiHairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10542:SkScan::AntiHairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10543:SkScan::AntiHairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10544:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10545:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29.1 +10546:SkScalerContext_FreeType::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +10547:SkScalerContext_FreeType::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +10548:SkScalerContext_FreeType::generateImage\28SkGlyph\20const&\2c\20void*\29 +10549:SkScalerContext_FreeType::generateFontMetrics\28SkFontMetrics*\29 +10550:SkScalerContext_FreeType::generateDrawable\28SkGlyph\20const&\29 +10551:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::~SkScalerContext_Empty\28\29 +10552:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +10553:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +10554:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateFontMetrics\28SkFontMetrics*\29 +10555:SkSRGBColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +10556:SkSRGBColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +10557:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_3::__invoke\28double\2c\20double\29 +10558:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_2::__invoke\28double\2c\20double\29 +10559:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_1::__invoke\28double\2c\20double\29 +10560:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_0::__invoke\28double\2c\20double\29 +10561:SkSL::negate_value\28double\29 +10562:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29.1 +10563:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29.1 +10564:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +10565:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitExpressionPtr\28std::__2::unique_ptr>&\29 +10566:SkSL::count_returns_at_end_of_control_flow\28SkSL::FunctionDefinition\20const&\29::CountReturnsAtEndOfControlFlow::visitStatement\28SkSL::Statement\20const&\29 +10567:SkSL::bitwise_not_value\28double\29 +10568:SkSL::\28anonymous\20namespace\29::VariableWriteVisitor::visitExpression\28SkSL::Expression\20const&\29 +10569:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +10570:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitExpression\28SkSL::Expression\20const&\29 +10571:SkSL::\28anonymous\20namespace\29::ReturnsNonOpaqueColorVisitor::visitStatement\28SkSL::Statement\20const&\29 +10572:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitStatement\28SkSL::Statement\20const&\29 +10573:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +10574:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitExpression\28SkSL::Expression\20const&\29 +10575:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +10576:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +10577:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29.1 +10578:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitExpression\28SkSL::Expression\20const&\29 +10579:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29.1 +10580:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitStatement\28SkSL::Statement\20const&\29 +10581:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitExpression\28SkSL::Expression\20const&\29 +10582:SkSL::VectorType::isAllowedInUniform\28SkSL::Position*\29\20const +10583:SkSL::VectorType::isAllowedInES2\28\29\20const +10584:SkSL::VariableReference::clone\28SkSL::Position\29\20const +10585:SkSL::Variable::~Variable\28\29.1 +10586:SkSL::Variable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +10587:SkSL::Variable::mangledName\28\29\20const +10588:SkSL::Variable::layout\28\29\20const +10589:SkSL::Variable::description\28\29\20const +10590:SkSL::VarDeclaration::~VarDeclaration\28\29.1 +10591:SkSL::VarDeclaration::description\28\29\20const +10592:SkSL::TypeReference::clone\28SkSL::Position\29\20const +10593:SkSL::Type::minimumValue\28\29\20const +10594:SkSL::Type::maximumValue\28\29\20const +10595:SkSL::Type::isAllowedInUniform\28SkSL::Position*\29\20const +10596:SkSL::Type::fields\28\29\20const +10597:SkSL::Type::description\28\29\20const +10598:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29.1 +10599:SkSL::Tracer::var\28int\2c\20int\29 +10600:SkSL::Tracer::scope\28int\29 +10601:SkSL::Tracer::line\28int\29 +10602:SkSL::Tracer::exit\28int\29 +10603:SkSL::Tracer::enter\28int\29 +10604:SkSL::TextureType::textureAccess\28\29\20const +10605:SkSL::TextureType::isMultisampled\28\29\20const +10606:SkSL::TextureType::isDepth\28\29\20const +10607:SkSL::TextureType::isArrayedTexture\28\29\20const +10608:SkSL::TernaryExpression::~TernaryExpression\28\29.1 +10609:SkSL::TernaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10610:SkSL::TernaryExpression::clone\28SkSL::Position\29\20const +10611:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression&\29 +10612:SkSL::Swizzle::description\28SkSL::OperatorPrecedence\29\20const +10613:SkSL::Swizzle::clone\28SkSL::Position\29\20const +10614:SkSL::SwitchStatement::description\28\29\20const +10615:SkSL::SwitchCase::description\28\29\20const +10616:SkSL::StructType::slotType\28unsigned\20long\29\20const +10617:SkSL::StructType::isOrContainsUnsizedArray\28\29\20const +10618:SkSL::StructType::isOrContainsAtomic\28\29\20const +10619:SkSL::StructType::isOrContainsArray\28\29\20const +10620:SkSL::StructType::isInterfaceBlock\28\29\20const +10621:SkSL::StructType::isBuiltin\28\29\20const +10622:SkSL::StructType::isAllowedInUniform\28SkSL::Position*\29\20const +10623:SkSL::StructType::isAllowedInES2\28\29\20const +10624:SkSL::StructType::fields\28\29\20const +10625:SkSL::StructDefinition::description\28\29\20const +10626:SkSL::StringStream::~StringStream\28\29.1 +10627:SkSL::StringStream::write\28void\20const*\2c\20unsigned\20long\29 +10628:SkSL::StringStream::writeText\28char\20const*\29 +10629:SkSL::StringStream::write8\28unsigned\20char\29 +10630:SkSL::Setting::description\28SkSL::OperatorPrecedence\29\20const +10631:SkSL::Setting::clone\28SkSL::Position\29\20const +10632:SkSL::ScalarType::priority\28\29\20const +10633:SkSL::ScalarType::numberKind\28\29\20const +10634:SkSL::ScalarType::minimumValue\28\29\20const +10635:SkSL::ScalarType::maximumValue\28\29\20const +10636:SkSL::ScalarType::isAllowedInUniform\28SkSL::Position*\29\20const +10637:SkSL::ScalarType::isAllowedInES2\28\29\20const +10638:SkSL::ScalarType::bitWidth\28\29\20const +10639:SkSL::SamplerType::textureAccess\28\29\20const +10640:SkSL::SamplerType::isMultisampled\28\29\20const +10641:SkSL::SamplerType::isDepth\28\29\20const +10642:SkSL::SamplerType::isArrayedTexture\28\29\20const +10643:SkSL::SamplerType::dimensions\28\29\20const +10644:SkSL::ReturnStatement::description\28\29\20const +10645:SkSL::RP::VariableLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10646:SkSL::RP::VariableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10647:SkSL::RP::VariableLValue::isWritable\28\29\20const +10648:SkSL::RP::UnownedLValueSlice::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10649:SkSL::RP::UnownedLValueSlice::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10650:SkSL::RP::UnownedLValueSlice::fixedSlotRange\28SkSL::RP::Generator*\29 +10651:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29.1 +10652:SkSL::RP::SwizzleLValue::swizzle\28\29 +10653:SkSL::RP::SwizzleLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10654:SkSL::RP::SwizzleLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10655:SkSL::RP::SwizzleLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10656:SkSL::RP::ScratchLValue::~ScratchLValue\28\29.1 +10657:SkSL::RP::ScratchLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10658:SkSL::RP::ScratchLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10659:SkSL::RP::LValueSlice::~LValueSlice\28\29.1 +10660:SkSL::RP::ImmutableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10661:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29.1 +10662:SkSL::RP::DynamicIndexLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10663:SkSL::RP::DynamicIndexLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10664:SkSL::RP::DynamicIndexLValue::isWritable\28\29\20const +10665:SkSL::RP::DynamicIndexLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10666:SkSL::ProgramVisitor::visitStatementPtr\28std::__2::unique_ptr>\20const&\29 +10667:SkSL::ProgramVisitor::visitExpressionPtr\28std::__2::unique_ptr>\20const&\29 +10668:SkSL::PrefixExpression::description\28SkSL::OperatorPrecedence\29\20const +10669:SkSL::PrefixExpression::clone\28SkSL::Position\29\20const +10670:SkSL::PostfixExpression::description\28SkSL::OperatorPrecedence\29\20const +10671:SkSL::PostfixExpression::clone\28SkSL::Position\29\20const +10672:SkSL::Poison::description\28SkSL::OperatorPrecedence\29\20const +10673:SkSL::Poison::clone\28SkSL::Position\29\20const +10674:SkSL::PipelineStage::Callbacks::getMainName\28\29 +10675:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29.1 +10676:SkSL::Parser::Checkpoint::ForwardingErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10677:SkSL::Nop::description\28\29\20const +10678:SkSL::ModifiersDeclaration::description\28\29\20const +10679:SkSL::MethodReference::description\28SkSL::OperatorPrecedence\29\20const +10680:SkSL::MethodReference::clone\28SkSL::Position\29\20const +10681:SkSL::MatrixType::slotCount\28\29\20const +10682:SkSL::MatrixType::rows\28\29\20const +10683:SkSL::MatrixType::isAllowedInES2\28\29\20const +10684:SkSL::LiteralType::minimumValue\28\29\20const +10685:SkSL::LiteralType::maximumValue\28\29\20const +10686:SkSL::Literal::getConstantValue\28int\29\20const +10687:SkSL::Literal::description\28SkSL::OperatorPrecedence\29\20const +10688:SkSL::Literal::compareConstant\28SkSL::Expression\20const&\29\20const +10689:SkSL::Literal::clone\28SkSL::Position\29\20const +10690:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_uintBitsToFloat\28double\2c\20double\2c\20double\29 +10691:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_trunc\28double\2c\20double\2c\20double\29 +10692:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tanh\28double\2c\20double\2c\20double\29 +10693:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tan\28double\2c\20double\2c\20double\29 +10694:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28double\2c\20double\2c\20double\29 +10695:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_step\28double\2c\20double\2c\20double\29 +10696:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sqrt\28double\2c\20double\2c\20double\29 +10697:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_smoothstep\28double\2c\20double\2c\20double\29 +10698:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sinh\28double\2c\20double\2c\20double\29 +10699:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sin\28double\2c\20double\2c\20double\29 +10700:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sign\28double\2c\20double\2c\20double\29 +10701:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_saturate\28double\2c\20double\2c\20double\29 +10702:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_round\28double\2c\20double\2c\20double\29 +10703:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_radians\28double\2c\20double\2c\20double\29 +10704:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_pow\28double\2c\20double\2c\20double\29 +10705:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_opposite_sign\28double\2c\20double\2c\20double\29 +10706:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_not\28double\2c\20double\2c\20double\29 +10707:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mod\28double\2c\20double\2c\20double\29 +10708:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mix\28double\2c\20double\2c\20double\29 +10709:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_min\28double\2c\20double\2c\20double\29 +10710:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_max\28double\2c\20double\2c\20double\29 +10711:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log\28double\2c\20double\2c\20double\29 +10712:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log2\28double\2c\20double\2c\20double\29 +10713:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_inversesqrt\28double\2c\20double\2c\20double\29 +10714:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_intBitsToFloat\28double\2c\20double\2c\20double\29 +10715:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fract\28double\2c\20double\2c\20double\29 +10716:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fma\28double\2c\20double\2c\20double\29 +10717:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floor\28double\2c\20double\2c\20double\29 +10718:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToUint\28double\2c\20double\2c\20double\29 +10719:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToInt\28double\2c\20double\2c\20double\29 +10720:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp\28double\2c\20double\2c\20double\29 +10721:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp2\28double\2c\20double\2c\20double\29 +10722:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_div\28double\2c\20double\2c\20double\29 +10723:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_degrees\28double\2c\20double\2c\20double\29 +10724:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cosh\28double\2c\20double\2c\20double\29 +10725:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cos\28double\2c\20double\2c\20double\29 +10726:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_clamp\28double\2c\20double\2c\20double\29 +10727:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_ceil\28double\2c\20double\2c\20double\29 +10728:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atanh\28double\2c\20double\2c\20double\29 +10729:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan\28double\2c\20double\2c\20double\29 +10730:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan2\28double\2c\20double\2c\20double\29 +10731:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asinh\28double\2c\20double\2c\20double\29 +10732:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asin\28double\2c\20double\2c\20double\29 +10733:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28double\2c\20double\2c\20double\29 +10734:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acosh\28double\2c\20double\2c\20double\29 +10735:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acos\28double\2c\20double\2c\20double\29 +10736:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_abs\28double\2c\20double\2c\20double\29 +10737:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_notEqual\28double\2c\20double\29 +10738:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThan\28double\2c\20double\29 +10739:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThanEqual\28double\2c\20double\29 +10740:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThan\28double\2c\20double\29 +10741:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThanEqual\28double\2c\20double\29 +10742:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_equal\28double\2c\20double\29 +10743:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_length\28double\2c\20double\2c\20double\29 +10744:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_dot\28double\2c\20double\2c\20double\29 +10745:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_distance\28double\2c\20double\2c\20double\29 +10746:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_any\28double\2c\20double\2c\20double\29 +10747:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_all\28double\2c\20double\2c\20double\29 +10748:SkSL::InterfaceBlock::~InterfaceBlock\28\29.1 +10749:SkSL::InterfaceBlock::~InterfaceBlock\28\29 +10750:SkSL::InterfaceBlock::description\28\29\20const +10751:SkSL::IndexExpression::~IndexExpression\28\29.1 +10752:SkSL::IndexExpression::description\28SkSL::OperatorPrecedence\29\20const +10753:SkSL::IndexExpression::clone\28SkSL::Position\29\20const +10754:SkSL::IfStatement::~IfStatement\28\29.1 +10755:SkSL::IfStatement::description\28\29\20const +10756:SkSL::GlobalVarDeclaration::description\28\29\20const +10757:SkSL::GenericType::slotType\28unsigned\20long\29\20const +10758:SkSL::GenericType::coercibleTypes\28\29\20const +10759:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29.1 +10760:SkSL::FunctionReference::description\28SkSL::OperatorPrecedence\29\20const +10761:SkSL::FunctionReference::clone\28SkSL::Position\29\20const +10762:SkSL::FunctionPrototype::description\28\29\20const +10763:SkSL::FunctionDefinition::description\28\29\20const +10764:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29.1 +10765:SkSL::FunctionCall::description\28SkSL::OperatorPrecedence\29\20const +10766:SkSL::FunctionCall::clone\28SkSL::Position\29\20const +10767:SkSL::ForStatement::~ForStatement\28\29.1 +10768:SkSL::ForStatement::description\28\29\20const +10769:SkSL::FieldSymbol::description\28\29\20const +10770:SkSL::FieldAccess::clone\28SkSL::Position\29\20const +10771:SkSL::Extension::description\28\29\20const +10772:SkSL::ExtendedVariable::~ExtendedVariable\28\29.1 +10773:SkSL::ExtendedVariable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +10774:SkSL::ExtendedVariable::mangledName\28\29\20const +10775:SkSL::ExtendedVariable::layout\28\29\20const +10776:SkSL::ExtendedVariable::interfaceBlock\28\29\20const +10777:SkSL::ExtendedVariable::detachDeadInterfaceBlock\28\29 +10778:SkSL::ExpressionStatement::description\28\29\20const +10779:SkSL::Expression::getConstantValue\28int\29\20const +10780:SkSL::Expression::description\28\29\20const +10781:SkSL::EmptyExpression::description\28SkSL::OperatorPrecedence\29\20const +10782:SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +10783:SkSL::DoStatement::description\28\29\20const +10784:SkSL::DiscardStatement::description\28\29\20const +10785:SkSL::DebugTracePriv::~DebugTracePriv\28\29.1 +10786:SkSL::DebugTracePriv::writeTrace\28SkWStream*\29\20const +10787:SkSL::DebugTracePriv::dump\28SkWStream*\29\20const +10788:SkSL::CountReturnsWithLimit::visitStatement\28SkSL::Statement\20const&\29 +10789:SkSL::ContinueStatement::description\28\29\20const +10790:SkSL::ConstructorStruct::clone\28SkSL::Position\29\20const +10791:SkSL::ConstructorSplat::getConstantValue\28int\29\20const +10792:SkSL::ConstructorSplat::clone\28SkSL::Position\29\20const +10793:SkSL::ConstructorScalarCast::clone\28SkSL::Position\29\20const +10794:SkSL::ConstructorMatrixResize::getConstantValue\28int\29\20const +10795:SkSL::ConstructorMatrixResize::clone\28SkSL::Position\29\20const +10796:SkSL::ConstructorDiagonalMatrix::getConstantValue\28int\29\20const +10797:SkSL::ConstructorDiagonalMatrix::clone\28SkSL::Position\29\20const +10798:SkSL::ConstructorCompoundCast::clone\28SkSL::Position\29\20const +10799:SkSL::ConstructorCompound::clone\28SkSL::Position\29\20const +10800:SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +10801:SkSL::ConstructorArray::clone\28SkSL::Position\29\20const +10802:SkSL::Compiler::CompilerErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10803:SkSL::CodeGenerator::~CodeGenerator\28\29 +10804:SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +10805:SkSL::ChildCall::clone\28SkSL::Position\29\20const +10806:SkSL::BreakStatement::description\28\29\20const +10807:SkSL::Block::~Block\28\29.1 +10808:SkSL::Block::description\28\29\20const +10809:SkSL::BinaryExpression::~BinaryExpression\28\29.1 +10810:SkSL::BinaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10811:SkSL::BinaryExpression::clone\28SkSL::Position\29\20const +10812:SkSL::ArrayType::slotType\28unsigned\20long\29\20const +10813:SkSL::ArrayType::slotCount\28\29\20const +10814:SkSL::ArrayType::isUnsizedArray\28\29\20const +10815:SkSL::ArrayType::isOrContainsUnsizedArray\28\29\20const +10816:SkSL::ArrayType::isOrContainsAtomic\28\29\20const +10817:SkSL::ArrayType::isBuiltin\28\29\20const +10818:SkSL::ArrayType::isAllowedInUniform\28SkSL::Position*\29\20const +10819:SkSL::AnyConstructor::getConstantValue\28int\29\20const +10820:SkSL::AnyConstructor::description\28SkSL::OperatorPrecedence\29\20const +10821:SkSL::AnyConstructor::compareConstant\28SkSL::Expression\20const&\29\20const +10822:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29.1 +10823:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitStatement\28SkSL::Statement\20const&\29 +10824:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitExpression\28SkSL::Expression\20const&\29 +10825:SkSL::AliasType::textureAccess\28\29\20const +10826:SkSL::AliasType::slotType\28unsigned\20long\29\20const +10827:SkSL::AliasType::slotCount\28\29\20const +10828:SkSL::AliasType::rows\28\29\20const +10829:SkSL::AliasType::priority\28\29\20const +10830:SkSL::AliasType::isVector\28\29\20const +10831:SkSL::AliasType::isUnsizedArray\28\29\20const +10832:SkSL::AliasType::isStruct\28\29\20const +10833:SkSL::AliasType::isScalar\28\29\20const +10834:SkSL::AliasType::isMultisampled\28\29\20const +10835:SkSL::AliasType::isMatrix\28\29\20const +10836:SkSL::AliasType::isLiteral\28\29\20const +10837:SkSL::AliasType::isInterfaceBlock\28\29\20const +10838:SkSL::AliasType::isDepth\28\29\20const +10839:SkSL::AliasType::isArrayedTexture\28\29\20const +10840:SkSL::AliasType::isArray\28\29\20const +10841:SkSL::AliasType::dimensions\28\29\20const +10842:SkSL::AliasType::componentType\28\29\20const +10843:SkSL::AliasType::columns\28\29\20const +10844:SkSL::AliasType::coercibleTypes\28\29\20const +10845:SkRuntimeShader::~SkRuntimeShader\28\29.1 +10846:SkRuntimeShader::type\28\29\20const +10847:SkRuntimeShader::isOpaque\28\29\20const +10848:SkRuntimeShader::getTypeName\28\29\20const +10849:SkRuntimeShader::flatten\28SkWriteBuffer&\29\20const +10850:SkRuntimeShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10851:SkRuntimeEffect::~SkRuntimeEffect\28\29.1 +10852:SkRuntimeEffect::MakeFromSource\28SkString\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +10853:SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +10854:SkRuntimeEffect::MakeForBlender\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +10855:SkRgnClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10856:SkRgnClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10857:SkRgnClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10858:SkRgnClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10859:SkRgnClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10860:SkRgnClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10861:SkRgnBuilder::~SkRgnBuilder\28\29.1 +10862:SkRgnBuilder::blitH\28int\2c\20int\2c\20int\29 +10863:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29.1 +10864:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::rowBytes\28int\29\20const +10865:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::data\28int\29\20const +10866:SkRectClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10867:SkRectClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10868:SkRectClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10869:SkRectClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10870:SkRectClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10871:SkRectClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10872:SkRecorder::~SkRecorder\28\29.1 +10873:SkRecorder::willSave\28\29 +10874:SkRecorder::onResetClip\28\29 +10875:SkRecorder::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10876:SkRecorder::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10877:SkRecorder::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10878:SkRecorder::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10879:SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10880:SkRecorder::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10881:SkRecorder::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10882:SkRecorder::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10883:SkRecorder::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10884:SkRecorder::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10885:SkRecorder::onDrawPaint\28SkPaint\20const&\29 +10886:SkRecorder::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10887:SkRecorder::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +10888:SkRecorder::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10889:SkRecorder::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10890:SkRecorder::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10891:SkRecorder::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10892:SkRecorder::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10893:SkRecorder::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10894:SkRecorder::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10895:SkRecorder::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10896:SkRecorder::onDrawBehind\28SkPaint\20const&\29 +10897:SkRecorder::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10898:SkRecorder::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10899:SkRecorder::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10900:SkRecorder::onDoSaveBehind\28SkRect\20const*\29 +10901:SkRecorder::onClipShader\28sk_sp\2c\20SkClipOp\29 +10902:SkRecorder::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10903:SkRecorder::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10904:SkRecorder::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10905:SkRecorder::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10906:SkRecorder::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10907:SkRecorder::didTranslate\28float\2c\20float\29 +10908:SkRecorder::didSetM44\28SkM44\20const&\29 +10909:SkRecorder::didScale\28float\2c\20float\29 +10910:SkRecorder::didRestore\28\29 +10911:SkRecorder::didConcat44\28SkM44\20const&\29 +10912:SkRecordedDrawable::~SkRecordedDrawable\28\29.1 +10913:SkRecordedDrawable::onMakePictureSnapshot\28\29 +10914:SkRecordedDrawable::onGetBounds\28\29 +10915:SkRecordedDrawable::onDraw\28SkCanvas*\29 +10916:SkRecordedDrawable::onApproximateBytesUsed\28\29 +10917:SkRecordedDrawable::getTypeName\28\29\20const +10918:SkRecordedDrawable::flatten\28SkWriteBuffer&\29\20const +10919:SkRecord::~SkRecord\28\29.1 +10920:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29.1 +10921:SkRasterPipelineSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +10922:SkRasterPipelineSpriteBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10923:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29.1 +10924:SkRasterPipelineBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10925:SkRasterPipelineBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10926:SkRasterPipelineBlitter::blitH\28int\2c\20int\2c\20int\29 +10927:SkRasterPipelineBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10928:SkRasterPipelineBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10929:SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10930:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_3::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10931:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_2::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10932:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_1::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10933:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_0::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10934:SkRadialGradient::getTypeName\28\29\20const +10935:SkRadialGradient::flatten\28SkWriteBuffer&\29\20const +10936:SkRadialGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10937:SkRadialGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10938:SkRTree::~SkRTree\28\29.1 +10939:SkRTree::search\28SkRect\20const&\2c\20std::__2::vector>*\29\20const +10940:SkRTree::insert\28SkRect\20const*\2c\20int\29 +10941:SkRTree::bytesUsed\28\29\20const +10942:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_3::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10943:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_2::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10944:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_1::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10945:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_0::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10946:SkPixelRef::~SkPixelRef\28\29.1 +10947:SkPictureRecord::~SkPictureRecord\28\29.1 +10948:SkPictureRecord::willSave\28\29 +10949:SkPictureRecord::willRestore\28\29 +10950:SkPictureRecord::onResetClip\28\29 +10951:SkPictureRecord::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10952:SkPictureRecord::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10953:SkPictureRecord::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10954:SkPictureRecord::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10955:SkPictureRecord::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10956:SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10957:SkPictureRecord::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10958:SkPictureRecord::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10959:SkPictureRecord::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10960:SkPictureRecord::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10961:SkPictureRecord::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10962:SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +10963:SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10964:SkPictureRecord::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10965:SkPictureRecord::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10966:SkPictureRecord::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10967:SkPictureRecord::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10968:SkPictureRecord::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10969:SkPictureRecord::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10970:SkPictureRecord::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10971:SkPictureRecord::onDrawBehind\28SkPaint\20const&\29 +10972:SkPictureRecord::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10973:SkPictureRecord::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10974:SkPictureRecord::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10975:SkPictureRecord::onDoSaveBehind\28SkRect\20const*\29 +10976:SkPictureRecord::onClipShader\28sk_sp\2c\20SkClipOp\29 +10977:SkPictureRecord::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10978:SkPictureRecord::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10979:SkPictureRecord::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10980:SkPictureRecord::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10981:SkPictureRecord::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10982:SkPictureRecord::didTranslate\28float\2c\20float\29 +10983:SkPictureRecord::didSetM44\28SkM44\20const&\29 +10984:SkPictureRecord::didScale\28float\2c\20float\29 +10985:SkPictureRecord::didConcat44\28SkM44\20const&\29 +10986:SkPictureImageGenerator::~SkPictureImageGenerator\28\29.1 +10987:SkPictureImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +10988:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29.1 +10989:SkOTUtils::LocalizedStrings_SingleName::next\28SkTypeface::LocalizedString*\29 +10990:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29.1 +10991:SkOTUtils::LocalizedStrings_NameTable::next\28SkTypeface::LocalizedString*\29 +10992:SkNoPixelsDevice::~SkNoPixelsDevice\28\29.1 +10993:SkNoPixelsDevice::replaceClip\28SkIRect\20const&\29 +10994:SkNoPixelsDevice::pushClipStack\28\29 +10995:SkNoPixelsDevice::popClipStack\28\29 +10996:SkNoPixelsDevice::onClipShader\28sk_sp\29 +10997:SkNoPixelsDevice::isClipWideOpen\28\29\20const +10998:SkNoPixelsDevice::isClipRect\28\29\20const +10999:SkNoPixelsDevice::isClipEmpty\28\29\20const +11000:SkNoPixelsDevice::isClipAntiAliased\28\29\20const +11001:SkNoPixelsDevice::devClipBounds\28\29\20const +11002:SkNoPixelsDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +11003:SkNoPixelsDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +11004:SkNoPixelsDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +11005:SkNoPixelsDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +11006:SkNoPixelsDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +11007:SkMipmap::~SkMipmap\28\29.1 +11008:SkMipmap::onDataChange\28void*\2c\20void*\29 +11009:SkMemoryStream::~SkMemoryStream\28\29.1 +11010:SkMemoryStream::setMemory\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +11011:SkMemoryStream::seek\28unsigned\20long\29 +11012:SkMemoryStream::rewind\28\29 +11013:SkMemoryStream::read\28void*\2c\20unsigned\20long\29 +11014:SkMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +11015:SkMemoryStream::onFork\28\29\20const +11016:SkMemoryStream::onDuplicate\28\29\20const +11017:SkMemoryStream::move\28long\29 +11018:SkMemoryStream::isAtEnd\28\29\20const +11019:SkMemoryStream::getMemoryBase\28\29 +11020:SkMemoryStream::getLength\28\29\20const +11021:SkMemoryStream::getData\28\29\20const +11022:SkMatrixColorFilter::onIsAlphaUnchanged\28\29\20const +11023:SkMatrixColorFilter::onAsAColorMatrix\28float*\29\20const +11024:SkMatrixColorFilter::getTypeName\28\29\20const +11025:SkMatrixColorFilter::flatten\28SkWriteBuffer&\29\20const +11026:SkMatrixColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11027:SkMatrix::Trans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11028:SkMatrix::Trans_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11029:SkMatrix::Scale_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11030:SkMatrix::Scale_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11031:SkMatrix::ScaleTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11032:SkMatrix::Poly4Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +11033:SkMatrix::Poly3Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +11034:SkMatrix::Poly2Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +11035:SkMatrix::Persp_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11036:SkMatrix::Persp_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11037:SkMatrix::Identity_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11038:SkMatrix::Identity_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11039:SkMatrix::Affine_vpts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11040:SkMaskFilterBase::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +11041:SkMaskFilterBase::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +11042:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29.1 +11043:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29.1 +11044:SkLocalMatrixShader::~SkLocalMatrixShader\28\29.1 +11045:SkLocalMatrixShader::~SkLocalMatrixShader\28\29 +11046:SkLocalMatrixShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +11047:SkLocalMatrixShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +11048:SkLocalMatrixShader::makeAsALocalMatrixShader\28SkMatrix*\29\20const +11049:SkLocalMatrixShader::isOpaque\28\29\20const +11050:SkLocalMatrixShader::isConstant\28\29\20const +11051:SkLocalMatrixShader::getTypeName\28\29\20const +11052:SkLocalMatrixShader::flatten\28SkWriteBuffer&\29\20const +11053:SkLocalMatrixShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +11054:SkLocalMatrixShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11055:SkLinearGradient::getTypeName\28\29\20const +11056:SkLinearGradient::flatten\28SkWriteBuffer&\29\20const +11057:SkLinearGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +11058:SkJSONWriter::popScope\28\29 +11059:SkIntersections::hasOppT\28double\29\20const +11060:SkImage_Raster::~SkImage_Raster\28\29.1 +11061:SkImage_Raster::onReinterpretColorSpace\28sk_sp\29\20const +11062:SkImage_Raster::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +11063:SkImage_Raster::onPeekPixels\28SkPixmap*\29\20const +11064:SkImage_Raster::onPeekMips\28\29\20const +11065:SkImage_Raster::onMakeWithMipmaps\28sk_sp\29\20const +11066:SkImage_Raster::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +11067:SkImage_Raster::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11068:SkImage_Raster::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +11069:SkImage_Raster::onHasMipmaps\28\29\20const +11070:SkImage_Raster::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +11071:SkImage_Raster::notifyAddedToRasterCache\28\29\20const +11072:SkImage_Raster::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +11073:SkImage_LazyTexture::readPixelsProxy\28GrDirectContext*\2c\20SkPixmap\20const&\29\20const +11074:SkImage_LazyTexture::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11075:SkImage_Lazy::onReinterpretColorSpace\28sk_sp\29\20const +11076:SkImage_Lazy::onRefEncoded\28\29\20const +11077:SkImage_Lazy::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +11078:SkImage_Lazy::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +11079:SkImage_Lazy::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11080:SkImage_Lazy::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +11081:SkImage_Lazy::onIsProtected\28\29\20const +11082:SkImage_Lazy::isValid\28GrRecordingContext*\29\20const +11083:SkImage_Lazy::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +11084:SkImage_GaneshBase::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +11085:SkImage_GaneshBase::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +11086:SkImage_GaneshBase::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +11087:SkImage_GaneshBase::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11088:SkImage_GaneshBase::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +11089:SkImage_GaneshBase::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +11090:SkImage_GaneshBase::isValid\28GrRecordingContext*\29\20const +11091:SkImage_GaneshBase::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +11092:SkImage_GaneshBase::directContext\28\29\20const +11093:SkImage_Ganesh::~SkImage_Ganesh\28\29.1 +11094:SkImage_Ganesh::textureSize\28\29\20const +11095:SkImage_Ganesh::onReinterpretColorSpace\28sk_sp\29\20const +11096:SkImage_Ganesh::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +11097:SkImage_Ganesh::onIsProtected\28\29\20const +11098:SkImage_Ganesh::onHasMipmaps\28\29\20const +11099:SkImage_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +11100:SkImage_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +11101:SkImage_Ganesh::generatingSurfaceIsDeleted\28\29 +11102:SkImage_Ganesh::flush\28GrDirectContext*\2c\20GrFlushInfo\20const&\29\20const +11103:SkImage_Ganesh::asView\28GrRecordingContext*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29\20const +11104:SkImage_Ganesh::asFragmentProcessor\28GrRecordingContext*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29\20const +11105:SkImage_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +11106:SkImage_Base::notifyAddedToRasterCache\28\29\20const +11107:SkImage_Base::makeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +11108:SkImage_Base::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11109:SkImage_Base::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +11110:SkImage_Base::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +11111:SkImage_Base::makeColorSpace\28skgpu::graphite::Recorder*\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +11112:SkImage_Base::makeColorSpace\28GrDirectContext*\2c\20sk_sp\29\20const +11113:SkImage_Base::isTextureBacked\28\29\20const +11114:SkImage_Base::isLazyGenerated\28\29\20const +11115:SkImageShader::~SkImageShader\28\29.1 +11116:SkImageShader::type\28\29\20const +11117:SkImageShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +11118:SkImageShader::isOpaque\28\29\20const +11119:SkImageShader::getTypeName\28\29\20const +11120:SkImageShader::flatten\28SkWriteBuffer&\29\20const +11121:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11122:SkImageGenerator::~SkImageGenerator\28\29.1 +11123:SkImageFilter::computeFastBounds\28SkRect\20const&\29\20const +11124:SkGradientBaseShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +11125:SkGradientBaseShader::isOpaque\28\29\20const +11126:SkGradientBaseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11127:SkGaussianColorFilter::getTypeName\28\29\20const +11128:SkGaussianColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11129:SkGammaColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +11130:SkGammaColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +11131:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29.1 +11132:SkFontStyleSet_Custom::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +11133:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29.1 +11134:SkFontScanner_FreeType::scanFile\28SkStreamAsset*\2c\20int*\29\20const +11135:SkFontScanner_FreeType::scanFace\28SkStreamAsset*\2c\20int\2c\20int*\29\20const +11136:SkFontMgr_Custom::~SkFontMgr_Custom\28\29.1 +11137:SkFontMgr_Custom::onMatchFamily\28char\20const*\29\20const +11138:SkFontMgr_Custom::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +11139:SkFontMgr_Custom::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +11140:SkFontMgr_Custom::onMakeFromStreamArgs\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +11141:SkFontMgr_Custom::onMakeFromFile\28char\20const*\2c\20int\29\20const +11142:SkFontMgr_Custom::onMakeFromData\28sk_sp\2c\20int\29\20const +11143:SkFontMgr_Custom::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +11144:SkFontMgr_Custom::onGetFamilyName\28int\2c\20SkString*\29\20const +11145:SkFILEStream::~SkFILEStream\28\29.1 +11146:SkFILEStream::seek\28unsigned\20long\29 +11147:SkFILEStream::rewind\28\29 +11148:SkFILEStream::read\28void*\2c\20unsigned\20long\29 +11149:SkFILEStream::onFork\28\29\20const +11150:SkFILEStream::onDuplicate\28\29\20const +11151:SkFILEStream::move\28long\29 +11152:SkFILEStream::isAtEnd\28\29\20const +11153:SkFILEStream::getPosition\28\29\20const +11154:SkFILEStream::getLength\28\29\20const +11155:SkEmptyShader::getTypeName\28\29\20const +11156:SkEmptyPicture::~SkEmptyPicture\28\29 +11157:SkEmptyPicture::cullRect\28\29\20const +11158:SkEmptyPicture::approximateBytesUsed\28\29\20const +11159:SkEmptyFontMgr::onMatchFamily\28char\20const*\29\20const +11160:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +11161:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29.1 +11162:SkDynamicMemoryWStream::bytesWritten\28\29\20const +11163:SkDraw::paintMasks\28SkZip\2c\20SkPaint\20const&\29\20const +11164:SkDevice::strikeDeviceInfo\28\29\20const +11165:SkDevice::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +11166:SkDevice::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +11167:SkDevice::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20sk_sp\2c\20SkPaint\20const&\29 +11168:SkDevice::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +11169:SkDevice::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +11170:SkDevice::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +11171:SkDevice::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +11172:SkDevice::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +11173:SkDevice::drawCoverageMask\28SkSpecialImage\20const*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +11174:SkDevice::drawBlurredRRect\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20float\29 +11175:SkDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +11176:SkDevice::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +11177:SkDevice::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +11178:SkDashImpl::~SkDashImpl\28\29.1 +11179:SkDashImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +11180:SkDashImpl::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +11181:SkDashImpl::onAsADash\28SkPathEffect::DashInfo*\29\20const +11182:SkDashImpl::getTypeName\28\29\20const +11183:SkDashImpl::flatten\28SkWriteBuffer&\29\20const +11184:SkDCurve::nearPoint\28SkPath::Verb\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29\20const +11185:SkContourMeasure::~SkContourMeasure\28\29.1 +11186:SkConicalGradient::getTypeName\28\29\20const +11187:SkConicalGradient::flatten\28SkWriteBuffer&\29\20const +11188:SkConicalGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +11189:SkConicalGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +11190:SkComposeColorFilter::onIsAlphaUnchanged\28\29\20const +11191:SkComposeColorFilter::getTypeName\28\29\20const +11192:SkComposeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11193:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29.1 +11194:SkColorSpaceXformColorFilter::getTypeName\28\29\20const +11195:SkColorSpaceXformColorFilter::flatten\28SkWriteBuffer&\29\20const +11196:SkColorSpaceXformColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11197:SkColorShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +11198:SkColorShader::isOpaque\28\29\20const +11199:SkColorShader::getTypeName\28\29\20const +11200:SkColorShader::flatten\28SkWriteBuffer&\29\20const +11201:SkColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11202:SkColorFilterShader::~SkColorFilterShader\28\29.1 +11203:SkColorFilterShader::isOpaque\28\29\20const +11204:SkColorFilterShader::getTypeName\28\29\20const +11205:SkColorFilterShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11206:SkColorFilterBase::onFilterColor4f\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkColorSpace*\29\20const +11207:SkColor4Shader::~SkColor4Shader\28\29.1 +11208:SkColor4Shader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +11209:SkColor4Shader::isOpaque\28\29\20const +11210:SkColor4Shader::getTypeName\28\29\20const +11211:SkColor4Shader::flatten\28SkWriteBuffer&\29\20const +11212:SkColor4Shader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11213:SkCoincidentSpans::setOppPtTStart\28SkOpPtT\20const*\29 +11214:SkCoincidentSpans::setOppPtTEnd\28SkOpPtT\20const*\29 +11215:SkCoincidentSpans::setCoinPtTStart\28SkOpPtT\20const*\29 +11216:SkCoincidentSpans::setCoinPtTEnd\28SkOpPtT\20const*\29 +11217:SkCanvas::~SkCanvas\28\29.1 +11218:SkCanvas::recordingContext\28\29\20const +11219:SkCanvas::recorder\28\29\20const +11220:SkCanvas::onPeekPixels\28SkPixmap*\29 +11221:SkCanvas::onNewSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +11222:SkCanvas::onImageInfo\28\29\20const +11223:SkCanvas::onGetProps\28SkSurfaceProps*\2c\20bool\29\20const +11224:SkCanvas::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +11225:SkCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +11226:SkCanvas::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +11227:SkCanvas::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +11228:SkCanvas::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +11229:SkCanvas::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +11230:SkCanvas::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +11231:SkCanvas::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +11232:SkCanvas::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +11233:SkCanvas::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +11234:SkCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +11235:SkCanvas::onDrawPaint\28SkPaint\20const&\29 +11236:SkCanvas::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +11237:SkCanvas::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +11238:SkCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +11239:SkCanvas::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +11240:SkCanvas::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +11241:SkCanvas::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +11242:SkCanvas::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +11243:SkCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +11244:SkCanvas::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +11245:SkCanvas::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +11246:SkCanvas::onDrawBehind\28SkPaint\20const&\29 +11247:SkCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +11248:SkCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +11249:SkCanvas::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +11250:SkCanvas::onDiscard\28\29 +11251:SkCanvas::onConvertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +11252:SkCanvas::onAccessTopLayerPixels\28SkPixmap*\29 +11253:SkCanvas::isClipRect\28\29\20const +11254:SkCanvas::isClipEmpty\28\29\20const +11255:SkCanvas::getBaseLayerSize\28\29\20const +11256:SkCachedData::~SkCachedData\28\29.1 +11257:SkCTMShader::~SkCTMShader\28\29.1 +11258:SkCTMShader::~SkCTMShader\28\29 +11259:SkCTMShader::isConstant\28\29\20const +11260:SkCTMShader::getTypeName\28\29\20const +11261:SkCTMShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +11262:SkCTMShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11263:SkBreakIterator_client::~SkBreakIterator_client\28\29.1 +11264:SkBreakIterator_client::status\28\29 +11265:SkBreakIterator_client::setText\28char\20const*\2c\20int\29 +11266:SkBreakIterator_client::setText\28char16_t\20const*\2c\20int\29 +11267:SkBreakIterator_client::next\28\29 +11268:SkBreakIterator_client::isDone\28\29 +11269:SkBreakIterator_client::first\28\29 +11270:SkBreakIterator_client::current\28\29 +11271:SkBlurMaskFilterImpl::getTypeName\28\29\20const +11272:SkBlurMaskFilterImpl::flatten\28SkWriteBuffer&\29\20const +11273:SkBlurMaskFilterImpl::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +11274:SkBlurMaskFilterImpl::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +11275:SkBlurMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +11276:SkBlurMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +11277:SkBlurMaskFilterImpl::asImageFilter\28SkMatrix\20const&\29\20const +11278:SkBlurMaskFilterImpl::asABlur\28SkMaskFilterBase::BlurRec*\29\20const +11279:SkBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11280:SkBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +11281:SkBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11282:SkBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +11283:SkBlitter::allocBlitMemory\28unsigned\20long\29 +11284:SkBlendShader::getTypeName\28\29\20const +11285:SkBlendShader::flatten\28SkWriteBuffer&\29\20const +11286:SkBlendShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11287:SkBlendModeColorFilter::onIsAlphaUnchanged\28\29\20const +11288:SkBlendModeColorFilter::onAsAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +11289:SkBlendModeColorFilter::getTypeName\28\29\20const +11290:SkBlendModeColorFilter::flatten\28SkWriteBuffer&\29\20const +11291:SkBlendModeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11292:SkBlendModeBlender::onAppendStages\28SkStageRec\20const&\29\20const +11293:SkBlendModeBlender::getTypeName\28\29\20const +11294:SkBlendModeBlender::flatten\28SkWriteBuffer&\29\20const +11295:SkBlendModeBlender::asBlendMode\28\29\20const +11296:SkBitmapDevice::~SkBitmapDevice\28\29.1 +11297:SkBitmapDevice::snapSpecial\28SkIRect\20const&\2c\20bool\29 +11298:SkBitmapDevice::setImmutable\28\29 +11299:SkBitmapDevice::replaceClip\28SkIRect\20const&\29 +11300:SkBitmapDevice::pushClipStack\28\29 +11301:SkBitmapDevice::popClipStack\28\29 +11302:SkBitmapDevice::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +11303:SkBitmapDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +11304:SkBitmapDevice::onPeekPixels\28SkPixmap*\29 +11305:SkBitmapDevice::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +11306:SkBitmapDevice::onClipShader\28sk_sp\29 +11307:SkBitmapDevice::onAccessPixels\28SkPixmap*\29 +11308:SkBitmapDevice::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +11309:SkBitmapDevice::makeSpecial\28SkImage\20const*\29 +11310:SkBitmapDevice::makeSpecial\28SkBitmap\20const&\29 +11311:SkBitmapDevice::isClipWideOpen\28\29\20const +11312:SkBitmapDevice::isClipRect\28\29\20const +11313:SkBitmapDevice::isClipEmpty\28\29\20const +11314:SkBitmapDevice::isClipAntiAliased\28\29\20const +11315:SkBitmapDevice::getRasterHandle\28\29\20const +11316:SkBitmapDevice::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +11317:SkBitmapDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +11318:SkBitmapDevice::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +11319:SkBitmapDevice::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +11320:SkBitmapDevice::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +11321:SkBitmapDevice::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +11322:SkBitmapDevice::drawPaint\28SkPaint\20const&\29 +11323:SkBitmapDevice::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +11324:SkBitmapDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +11325:SkBitmapDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +11326:SkBitmapDevice::devClipBounds\28\29\20const +11327:SkBitmapDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +11328:SkBitmapDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +11329:SkBitmapDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +11330:SkBitmapDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +11331:SkBitmapDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +11332:SkBitmapDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +11333:SkBitmapCache::Rec::~Rec\28\29.1 +11334:SkBitmapCache::Rec::postAddInstall\28void*\29 +11335:SkBitmapCache::Rec::getCategory\28\29\20const +11336:SkBitmapCache::Rec::canBePurged\28\29 +11337:SkBitmapCache::Rec::bytesUsed\28\29\20const +11338:SkBitmapCache::Rec::ReleaseProc\28void*\2c\20void*\29 +11339:SkBitmapCache::Rec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +11340:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29.1 +11341:SkBinaryWriteBuffer::write\28SkM44\20const&\29 +11342:SkBinaryWriteBuffer::writeTypeface\28SkTypeface*\29 +11343:SkBinaryWriteBuffer::writeString\28std::__2::basic_string_view>\29 +11344:SkBinaryWriteBuffer::writeStream\28SkStream*\2c\20unsigned\20long\29 +11345:SkBinaryWriteBuffer::writeScalar\28float\29 +11346:SkBinaryWriteBuffer::writeSampling\28SkSamplingOptions\20const&\29 +11347:SkBinaryWriteBuffer::writeRegion\28SkRegion\20const&\29 +11348:SkBinaryWriteBuffer::writeRect\28SkRect\20const&\29 +11349:SkBinaryWriteBuffer::writePoint\28SkPoint\20const&\29 +11350:SkBinaryWriteBuffer::writePointArray\28SkPoint\20const*\2c\20unsigned\20int\29 +11351:SkBinaryWriteBuffer::writePoint3\28SkPoint3\20const&\29 +11352:SkBinaryWriteBuffer::writePath\28SkPath\20const&\29 +11353:SkBinaryWriteBuffer::writePaint\28SkPaint\20const&\29 +11354:SkBinaryWriteBuffer::writePad32\28void\20const*\2c\20unsigned\20long\29 +11355:SkBinaryWriteBuffer::writeMatrix\28SkMatrix\20const&\29 +11356:SkBinaryWriteBuffer::writeImage\28SkImage\20const*\29 +11357:SkBinaryWriteBuffer::writeColor4fArray\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20unsigned\20int\29 +11358:SkBinaryWriteBuffer::writeBool\28bool\29 +11359:SkBigPicture::~SkBigPicture\28\29.1 +11360:SkBigPicture::playback\28SkCanvas*\2c\20SkPicture::AbortCallback*\29\20const +11361:SkBigPicture::cullRect\28\29\20const +11362:SkBigPicture::approximateOpCount\28bool\29\20const +11363:SkBigPicture::approximateBytesUsed\28\29\20const +11364:SkBidiSubsetFactory::errorName\28UErrorCode\29\20const +11365:SkBidiSubsetFactory::bidi_setPara\28UBiDi*\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20UErrorCode*\29\20const +11366:SkBidiSubsetFactory::bidi_reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +11367:SkBidiSubsetFactory::bidi_openSized\28int\2c\20int\2c\20UErrorCode*\29\20const +11368:SkBidiSubsetFactory::bidi_getLevelAt\28UBiDi\20const*\2c\20int\29\20const +11369:SkBidiSubsetFactory::bidi_getLength\28UBiDi\20const*\29\20const +11370:SkBidiSubsetFactory::bidi_getDirection\28UBiDi\20const*\29\20const +11371:SkBidiSubsetFactory::bidi_close_callback\28\29\20const +11372:SkBasicEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11373:SkBasicEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11374:SkBasicEdgeBuilder::addQuad\28SkPoint\20const*\29 +11375:SkBasicEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11376:SkBasicEdgeBuilder::addLine\28SkPoint\20const*\29 +11377:SkBasicEdgeBuilder::addCubic\28SkPoint\20const*\29 +11378:SkBBoxHierarchy::insert\28SkRect\20const*\2c\20SkBBoxHierarchy::Metadata\20const*\2c\20int\29 +11379:SkArenaAlloc::SkipPod\28char*\29 +11380:SkArenaAlloc::NextBlock\28char*\29 +11381:SkAnalyticEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11382:SkAnalyticEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11383:SkAnalyticEdgeBuilder::addQuad\28SkPoint\20const*\29 +11384:SkAnalyticEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11385:SkAnalyticEdgeBuilder::addLine\28SkPoint\20const*\29 +11386:SkAnalyticEdgeBuilder::addCubic\28SkPoint\20const*\29 +11387:SkAAClipBlitter::~SkAAClipBlitter\28\29.1 +11388:SkAAClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11389:SkAAClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11390:SkAAClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11391:SkAAClipBlitter::blitH\28int\2c\20int\2c\20int\29 +11392:SkAAClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11393:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_1::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11394:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_0::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11395:SkAAClip::Builder::Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11396:SkAAClip::Builder::Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11397:SkAAClip::Builder::Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11398:SkAAClip::Builder::Blitter::blitH\28int\2c\20int\2c\20int\29 +11399:SkAAClip::Builder::Blitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11400:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29.1 +11401:SkA8_Coverage_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11402:SkA8_Coverage_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11403:SkA8_Coverage_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11404:SkA8_Coverage_Blitter::blitH\28int\2c\20int\2c\20int\29 +11405:SkA8_Coverage_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11406:SkA8_Blitter::~SkA8_Blitter\28\29.1 +11407:SkA8_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11408:SkA8_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11409:SkA8_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11410:SkA8_Blitter::blitH\28int\2c\20int\2c\20int\29 +11411:SkA8_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11412:SkA8Blitter_Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +11413:ShaderPDXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11414:ShaderPDXferProcessor::name\28\29\20const +11415:ShaderPDXferProcessor::makeProgramImpl\28\29\20const +11416:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11417:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11418:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11419:RuntimeEffectRPCallbacks::toLinearSrgb\28void\20const*\29 +11420:RuntimeEffectRPCallbacks::fromLinearSrgb\28void\20const*\29 +11421:RuntimeEffectRPCallbacks::appendShader\28int\29 +11422:RuntimeEffectRPCallbacks::appendColorFilter\28int\29 +11423:RuntimeEffectRPCallbacks::appendBlender\28int\29 +11424:RunBasedAdditiveBlitter::getRealBlitter\28bool\29 +11425:RunBasedAdditiveBlitter::flush_if_y_changed\28int\2c\20int\29 +11426:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11427:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11428:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11429:Round_Up_To_Grid +11430:Round_To_Half_Grid +11431:Round_To_Grid +11432:Round_To_Double_Grid +11433:Round_Super_45 +11434:Round_Super +11435:Round_None +11436:Round_Down_To_Grid +11437:RoundJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11438:RoundCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +11439:Read_CVT_Stretched +11440:Read_CVT +11441:Project_y +11442:Project +11443:PrePostInverseBlitterProc\28SkBlitter*\2c\20int\2c\20bool\29 +11444:PorterDuffXferProcessor::onHasSecondaryOutput\28\29\20const +11445:PorterDuffXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11446:PorterDuffXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11447:PorterDuffXferProcessor::name\28\29\20const +11448:PorterDuffXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11449:PorterDuffXferProcessor::makeProgramImpl\28\29\20const +11450:PDLCDXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +11451:PDLCDXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11452:PDLCDXferProcessor::name\28\29\20const +11453:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +11454:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11455:PDLCDXferProcessor::makeProgramImpl\28\29\20const +11456:OT::match_glyph\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11457:OT::match_coverage\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11458:OT::match_class_cached\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11459:OT::match_class_cached2\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11460:OT::match_class_cached1\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11461:OT::match_class\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11462:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GSUB_impl::SubstLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11463:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GPOS_impl::PosLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11464:OT::Layout::Common::RangeRecord::cmp_range\28void\20const*\2c\20void\20const*\29 +11465:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11466:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11467:OT::CmapSubtableFormat4::accelerator_t::get_glyph_func\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +11468:Move_CVT_Stretched +11469:Move_CVT +11470:MiterJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11471:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29.1 +11472:MaskAdditiveBlitter::getWidth\28\29 +11473:MaskAdditiveBlitter::getRealBlitter\28bool\29 +11474:MaskAdditiveBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11475:MaskAdditiveBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11476:MaskAdditiveBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11477:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11478:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11479:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11480:InverseBlitter::blitH\28int\2c\20int\2c\20int\29 +11481:Horish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11482:Horish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11483:HLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11484:HLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11485:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11486:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11487:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const +11488:GrYUVtoRGBEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11489:GrYUVtoRGBEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11490:GrYUVtoRGBEffect::name\28\29\20const +11491:GrYUVtoRGBEffect::clone\28\29\20const +11492:GrXferProcessor::ProgramImpl::emitWriteSwizzle\28GrGLSLXPFragmentBuilder*\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20char\20const*\29\20const +11493:GrXferProcessor::ProgramImpl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11494:GrXferProcessor::ProgramImpl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +11495:GrWritePixelsTask::~GrWritePixelsTask\28\29.1 +11496:GrWritePixelsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11497:GrWritePixelsTask::onExecute\28GrOpFlushState*\29 +11498:GrWritePixelsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11499:GrWaitRenderTask::~GrWaitRenderTask\28\29.1 +11500:GrWaitRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +11501:GrWaitRenderTask::onExecute\28GrOpFlushState*\29 +11502:GrWaitRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11503:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29.1 +11504:GrTransferFromRenderTask::onExecute\28GrOpFlushState*\29 +11505:GrTransferFromRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11506:GrThreadSafeCache::Trampoline::~Trampoline\28\29.1 +11507:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29.1 +11508:GrTextureResolveRenderTask::onExecute\28GrOpFlushState*\29 +11509:GrTextureResolveRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11510:GrTextureEffect::~GrTextureEffect\28\29.1 +11511:GrTextureEffect::onMakeProgramImpl\28\29\20const +11512:GrTextureEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11513:GrTextureEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11514:GrTextureEffect::name\28\29\20const +11515:GrTextureEffect::clone\28\29\20const +11516:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11517:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11518:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29.1 +11519:GrTDeferredProxyUploader>::freeData\28\29 +11520:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29.1 +11521:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::freeData\28\29 +11522:GrSurfaceProxy::getUniqueKey\28\29\20const +11523:GrSurface::getResourceType\28\29\20const +11524:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29.1 +11525:GrStrokeTessellationShader::name\28\29\20const +11526:GrStrokeTessellationShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11527:GrStrokeTessellationShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11528:GrStrokeTessellationShader::Impl::~Impl\28\29.1 +11529:GrStrokeTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11530:GrStrokeTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11531:GrSkSLFP::~GrSkSLFP\28\29.1 +11532:GrSkSLFP::onMakeProgramImpl\28\29\20const +11533:GrSkSLFP::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11534:GrSkSLFP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11535:GrSkSLFP::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11536:GrSkSLFP::clone\28\29\20const +11537:GrSkSLFP::Impl::~Impl\28\29.1 +11538:GrSkSLFP::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11539:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11540:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11541:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11542:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11543:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::getMangledName\28char\20const*\29 +11544:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11545:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +11546:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +11547:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareFunction\28char\20const*\29 +11548:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11549:GrSimpleMesh*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29::'lambda'\28char*\29::__invoke\28char*\29 +11550:GrRingBuffer::FinishSubmit\28void*\29 +11551:GrResourceCache::CompareTimestamp\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29 +11552:GrRenderTask::disown\28GrDrawingManager*\29 +11553:GrRecordingContext::~GrRecordingContext\28\29.1 +11554:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29.1 +11555:GrRRectShadowGeoProc::onTextureSampler\28int\29\20const +11556:GrRRectShadowGeoProc::name\28\29\20const +11557:GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11558:GrRRectShadowGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11559:GrQuadEffect::name\28\29\20const +11560:GrQuadEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11561:GrQuadEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11562:GrQuadEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11563:GrQuadEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11564:GrPorterDuffXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11565:GrPorterDuffXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11566:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29.1 +11567:GrPerlinNoise2Effect::onMakeProgramImpl\28\29\20const +11568:GrPerlinNoise2Effect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11569:GrPerlinNoise2Effect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11570:GrPerlinNoise2Effect::name\28\29\20const +11571:GrPerlinNoise2Effect::clone\28\29\20const +11572:GrPerlinNoise2Effect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11573:GrPerlinNoise2Effect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11574:GrPathTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11575:GrPathTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11576:GrOpsRenderPass::onExecuteDrawable\28std::__2::unique_ptr>\29 +11577:GrOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11578:GrOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11579:GrOpFlushState::writeView\28\29\20const +11580:GrOpFlushState::usesMSAASurface\28\29\20const +11581:GrOpFlushState::tokenTracker\28\29 +11582:GrOpFlushState::threadSafeCache\28\29\20const +11583:GrOpFlushState::strikeCache\28\29\20const +11584:GrOpFlushState::sampledProxyArray\28\29 +11585:GrOpFlushState::rtProxy\28\29\20const +11586:GrOpFlushState::resourceProvider\28\29\20const +11587:GrOpFlushState::renderPassBarriers\28\29\20const +11588:GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +11589:GrOpFlushState::putBackIndirectDraws\28int\29 +11590:GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +11591:GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +11592:GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11593:GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +11594:GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11595:GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11596:GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11597:GrOpFlushState::dstProxyView\28\29\20const +11598:GrOpFlushState::colorLoadOp\28\29\20const +11599:GrOpFlushState::caps\28\29\20const +11600:GrOpFlushState::atlasManager\28\29\20const +11601:GrOpFlushState::appliedClip\28\29\20const +11602:GrOpFlushState::addInlineUpload\28std::__2::function&\29>&&\29 +11603:GrOnFlushCallbackObject::postFlush\28skgpu::AtlasToken\29 +11604:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11605:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11606:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +11607:GrModulateAtlasCoverageEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11608:GrModulateAtlasCoverageEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11609:GrModulateAtlasCoverageEffect::name\28\29\20const +11610:GrModulateAtlasCoverageEffect::clone\28\29\20const +11611:GrMeshDrawOp::onPrepare\28GrOpFlushState*\29 +11612:GrMeshDrawOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11613:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11614:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11615:GrMatrixEffect::onMakeProgramImpl\28\29\20const +11616:GrMatrixEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11617:GrMatrixEffect::name\28\29\20const +11618:GrMatrixEffect::clone\28\29\20const +11619:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +11620:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::$_0::__invoke\28void\20const*\2c\20void*\29 +11621:GrImageContext::~GrImageContext\28\29 +11622:GrHardClip::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +11623:GrGpuResource::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +11624:GrGpuBuffer::unref\28\29\20const +11625:GrGpuBuffer::getResourceType\28\29\20const +11626:GrGpuBuffer::computeScratchKey\28skgpu::ScratchKey*\29\20const +11627:GrGeometryProcessor::onTextureSampler\28int\29\20const +11628:GrGLVaryingHandler::~GrGLVaryingHandler\28\29 +11629:GrGLUniformHandler::~GrGLUniformHandler\28\29.1 +11630:GrGLUniformHandler::samplerVariable\28GrResourceHandle\29\20const +11631:GrGLUniformHandler::samplerSwizzle\28GrResourceHandle\29\20const +11632:GrGLUniformHandler::internalAddUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20bool\2c\20int\2c\20char\20const**\29 +11633:GrGLUniformHandler::getUniformCStr\28GrResourceHandle\29\20const +11634:GrGLUniformHandler::appendUniformDecls\28GrShaderFlags\2c\20SkString*\29\20const +11635:GrGLUniformHandler::addSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20GrShaderCaps\20const*\29 +11636:GrGLTextureRenderTarget::onSetLabel\28\29 +11637:GrGLTextureRenderTarget::backendFormat\28\29\20const +11638:GrGLTexture::textureParamsModified\28\29 +11639:GrGLTexture::onStealBackendTexture\28GrBackendTexture*\2c\20std::__2::function*\29 +11640:GrGLTexture::getBackendTexture\28\29\20const +11641:GrGLSemaphore::~GrGLSemaphore\28\29.1 +11642:GrGLSemaphore::setIsOwned\28\29 +11643:GrGLSemaphore::backendSemaphore\28\29\20const +11644:GrGLSLVertexBuilder::~GrGLSLVertexBuilder\28\29 +11645:GrGLSLVertexBuilder::onFinalize\28\29 +11646:GrGLSLUniformHandler::inputSamplerSwizzle\28GrResourceHandle\29\20const +11647:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +11648:GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +11649:GrGLSLFragmentShaderBuilder::forceHighPrecision\28\29 +11650:GrGLRenderTarget::getBackendRenderTarget\28\29\20const +11651:GrGLRenderTarget::completeStencilAttachment\28GrAttachment*\2c\20bool\29 +11652:GrGLRenderTarget::canAttemptStencilAttachment\28bool\29\20const +11653:GrGLRenderTarget::alwaysClearStencil\28\29\20const +11654:GrGLProgramDataManager::~GrGLProgramDataManager\28\29.1 +11655:GrGLProgramDataManager::setMatrix4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11656:GrGLProgramDataManager::setMatrix4f\28GrResourceHandle\2c\20float\20const*\29\20const +11657:GrGLProgramDataManager::setMatrix3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11658:GrGLProgramDataManager::setMatrix3f\28GrResourceHandle\2c\20float\20const*\29\20const +11659:GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11660:GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +11661:GrGLProgramDataManager::set4iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11662:GrGLProgramDataManager::set4i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +11663:GrGLProgramDataManager::set4f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\2c\20float\29\20const +11664:GrGLProgramDataManager::set3iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11665:GrGLProgramDataManager::set3i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\29\20const +11666:GrGLProgramDataManager::set3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11667:GrGLProgramDataManager::set3f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\29\20const +11668:GrGLProgramDataManager::set2iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11669:GrGLProgramDataManager::set2i\28GrResourceHandle\2c\20int\2c\20int\29\20const +11670:GrGLProgramDataManager::set2f\28GrResourceHandle\2c\20float\2c\20float\29\20const +11671:GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11672:GrGLProgramDataManager::set1i\28GrResourceHandle\2c\20int\29\20const +11673:GrGLProgramDataManager::set1fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11674:GrGLProgramDataManager::set1f\28GrResourceHandle\2c\20float\29\20const +11675:GrGLProgramBuilder::~GrGLProgramBuilder\28\29.1 +11676:GrGLProgramBuilder::varyingHandler\28\29 +11677:GrGLProgramBuilder::caps\28\29\20const +11678:GrGLProgram::~GrGLProgram\28\29.1 +11679:GrGLOpsRenderPass::~GrGLOpsRenderPass\28\29 +11680:GrGLOpsRenderPass::onSetScissorRect\28SkIRect\20const&\29 +11681:GrGLOpsRenderPass::onEnd\28\29 +11682:GrGLOpsRenderPass::onDraw\28int\2c\20int\29 +11683:GrGLOpsRenderPass::onDrawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +11684:GrGLOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11685:GrGLOpsRenderPass::onDrawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +11686:GrGLOpsRenderPass::onDrawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +11687:GrGLOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11688:GrGLOpsRenderPass::onClear\28GrScissorState\20const&\2c\20std::__2::array\29 +11689:GrGLOpsRenderPass::onClearStencilClip\28GrScissorState\20const&\2c\20bool\29 +11690:GrGLOpsRenderPass::onBindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +11691:GrGLOpsRenderPass::onBindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +11692:GrGLOpsRenderPass::onBindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +11693:GrGLOpsRenderPass::onBegin\28\29 +11694:GrGLOpsRenderPass::inlineUpload\28GrOpFlushState*\2c\20std::__2::function&\29>&\29 +11695:GrGLInterface::~GrGLInterface\28\29.1 +11696:GrGLGpu::~GrGLGpu\28\29.1 +11697:GrGLGpu::xferBarrier\28GrRenderTarget*\2c\20GrXferBarrierType\29 +11698:GrGLGpu::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +11699:GrGLGpu::willExecute\28\29 +11700:GrGLGpu::submit\28GrOpsRenderPass*\29 +11701:GrGLGpu::stagingBufferManager\28\29 +11702:GrGLGpu::refPipelineBuilder\28\29 +11703:GrGLGpu::prepareTextureForCrossContextUsage\28GrTexture*\29 +11704:GrGLGpu::precompileShader\28SkData\20const&\2c\20SkData\20const&\29 +11705:GrGLGpu::pipelineBuilder\28\29 +11706:GrGLGpu::onWritePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +11707:GrGLGpu::onWrapRenderableBackendTexture\28GrBackendTexture\20const&\2c\20int\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11708:GrGLGpu::onWrapCompressedBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11709:GrGLGpu::onWrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\29 +11710:GrGLGpu::onWrapBackendRenderTarget\28GrBackendRenderTarget\20const&\29 +11711:GrGLGpu::onUpdateCompressedBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20void\20const*\2c\20unsigned\20long\29 +11712:GrGLGpu::onTransferPixelsTo\28GrTexture*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11713:GrGLGpu::onTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\29 +11714:GrGLGpu::onTransferFromBufferToBuffer\28sk_sp\2c\20unsigned\20long\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11715:GrGLGpu::onSubmitToGpu\28GrSyncCpu\29 +11716:GrGLGpu::onResolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +11717:GrGLGpu::onResetTextureBindings\28\29 +11718:GrGLGpu::onResetContext\28unsigned\20int\29 +11719:GrGLGpu::onRegenerateMipMapLevels\28GrTexture*\29 +11720:GrGLGpu::onReadPixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20unsigned\20long\29 +11721:GrGLGpu::onGetOpsRenderPass\28GrRenderTarget*\2c\20bool\2c\20GrAttachment*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const&\2c\20GrOpsRenderPass::LoadAndStoreInfo\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\2c\20skia_private::TArray\20const&\2c\20GrXferBarrierFlags\29 +11722:GrGLGpu::onDumpJSON\28SkJSONWriter*\29\20const +11723:GrGLGpu::onCreateTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +11724:GrGLGpu::onCreateCompressedTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20void\20const*\2c\20unsigned\20long\29 +11725:GrGLGpu::onCreateCompressedBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\29 +11726:GrGLGpu::onCreateBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +11727:GrGLGpu::onCreateBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +11728:GrGLGpu::onCopySurface\28GrSurface*\2c\20SkIRect\20const&\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +11729:GrGLGpu::onClearBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20std::__2::array\29 +11730:GrGLGpu::makeStencilAttachment\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\29 +11731:GrGLGpu::makeSemaphore\28bool\29 +11732:GrGLGpu::makeMSAAAttachment\28SkISize\2c\20GrBackendFormat\20const&\2c\20int\2c\20skgpu::Protected\2c\20GrMemoryless\29 +11733:GrGLGpu::getPreferredStencilFormat\28GrBackendFormat\20const&\29 +11734:GrGLGpu::finishOutstandingGpuWork\28\29 +11735:GrGLGpu::disconnect\28GrGpu::DisconnectType\29 +11736:GrGLGpu::deleteBackendTexture\28GrBackendTexture\20const&\29 +11737:GrGLGpu::compile\28GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\29 +11738:GrGLGpu::checkFinishProcs\28\29 +11739:GrGLGpu::addFinishedProc\28void\20\28*\29\28void*\29\2c\20void*\29 +11740:GrGLGpu::ProgramCache::~ProgramCache\28\29.1 +11741:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20float\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29 +11742:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\29::'lambda'\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +11743:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\2c\20float\29 +11744:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29 +11745:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\29 +11746:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29 +11747:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\29\29::'lambda'\28void\20const*\2c\20float\29::__invoke\28void\20const*\2c\20float\29 +11748:GrGLFunction::GrGLFunction\28void\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11749:GrGLFunction::GrGLFunction\28void\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11750:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11751:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11752:GrGLContext::~GrGLContext\28\29 +11753:GrGLCaps::~GrGLCaps\28\29.1 +11754:GrGLCaps::surfaceSupportsReadPixels\28GrSurface\20const*\29\20const +11755:GrGLCaps::supportedWritePixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11756:GrGLCaps::onSurfaceSupportsWritePixels\28GrSurface\20const*\29\20const +11757:GrGLCaps::onSupportsDynamicMSAA\28GrRenderTargetProxy\20const*\29\20const +11758:GrGLCaps::onSupportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11759:GrGLCaps::onIsWindowRectanglesSupportedForRT\28GrBackendRenderTarget\20const&\29\20const +11760:GrGLCaps::onGetReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11761:GrGLCaps::onGetDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\29\20const +11762:GrGLCaps::onGetDefaultBackendFormat\28GrColorType\29\20const +11763:GrGLCaps::onDumpJSON\28SkJSONWriter*\29\20const +11764:GrGLCaps::onCanCopySurface\28GrSurfaceProxy\20const*\2c\20SkIRect\20const&\2c\20GrSurfaceProxy\20const*\2c\20SkIRect\20const&\29\20const +11765:GrGLCaps::onAreColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +11766:GrGLCaps::onApplyOptionsOverrides\28GrContextOptions\20const&\29 +11767:GrGLCaps::maxRenderTargetSampleCount\28GrBackendFormat\20const&\29\20const +11768:GrGLCaps::makeDesc\28GrRenderTarget*\2c\20GrProgramInfo\20const&\2c\20GrCaps::ProgramDescOverrideFlags\29\20const +11769:GrGLCaps::isFormatTexturable\28GrBackendFormat\20const&\2c\20GrTextureType\29\20const +11770:GrGLCaps::isFormatSRGB\28GrBackendFormat\20const&\29\20const +11771:GrGLCaps::isFormatRenderable\28GrBackendFormat\20const&\2c\20int\29\20const +11772:GrGLCaps::isFormatCopyable\28GrBackendFormat\20const&\29\20const +11773:GrGLCaps::isFormatAsColorTypeRenderable\28GrColorType\2c\20GrBackendFormat\20const&\2c\20int\29\20const +11774:GrGLCaps::getWriteSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11775:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrBackendFormat\20const&\29\20const +11776:GrGLCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11777:GrGLCaps::getBackendFormatFromCompressionType\28SkTextureCompressionType\29\20const +11778:GrGLCaps::computeFormatKey\28GrBackendFormat\20const&\29\20const +11779:GrGLBuffer::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11780:GrGLBuffer::onUpdateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +11781:GrGLBuffer::onUnmap\28GrGpuBuffer::MapType\29 +11782:GrGLBuffer::onSetLabel\28\29 +11783:GrGLBuffer::onRelease\28\29 +11784:GrGLBuffer::onMap\28GrGpuBuffer::MapType\29 +11785:GrGLBuffer::onClearToZero\28\29 +11786:GrGLBuffer::onAbandon\28\29 +11787:GrGLBackendTextureData::~GrGLBackendTextureData\28\29.1 +11788:GrGLBackendTextureData::~GrGLBackendTextureData\28\29 +11789:GrGLBackendTextureData::isSameTexture\28GrBackendTextureData\20const*\29\20const +11790:GrGLBackendTextureData::getBackendFormat\28\29\20const +11791:GrGLBackendTextureData::equal\28GrBackendTextureData\20const*\29\20const +11792:GrGLBackendTextureData::copyTo\28SkAnySubclass&\29\20const +11793:GrGLBackendRenderTargetData::isProtected\28\29\20const +11794:GrGLBackendRenderTargetData::getBackendFormat\28\29\20const +11795:GrGLBackendRenderTargetData::equal\28GrBackendRenderTargetData\20const*\29\20const +11796:GrGLBackendRenderTargetData::copyTo\28SkAnySubclass&\29\20const +11797:GrGLBackendFormatData::toString\28\29\20const +11798:GrGLBackendFormatData::stencilBits\28\29\20const +11799:GrGLBackendFormatData::equal\28GrBackendFormatData\20const*\29\20const +11800:GrGLBackendFormatData::desc\28\29\20const +11801:GrGLBackendFormatData::copyTo\28SkAnySubclass&\29\20const +11802:GrGLBackendFormatData::compressionType\28\29\20const +11803:GrGLBackendFormatData::channelMask\28\29\20const +11804:GrGLBackendFormatData::bytesPerBlock\28\29\20const +11805:GrGLAttachment::~GrGLAttachment\28\29 +11806:GrGLAttachment::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11807:GrGLAttachment::onSetLabel\28\29 +11808:GrGLAttachment::onRelease\28\29 +11809:GrGLAttachment::onAbandon\28\29 +11810:GrGLAttachment::backendFormat\28\29\20const +11811:GrFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11812:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11813:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +11814:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11815:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11816:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::name\28\29\20const +11817:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11818:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::clone\28\29\20const +11819:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11820:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const +11821:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::name\28\29\20const +11822:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::clone\28\29\20const +11823:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11824:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const +11825:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::name\28\29\20const +11826:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::clone\28\29\20const +11827:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11828:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const +11829:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::name\28\29\20const +11830:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11831:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::clone\28\29\20const +11832:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11833:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const +11834:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::name\28\29\20const +11835:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11836:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +11837:GrFixedClip::~GrFixedClip\28\29.1 +11838:GrFixedClip::~GrFixedClip\28\29 +11839:GrFixedClip::getConservativeBounds\28\29\20const +11840:GrExternalTextureGenerator::onGenerateTexture\28GrRecordingContext*\2c\20SkImageInfo\20const&\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +11841:GrDynamicAtlas::~GrDynamicAtlas\28\29.1 +11842:GrDrawOp::usesStencil\28\29\20const +11843:GrDrawOp::usesMSAA\28\29\20const +11844:GrDrawOp::fixedFunctionFlags\28\29\20const +11845:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29.1 +11846:GrDistanceFieldPathGeoProc::onTextureSampler\28int\29\20const +11847:GrDistanceFieldPathGeoProc::name\28\29\20const +11848:GrDistanceFieldPathGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11849:GrDistanceFieldPathGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11850:GrDistanceFieldPathGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11851:GrDistanceFieldPathGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11852:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29.1 +11853:GrDistanceFieldLCDTextGeoProc::name\28\29\20const +11854:GrDistanceFieldLCDTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11855:GrDistanceFieldLCDTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11856:GrDistanceFieldLCDTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11857:GrDistanceFieldLCDTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11858:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +11859:GrDistanceFieldA8TextGeoProc::name\28\29\20const +11860:GrDistanceFieldA8TextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11861:GrDistanceFieldA8TextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11862:GrDistanceFieldA8TextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11863:GrDistanceFieldA8TextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11864:GrDisableColorXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11865:GrDisableColorXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11866:GrDirectContext::~GrDirectContext\28\29.1 +11867:GrDirectContext::init\28\29 +11868:GrDirectContext::abandonContext\28\29 +11869:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29.1 +11870:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29.1 +11871:GrCpuVertexAllocator::unlock\28int\29 +11872:GrCpuVertexAllocator::lock\28unsigned\20long\2c\20int\29 +11873:GrCpuBuffer::unref\28\29\20const +11874:GrCpuBuffer::ref\28\29\20const +11875:GrCoverageSetOpXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11876:GrCoverageSetOpXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11877:GrCopyRenderTask::~GrCopyRenderTask\28\29.1 +11878:GrCopyRenderTask::onMakeSkippable\28\29 +11879:GrCopyRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11880:GrCopyRenderTask::onExecute\28GrOpFlushState*\29 +11881:GrCopyRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11882:GrConvexPolyEffect::~GrConvexPolyEffect\28\29 +11883:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11884:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11885:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const +11886:GrConvexPolyEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11887:GrConvexPolyEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11888:GrConvexPolyEffect::name\28\29\20const +11889:GrConvexPolyEffect::clone\28\29\20const +11890:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29.1 +11891:GrContextThreadSafeProxy::isValidCharacterizationForVulkan\28sk_sp\2c\20bool\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20bool\2c\20bool\29 +11892:GrConicEffect::name\28\29\20const +11893:GrConicEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11894:GrConicEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11895:GrConicEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11896:GrConicEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11897:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +11898:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11899:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11900:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const +11901:GrColorSpaceXformEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11902:GrColorSpaceXformEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11903:GrColorSpaceXformEffect::name\28\29\20const +11904:GrColorSpaceXformEffect::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11905:GrColorSpaceXformEffect::clone\28\29\20const +11906:GrCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11907:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29.1 +11908:GrBitmapTextGeoProc::onTextureSampler\28int\29\20const +11909:GrBitmapTextGeoProc::name\28\29\20const +11910:GrBitmapTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11911:GrBitmapTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11912:GrBitmapTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11913:GrBitmapTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11914:GrBicubicEffect::onMakeProgramImpl\28\29\20const +11915:GrBicubicEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11916:GrBicubicEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11917:GrBicubicEffect::name\28\29\20const +11918:GrBicubicEffect::clone\28\29\20const +11919:GrBicubicEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11920:GrBicubicEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11921:GrAttachment::onGpuMemorySize\28\29\20const +11922:GrAttachment::getResourceType\28\29\20const +11923:GrAttachment::computeScratchKey\28skgpu::ScratchKey*\29\20const +11924:GrAtlasManager::~GrAtlasManager\28\29.1 +11925:GrAtlasManager::postFlush\28skgpu::AtlasToken\29 +11926:GrAATriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +11927:FontMgrRunIterator::~FontMgrRunIterator\28\29.1 +11928:FontMgrRunIterator::consume\28\29 +11929:EllipticalRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11930:EllipticalRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11931:EllipticalRRectOp::name\28\29\20const +11932:EllipticalRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11933:EllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11934:EllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11935:EllipseOp::name\28\29\20const +11936:EllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11937:EllipseGeometryProcessor::name\28\29\20const +11938:EllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11939:EllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11940:EllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11941:Dual_Project +11942:DisableColorXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11943:DisableColorXP::name\28\29\20const +11944:DisableColorXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11945:DisableColorXP::makeProgramImpl\28\29\20const +11946:Direct_Move_Y +11947:Direct_Move_X +11948:Direct_Move_Orig_Y +11949:Direct_Move_Orig_X +11950:Direct_Move_Orig +11951:Direct_Move +11952:DefaultGeoProc::name\28\29\20const +11953:DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11954:DefaultGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11955:DefaultGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11956:DefaultGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11957:DIEllipseOp::~DIEllipseOp\28\29.1 +11958:DIEllipseOp::visitProxies\28std::__2::function\20const&\29\20const +11959:DIEllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11960:DIEllipseOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11961:DIEllipseOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11962:DIEllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11963:DIEllipseOp::name\28\29\20const +11964:DIEllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11965:DIEllipseGeometryProcessor::name\28\29\20const +11966:DIEllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11967:DIEllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11968:DIEllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11969:CustomXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11970:CustomXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11971:CustomXP::xferBarrierType\28GrCaps\20const&\29\20const +11972:CustomXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11973:CustomXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11974:CustomXP::name\28\29\20const +11975:CustomXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11976:CustomXP::makeProgramImpl\28\29\20const +11977:Current_Ppem_Stretched +11978:Current_Ppem +11979:Cr_z_zcalloc +11980:CoverageSetOpXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11981:CoverageSetOpXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11982:CoverageSetOpXP::name\28\29\20const +11983:CoverageSetOpXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11984:CoverageSetOpXP::makeProgramImpl\28\29\20const +11985:ColorTableEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11986:ColorTableEffect::onMakeProgramImpl\28\29\20const +11987:ColorTableEffect::name\28\29\20const +11988:ColorTableEffect::clone\28\29\20const +11989:CircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +11990:CircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11991:CircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11992:CircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11993:CircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11994:CircularRRectOp::name\28\29\20const +11995:CircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11996:CircleOp::~CircleOp\28\29.1 +11997:CircleOp::visitProxies\28std::__2::function\20const&\29\20const +11998:CircleOp::programInfo\28\29 +11999:CircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +12000:CircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +12001:CircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +12002:CircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +12003:CircleOp::name\28\29\20const +12004:CircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +12005:CircleGeometryProcessor::name\28\29\20const +12006:CircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +12007:CircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +12008:CircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +12009:ButtCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +12010:ButtCapDashedCircleOp::visitProxies\28std::__2::function\20const&\29\20const +12011:ButtCapDashedCircleOp::programInfo\28\29 +12012:ButtCapDashedCircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +12013:ButtCapDashedCircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +12014:ButtCapDashedCircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +12015:ButtCapDashedCircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +12016:ButtCapDashedCircleOp::name\28\29\20const +12017:ButtCapDashedCircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +12018:ButtCapDashedCircleGeometryProcessor::name\28\29\20const +12019:ButtCapDashedCircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +12020:ButtCapDashedCircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +12021:ButtCapDashedCircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +12022:BluntJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +12023:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +12024:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +12025:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +12026:BlendFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +12027:BlendFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +12028:BlendFragmentProcessor::name\28\29\20const +12029:BlendFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +12030:BlendFragmentProcessor::clone\28\29\20const +12031:$_3::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +12032:$_2::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 +12033:$_1::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +12034:$_0::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 diff --git a/canvaskit/skwasm.wasm b/canvaskit/skwasm.wasm new file mode 100644 index 0000000..8405162 Binary files /dev/null and b/canvaskit/skwasm.wasm differ diff --git a/canvaskit/skwasm.worker.js b/canvaskit/skwasm.worker.js new file mode 100644 index 0000000..b15ad93 --- /dev/null +++ b/canvaskit/skwasm.worker.js @@ -0,0 +1 @@ +"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:f=>(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f),postMessage:msg=>parentPort.postMessage(msg),performance:global.performance||{now:Date.now}})}var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var module=Module["wasmModule"];Module["wasmModule"]=null;var instance=new WebAssembly.Instance(module,info);return receiveInstance(instance)};self.onunhandledrejection=e=>{throw e.reason??e};function handleMessage(e){try{if(e.data.cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler:handler,args:args})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./skwasm.js")).then(exports=>exports.default(Module))}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0,/*canBlock=*/1);Module["__emscripten_thread_mailbox_await"](e.data.pthread_ptr);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="checkMailbox"){if(initializedJS){Module["checkMailbox"]()}}else if(e.data.cmd){err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}}self.onmessage=handleMessage; diff --git a/example/.gitignore b/example/.gitignore deleted file mode 100644 index 24476c5..0000000 --- a/example/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release diff --git a/example/.metadata b/example/.metadata deleted file mode 100644 index 0b9f276..0000000 --- a/example/.metadata +++ /dev/null @@ -1,45 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled. - -version: - revision: f92f44110e87bad5ff168335c36da6f6053036e6 - channel: stable - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: android - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: ios - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: linux - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: macos - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: web - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: windows - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/example/README.md b/example/README.md deleted file mode 100644 index 97a968b..0000000 --- a/example/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# Flutter Document Scanner - -A Flutter project that demonstrates how to use [Dynamsoft Document Normalizer](https://www.dynamsoft.com/document-normalizer/docs/core/introduction/?ver=latest&ver=latest) to rectify and enhance document images on Android, iOS, Windows, Linux, and web. - -https://github.com/user-attachments/assets/45b47b3a-f5c9-40c8-a943-0f28baf9e508 - -## Online Demo -[https://yushulx.me/flutter_document_scan_sdk/](https://yushulx.me/flutter_document_scan_sdk/) - -## Supported Platforms -- **Web** -- **Android** -- **iOS** -- **Windows** -- **Linux** (Without camera support) - -## Getting Started -1. Apply for a [30-day trial license](https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform) and replace the license key in the `global.dart` file with your own: - - ```dart - Future initDocumentSDK() async { - int? ret = await docScanner.init( - 'LICENSE-KEY'); - if (ret == 0) isLicenseValid = true; - await docScanner.setParameters(Template.color); - return ret ?? -1; - } - ``` - -2. Run the project: - - ``` - flutter run - # flutter run -d windows - # flutter run -d edge - # flutter run -d linux - ``` -## Known Issues -The rectified images are converted to base64 strings and saved with [shared_preferences](https://pub.dev/packages/shared_preferences). When the total size of the images you're trying to save exceeds the size limitation of web local storage (typically around 5MB), it can lead to issues such as the app crashing or unexpected behavior. - -![web local storage size limitation](https://www.dynamsoft.com/codepool/img/2023/07/flutter-web-local-storage-limitation.png) - diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml deleted file mode 100644 index 61b6c4d..0000000 --- a/example/analysis_options.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/example/android/.gitignore b/example/android/.gitignore deleted file mode 100644 index 55afd91..0000000 --- a/example/android/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/to/reference-keystore -key.properties -**/*.keystore -**/*.jks diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle deleted file mode 100644 index 9892997..0000000 --- a/example/android/app/build.gradle +++ /dev/null @@ -1,44 +0,0 @@ -plugins { - id "com.android.application" - id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. - id "dev.flutter.flutter-gradle-plugin" -} - -android { - namespace = "com.example.documentscanner" - compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId = "com.example.documentscanner" - // You can update the following values to match your application needs. - // For more information, see: https://flutter.dev/to/review-gradle-config. - minSdk = flutter.minSdkVersion - targetSdk = flutter.targetSdkVersion - versionCode = flutter.versionCode - versionName = flutter.versionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.debug - } - } -} - -flutter { - source = "../.." -} diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f698..0000000 --- a/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index f3ebd6e..0000000 --- a/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - diff --git a/example/android/app/src/main/kotlin/com/example/documentscanner/MainActivity.kt b/example/android/app/src/main/kotlin/com/example/documentscanner/MainActivity.kt deleted file mode 100644 index 3e56a95..0000000 --- a/example/android/app/src/main/kotlin/com/example/documentscanner/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.example.documentscanner - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/example/android/app/src/main/res/drawable-v21/launch_background.xml b/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f..0000000 --- a/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/example/android/app/src/main/res/drawable/launch_background.xml b/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f..0000000 --- a/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4..0000000 Binary files a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b7..0000000 Binary files a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d4391..0000000 Binary files a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d..0000000 Binary files a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372e..0000000 Binary files a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/values-night/styles.xml b/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be..0000000 --- a/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/example/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef88..0000000 --- a/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/example/android/app/src/profile/AndroidManifest.xml b/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f698..0000000 --- a/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/example/android/build.gradle b/example/android/build.gradle deleted file mode 100644 index d2ffbff..0000000 --- a/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/example/android/gradle.properties b/example/android/gradle.properties deleted file mode 100644 index 2597170..0000000 --- a/example/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 7bb2df6..0000000 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip diff --git a/example/android/settings.gradle b/example/android/settings.gradle deleted file mode 100644 index b9e43bd..0000000 --- a/example/android/settings.gradle +++ /dev/null @@ -1,25 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.1.0" apply false - id "org.jetbrains.kotlin.android" version "1.8.22" apply false -} - -include ":app" diff --git a/example/camera/AUTHORS b/example/camera/AUTHORS deleted file mode 100644 index 493a0b4..0000000 --- a/example/camera/AUTHORS +++ /dev/null @@ -1,66 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -The Chromium Authors -German Saprykin -Benjamin Sauer -larsenthomasj@gmail.com -Ali Bitek -Pol Batlló -Anatoly Pulyaevskiy -Hayden Flinner -Stefano Rodriguez -Salvatore Giordano -Brian Armstrong -Paul DeMarco -Fabricio Nogueira -Simon Lightfoot -Ashton Thomas -Thomas Danner -Diego Velásquez -Hajime Nakamura -Tuyển Vũ Xuân -Miguel Ruivo -Sarthak Verma -Mike Diarmid -Invertase -Elliot Hesp -Vince Varga -Aawaz Gyawali -EUI Limited -Katarina Sheremet -Thomas Stockx -Sarbagya Dhaubanjar -Ozkan Eksi -Rishab Nayak -ko2ic -Jonathan Younger -Jose Sanchez -Debkanchan Samadder -Audrius Karosevicius -Lukasz Piliszczuk -SoundReply Solutions GmbH -Rafal Wachol -Pau Picas -Christian Weder -Alexandru Tuca -Christian Weder -Rhodes Davis Jr. -Luigi Agosti -Quentin Le Guennec -Koushik Ravikumar -Nissim Dsilva -Giancarlo Rocha -Ryo Miyake -Théo Champion -Kazuki Yamaguchi -Eitan Schwartz -Chris Rutkowski -Juan Alvarez -Aleksandr Yurkovskiy -Anton Borries -Alex Li -Rahul Raj <64.rahulraj@gmail.com> diff --git a/example/camera/CHANGELOG.md b/example/camera/CHANGELOG.md deleted file mode 100644 index d018f49..0000000 --- a/example/camera/CHANGELOG.md +++ /dev/null @@ -1,801 +0,0 @@ -## 0.11.0+2 - -* Updates minimum supported SDK version to Flutter 3.19/Dart 3.3. - -## 0.11.0+1 - -* Updates minimum supported SDK version to Flutter 3.16/Dart 3.2. -* Adds note to `README.md` about allowing image streaming in the background on Android. - -## 0.11.0 - -* **Breaking Change** Changes the Android implementation of the camera plugin from `camera_android` - to `camera_android_camerax`, which has better support for a wider range of devices. The CameraX - implementation full feature parity with `camera_android` except for the limitations listed in - `README.md`. To continue using `camera_android`, follow [these instructions](https://pub.dev/packages/camera_android#usage). - -## 0.10.6 - -* Adds support to control video fps and bitrate. See `CameraController` constructor. -* Updates minimum supported SDK version to Flutter 3.13/Dart 3.1. -* Updates support matrix in README to indicate that iOS 11 is no longer supported. -* Clients on versions of Flutter that still support iOS 11 can continue to use this - package with iOS 11, but will not receive any further updates to the iOS implementation. - -## 0.10.5+9 - -* Updates minimum required plugin_platform_interface version to 2.1.7. - -## 0.10.5+8 - -* Fixes new lint warnings. - -## 0.10.5+7 - -* Updates example app to use non-deprecated video_player method. - -## 0.10.5+6 - -* Updates minimum supported SDK version to Flutter 3.10/Dart 3.0. -* Drop unused dependency on `package:quiver`. - -## 0.10.5+5 - -* Fixes bug where old camera resources were not disposed when switching between camera descriptions. -* Fixes bug where _deviceOrientationSubscription was recreated every time the camera description was - changed. - -## 0.10.5+4 - -* Adds pub topics to package metadata. -* Updates minimum supported SDK version to Flutter 3.7/Dart 2.19. - -## 0.10.5+3 - -* Migrates `styleFrom` usage in examples off of deprecated `primary` and `onPrimary` parameters. - -## 0.10.5+2 - -* Fixes unawaited_futures violations. - -## 0.10.5+1 - -* Removes obsolete null checks on non-nullable values. - -## 0.10.5 - -* Adds NV21 as an image streaming option for Android. - -## 0.10.4 - -* Allows camera to be switched while video recording. -* Updates minimum Flutter version to 3.3. -* Aligns Dart and Flutter SDK constraints. - -## 0.10.3+2 - -* Updates iOS minimum version in README. - -## 0.10.3+1 - -* Updates links for the merge of flutter/plugins into flutter/packages. - -## 0.10.3 - -* Adds back use of Optional type. - -## 0.10.2+1 - -* Updates code for stricter lint checks. - -## 0.10.2 - -* Implements option to also stream when recording a video. - -## 0.10.1 - -* Remove usage of deprecated quiver Optional type. - -## 0.10.0+5 - -* Updates code for stricter lint checks. - -## 0.10.0+4 - -* Removes usage of `_ambiguate` method in example. -* Updates minimum Flutter version to 3.0. - -## 0.10.0+3 - -* Updates code for `no_leading_underscores_for_local_identifiers` lint. - -## 0.10.0+2 - -* Updates imports for `prefer_relative_imports`. -* Updates minimum Flutter version to 2.10. - -## 0.10.0+1 - -* Fixes avoid_redundant_argument_values lint warnings and minor typos. - -## 0.10.0 - -* **Breaking Change** Bumps default camera_web package version, which updates permission exception code from `cameraPermission` to `CameraAccessDenied`. -* **Breaking Change** Bumps default camera_android package version, which updates permission exception code from `cameraPermission` to - `CameraAccessDenied` and `AudioAccessDenied`. -* Ignores unnecessary import warnings in preparation for [upcoming Flutter changes](https://github.com/flutter/flutter/pull/106316). - -## 0.9.8+1 - -* Ignores deprecation warnings for upcoming styleFrom button API changes. - -## 0.9.8 - -* Moves Android and iOS implementations to federated packages. -* Ignores unnecessary import warnings in preparation for [upcoming Flutter changes](https://github.com/flutter/flutter/pull/104231). - -## 0.9.7+1 - -* Moves streaming implementation to the platform interface package. - -## 0.9.7 - -* Returns all the available cameras on iOS. - -## 0.9.6 - -* Adds audio access permission handling logic on iOS to fix an issue with `prepareForVideoRecording` not awaiting for the audio permission request result. - -## 0.9.5+1 - -* Suppresses warnings for pre-iOS-11 codepaths. - -## 0.9.5 - -* Adds camera access permission handling logic on iOS to fix a related crash when using the camera for the first time. - -## 0.9.4+24 - -* Fixes preview orientation when pausing preview with locked orientation. - -## 0.9.4+23 - -* Minor fixes for new analysis options. - -## 0.9.4+22 - -* Removes unnecessary imports. -* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors - lint warnings. - -## 0.9.4+21 - -* Fixes README code samples. - -## 0.9.4+20 - -* Fixes an issue with the orientation of videos recorded in landscape on Android. - -## 0.9.4+19 - -* Migrate deprecated Scaffold SnackBar methods to ScaffoldMessenger. - -## 0.9.4+18 - -* Fixes a crash in iOS when streaming on low-performance devices. - -## 0.9.4+17 - -* Removes obsolete information from README, and adds OS support table. - -## 0.9.4+16 - -* Fixes a bug resulting in a `CameraAccessException` that prevents image - capture on some Android devices. - -## 0.9.4+15 - -* Uses dispatch queue for pixel buffer synchronization on iOS. -* Minor iOS internal code cleanup related to queue helper functions. - -## 0.9.4+14 - -* Restores compatibility with Flutter 2.5 and 2.8. - -## 0.9.4+13 - -* Updates iOS camera's photo capture delegate reference on a background queue to prevent potential race conditions, and some related internal code cleanup. - -## 0.9.4+12 - -* Skips unnecessary AppDelegate setup for unit tests on iOS. -* Internal code cleanup for stricter analysis options. - -## 0.9.4+11 - -* Manages iOS camera's orientation-related states on a background queue to prevent potential race conditions. - -## 0.9.4+10 - -* iOS performance improvement by moving file writing from the main queue to a background IO queue. - -## 0.9.4+9 - -* iOS performance improvement by moving sample buffer handling from the main queue to a background session queue. -* Minor iOS internal code cleanup related to camera class and its delegate. -* Minor iOS internal code cleanup related to resolution preset, video format, focus mode, exposure mode and device orientation. -* Minor iOS internal code cleanup related to flash mode. - -## 0.9.4+8 - -* Fixes a bug where ImageFormatGroup was ignored in `startImageStream` on iOS. - -## 0.9.4+7 - -* Fixes a crash in iOS when passing null queue pointer into AVFoundation API due to race condition. -* Minor iOS internal code cleanup related to dispatch queue. - -## 0.9.4+6 - -* Fixes a crash in iOS when using image stream due to calling Flutter engine API on non-main thread. - -## 0.9.4+5 - -* Fixes bug where calling a method after the camera was closed resulted in a Java `IllegalStateException` exception. -* Fixes integration tests. - -## 0.9.4+4 - -* Change Android compileSdkVersion to 31. -* Remove usages of deprecated Android API `CamcorderProfile`. -* Update gradle version to 7.0.2 on Android. - -## 0.9.4+3 - -* Fix registerTexture and result being called on background thread on iOS. - -## 0.9.4+2 - -* Updated package description; -* Refactor unit test on iOS to make it compatible with new restrictions in Xcode 13 which only supports the use of the `XCUIDevice` in Xcode UI tests. - -## 0.9.4+1 - -* Fixed Android implementation throwing IllegalStateException when switching to a different activity. - -## 0.9.4 - -* Add web support by endorsing `package:camera_web`. - -## 0.9.3+1 - -* Remove iOS 9 availability check around ultra high capture sessions. - -## 0.9.3 - -* Update minimum Flutter SDK to 2.5 and iOS deployment target to 9.0. - -## 0.9.2+2 - -* Ensure that setting the exposure offset returns the new offset value on Android. - -## 0.9.2+1 - -* Fixed camera controller throwing an exception when being replaced in the preview widget. - -## 0.9.2 - -* Added functions to pause and resume the camera preview. - -## 0.9.1+1 - -* Replace `device_info` reference with `device_info_plus` in the [README.md](README.md) - -## 0.9.1 - -* Added `lensAperture`, `sensorExposureTime` and `sensorSensitivity` properties to the `CameraImage` dto. - -## 0.9.0 - -* Complete rewrite of Android plugin to fix many capture, focus, flash, orientation and exposure issues. -* Fixed crash when opening front-facing cameras on some legacy android devices like Sony XZ. -* Android Flash mode works with full precapture sequence. -* Updated Android lint settings. - -## 0.8.1+7 - -* Fix device orientation sometimes not affecting the camera preview orientation. - -## 0.8.1+6 - -* Remove references to the Android V1 embedding. - -## 0.8.1+5 - -* Make sure the `setFocusPoint` and `setExposurePoint` coordinates work correctly in all orientations on iOS (instead of only in portrait mode). - -## 0.8.1+4 - -* Silenced warnings that may occur during build when using a very - recent version of Flutter relating to null safety. - -## 0.8.1+3 - -* Do not change camera orientation when iOS device is flat. - -## 0.8.1+2 - -* Fix iOS crash when selecting an unsupported FocusMode. - -## 0.8.1+1 - -* Migrate maven repository from jcenter to mavenCentral. - -## 0.8.1 - -* Solved a rotation issue on iOS which caused the default preview to be displayed as landscape right instead of portrait. - -## 0.8.0 - -* Stable null safety release. -* Solved delay when using the zoom feature on iOS. -* Added a timeout to the pre-capture sequence on Android to prevent crashes when the camera cannot get a focus. -* Updates the example code listed in the [README.md](README.md), so it runs without errors when you simply copy/ paste it into a Flutter App. - -## 0.7.0+4 - -* Fix crash when taking picture with orientation lock - -## 0.7.0+3 - -* Clockwise rotation of focus point in android - -## 0.7.0+2 - -* Fix example reference in README. -* Revert compileSdkVersion back to 29 (from 30) as this is causing problems with add-to-app configurations. - -## 0.7.0+1 - -* Ensure communication from JAVA to Dart is done on the main UI thread. - -## 0.7.0 - -* BREAKING CHANGE: `CameraValue.aspectRatio` now returns `width / height` rather than `height / width`. [(commit)](https://github.com/flutter/plugins/commit/100c7470d4066b1d0f8f7e4ec6d7c943e736f970) - * Added support for capture orientation locking on Android and iOS. - * Fixed camera preview not rotating correctly on Android and iOS. - * Fixed camera preview sometimes appearing stretched on Android and iOS. - * Fixed videos & photos saving with the incorrect rotation on iOS. -* New Features: - * Adds auto focus support for Android and iOS implementations. [(commmit)](https://github.com/flutter/plugins/commit/71a831790220f898bf8120c8a23840ac6e742db5) - * Adds ImageFormat selection for ImageStream and Video(iOS only). [(commit)](https://github.com/flutter/plugins/commit/da1b4638b750a5ff832d7be86a42831c42c6d6c0) -* Bug Fixes: - * Fixes crash when taking a picture on iOS devices without flash. [(commit)](https://github.com/flutter/plugins/commit/831344490984b1feec007afc9c8595d80b6c13f4) - * Make sure the configured zoom scale is copied over to the final capture builder on Android. Fixes the issue where the preview is zoomed but the final picture is not. [(commit)](https://github.com/flutter/plugins/commit/5916f55664e1772a4c3f0c02c5c71fc11e491b76) - * Fixes crash with using inner camera on some Android devices. [(commit)](https://github.com/flutter/plugins/commit/980b674cb4020c1927917426211a87e275346d5e) - * Improved error feedback by differentiating between uninitialized and disposed camera controllers. [(commit)](https://github.com/flutter/plugins/commit/d0b7109f6b00a0eda03506fed2c74cc123ffc6f3) - * Fixes picture captures causing a crash on some Huawei devices. [(commit)](https://github.com/flutter/plugins/commit/6d18db83f00f4861ffe485aba2d1f8aa08845ce6) - -## 0.6.4+5 - -* Update the example app: remove the deprecated `RaisedButton` and `FlatButton` widgets. - -## 0.6.4+4 - -* Set camera auto focus enabled by default. - -## 0.6.4+3 - -* Detect if selected camera supports auto focus and act accordingly on Android. This solves a problem where front facing cameras are not capturing the picture because auto focus is not supported. - -## 0.6.4+2 - -* Set ImageStreamReader listener to null to prevent stale images when streaming images. - -## 0.6.4+1 - -* Added closeCaptureSession() to stopVideoRecording in Camera.java to fix an Android 6 crash. - -## 0.6.4 - -* Adds auto exposure support for Android and iOS implementations. - -## 0.6.3+4 - -* Revert previous dependency update: Changed dependency on camera_platform_interface to >=1.04 <1.1.0. - -## 0.6.3+3 - -* Updated dependency on camera_platform_interface to ^1.2.0. - -## 0.6.3+2 - -* Fixes crash on Android which occurs after video recording has stopped just before taking a picture. - -## 0.6.3+1 - -* Fixes flash & torch modes not working on some Android devices. - -## 0.6.3 - -* Adds torch mode as a flash mode for Android and iOS implementations. - -## 0.6.2+1 - -* Fix the API documentation for the `CameraController.takePicture` method. - -## 0.6.2 - -* Add zoom support for Android and iOS implementations. - -## 0.6.1+1 - -* Added implementation of the `didFinishProcessingPhoto` on iOS which allows saving image metadata (EXIF) on iOS 11 and up. - -## 0.6.1 - -* Add flash support for Android and iOS implementations. - -## 0.6.0+2 - -* Fix outdated links across a number of markdown files ([#3276](https://github.com/flutter/plugins/pull/3276)) - -## 0.6.0+1 - -Updated README to inform users that iOS 10.0+ is needed for use - -## 0.6.0 - -As part of implementing federated architecture and making the interface compatible with the web this version contains the following **breaking changes**: - -Method changes in `CameraController`: -- The `takePicture` method no longer accepts the `path` parameter, but instead returns the captured image as an instance of the `XFile` class; -- The `startVideoRecording` method no longer accepts the `filePath`. Instead the recorded video is now returned as a `XFile` instance when the `stopVideoRecording` method completes; -- The `stopVideoRecording` method now returns the captured video when it completes; -- Added the `buildPreview` method which is now used to implement the CameraPreview widget. - -## 0.5.8+19 - -* Update Flutter SDK constraint. - -## 0.5.8+18 - -* Suppress unchecked warning in Android tests which prevented the tests to compile. - -## 0.5.8+17 - -* Added Android 30 support. - -## 0.5.8+16 - -* Moved package to camera/camera subdir, to allow for federated implementations. - -## 0.5.8+15 - -* Added the `debugCheckIsDisposed` method which can be used in debug mode to validate if the `CameraController` class has been disposed. - -## 0.5.8+14 - -* Changed the order of the setters for `mediaRecorder` in `MediaRecorderBuilder.java` to make it more readable. - -## 0.5.8+13 - -* Added Dartdocs for all public APIs. - -## 0.5.8+12 - -* Added information of video not working correctly on Android emulators to `README.md`. - -## 0.5.8+11 - -* Fix rare nullptr exception on Android. -* Updated README.md with information about handling App lifecycle changes. - -## 0.5.8+10 - -* Suppress the `deprecated_member_use` warning in the example app for `ScaffoldMessenger.showSnackBar`. - -## 0.5.8+9 - -* Update android compileSdkVersion to 29. - -## 0.5.8+8 - -* Fixed garbled audio (in video) by setting audio encoding bitrate. - -## 0.5.8+7 - -* Keep handling deprecated Android v1 classes for backward compatibility. - -## 0.5.8+6 - -* Avoiding uses or overrides a deprecated API in CameraPlugin.java. - -## 0.5.8+5 - -* Fix compilation/availability issues on iOS. - -## 0.5.8+4 - -* Fixed bug caused by casting a `CameraAccessException` on Android. - -## 0.5.8+3 - -* Fix bug in usage example in README.md - -## 0.5.8+2 - -* Post-v2 embedding cleanups. - -## 0.5.8+1 - -* Update lower bound of dart dependency to 2.1.0. - -## 0.5.8 - -* Remove Android dependencies fallback. -* Require Flutter SDK 1.12.13+hotfix.5 or greater. - -## 0.5.7+5 - -* Replace deprecated `getFlutterEngine` call on Android. - -## 0.5.7+4 - -* Add `pedantic` to dev_dependency. - -## 0.5.7+3 - -* Fix an Android crash when permissions are requested multiple times. - -## 0.5.7+2 - -* Remove the deprecated `author:` field from pubspec.yaml -* Migrate the plugin to the pubspec platforms manifest. -* Require Flutter SDK 1.10.0 or greater. - -## 0.5.7+1 - -* Fix example null exception. - -## 0.5.7 - -* Fix unawaited futures. - -## 0.5.6+4 - -* Android: Use CameraDevice.TEMPLATE_RECORD to improve image streaming. - -## 0.5.6+3 - -* Remove AndroidX warning. - -## 0.5.6+2 - -* Include lifecycle dependency as a compileOnly one on Android to resolve - potential version conflicts with other transitive libraries. - -## 0.5.6+1 - -* Android: Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in `build.gradle` to support apps that has not been migrated to AndroidX. - -## 0.5.6 - -* Add support for the v2 Android embedding. This shouldn't affect existing - functionality. - -## 0.5.5+1 - -* Fix event type check - -## 0.5.5 - -* Define clang modules for iOS. - -## 0.5.4+3 - -* Update and migrate iOS example project. - -## 0.5.4+2 - -* Fix Android NullPointerException on devices with only front-facing camera. - -## 0.5.4+1 - -* Fix Android pause and resume video crash when executing in APIs below 24. - -## 0.5.4 - -* Add feature to pause and resume video recording. - -## 0.5.3+1 - -* Fix too large request code for FragmentActivity users. - -## 0.5.3 - -* Added new quality presets. -* Now all quality presets can be used to control image capture quality. - -## 0.5.2+2 - -* Fix memory leak related to not unregistering stream handler in FlutterEventChannel when disposing camera. - -## 0.5.2+1 - -* Fix bug that prevented video recording with audio. - -## 0.5.2 - -* Added capability to disable audio for the `CameraController`. (e.g. `CameraController(_, _, - enableAudio: false);`) - -## 0.5.1 - -* Can now be compiled with earlier Android sdks below 21 when -`` has been added to the project -`AndroidManifest.xml`. For sdks below 21, the plugin won't be registered and calls to it will throw -a `MissingPluginException.` - -## 0.5.0 - -* **Breaking Change** This plugin no longer handles closing and opening the camera on Android - lifecycle changes. Please use `WidgetsBindingObserver` to control camera resources on lifecycle - changes. See example project for example using `WidgetsBindingObserver`. - -## 0.4.3+2 - -* Bump the minimum Flutter version to 1.2.0. -* Add template type parameter to `invokeMethod` calls. - -## 0.4.3+1 - -* Catch additional `Exception`s from Android and throw as `CameraException`s. - -## 0.4.3 - -* Add capability to prepare the capture session for video recording on iOS. - -## 0.4.2 - -* Add sensor orientation value to `CameraDescription`. - -## 0.4.1 - -* Camera methods are ran in a background thread on iOS. - -## 0.4.0+3 - -* Fixed a crash when the plugin is registered by a background FlutterView. - -## 0.4.0+2 - -* Fix orientation of captured photos when camera is used for the first time on Android. - -## 0.4.0+1 - -* Remove categories. - -## 0.4.0 - -* **Breaking Change** Change iOS image stream format to `ImageFormatGroup.bgra8888` from - `ImageFormatGroup.yuv420`. - -## 0.3.0+4 - -* Fixed bug causing black screen on some Android devices. - -## 0.3.0+3 - -* Log a more detailed warning at build time about the previous AndroidX - migration. - -## 0.3.0+2 - -* Fix issue with calculating iOS image orientation in certain edge cases. - -## 0.3.0+1 - -* Remove initial method call invocation from static camera method. - -## 0.3.0 - -* **Breaking change**. Migrate from the deprecated original Android Support - Library to AndroidX. This shouldn't result in any functional changes, but it - requires any Android apps using this plugin to [also - migrate](https://developer.android.com/jetpack/androidx/migrate) if they're - using the original support library. - -## 0.2.9+1 - -* Fix a crash when failing to start preview. - -## 0.2.9 - -* Save photo orientation data on iOS. - -## 0.2.8 - -* Add access to the image stream from Dart. -* Use `cameraController.startImageStream(listener)` to process the images. - -## 0.2.7 - -* Fix issue with crash when the physical device's orientation is unknown. - -## 0.2.6 - -* Update the camera to use the physical device's orientation instead of the UI - orientation on Android. - -## 0.2.5 - -* Fix preview and video size with satisfying conditions of multiple outputs. - -## 0.2.4 - -* Unregister the activity lifecycle callbacks when disposing the camera. - -## 0.2.3 - -* Added path_provider and video_player as dev dependencies because the example uses them. -* Updated example path_provider version to get Dart 2 support. - -## 0.2.2 - -* iOS image capture is done in high quality (full camera size) - -## 0.2.1 - -* Updated Gradle tooling to match Android Studio 3.1.2. - -## 0.2.0 - -* Added support for video recording. -* Changed the example app to add video recording. - -A lot of **breaking changes** in this version: - -Getter changes: - - Removed `isStarted` - - Renamed `initialized` to `isInitialized` - - Added `isRecordingVideo` - -Method changes: - - Renamed `capture` to `takePicture` - - Removed `start` (the preview starts automatically when `initialize` is called) - - Added `startVideoRecording(String filePath)` - - Removed `stop` (the preview stops automatically when `dispose` is called) - - Added `stopVideoRecording` - -## 0.1.2 - -* Fix Dart 2 runtime errors. - -## 0.1.1 - -* Fix Dart 2 runtime error. - -## 0.1.0 - -* **Breaking change**. Set SDK constraints to match the Flutter beta release. - -## 0.0.4 - -* Revert regression of `CameraController.capture()` introduced in v. 0.0.3. - -## 0.0.3 - -* Improved resource cleanup on Android. Avoids crash on Activity restart. -* Made the Future returned by `CameraController.dispose()` and `CameraController.capture()` actually complete on - Android. - -## 0.0.2 - -* Simplified and upgraded Android project template to Android SDK 27. -* Moved Android package to io.flutter.plugins. -* Fixed warnings from the Dart 2.0 analyzer. - -## 0.0.1 - -* Initial release diff --git a/example/camera/LICENSE b/example/camera/LICENSE deleted file mode 100644 index c6823b8..0000000 --- a/example/camera/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright 2013 The Flutter Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/example/camera/README.md b/example/camera/README.md deleted file mode 100644 index 1ebac1e..0000000 --- a/example/camera/README.md +++ /dev/null @@ -1,178 +0,0 @@ -# Camera Plugin - - - -[![pub package](https://img.shields.io/pub/v/camera.svg)](https://pub.dev/packages/camera) - -A Flutter plugin for iOS, Android and Web allowing access to the device cameras. - -| | Android | iOS | Web | -|----------------|---------|-----------|------------------------| -| **Support** | SDK 21+ | iOS 12.0+ | [See `camera_web `][1] | - -## Features - -* Display live camera preview in a widget. -* Snapshots can be captured and saved to a file. -* Record video. -* Add access to the image stream from Dart. - -## Setup - -### iOS - -Add two rows to the `ios/Runner/Info.plist`: - -* one with the key `Privacy - Camera Usage Description` and a usage description. -* and one with the key `Privacy - Microphone Usage Description` and a usage description. - -If editing `Info.plist` as text, add: - -```xml -NSCameraUsageDescription -your usage description here -NSMicrophoneUsageDescription -your usage description here -``` - -### Android - -Change the minimum Android sdk version to 21 (or higher) in your `android/app/build.gradle` file. - -```groovy -minSdkVersion 21 -``` - -The endorsed [`camera_android_camerax`][2] implementation of the camera plugin built with CameraX has -better support for more devices than `camera_android`, but has some limitations; please see [this list][3] -for more details. If you wish to use the [`camera_android`][4] implementation of the camera plugin -built with Camera2 that lacks these limitations, please follow [these instructions][5]. - -If you wish to allow image streaming while your app is in the background, there are additional steps required; -please see [these instructions][6] for more details. - -### Web integration - -For web integration details, see the -[`camera_web` package](https://pub.dev/packages/camera_web). - -### Handling Lifecycle states - -As of version [0.5.0](https://github.com/flutter/packages/blob/main/packages/camera/CHANGELOG.md#050) of the camera plugin, lifecycle changes are no longer handled by the plugin. This means developers are now responsible to control camera resources when the lifecycle state is updated. Failure to do so might lead to unexpected behavior (for example as described in issue [#39109](https://github.com/flutter/flutter/issues/39109)). Handling lifecycle changes can be done by overriding the `didChangeAppLifecycleState` method like so: - - -```dart -@override -void didChangeAppLifecycleState(AppLifecycleState state) { - final CameraController? cameraController = controller; - - // App state changed before we got the chance to initialize. - if (cameraController == null || !cameraController.value.isInitialized) { - return; - } - - if (state == AppLifecycleState.inactive) { - cameraController.dispose(); - } else if (state == AppLifecycleState.resumed) { - _initializeCameraController(cameraController.description); - } -} -``` - -### Handling camera access permissions - -Permission errors may be thrown when initializing the camera controller, and you are expected to handle them properly. - -Here is a list of all permission error codes that can be thrown: - -- `CameraAccessDenied`: Thrown when user denies the camera access permission. - -- `CameraAccessDeniedWithoutPrompt`: iOS only for now. Thrown when user has previously denied the permission. iOS does not allow prompting alert dialog a second time. Users will have to go to Settings > Privacy > Camera in order to enable camera access. - -- `CameraAccessRestricted`: iOS only for now. Thrown when camera access is restricted and users cannot grant permission (parental control). - -- `AudioAccessDenied`: Thrown when user denies the audio access permission. - -- `AudioAccessDeniedWithoutPrompt`: iOS only for now. Thrown when user has previously denied the permission. iOS does not allow prompting alert dialog a second time. Users will have to go to Settings > Privacy > Microphone in order to enable audio access. - -- `AudioAccessRestricted`: iOS only for now. Thrown when audio access is restricted and users cannot grant permission (parental control). - -### Example - -Here is a small example flutter app displaying a full screen camera preview. - - -```dart -import 'package:camera/camera.dart'; -import 'package:flutter/material.dart'; - -late List _cameras; - -Future main() async { - WidgetsFlutterBinding.ensureInitialized(); - - _cameras = await availableCameras(); - runApp(const CameraApp()); -} - -/// CameraApp is the Main Application. -class CameraApp extends StatefulWidget { - /// Default Constructor - const CameraApp({super.key}); - - @override - State createState() => _CameraAppState(); -} - -class _CameraAppState extends State { - late CameraController controller; - - @override - void initState() { - super.initState(); - controller = CameraController(_cameras[0], ResolutionPreset.max); - controller.initialize().then((_) { - if (!mounted) { - return; - } - setState(() {}); - }).catchError((Object e) { - if (e is CameraException) { - switch (e.code) { - case 'CameraAccessDenied': - // Handle access errors here. - break; - default: - // Handle other errors here. - break; - } - } - }); - } - - @override - void dispose() { - controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - if (!controller.value.isInitialized) { - return Container(); - } - return MaterialApp( - home: CameraPreview(controller), - ); - } -} -``` - -For a more elaborate usage example see [here](https://github.com/flutter/packages/tree/main/packages/camera/camera/example). - -[1]: https://pub.dev/packages/camera_web#limitations-on-the-web-platform -[2]: https://pub.dev/packages/camera_android_camerax -[3]: https://pub.dev/packages/camera_android_camerax#limitations -[4]: https://pub.dev/packages/camera_android -[5]: https://pub.dev/packages/camera_android#usage -[6]: https://pub.dev/packages/camera_android_camerax#allowing-image-streaming-in-the-background diff --git a/example/camera/lib/camera.dart b/example/camera/lib/camera.dart deleted file mode 100644 index 507d6c7..0000000 --- a/example/camera/lib/camera.dart +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'package:camera_platform_interface/camera_platform_interface.dart' - show - CameraDescription, - CameraException, - CameraLensDirection, - ExposureMode, - FlashMode, - FocusMode, - ImageFormatGroup, - ResolutionPreset, - XFile; - -export 'src/camera_controller.dart'; -export 'src/camera_image.dart'; -export 'src/camera_preview.dart'; diff --git a/example/camera/lib/src/camera_controller.dart b/example/camera/lib/src/camera_controller.dart deleted file mode 100644 index 5f90a0a..0000000 --- a/example/camera/lib/src/camera_controller.dart +++ /dev/null @@ -1,1022 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; -import 'dart:collection'; -import 'dart:math'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -import '../camera.dart'; - -/// Signature for a callback receiving the a camera image. -/// -/// This is used by [CameraController.startImageStream]. -// TODO(stuartmorgan): Fix this naming the next time there's a breaking change -// to this package. -// ignore: camel_case_types -typedef onLatestImageAvailable = void Function(CameraImage image); - -/// Completes with a list of available cameras. -/// -/// May throw a [CameraException]. -Future> availableCameras() async { - return CameraPlatform.instance.availableCameras(); -} - -// TODO(stuartmorgan): Remove this once the package requires 2.10, where the -// dart:async `unawaited` accepts a nullable future. -void _unawaited(Future? future) {} - -/// The state of a [CameraController]. -class CameraValue { - /// Creates a new camera controller state. - const CameraValue({ - required this.isInitialized, - this.errorDescription, - this.previewSize, - required this.isRecordingVideo, - required this.isTakingPicture, - required this.isStreamingImages, - required bool isRecordingPaused, - required this.flashMode, - required this.exposureMode, - required this.focusMode, - required this.exposurePointSupported, - required this.focusPointSupported, - required this.deviceOrientation, - required this.description, - this.lockedCaptureOrientation, - this.recordingOrientation, - this.isPreviewPaused = false, - this.previewPauseOrientation, - }) : _isRecordingPaused = isRecordingPaused; - - /// Creates a new camera controller state for an uninitialized controller. - const CameraValue.uninitialized(CameraDescription description) - : this( - isInitialized: false, - isRecordingVideo: false, - isTakingPicture: false, - isStreamingImages: false, - isRecordingPaused: false, - flashMode: FlashMode.auto, - exposureMode: ExposureMode.auto, - exposurePointSupported: false, - focusMode: FocusMode.auto, - focusPointSupported: false, - deviceOrientation: DeviceOrientation.portraitUp, - isPreviewPaused: false, - description: description, - ); - - /// True after [CameraController.initialize] has completed successfully. - final bool isInitialized; - - /// True when a picture capture request has been sent but as not yet returned. - final bool isTakingPicture; - - /// True when the camera is recording (not the same as previewing). - final bool isRecordingVideo; - - /// True when images from the camera are being streamed. - final bool isStreamingImages; - - final bool _isRecordingPaused; - - /// True when the preview widget has been paused manually. - final bool isPreviewPaused; - - /// Set to the orientation the preview was paused in, if it is currently paused. - final DeviceOrientation? previewPauseOrientation; - - /// True when camera [isRecordingVideo] and recording is paused. - bool get isRecordingPaused => isRecordingVideo && _isRecordingPaused; - - /// Description of an error state. - /// - /// This is null while the controller is not in an error state. - /// When [hasError] is true this contains the error description. - final String? errorDescription; - - /// The size of the preview in pixels. - /// - /// Is `null` until [isInitialized] is `true`. - final Size? previewSize; - - /// Convenience getter for `previewSize.width / previewSize.height`. - /// - /// Can only be called when [initialize] is done. - double get aspectRatio => previewSize!.width / previewSize!.height; - - /// Whether the controller is in an error state. - /// - /// When true [errorDescription] describes the error. - bool get hasError => errorDescription != null; - - /// The flash mode the camera is currently set to. - final FlashMode flashMode; - - /// The exposure mode the camera is currently set to. - final ExposureMode exposureMode; - - /// The focus mode the camera is currently set to. - final FocusMode focusMode; - - /// Whether setting the exposure point is supported. - final bool exposurePointSupported; - - /// Whether setting the focus point is supported. - final bool focusPointSupported; - - /// The current device UI orientation. - final DeviceOrientation deviceOrientation; - - /// The currently locked capture orientation. - final DeviceOrientation? lockedCaptureOrientation; - - /// Whether the capture orientation is currently locked. - bool get isCaptureOrientationLocked => lockedCaptureOrientation != null; - - /// The orientation of the currently running video recording. - final DeviceOrientation? recordingOrientation; - - /// The properties of the camera device controlled by this controller. - final CameraDescription description; - - /// Creates a modified copy of the object. - /// - /// Explicitly specified fields get the specified value, all other fields get - /// the same value of the current object. - CameraValue copyWith({ - bool? isInitialized, - bool? isRecordingVideo, - bool? isTakingPicture, - bool? isStreamingImages, - String? errorDescription, - Size? previewSize, - bool? isRecordingPaused, - FlashMode? flashMode, - ExposureMode? exposureMode, - FocusMode? focusMode, - bool? exposurePointSupported, - bool? focusPointSupported, - DeviceOrientation? deviceOrientation, - Optional? lockedCaptureOrientation, - Optional? recordingOrientation, - bool? isPreviewPaused, - CameraDescription? description, - Optional? previewPauseOrientation, - }) { - return CameraValue( - isInitialized: isInitialized ?? this.isInitialized, - errorDescription: errorDescription, - previewSize: previewSize ?? this.previewSize, - isRecordingVideo: isRecordingVideo ?? this.isRecordingVideo, - isTakingPicture: isTakingPicture ?? this.isTakingPicture, - isStreamingImages: isStreamingImages ?? this.isStreamingImages, - isRecordingPaused: isRecordingPaused ?? _isRecordingPaused, - flashMode: flashMode ?? this.flashMode, - exposureMode: exposureMode ?? this.exposureMode, - focusMode: focusMode ?? this.focusMode, - exposurePointSupported: - exposurePointSupported ?? this.exposurePointSupported, - focusPointSupported: focusPointSupported ?? this.focusPointSupported, - deviceOrientation: deviceOrientation ?? this.deviceOrientation, - lockedCaptureOrientation: lockedCaptureOrientation == null - ? this.lockedCaptureOrientation - : lockedCaptureOrientation.orNull, - recordingOrientation: recordingOrientation == null - ? this.recordingOrientation - : recordingOrientation.orNull, - isPreviewPaused: isPreviewPaused ?? this.isPreviewPaused, - description: description ?? this.description, - previewPauseOrientation: previewPauseOrientation == null - ? this.previewPauseOrientation - : previewPauseOrientation.orNull, - ); - } - - @override - String toString() { - return '${objectRuntimeType(this, 'CameraValue')}(' - 'isRecordingVideo: $isRecordingVideo, ' - 'isInitialized: $isInitialized, ' - 'errorDescription: $errorDescription, ' - 'previewSize: $previewSize, ' - 'isStreamingImages: $isStreamingImages, ' - 'flashMode: $flashMode, ' - 'exposureMode: $exposureMode, ' - 'focusMode: $focusMode, ' - 'exposurePointSupported: $exposurePointSupported, ' - 'focusPointSupported: $focusPointSupported, ' - 'deviceOrientation: $deviceOrientation, ' - 'lockedCaptureOrientation: $lockedCaptureOrientation, ' - 'recordingOrientation: $recordingOrientation, ' - 'isPreviewPaused: $isPreviewPaused, ' - 'previewPausedOrientation: $previewPauseOrientation, ' - 'description: $description)'; - } -} - -/// Controls a device camera. -/// -/// Use [availableCameras] to get a list of available cameras. -/// -/// Before using a [CameraController] a call to [initialize] must complete. -/// -/// To show the camera preview on the screen use a [CameraPreview] widget. -class CameraController extends ValueNotifier { - /// Creates a new camera controller in an uninitialized state. - /// - /// - [resolutionPreset] affect the quality of video recording and image capture. - /// - [enableAudio] controls audio presence in recorded video. - /// - /// Following parameters (if present) will overwrite [resolutionPreset] settings: - /// - [fps] controls rate at which frames should be captured by the camera in frames per second. - /// - [videoBitrate] controls the video encoding bit rate for recording. - /// - [audioBitrate] controls the audio encoding bit rate for recording. - - CameraController( - CameraDescription description, - ResolutionPreset resolutionPreset, { - bool enableAudio = true, - int? fps, - int? videoBitrate, - int? audioBitrate, - this.imageFormatGroup, - }) : mediaSettings = MediaSettings( - resolutionPreset: resolutionPreset, - enableAudio: enableAudio, - fps: fps, - videoBitrate: videoBitrate, - audioBitrate: audioBitrate), - super(CameraValue.uninitialized(description)); - - /// The properties of the camera device controlled by this controller. - CameraDescription get description => value.description; - - /// The resolution this controller is targeting. - /// - /// This resolution preset is not guaranteed to be available on the device, - /// if unavailable a lower resolution will be used. - /// - /// See also: [ResolutionPreset]. - ResolutionPreset get resolutionPreset => - mediaSettings.resolutionPreset ?? ResolutionPreset.max; - - /// Whether to include audio when recording a video. - bool get enableAudio => mediaSettings.enableAudio; - - /// The media settings this controller is targeting. - /// - /// This media settings are not guaranteed to be available on the device, - /// if unavailable a [resolutionPreset] default values will be used. - /// - /// See also: [MediaSettings]. - final MediaSettings mediaSettings; - - /// The [ImageFormatGroup] describes the output of the raw image format. - /// - /// When null the imageFormat will fallback to the platforms default. - final ImageFormatGroup? imageFormatGroup; - - /// The id of a camera that hasn't been initialized. - @visibleForTesting - static const int kUninitializedCameraId = -1; - int _cameraId = kUninitializedCameraId; - - bool _isDisposed = false; - StreamSubscription? _imageStreamSubscription; - - // A Future awaiting an attempt to initialize (e.g. after `initialize` was - // just called). If the controller has not been initialized at least once, - // this value is null. - Future? _initializeFuture; - StreamSubscription? - _deviceOrientationSubscription; - - /// Checks whether [CameraController.dispose] has completed successfully. - /// - /// This is a no-op when asserts are disabled. - void debugCheckIsDisposed() { - assert(_isDisposed); - } - - /// The camera identifier with which the controller is associated. - int get cameraId => _cameraId; - - /// Initializes the camera on the device. - /// - /// Throws a [CameraException] if the initialization fails. - Future initialize() => _initializeWithDescription(description); - - /// Initializes the camera on the device with the specified description. - /// - /// Throws a [CameraException] if the initialization fails. - Future _initializeWithDescription(CameraDescription description) async { - if (_isDisposed) { - throw CameraException( - 'Disposed CameraController', - 'initialize was called on a disposed CameraController', - ); - } - - final Completer initializeCompleter = Completer(); - _initializeFuture = initializeCompleter.future; - - try { - final Completer initializeCompleter = - Completer(); - - _deviceOrientationSubscription ??= CameraPlatform.instance - .onDeviceOrientationChanged() - .listen((DeviceOrientationChangedEvent event) { - value = value.copyWith( - deviceOrientation: event.orientation, - ); - }); - - _cameraId = await CameraPlatform.instance.createCameraWithSettings( - description, - mediaSettings, - ); - - _unawaited(CameraPlatform.instance - .onCameraInitialized(_cameraId) - .first - .then((CameraInitializedEvent event) { - initializeCompleter.complete(event); - })); - - await CameraPlatform.instance.initializeCamera( - _cameraId, - imageFormatGroup: imageFormatGroup ?? ImageFormatGroup.unknown, - ); - - value = value.copyWith( - isInitialized: true, - description: description, - previewSize: await initializeCompleter.future - .then((CameraInitializedEvent event) => Size( - event.previewWidth, - event.previewHeight, - )), - exposureMode: await initializeCompleter.future - .then((CameraInitializedEvent event) => event.exposureMode), - focusMode: await initializeCompleter.future - .then((CameraInitializedEvent event) => event.focusMode), - exposurePointSupported: await initializeCompleter.future.then( - (CameraInitializedEvent event) => event.exposurePointSupported), - focusPointSupported: await initializeCompleter.future - .then((CameraInitializedEvent event) => event.focusPointSupported), - ); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } finally { - initializeCompleter.complete(); - } - } - - /// Prepare the capture session for video recording. - /// - /// Use of this method is optional, but it may be called for performance - /// reasons on iOS. - /// - /// Preparing audio can cause a minor delay in the CameraPreview view on iOS. - /// If video recording is intended, calling this early eliminates this delay - /// that would otherwise be experienced when video recording is started. - /// This operation is a no-op on Android and Web. - /// - /// Throws a [CameraException] if the prepare fails. - Future prepareForVideoRecording() async { - await CameraPlatform.instance.prepareForVideoRecording(); - } - - /// Pauses the current camera preview - Future pausePreview() async { - if (value.isPreviewPaused || !value.isInitialized || _isDisposed) { - return; - } - try { - await CameraPlatform.instance.pausePreview(_cameraId); - value = value.copyWith( - isPreviewPaused: true, - previewPauseOrientation: Optional.of( - value.lockedCaptureOrientation ?? value.deviceOrientation)); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Resumes the current camera preview - Future resumePreview() async { - if (!value.isPreviewPaused) { - return; - } - try { - await CameraPlatform.instance.resumePreview(_cameraId); - value = value.copyWith( - isPreviewPaused: false, - previewPauseOrientation: const Optional.absent()); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the description of the camera. - /// - /// Throws a [CameraException] if setting the description fails. - Future setDescription(CameraDescription description) async { - if (value.isRecordingVideo) { - await CameraPlatform.instance.setDescriptionWhileRecording(description); - value = value.copyWith(description: description); - } else { - if (_initializeFuture != null) { - await _initializeFuture; - await CameraPlatform.instance.dispose(_cameraId); - } - - await _initializeWithDescription(description); - } - } - - /// Captures an image and returns the file where it was saved. - /// - /// Throws a [CameraException] if the capture fails. - Future takePicture() async { - _throwIfNotInitialized('takePicture'); - if (value.isTakingPicture) { - throw CameraException( - 'Previous capture has not returned yet.', - 'takePicture was called before the previous capture returned.', - ); - } - try { - value = value.copyWith(isTakingPicture: true); - final XFile file = await CameraPlatform.instance.takePicture(_cameraId); - value = value.copyWith(isTakingPicture: false); - return file; - } on PlatformException catch (e) { - value = value.copyWith(isTakingPicture: false); - throw CameraException(e.code, e.message); - } - } - - /// Start streaming images from platform camera. - /// - /// Settings for capturing images on iOS and Android is set to always use the - /// latest image available from the camera and will drop all other images. - /// - /// When running continuously with [CameraPreview] widget, this function runs - /// best with [ResolutionPreset.low]. Running on [ResolutionPreset.high] can - /// have significant frame rate drops for [CameraPreview] on lower end - /// devices. - /// - /// Throws a [CameraException] if image streaming or video recording has - /// already started. - /// - /// The `startImageStream` method is only available on Android and iOS (other - /// platforms won't be supported in current setup). - /// - // TODO(bmparr): Add settings for resolution and fps. - Future startImageStream(onLatestImageAvailable onAvailable) async { - assert(defaultTargetPlatform == TargetPlatform.android || - defaultTargetPlatform == TargetPlatform.iOS); - _throwIfNotInitialized('startImageStream'); - if (value.isRecordingVideo) { - throw CameraException( - 'A video recording is already started.', - 'startImageStream was called while a video is being recorded.', - ); - } - if (value.isStreamingImages) { - throw CameraException( - 'A camera has started streaming images.', - 'startImageStream was called while a camera was streaming images.', - ); - } - - try { - _imageStreamSubscription = CameraPlatform.instance - .onStreamedFrameAvailable(_cameraId) - .listen((CameraImageData imageData) { - onAvailable(CameraImage.fromPlatformInterface(imageData)); - }); - value = value.copyWith(isStreamingImages: true); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Stop streaming images from platform camera. - /// - /// Throws a [CameraException] if image streaming was not started or video - /// recording was started. - /// - /// The `stopImageStream` method is only available on Android and iOS (other - /// platforms won't be supported in current setup). - Future stopImageStream() async { - assert(defaultTargetPlatform == TargetPlatform.android || - defaultTargetPlatform == TargetPlatform.iOS); - _throwIfNotInitialized('stopImageStream'); - if (!value.isStreamingImages) { - throw CameraException( - 'No camera is streaming images', - 'stopImageStream was called when no camera is streaming images.', - ); - } - - try { - value = value.copyWith(isStreamingImages: false); - await _imageStreamSubscription?.cancel(); - _imageStreamSubscription = null; - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Start a video recording. - /// - /// You may optionally pass an [onAvailable] callback to also have the - /// video frames streamed to this callback. - /// - /// The video is returned as a [XFile] after calling [stopVideoRecording]. - /// Throws a [CameraException] if the capture fails. - Future startVideoRecording( - {onLatestImageAvailable? onAvailable}) async { - _throwIfNotInitialized('startVideoRecording'); - if (value.isRecordingVideo) { - throw CameraException( - 'A video recording is already started.', - 'startVideoRecording was called when a recording is already started.', - ); - } - - void Function(CameraImageData image)? streamCallback; - if (onAvailable != null) { - streamCallback = (CameraImageData imageData) { - onAvailable(CameraImage.fromPlatformInterface(imageData)); - }; - } - - try { - await CameraPlatform.instance.startVideoCapturing( - VideoCaptureOptions(_cameraId, streamCallback: streamCallback)); - value = value.copyWith( - isRecordingVideo: true, - isRecordingPaused: false, - recordingOrientation: Optional.of( - value.lockedCaptureOrientation ?? value.deviceOrientation), - isStreamingImages: onAvailable != null); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Stops the video recording and returns the file where it was saved. - /// - /// Throws a [CameraException] if the capture failed. - Future stopVideoRecording() async { - _throwIfNotInitialized('stopVideoRecording'); - if (!value.isRecordingVideo) { - throw CameraException( - 'No video is recording', - 'stopVideoRecording was called when no video is recording.', - ); - } - - if (value.isStreamingImages) { - await stopImageStream(); - } - - try { - final XFile file = - await CameraPlatform.instance.stopVideoRecording(_cameraId); - value = value.copyWith( - isRecordingVideo: false, - recordingOrientation: const Optional.absent(), - ); - return file; - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Pause video recording. - /// - /// This feature is only available on iOS and Android sdk 24+. - Future pauseVideoRecording() async { - _throwIfNotInitialized('pauseVideoRecording'); - if (!value.isRecordingVideo) { - throw CameraException( - 'No video is recording', - 'pauseVideoRecording was called when no video is recording.', - ); - } - try { - await CameraPlatform.instance.pauseVideoRecording(_cameraId); - value = value.copyWith(isRecordingPaused: true); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Resume video recording after pausing. - /// - /// This feature is only available on iOS and Android sdk 24+. - Future resumeVideoRecording() async { - _throwIfNotInitialized('resumeVideoRecording'); - if (!value.isRecordingVideo) { - throw CameraException( - 'No video is recording', - 'resumeVideoRecording was called when no video is recording.', - ); - } - try { - await CameraPlatform.instance.resumeVideoRecording(_cameraId); - value = value.copyWith(isRecordingPaused: false); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Returns a widget showing a live camera preview. - Widget buildPreview() { - _throwIfNotInitialized('buildPreview'); - try { - return CameraPlatform.instance.buildPreview(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the maximum supported zoom level for the selected camera. - Future getMaxZoomLevel() { - _throwIfNotInitialized('getMaxZoomLevel'); - try { - return CameraPlatform.instance.getMaxZoomLevel(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the minimum supported zoom level for the selected camera. - Future getMinZoomLevel() { - _throwIfNotInitialized('getMinZoomLevel'); - try { - return CameraPlatform.instance.getMinZoomLevel(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Set the zoom level for the selected camera. - /// - /// The supplied [zoom] value should be between 1.0 and the maximum supported - /// zoom level returned by the `getMaxZoomLevel`. Throws an `CameraException` - /// when an illegal zoom level is suplied. - Future setZoomLevel(double zoom) { - _throwIfNotInitialized('setZoomLevel'); - try { - return CameraPlatform.instance.setZoomLevel(_cameraId, zoom); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the flash mode for taking pictures. - Future setFlashMode(FlashMode mode) async { - try { - await CameraPlatform.instance.setFlashMode(_cameraId, mode); - value = value.copyWith(flashMode: mode); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the exposure mode for taking pictures. - Future setExposureMode(ExposureMode mode) async { - try { - await CameraPlatform.instance.setExposureMode(_cameraId, mode); - value = value.copyWith(exposureMode: mode); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the exposure point for automatically determining the exposure value. - /// - /// Supplying a `null` value will reset the exposure point to it's default - /// value. - Future setExposurePoint(Offset? point) async { - if (point != null && - (point.dx < 0 || point.dx > 1 || point.dy < 0 || point.dy > 1)) { - throw ArgumentError( - 'The values of point should be anywhere between (0,0) and (1,1).'); - } - - try { - await CameraPlatform.instance.setExposurePoint( - _cameraId, - point == null - ? null - : Point( - point.dx, - point.dy, - ), - ); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the minimum supported exposure offset for the selected camera in EV units. - Future getMinExposureOffset() async { - _throwIfNotInitialized('getMinExposureOffset'); - try { - return CameraPlatform.instance.getMinExposureOffset(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the maximum supported exposure offset for the selected camera in EV units. - Future getMaxExposureOffset() async { - _throwIfNotInitialized('getMaxExposureOffset'); - try { - return CameraPlatform.instance.getMaxExposureOffset(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the supported step size for exposure offset for the selected camera in EV units. - /// - /// Returns 0 when the camera supports using a free value without stepping. - Future getExposureOffsetStepSize() async { - _throwIfNotInitialized('getExposureOffsetStepSize'); - try { - return CameraPlatform.instance.getExposureOffsetStepSize(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the exposure offset for the selected camera. - /// - /// The supplied [offset] value should be in EV units. 1 EV unit represents a - /// doubling in brightness. It should be between the minimum and maximum offsets - /// obtained through `getMinExposureOffset` and `getMaxExposureOffset` respectively. - /// Throws a `CameraException` when an illegal offset is supplied. - /// - /// When the supplied [offset] value does not align with the step size obtained - /// through `getExposureStepSize`, it will automatically be rounded to the nearest step. - /// - /// Returns the (rounded) offset value that was set. - Future setExposureOffset(double offset) async { - _throwIfNotInitialized('setExposureOffset'); - // Check if offset is in range - final List range = await Future.wait( - >[getMinExposureOffset(), getMaxExposureOffset()]); - if (offset < range[0] || offset > range[1]) { - throw CameraException( - 'exposureOffsetOutOfBounds', - 'The provided exposure offset was outside the supported range for this device.', - ); - } - - // Round to the closest step if needed - final double stepSize = await getExposureOffsetStepSize(); - if (stepSize > 0) { - final double inv = 1.0 / stepSize; - double roundedOffset = (offset * inv).roundToDouble() / inv; - if (roundedOffset > range[1]) { - roundedOffset = (offset * inv).floorToDouble() / inv; - } else if (roundedOffset < range[0]) { - roundedOffset = (offset * inv).ceilToDouble() / inv; - } - offset = roundedOffset; - } - - try { - return CameraPlatform.instance.setExposureOffset(_cameraId, offset); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Locks the capture orientation. - /// - /// If [orientation] is omitted, the current device orientation is used. - Future lockCaptureOrientation([DeviceOrientation? orientation]) async { - try { - await CameraPlatform.instance.lockCaptureOrientation( - _cameraId, orientation ?? value.deviceOrientation); - value = value.copyWith( - lockedCaptureOrientation: Optional.of( - orientation ?? value.deviceOrientation)); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the focus mode for taking pictures. - Future setFocusMode(FocusMode mode) async { - try { - await CameraPlatform.instance.setFocusMode(_cameraId, mode); - value = value.copyWith(focusMode: mode); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Unlocks the capture orientation. - Future unlockCaptureOrientation() async { - try { - await CameraPlatform.instance.unlockCaptureOrientation(_cameraId); - value = value.copyWith( - lockedCaptureOrientation: const Optional.absent()); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the focus point for automatically determining the focus value. - /// - /// Supplying a `null` value will reset the focus point to it's default - /// value. - Future setFocusPoint(Offset? point) async { - if (point != null && - (point.dx < 0 || point.dx > 1 || point.dy < 0 || point.dy > 1)) { - throw ArgumentError( - 'The values of point should be anywhere between (0,0) and (1,1).'); - } - try { - await CameraPlatform.instance.setFocusPoint( - _cameraId, - point == null - ? null - : Point( - point.dx, - point.dy, - ), - ); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Releases the resources of this camera. - @override - Future dispose() async { - if (_isDisposed) { - return; - } - _unawaited(_deviceOrientationSubscription?.cancel()); - _isDisposed = true; - super.dispose(); - if (_initializeFuture != null) { - await _initializeFuture; - await CameraPlatform.instance.dispose(_cameraId); - } - } - - void _throwIfNotInitialized(String functionName) { - if (!value.isInitialized) { - throw CameraException( - 'Uninitialized CameraController', - '$functionName() was called on an uninitialized CameraController.', - ); - } - if (_isDisposed) { - throw CameraException( - 'Disposed CameraController', - '$functionName() was called on a disposed CameraController.', - ); - } - } - - @override - void removeListener(VoidCallback listener) { - // Prevent ValueListenableBuilder in CameraPreview widget from causing an - // exception to be thrown by attempting to remove its own listener after - // the controller has already been disposed. - if (!_isDisposed) { - super.removeListener(listener); - } - } -} - -/// A value that might be absent. -/// -/// Used to represent [DeviceOrientation]s that are optional but also able -/// to be cleared. -@immutable -class Optional extends IterableBase { - /// Constructs an empty Optional. - const Optional.absent() : _value = null; - - /// Constructs an Optional of the given [value]. - /// - /// Throws [ArgumentError] if [value] is null. - Optional.of(T value) : _value = value { - // TODO(cbracken): Delete and make this ctor const once mixed-mode - // execution is no longer around. - ArgumentError.checkNotNull(value); - } - - /// Constructs an Optional of the given [value]. - /// - /// If [value] is null, returns [absent()]. - const Optional.fromNullable(T? value) : _value = value; - - final T? _value; - - /// True when this optional contains a value. - bool get isPresent => _value != null; - - /// True when this optional contains no value. - bool get isNotPresent => _value == null; - - /// Gets the Optional value. - /// - /// Throws [StateError] if [value] is null. - T get value { - if (_value == null) { - throw StateError('value called on absent Optional.'); - } - return _value; - } - - /// Executes a function if the Optional value is present. - void ifPresent(void Function(T value) ifPresent) { - if (isPresent) { - ifPresent(_value as T); - } - } - - /// Execution a function if the Optional value is absent. - void ifAbsent(void Function() ifAbsent) { - if (!isPresent) { - ifAbsent(); - } - } - - /// Gets the Optional value with a default. - /// - /// The default is returned if the Optional is [absent()]. - /// - /// Throws [ArgumentError] if [defaultValue] is null. - T or(T defaultValue) { - return _value ?? defaultValue; - } - - /// Gets the Optional value, or `null` if there is none. - T? get orNull => _value; - - /// Transforms the Optional value. - /// - /// If the Optional is [absent()], returns [absent()] without applying the transformer. - /// - /// The transformer must not return `null`. If it does, an [ArgumentError] is thrown. - Optional transform(S Function(T value) transformer) { - return _value == null - ? Optional.absent() - : Optional.of(transformer(_value)); - } - - /// Transforms the Optional value. - /// - /// If the Optional is [absent()], returns [absent()] without applying the transformer. - /// - /// Returns [absent()] if the transformer returns `null`. - Optional transformNullable(S? Function(T value) transformer) { - return _value == null - ? Optional.absent() - : Optional.fromNullable(transformer(_value)); - } - - @override - Iterator get iterator => - isPresent ? [_value as T].iterator : Iterable.empty().iterator; - - /// Delegates to the underlying [value] hashCode. - @override - int get hashCode => _value.hashCode; - - /// Delegates to the underlying [value] operator==. - @override - bool operator ==(Object o) => o is Optional && o._value == _value; - - @override - String toString() { - return _value == null - ? 'Optional { absent }' - : 'Optional { value: $_value }'; - } -} diff --git a/example/camera/lib/src/camera_image.dart b/example/camera/lib/src/camera_image.dart deleted file mode 100644 index 0e531b3..0000000 --- a/example/camera/lib/src/camera_image.dart +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; - -// TODO(stuartmorgan): Remove all of these classes in a breaking change, and -// vend the platform interface versions directly. See -// https://github.com/flutter/flutter/issues/104188 - -/// A single color plane of image data. -/// -/// The number and meaning of the planes in an image are determined by the -/// format of the Image. -class Plane { - Plane._fromPlatformInterface(CameraImagePlane plane) - : bytes = plane.bytes, - bytesPerPixel = plane.bytesPerPixel, - bytesPerRow = plane.bytesPerRow, - height = plane.height, - width = plane.width; - - // Only used by the deprecated codepath that's kept to avoid breaking changes. - // Never called by the plugin itself. - Plane._fromPlatformData(Map data) - : bytes = data['bytes'] as Uint8List, - bytesPerPixel = data['bytesPerPixel'] as int?, - bytesPerRow = data['bytesPerRow'] as int, - height = data['height'] as int?, - width = data['width'] as int?; - - /// Bytes representing this plane. - final Uint8List bytes; - - /// The distance between adjacent pixel samples on Android, in bytes. - /// - /// Will be `null` on iOS. - final int? bytesPerPixel; - - /// The row stride for this color plane, in bytes. - final int bytesPerRow; - - /// Height of the pixel buffer on iOS. - /// - /// Will be `null` on Android - final int? height; - - /// Width of the pixel buffer on iOS. - /// - /// Will be `null` on Android. - final int? width; -} - -/// Describes how pixels are represented in an image. -class ImageFormat { - ImageFormat._fromPlatformInterface(CameraImageFormat format) - : group = format.group, - raw = format.raw; - - // Only used by the deprecated codepath that's kept to avoid breaking changes. - // Never called by the plugin itself. - ImageFormat._fromPlatformData(this.raw) : group = _asImageFormatGroup(raw); - - /// Describes the format group the raw image format falls into. - final ImageFormatGroup group; - - /// Raw version of the format from the Android or iOS platform. - /// - /// On Android, this is an `int` from class `android.graphics.ImageFormat`. See - /// https://developer.android.com/reference/android/graphics/ImageFormat - /// - /// On iOS, this is a `FourCharCode` constant from Pixel Format Identifiers. - /// See https://developer.apple.com/documentation/corevideo/1563591-pixel_format_identifiers?language=objc - final dynamic raw; -} - -// Only used by the deprecated codepath that's kept to avoid breaking changes. -// Never called by the plugin itself. -ImageFormatGroup _asImageFormatGroup(dynamic rawFormat) { - if (defaultTargetPlatform == TargetPlatform.android) { - switch (rawFormat) { - // android.graphics.ImageFormat.YUV_420_888 - case 35: - return ImageFormatGroup.yuv420; - // android.graphics.ImageFormat.JPEG - case 256: - return ImageFormatGroup.jpeg; - // android.graphics.ImageFormat.NV21 - case 17: - return ImageFormatGroup.nv21; - } - } - - if (defaultTargetPlatform == TargetPlatform.iOS) { - switch (rawFormat) { - // kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange - case 875704438: - return ImageFormatGroup.yuv420; - // kCVPixelFormatType_32BGRA - case 1111970369: - return ImageFormatGroup.bgra8888; - } - } - - return ImageFormatGroup.unknown; -} - -/// A single complete image buffer from the platform camera. -/// -/// This class allows for direct application access to the pixel data of an -/// Image through one or more [Uint8List]. Each buffer is encapsulated in a -/// [Plane] that describes the layout of the pixel data in that plane. The -/// [CameraImage] is not directly usable as a UI resource. -/// -/// Although not all image formats are planar on iOS, we treat 1-dimensional -/// images as single planar images. -class CameraImage { - /// Creates a [CameraImage] from the platform interface version. - CameraImage.fromPlatformInterface(CameraImageData data) - : format = ImageFormat._fromPlatformInterface(data.format), - height = data.height, - width = data.width, - planes = List.unmodifiable(data.planes.map( - (CameraImagePlane plane) => Plane._fromPlatformInterface(plane))), - lensAperture = data.lensAperture, - sensorExposureTime = data.sensorExposureTime, - sensorSensitivity = data.sensorSensitivity; - - /// Creates a [CameraImage] from method channel data. - @Deprecated('Use fromPlatformInterface instead') - CameraImage.fromPlatformData(Map data) - : format = ImageFormat._fromPlatformData(data['format']), - height = data['height'] as int, - width = data['width'] as int, - lensAperture = data['lensAperture'] as double?, - sensorExposureTime = data['sensorExposureTime'] as int?, - sensorSensitivity = data['sensorSensitivity'] as double?, - planes = List.unmodifiable((data['planes'] as List) - .map((dynamic planeData) => - Plane._fromPlatformData(planeData as Map))); - - /// Format of the image provided. - /// - /// Determines the number of planes needed to represent the image, and - /// the general layout of the pixel data in each [Uint8List]. - final ImageFormat format; - - /// Height of the image in pixels. - /// - /// For formats where some color channels are subsampled, this is the height - /// of the largest-resolution plane. - final int height; - - /// Width of the image in pixels. - /// - /// For formats where some color channels are subsampled, this is the width - /// of the largest-resolution plane. - final int width; - - /// The pixels planes for this image. - /// - /// The number of planes is determined by the format of the image. - final List planes; - - /// The aperture settings for this image. - /// - /// Represented as an f-stop value. - final double? lensAperture; - - /// The sensor exposure time for this image in nanoseconds. - final int? sensorExposureTime; - - /// The sensor sensitivity in standard ISO arithmetic units. - final double? sensorSensitivity; -} diff --git a/example/camera/lib/src/camera_preview.dart b/example/camera/lib/src/camera_preview.dart deleted file mode 100644 index 53f9034..0000000 --- a/example/camera/lib/src/camera_preview.dart +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -import '../camera.dart'; - -/// A widget showing a live camera preview. -class CameraPreview extends StatelessWidget { - /// Creates a preview widget for the given camera controller. - const CameraPreview(this.controller, {super.key, this.child}); - - /// The controller for the camera that the preview is shown for. - final CameraController controller; - - /// A widget to overlay on top of the camera preview - final Widget? child; - - @override - Widget build(BuildContext context) { - return controller.value.isInitialized - ? ValueListenableBuilder( - valueListenable: controller, - builder: (BuildContext context, Object? value, Widget? child) { - return AspectRatio( - aspectRatio: _isLandscape() - ? controller.value.aspectRatio - : (1 / controller.value.aspectRatio), - child: Stack( - fit: StackFit.expand, - children: [ - _wrapInRotatedBox(child: controller.buildPreview()), - child ?? Container(), - ], - ), - ); - }, - child: child, - ) - : Container(); - } - - Widget _wrapInRotatedBox({required Widget child}) { - if (kIsWeb || defaultTargetPlatform != TargetPlatform.android) { - return child; - } - - return RotatedBox( - quarterTurns: _getQuarterTurns(), - child: child, - ); - } - - bool _isLandscape() { - return [ - DeviceOrientation.landscapeLeft, - DeviceOrientation.landscapeRight - ].contains(_getApplicableOrientation()); - } - - int _getQuarterTurns() { - final Map turns = { - DeviceOrientation.portraitUp: 0, - DeviceOrientation.landscapeRight: 1, - DeviceOrientation.portraitDown: 2, - DeviceOrientation.landscapeLeft: 3, - }; - return turns[_getApplicableOrientation()]!; - } - - DeviceOrientation _getApplicableOrientation() { - return controller.value.isRecordingVideo - ? controller.value.recordingOrientation! - : (controller.value.previewPauseOrientation ?? - controller.value.lockedCaptureOrientation ?? - controller.value.deviceOrientation); - } -} diff --git a/example/camera/pubspec.lock b/example/camera/pubspec.lock deleted file mode 100644 index cde95f3..0000000 --- a/example/camera/pubspec.lock +++ /dev/null @@ -1,441 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a - url: "https://pub.dev" - source: hosted - version: "61.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 - url: "https://pub.dev" - source: hosted - version: "5.13.0" - args: - dependency: transitive - description: - name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.dev" - source: hosted - version: "2.4.2" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - build: - dependency: transitive - description: - name: build - sha256: "43865b79fbb78532e4bff7c33087aa43b1d488c4fdef014eaef568af6d8016dc" - url: "https://pub.dev" - source: hosted - version: "2.4.0" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166" - url: "https://pub.dev" - source: hosted - version: "8.6.1" - camera_android_camerax: - dependency: "direct main" - description: - name: camera_android_camerax - sha256: "59a01443c280cf969449f4b72db9396e80e5a9e8f07a2500a042906a157ce894" - url: "https://pub.dev" - source: hosted - version: "0.6.9+2" - camera_avfoundation: - dependency: "direct main" - description: - name: camera_avfoundation - sha256: "0d04cec8715b59fb6dc60eefb47e69024f51233c570e475b886dc9290568bca7" - url: "https://pub.dev" - source: hosted - version: "0.9.17+4" - camera_platform_interface: - dependency: "direct main" - description: - name: camera_platform_interface - sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 - url: "https://pub.dev" - source: hosted - version: "2.8.0" - camera_web: - dependency: "direct main" - description: - path: "../web_camera" - relative: true - source: path - version: "0.3.3" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: "4ad01d6e56db961d29661561effde45e519939fdaeb46c351275b182eac70189" - url: "https://pub.dev" - source: hosted - version: "4.5.0" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9" - url: "https://pub.dev" - source: hosted - version: "0.3.3+4" - crypto: - dependency: transitive - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: f4f1f73ab3fd2afcbcca165ee601fe980d966af6a21b5970c6c9376955c528ad - url: "https://pub.dev" - source: hosted - version: "2.3.1" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - file: - dependency: transitive - description: - name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" - url: "https://pub.dev" - source: hosted - version: "6.1.4" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_plugin_android_lifecycle: - dependency: "direct main" - description: - name: flutter_plugin_android_lifecycle - sha256: "950e77c2bbe1692bc0874fc7fb491b96a4dc340457f4ea1641443d0a6c1ea360" - url: "https://pub.dev" - source: hosted - version: "2.0.15" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - mockito: - dependency: "direct dev" - description: - name: mockito - sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" - url: "https://pub.dev" - source: hosted - version: "5.4.4" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - plugin_platform_interface: - dependency: "direct dev" - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_gen: - dependency: transitive - description: - name: source_gen - sha256: "373f96cf5a8744bc9816c1ff41cf5391bbdbe3d7a96fe98c622b6738a8a7bd33" - url: "https://pub.dev" - source: hosted - version: "1.3.2" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" -sdks: - dart: ">=3.5.0 <4.0.0" - flutter: ">=3.24.0" diff --git a/example/camera/pubspec.yaml b/example/camera/pubspec.yaml deleted file mode 100644 index 3999205..0000000 --- a/example/camera/pubspec.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: camera -description: A Flutter plugin for controlling the camera. Supports previewing - the camera feed, capturing images and video, and streaming image buffers to - Dart. -repository: https://github.com/flutter/packages/tree/main/packages/camera/camera -issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.11.0+2 - -environment: - sdk: ^3.3.0 - flutter: ">=3.19.0" - -flutter: - plugin: - platforms: - android: - default_package: camera_android_camerax - ios: - default_package: camera_avfoundation - web: - default_package: camera_web - -dependencies: - camera_android_camerax: ^0.6.5 - camera_avfoundation: ^0.9.15 - camera_platform_interface: ^2.6.0 - camera_web: - path: ../web_camera/ - flutter: - sdk: flutter - flutter_plugin_android_lifecycle: ^2.0.2 - -dev_dependencies: - flutter_test: - sdk: flutter - mockito: ^5.4.4 - plugin_platform_interface: ^2.1.7 - -topics: - - camera diff --git a/example/camera/test/camera_image_stream_test.dart b/example/camera/test/camera_image_stream_test.dart deleted file mode 100644 index c89e4ac..0000000 --- a/example/camera/test/camera_image_stream_test.dart +++ /dev/null @@ -1,242 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; - -import 'package:camera/camera.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'camera_test.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - late MockStreamingCameraPlatform mockPlatform; - - setUp(() { - mockPlatform = MockStreamingCameraPlatform(); - CameraPlatform.instance = mockPlatform; - }); - - test('startImageStream() throws $CameraException when uninitialized', () { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - () => cameraController.startImageStream((CameraImage image) {}), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'startImageStream() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('startImageStream() throws $CameraException when recording videos', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - - cameraController.value = - cameraController.value.copyWith(isRecordingVideo: true); - - expect( - () => cameraController.startImageStream((CameraImage image) {}), - throwsA(isA().having( - (CameraException error) => error.description, - 'A video recording is already started.', - 'startImageStream was called while a video is being recorded.', - ))); - }); - test( - 'startImageStream() throws $CameraException when already streaming images', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - cameraController.value = - cameraController.value.copyWith(isStreamingImages: true); - expect( - () => cameraController.startImageStream((CameraImage image) {}), - throwsA(isA().having( - (CameraException error) => error.description, - 'A camera has started streaming images.', - 'startImageStream was called while a camera was streaming images.', - ))); - }); - - test('startImageStream() calls CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.startImageStream((CameraImage image) {}); - - expect(mockPlatform.streamCallLog, - ['onStreamedFrameAvailable', 'listen']); - }); - - test('stopImageStream() throws $CameraException when uninitialized', () { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - cameraController.stopImageStream, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'stopImageStream() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('stopImageStream() throws $CameraException when not streaming images', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect( - cameraController.stopImageStream, - throwsA(isA().having( - (CameraException error) => error.description, - 'No camera is streaming images', - 'stopImageStream was called when no camera is streaming images.', - ))); - }); - - test('stopImageStream() intended behaviour', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - await cameraController.startImageStream((CameraImage image) {}); - await cameraController.stopImageStream(); - - expect(mockPlatform.streamCallLog, - ['onStreamedFrameAvailable', 'listen', 'cancel']); - }); - - test('startVideoRecording() can stream images', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - - await cameraController.startVideoRecording( - onAvailable: (CameraImage image) {}); - - expect( - mockPlatform.streamCallLog.contains('startVideoCapturing with stream'), - isTrue); - }); - - test('startVideoRecording() by default does not stream', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - - await cameraController.startVideoRecording(); - - expect(mockPlatform.streamCallLog.contains('startVideoCapturing'), isTrue); - }); -} - -class MockStreamingCameraPlatform extends MockCameraPlatform { - List streamCallLog = []; - - StreamController? _streamController; - - @override - Stream onStreamedFrameAvailable(int cameraId, - {CameraImageStreamOptions? options}) { - streamCallLog.add('onStreamedFrameAvailable'); - _streamController = StreamController( - onListen: _onFrameStreamListen, - onCancel: _onFrameStreamCancel, - ); - return _streamController!.stream; - } - - @override - Future startVideoRecording(int cameraId, {Duration? maxVideoDuration}) { - streamCallLog.add('startVideoRecording'); - // Ignore maxVideoDuration, as it is unimplemented and deprecated. - return super.startVideoRecording(cameraId); - } - - @override - Future startVideoCapturing(VideoCaptureOptions options) { - if (options.streamCallback == null) { - streamCallLog.add('startVideoCapturing'); - } else { - streamCallLog.add('startVideoCapturing with stream'); - } - return super.startVideoCapturing(options); - } - - void _onFrameStreamListen() { - streamCallLog.add('listen'); - } - - FutureOr _onFrameStreamCancel() async { - streamCallLog.add('cancel'); - _streamController = null; - } -} diff --git a/example/camera/test/camera_image_test.dart b/example/camera/test/camera_image_test.dart deleted file mode 100644 index 04bfd14..0000000 --- a/example/camera/test/camera_image_test.dart +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:camera/camera.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_test/flutter_test.dart'; - -void main() { - test('translates correctly from platform interface classes', () { - final CameraImageData originalImage = CameraImageData( - format: const CameraImageFormat(ImageFormatGroup.jpeg, raw: 1234), - planes: [ - CameraImagePlane( - bytes: Uint8List.fromList([1, 2, 3, 4]), - bytesPerRow: 20, - bytesPerPixel: 3, - width: 200, - height: 100, - ), - CameraImagePlane( - bytes: Uint8List.fromList([5, 6, 7, 8]), - bytesPerRow: 18, - bytesPerPixel: 4, - width: 220, - height: 110, - ), - ], - width: 640, - height: 480, - lensAperture: 2.5, - sensorExposureTime: 5, - sensorSensitivity: 1.3, - ); - - final CameraImage image = CameraImage.fromPlatformInterface(originalImage); - // Simple values. - expect(image.width, 640); - expect(image.height, 480); - expect(image.lensAperture, 2.5); - expect(image.sensorExposureTime, 5); - expect(image.sensorSensitivity, 1.3); - // Format. - expect(image.format.group, ImageFormatGroup.jpeg); - expect(image.format.raw, 1234); - // Planes. - expect(image.planes.length, originalImage.planes.length); - for (int i = 0; i < image.planes.length; i++) { - expect( - image.planes[i].bytes.length, originalImage.planes[i].bytes.length); - for (int j = 0; j < image.planes[i].bytes.length; j++) { - expect(image.planes[i].bytes[j], originalImage.planes[i].bytes[j]); - } - expect( - image.planes[i].bytesPerPixel, originalImage.planes[i].bytesPerPixel); - expect(image.planes[i].bytesPerRow, originalImage.planes[i].bytesPerRow); - expect(image.planes[i].width, originalImage.planes[i].width); - expect(image.planes[i].height, originalImage.planes[i].height); - } - }); - - group('legacy constructors', () { - test('$CameraImage can be created', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 35, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.height, 1); - expect(cameraImage.width, 4); - expect(cameraImage.format.group, ImageFormatGroup.yuv420); - expect(cameraImage.planes.length, 1); - }); - - test('$CameraImage has ImageFormatGroup.yuv420 for iOS', () { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 875704438, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.yuv420); - }); - - test('$CameraImage has ImageFormatGroup.yuv420 for Android', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 35, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.yuv420); - }); - - test('$CameraImage has ImageFormatGroup.nv21 for android', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 17, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.nv21); - }); - - test('$CameraImage has ImageFormatGroup.bgra8888 for iOS', () { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 1111970369, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.bgra8888); - }); - - test('$CameraImage has ImageFormatGroup.unknown', () { - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': null, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.unknown); - }); - }); -} diff --git a/example/camera/test/camera_preview_test.dart b/example/camera/test/camera_preview_test.dart deleted file mode 100644 index 4b5a2a5..0000000 --- a/example/camera/test/camera_preview_test.dart +++ /dev/null @@ -1,259 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:camera/camera.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_test/flutter_test.dart'; - -class FakeController extends ValueNotifier - implements CameraController { - FakeController() : super(const CameraValue.uninitialized(fakeDescription)); - - static const CameraDescription fakeDescription = CameraDescription( - name: '', lensDirection: CameraLensDirection.back, sensorOrientation: 0); - - @override - Future dispose() async { - super.dispose(); - } - - @override - Widget buildPreview() { - return const Texture(textureId: CameraController.kUninitializedCameraId); - } - - @override - int get cameraId => CameraController.kUninitializedCameraId; - - @override - void debugCheckIsDisposed() {} - - @override - bool get enableAudio => false; - - @override - Future getExposureOffsetStepSize() async => 1.0; - - @override - Future getMaxExposureOffset() async => 1.0; - - @override - Future getMaxZoomLevel() async => 1.0; - - @override - Future getMinExposureOffset() async => 1.0; - - @override - Future getMinZoomLevel() async => 1.0; - - @override - ImageFormatGroup? get imageFormatGroup => null; - - @override - Future initialize() async {} - - @override - Future lockCaptureOrientation([DeviceOrientation? orientation]) async {} - - @override - Future pauseVideoRecording() async {} - - @override - Future prepareForVideoRecording() async {} - - @override - ResolutionPreset get resolutionPreset => ResolutionPreset.low; - - @override - MediaSettings get mediaSettings => const MediaSettings( - resolutionPreset: ResolutionPreset.low, - fps: 15, - videoBitrate: 200000, - audioBitrate: 32000, - enableAudio: true, - ); - - @override - Future resumeVideoRecording() async {} - - @override - Future setExposureMode(ExposureMode mode) async {} - - @override - Future setExposureOffset(double offset) async => offset; - - @override - Future setExposurePoint(Offset? point) async {} - - @override - Future setFlashMode(FlashMode mode) async {} - - @override - Future setFocusMode(FocusMode mode) async {} - - @override - Future setFocusPoint(Offset? point) async {} - - @override - Future setZoomLevel(double zoom) async {} - - @override - Future startImageStream(onLatestImageAvailable onAvailable) async {} - - @override - Future startVideoRecording( - {onLatestImageAvailable? onAvailable}) async {} - - @override - Future stopImageStream() async {} - - @override - Future stopVideoRecording() async => XFile(''); - - @override - Future takePicture() async => XFile(''); - - @override - Future unlockCaptureOrientation() async {} - - @override - Future pausePreview() async {} - - @override - Future resumePreview() async {} - - @override - Future setDescription(CameraDescription description) async {} - - @override - CameraDescription get description => value.description; -} - -void main() { - group('RotatedBox (Android only)', () { - testWidgets( - 'when recording rotatedBox should turn according to recording orientation', - ( - WidgetTester tester, - ) async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final FakeController controller = FakeController(); - controller.value = controller.value.copyWith( - isInitialized: true, - isRecordingVideo: true, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: - const Optional.fromNullable( - DeviceOrientation.landscapeRight), - recordingOrientation: const Optional.fromNullable( - DeviceOrientation.landscapeLeft), - previewSize: const Size(480, 640), - ); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CameraPreview(controller), - ), - ); - expect(find.byType(RotatedBox), findsOneWidget); - - final RotatedBox rotatedBox = - tester.widget(find.byType(RotatedBox)); - expect(rotatedBox.quarterTurns, 3); - - debugDefaultTargetPlatformOverride = null; - }); - - testWidgets( - 'when orientation locked rotatedBox should turn according to locked orientation', - ( - WidgetTester tester, - ) async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final FakeController controller = FakeController(); - controller.value = controller.value.copyWith( - isInitialized: true, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: - const Optional.fromNullable( - DeviceOrientation.landscapeRight), - recordingOrientation: const Optional.fromNullable( - DeviceOrientation.landscapeLeft), - previewSize: const Size(480, 640), - ); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CameraPreview(controller), - ), - ); - expect(find.byType(RotatedBox), findsOneWidget); - - final RotatedBox rotatedBox = - tester.widget(find.byType(RotatedBox)); - expect(rotatedBox.quarterTurns, 1); - - debugDefaultTargetPlatformOverride = null; - }); - - testWidgets( - 'when not locked and not recording rotatedBox should turn according to device orientation', - ( - WidgetTester tester, - ) async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final FakeController controller = FakeController(); - controller.value = controller.value.copyWith( - isInitialized: true, - deviceOrientation: DeviceOrientation.portraitUp, - recordingOrientation: const Optional.fromNullable( - DeviceOrientation.landscapeLeft), - previewSize: const Size(480, 640), - ); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CameraPreview(controller), - ), - ); - expect(find.byType(RotatedBox), findsOneWidget); - - final RotatedBox rotatedBox = - tester.widget(find.byType(RotatedBox)); - expect(rotatedBox.quarterTurns, 0); - - debugDefaultTargetPlatformOverride = null; - }); - }, skip: kIsWeb); - - testWidgets('when not on Android there should not be a rotated box', - (WidgetTester tester) async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final FakeController controller = FakeController(); - controller.value = controller.value.copyWith( - isInitialized: true, - previewSize: const Size(480, 640), - ); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CameraPreview(controller), - ), - ); - expect(find.byType(RotatedBox), findsNothing); - expect(find.byType(Texture), findsOneWidget); - debugDefaultTargetPlatformOverride = null; - }); -} diff --git a/example/camera/test/camera_test.dart b/example/camera/test/camera_test.dart deleted file mode 100644 index 0c6a319..0000000 --- a/example/camera/test/camera_test.dart +++ /dev/null @@ -1,1621 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; -import 'dart:math'; - -import 'package:camera/camera.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mockito/mockito.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -List get mockAvailableCameras => [ - const CameraDescription( - name: 'camBack', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - const CameraDescription( - name: 'camFront', - lensDirection: CameraLensDirection.front, - sensorOrientation: 180), - ]; - -int get mockInitializeCamera => 13; - -CameraInitializedEvent get mockOnCameraInitializedEvent => - const CameraInitializedEvent( - 13, - 75, - 75, - ExposureMode.auto, - true, - FocusMode.auto, - true, - ); - -DeviceOrientationChangedEvent get mockOnDeviceOrientationChangedEvent => - const DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); - -CameraClosingEvent get mockOnCameraClosingEvent => const CameraClosingEvent(13); - -CameraErrorEvent get mockOnCameraErrorEvent => - const CameraErrorEvent(13, 'closing'); - -XFile mockTakePicture = XFile('foo/bar.png'); - -XFile mockVideoRecordingXFile = XFile('foo/bar.mpeg'); - -bool mockPlatformException = false; - -void main() { - WidgetsFlutterBinding.ensureInitialized(); - - group('camera', () { - test('debugCheckIsDisposed should not throw assertion error when disposed', - () { - const MockCameraDescription description = MockCameraDescription(); - final CameraController controller = CameraController( - description, - ResolutionPreset.low, - ); - - controller.dispose(); - - expect(controller.debugCheckIsDisposed, returnsNormally); - }); - - test('debugCheckIsDisposed should throw assertion error when not disposed', - () { - const MockCameraDescription description = MockCameraDescription(); - final CameraController controller = CameraController( - description, - ResolutionPreset.low, - ); - - expect( - () => controller.debugCheckIsDisposed(), - throwsAssertionError, - ); - }); - - test('availableCameras() has camera', () async { - CameraPlatform.instance = MockCameraPlatform(); - - final List camList = await availableCameras(); - - expect(camList, equals(mockAvailableCameras)); - }); - }); - - group('$CameraController', () { - setUpAll(() { - CameraPlatform.instance = MockCameraPlatform(); - }); - - test('Can be initialized', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect(cameraController.value.aspectRatio, 1); - expect(cameraController.value.previewSize, const Size(75, 75)); - expect(cameraController.value.isInitialized, isTrue); - }); - - test('can be initialized with media settings', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.low, - fps: 15, - videoBitrate: 200000, - audioBitrate: 32000, - enableAudio: false, - ); - await cameraController.initialize(); - - expect(cameraController.value.aspectRatio, 1); - expect(cameraController.value.previewSize, const Size(75, 75)); - expect(cameraController.value.isInitialized, isTrue); - expect(cameraController.resolutionPreset, ResolutionPreset.low); - expect(cameraController.enableAudio, false); - expect(cameraController.mediaSettings.fps, 15); - expect(cameraController.mediaSettings.videoBitrate, 200000); - expect(cameraController.mediaSettings.audioBitrate, 32000); - }); - - test('default constructor initializes media settings', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect(cameraController.resolutionPreset, ResolutionPreset.max); - expect(cameraController.enableAudio, true); - expect(cameraController.mediaSettings.fps, isNull); - expect(cameraController.mediaSettings.videoBitrate, isNull); - expect(cameraController.mediaSettings.audioBitrate, isNull); - }); - - test('can be disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect(cameraController.value.aspectRatio, 1); - expect(cameraController.value.previewSize, const Size(75, 75)); - expect(cameraController.value.isInitialized, isTrue); - - await cameraController.dispose(); - - verify(CameraPlatform.instance.dispose(13)).called(1); - }); - - test('initialize() throws CameraException when disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect(cameraController.value.aspectRatio, 1); - expect(cameraController.value.previewSize, const Size(75, 75)); - expect(cameraController.value.isInitialized, isTrue); - - await cameraController.dispose(); - - verify(CameraPlatform.instance.dispose(13)).called(1); - - expect( - cameraController.initialize, - throwsA(isA().having( - (CameraException error) => error.description, - 'Error description', - 'initialize was called on a disposed CameraController', - ))); - }); - - test('initialize() throws $CameraException on $PlatformException ', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - mockPlatformException = true; - - expect( - cameraController.initialize, - throwsA(isA().having( - (CameraException error) => error.description, - 'foo', - 'bar', - ))); - mockPlatformException = false; - }); - - test('initialize() sets imageFormat', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max, - imageFormatGroup: ImageFormatGroup.yuv420, - ); - await cameraController.initialize(); - verify(CameraPlatform.instance - .initializeCamera(13, imageFormatGroup: ImageFormatGroup.yuv420)) - .called(1); - }); - - test('setDescription waits for initialize before calling dispose', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90, - ), - ResolutionPreset.max, - imageFormatGroup: ImageFormatGroup.bgra8888, - ); - - final Completer initializeCompleter = Completer(); - when(CameraPlatform.instance.initializeCamera( - mockInitializeCamera, - imageFormatGroup: ImageFormatGroup.bgra8888, - )).thenAnswer( - (_) => initializeCompleter.future, - ); - - unawaited(cameraController.initialize()); - - final Future setDescriptionFuture = cameraController.setDescription( - const CameraDescription( - name: 'cam2', - lensDirection: CameraLensDirection.front, - sensorOrientation: 90), - ); - verifyNever(CameraPlatform.instance.dispose(mockInitializeCamera)); - - initializeCompleter.complete(); - - await setDescriptionFuture; - verify(CameraPlatform.instance.dispose(mockInitializeCamera)); - }); - - test('prepareForVideoRecording() calls $CameraPlatform ', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.prepareForVideoRecording(); - - verify(CameraPlatform.instance.prepareForVideoRecording()).called(1); - }); - - test('takePicture() throws $CameraException when uninitialized ', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - expect( - cameraController.takePicture(), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'takePicture() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('takePicture() throws $CameraException when takePicture is true', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - cameraController.value = - cameraController.value.copyWith(isTakingPicture: true); - expect( - cameraController.takePicture(), - throwsA(isA().having( - (CameraException error) => error.description, - 'Previous capture has not returned yet.', - 'takePicture was called before the previous capture returned.', - ))); - }); - - test('takePicture() returns $XFile', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - final XFile xFile = await cameraController.takePicture(); - - expect(xFile.path, mockTakePicture.path); - }); - - test('takePicture() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - mockPlatformException = true; - expect( - cameraController.takePicture(), - throwsA(isA().having( - (CameraException error) => error.description, - 'foo', - 'bar', - ))); - mockPlatformException = false; - }); - - test('startVideoRecording() throws $CameraException when uninitialized', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - cameraController.startVideoRecording(), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'startVideoRecording() was called on an uninitialized CameraController.', - ), - ), - ); - }); - test('startVideoRecording() throws $CameraException when recording videos', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - - cameraController.value = - cameraController.value.copyWith(isRecordingVideo: true); - - expect( - cameraController.startVideoRecording(), - throwsA(isA().having( - (CameraException error) => error.description, - 'A video recording is already started.', - 'startVideoRecording was called when a recording is already started.', - ))); - }); - - test('getMaxZoomLevel() throws $CameraException when uninitialized', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - cameraController.getMaxZoomLevel, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'getMaxZoomLevel() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('getMaxZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - await cameraController.dispose(); - - expect( - cameraController.getMaxZoomLevel, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Disposed CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'getMaxZoomLevel() was called on a disposed CameraController.', - ), - ), - ); - }); - - test( - 'getMaxZoomLevel() throws $CameraException when a platform exception occured.', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.getMaxZoomLevel(mockInitializeCamera)) - .thenThrow(CameraException( - 'TEST_ERROR', - 'This is a test error messge', - )); - - expect( - cameraController.getMaxZoomLevel, - throwsA(isA() - .having( - (CameraException error) => error.code, 'code', 'TEST_ERROR') - .having( - (CameraException error) => error.description, - 'description', - 'This is a test error messge', - ))); - }); - - test('getMaxZoomLevel() returns max zoom level.', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.getMaxZoomLevel(mockInitializeCamera)) - .thenAnswer((_) => Future.value(42.0)); - - final double maxZoomLevel = await cameraController.getMaxZoomLevel(); - expect(maxZoomLevel, 42.0); - }); - - test('getMinZoomLevel() throws $CameraException when uninitialized', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - cameraController.getMinZoomLevel, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'getMinZoomLevel() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('getMinZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - await cameraController.dispose(); - - expect( - cameraController.getMinZoomLevel, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Disposed CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'getMinZoomLevel() was called on a disposed CameraController.', - ), - ), - ); - }); - - test( - 'getMinZoomLevel() throws $CameraException when a platform exception occured.', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.getMinZoomLevel(mockInitializeCamera)) - .thenThrow(CameraException( - 'TEST_ERROR', - 'This is a test error messge', - )); - - expect( - cameraController.getMinZoomLevel, - throwsA(isA() - .having( - (CameraException error) => error.code, 'code', 'TEST_ERROR') - .having( - (CameraException error) => error.description, - 'description', - 'This is a test error messge', - ))); - }); - - test('getMinZoomLevel() returns max zoom level.', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.getMinZoomLevel(mockInitializeCamera)) - .thenAnswer((_) => Future.value(42.0)); - - final double maxZoomLevel = await cameraController.getMinZoomLevel(); - expect(maxZoomLevel, 42.0); - }); - - test('setZoomLevel() throws $CameraException when uninitialized', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - () => cameraController.setZoomLevel(42.0), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'setZoomLevel() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('setZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - await cameraController.dispose(); - - expect( - () => cameraController.setZoomLevel(42.0), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Disposed CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'setZoomLevel() was called on a disposed CameraController.', - ), - ), - ); - }); - - test( - 'setZoomLevel() throws $CameraException when a platform exception occured.', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.setZoomLevel(mockInitializeCamera, 42.0)) - .thenThrow(CameraException( - 'TEST_ERROR', - 'This is a test error messge', - )); - - expect( - () => cameraController.setZoomLevel(42), - throwsA(isA() - .having( - (CameraException error) => error.code, 'code', 'TEST_ERROR') - .having( - (CameraException error) => error.description, - 'description', - 'This is a test error messge', - ))); - - reset(CameraPlatform.instance); - }); - - test( - 'setZoomLevel() completes and calls method channel with correct value.', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - await cameraController.setZoomLevel(42.0); - - verify(CameraPlatform.instance.setZoomLevel(mockInitializeCamera, 42.0)) - .called(1); - }); - - test('setFlashMode() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.setFlashMode(FlashMode.always); - - verify(CameraPlatform.instance - .setFlashMode(cameraController.cameraId, FlashMode.always)) - .called(1); - }); - - test('setFlashMode() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .setFlashMode(cameraController.cameraId, FlashMode.always)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.setFlashMode(FlashMode.always), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('setExposureMode() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.setExposureMode(ExposureMode.auto); - - verify(CameraPlatform.instance - .setExposureMode(cameraController.cameraId, ExposureMode.auto)) - .called(1); - }); - - test('setExposureMode() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .setExposureMode(cameraController.cameraId, ExposureMode.auto)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.setExposureMode(ExposureMode.auto), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('setExposurePoint() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.setExposurePoint(const Offset(0.5, 0.5)); - - verify(CameraPlatform.instance.setExposurePoint( - cameraController.cameraId, const Point(0.5, 0.5))) - .called(1); - }); - - test('setExposurePoint() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance.setExposurePoint( - cameraController.cameraId, const Point(0.5, 0.5))) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.setExposurePoint(const Offset(0.5, 0.5)), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('getMinExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) => Future.value(0.0)); - - await cameraController.getMinExposureOffset(); - - verify(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .called(1); - }); - - test('getMinExposureOffset() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenThrow( - CameraException( - 'TEST_ERROR', - 'This is a test error message', - ), - ); - - expect( - cameraController.getMinExposureOffset(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('getMaxExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) => Future.value(1.0)); - - await cameraController.getMaxExposureOffset(); - - verify(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .called(1); - }); - - test('getMaxExposureOffset() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenThrow( - CameraException( - 'TEST_ERROR', - 'This is a test error message', - ), - ); - - expect( - cameraController.getMaxExposureOffset(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('getExposureOffsetStepSize() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) => Future.value(0.0)); - - await cameraController.getExposureOffsetStepSize(); - - verify(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .called(1); - }); - - test( - 'getExposureOffsetStepSize() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenThrow( - CameraException( - 'TEST_ERROR', - 'This is a test error message', - ), - ); - - expect( - cameraController.getExposureOffsetStepSize(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('setExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => -1.0); - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => 2.0); - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) async => 1.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 1.0)) - .thenAnswer((_) async => 1.0); - - await cameraController.setExposureOffset(1.0); - - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 1.0)) - .called(1); - }); - - test('setExposureOffset() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => -1.0); - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => 2.0); - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) async => 1.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 1.0)) - .thenThrow( - CameraException( - 'TEST_ERROR', - 'This is a test error message', - ), - ); - - expect( - cameraController.setExposureOffset(1.0), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test( - 'setExposureOffset() throws $CameraException when offset is out of bounds', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => -1.0); - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => 2.0); - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) async => 1.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.0)) - .thenAnswer((_) async => 0.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -1.0)) - .thenAnswer((_) async => 0.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 2.0)) - .thenAnswer((_) async => 0.0); - - expect( - cameraController.setExposureOffset(3.0), - throwsA(isA().having( - (CameraException error) => error.description, - 'exposureOffsetOutOfBounds', - 'The provided exposure offset was outside the supported range for this device.', - ))); - expect( - cameraController.setExposureOffset(-2.0), - throwsA(isA().having( - (CameraException error) => error.description, - 'exposureOffsetOutOfBounds', - 'The provided exposure offset was outside the supported range for this device.', - ))); - - await cameraController.setExposureOffset(0.0); - await cameraController.setExposureOffset(-1.0); - await cameraController.setExposureOffset(2.0); - - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.0)) - .called(1); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -1.0)) - .called(1); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 2.0)) - .called(1); - }); - - test('setExposureOffset() rounds offset to nearest step', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => -1.2); - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => 1.2); - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) async => 0.4); - - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -1.2)) - .thenAnswer((_) async => -1.2); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -0.8)) - .thenAnswer((_) async => -0.8); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -0.4)) - .thenAnswer((_) async => -0.4); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.0)) - .thenAnswer((_) async => 0.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.4)) - .thenAnswer((_) async => 0.4); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.8)) - .thenAnswer((_) async => 0.8); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 1.2)) - .thenAnswer((_) async => 1.2); - - await cameraController.setExposureOffset(1.2); - await cameraController.setExposureOffset(-1.2); - await cameraController.setExposureOffset(0.1); - await cameraController.setExposureOffset(0.2); - await cameraController.setExposureOffset(0.3); - await cameraController.setExposureOffset(0.4); - await cameraController.setExposureOffset(0.5); - await cameraController.setExposureOffset(0.6); - await cameraController.setExposureOffset(0.7); - await cameraController.setExposureOffset(-0.1); - await cameraController.setExposureOffset(-0.2); - await cameraController.setExposureOffset(-0.3); - await cameraController.setExposureOffset(-0.4); - await cameraController.setExposureOffset(-0.5); - await cameraController.setExposureOffset(-0.6); - await cameraController.setExposureOffset(-0.7); - - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.8)) - .called(2); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -0.8)) - .called(2); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.0)) - .called(2); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.4)) - .called(4); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -0.4)) - .called(4); - }); - - test('pausePreview() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = cameraController.value - .copyWith(deviceOrientation: DeviceOrientation.portraitUp); - - await cameraController.pausePreview(); - - verify(CameraPlatform.instance.pausePreview(cameraController.cameraId)) - .called(1); - expect(cameraController.value.isPreviewPaused, equals(true)); - expect(cameraController.value.previewPauseOrientation, - DeviceOrientation.portraitUp); - }); - - test('pausePreview() does not call $CameraPlatform when already paused', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = - cameraController.value.copyWith(isPreviewPaused: true); - - await cameraController.pausePreview(); - - verifyNever( - CameraPlatform.instance.pausePreview(cameraController.cameraId)); - expect(cameraController.value.isPreviewPaused, equals(true)); - }); - - test( - 'pausePreview() sets previewPauseOrientation according to locked orientation', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = cameraController.value.copyWith( - isPreviewPaused: false, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: - Optional.of(DeviceOrientation.landscapeRight)); - - await cameraController.pausePreview(); - - expect(cameraController.value.deviceOrientation, - equals(DeviceOrientation.portraitUp)); - expect(cameraController.value.previewPauseOrientation, - equals(DeviceOrientation.landscapeRight)); - }); - - test('pausePreview() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance.pausePreview(cameraController.cameraId)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.pausePreview(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('resumePreview() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = - cameraController.value.copyWith(isPreviewPaused: true); - - await cameraController.resumePreview(); - - verify(CameraPlatform.instance.resumePreview(cameraController.cameraId)) - .called(1); - expect(cameraController.value.isPreviewPaused, equals(false)); - }); - - test('resumePreview() does not call $CameraPlatform when not paused', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = - cameraController.value.copyWith(isPreviewPaused: false); - - await cameraController.resumePreview(); - - verifyNever( - CameraPlatform.instance.resumePreview(cameraController.cameraId)); - expect(cameraController.value.isPreviewPaused, equals(false)); - }); - - test('resumePreview() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = - cameraController.value.copyWith(isPreviewPaused: true); - when(CameraPlatform.instance.resumePreview(cameraController.cameraId)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.resumePreview(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('lockCaptureOrientation() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.lockCaptureOrientation(); - expect(cameraController.value.lockedCaptureOrientation, - equals(DeviceOrientation.portraitUp)); - await cameraController - .lockCaptureOrientation(DeviceOrientation.landscapeRight); - expect(cameraController.value.lockedCaptureOrientation, - equals(DeviceOrientation.landscapeRight)); - - verify(CameraPlatform.instance.lockCaptureOrientation( - cameraController.cameraId, DeviceOrientation.portraitUp)) - .called(1); - verify(CameraPlatform.instance.lockCaptureOrientation( - cameraController.cameraId, DeviceOrientation.landscapeRight)) - .called(1); - }); - - test( - 'lockCaptureOrientation() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance.lockCaptureOrientation( - cameraController.cameraId, DeviceOrientation.portraitUp)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.lockCaptureOrientation(DeviceOrientation.portraitUp), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('unlockCaptureOrientation() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.unlockCaptureOrientation(); - expect(cameraController.value.lockedCaptureOrientation, equals(null)); - - verify(CameraPlatform.instance - .unlockCaptureOrientation(cameraController.cameraId)) - .called(1); - }); - - test( - 'unlockCaptureOrientation() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .unlockCaptureOrientation(cameraController.cameraId)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.unlockCaptureOrientation(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - }); -} - -class MockCameraPlatform extends Mock - with MockPlatformInterfaceMixin - implements CameraPlatform { - @override - Future initializeCamera( - int? cameraId, { - ImageFormatGroup? imageFormatGroup = ImageFormatGroup.unknown, - }) async => - super.noSuchMethod(Invocation.method( - #initializeCamera, - [cameraId], - { - #imageFormatGroup: imageFormatGroup, - }, - )); - - @override - Future dispose(int? cameraId) async { - return super.noSuchMethod(Invocation.method(#dispose, [cameraId])); - } - - @override - Future> availableCameras() => - Future>.value(mockAvailableCameras); - - @override - Future createCameraWithSettings( - CameraDescription cameraDescription, MediaSettings? mediaSettings) => - mockPlatformException - ? throw PlatformException(code: 'foo', message: 'bar') - : Future.value(mockInitializeCamera); - - @override - Future createCamera( - CameraDescription description, - ResolutionPreset? resolutionPreset, { - bool enableAudio = false, - }) => - createCameraWithSettings(description, null); - - @override - Stream onCameraInitialized(int cameraId) => - Stream.value(mockOnCameraInitializedEvent); - - @override - Stream onCameraClosing(int cameraId) => - Stream.value(mockOnCameraClosingEvent); - - @override - Stream onCameraError(int cameraId) => - Stream.value(mockOnCameraErrorEvent); - - @override - Stream onDeviceOrientationChanged() => - Stream.value( - mockOnDeviceOrientationChangedEvent); - - @override - Future takePicture(int cameraId) => mockPlatformException - ? throw PlatformException(code: 'foo', message: 'bar') - : Future.value(mockTakePicture); - - @override - Future prepareForVideoRecording() async => - super.noSuchMethod(Invocation.method(#prepareForVideoRecording, null)); - - @override - Future startVideoRecording(int cameraId, {Duration? maxVideoDuration}) { - // Ignore maxVideoDuration, as it is unimplemented and deprecated. - return startVideoCapturing(VideoCaptureOptions(cameraId)); - } - - @override - Future startVideoCapturing(VideoCaptureOptions options) async {} - - @override - Future stopVideoRecording(int cameraId) { - return Future.value(mockVideoRecordingXFile); - } - - @override - Future lockCaptureOrientation( - int? cameraId, DeviceOrientation? orientation) async => - super.noSuchMethod(Invocation.method( - #lockCaptureOrientation, [cameraId, orientation])); - - @override - Future unlockCaptureOrientation(int? cameraId) async => - super.noSuchMethod( - Invocation.method(#unlockCaptureOrientation, [cameraId])); - - @override - Future pausePreview(int? cameraId) async => - super.noSuchMethod(Invocation.method(#pausePreview, [cameraId])); - - @override - Future resumePreview(int? cameraId) async => super - .noSuchMethod(Invocation.method(#resumePreview, [cameraId])); - - @override - Future getMaxZoomLevel(int? cameraId) async => super.noSuchMethod( - Invocation.method(#getMaxZoomLevel, [cameraId]), - returnValue: Future.value(1.0), - ) as Future; - - @override - Future getMinZoomLevel(int? cameraId) async => super.noSuchMethod( - Invocation.method(#getMinZoomLevel, [cameraId]), - returnValue: Future.value(0.0), - ) as Future; - - @override - Future setZoomLevel(int? cameraId, double? zoom) async => - super.noSuchMethod( - Invocation.method(#setZoomLevel, [cameraId, zoom])); - - @override - Future setFlashMode(int? cameraId, FlashMode? mode) async => - super.noSuchMethod( - Invocation.method(#setFlashMode, [cameraId, mode])); - - @override - Future setExposureMode(int? cameraId, ExposureMode? mode) async => - super.noSuchMethod( - Invocation.method(#setExposureMode, [cameraId, mode])); - - @override - Future setExposurePoint(int? cameraId, Point? point) async => - super.noSuchMethod( - Invocation.method(#setExposurePoint, [cameraId, point])); - - @override - Future getMinExposureOffset(int? cameraId) async => - super.noSuchMethod( - Invocation.method(#getMinExposureOffset, [cameraId]), - returnValue: Future.value(0.0), - ) as Future; - - @override - Future getMaxExposureOffset(int? cameraId) async => - super.noSuchMethod( - Invocation.method(#getMaxExposureOffset, [cameraId]), - returnValue: Future.value(1.0), - ) as Future; - - @override - Future getExposureOffsetStepSize(int? cameraId) async => - super.noSuchMethod( - Invocation.method(#getExposureOffsetStepSize, [cameraId]), - returnValue: Future.value(1.0), - ) as Future; - - @override - Future setExposureOffset(int? cameraId, double? offset) async => - super.noSuchMethod( - Invocation.method(#setExposureOffset, [cameraId, offset]), - returnValue: Future.value(1.0), - ) as Future; -} - -class MockCameraDescription extends CameraDescription { - /// Creates a new camera description with the given properties. - const MockCameraDescription() - : super( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ); - - @override - CameraLensDirection get lensDirection => CameraLensDirection.back; - - @override - String get name => 'back'; -} diff --git a/example/camera/test/camera_value_test.dart b/example/camera/test/camera_value_test.dart deleted file mode 100644 index dbb1ddc..0000000 --- a/example/camera/test/camera_value_test.dart +++ /dev/null @@ -1,153 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:camera/camera.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'camera_preview_test.dart'; - -void main() { - group('camera_value', () { - test('Can be created', () { - const CameraValue cameraValue = CameraValue( - isInitialized: false, - previewSize: Size(10, 10), - isRecordingPaused: false, - isRecordingVideo: false, - isTakingPicture: false, - isStreamingImages: false, - flashMode: FlashMode.auto, - exposureMode: ExposureMode.auto, - exposurePointSupported: true, - focusMode: FocusMode.auto, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: DeviceOrientation.portraitUp, - recordingOrientation: DeviceOrientation.portraitUp, - focusPointSupported: true, - previewPauseOrientation: DeviceOrientation.portraitUp, - description: FakeController.fakeDescription, - ); - - expect(cameraValue, isA()); - expect(cameraValue.isInitialized, isFalse); - expect(cameraValue.errorDescription, null); - expect(cameraValue.previewSize, const Size(10, 10)); - expect(cameraValue.isRecordingPaused, isFalse); - expect(cameraValue.isRecordingVideo, isFalse); - expect(cameraValue.isTakingPicture, isFalse); - expect(cameraValue.isStreamingImages, isFalse); - expect(cameraValue.flashMode, FlashMode.auto); - expect(cameraValue.exposureMode, ExposureMode.auto); - expect(cameraValue.exposurePointSupported, true); - expect(cameraValue.deviceOrientation, DeviceOrientation.portraitUp); - expect( - cameraValue.lockedCaptureOrientation, DeviceOrientation.portraitUp); - expect(cameraValue.recordingOrientation, DeviceOrientation.portraitUp); - expect(cameraValue.isPreviewPaused, false); - expect(cameraValue.previewPauseOrientation, DeviceOrientation.portraitUp); - }); - - test('Can be created as uninitialized', () { - const CameraValue cameraValue = - CameraValue.uninitialized(FakeController.fakeDescription); - - expect(cameraValue, isA()); - expect(cameraValue.isInitialized, isFalse); - expect(cameraValue.errorDescription, null); - expect(cameraValue.previewSize, null); - expect(cameraValue.isRecordingPaused, isFalse); - expect(cameraValue.isRecordingVideo, isFalse); - expect(cameraValue.isTakingPicture, isFalse); - expect(cameraValue.isStreamingImages, isFalse); - expect(cameraValue.flashMode, FlashMode.auto); - expect(cameraValue.exposureMode, ExposureMode.auto); - expect(cameraValue.exposurePointSupported, false); - expect(cameraValue.focusMode, FocusMode.auto); - expect(cameraValue.deviceOrientation, DeviceOrientation.portraitUp); - expect(cameraValue.lockedCaptureOrientation, null); - expect(cameraValue.recordingOrientation, null); - expect(cameraValue.isPreviewPaused, isFalse); - expect(cameraValue.previewPauseOrientation, null); - }); - - test('Can be copied with isInitialized', () { - const CameraValue cv = - CameraValue.uninitialized(FakeController.fakeDescription); - final CameraValue cameraValue = cv.copyWith(isInitialized: true); - - expect(cameraValue, isA()); - expect(cameraValue.isInitialized, isTrue); - expect(cameraValue.errorDescription, null); - expect(cameraValue.previewSize, null); - expect(cameraValue.isRecordingPaused, isFalse); - expect(cameraValue.isRecordingVideo, isFalse); - expect(cameraValue.isTakingPicture, isFalse); - expect(cameraValue.isStreamingImages, isFalse); - expect(cameraValue.flashMode, FlashMode.auto); - expect(cameraValue.focusMode, FocusMode.auto); - expect(cameraValue.exposureMode, ExposureMode.auto); - expect(cameraValue.exposurePointSupported, false); - expect(cameraValue.deviceOrientation, DeviceOrientation.portraitUp); - expect(cameraValue.lockedCaptureOrientation, null); - expect(cameraValue.recordingOrientation, null); - expect(cameraValue.isPreviewPaused, isFalse); - expect(cameraValue.previewPauseOrientation, null); - }); - - test('Has aspectRatio after setting size', () { - const CameraValue cv = - CameraValue.uninitialized(FakeController.fakeDescription); - final CameraValue cameraValue = - cv.copyWith(isInitialized: true, previewSize: const Size(20, 10)); - - expect(cameraValue.aspectRatio, 2.0); - }); - - test('hasError is true after setting errorDescription', () { - const CameraValue cv = - CameraValue.uninitialized(FakeController.fakeDescription); - final CameraValue cameraValue = cv.copyWith(errorDescription: 'error'); - - expect(cameraValue.hasError, isTrue); - expect(cameraValue.errorDescription, 'error'); - }); - - test('Recording paused is false when not recording', () { - const CameraValue cv = - CameraValue.uninitialized(FakeController.fakeDescription); - final CameraValue cameraValue = cv.copyWith( - isInitialized: true, - isRecordingVideo: false, - isRecordingPaused: true); - - expect(cameraValue.isRecordingPaused, isFalse); - }); - - test('toString() works as expected', () { - const CameraValue cameraValue = CameraValue( - isInitialized: false, - previewSize: Size(10, 10), - isRecordingPaused: false, - isRecordingVideo: false, - isTakingPicture: false, - isStreamingImages: false, - flashMode: FlashMode.auto, - exposureMode: ExposureMode.auto, - focusMode: FocusMode.auto, - exposurePointSupported: true, - focusPointSupported: true, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: DeviceOrientation.portraitUp, - recordingOrientation: DeviceOrientation.portraitUp, - isPreviewPaused: true, - previewPauseOrientation: DeviceOrientation.portraitUp, - description: FakeController.fakeDescription, - ); - - expect(cameraValue.toString(), - 'CameraValue(isRecordingVideo: false, isInitialized: false, errorDescription: null, previewSize: Size(10.0, 10.0), isStreamingImages: false, flashMode: FlashMode.auto, exposureMode: ExposureMode.auto, focusMode: FocusMode.auto, exposurePointSupported: true, focusPointSupported: true, deviceOrientation: DeviceOrientation.portraitUp, lockedCaptureOrientation: DeviceOrientation.portraitUp, recordingOrientation: DeviceOrientation.portraitUp, isPreviewPaused: true, previewPausedOrientation: DeviceOrientation.portraitUp, description: CameraDescription(, CameraLensDirection.back, 0))'); - }); - }); -} diff --git a/example/images/image-barcode.png b/example/images/image-barcode.png deleted file mode 100644 index 8105f4a..0000000 Binary files a/example/images/image-barcode.png and /dev/null differ diff --git a/example/ios/.gitignore b/example/ios/.gitignore deleted file mode 100644 index 7a7f987..0000000 --- a/example/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 9625e10..0000000 --- a/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 11.0 - - diff --git a/example/ios/Flutter/Debug.xcconfig b/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index 592ceee..0000000 --- a/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "Generated.xcconfig" diff --git a/example/ios/Flutter/Release.xcconfig b/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index 592ceee..0000000 --- a/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "Generated.xcconfig" diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 031b9c0..0000000 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,613 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 97C146ED1CF9000F007C117D; - remoteInfo = Runner; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 331C8082294A63A400263BE5 /* RunnerTests */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - 331C8081294A63A400263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C8080294A63A400263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 331C807D294A63A400263BE5 /* Sources */, - 331C807E294A63A400263BE5 /* Frameworks */, - 331C807F294A63A400263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C8086294A63A400263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C8080294A63A400263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 97C146ED1CF9000F007C117D; - }; - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - 331C8080294A63A400263BE5 /* RunnerTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C807F294A63A400263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C807D294A63A400263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 331C8088294A63A400263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AE0B7B92F70575B8D7E0D07E /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Debug; - }; - 331C8089294A63A400263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 89B67EB44CE7B6631473024E /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Release; - }; - 331C808A294A63A400263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 640959BDD8F10B91D80A66BE /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C8088294A63A400263BE5 /* Debug */, - 331C8089294A63A400263BE5 /* Release */, - 331C808A294A63A400263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index e42adcb..0000000 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a1..0000000 --- a/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift deleted file mode 100644 index 70693e4..0000000 --- a/example/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import UIKit -import Flutter - -@UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fa..0000000 --- a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 7353c41..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 797d452..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 6ed2d93..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cd7b00..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index fe73094..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index 321773c..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 797d452..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index 502f463..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index 0ec3034..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 0ec3034..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index e9f5fea..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index 84ac32a..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 8953cba..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index 0467bf1..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2..0000000 --- a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c..0000000 --- a/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/ios/Runner/Base.lproj/Main.storyboard b/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c2851..0000000 --- a/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist deleted file mode 100644 index daa4f8e..0000000 --- a/example/ios/Runner/Info.plist +++ /dev/null @@ -1,57 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Documentscanner - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - documentscanner - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - NSPhotoLibraryUsageDescription - Pick an image from gallery - NSMicrophoneUsageDescription - microphone - NSCameraUsageDescription - Pick an image from camera - - diff --git a/example/ios/Runner/Runner-Bridging-Header.h b/example/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a5..0000000 --- a/example/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/example/ios/RunnerTests/RunnerTests.swift b/example/ios/RunnerTests/RunnerTests.swift deleted file mode 100644 index 86a7c3b..0000000 --- a/example/ios/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Flutter -import UIKit -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/example/lib/about_page.dart b/example/lib/about_page.dart deleted file mode 100644 index 83f16ef..0000000 --- a/example/lib/about_page.dart +++ /dev/null @@ -1,156 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:url_launcher/url_launcher_string.dart'; - -import 'global.dart'; - -class AboutPage extends StatelessWidget { - const AboutPage({super.key}); - - @override - Widget build(BuildContext context) { - final title = Container( - padding: const EdgeInsets.only(top: 50, left: 39, bottom: 5, right: 39), - child: Row( - children: [ - Image.asset( - "images/logo-ddn.png", - width: MediaQuery.of(context).size.width - 80, - ), - ], - ), - ); - - final description = Container( - padding: const EdgeInsets.only(left: 44, right: 39, top: 18), - child: const Center( - child: Text( - 'Dynamsoft Document Normalizer (DDN) is an SDK designed to detect quadrilaterals (quads for short) such as document/table boundaries and more from images, then perform document normalization on the images in the detected quads.', - style: TextStyle(color: Colors.white, wordSpacing: 2), - textAlign: TextAlign.center, - ), - )); - - final button = Container( - padding: const EdgeInsets.only(top: 48, left: 91, right: 91, bottom: 69), - child: MaterialButton( - minWidth: 208, - height: 44, - color: colorOrange, - onPressed: () { - launchUrlString( - 'https://www.dynamsoft.com/document-normalizer/downloads/1000023-confirmation/'); - }, - child: const Text( - 'GET FREE TRIAL SDK', - style: TextStyle(color: Colors.white), - ), - ), - ); - - final links = Padding( - padding: const EdgeInsets.only( - left: 15, - right: 15, - ), - child: Container( - width: MediaQuery.of(context).size.width - 30, - padding: const EdgeInsets.only(left: 20), - decoration: const BoxDecoration(color: Colors.black), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 13, bottom: 15), - child: InkWell( - onTap: () { - launchUrlString( - 'https://www.dynamsoft.com/document-normalizer/docs/core/introduction/?ver=latest&ver=latest'); - }, - child: Text( - 'Dynamsoft Document Normalizer overview >', - style: TextStyle(color: colorOrange, fontSize: 16), - )), - ), - Container( - height: 1, - color: colorMainTheme, - ), - Padding( - padding: const EdgeInsets.only( - top: 13, - bottom: 15, - ), - child: InkWell( - onTap: () { - launchUrlString('https://www.dynamsoft.com/company/about/'); - }, - child: Text( - 'Contact us >', - style: TextStyle(color: colorOrange, fontSize: 16), - )), - ), - ], - ), - ), - ); - - final version = Padding( - padding: const EdgeInsets.only(left: 15, right: 15, top: 10), - child: Container( - width: MediaQuery.of(context).size.width - 30, - height: 49, - padding: const EdgeInsets.only(left: 20, right: 24), - decoration: const BoxDecoration(color: Colors.black), - child: Row( - children: [ - const Text( - 'SDK Version', - style: TextStyle(color: Colors.white, fontSize: 14), - ), - Expanded(child: Container()), - Text( - '1.0.2', - style: TextStyle(color: colorText, fontSize: 15), - ) - ], - ), - )); - final sourceCode = Padding( - padding: const EdgeInsets.only(left: 15, right: 15, top: 1), - child: Container( - width: MediaQuery.of(context).size.width - 30, - height: 49, - padding: const EdgeInsets.only(left: 20, right: 24), - decoration: const BoxDecoration(color: Colors.black), - child: Row( - children: [ - InkWell( - onTap: () { - launchUrlString( - 'https://github.com/yushulx/flutter-document-scanner'); - }, - child: const Text( - 'App Source Code >', - style: TextStyle(color: Colors.white, fontSize: 14), - )), - Expanded(child: Container()), - ], - ), - )); - - return Scaffold( - appBar: AppBar( - title: Text('About', - style: TextStyle( - fontSize: 22, - color: colorTitle, - )), - centerTitle: true, - backgroundColor: colorMainTheme, - ), - body: SingleChildScrollView( - child: Column( - children: [title, description, button, links, version, sourceCode], - ))); - } -} diff --git a/example/lib/camera/camera_manager.dart b/example/lib/camera/camera_manager.dart deleted file mode 100644 index 79c3fe2..0000000 --- a/example/lib/camera/camera_manager.dart +++ /dev/null @@ -1,417 +0,0 @@ -import 'dart:async'; -import 'dart:ui'; - -import 'package:camera_windows/camera_windows.dart'; -import 'package:flutter/material.dart'; -import 'package:camera/camera.dart'; - -import 'dart:io'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_document_scan_sdk/document_result.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk_platform_interface.dart'; - -import '../data/document_data.dart'; -import '../global.dart'; -import 'dart:ui' as ui; -import 'package:camera_platform_interface/camera_platform_interface.dart'; - -import '../utils.dart'; - -class CameraManager { - BuildContext context; - CameraController? controller; - List _cameras = []; - Size? previewSize; - bool _isScanAvailable = true; - List? documentResults; - bool isDriverLicense = true; - bool isFinished = false; - StreamSubscription? _frameAvailableStreamSubscription; - int cameraIndex = 0; - bool isReadyToGo = false; - bool _isWebFrameStarted = false; - bool isFrontFound = false; - bool isBackFound = false; - - CameraManager( - {required this.context, - required this.cbRefreshUi, - required this.cbIsMounted, - required this.cbNavigation}); - - Function cbRefreshUi; - Function cbIsMounted; - Function cbNavigation; - - void initState() { - initCamera(); - } - - Future switchCamera() async { - if (_cameras.length == 1) return; - isFinished = true; - - if (kIsWeb) { - await waitForStop(); - controller?.dispose(); - controller = null; - } - - cameraIndex = cameraIndex == 0 ? 1 : 0; - toggleCamera(cameraIndex); - } - - void resumeCamera() { - toggleCamera(cameraIndex); - } - - void pauseCamera() { - stopVideo(); - } - - Future waitForStop() async { - while (true) { - if (_isWebFrameStarted == false) { - break; - } - - await Future.delayed(const Duration(milliseconds: 10)); - } - } - - Future stopVideo() async { - isFinished = true; - if (kIsWeb) { - await waitForStop(); - } - if (controller == null) return; - if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { - await controller!.stopImageStream(); - } - - controller!.dispose(); - controller = null; - - _frameAvailableStreamSubscription?.cancel(); - _frameAvailableStreamSubscription = null; - } - - Future webCamera() async { - _isWebFrameStarted = true; - while (!(controller == null || isFinished || cbIsMounted() == false)) { - XFile? file = await controller?.takePicture(); - if (file != null) { - var results = await docScanner.detectFile(file.path); - if (!cbIsMounted()) break; - - documentResults = results; - } - cbRefreshUi(); - - if (isReadyToGo && documentResults != null) { - if (!isFinished) { - isFinished = true; - - final data = await file!.readAsBytes(); - ui.Image sourceImage = await decodeImageFromList(data); - cbNavigation(DocumentData( - image: sourceImage, - documentResults: documentResults!, - )); - } - } - } - _isWebFrameStarted = false; - } - - void handleDocument(Uint8List bytes, int width, int height, int stride, - int format, dynamic points) { - docScanner - .normalizeBuffer(bytes, width, height, stride, format, points) - .then((normalizedImage) { - if (normalizedImage != null) { - PixelFormat pixelFormat = PixelFormat.rgba8888; - if (!kIsWeb && Platform.isIOS) { - pixelFormat = PixelFormat.bgra8888; - } - decodeImageFromPixels(normalizedImage.data, normalizedImage.width, - normalizedImage.height, pixelFormat, (ui.Image img) { - cbNavigation(DocumentData( - image: img, - documentResults: documentResults!, - )); - }); - } - }); - } - - void processDocument(List bytes, int width, int height, - List strides, int format, List pixelStrides) { - docScanner - .detectBuffer(bytes[0], width, height, strides[0], format) - .then((results) { - if (!cbIsMounted()) return; - - documentResults = results; - cbRefreshUi(); - _isScanAvailable = true; - - if (isReadyToGo && results != null && results.isNotEmpty) { - if (!isFinished) { - isFinished = true; - - Uint8List data = bytes[0]; - int imageWidth = width; - int imageHeight = height; - - PixelFormat pixelFormat = PixelFormat.rgba8888; - if (!kIsWeb && Platform.isIOS) { - pixelFormat = PixelFormat.bgra8888; - } - createImage(data, imageWidth, imageHeight, pixelFormat, strides[0]) - .then((image) { - cbNavigation(DocumentData( - image: image, - documentResults: documentResults!, - )); - }); - } - } - }); - } - - Future mobileCamera() async { - await controller!.startImageStream((CameraImage availableImage) async { - assert(defaultTargetPlatform == TargetPlatform.android || - defaultTargetPlatform == TargetPlatform.iOS); - if (cbIsMounted() == false || isFinished) return; - int format = ImagePixelFormat.IPF_NV21.index; - - switch (availableImage.format.group) { - case ImageFormatGroup.yuv420: - format = ImagePixelFormat.IPF_NV21.index; - break; - case ImageFormatGroup.bgra8888: - format = ImagePixelFormat.IPF_ARGB_8888.index; - break; - default: - format = ImagePixelFormat.IPF_RGB_888.index; - } - - if (!_isScanAvailable) { - return; - } - - _isScanAvailable = false; - - if (Platform.isAndroid) { - int imageWidth = availableImage.width; - int imageHeight = availableImage.height; - List planes = []; - Uint8List data; - if (format == ImagePixelFormat.IPF_NV21.index) { - for (int planeIndex = 0; planeIndex < 3; planeIndex++) { - Uint8List buffer; - int width; - int height; - if (planeIndex == 0) { - width = availableImage.width; - height = availableImage.height; - } else { - width = availableImage.width ~/ 2; - height = availableImage.height ~/ 2; - } - - buffer = Uint8List(width * height); - - int pixelStride = availableImage.planes[planeIndex].bytesPerPixel!; - int rowStride = availableImage.planes[planeIndex].bytesPerRow; - int index = 0; - for (int i = 0; i < height; i++) { - for (int j = 0; j < width; j++) { - buffer[index++] = availableImage - .planes[planeIndex].bytes[i * rowStride + j * pixelStride]; - } - } - - planes.add(buffer); - } - - data = yuv420ToRgba8888(planes, imageWidth, imageHeight); - format = ImagePixelFormat.IPF_ARGB_8888.index; - if (MediaQuery.of(context).size.width < - MediaQuery.of(context).size.height) { - if (Platform.isAndroid) { - data = rotate90Degrees(data, imageWidth, imageHeight); - imageWidth = availableImage.height; - imageHeight = availableImage.width; - } - } - } else { - data = availableImage.planes[0].bytes; - } - - processDocument( - [data], imageWidth, imageHeight, [imageWidth * 4], format, []); - } else if (Platform.isIOS) { - processDocument( - [availableImage.planes[0].bytes], - availableImage.width, - availableImage.height, - [availableImage.planes[0].bytesPerRow], - format, - []); - } - }); - } - - Future startVideo() async { - documentResults = null; - - isFinished = false; - - cbRefreshUi(); - - if (kIsWeb) { - webCamera(); - } else if (Platform.isAndroid || Platform.isIOS) { - mobileCamera(); - } else if (Platform.isWindows) { - _frameAvailableStreamSubscription?.cancel(); - _frameAvailableStreamSubscription = - (CameraPlatform.instance as CameraWindows) - .onFrameAvailable(controller!.cameraId) - .listen(_onFrameAvailable); - } - } - - void _onFrameAvailable(FrameAvailabledEvent event) { - if (cbIsMounted() == false || isFinished) return; - - Map map = event.toJson(); - final Uint8List? data = map['bytes'] as Uint8List?; - if (data != null) { - if (!_isScanAvailable) { - return; - } - - _isScanAvailable = false; - int width = previewSize!.width.toInt(); - int height = previewSize!.height.toInt(); - - processDocument([data], width, height, [width * 4], - ImagePixelFormat.IPF_ARGB_8888.index, []); - } - } - - Future initCamera() async { - try { - WidgetsFlutterBinding.ensureInitialized(); - - List allCameras = await availableCameras(); - - if (kIsWeb) { - for (final CameraDescription cameraDescription in allCameras) { - print(cameraDescription.name); - if (cameraDescription.name.toLowerCase().contains('front')) { - if (isFrontFound) continue; - isFrontFound = true; - _cameras.add(cameraDescription); - } else if (cameraDescription.name.toLowerCase().contains('back')) { - if (isBackFound) continue; - isBackFound = true; - _cameras.add(cameraDescription); - } else { - _cameras.add(cameraDescription); - } - } - } else { - _cameras = allCameras; - } - - if (_cameras.isEmpty) return; - - if (!kIsWeb) { - toggleCamera(cameraIndex); - } else { - if (_cameras.length > 1) { - cameraIndex = 1; - toggleCamera(cameraIndex); - } else { - toggleCamera(cameraIndex); - } - } - } on CameraException catch (e) { - print(e); - } - } - - Widget getPreview() { - if (controller == null || !controller!.value.isInitialized || isFinished) { - return Text('No camera available!'); - } - - // if (kIsWeb) { - // return Transform( - // alignment: Alignment.center, - // transform: Matrix4.identity()..scale(-1.0, 1.0), // Flip horizontally - // child: CameraPreview(controller!), - // ); - // } - - return CameraPreview(controller!); - } - - void showInSnackBar(String message) { - ScaffoldMessenger.of(context) - .showSnackBar(SnackBar(content: Text(message))); - } - - void _logError(String code, String? message) { - // ignore: avoid_print - print('Error: $code${message == null ? '' : '\nError Message: $message'}'); - } - - void _showCameraException(CameraException e) { - _logError(e.code, e.description); - showInSnackBar('Error: ${e.code}\n${e.description}'); - } - - Future toggleCamera(int index) async { - ResolutionPreset preset = ResolutionPreset.high; - controller = CameraController( - _cameras[index], kIsWeb ? ResolutionPreset.max : preset, - enableAudio: false); - - try { - await controller!.initialize(); - if (cbIsMounted()) { - previewSize = controller!.value.previewSize; - - startVideo(); - } - } on CameraException catch (e) { - switch (e.code) { - case 'CameraAccessDenied': - showInSnackBar('You have denied camera access.'); - case 'CameraAccessDeniedWithoutPrompt': - // iOS only - showInSnackBar('Please go to Settings app to enable camera access.'); - case 'CameraAccessRestricted': - // iOS only - showInSnackBar('Camera access is restricted.'); - case 'AudioAccessDenied': - showInSnackBar('You have denied audio access.'); - case 'AudioAccessDeniedWithoutPrompt': - // iOS only - showInSnackBar('Please go to Settings app to enable audio access.'); - case 'AudioAccessRestricted': - // iOS only - showInSnackBar('Audio access is restricted.'); - default: - _showCameraException(e); - break; - } - } - } -} diff --git a/example/lib/camera_page.dart b/example/lib/camera_page.dart deleted file mode 100644 index f5e80f4..0000000 --- a/example/lib/camera_page.dart +++ /dev/null @@ -1,174 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - -import 'camera/camera_manager.dart'; -import 'global.dart'; - -import 'editing_page.dart'; - -class CameraPage extends StatefulWidget { - const CameraPage({super.key}); - - @override - State createState() => _CameraPageState(); -} - -class _CameraPageState extends State with WidgetsBindingObserver { - late CameraManager _cameraManager; - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addObserver(this); - - _cameraManager = CameraManager( - context: context, - cbRefreshUi: refreshUI, - cbIsMounted: isMounted, - cbNavigation: navigation); - _cameraManager.initState(); - } - - void navigation(dynamic order) { - Navigator.pushReplacement( - context, - MaterialPageRoute( - builder: (context) => EditingPage(documentData: order), - )); - } - - void refreshUI() { - setState(() {}); - } - - bool isMounted() { - return mounted; - } - - @override - void dispose() { - WidgetsBinding.instance.removeObserver(this); - _cameraManager.stopVideo(); - super.dispose(); - } - - @override - void didChangeAppLifecycleState(AppLifecycleState state) { - if (_cameraManager.controller == null || - !_cameraManager.controller!.value.isInitialized) { - return; - } - - if (state == AppLifecycleState.inactive) { - _cameraManager.controller!.dispose(); - } else if (state == AppLifecycleState.resumed) { - _cameraManager.toggleCamera(0); - } - } - - List createCameraPreview() { - if (_cameraManager.controller != null && - _cameraManager.previewSize != null) { - double width = _cameraManager.previewSize!.width; - double height = _cameraManager.previewSize!.height; - if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { - if (MediaQuery.of(context).size.width < - MediaQuery.of(context).size.height) { - width = _cameraManager.previewSize!.height; - height = _cameraManager.previewSize!.width; - } - } - - return [ - SizedBox( - width: width, height: height, child: _cameraManager.getPreview()), - Positioned( - top: 0.0, - right: 0.0, - bottom: 0, - left: 0.0, - child: createOverlay( - _cameraManager.documentResults, - ), - ), - ]; - } else { - return [const CircularProgressIndicator()]; - } - } - - @override - Widget build(BuildContext context) { - var captureButton = InkWell( - onTap: () { - _cameraManager.isReadyToGo = true; - }, - child: Image.asset('images/icon-capture.png', width: 80, height: 80), - ); - - return WillPopScope( - onWillPop: () async { - return true; - }, - child: Scaffold( - appBar: AppBar( - backgroundColor: Colors.black, - title: const Text( - 'Document Scanner', - style: TextStyle(color: Colors.white), - ), - iconTheme: const IconThemeData( - color: Colors - .white, // Set the color of the back arrow and other icons - ), - ), - body: Stack( - children: [ - if (_cameraManager.controller != null && - _cameraManager.previewSize != null) - Positioned( - top: 0, - right: 0, - left: 0, - bottom: 0, - child: FittedBox( - fit: BoxFit.cover, - child: Stack( - children: createCameraPreview(), - ), - ), - ), - const Positioned( - left: 122, - right: 122, - bottom: 28, - child: Text('Powered by Dynamsoft', - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 12, - color: Colors.white, - )), - ), - Positioned( - bottom: 80, - left: 155, - right: 155, - child: captureButton, - ), - ], - ), - floatingActionButton: Opacity( - opacity: 0.5, - child: FloatingActionButton( - backgroundColor: Colors.black, - child: const Icon(Icons.flip_camera_android), - onPressed: () { - _cameraManager.switchCamera(); - }, - ), - ), - )); - } -} diff --git a/example/lib/data/document_data.dart b/example/lib/data/document_data.dart deleted file mode 100644 index cf5e9b7..0000000 --- a/example/lib/data/document_data.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'dart:ui' as ui; -import 'package:flutter_document_scan_sdk/document_result.dart'; - -class DocumentData { - ui.Image? image; - List? documentResults; - - DocumentData({ - this.image, - this.documentResults, - }); -} diff --git a/example/lib/editing_page.dart b/example/lib/editing_page.dart deleted file mode 100644 index 79e51bd..0000000 --- a/example/lib/editing_page.dart +++ /dev/null @@ -1,136 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'data/document_data.dart'; -import 'global.dart'; -import 'saving_page.dart'; - -class EditingPage extends StatefulWidget { - const EditingPage({super.key, required this.documentData}); - - final DocumentData documentData; - - @override - State createState() => _EditingPageState(); -} - -class _EditingPageState extends State { - void close() { - Navigator.pop(context); - } - - Widget createCustomImage() { - var image = widget.documentData.image; - var detectionResults = widget.documentData.documentResults; - return FittedBox( - fit: BoxFit.contain, - child: SizedBox( - width: image!.width.toDouble(), - height: image.height.toDouble(), - child: GestureDetector( - onPanUpdate: (details) { - if (details.localPosition.dx < 0 || - details.localPosition.dy < 0 || - details.localPosition.dx > image.width || - details.localPosition.dy > image.height) { - return; - } - - for (int i = 0; i < detectionResults.length; i++) { - for (int j = 0; j < detectionResults[i].points.length; j++) { - if ((detectionResults[i].points[j] - details.localPosition) - .distance < - 100) { - bool isCollided = false; - for (int index = 1; index < 4; index++) { - int otherIndex = (j + 1) % 4; - if ((detectionResults[i].points[otherIndex] - - details.localPosition) - .distance < - 20) { - isCollided = true; - return; - } - } - - setState(() { - if (!isCollided) { - detectionResults[i].points[j] = details.localPosition; - } - }); - } - } - } - }, - child: CustomPaint( - painter: OverlayPainter(image, detectionResults!), - ), - ))); - } - - @override - Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async { - return true; - }, - child: Scaffold( - appBar: AppBar( - backgroundColor: colorMainTheme, - title: const Text( - 'Edit Document', - style: TextStyle(color: Colors.white), - ), - iconTheme: const IconThemeData( - color: Colors - .white, // Set the color of the back arrow and other icons - ), - actions: [ - Padding( - padding: const EdgeInsets.only(right: 20), - child: ElevatedButton( - onPressed: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => SavingPage( - documentData: widget.documentData, - ), - ), - ); - }, - style: ButtonStyle( - backgroundColor: WidgetStateProperty.all(colorMainTheme)), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon(Icons.check, color: colorOrange), - const SizedBox(width: 4), - Text('Next', - style: TextStyle(color: colorOrange, fontSize: 22)), - ], - ), - ), - ) - ], - ), - body: Stack( - children: [ - Positioned.fill( - child: createCustomImage(), - ), - const Positioned( - left: 122, - right: 122, - bottom: 28, - child: Text('Powered by Dynamsoft', - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 12, - color: Colors.white, - )), - ), - ], - ), - )); - } -} diff --git a/example/lib/global.dart b/example/lib/global.dart deleted file mode 100644 index 13064cb..0000000 --- a/example/lib/global.dart +++ /dev/null @@ -1,107 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_document_scan_sdk/document_result.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk.dart'; -import 'package:flutter_document_scan_sdk/template.dart'; -import 'dart:ui' as ui; - -FlutterDocumentScanSdk docScanner = FlutterDocumentScanSdk(); -bool isLicenseValid = false; - -Future initDocumentSDK() async { - int? ret = await docScanner.init( - 'DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ=='); - if (ret == 0) isLicenseValid = true; - await docScanner.setParameters(Template.color); - return ret ?? -1; -} - -Color colorMainTheme = const Color(0xff1D1B20); -Color colorOrange = const Color(0xffFE8E14); -Color colorTitle = const Color(0xffF5F5F5); -Color colorSelect = const Color(0xff757575); -Color colorText = const Color(0xff888888); -Color colorBackground = const Color(0xFF323234); -Color colorSubtitle = const Color(0xffCCCCCC); -Color colorGreen = const Color(0xff6AC4BB); - -Widget createOverlay( - List? documentResults, -) { - return CustomPaint( - painter: OverlayPainter(null, documentResults), - ); -} - -class OverlayPainter extends CustomPainter { - ui.Image? image; - List? results; - - OverlayPainter(this.image, this.results); - - @override - void paint(Canvas canvas, Size size) { - final paint = Paint() - ..color = colorOrange - ..strokeWidth = 15 - ..style = PaintingStyle.stroke; - - if (image != null) { - canvas.drawImage(image!, Offset.zero, paint); - } - - Paint circlePaint = Paint() - ..color = colorOrange - ..strokeWidth = 30 - ..style = PaintingStyle.fill; - - if (results == null) return; - - for (var result in results!) { - canvas.drawLine(result.points[0], result.points[1], paint); - canvas.drawLine(result.points[1], result.points[2], paint); - canvas.drawLine(result.points[2], result.points[3], paint); - canvas.drawLine(result.points[3], result.points[0], paint); - - if (image != null) { - double radius = 40; - canvas.drawCircle(result.points[0], radius, circlePaint); - canvas.drawCircle(result.points[1], radius, circlePaint); - canvas.drawCircle(result.points[2], radius, circlePaint); - canvas.drawCircle(result.points[3], radius, circlePaint); - } - } - } - - @override - bool shouldRepaint(OverlayPainter oldDelegate) => true; -} - -List rotate90document(List? input, int height) { - if (input == null) { - return []; - } - - List output = []; - for (DocumentResult result in input) { - double x1 = result.points[0].dx; - double x2 = result.points[1].dx; - double x3 = result.points[2].dx; - double x4 = result.points[3].dx; - double y1 = result.points[0].dy; - double y2 = result.points[1].dy; - double y3 = result.points[2].dy; - double y4 = result.points[3].dy; - - List points = [ - Offset(height - y1, x1), - Offset(height - y2, x2), - Offset(height - y3, x3), - Offset(height - y4, x4) - ]; - DocumentResult newResult = DocumentResult(result.confidence, points, []); - - output.add(newResult); - } - - return output; -} diff --git a/example/lib/history_page.dart b/example/lib/history_page.dart deleted file mode 100644 index 9939ec1..0000000 --- a/example/lib/history_page.dart +++ /dev/null @@ -1,185 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:share_plus/share_plus.dart'; -import 'global.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - -import 'utils.dart'; - -class HistoryPage extends StatefulWidget { - const HistoryPage({super.key}); - - @override - State createState() => _HistoryPageState(); -} - -class _HistoryPageState extends State { - bool _isLoaded = false; - final List _documentHistory = - List.empty(growable: true); - @override - void initState() { - super.initState(); - loadHistory(); - } - - Future loadHistory() async { - final SharedPreferences prefs = await SharedPreferences.getInstance(); - var data = prefs.getStringList('document_data'); - if (data != null) { - _documentHistory.clear(); - for (String imageString in data) { - _documentHistory.add(decodeImageFromBase64(imageString)); - } - } - setState(() { - _isLoaded = true; - }); - } - - @override - Widget build(BuildContext context) { - var listView = Expanded( - child: ListView.builder( - itemCount: _documentHistory.length, - itemBuilder: (context, index) { - return MyCustomWidget( - result: _documentHistory[index], - cbDeleted: () async { - _documentHistory.removeAt(index); - final SharedPreferences prefs = - await SharedPreferences.getInstance(); - List data = - prefs.getStringList('document_data') as List; - data.removeAt(index); - prefs.setStringList('document_data', data); - setState(() {}); - }, - cbOpenResultPage: () {}); - })); - return Scaffold( - appBar: AppBar( - title: Text('History', - style: TextStyle( - fontSize: 22, - color: colorTitle, - )), - centerTitle: true, - backgroundColor: colorMainTheme, - actions: [ - Padding( - padding: const EdgeInsets.only(right: 30), - child: IconButton( - onPressed: () async { - final SharedPreferences prefs = - await SharedPreferences.getInstance(); - await prefs.remove('document_data'); - setState(() { - _documentHistory.clear(); - }); - }, - icon: Image.asset( - "images/icon-delete.png", - width: 26, - height: 26, - fit: BoxFit.cover, - ), - )) - ], - ), - body: _isLoaded - ? Column( - children: [listView], - ) - : const Center( - child: CircularProgressIndicator(), - ), - ); - } -} - -class MyCustomWidget extends StatelessWidget { - final Uint8List result; - final Function cbDeleted; - final Function cbOpenResultPage; - - const MyCustomWidget({ - super.key, - required this.result, - required this.cbDeleted, - required this.cbOpenResultPage, - }); - - @override - Widget build(BuildContext context) { - return DecoratedBox( - decoration: const BoxDecoration(color: Colors.black), - child: Padding( - padding: const EdgeInsets.only(top: 18, bottom: 16, left: 30), - child: Row( - children: [ - SizedBox( - width: 100.0, - height: 100.0, - child: Image.memory( - result, - fit: BoxFit.contain, - )), - Expanded(child: Container()), - Padding( - padding: const EdgeInsets.only(right: 0), - child: IconButton( - icon: const Icon(Icons.more_vert), - color: Colors.white, - onPressed: () async { - final RenderBox button = - context.findRenderObject() as RenderBox; - - final RelativeRect position = RelativeRect.fromLTRB( - 100, - button.localToGlobal(Offset.zero).dy, - 40, - 0, - ); - - final selected = await showMenu( - context: context, - position: position, - color: colorBackground, - items: [ - const PopupMenuItem( - value: 0, - child: Text( - 'Delete', - style: TextStyle(color: Colors.white), - )), - const PopupMenuItem( - value: 1, - child: Text( - 'Share', - style: TextStyle(color: Colors.white), - )), - ], - ); - - if (selected != null) { - if (selected == 0) { - // delete - cbDeleted(); - } else if (selected == 1) { - // share - final XFile xFile = XFile.fromData( - result, - mimeType: 'image/png', - name: 'image.png', - ); - Share.shareXFiles([xFile], text: 'Image Shared'); - } - } - }, - ), - ), - ], - ))); - } -} diff --git a/example/lib/home_page.dart b/example/lib/home_page.dart deleted file mode 100644 index 96aeb26..0000000 --- a/example/lib/home_page.dart +++ /dev/null @@ -1,241 +0,0 @@ -import 'dart:io'; - -import 'package:documentscanner/data/document_data.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_document_scan_sdk/document_result.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk_platform_interface.dart'; -import 'package:flutter_exif_rotation/flutter_exif_rotation.dart'; -import 'package:url_launcher/url_launcher_string.dart'; -import 'editing_page.dart'; -import 'utils.dart'; -import 'package:flutter/foundation.dart' show kIsWeb; -import 'package:image_picker/image_picker.dart'; -import 'dart:ui' as ui; -import 'dart:typed_data'; - -import 'camera_page.dart'; -import 'global.dart'; - -class HomePage extends StatefulWidget { - const HomePage({super.key}); - - @override - State createState() => _HomePageState(); -} - -class _HomePageState extends State { - final picker = ImagePicker(); - - void openResultPage(DocumentData data, bool found) { - if (!found) { - SnackBar snackBar = const SnackBar( - content: Text('No document detected. Please edit it manually.'), - ); - ScaffoldMessenger.of(context).showSnackBar(snackBar); - } - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => EditingPage(documentData: data), - )); - } - - void scanImage() async { - XFile? photo = await picker.pickImage(source: ImageSource.gallery); - - if (photo == null) { - return; - } - - if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { - File rotatedImage = - await FlutterExifRotation.rotateImage(path: photo.path); - photo = XFile(rotatedImage.path); - } - - Uint8List fileBytes = await photo.readAsBytes(); - - ui.Image image = await decodeImageFromList(fileBytes); - - ByteData? byteData = - await image.toByteData(format: ui.ImageByteFormat.rawRgba); - if (byteData != null) { - List? results = await docScanner.detectBuffer( - byteData.buffer.asUint8List(), - image.width, - image.height, - byteData.lengthInBytes ~/ image.height, - ImagePixelFormat.IPF_ARGB_8888.index); - - if (results != null && results.isNotEmpty) { - openResultPage( - DocumentData( - image: image, - documentResults: results, - ), - true); - } else { - double padding = 100; - List points = [ - Offset(padding, padding), - Offset(image.width.toDouble() - padding, padding), - Offset(image.width.toDouble() - padding, - image.height.toDouble() - padding), - Offset(padding, image.height.toDouble() - padding) - ]; - openResultPage( - DocumentData( - image: image, - documentResults: [DocumentResult(0, points, 0)], - ), - false); - } - } - } - - @override - Widget build(BuildContext context) { - var title = const Padding( - padding: EdgeInsets.only( - top: 32, - ), - child: Text('DOCUMENT SCANNER', - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 32, - color: Colors.white, - )), - ); - - var description = Padding( - padding: const EdgeInsets.only(top: 7, left: 33, right: 33), - child: Text( - "Auto document border detection, crop and image quality enhancement.", - style: TextStyle( - fontSize: 18, - color: colorTitle, - ))); - - final buttons = Padding( - padding: const EdgeInsets.only(top: 44), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - GestureDetector( - onTap: () { - if (!kIsWeb && Platform.isLinux) { - showAlert(context, "Warning", - "${Platform.operatingSystem} is not supported"); - return; - } - - Navigator.push(context, MaterialPageRoute(builder: (context) { - return const CameraPage(); - })); - }, - child: Container( - width: 150, - height: 125, - decoration: BoxDecoration( - color: colorOrange, - borderRadius: BorderRadius.circular(10.0), - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "images/icon-camera.png", - width: 90, - height: 60, - ), - const Text( - "Camera Scan", - overflow: TextOverflow.ellipsis, - style: TextStyle(fontSize: 16, color: Colors.white), - ) - ], - ), - )), - GestureDetector( - onTap: () { - scanImage(); - }, - child: Container( - width: 150, - height: 125, - decoration: BoxDecoration( - color: colorBackground, - borderRadius: BorderRadius.circular(10.0), - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "images/icon-image.png", - width: 90, - height: 60, - ), - const Text( - "Image Scan", - overflow: TextOverflow.ellipsis, - style: TextStyle(fontSize: 16, color: Colors.white), - ) - ], - ), - )) - ], - )); - final image = Image.asset( - "images/image-document.png", - width: MediaQuery.of(context).size.width, - fit: BoxFit.cover, - ); - return Scaffold( - body: Column( - children: [ - title, - description, - buttons, - const SizedBox( - height: 34, - ), - Expanded( - child: Stack( - children: [ - Positioned.fill( - child: image, - ), - if (!isLicenseValid) - Opacity( - opacity: 0.8, - child: Container( - width: MediaQuery.of(context).size.width, - height: 40, - color: const Color(0xffFF1A1A), - padding: const EdgeInsets.only(left: 20, right: 20), - child: InkWell( - onTap: () { - launchUrlString( - 'https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform'); - }, - child: const Row( - children: [ - Icon(Icons.warning_amber_rounded, - color: Colors.white, size: 20), - Text( - " License expired! Renew your license ->", - style: TextStyle( - fontSize: 14, - color: Colors.white, - fontWeight: FontWeight.bold), - ), - ], - ))), - ) - ], - )) - ], - ), - ); - } -} diff --git a/example/lib/main.dart b/example/lib/main.dart deleted file mode 100644 index 18b15bf..0000000 --- a/example/lib/main.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/material.dart'; -import 'tab_page.dart'; -import 'dart:async'; -import 'global.dart'; - -Future main() async { - runApp(const MyApp()); -} - -class MyApp extends StatelessWidget { - const MyApp({super.key}); - - Future loadData() async { - return await initDocumentSDK(); - } - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Dynamsoft Document Normalization', - theme: ThemeData( - scaffoldBackgroundColor: colorMainTheme, - ), - home: FutureBuilder( - future: loadData(), - builder: (BuildContext context, AsyncSnapshot snapshot) { - if (!snapshot.hasData) { - return const CircularProgressIndicator(); // Loading indicator - } - Future.microtask(() { - Navigator.pushReplacement(context, - MaterialPageRoute(builder: (context) => const TabPage())); - }); - return Container(); - }, - ), - ); - } -} diff --git a/example/lib/saving_page.dart b/example/lib/saving_page.dart deleted file mode 100644 index 04b1924..0000000 --- a/example/lib/saving_page.dart +++ /dev/null @@ -1,232 +0,0 @@ -import 'dart:ui'; - -import 'global.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'dart:async'; - -import 'package:flutter_document_scan_sdk/document_result.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk_platform_interface.dart'; -import 'package:flutter_document_scan_sdk/template.dart'; -import 'package:flutter_document_scan_sdk/normalized_image.dart'; -import 'dart:ui' as ui; -import 'package:shared_preferences/shared_preferences.dart'; -import 'package:image_picker/image_picker.dart'; - -import 'data/document_data.dart'; -import 'utils.dart'; - -class SavingPage extends StatefulWidget { - const SavingPage({super.key, required this.documentData}); - - final DocumentData documentData; - - @override - State createState() => _SavingPageState(); -} - -class _SavingPageState extends State { - ui.Image? normalizedUiImage; - - NormalizedImage? normalizedImage; - String _pixelFormat = 'color'; - - @override - void initState() { - super.initState(); - initDocumentState(); - } - - Future loadImage(XFile file) async { - final data = await file.readAsBytes(); - return await decodeImageFromList(data); - } - - Future initDocumentState() async { - await docScanner.setParameters(Template.color); - await normalizeBuffer(widget.documentData.image!, - widget.documentData.documentResults![0].points); - return 0; - } - - Widget createCustomImage(BuildContext context, ui.Image image, - List detectionResults) { - return FittedBox( - fit: BoxFit.contain, - child: SizedBox( - width: image.width.toDouble(), - height: image.height.toDouble(), - child: CustomPaint( - painter: OverlayPainter(image, detectionResults), - ))); - } - - Widget createWidget() { - if (normalizedUiImage == null) { - return const CircularProgressIndicator(); - } else { - var pageContent = Column(children: [ - Expanded(child: createCustomImage(context, normalizedUiImage!, [])), - SizedBox( - height: 60, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Theme( - data: Theme.of(context).copyWith( - unselectedWidgetColor: - Colors.white, // Color when unselected - ), - child: Radio( - activeColor: colorOrange, - value: 'binary', - groupValue: _pixelFormat, - onChanged: (String? value) async { - setState(() { - _pixelFormat = value!; - }); - - await docScanner.setParameters(Template.binary); - - if (widget.documentData.documentResults!.isNotEmpty) { - await normalizeBuffer(widget.documentData.image!, - widget.documentData.documentResults![0].points); - } - }, - ), - ), - const Text('Binary', style: TextStyle(color: Colors.white)), - Theme( - data: Theme.of(context).copyWith( - unselectedWidgetColor: - Colors.white, // Color when unselected - ), - child: Radio( - activeColor: colorOrange, - value: 'grayscale', - groupValue: _pixelFormat, - onChanged: (String? value) async { - setState(() { - _pixelFormat = value!; - }); - - await docScanner.setParameters(Template.grayscale); - - if (widget.documentData.documentResults!.isNotEmpty) { - await normalizeBuffer(widget.documentData.image!, - widget.documentData.documentResults![0].points); - } - }, - )), - const Text('Gray', style: TextStyle(color: Colors.white)), - Theme( - data: Theme.of(context).copyWith( - unselectedWidgetColor: - Colors.white, // Color when unselected - ), - child: Radio( - activeColor: colorOrange, - value: 'color', - groupValue: _pixelFormat, - onChanged: (String? value) async { - setState(() { - _pixelFormat = value!; - }); - - await docScanner.setParameters(Template.color); - - if (widget.documentData.documentResults!.isNotEmpty) { - await normalizeBuffer(widget.documentData.image!, - widget.documentData.documentResults![0].points); - } - }, - )), - const Text('Color', style: TextStyle(color: Colors.white)), - ], - )), - ]); - return pageContent; - } - } - - void close() { - Navigator.pop(context); - Navigator.pop(context); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - backgroundColor: colorMainTheme, - title: const Text('Edit Document'), - iconTheme: const IconThemeData( - color: - Colors.white, // Set the color of the back arrow and other icons - ), - actions: [ - Padding( - padding: const EdgeInsets.only(right: 20), - child: ElevatedButton( - onPressed: () async { - String imageString = - await convertImagetoPngBase64(normalizedUiImage!); - - final SharedPreferences prefs = - await SharedPreferences.getInstance(); - var results = prefs.getStringList('document_data'); - List imageList = []; - imageList.add(imageString); - if (results == null) { - prefs.setStringList('document_data', imageList); - } else { - results.addAll(imageList); - prefs.setStringList('document_data', results); - } - - close(); - }, - style: ButtonStyle( - backgroundColor: WidgetStateProperty.all(colorMainTheme)), - child: Text('Save', - style: TextStyle(color: colorOrange, fontSize: 22)), - ), - ) - ], - ), - body: createWidget(), - ); - } - - Future normalizeFile(String file, dynamic points) async { - normalizedImage = await docScanner.normalizeFile(file, points); - if (normalizedImage != null) { - decodeImageFromPixels(normalizedImage!.data, normalizedImage!.width, - normalizedImage!.height, PixelFormat.rgba8888, (ui.Image img) { - normalizedUiImage = img; - setState(() {}); - }); - } - } - - Future normalizeBuffer(ui.Image sourceImage, dynamic points) async { - ByteData? byteData = - await sourceImage.toByteData(format: ui.ImageByteFormat.rawRgba); - - Uint8List bytes = byteData!.buffer.asUint8List(); - int width = sourceImage.width; - int height = sourceImage.height; - int stride = byteData.lengthInBytes ~/ sourceImage.height; - int format = ImagePixelFormat.IPF_ARGB_8888.index; - - normalizedImage = await docScanner.normalizeBuffer( - bytes, width, height, stride, format, points); - if (normalizedImage != null) { - decodeImageFromPixels(normalizedImage!.data, normalizedImage!.width, - normalizedImage!.height, PixelFormat.rgba8888, (ui.Image img) { - normalizedUiImage = img; - setState(() {}); - }); - } - } -} diff --git a/example/lib/tab_page.dart b/example/lib/tab_page.dart deleted file mode 100644 index 088d33d..0000000 --- a/example/lib/tab_page.dart +++ /dev/null @@ -1,106 +0,0 @@ -import 'package:flutter/material.dart'; -import 'global.dart'; -import 'history_page.dart'; - -import 'about_page.dart'; -import 'home_page.dart'; - -class TabPage extends StatefulWidget { - const TabPage({super.key}); - - @override - State createState() => _TabPageState(); -} - -class _TabPageState extends State with SingleTickerProviderStateMixin { - late TabController _tabController; - final List myTabs = [ - CustomTab( - text: 'Home', - icon: 'images/icon-home-gray.png', - selectedIcon: 'images/icon-home-orange.png'), - CustomTab( - text: 'Scan History', - icon: 'images/icon-history-gray.png', - selectedIcon: 'images/icon-history-orange.png'), - CustomTab( - text: 'About', - icon: 'images/icon-about-gray.png', - selectedIcon: 'images/icon-about-orange.png'), - ]; - - int selectedIndex = 0; - - @override - void initState() { - super.initState(); - _tabController = TabController(vsync: this, length: 3); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - body: TabBarView( - controller: _tabController, - children: const [ - HomePage(), - HistoryPage(), - AboutPage(), - ], - ), - bottomNavigationBar: SizedBox( - height: 83, - child: TabBar( - labelColor: Colors.blue, - controller: _tabController, - onTap: (index) { - setState(() { - selectedIndex = index; - }); - }, - tabs: myTabs.map((CustomTab tab) { - return MyTab( - tab: tab, isSelected: myTabs.indexOf(tab) == selectedIndex); - }).toList(), - ), - )); - } -} - -class MyTab extends StatelessWidget { - final CustomTab tab; - final bool isSelected; - - const MyTab({super.key, required this.tab, required this.isSelected}); - - @override - Widget build(BuildContext context) { - return Tab( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - isSelected ? tab.selectedIcon : tab.icon, - width: 48, - height: 32, - ), - Text(tab.text, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 9, - color: isSelected ? colorOrange : colorSelect, - )) - ], - ), - ); - } -} - -class CustomTab { - final String text; - final String icon; - final String selectedIcon; - - CustomTab( - {required this.text, required this.icon, required this.selectedIcon}); -} diff --git a/example/lib/utils.dart b/example/lib/utils.dart deleted file mode 100644 index f75ea21..0000000 --- a/example/lib/utils.dart +++ /dev/null @@ -1,124 +0,0 @@ -import 'dart:async'; -import 'dart:convert'; -import 'dart:typed_data'; - -import 'package:flutter/material.dart'; -import 'dart:ui' as ui; - -import 'dart:math' as math; - -void showAlert(BuildContext context, String title, String content) { - showDialog( - context: context, - builder: (BuildContext context) { - return AlertDialog( - title: Text(title), - content: Text(content), - actions: [ - TextButton( - onPressed: () { - Navigator.pop(context); - }, - child: const Text('OK'), - ), - ], - ); - }, - ); -} - -Future createImage(Uint8List buffer, int width, int height, - ui.PixelFormat pixelFormat, int stride) { - final Completer completer = Completer(); - - ui.decodeImageFromPixels(buffer, width, height, pixelFormat, (ui.Image img) { - completer.complete(img); - }, rowBytes: stride); - - return completer.future; -} - -Uint8List yuv420ToRgba8888(List planes, int width, int height) { - final yPlane = planes[0]; - final uPlane = planes[1]; - final vPlane = planes[2]; - - final Uint8List rgbaBytes = Uint8List(width * height * 4); - - for (int y = 0; y < height; y++) { - for (int x = 0; x < width; x++) { - final int yIndex = y * width + x; - final int uvIndex = (y ~/ 2) * (width ~/ 2) + (x ~/ 2); - - final int yValue = yPlane[yIndex] & 0xFF; - final int uValue = uPlane[uvIndex] & 0xFF; - final int vValue = vPlane[uvIndex] & 0xFF; - - final int r = (yValue + 1.13983 * (vValue - 128)).round().clamp(0, 255); - final int g = - (yValue - 0.39465 * (uValue - 128) - 0.58060 * (vValue - 128)) - .round() - .clamp(0, 255); - final int b = (yValue + 2.03211 * (uValue - 128)).round().clamp(0, 255); - - final int rgbaIndex = yIndex * 4; - rgbaBytes[rgbaIndex] = r.toUnsigned(8); - rgbaBytes[rgbaIndex + 1] = g.toUnsigned(8); - rgbaBytes[rgbaIndex + 2] = b.toUnsigned(8); - rgbaBytes[rgbaIndex + 3] = 255; // Alpha value - } - } - - return rgbaBytes; -} - -Uint8List rotate90Degrees(Uint8List src, int width, int height) { - var dst = Uint8List(4 * width * height); - int newIndex = 0; - - for (int j = 0; j < width; j++) { - for (int i = height - 1; i >= 0; i--) { - int oldIndex = 4 * (i * width + j); - dst[newIndex] = src[oldIndex]; - dst[newIndex + 1] = src[oldIndex + 1]; - dst[newIndex + 2] = src[oldIndex + 2]; - dst[newIndex + 3] = src[oldIndex + 3]; - newIndex += 4; - } - } - - return dst; -} - -double calculateArea(Offset p1, Offset p2, Offset p3, Offset p4) { - double area1 = calculateTriangleArea(p1, p2, p3); - double area2 = calculateTriangleArea(p1, p3, p4); - - return area1 + area2; -} - -double calculateTriangleArea(Offset p1, Offset p2, Offset p3) { - double a = distanceBetween(p1, p2); - double b = distanceBetween(p2, p3); - double c = distanceBetween(p3, p1); - double s = (a + b + c) / 2; - return math.sqrt(s * (s - a) * (s - b) * (s - c)); -} - -double distanceBetween(Offset p1, Offset p2) { - return math.sqrt(math.pow(p2.dx - p1.dx, 2) + math.pow(p2.dy - p1.dy, 2)); -} - -Future convertImagetoPngBase64(ui.Image image) async { - ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png); - if (byteData == null) { - return ''; - } - Uint8List pngBytes = byteData.buffer.asUint8List(); - String bs64 = base64Encode(pngBytes); - return bs64; -} - -Uint8List decodeImageFromBase64(String base64) { - return base64Decode(base64); -} diff --git a/example/linux/.gitignore b/example/linux/.gitignore deleted file mode 100644 index d3896c9..0000000 --- a/example/linux/.gitignore +++ /dev/null @@ -1 +0,0 @@ -flutter/ephemeral diff --git a/example/linux/CMakeLists.txt b/example/linux/CMakeLists.txt deleted file mode 100644 index 4a8d999..0000000 --- a/example/linux/CMakeLists.txt +++ /dev/null @@ -1,139 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.10) -project(runner LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "documentscanner") -# The unique GTK application identifier for this application. See: -# https://wiki.gnome.org/HowDoI/ChooseApplicationID -set(APPLICATION_ID "com.example.documentscanner") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Load bundled libraries from the lib/ directory relative to the binary. -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") - -# Root filesystem for cross-building. -if(FLUTTER_TARGET_PLATFORM_SYSROOT) - set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -# Define build configuration options. -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") -endif() - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_14) - target_compile_options(${TARGET} PRIVATE -Wall -Werror) - target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") - target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) - -add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") - -# Define the application target. To change its name, change BINARY_NAME above, -# not the value here, or `flutter run` will no longer work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} - "main.cc" - "my_application.cc" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add dependency libraries. Add any application-specific dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter) -target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) - -# Only the install-generated bundle's copy of the executable will launch -# correctly, since the resources must in the right relative locations. To avoid -# people trying to run the unbundled copy, put it in a subdirectory instead of -# the default top-level location. -set_target_properties(${BINARY_NAME} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" -) - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# By default, "installing" just makes a relocatable bundle in the build -# directory. -set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -# Start with a clean build bundle directory every time. -install(CODE " - file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") - " COMPONENT Runtime) - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) - install(FILES "${bundled_library}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endforeach(bundled_library) - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") - install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() diff --git a/example/linux/flutter/CMakeLists.txt b/example/linux/flutter/CMakeLists.txt deleted file mode 100644 index d5bd016..0000000 --- a/example/linux/flutter/CMakeLists.txt +++ /dev/null @@ -1,88 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.10) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. - -# Serves the same purpose as list(TRANSFORM ... PREPEND ...), -# which isn't available in 3.10. -function(list_prepend LIST_NAME PREFIX) - set(NEW_LIST "") - foreach(element ${${LIST_NAME}}) - list(APPEND NEW_LIST "${PREFIX}${element}") - endforeach(element) - set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) -endfunction() - -# === Flutter Library === -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) -pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) -pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) - -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "fl_basic_message_channel.h" - "fl_binary_codec.h" - "fl_binary_messenger.h" - "fl_dart_project.h" - "fl_engine.h" - "fl_json_message_codec.h" - "fl_json_method_codec.h" - "fl_message_codec.h" - "fl_method_call.h" - "fl_method_channel.h" - "fl_method_codec.h" - "fl_method_response.h" - "fl_plugin_registrar.h" - "fl_plugin_registry.h" - "fl_standard_message_codec.h" - "fl_standard_method_codec.h" - "fl_string_codec.h" - "fl_value.h" - "fl_view.h" - "flutter_linux.h" -) -list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") -target_link_libraries(flutter INTERFACE - PkgConfig::GTK - PkgConfig::GLIB - PkgConfig::GIO -) -add_dependencies(flutter flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CMAKE_CURRENT_BINARY_DIR}/_phony_ - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" - ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} -) diff --git a/example/linux/flutter/generated_plugin_registrant.cc b/example/linux/flutter/generated_plugin_registrant.cc deleted file mode 100644 index 139d6d8..0000000 --- a/example/linux/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,23 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include -#include -#include - -void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); - file_selector_plugin_register_with_registrar(file_selector_linux_registrar); - g_autoptr(FlPluginRegistrar) flutter_document_scan_sdk_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterDocumentScanSdkPlugin"); - flutter_document_scan_sdk_plugin_register_with_registrar(flutter_document_scan_sdk_registrar); - g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); - url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); -} diff --git a/example/linux/flutter/generated_plugin_registrant.h b/example/linux/flutter/generated_plugin_registrant.h deleted file mode 100644 index e0f0a47..0000000 --- a/example/linux/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void fl_register_plugins(FlPluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/example/linux/flutter/generated_plugins.cmake b/example/linux/flutter/generated_plugins.cmake deleted file mode 100644 index ae3e870..0000000 --- a/example/linux/flutter/generated_plugins.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - file_selector_linux - flutter_document_scan_sdk - url_launcher_linux -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/example/linux/main.cc b/example/linux/main.cc deleted file mode 100644 index e7c5c54..0000000 --- a/example/linux/main.cc +++ /dev/null @@ -1,6 +0,0 @@ -#include "my_application.h" - -int main(int argc, char** argv) { - g_autoptr(MyApplication) app = my_application_new(); - return g_application_run(G_APPLICATION(app), argc, argv); -} diff --git a/example/linux/my_application.cc b/example/linux/my_application.cc deleted file mode 100644 index 9fd098b..0000000 --- a/example/linux/my_application.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include "my_application.h" - -#include -#ifdef GDK_WINDOWING_X11 -#include -#endif - -#include "flutter/generated_plugin_registrant.h" - -struct _MyApplication { - GtkApplication parent_instance; - char** dart_entrypoint_arguments; -}; - -G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) - -// Implements GApplication::activate. -static void my_application_activate(GApplication* application) { - MyApplication* self = MY_APPLICATION(application); - GtkWindow* window = - GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); - - // Use a header bar when running in GNOME as this is the common style used - // by applications and is the setup most users will be using (e.g. Ubuntu - // desktop). - // If running on X and not using GNOME then just use a traditional title bar - // in case the window manager does more exotic layout, e.g. tiling. - // If running on Wayland assume the header bar will work (may need changing - // if future cases occur). - gboolean use_header_bar = TRUE; -#ifdef GDK_WINDOWING_X11 - GdkScreen* screen = gtk_window_get_screen(window); - if (GDK_IS_X11_SCREEN(screen)) { - const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); - if (g_strcmp0(wm_name, "GNOME Shell") != 0) { - use_header_bar = FALSE; - } - } -#endif - if (use_header_bar) { - GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); - gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "documentscanner"); - gtk_header_bar_set_show_close_button(header_bar, TRUE); - gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); - } else { - gtk_window_set_title(window, "documentscanner"); - } - - gtk_window_set_default_size(window, 1280, 720); - gtk_widget_show(GTK_WIDGET(window)); - - g_autoptr(FlDartProject) project = fl_dart_project_new(); - fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); - - FlView* view = fl_view_new(project); - gtk_widget_show(GTK_WIDGET(view)); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); - - fl_register_plugins(FL_PLUGIN_REGISTRY(view)); - - gtk_widget_grab_focus(GTK_WIDGET(view)); -} - -// Implements GApplication::local_command_line. -static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { - MyApplication* self = MY_APPLICATION(application); - // Strip out the first argument as it is the binary name. - self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); - - g_autoptr(GError) error = nullptr; - if (!g_application_register(application, nullptr, &error)) { - g_warning("Failed to register: %s", error->message); - *exit_status = 1; - return TRUE; - } - - g_application_activate(application); - *exit_status = 0; - - return TRUE; -} - -// Implements GObject::dispose. -static void my_application_dispose(GObject* object) { - MyApplication* self = MY_APPLICATION(object); - g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); - G_OBJECT_CLASS(my_application_parent_class)->dispose(object); -} - -static void my_application_class_init(MyApplicationClass* klass) { - G_APPLICATION_CLASS(klass)->activate = my_application_activate; - G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; - G_OBJECT_CLASS(klass)->dispose = my_application_dispose; -} - -static void my_application_init(MyApplication* self) {} - -MyApplication* my_application_new() { - return MY_APPLICATION(g_object_new(my_application_get_type(), - "application-id", APPLICATION_ID, - "flags", G_APPLICATION_NON_UNIQUE, - nullptr)); -} diff --git a/example/linux/my_application.h b/example/linux/my_application.h deleted file mode 100644 index 72271d5..0000000 --- a/example/linux/my_application.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FLUTTER_MY_APPLICATION_H_ -#define FLUTTER_MY_APPLICATION_H_ - -#include - -G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, - GtkApplication) - -/** - * my_application_new: - * - * Creates a new Flutter-based application. - * - * Returns: a new #MyApplication. - */ -MyApplication* my_application_new(); - -#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/example/macos/.gitignore b/example/macos/.gitignore deleted file mode 100644 index 746adbb..0000000 --- a/example/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/example/macos/Flutter/Flutter-Debug.xcconfig b/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index c2efd0b..0000000 --- a/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/example/macos/Flutter/Flutter-Release.xcconfig b/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index c2efd0b..0000000 --- a/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index 7137240..0000000 --- a/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - -import file_selector_macos -import path_provider_foundation -import share_plus -import shared_preferences_foundation -import url_launcher_macos - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) - SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) - SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) - UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) -} diff --git a/example/macos/Runner.xcodeproj/project.pbxproj b/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 5711f62..0000000 --- a/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,695 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* documentscanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "documentscanner.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C80D6294CF71000263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* documentscanner.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C80D4294CF70F00263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 331C80D1294CF70F00263BE5 /* Sources */, - 331C80D2294CF70F00263BE5 /* Frameworks */, - 331C80D3294CF70F00263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* documentscanner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/documentscanner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/documentscanner"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/documentscanner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/documentscanner"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/documentscanner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/documentscanner"; - }; - name = Profile; - }; - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 7bd1069..0000000 --- a/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a1..0000000 --- a/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/macos/Runner/AppDelegate.swift b/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index d53ef64..0000000 --- a/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,9 +0,0 @@ -import Cocoa -import FlutterMacOS - -@NSApplicationMain -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } -} diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f..0000000 --- a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 82b6f9d..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index 13b35eb..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 0a3f5fa..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index bdb5722..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index f083318..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index 326c0e7..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 2f1632c..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ diff --git a/example/macos/Runner/Base.lproj/MainMenu.xib b/example/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 80e867a..0000000 --- a/example/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/macos/Runner/Configs/AppInfo.xcconfig b/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index dac6a50..0000000 --- a/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = documentscanner - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = com.example.documentscanner - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved. diff --git a/example/macos/Runner/Configs/Debug.xcconfig b/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd9..0000000 --- a/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/example/macos/Runner/Configs/Release.xcconfig b/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f49..0000000 --- a/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/example/macos/Runner/Configs/Warnings.xcconfig b/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf4..0000000 --- a/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/example/macos/Runner/DebugProfile.entitlements b/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index dddb8a3..0000000 --- a/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - - diff --git a/example/macos/Runner/Info.plist b/example/macos/Runner/Info.plist deleted file mode 100644 index 4789daa..0000000 --- a/example/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/example/macos/Runner/MainFlutterWindow.swift b/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 3cc05eb..0000000 --- a/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/example/macos/Runner/Release.entitlements b/example/macos/Runner/Release.entitlements deleted file mode 100644 index 852fa1a..0000000 --- a/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.app-sandbox - - - diff --git a/example/macos/RunnerTests/RunnerTests.swift b/example/macos/RunnerTests/RunnerTests.swift deleted file mode 100644 index 5418c9f..0000000 --- a/example/macos/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import FlutterMacOS -import Cocoa -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/example/pubspec.lock b/example/pubspec.lock deleted file mode 100644 index 7e8f364..0000000 --- a/example/pubspec.lock +++ /dev/null @@ -1,710 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - camera: - dependency: "direct main" - description: - path: camera - relative: true - source: path - version: "0.11.0+2" - camera_android_camerax: - dependency: transitive - description: - name: camera_android_camerax - sha256: "59a01443c280cf969449f4b72db9396e80e5a9e8f07a2500a042906a157ce894" - url: "https://pub.dev" - source: hosted - version: "0.6.9+2" - camera_avfoundation: - dependency: transitive - description: - name: camera_avfoundation - sha256: "0d04cec8715b59fb6dc60eefb47e69024f51233c570e475b886dc9290568bca7" - url: "https://pub.dev" - source: hosted - version: "0.9.17+4" - camera_platform_interface: - dependency: transitive - description: - name: camera_platform_interface - sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 - url: "https://pub.dev" - source: hosted - version: "2.8.0" - camera_web: - dependency: transitive - description: - path: web_camera - relative: true - source: path - version: "0.3.3" - camera_windows: - dependency: "direct main" - description: - path: windows_camera - relative: true - source: path - version: "0.2.1+5" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.dev" - source: hosted - version: "0.3.4+2" - crypto: - dependency: transitive - description: - name: crypto - sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 - url: "https://pub.dev" - source: hosted - version: "3.0.5" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.dev" - source: hosted - version: "1.0.8" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" - url: "https://pub.dev" - source: hosted - version: "2.1.3" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - file_selector_linux: - dependency: transitive - description: - name: file_selector_linux - sha256: "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2" - url: "https://pub.dev" - source: hosted - version: "0.9.3" - file_selector_macos: - dependency: transitive - description: - name: file_selector_macos - sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" - url: "https://pub.dev" - source: hosted - version: "0.9.4+2" - file_selector_platform_interface: - dependency: transitive - description: - name: file_selector_platform_interface - sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b - url: "https://pub.dev" - source: hosted - version: "2.6.2" - file_selector_windows: - dependency: transitive - description: - name: file_selector_windows - sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4" - url: "https://pub.dev" - source: hosted - version: "0.9.3+3" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_document_scan_sdk: - dependency: "direct main" - description: - path: ".." - relative: true - source: path - version: "1.1.2" - flutter_exif_rotation: - dependency: "direct main" - description: - name: flutter_exif_rotation - sha256: f581601523bbb7fbec3a0498fe930bf6c48f627d4548d859b2772230edfbe658 - url: "https://pub.dev" - source: hosted - version: "0.5.2" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" - url: "https://pub.dev" - source: hosted - version: "5.0.0" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - sha256: "9b78450b89f059e96c9ebb355fa6b3df1d6b330436e0b885fb49594c41721398" - url: "https://pub.dev" - source: hosted - version: "2.0.23" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - http: - dependency: transitive - description: - name: http - sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 - url: "https://pub.dev" - source: hosted - version: "1.2.2" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - image_picker: - dependency: "direct main" - description: - name: image_picker - sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" - url: "https://pub.dev" - source: hosted - version: "1.1.2" - image_picker_android: - dependency: transitive - description: - name: image_picker_android - sha256: d3e5e00fdfeca8fd4ffb3227001264d449cc8950414c2ff70b0e06b9c628e643 - url: "https://pub.dev" - source: hosted - version: "0.8.12+15" - image_picker_for_web: - dependency: transitive - description: - name: image_picker_for_web - sha256: "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - image_picker_ios: - dependency: transitive - description: - name: image_picker_ios - sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" - url: "https://pub.dev" - source: hosted - version: "0.8.12" - image_picker_linux: - dependency: transitive - description: - name: image_picker_linux - sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - image_picker_macos: - dependency: transitive - description: - name: image_picker_macos - sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - image_picker_platform_interface: - dependency: transitive - description: - name: image_picker_platform_interface - sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" - url: "https://pub.dev" - source: hosted - version: "2.10.0" - image_picker_windows: - dependency: transitive - description: - name: image_picker_windows - sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - lints: - dependency: transitive - description: - name: lints - sha256: "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413" - url: "https://pub.dev" - source: hosted - version: "5.0.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - mime: - dependency: transitive - description: - name: mime - sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" - url: "https://pub.dev" - source: hosted - version: "1.0.6" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - path_provider: - dependency: transitive - description: - name: path_provider - sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 - url: "https://pub.dev" - source: hosted - version: "2.1.4" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a - url: "https://pub.dev" - source: hosted - version: "2.2.12" - path_provider_foundation: - dependency: transitive - description: - name: path_provider_foundation - sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 - url: "https://pub.dev" - source: hosted - version: "2.4.0" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.dev" - source: hosted - version: "2.2.1" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 - url: "https://pub.dev" - source: hosted - version: "2.3.0" - platform: - dependency: transitive - description: - name: platform - sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" - url: "https://pub.dev" - source: hosted - version: "3.1.5" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - share_plus: - dependency: "direct main" - description: - name: share_plus - sha256: "468c43f285207c84bcabf5737f33b914ceb8eb38398b91e5e3ad1698d1b72a52" - url: "https://pub.dev" - source: hosted - version: "10.0.2" - share_plus_platform_interface: - dependency: transitive - description: - name: share_plus_platform_interface - sha256: "6ababf341050edff57da8b6990f11f4e99eaba837865e2e6defe16d039619db5" - url: "https://pub.dev" - source: hosted - version: "5.0.0" - shared_preferences: - dependency: "direct main" - description: - name: shared_preferences - sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051" - url: "https://pub.dev" - source: hosted - version: "2.3.2" - shared_preferences_android: - dependency: transitive - description: - name: shared_preferences_android - sha256: "3b9febd815c9ca29c9e3520d50ec32f49157711e143b7a4ca039eb87e8ade5ab" - url: "https://pub.dev" - source: hosted - version: "2.3.3" - shared_preferences_foundation: - dependency: transitive - description: - name: shared_preferences_foundation - sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d" - url: "https://pub.dev" - source: hosted - version: "2.5.3" - shared_preferences_linux: - dependency: transitive - description: - name: shared_preferences_linux - sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shared_preferences_platform_interface: - dependency: transitive - description: - name: shared_preferences_platform_interface - sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shared_preferences_web: - dependency: transitive - description: - name: shared_preferences_web - sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e - url: "https://pub.dev" - source: hosted - version: "2.4.2" - shared_preferences_windows: - dependency: transitive - description: - name: shared_preferences_windows - sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - sprintf: - dependency: transitive - description: - name: sprintf - sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - url_launcher: - dependency: "direct main" - description: - name: url_launcher - sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" - url: "https://pub.dev" - source: hosted - version: "6.3.0" - url_launcher_android: - dependency: transitive - description: - name: url_launcher_android - sha256: "8fc3bae0b68c02c47c5c86fa8bfa74471d42687b0eded01b78de87872db745e2" - url: "https://pub.dev" - source: hosted - version: "6.3.12" - url_launcher_ios: - dependency: transitive - description: - name: url_launcher_ios - sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e - url: "https://pub.dev" - source: hosted - version: "6.3.1" - url_launcher_linux: - dependency: transitive - description: - name: url_launcher_linux - sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af - url: "https://pub.dev" - source: hosted - version: "3.2.0" - url_launcher_macos: - dependency: transitive - description: - name: url_launcher_macos - sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - url_launcher_platform_interface: - dependency: transitive - description: - name: url_launcher_platform_interface - sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" - url: "https://pub.dev" - source: hosted - version: "2.3.2" - url_launcher_web: - dependency: transitive - description: - name: url_launcher_web - sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" - url: "https://pub.dev" - source: hosted - version: "2.3.3" - url_launcher_windows: - dependency: transitive - description: - name: url_launcher_windows - sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" - url: "https://pub.dev" - source: hosted - version: "3.1.2" - uuid: - dependency: transitive - description: - name: uuid - sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff - url: "https://pub.dev" - source: hosted - version: "4.5.1" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" - web: - dependency: transitive - description: - name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" - win32: - dependency: transitive - description: - name: win32 - sha256: "4d45dc9069dba4619dc0ebd93c7cec5e66d8482cb625a370ac806dcc8165f2ec" - url: "https://pub.dev" - source: hosted - version: "5.5.5" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" - url: "https://pub.dev" - source: hosted - version: "1.1.0" -sdks: - dart: ">=3.5.0 <4.0.0" - flutter: ">=3.24.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml deleted file mode 100644 index ced1e12..0000000 --- a/example/pubspec.yaml +++ /dev/null @@ -1,51 +0,0 @@ -name: documentscanner -description: A Flutter project that demonstrates how to build a cross-platform document scanner app with Dynamsoft Document Normalizer. - -publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 1.0.0+1 - -environment: - sdk: '>=3.0.3 <4.0.0' - -dependencies: - flutter: - sdk: flutter - - cupertino_icons: ^1.0.2 - flutter_document_scan_sdk: - path: ../ - image_picker: ^1.0.0 - shared_preferences: ^2.1.1 - camera: - path: ./camera/ - camera_windows: - path: ./windows_camera/ - share_plus: ^10.0.2 - url_launcher: ^6.1.11 - flutter_exif_rotation: ^0.5.1 -dev_dependencies: - flutter_test: - sdk: flutter - - flutter_lints: ^5.0.0 - - -flutter: - uses-material-design: true - - assets: - - images/icon-about-gray.png - - images/icon-about-orange.png - - images/icon-arrow-green.png - - images/icon-arrow-orange.png - - images/icon-camera.png - - images/icon-delete.png - - images/icon-history-gray.png - - images/icon-history-orange.png - - images/icon-home-gray.png - - images/icon-home-orange.png - - images/icon-image.png - - images/icon-capture.png - - images/image-document.png - - images/logo-ddn.png - diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart deleted file mode 100644 index e5507c9..0000000 --- a/example/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:documentscanner/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} diff --git a/example/web_camera/AUTHORS b/example/web_camera/AUTHORS deleted file mode 100644 index 493a0b4..0000000 --- a/example/web_camera/AUTHORS +++ /dev/null @@ -1,66 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -The Chromium Authors -German Saprykin -Benjamin Sauer -larsenthomasj@gmail.com -Ali Bitek -Pol Batlló -Anatoly Pulyaevskiy -Hayden Flinner -Stefano Rodriguez -Salvatore Giordano -Brian Armstrong -Paul DeMarco -Fabricio Nogueira -Simon Lightfoot -Ashton Thomas -Thomas Danner -Diego Velásquez -Hajime Nakamura -Tuyển Vũ Xuân -Miguel Ruivo -Sarthak Verma -Mike Diarmid -Invertase -Elliot Hesp -Vince Varga -Aawaz Gyawali -EUI Limited -Katarina Sheremet -Thomas Stockx -Sarbagya Dhaubanjar -Ozkan Eksi -Rishab Nayak -ko2ic -Jonathan Younger -Jose Sanchez -Debkanchan Samadder -Audrius Karosevicius -Lukasz Piliszczuk -SoundReply Solutions GmbH -Rafal Wachol -Pau Picas -Christian Weder -Alexandru Tuca -Christian Weder -Rhodes Davis Jr. -Luigi Agosti -Quentin Le Guennec -Koushik Ravikumar -Nissim Dsilva -Giancarlo Rocha -Ryo Miyake -Théo Champion -Kazuki Yamaguchi -Eitan Schwartz -Chris Rutkowski -Juan Alvarez -Aleksandr Yurkovskiy -Anton Borries -Alex Li -Rahul Raj <64.rahulraj@gmail.com> diff --git a/example/web_camera/CHANGELOG.md b/example/web_camera/CHANGELOG.md deleted file mode 100644 index fe5ec3a..0000000 --- a/example/web_camera/CHANGELOG.md +++ /dev/null @@ -1,113 +0,0 @@ -## NEXT - -* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. - -## 0.3.5 - -* Migrates to package:web to support WASM -* Updates minimum supported SDK version to Flutter 3.19/Dart 3.3. - -## 0.3.4 - -* Removes `maxVideoDuration`/`maxDuration`, as the feature was never exposed at - the app-facing package level, and is deprecated at the platform interface - level. -* Updates minimum supported SDK version to Flutter 3.16/Dart 3.2. - -## 0.3.3 - -* Adds support to control video FPS and bitrate. See `CameraController.withSettings`. -* Updates minimum supported SDK version to Flutter 3.13/Dart 3.1. - -## 0.3.2+4 - -* Updates minimum supported SDK version to Flutter 3.10/Dart 3.0. -* Fixes new lint warnings. - -## 0.3.2+3 - -* Migrates to `dart:ui_web` APIs. -* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. - -## 0.3.2+2 - -* Adds pub topics to package metadata. -* Updates minimum supported SDK version to Flutter 3.7/Dart 2.19. - -## 0.3.2+1 - -* Updates README to improve example of `Image` creation. - -## 0.3.2 - -* Changes `availableCameras` to not ask for the microphone permission. - -## 0.3.1+4 - -* Removes obsolete null checks on non-nullable values. -* Updates minimum supported SDK version to Flutter 3.3/Dart 2.18. - -## 0.3.1+3 - -* Clarifies explanation of endorsement in README. -* Aligns Dart and Flutter SDK constraints. - -## 0.3.1+2 - -* Updates links for the merge of flutter/plugins into flutter/packages. -* Updates minimum Flutter version to 3.0. - -## 0.3.1+1 - -* Updates code for stricter lint checks. - -## 0.3.1 - -* Updates to latest camera platform interface, and fails if user attempts to use streaming with recording (since streaming is currently unsupported on web). - -## 0.3.0+1 - -* Updates imports for `prefer_relative_imports`. -* Updates minimum Flutter version to 2.10. -* Fixes avoid_redundant_argument_values lint warnings and minor typos. -* Ignores unnecessary import warnings in preparation for [upcoming Flutter changes](https://github.com/flutter/flutter/pull/106316). - -## 0.3.0 - -* **BREAKING CHANGE**: Renames error code `cameraPermission` to `CameraAccessDenied` to be consistent with other platforms. - -## 0.2.1+6 - -* Minor fixes for new analysis options. - -## 0.2.1+5 - -* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors - lint warnings. - -## 0.2.1+4 - -* Migrates from `ui.hash*` to `Object.hash*`. -* Updates minimum Flutter version for changes in 0.2.1+3. - -## 0.2.1+3 - -* Internal code cleanup for stricter analysis options. - -## 0.2.1+2 - -* Fixes cameraNotReadable error that prevented access to the camera on some Android devices when initializing a camera. -* Implemented support for new Dart SDKs with an async requestFullscreen API. - -## 0.2.1+1 - -* Update usage documentation. - -## 0.2.1 - -* Add video recording functionality. -* Fix cameraNotReadable error that prevented access to the camera on some Android devices. - -## 0.2.0 - -* Initial release, adapted from the Flutter [I/O Photobooth](https://photobooth.flutter.dev/) project. diff --git a/example/web_camera/LICENSE b/example/web_camera/LICENSE deleted file mode 100644 index c6823b8..0000000 --- a/example/web_camera/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright 2013 The Flutter Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/example/web_camera/README.md b/example/web_camera/README.md deleted file mode 100644 index 12e4edf..0000000 --- a/example/web_camera/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Camera Web Plugin -The Flutter Camera Web Plugin project is ported from [https://github.com/flutter/packages/tree/main/packages/camera/camera_web](https://github.com/flutter/packages/tree/main/packages/camera/camera_web). The front camera flip is disabled in this project. - -```dart -// final bool isBackCamera = getLensDirection() == CameraLensDirection.back; - -// Flip the picture horizontally if it is not taken from a back camera. -// if (!isBackCamera) { -// canvas.context2D -// ..translate(videoWidth, 0) -// ..scale(-1, 1); -// } -``` diff --git a/example/web_camera/lib/camera_web.dart b/example/web_camera/lib/camera_web.dart deleted file mode 100644 index a2a0a5b..0000000 --- a/example/web_camera/lib/camera_web.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'src/camera_web.dart'; diff --git a/example/web_camera/lib/src/camera.dart b/example/web_camera/lib/src/camera.dart deleted file mode 100644 index 73c676d..0000000 --- a/example/web_camera/lib/src/camera.dart +++ /dev/null @@ -1,641 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; -import 'dart:js_interop'; -import 'dart:ui'; -import 'dart:ui_web' as ui_web; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:web/web.dart' as web; -import 'package:web/web.dart'; - -import 'camera_service.dart'; -import 'pkg_web_tweaks.dart'; -import 'types/types.dart'; - -String _getViewType(int cameraId) => 'plugins.flutter.io/camera_$cameraId'; - -/// A camera initialized from the media devices in the current window. -/// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices -/// -/// The obtained camera stream is constrained by [options] and fetched -/// with [CameraService.getMediaStreamForOptions]. -/// -/// The camera stream is displayed in the [videoElement] wrapped in the -/// [divElement] to avoid overriding the custom styles applied to -/// the video element in [_applyDefaultVideoStyles]. -/// See: https://github.com/flutter/flutter/issues/79519 -/// -/// The camera stream can be played/stopped by calling [play]/[stop], -/// may capture a picture by calling [takePicture] or capture a video -/// by calling [startVideoRecording], [pauseVideoRecording], -/// [resumeVideoRecording] or [stopVideoRecording]. -/// -/// The camera zoom may be adjusted with [setZoomLevel]. The provided -/// zoom level must be a value in the range of [getMinZoomLevel] to -/// [getMaxZoomLevel]. -/// -/// The [textureId] is used to register a camera view with the id -/// defined by [_getViewType]. -class Camera { - /// Creates a new instance of [Camera] - /// with the given [textureId] and optional - /// [options] and [window]. - Camera({ - required this.textureId, - required CameraService cameraService, - this.options = const CameraOptions(), - this.recorderOptions = const (audioBitrate: null, videoBitrate: null), - }) : _cameraService = cameraService; - - /// The texture id used to register the camera view. - final int textureId; - - /// The camera options used to initialize a camera, empty by default. - final CameraOptions options; - - /// The options used to initialize a MediaRecorder. - final ({int? audioBitrate, int? videoBitrate}) recorderOptions; - - /// The video element that displays the camera stream. - /// Initialized in [initialize]. - late final web.HTMLVideoElement videoElement; - - /// The wrapping element for the [videoElement] to avoid overriding - /// the custom styles applied in [_applyDefaultVideoStyles]. - /// Initialized in [initialize]. - late final web.HTMLDivElement divElement; - - /// The camera stream displayed in the [videoElement]. - /// Initialized in [initialize] and [play], reset in [stop]. - web.MediaStream? stream; - - /// The stream of the camera video tracks that have ended playing. - /// - /// This occurs when there is no more camera stream data, e.g. - /// the user has stopped the stream by changing the camera device, - /// revoked the camera permissions or ejected the camera device. - /// - /// MediaStreamTrack.onended: - /// https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/onended - Stream get onEnded => onEndedController.stream; - - /// The stream controller for the [onEnded] stream. - @visibleForTesting - final StreamController onEndedController = - StreamController.broadcast(); - - StreamSubscription? _onEndedSubscription; - - /// The stream of the camera video recording errors. - /// - /// This occurs when the video recording is not allowed or an unsupported - /// codec is used. - /// - /// MediaRecorder.error: - /// https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/error_event - Stream get onVideoRecordingError => - videoRecordingErrorController.stream; - - /// The stream provider for [MediaRecorder] error events. - @visibleForTesting - EventStreamProvider mediaRecorderOnErrorProvider = - EventStreamProviders.errorMediaRecorderEvent; - - /// The stream controller for the [onVideoRecordingError] stream. - @visibleForTesting - final StreamController videoRecordingErrorController = - StreamController.broadcast(); - - StreamSubscription? _onVideoRecordingErrorSubscription; - - /// The camera flash mode. - @visibleForTesting - FlashMode? flashMode; - - /// The camera service used to get the media stream for the camera. - final CameraService _cameraService; - - /// The current browser window used to access media devices. - @visibleForTesting - web.Window window = web.window; - - /// The recorder used to record a video from the camera. - @visibleForTesting - web.MediaRecorder? mediaRecorder; - - /// Whether the video of the given type is supported. - @visibleForTesting - bool Function(String) isVideoTypeSupported = - (String type) => web.MediaRecorder.isTypeSupported(type); - - /// The list of consecutive video data files recorded with [mediaRecorder]. - final List _videoData = []; - - /// Completes when the video recording is stopped/finished. - Completer? _videoAvailableCompleter; - - /// A data listener fired when a new part of video data is available. - void Function(web.BlobEvent)? _videoDataAvailableListener; - - /// A listener fired when a video recording is stopped. - void Function(web.Event)? _videoRecordingStoppedListener; - - /// A builder to merge a list of blobs into a single blob. - @visibleForTesting - web.Blob Function(List blobs, String type) blobBuilder = - (List blobs, String type) => - web.Blob(blobs.toJS, web.BlobPropertyBag(type: type)); - - /// The stream that emits a [VideoRecordedEvent] when a video recording is created. - Stream get onVideoRecordedEvent => - videoRecorderController.stream; - - /// The stream controller for the [onVideoRecordedEvent] stream. - @visibleForTesting - final StreamController videoRecorderController = - StreamController.broadcast(); - - /// Initializes the camera stream displayed in the [videoElement]. - /// Registers the camera view with [textureId] under [_getViewType] type. - /// Emits the camera default video track on the [onEnded] stream when it ends. - Future initialize() async { - stream = await _cameraService.getMediaStreamForOptions( - options, - cameraId: textureId, - ); - - videoElement = web.HTMLVideoElement(); - - divElement = web.HTMLDivElement() - ..style.setProperty('object-fit', 'cover') - ..style.setProperty('height', '100%') - ..style.setProperty('width', '100%') - ..append(videoElement); - - ui_web.platformViewRegistry.registerViewFactory( - _getViewType(textureId), - (_) => divElement, - ); - - videoElement - ..autoplay = false - ..muted = true - ..srcObject = stream - ..setAttribute('playsinline', ''); - - _applyDefaultVideoStyles(videoElement); - - final List videoTracks = - stream!.getVideoTracks().toDart; - - if (videoTracks.isNotEmpty) { - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - _onEndedSubscription = EventStreamProviders.endedEvent - .forTarget(defaultVideoTrack) - .listen((web.Event _) { - onEndedController.add(defaultVideoTrack); - }); - } - } - - /// Starts the camera stream. - /// - /// Initializes the camera source if the camera was previously stopped. - Future play() async { - if (videoElement.srcObject == null) { - stream = await _cameraService.getMediaStreamForOptions( - options, - cameraId: textureId, - ); - videoElement.srcObject = stream; - } - await videoElement.play().toDart; - } - - /// Pauses the camera stream on the current frame. - void pause() { - videoElement.pause(); - } - - /// Stops the camera stream and resets the camera source. - void stop() { - final List videoTracks = - stream!.getVideoTracks().toDart; - if (videoTracks.isNotEmpty) { - onEndedController.add(videoTracks.first); - } - - final List? tracks = stream?.getTracks().toDart; - if (tracks != null) { - for (final web.MediaStreamTrack track in tracks) { - track.stop(); - } - } - videoElement.srcObject = null; - stream = null; - } - - /// Captures a picture and returns the saved file in a JPEG format. - /// - /// Enables the camera flash (torch mode) for a period of taking a picture - /// if the flash mode is either [FlashMode.auto] or [FlashMode.always]. - Future takePicture() async { - final bool shouldEnableTorchMode = - flashMode == FlashMode.auto || flashMode == FlashMode.always; - - if (shouldEnableTorchMode) { - _setTorchMode(enabled: true); - } - - final int videoWidth = videoElement.videoWidth; - final int videoHeight = videoElement.videoHeight; - final web.HTMLCanvasElement canvas = web.HTMLCanvasElement() - ..width = videoWidth - ..height = videoHeight; - final bool isBackCamera = getLensDirection() == CameraLensDirection.back; - - // Flip the picture horizontally if it is not taken from a back camera. - // if (!isBackCamera) { - // canvas.context2D - // ..translate(videoWidth, 0) - // ..scale(-1, 1); - // } - - canvas.context2D.drawImageScaled( - videoElement, - 0, - 0, - videoWidth.toDouble(), - videoHeight.toDouble(), - ); - - final Completer blobCompleter = Completer(); - canvas.toBlob( - (web.Blob blob) { - blobCompleter.complete(blob); - }.toJS, - 'image/jpeg', - ); - final web.Blob blob = await blobCompleter.future; - - if (shouldEnableTorchMode) { - _setTorchMode(enabled: false); - } - - return XFile(web.URL.createObjectURL(blob)); - } - - /// Returns a size of the camera video based on its first video track size. - /// - /// Returns [Size.zero] if the camera is missing a video track or - /// the video track does not include the width or height setting. - Size getVideoSize() { - final List videoTracks = - (videoElement.srcObject as web.MediaStream?)?.getVideoTracks().toDart ?? - []; - - if (videoTracks.isEmpty) { - return Size.zero; - } - - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - - final web.MediaTrackSettings defaultVideoTrackSettings = - defaultVideoTrack.getSettings(); - - final int width = defaultVideoTrackSettings.width; - final int height = defaultVideoTrackSettings.height; - - return Size(width.toDouble(), height.toDouble()); - } - - /// Sets the camera flash mode to [mode] by modifying the camera - /// torch mode constraint. - /// - /// The torch mode is enabled for [FlashMode.torch] and - /// disabled for [FlashMode.off]. - /// - /// For [FlashMode.auto] and [FlashMode.always] the torch mode is enabled - /// only for a period of taking a picture in [takePicture]. - /// - /// Throws a [CameraWebException] if the torch mode is not supported - /// or the camera has not been initialized or started. - void setFlashMode(FlashMode mode) { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - final web.MediaTrackSupportedConstraints supportedConstraints = - mediaDevices.getSupportedConstraints(); - final bool torchModeSupported = supportedConstraints.torchNullable ?? false; - - if (!torchModeSupported) { - throw CameraWebException( - textureId, - CameraErrorCode.torchModeNotSupported, - 'The torch mode is not supported in the current browser.', - ); - } - - // Save the updated flash mode to be used later when taking a picture. - flashMode = mode; - - // Enable the torch mode only if the flash mode is torch. - _setTorchMode(enabled: mode == FlashMode.torch); - } - - /// Sets the camera torch mode constraint to [enabled]. - /// - /// Throws a [CameraWebException] if the torch mode is not supported - /// or the camera has not been initialized or started. - void _setTorchMode({required bool enabled}) { - final List videoTracks = - stream?.getVideoTracks().toDart ?? []; - - if (videoTracks.isNotEmpty) { - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - final bool canEnableTorchMode = defaultVideoTrack - .getCapabilities() - .torchNullable - ?.toDart - .first - .toDart ?? - false; - - if (canEnableTorchMode) { - defaultVideoTrack.applyWebTweakConstraints( - WebTweakMediaTrackConstraints(torch: enabled.toJS)); - } else { - throw CameraWebException( - textureId, - CameraErrorCode.torchModeNotSupported, - 'The torch mode is not supported by the current camera.', - ); - } - } else { - throw CameraWebException( - textureId, - CameraErrorCode.notStarted, - 'The camera has not been initialized or started.', - ); - } - } - - /// Returns the camera maximum zoom level. - /// - /// Throws a [CameraWebException] if the zoom level is not supported - /// or the camera has not been initialized or started. - double getMaxZoomLevel() => - _cameraService.getZoomLevelCapabilityForCamera(this).maximum; - - /// Returns the camera minimum zoom level. - /// - /// Throws a [CameraWebException] if the zoom level is not supported - /// or the camera has not been initialized or started. - double getMinZoomLevel() => - _cameraService.getZoomLevelCapabilityForCamera(this).minimum; - - /// Sets the camera zoom level to [zoom]. - /// - /// Throws a [CameraWebException] if the zoom level is invalid, - /// not supported or the camera has not been initialized or started. - void setZoomLevel(double zoom) { - final ZoomLevelCapability zoomLevelCapability = - _cameraService.getZoomLevelCapabilityForCamera(this); - - if (zoom < zoomLevelCapability.minimum || - zoom > zoomLevelCapability.maximum) { - throw CameraWebException( - textureId, - CameraErrorCode.zoomLevelInvalid, - 'The provided zoom level must be in the range of ${zoomLevelCapability.minimum} to ${zoomLevelCapability.maximum}.', - ); - } - - zoomLevelCapability.videoTrack.applyWebTweakConstraints( - WebTweakMediaTrackConstraints(zoom: zoom.toJS)); - } - - /// Returns a lens direction of this camera. - /// - /// Returns null if the camera is missing a video track or - /// the video track does not include the facing mode setting. - CameraLensDirection? getLensDirection() { - final List videoTracks = - (videoElement.srcObject as web.MediaStream?)?.getVideoTracks().toDart ?? - []; - - if (videoTracks.isEmpty) { - return null; - } - - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - final web.MediaTrackSettings defaultVideoTrackSettings = - defaultVideoTrack.getSettings(); - - final String? facingMode = defaultVideoTrackSettings.facingModeNullable; - - if (facingMode != null && facingMode.isNotEmpty) { - return _cameraService.mapFacingModeToLensDirection(facingMode); - } else { - return null; - } - } - - /// Returns the registered view type of the camera. - String getViewType() => _getViewType(textureId); - - /// Starts a new video recording using [web.MediaRecorder]. - /// - /// Throws a [CameraWebException] if the browser does not support any of the - /// available video mime types from [_videoMimeType]. - Future startVideoRecording() async { - final web.MediaRecorderOptions options = - web.MediaRecorderOptions(mimeType: _videoMimeType); - if (recorderOptions.audioBitrate != null) { - options.audioBitsPerSecond = recorderOptions.audioBitrate!; - } - if (recorderOptions.videoBitrate != null) { - options.videoBitsPerSecond = recorderOptions.videoBitrate!; - } - - mediaRecorder ??= - web.MediaRecorder(videoElement.srcObject! as web.MediaStream, options); - - _videoAvailableCompleter = Completer(); - - _videoDataAvailableListener = - (web.BlobEvent event) => _onVideoDataAvailable(event); - - _videoRecordingStoppedListener = - (web.Event event) => _onVideoRecordingStopped(event); - - mediaRecorder!.addEventListener( - 'dataavailable', - _videoDataAvailableListener?.toJS, - ); - - mediaRecorder!.addEventListener( - 'stop', - _videoRecordingStoppedListener?.toJS, - ); - - _onVideoRecordingErrorSubscription = mediaRecorderOnErrorProvider - .forTarget(mediaRecorder) - .listen((web.Event event) { - final web.ErrorEvent error = event as web.ErrorEvent; - videoRecordingErrorController.add(error); - }); - - mediaRecorder!.start(); - } - - void _onVideoDataAvailable(web.BlobEvent event) { - // Append the recorded part of the video to the list of all video data files. - _videoData.add(event.data); - } - - Future _onVideoRecordingStopped(web.Event event) async { - if (_videoData.isNotEmpty) { - // Concatenate all video data files into a single blob. - final String videoType = _videoData.first.type; - final web.Blob videoBlob = blobBuilder(_videoData, videoType); - - // Create a file containing the video blob. - final XFile file = XFile( - web.URL.createObjectURL(videoBlob), - mimeType: _videoMimeType, - name: videoBlob.hashCode.toString(), - ); - - // Emit an event containing the recorded video file. - videoRecorderController.add( - VideoRecordedEvent(textureId, file, null), - ); - - _videoAvailableCompleter?.complete(file); - } - - // Clean up the media recorder with its event listeners and video data. - mediaRecorder!.removeEventListener( - 'dataavailable', - _videoDataAvailableListener?.toJS, - ); - - mediaRecorder!.removeEventListener( - 'stop', - _videoDataAvailableListener?.toJS, - ); - - await _onVideoRecordingErrorSubscription?.cancel(); - - mediaRecorder = null; - _videoDataAvailableListener = null; - _videoRecordingStoppedListener = null; - _videoData.clear(); - } - - /// Pauses the current video recording. - /// - /// Throws a [CameraWebException] if the video recorder is uninitialized. - Future pauseVideoRecording() async { - if (mediaRecorder == null) { - throw _videoRecordingNotStartedException; - } - mediaRecorder!.pause(); - } - - /// Resumes the current video recording. - /// - /// Throws a [CameraWebException] if the video recorder is uninitialized. - Future resumeVideoRecording() async { - if (mediaRecorder == null) { - throw _videoRecordingNotStartedException; - } - mediaRecorder!.resume(); - } - - /// Stops the video recording and returns the captured video file. - /// - /// Throws a [CameraWebException] if the video recorder is uninitialized. - Future stopVideoRecording() async { - if (mediaRecorder == null || _videoAvailableCompleter == null) { - throw _videoRecordingNotStartedException; - } - - mediaRecorder!.stop(); - - return _videoAvailableCompleter!.future; - } - - /// Disposes the camera by stopping the camera stream, - /// the video recording and reloading the camera source. - Future dispose() async { - // Stop the camera stream. - stop(); - - await videoRecorderController.close(); - mediaRecorder = null; - _videoDataAvailableListener = null; - - // Reset the [videoElement] to its initial state. - videoElement - ..srcObject = null - ..load(); - - await _onEndedSubscription?.cancel(); - _onEndedSubscription = null; - await onEndedController.close(); - - await _onVideoRecordingErrorSubscription?.cancel(); - _onVideoRecordingErrorSubscription = null; - await videoRecordingErrorController.close(); - } - - /// Returns the first supported video mime type (amongst mp4 and webm) - /// to use when recording a video. - /// - /// Throws a [CameraWebException] if the browser does not support - /// any of the available video mime types. - String get _videoMimeType { - const List types = [ - 'video/webm;codecs="vp9,opus"', - 'video/mp4', - 'video/webm', - ]; - - return types.firstWhere( - (String type) => isVideoTypeSupported(type), - orElse: () => throw CameraWebException( - textureId, - CameraErrorCode.notSupported, - 'The browser does not support any of the following video types: ${types.join(',')}.', - ), - ); - } - - CameraWebException get _videoRecordingNotStartedException => - CameraWebException( - textureId, - CameraErrorCode.videoRecordingNotStarted, - 'The video recorder is uninitialized. The recording might not have been started. Make sure to call `startVideoRecording` first.', - ); - - /// Applies default styles to the video [element]. - void _applyDefaultVideoStyles(web.HTMLVideoElement element) { - final bool isBackCamera = getLensDirection() == CameraLensDirection.back; - - // Flip the video horizontally if it is not taken from a back camera. - // if (!isBackCamera) { - // element.style.transform = 'scaleX(-1)'; - // } - - element.style - ..transformOrigin = 'center' - ..pointerEvents = 'none' - ..width = '100%' - ..height = '100%' - ..objectFit = 'cover'; - } -} diff --git a/example/web_camera/lib/src/camera_service.dart b/example/web_camera/lib/src/camera_service.dart deleted file mode 100644 index 072fe06..0000000 --- a/example/web_camera/lib/src/camera_service.dart +++ /dev/null @@ -1,366 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:js_interop'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:web/web.dart' as web; - -import 'camera.dart'; -import 'pkg_web_tweaks.dart'; -import 'shims/dart_js_util.dart'; -import 'types/types.dart'; - -/// A service to fetch, map camera settings and -/// obtain the camera stream. -class CameraService { - /// The current browser window used to access media devices. - @visibleForTesting - web.Window window = web.window; - - /// The utility to manipulate JavaScript interop objects. - @visibleForTesting - JsUtil jsUtil = JsUtil(); - - /// Returns a media stream associated with the camera device - /// with [cameraId] and constrained by [options]. - Future getMediaStreamForOptions( - CameraOptions options, { - int cameraId = 0, - }) async { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - - try { - return await mediaDevices - .getUserMedia( - options.toMediaStreamConstraints(), - ) - .toDart; - } on web.DOMException catch (e) { - switch (e.name) { - case 'NotFoundError': - case 'DevicesNotFoundError': - throw CameraWebException( - cameraId, - CameraErrorCode.notFound, - 'No camera found for the given camera options.', - ); - case 'NotReadableError': - case 'TrackStartError': - throw CameraWebException( - cameraId, - CameraErrorCode.notReadable, - 'The camera is not readable due to a hardware error ' - 'that prevented access to the device.', - ); - case 'OverconstrainedError': - case 'ConstraintNotSatisfiedError': - throw CameraWebException( - cameraId, - CameraErrorCode.overconstrained, - 'The camera options are impossible to satisfy.', - ); - case 'NotAllowedError': - case 'PermissionDeniedError': - throw CameraWebException( - cameraId, - CameraErrorCode.permissionDenied, - 'The camera cannot be used or the permission ' - 'to access the camera is not granted.', - ); - case 'TypeError': - throw CameraWebException( - cameraId, - CameraErrorCode.type, - 'The camera options are incorrect or attempted ' - 'to access the media input from an insecure context.', - ); - case 'AbortError': - throw CameraWebException( - cameraId, - CameraErrorCode.abort, - 'Some problem occurred that prevented the camera from being used.', - ); - case 'SecurityError': - throw CameraWebException( - cameraId, - CameraErrorCode.security, - 'The user media support is disabled in the current browser.', - ); - default: - throw CameraWebException( - cameraId, - CameraErrorCode.unknown, - 'An unknown error occurred when fetching the camera stream.', - ); - } - } catch (_) { - throw CameraWebException( - cameraId, - CameraErrorCode.unknown, - 'An unknown error occurred when fetching the camera stream.', - ); - } - } - - /// Returns the zoom level capability for the given [camera]. - /// - /// Throws a [CameraWebException] if the zoom level is not supported - /// or the camera has not been initialized or started. - ZoomLevelCapability getZoomLevelCapabilityForCamera( - Camera camera, - ) { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - final web.MediaTrackSupportedConstraints supportedConstraints = - mediaDevices.getSupportedConstraints(); - final bool zoomLevelSupported = supportedConstraints.zoomNullable ?? false; - - if (!zoomLevelSupported) { - throw CameraWebException( - camera.textureId, - CameraErrorCode.zoomLevelNotSupported, - 'The zoom level is not supported in the current browser.', - ); - } - - final List videoTracks = - camera.stream?.getVideoTracks().toDart ?? []; - - if (videoTracks.isNotEmpty) { - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - - /// The zoom level capability is represented by MediaSettingsRange. - /// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaSettingsRange - final WebTweakMediaSettingsRange? zoomLevelCapability = - defaultVideoTrack.getCapabilities().zoomNullable; - - if (zoomLevelCapability != null) { - return ZoomLevelCapability( - minimum: zoomLevelCapability.min, - maximum: zoomLevelCapability.max, - videoTrack: defaultVideoTrack, - ); - } else { - throw CameraWebException( - camera.textureId, - CameraErrorCode.zoomLevelNotSupported, - 'The zoom level is not supported by the current camera.', - ); - } - } else { - throw CameraWebException( - camera.textureId, - CameraErrorCode.notStarted, - 'The camera has not been initialized or started.', - ); - } - } - - /// Returns a facing mode of the [videoTrack] - /// (null if the facing mode is not available). - String? getFacingModeForVideoTrack(web.MediaStreamTrack videoTrack) { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - - // Check if the camera facing mode is supported by the current browser. - final web.MediaTrackSupportedConstraints supportedConstraints = - mediaDevices.getSupportedConstraints(); - - // Return null if the facing mode is not supported. - if (!supportedConstraints.facingMode) { - return null; - } - - // Extract the facing mode from the video track settings. - // The property may not be available if it's not supported - // by the browser or not available due to context. - // - // MediaTrackSettings: - // https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings - final web.MediaTrackSettings videoTrackSettings = videoTrack.getSettings(); - final String? facingMode = videoTrackSettings.facingModeNullable; - - if (facingMode == null || facingMode.isEmpty) { - // If the facing mode does not exist in the video track settings, - // check for the facing mode in the video track capabilities. - // - // MediaTrackCapabilities: - // https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackcapabilities - - // Check if getting the video track capabilities is supported. - // - // The method may not be supported on Firefox. - // See: https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/getCapabilities#browser_compatibility - if (!jsUtil.hasProperty(videoTrack, 'getCapabilities'.toJS)) { - // Return null if the video track capabilities are not supported. - return null; - } - - final web.MediaTrackCapabilities videoTrackCapabilities = - videoTrack.getCapabilities(); - - // A list of facing mode capabilities as - // the camera may support multiple facing modes. - final List facingModeCapabilities = videoTrackCapabilities - .facingMode.toDart - .map((JSString e) => e.toDart) - .toList(); - - if (facingModeCapabilities.isNotEmpty) { - final String facingModeCapability = facingModeCapabilities.first; - return facingModeCapability; - } else { - // Return null if there are no facing mode capabilities. - return null; - } - } - - return facingMode; - } - - /// Maps the given [facingMode] to [CameraLensDirection]. - /// - /// The following values for the facing mode are supported: - /// https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings/facingMode - CameraLensDirection mapFacingModeToLensDirection(String facingMode) { - switch (facingMode) { - case 'user': - return CameraLensDirection.front; - case 'environment': - return CameraLensDirection.back; - case 'left': - case 'right': - default: - return CameraLensDirection.external; - } - } - - /// Maps the given [facingMode] to [CameraType]. - /// - /// See [CameraMetadata.facingMode] for more details. - CameraType mapFacingModeToCameraType(String facingMode) { - switch (facingMode) { - case 'user': - return CameraType.user; - case 'environment': - return CameraType.environment; - case 'left': - case 'right': - default: - return CameraType.user; - } - } - - /// Maps the given [resolutionPreset] to [Size]. - Size mapResolutionPresetToSize(ResolutionPreset resolutionPreset) { - switch (resolutionPreset) { - case ResolutionPreset.max: - case ResolutionPreset.ultraHigh: - return const Size(4096, 2160); - case ResolutionPreset.veryHigh: - return const Size(1920, 1080); - case ResolutionPreset.high: - return const Size(1280, 720); - case ResolutionPreset.medium: - return const Size(720, 480); - case ResolutionPreset.low: - return const Size(320, 240); - } - // The enum comes from a different package, which could get a new value at - // any time, so provide a fallback that ensures this won't break when used - // with a version that contains new values. This is deliberately outside - // the switch rather than a `default` so that the linter will flag the - // switch as needing an update. - // ignore: dead_code - return const Size(320, 240); - } - - static const int _kiloBits = 1000; - static const int _megaBits = _kiloBits * _kiloBits; - - /// Maps the given [resolutionPreset] to video bitrate. - int mapResolutionPresetToVideoBitrate(ResolutionPreset resolutionPreset) { - switch (resolutionPreset) { - case ResolutionPreset.max: - case ResolutionPreset.ultraHigh: - return 8 * _megaBits; - case ResolutionPreset.veryHigh: - return 4 * _megaBits; - case ResolutionPreset.high: - return 1 * _megaBits; - case ResolutionPreset.medium: - return 400 * _kiloBits; - case ResolutionPreset.low: - return 200 * _kiloBits; - } - - // The enum comes from a different package, which could get a new value at - // any time, so provide a fallback that ensures this won't break when used - // with a version that contains new values. This is deliberately outside - // the switch rather than a `default` so that the linter will flag the - // switch as needing an update. - // ignore: dead_code - return 1 * _megaBits; - } - - /// Maps the given [resolutionPreset] to audio bitrate. - int mapResolutionPresetToAudioBitrate(ResolutionPreset resolutionPreset) { - switch (resolutionPreset) { - case ResolutionPreset.max: - case ResolutionPreset.ultraHigh: - return 128 * _kiloBits; - case ResolutionPreset.veryHigh: - return 128 * _kiloBits; - case ResolutionPreset.high: - return 64 * _kiloBits; - case ResolutionPreset.medium: - return 48 * _kiloBits; - case ResolutionPreset.low: - return 32 * _kiloBits; - } - - // The enum comes from a different package, which could get a new value at - // any time, so provide a fallback that ensures this won't break when used - // with a version that contains new values. This is deliberately outside - // the switch rather than a `default` so that the linter will flag the - // switch as needing an update. - // ignore: dead_code - return 64 * _kiloBits; - } - - /// Maps the given [deviceOrientation] to [OrientationType]. - String mapDeviceOrientationToOrientationType( - DeviceOrientation deviceOrientation, - ) { - switch (deviceOrientation) { - case DeviceOrientation.portraitUp: - return OrientationType.portraitPrimary; - case DeviceOrientation.landscapeLeft: - return OrientationType.landscapePrimary; - case DeviceOrientation.portraitDown: - return OrientationType.portraitSecondary; - case DeviceOrientation.landscapeRight: - return OrientationType.landscapeSecondary; - } - } - - /// Maps the given [orientationType] to [DeviceOrientation]. - DeviceOrientation mapOrientationTypeToDeviceOrientation( - String orientationType, - ) { - switch (orientationType) { - case OrientationType.portraitPrimary: - return DeviceOrientation.portraitUp; - case OrientationType.landscapePrimary: - return DeviceOrientation.landscapeLeft; - case OrientationType.portraitSecondary: - return DeviceOrientation.portraitDown; - case OrientationType.landscapeSecondary: - return DeviceOrientation.landscapeRight; - default: - return DeviceOrientation.portraitUp; - } - } -} diff --git a/example/web_camera/lib/src/camera_web.dart b/example/web_camera/lib/src/camera_web.dart deleted file mode 100644 index 11d1431..0000000 --- a/example/web_camera/lib/src/camera_web.dart +++ /dev/null @@ -1,722 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; -import 'dart:js_interop'; -import 'dart:math'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; -import 'package:stream_transform/stream_transform.dart'; -import 'package:web/web.dart' as web; - -import 'camera.dart'; -import 'camera_service.dart'; -import 'pkg_web_tweaks.dart'; -import 'types/types.dart'; - -// The default error message, when the error is an empty string. -// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaError/message -const String _kDefaultErrorMessage = - 'No further diagnostic information can be determined or provided.'; - -/// The web implementation of [CameraPlatform]. -/// -/// This class implements the `package:camera` functionality for the web. -class CameraPlugin extends CameraPlatform { - /// Creates a new instance of [CameraPlugin] - /// with the given [cameraService]. - CameraPlugin({required CameraService cameraService}) - : _cameraService = cameraService; - - /// Registers this class as the default instance of [CameraPlatform]. - static void registerWith(Registrar registrar) { - CameraPlatform.instance = CameraPlugin( - cameraService: CameraService(), - ); - } - - final CameraService _cameraService; - - /// The cameras managed by the [CameraPlugin]. - @visibleForTesting - final Map cameras = {}; - int _textureCounter = 1; - - /// Metadata associated with each camera description. - /// Populated in [availableCameras]. - @visibleForTesting - final Map camerasMetadata = - {}; - - /// The controller used to broadcast different camera events. - /// - /// It is `broadcast` as multiple controllers may subscribe - /// to different stream views of this controller. - @visibleForTesting - final StreamController cameraEventStreamController = - StreamController.broadcast(); - - /// The stream provider for [web.HTMLVideoElement] error events. - @visibleForTesting - web.EventStreamProvider videoElementOnErrorProvider = - web.EventStreamProviders.errorElementEvent; - - final Map> _cameraVideoErrorSubscriptions = - >{}; - - /// The stream provider for [web.HTMLVideoElement] abort events. - @visibleForTesting - web.EventStreamProvider videoElementOnAbortProvider = - web.EventStreamProviders.errorElementEvent; - - final Map> _cameraVideoAbortSubscriptions = - >{}; - - final Map> - _cameraEndedSubscriptions = - >{}; - - final Map> - _cameraVideoRecordingErrorSubscriptions = - >{}; - - /// Returns a stream of camera events for the given [cameraId]. - Stream _cameraEvents(int cameraId) => - cameraEventStreamController.stream - .where((CameraEvent event) => event.cameraId == cameraId); - - /// The stream provider for [web.ScreenOrientation] change events. - @visibleForTesting - web.EventStreamProvider orientationOnChangeProvider = - web.EventStreamProviders.changeEvent; - - /// The current browser window used to access media devices. - @visibleForTesting - web.Window window = web.window; - - @override - Future> availableCameras() async { - try { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - final List cameras = []; - - // Request video permissions only. - final web.MediaStream cameraStream = - await _cameraService.getMediaStreamForOptions(const CameraOptions()); - - // Release the camera stream used to request video permissions. - cameraStream - .getVideoTracks() - .toDart - .forEach((web.MediaStreamTrack videoTrack) => videoTrack.stop()); - - // Request available media devices. - final List devices = - (await mediaDevices.enumerateDevices().toDart).toDart; - - // Filter video input devices. - final Iterable videoInputDevices = devices - .where( - (web.MediaDeviceInfo device) => - device.kind == MediaDeviceKind.videoInput, - ) - - /// The device id property is currently not supported on Internet Explorer: - /// https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/deviceId#browser_compatibility - .where((web.MediaDeviceInfo device) => device.deviceId.isNotEmpty); - - // Map video input devices to camera descriptions. - for (final web.MediaDeviceInfo videoInputDevice in videoInputDevices) { - // Get the video stream for the current video input device - // to later use for the available video tracks. - final web.MediaStream videoStream = - await _getVideoStreamForDevice(videoInputDevice.deviceId); - - // Get all video tracks in the video stream - // to later extract the lens direction from the first track. - final List videoTracks = - videoStream.getVideoTracks().toDart; - - if (videoTracks.isNotEmpty) { - // Get the facing mode from the first available video track. - final String? facingMode = - _cameraService.getFacingModeForVideoTrack(videoTracks.first); - - // Get the lens direction based on the facing mode. - // Fallback to the external lens direction - // if the facing mode is not available. - final CameraLensDirection lensDirection = facingMode != null - ? _cameraService.mapFacingModeToLensDirection(facingMode) - : CameraLensDirection.external; - - // Create a camera description. - // - // The name is a camera label which might be empty - // if no permissions to media devices have been granted. - // - // MediaDeviceInfo.label: - // https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/label - // - // Sensor orientation is currently not supported. - final CameraDescription camera = CameraDescription( - name: videoInputDevice.label, - lensDirection: lensDirection, - sensorOrientation: 0, - ); - - final CameraMetadata cameraMetadata = CameraMetadata( - deviceId: videoInputDevice.deviceId, - facingMode: facingMode, - ); - - cameras.add(camera); - - camerasMetadata[camera] = cameraMetadata; - - // Release the camera stream of the current video input device. - for (final web.MediaStreamTrack videoTrack in videoTracks) { - videoTrack.stop(); - } - } else { - // Ignore as no video tracks exist in the current video input device. - continue; - } - } - - return cameras; - } on web.DOMException catch (e) { - throw CameraException(e.name, e.message); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw CameraException(e.code.toString(), e.description); - } - } - - @override - Future createCamera( - CameraDescription cameraDescription, - ResolutionPreset? resolutionPreset, { - bool enableAudio = false, - }) => - createCameraWithSettings( - cameraDescription, - MediaSettings( - resolutionPreset: resolutionPreset, - enableAudio: enableAudio, - )); - - @override - Future createCameraWithSettings( - CameraDescription cameraDescription, - MediaSettings? mediaSettings, - ) async { - try { - if (!camerasMetadata.containsKey(cameraDescription)) { - throw PlatformException( - code: CameraErrorCode.missingMetadata.toString(), - message: - 'Missing camera metadata. Make sure to call `availableCameras` before creating a camera.', - ); - } - - final int textureId = _textureCounter++; - - final CameraMetadata cameraMetadata = camerasMetadata[cameraDescription]!; - - final CameraType? cameraType = cameraMetadata.facingMode != null - ? _cameraService.mapFacingModeToCameraType(cameraMetadata.facingMode!) - : null; - - // Use the highest resolution possible - // if the resolution preset is not specified. - final Size videoSize = _cameraService.mapResolutionPresetToSize( - mediaSettings?.resolutionPreset ?? ResolutionPreset.max); - - // Create a camera with the given audio and video constraints. - // Sensor orientation is currently not supported. - final Camera camera = Camera( - textureId: textureId, - cameraService: _cameraService, - options: CameraOptions( - audio: AudioConstraints(enabled: mediaSettings?.enableAudio ?? true), - video: VideoConstraints( - facingMode: - cameraType != null ? FacingModeConstraint(cameraType) : null, - width: VideoSizeConstraint( - ideal: videoSize.width.toInt(), - ), - height: VideoSizeConstraint( - ideal: videoSize.height.toInt(), - ), - deviceId: cameraMetadata.deviceId, - ), - ), - recorderOptions: ( - audioBitrate: mediaSettings?.audioBitrate, - videoBitrate: mediaSettings?.videoBitrate, - ), - ); - - cameras[textureId] = camera; - - return textureId; - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - @override - Future initializeCamera( - int cameraId, { - // The image format group is currently not supported. - ImageFormatGroup imageFormatGroup = ImageFormatGroup.unknown, - }) async { - try { - final Camera camera = getCamera(cameraId); - - await camera.initialize(); - - // Add camera's video error events to the camera events stream. - // The error event fires when the video element's source has failed to load, or can't be used. - _cameraVideoErrorSubscriptions[cameraId] = videoElementOnErrorProvider - .forElement(camera.videoElement) - .listen((web.Event _) { - // The Event itself (_) doesn't contain information about the actual error. - // We need to look at the HTMLMediaElement.error. - // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error - final web.MediaError error = camera.videoElement.error!; - final CameraErrorCode errorCode = CameraErrorCode.fromMediaError(error); - final String errorMessage = - error.message != '' ? error.message : _kDefaultErrorMessage; - - cameraEventStreamController.add( - CameraErrorEvent( - cameraId, - 'Error code: $errorCode, error message: $errorMessage', - ), - ); - }); - - // Add camera's video abort events to the camera events stream. - // The abort event fires when the video element's source has not fully loaded. - _cameraVideoAbortSubscriptions[cameraId] = videoElementOnAbortProvider - .forElement(camera.videoElement) - .listen((web.Event _) { - cameraEventStreamController.add( - CameraErrorEvent( - cameraId, - "Error code: ${CameraErrorCode.abort}, error message: The video element's source has not fully loaded.", - ), - ); - }); - - await camera.play(); - - // Add camera's closing events to the camera events stream. - // The onEnded stream fires when there is no more camera stream data. - _cameraEndedSubscriptions[cameraId] = - camera.onEnded.listen((web.MediaStreamTrack _) { - cameraEventStreamController.add( - CameraClosingEvent(cameraId), - ); - }); - - final Size cameraSize = camera.getVideoSize(); - - cameraEventStreamController.add( - CameraInitializedEvent( - cameraId, - cameraSize.width, - cameraSize.height, - // TODO(bselwe): Add support for exposure mode and point (https://github.com/flutter/flutter/issues/86857). - ExposureMode.auto, - false, - // TODO(bselwe): Add support for focus mode and point (https://github.com/flutter/flutter/issues/86858). - FocusMode.auto, - false, - ), - ); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Stream onCameraInitialized(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - /// Emits an empty stream as there is no event corresponding to a change - /// in the camera resolution on the web. - /// - /// In order to change the camera resolution a new camera with appropriate - /// [CameraOptions.video] constraints has to be created and initialized. - @override - Stream onCameraResolutionChanged(int cameraId) { - return const Stream.empty(); - } - - @override - Stream onCameraClosing(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onCameraError(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onVideoRecordedEvent(int cameraId) { - return getCamera(cameraId).onVideoRecordedEvent; - } - - @override - Stream onDeviceOrientationChanged() { - final web.ScreenOrientation orientation = window.screen.orientation; - - // Create an initial orientation event that emits the device orientation - // as soon as subscribed to this stream. - final web.Event initialOrientationEvent = web.Event('change'); - - return orientationOnChangeProvider - .forTarget(orientation) - .startWith(initialOrientationEvent) - .map( - (web.Event _) { - final DeviceOrientation deviceOrientation = _cameraService - .mapOrientationTypeToDeviceOrientation(orientation.type); - return DeviceOrientationChangedEvent(deviceOrientation); - }, - ); - } - - @override - Future lockCaptureOrientation( - int cameraId, - DeviceOrientation orientation, - ) async { - try { - final web.ScreenOrientation screenOrientation = window.screen.orientation; - final web.Element? documentElement = window.document.documentElement; - - if (documentElement != null) { - final String orientationType = - _cameraService.mapDeviceOrientationToOrientationType(orientation); - - // Full-screen mode may be required to modify the device orientation. - // See: https://w3c.github.io/screen-orientation/#interaction-with-fullscreen-api - // Recent versions of Dart changed requestFullscreen to return a Future instead of void. - // This wrapper allows use of both the old and new APIs. - dynamic fullScreen() => documentElement.requestFullScreenTweak(); - await fullScreen(); - await screenOrientation.lock(orientationType).toDart; - } else { - throw PlatformException( - code: CameraErrorCode.orientationNotSupported.toString(), - message: 'Orientation is not supported in the current browser.', - ); - } - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } - } - - @override - Future unlockCaptureOrientation(int cameraId) async { - try { - final web.ScreenOrientation orientation = window.screen.orientation; - final web.Element? documentElement = window.document.documentElement; - - if (documentElement != null) { - orientation.unlock(); - } else { - throw PlatformException( - code: CameraErrorCode.orientationNotSupported.toString(), - message: 'Orientation is not supported in the current browser.', - ); - } - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } - } - - @override - Future takePicture(int cameraId) { - try { - return getCamera(cameraId).takePicture(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future prepareForVideoRecording() async { - // This is a no-op as it is not required for the web. - } - - @override - Future startVideoRecording(int cameraId, {Duration? maxVideoDuration}) { - // Ignore maxVideoDuration, as it is deprecated. - return startVideoCapturing(VideoCaptureOptions(cameraId)); - } - - @override - Future startVideoCapturing(VideoCaptureOptions options) { - if (options.streamCallback != null || options.streamOptions != null) { - throw UnimplementedError('Streaming is not currently supported on web'); - } - - try { - final Camera camera = getCamera(options.cameraId); - - // Add camera's video recording errors to the camera events stream. - // The error event fires when the video recording is not allowed or an unsupported - // codec is used. - _cameraVideoRecordingErrorSubscriptions[options.cameraId] = - camera.onVideoRecordingError.listen((web.ErrorEvent errorEvent) { - cameraEventStreamController.add( - CameraErrorEvent( - options.cameraId, - 'Error code: ${errorEvent.type}, error message: ${errorEvent.message}.', - ), - ); - }); - - return camera.startVideoRecording(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future stopVideoRecording(int cameraId) async { - try { - final XFile videoRecording = - await getCamera(cameraId).stopVideoRecording(); - await _cameraVideoRecordingErrorSubscriptions[cameraId]?.cancel(); - return videoRecording; - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future pauseVideoRecording(int cameraId) { - try { - return getCamera(cameraId).pauseVideoRecording(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future resumeVideoRecording(int cameraId) { - try { - return getCamera(cameraId).resumeVideoRecording(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future setFlashMode(int cameraId, FlashMode mode) async { - try { - getCamera(cameraId).setFlashMode(mode); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future setExposureMode(int cameraId, ExposureMode mode) { - throw UnimplementedError('setExposureMode() is not implemented.'); - } - - @override - Future setExposurePoint(int cameraId, Point? point) { - throw UnimplementedError('setExposurePoint() is not implemented.'); - } - - @override - Future getMinExposureOffset(int cameraId) { - throw UnimplementedError('getMinExposureOffset() is not implemented.'); - } - - @override - Future getMaxExposureOffset(int cameraId) { - throw UnimplementedError('getMaxExposureOffset() is not implemented.'); - } - - @override - Future getExposureOffsetStepSize(int cameraId) { - throw UnimplementedError('getExposureOffsetStepSize() is not implemented.'); - } - - @override - Future setExposureOffset(int cameraId, double offset) { - throw UnimplementedError('setExposureOffset() is not implemented.'); - } - - @override - Future setFocusMode(int cameraId, FocusMode mode) { - throw UnimplementedError('setFocusMode() is not implemented.'); - } - - @override - Future setFocusPoint(int cameraId, Point? point) { - throw UnimplementedError('setFocusPoint() is not implemented.'); - } - - @override - Future getMaxZoomLevel(int cameraId) async { - try { - return getCamera(cameraId).getMaxZoomLevel(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future getMinZoomLevel(int cameraId) async { - try { - return getCamera(cameraId).getMinZoomLevel(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future setZoomLevel(int cameraId, double zoom) async { - try { - getCamera(cameraId).setZoomLevel(zoom); - } on web.DOMException catch (e) { - throw CameraException(e.name, e.message); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw CameraException(e.code.toString(), e.description); - } - } - - @override - Future pausePreview(int cameraId) async { - try { - getCamera(cameraId).pause(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } - } - - @override - Future resumePreview(int cameraId) async { - try { - await getCamera(cameraId).play(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Widget buildPreview(int cameraId) { - return HtmlElementView( - viewType: getCamera(cameraId).getViewType(), - ); - } - - @override - Future dispose(int cameraId) async { - try { - await getCamera(cameraId).dispose(); - await _cameraVideoErrorSubscriptions[cameraId]?.cancel(); - await _cameraVideoAbortSubscriptions[cameraId]?.cancel(); - - await _cameraEndedSubscriptions[cameraId]?.cancel(); - await _cameraVideoRecordingErrorSubscriptions[cameraId]?.cancel(); - - cameras.remove(cameraId); - _cameraVideoErrorSubscriptions.remove(cameraId); - _cameraVideoAbortSubscriptions.remove(cameraId); - _cameraEndedSubscriptions.remove(cameraId); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } - } - - /// Returns a media video stream for the device with the given [deviceId]. - Future _getVideoStreamForDevice( - String deviceId, - ) { - // Create camera options with the desired device id. - final CameraOptions cameraOptions = CameraOptions( - video: VideoConstraints(deviceId: deviceId), - ); - - return _cameraService.getMediaStreamForOptions(cameraOptions); - } - - /// Returns a camera for the given [cameraId]. - /// - /// Throws a [CameraException] if the camera does not exist. - @visibleForTesting - Camera getCamera(int cameraId) { - final Camera? camera = cameras[cameraId]; - - if (camera == null) { - throw PlatformException( - code: CameraErrorCode.notFound.toString(), - message: 'No camera found for the given camera id $cameraId.', - ); - } - - return camera; - } - - /// Adds a [CameraErrorEvent], associated with the [exception], - /// to the stream of camera events. - void _addCameraErrorEvent(CameraWebException exception) { - cameraEventStreamController.add( - CameraErrorEvent( - exception.cameraId, - 'Error code: ${exception.code}, error message: ${exception.description}', - ), - ); - } -} diff --git a/example/web_camera/lib/src/pkg_web_tweaks.dart b/example/web_camera/lib/src/pkg_web_tweaks.dart deleted file mode 100644 index fb0e84e..0000000 --- a/example/web_camera/lib/src/pkg_web_tweaks.dart +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// ignore_for_file: public_member_api_docs - -import 'dart:js_interop'; - -import 'package:web/web.dart'; - -/// Adds missing fields to [Element]. -extension FullScreenSupportMethods on Element { - @JS('requestFullscreen') - external JSPromise requestFullScreenTweak([JSAny options]); -} - -/// Adds missing fields to [MediaTrackSupportedConstraints]. -extension NonStandardFieldsOnMediaTrackSupportedConstraints - on MediaTrackSupportedConstraints { - @JS('zoom') - external bool? get zoomNullable; - - @JS('torch') - external bool? get torchNullable; -} - -/// Adds missing fields to [MediaTrackCapabilities]. -extension NonStandardFieldsOnMediaTrackCapabilities on MediaTrackCapabilities { - @JS('zoom') - external WebTweakMediaSettingsRange? get zoomNullable; - - @JS('torch') - external JSArray? get torchNullable; -} - -/// Adds missing fields to [MediaTrackSettings] -extension NonStandardFieldsOnMediaTrackSettings on MediaTrackSettings { - @JS('facingMode') - external String? get facingModeNullable; -} - -/// Brought over from package:web 1.0.0 -extension type WebTweakMediaSettingsRange._(JSObject _) implements JSObject { - @JS('MediaSettingsRange') - external factory WebTweakMediaSettingsRange({ - num max, - num min, - num step, - }); - - external double get max; - external set max(num value); - external double get min; - external set min(num value); - external double get step; - external set step(num value); -} - -/// Adds an applyConstraints method that accepts the WebTweakMediaTrackConstraints. -extension WebTweakMethodVersions on MediaStreamTrack { - @JS('applyConstraints') - external JSPromise applyWebTweakConstraints( - [WebTweakMediaTrackConstraints constraints]); -} - -/// Allows creating the MediaTrackConstraints that are needed. -/// Brought over from package:web 1.0.0 -extension type WebTweakMediaTrackConstraints._(JSObject _) implements JSObject { - @JS('MediaTrackConstraints') - external factory WebTweakMediaTrackConstraints({ - JSAny zoom, - ConstrainBoolean torch, - }); -} diff --git a/example/web_camera/lib/src/shims/dart_js_util.dart b/example/web_camera/lib/src/shims/dart_js_util.dart deleted file mode 100644 index 50cda21..0000000 --- a/example/web_camera/lib/src/shims/dart_js_util.dart +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:js_interop'; -import 'dart:js_interop_unsafe'; - -/// A utility that shims dart:js_interop to manipulate JavaScript interop objects. -class JsUtil { - /// Returns true if the object [o] has the property [name]. - bool hasProperty(JSObject o, JSAny name) => o.hasProperty(name).toDart; - - /// Returns the value of the property [name] in the object [o]. - JSAny? getProperty(JSObject o, JSAny name) => o.getProperty(name); -} diff --git a/example/web_camera/lib/src/types/camera_error_code.dart b/example/web_camera/lib/src/types/camera_error_code.dart deleted file mode 100644 index 6619e5f..0000000 --- a/example/web_camera/lib/src/types/camera_error_code.dart +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:web/web.dart' as web; - -/// Error codes that may occur during the camera initialization, -/// configuration or video streaming. -class CameraErrorCode { - const CameraErrorCode._(this._type); - - final String _type; - - @override - String toString() => _type; - - /// The camera is not supported. - static const CameraErrorCode notSupported = - CameraErrorCode._('cameraNotSupported'); - - /// The camera is not found. - static const CameraErrorCode notFound = CameraErrorCode._('cameraNotFound'); - - /// The camera is not readable. - static const CameraErrorCode notReadable = - CameraErrorCode._('cameraNotReadable'); - - /// The camera options are impossible to satisfy. - static const CameraErrorCode overconstrained = - CameraErrorCode._('cameraOverconstrained'); - - /// The camera cannot be used or the permission - /// to access the camera is not granted. - static const CameraErrorCode permissionDenied = - CameraErrorCode._('CameraAccessDenied'); - - /// The camera options are incorrect or attempted - /// to access the media input from an insecure context. - static const CameraErrorCode type = CameraErrorCode._('cameraType'); - - /// Some problem occurred that prevented the camera from being used. - static const CameraErrorCode abort = CameraErrorCode._('cameraAbort'); - - /// The user media support is disabled in the current browser. - static const CameraErrorCode security = CameraErrorCode._('cameraSecurity'); - - /// The camera metadata is missing. - static const CameraErrorCode missingMetadata = - CameraErrorCode._('cameraMissingMetadata'); - - /// The camera orientation is not supported. - static const CameraErrorCode orientationNotSupported = - CameraErrorCode._('orientationNotSupported'); - - /// The camera torch mode is not supported. - static const CameraErrorCode torchModeNotSupported = - CameraErrorCode._('torchModeNotSupported'); - - /// The camera zoom level is not supported. - static const CameraErrorCode zoomLevelNotSupported = - CameraErrorCode._('zoomLevelNotSupported'); - - /// The camera zoom level is invalid. - static const CameraErrorCode zoomLevelInvalid = - CameraErrorCode._('zoomLevelInvalid'); - - /// The camera has not been initialized or started. - static const CameraErrorCode notStarted = - CameraErrorCode._('cameraNotStarted'); - - /// The video recording was not started. - static const CameraErrorCode videoRecordingNotStarted = - CameraErrorCode._('videoRecordingNotStarted'); - - /// An unknown camera error. - static const CameraErrorCode unknown = CameraErrorCode._('cameraUnknown'); - - /// Returns a camera error code based on the media error. - /// - /// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaError/code - static CameraErrorCode fromMediaError(web.MediaError error) { - if (error.code == web.MediaError.MEDIA_ERR_ABORTED) { - return const CameraErrorCode._('mediaErrorAborted'); - } else if (error.code == web.MediaError.MEDIA_ERR_NETWORK) { - return const CameraErrorCode._('mediaErrorNetwork'); - } else if (error.code == web.MediaError.MEDIA_ERR_DECODE) { - return const CameraErrorCode._('mediaErrorDecode'); - } else if (error.code == web.MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED) { - return const CameraErrorCode._('mediaErrorSourceNotSupported'); - } else { - return const CameraErrorCode._('mediaErrorUnknown'); - } - } -} diff --git a/example/web_camera/lib/src/types/camera_metadata.dart b/example/web_camera/lib/src/types/camera_metadata.dart deleted file mode 100644 index e5c6b38..0000000 --- a/example/web_camera/lib/src/types/camera_metadata.dart +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/foundation.dart'; - -/// Metadata used along the camera description -/// to store additional web-specific camera details. -@immutable -class CameraMetadata { - /// Creates a new instance of [CameraMetadata] - /// with the given [deviceId] and [facingMode]. - const CameraMetadata({required this.deviceId, required this.facingMode}); - - /// Uniquely identifies the camera device. - /// - /// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/deviceId - final String deviceId; - - /// Describes the direction the camera is facing towards. - /// May be `user`, `environment`, `left`, `right` - /// or null if the facing mode is not available. - /// - /// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings/facingMode - final String? facingMode; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is CameraMetadata && - other.deviceId == deviceId && - other.facingMode == facingMode; - } - - @override - int get hashCode => Object.hash(deviceId.hashCode, facingMode.hashCode); -} diff --git a/example/web_camera/lib/src/types/camera_options.dart b/example/web_camera/lib/src/types/camera_options.dart deleted file mode 100644 index 45b4462..0000000 --- a/example/web_camera/lib/src/types/camera_options.dart +++ /dev/null @@ -1,272 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:js_interop'; - -import 'package:flutter/foundation.dart'; -import 'package:web/web.dart' as web; - -/// Options used to create a camera with the given -/// [audio] and [video] media constraints. -/// -/// These options represent web `MediaStreamConstraints` -/// and can be used to request the browser for media streams -/// with audio and video tracks containing the requested types of media. -/// -/// https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints -@immutable -class CameraOptions { - /// Creates a new instance of [CameraOptions] - /// with the given [audio] and [video] constraints. - const CameraOptions({ - AudioConstraints? audio, - VideoConstraints? video, - }) : audio = audio ?? const AudioConstraints(), - video = video ?? const VideoConstraints(); - - /// The audio constraints for the camera. - final AudioConstraints audio; - - /// The video constraints for the camera. - final VideoConstraints video; - - /// Converts `this` to something that can be used by the browser. - web.MediaStreamConstraints toMediaStreamConstraints() { - return web.MediaStreamConstraints( - audio: audio.toMediaStreamConstraints(), - video: video.toMediaStreamConstraints(), - ); - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is CameraOptions && - other.audio == audio && - other.video == video; - } - - @override - int get hashCode => Object.hash(audio, video); -} - -/// Indicates whether the audio track is requested. -/// -/// By default, the audio track is not requested. -@immutable -class AudioConstraints { - /// Creates a new instance of [AudioConstraints] - /// with the given [enabled] constraint. - const AudioConstraints({this.enabled = false}); - - /// Whether the audio track should be enabled. - final bool enabled; - - /// Convert `this` to something that can be used on the browser. - JSAny toMediaStreamConstraints() => enabled.toJS; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is AudioConstraints && other.enabled == enabled; - } - - @override - int get hashCode => enabled.hashCode; -} - -/// Defines constraints that the video track must have -/// to be considered acceptable. -@immutable -class VideoConstraints { - /// Creates a new instance of [VideoConstraints] - /// with the given constraints. - const VideoConstraints({ - this.facingMode, - this.width, - this.height, - this.deviceId, - }); - - /// The facing mode of the video track. - final FacingModeConstraint? facingMode; - - /// The width of the video track. - final VideoSizeConstraint? width; - - /// The height of the video track. - final VideoSizeConstraint? height; - - /// The device id of the video track. - final String? deviceId; - - // TODO(dit): package:web has a class for this. Use it instead of jsify and toJson. - /// Convert `this` to something that can be used on the browser. - JSAny toMediaStreamConstraints() { - return { - if (width != null) 'width': width!.toJson(), - if (height != null) 'height': height!.toJson(), - if (facingMode != null) 'facingMode': facingMode!.toJson(), - if (deviceId != null) 'deviceId': {'exact': deviceId!}, - }.jsify()!; - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is VideoConstraints && - other.facingMode == facingMode && - other.width == width && - other.height == height && - other.deviceId == deviceId; - } - - @override - int get hashCode => Object.hash(facingMode, width, height, deviceId); -} - -/// The camera type used in [FacingModeConstraint]. -/// -/// Specifies whether the requested camera should be facing away -/// or toward the user. -enum CameraType { - /// The camera is facing away from the user, viewing their environment. - /// This includes the back camera on a smartphone. - environment._('environment'), - - /// The camera is facing toward the user. - /// This includes the front camera on a smartphone. - user._('user'); - - const CameraType._(this._type); - - final String _type; - - @override - String toString() => _type; -} - -// TODO(dit): package:web has a class for this. Use it instead of toJson. -/// Indicates the direction in which the desired camera should be pointing. -@immutable -class FacingModeConstraint { - /// Creates a new instance of [FacingModeConstraint] - /// with [ideal] constraint set to [type]. - factory FacingModeConstraint(CameraType type) => - FacingModeConstraint._(ideal: type); - - /// Creates a new instance of [FacingModeConstraint] - /// with the given [ideal] and [exact] constraints. - const FacingModeConstraint._({this.ideal, this.exact}); - - /// Creates a new instance of [FacingModeConstraint] - /// with [exact] constraint set to [type]. - factory FacingModeConstraint.exact(CameraType type) => - FacingModeConstraint._(exact: type); - - /// The ideal facing mode constraint. - /// - /// If this constraint is used, then the camera would ideally have - /// the desired facing [type] but it may be considered optional. - final CameraType? ideal; - - /// The exact facing mode constraint. - /// - /// If this constraint is used, then the camera must have - /// the desired facing [type] to be considered acceptable. - final CameraType? exact; - - // TODO(dit): package:web has a class for this. Use it instead of toJson. - /// Converts the current instance to a Map. - Object toJson() { - return { - if (ideal != null) 'ideal': ideal.toString(), - if (exact != null) 'exact': exact.toString(), - }; - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is FacingModeConstraint && - other.ideal == ideal && - other.exact == exact; - } - - @override - int get hashCode => Object.hash(ideal, exact); -} - -// TODO(dit): package:web has a class for this. Use it instead of toJson. -/// The size of the requested video track used in -/// [VideoConstraints.width] and [VideoConstraints.height]. -/// -/// The obtained video track will have a size between [minimum] and [maximum] -/// with ideally a size of [ideal]. The size is determined by -/// the capabilities of the hardware and the other specified constraints. -@immutable -class VideoSizeConstraint { - /// Creates a new instance of [VideoSizeConstraint] with the given - /// [minimum], [ideal] and [maximum] constraints. - const VideoSizeConstraint({this.minimum, this.ideal, this.maximum}); - - /// The minimum video size. - final int? minimum; - - /// The ideal video size. - /// - /// The video would ideally have the [ideal] size - /// but it may be considered optional. If not possible - /// to satisfy, the size will be as close as possible - /// to [ideal]. - final int? ideal; - - /// The maximum video size. - final int? maximum; - - // TODO(dit): package:web has a class for this. Use it instead of toJson. - /// Converts the current instance to a Map. - Object toJson() { - final Map json = {}; - - if (ideal != null) { - json['ideal'] = ideal; - } - if (minimum != null) { - json['min'] = minimum; - } - if (maximum != null) { - json['max'] = maximum; - } - - return json; - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is VideoSizeConstraint && - other.minimum == minimum && - other.ideal == ideal && - other.maximum == maximum; - } - - @override - int get hashCode => Object.hash(minimum, ideal, maximum); -} diff --git a/example/web_camera/lib/src/types/camera_web_exception.dart b/example/web_camera/lib/src/types/camera_web_exception.dart deleted file mode 100644 index e6c6d7a..0000000 --- a/example/web_camera/lib/src/types/camera_web_exception.dart +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'types.dart'; - -/// An exception thrown when the camera with id [cameraId] reports -/// an initialization, configuration or video streaming error, -/// or enters into an unexpected state. -/// -/// This error should be emitted on the `onCameraError` stream -/// of the camera platform. -class CameraWebException implements Exception { - /// Creates a new instance of [CameraWebException] - /// with the given error [cameraId], [code] and [description]. - CameraWebException(this.cameraId, this.code, this.description); - - /// The id of the camera this exception is associated to. - int cameraId; - - /// The error code of this exception. - CameraErrorCode code; - - /// The description of this exception. - String description; - - @override - String toString() => 'CameraWebException($cameraId, $code, $description)'; -} diff --git a/example/web_camera/lib/src/types/media_device_kind.dart b/example/web_camera/lib/src/types/media_device_kind.dart deleted file mode 100644 index 3607bb2..0000000 --- a/example/web_camera/lib/src/types/media_device_kind.dart +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// A kind of a media device. -/// -/// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/kind -abstract class MediaDeviceKind { - /// A video input media device kind. - static const String videoInput = 'videoinput'; - - /// An audio input media device kind. - static const String audioInput = 'audioinput'; - - /// An audio output media device kind. - static const String audioOutput = 'audiooutput'; -} diff --git a/example/web_camera/lib/src/types/orientation_type.dart b/example/web_camera/lib/src/types/orientation_type.dart deleted file mode 100644 index 717f5f3..0000000 --- a/example/web_camera/lib/src/types/orientation_type.dart +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/services.dart'; - -/// A screen orientation type. -/// -/// See: https://developer.mozilla.org/en-US/docs/Web/API/ScreenOrientation/type -abstract class OrientationType { - /// The primary portrait mode orientation. - /// Corresponds to [DeviceOrientation.portraitUp]. - static const String portraitPrimary = 'portrait-primary'; - - /// The secondary portrait mode orientation. - /// Corresponds to [DeviceOrientation.portraitSecondary]. - static const String portraitSecondary = 'portrait-secondary'; - - /// The primary landscape mode orientation. - /// Corresponds to [DeviceOrientation.landscapeLeft]. - static const String landscapePrimary = 'landscape-primary'; - - /// The secondary landscape mode orientation. - /// Corresponds to [DeviceOrientation.landscapeRight]. - static const String landscapeSecondary = 'landscape-secondary'; -} diff --git a/example/web_camera/lib/src/types/types.dart b/example/web_camera/lib/src/types/types.dart deleted file mode 100644 index 72d7fb8..0000000 --- a/example/web_camera/lib/src/types/types.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -export 'camera_error_code.dart'; -export 'camera_metadata.dart'; -export 'camera_options.dart'; -export 'camera_web_exception.dart'; -export 'media_device_kind.dart'; -export 'orientation_type.dart'; -export 'zoom_level_capability.dart'; diff --git a/example/web_camera/lib/src/types/zoom_level_capability.dart b/example/web_camera/lib/src/types/zoom_level_capability.dart deleted file mode 100644 index 71e250b..0000000 --- a/example/web_camera/lib/src/types/zoom_level_capability.dart +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/foundation.dart'; -import 'package:web/web.dart' as web; - -/// The possible range of values for the zoom level configurable -/// on the camera video track. -@immutable -class ZoomLevelCapability { - /// Creates a new instance of [ZoomLevelCapability] with the given - /// zoom level range of [minimum] to [maximum] configurable - /// on the [videoTrack]. - const ZoomLevelCapability({ - required this.minimum, - required this.maximum, - required this.videoTrack, - }); - - /// The zoom level constraint name. - /// See: https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-zoom - static const String constraintName = 'zoom'; - - /// The minimum zoom level. - final double minimum; - - /// The maximum zoom level. - final double maximum; - - /// The video track capable of configuring the zoom level. - final web.MediaStreamTrack videoTrack; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is ZoomLevelCapability && - other.minimum == minimum && - other.maximum == maximum && - other.videoTrack == videoTrack; - } - - @override - int get hashCode => Object.hash(minimum, maximum, videoTrack); -} diff --git a/example/web_camera/pubspec.lock b/example/web_camera/pubspec.lock deleted file mode 100644 index 9bef1ac..0000000 --- a/example/web_camera/pubspec.lock +++ /dev/null @@ -1,234 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - camera_platform_interface: - dependency: "direct main" - description: - name: camera_platform_interface - sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 - url: "https://pub.dev" - source: hosted - version: "2.8.0" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.dev" - source: hosted - version: "0.3.4+2" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: "direct main" - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" - web: - dependency: "direct main" - description: - name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" -sdks: - dart: ">=3.4.0 <4.0.0" - flutter: ">=3.22.0" diff --git a/example/web_camera/pubspec.yaml b/example/web_camera/pubspec.yaml deleted file mode 100644 index 9d221bc..0000000 --- a/example/web_camera/pubspec.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: camera_web -description: A Flutter plugin for getting information about and controlling the camera on Web. -repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_web -issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.3.3 - -environment: - sdk: ^3.4.0 - flutter: ">=3.22.0" - -flutter: - plugin: - implements: camera - platforms: - web: - pluginClass: CameraPlugin - fileName: camera_web.dart - -dependencies: - camera_platform_interface: ^2.6.0 - flutter: - sdk: flutter - flutter_web_plugins: - sdk: flutter - stream_transform: ^2.0.0 - web: ">=0.5.1 <2.0.0" - -dev_dependencies: - flutter_test: - sdk: flutter - -topics: - - camera diff --git a/example/web_camera/test/README.md b/example/web_camera/test/README.md deleted file mode 100644 index 7c5b4ad..0000000 --- a/example/web_camera/test/README.md +++ /dev/null @@ -1,5 +0,0 @@ -## test - -This package uses integration tests for testing. - -See `example/README.md` for more info. diff --git a/example/web_camera/test/more_tests_exist_elsewhere_test.dart b/example/web_camera/test/more_tests_exist_elsewhere_test.dart deleted file mode 100644 index 32f037e..0000000 --- a/example/web_camera/test/more_tests_exist_elsewhere_test.dart +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// ignore_for_file: avoid_print - -import 'package:flutter_test/flutter_test.dart'; - -void main() { - test('Tell the user where to find more tests', () { - print('---'); - print('This package also uses integration_test for its tests.'); - print('See `example/README.md` for more info.'); - print('---'); - }); -} diff --git a/example/windows/.gitignore b/example/windows/.gitignore deleted file mode 100644 index d492d0d..0000000 --- a/example/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ephemeral/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/example/windows/CMakeLists.txt b/example/windows/CMakeLists.txt deleted file mode 100644 index dbde8b2..0000000 --- a/example/windows/CMakeLists.txt +++ /dev/null @@ -1,102 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(documentscanner LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "documentscanner") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Define build configuration option. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() -# Define settings for the Profile build mode. -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build; see runner/CMakeLists.txt. -add_subdirectory("runner") - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/example/windows/flutter/CMakeLists.txt b/example/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f489..0000000 --- a/example/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/example/windows/flutter/generated_plugin_registrant.cc b/example/windows/flutter/generated_plugin_registrant.cc deleted file mode 100644 index e26bc32..0000000 --- a/example/windows/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,26 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include -#include -#include -#include -#include - -void RegisterPlugins(flutter::PluginRegistry* registry) { - CameraWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("CameraWindows")); - FileSelectorWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FileSelectorWindows")); - FlutterDocumentScanSdkPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FlutterDocumentScanSdkPluginCApi")); - SharePlusWindowsPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi")); - UrlLauncherWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("UrlLauncherWindows")); -} diff --git a/example/windows/flutter/generated_plugin_registrant.h b/example/windows/flutter/generated_plugin_registrant.h deleted file mode 100644 index dc139d8..0000000 --- a/example/windows/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void RegisterPlugins(flutter::PluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/example/windows/flutter/generated_plugins.cmake b/example/windows/flutter/generated_plugins.cmake deleted file mode 100644 index a82b033..0000000 --- a/example/windows/flutter/generated_plugins.cmake +++ /dev/null @@ -1,28 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - camera_windows - file_selector_windows - flutter_document_scan_sdk - share_plus - url_launcher_windows -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/example/windows/runner/CMakeLists.txt b/example/windows/runner/CMakeLists.txt deleted file mode 100644 index 394917c..0000000 --- a/example/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/example/windows/runner/Runner.rc b/example/windows/runner/Runner.rc deleted file mode 100644 index 1692701..0000000 --- a/example/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD -#else -#define VERSION_AS_NUMBER 1,0,0,0 -#endif - -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "com.example" "\0" - VALUE "FileDescription", "documentscanner" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "documentscanner" "\0" - VALUE "LegalCopyright", "Copyright (C) 2023 com.example. All rights reserved." "\0" - VALUE "OriginalFilename", "documentscanner.exe" "\0" - VALUE "ProductName", "documentscanner" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/example/windows/runner/flutter_window.cpp b/example/windows/runner/flutter_window.cpp deleted file mode 100644 index 955ee30..0000000 --- a/example/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include "flutter_window.h" - -#include - -#include "flutter/generated_plugin_registrant.h" - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - - flutter_controller_->engine()->SetNextFrameCallback([&]() { - this->Show(); - }); - - // Flutter can complete the first frame before the "show window" callback is - // registered. The following call ensures a frame is pending to ensure the - // window is shown. It is a no-op if the first frame hasn't completed yet. - flutter_controller_->ForceRedraw(); - - return true; -} - -void FlutterWindow::OnDestroy() { - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - flutter_controller_->engine()->ReloadSystemFonts(); - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} diff --git a/example/windows/runner/flutter_window.h b/example/windows/runner/flutter_window.h deleted file mode 100644 index 6da0652..0000000 --- a/example/windows/runner/flutter_window.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/example/windows/runner/main.cpp b/example/windows/runner/main.cpp deleted file mode 100644 index 44afdaa..0000000 --- a/example/windows/runner/main.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t *command_line, _In_ int show_command) { - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = - GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.Create(L"documentscanner", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/example/windows/runner/resource.h b/example/windows/runner/resource.h deleted file mode 100644 index 66a65d1..0000000 --- a/example/windows/runner/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/example/windows/runner/resources/app_icon.ico b/example/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20c..0000000 Binary files a/example/windows/runner/resources/app_icon.ico and /dev/null differ diff --git a/example/windows/runner/runner.exe.manifest b/example/windows/runner/runner.exe.manifest deleted file mode 100644 index a42ea76..0000000 --- a/example/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,20 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - - - - - - - diff --git a/example/windows/runner/utils.cpp b/example/windows/runner/utils.cpp deleted file mode 100644 index b2b0873..0000000 --- a/example/windows/runner/utils.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE *unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - int target_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - -1, nullptr, 0, nullptr, nullptr) - -1; // remove the trailing null character - int input_length = (int)wcslen(utf16_string); - std::string utf8_string; - if (target_length <= 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - input_length, utf8_string.data(), target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/example/windows/runner/utils.h b/example/windows/runner/utils.h deleted file mode 100644 index 3879d54..0000000 --- a/example/windows/runner/utils.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/example/windows/runner/win32_window.cpp b/example/windows/runner/win32_window.cpp deleted file mode 100644 index 60608d0..0000000 --- a/example/windows/runner/win32_window.cpp +++ /dev/null @@ -1,288 +0,0 @@ -#include "win32_window.h" - -#include -#include - -#include "resource.h" - -namespace { - -/// Window attribute that enables dark mode window decorations. -/// -/// Redefined in case the developer's machine has a Windows SDK older than -/// version 10.0.22000.0. -/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -/// Registry key for app theme preference. -/// -/// A value of 0 indicates apps should use dark mode. A non-zero or missing -/// value indicates apps should use light mode. -constexpr const wchar_t kGetPreferredBrightnessRegKey[] = - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - } - FreeLibrary(user32_module); -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registrar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { - ++g_active_window_count; -} - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::Create(const std::wstring& title, - const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - UpdateTheme(window); - - return OnCreate(); -} - -bool Win32Window::Show() { - return ShowWindow(window_handle_, SW_SHOWNORMAL); -} - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - - case WM_DWMCOLORIZATIONCOLORCHANGED: - UpdateTheme(hwnd); - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { - return window_handle_; -} - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} - -void Win32Window::UpdateTheme(HWND const window) { - DWORD light_mode; - DWORD light_mode_size = sizeof(light_mode); - LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, - kGetPreferredBrightnessRegValue, - RRF_RT_REG_DWORD, nullptr, &light_mode, - &light_mode_size); - - if (result == ERROR_SUCCESS) { - BOOL enable_dark_mode = light_mode == 0; - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, - &enable_dark_mode, sizeof(enable_dark_mode)); - } -} diff --git a/example/windows/runner/win32_window.h b/example/windows/runner/win32_window.h deleted file mode 100644 index e901dde..0000000 --- a/example/windows/runner/win32_window.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates a win32 window with |title| that is positioned and sized using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size this function will scale the inputted width and height as - // as appropriate for the default monitor. The window is invisible until - // |Show| is called. Returns true if the window was created successfully. - bool Create(const std::wstring& title, const Point& origin, const Size& size); - - // Show the current window. Returns true if the window was successfully shown. - bool Show(); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - // Update the window frame's theme to match the system theme. - static void UpdateTheme(HWND const window); - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/example/windows_camera/.gitignore b/example/windows_camera/.gitignore deleted file mode 100644 index e9dc58d..0000000 --- a/example/windows_camera/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.DS_Store -.dart_tool/ - -.packages -.pub/ - -build/ diff --git a/example/windows_camera/.metadata b/example/windows_camera/.metadata deleted file mode 100644 index 5bed526..0000000 --- a/example/windows_camera/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: 18116933e77adc82f80866c928266a5b4f1ed645 - channel: stable - -project_type: plugin diff --git a/example/windows_camera/AUTHORS b/example/windows_camera/AUTHORS deleted file mode 100644 index b2178a5..0000000 --- a/example/windows_camera/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -Joonas Kerttula -Codemate Ltd. diff --git a/example/windows_camera/CHANGELOG.md b/example/windows_camera/CHANGELOG.md deleted file mode 100644 index 2c0c518..0000000 --- a/example/windows_camera/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -## NEXT - -* Aligns Dart and Flutter SDK constraints. - -## 0.2.1+5 - -* Updates links for the merge of flutter/plugins into flutter/packages. -* Updates minimum Flutter version to 3.0. - -## 0.2.1+4 - -* Updates code for stricter lint checks. - -## 0.2.1+3 - -* Updates to latest camera platform interface but fails if user attempts to use streaming with recording (since streaming is currently unsupported on Windows). - -## 0.2.1+2 - -* Updates code for `no_leading_underscores_for_local_identifiers` lint. -* Updates minimum Flutter version to 2.10. - -## 0.2.1+1 - -* Fixes avoid_redundant_argument_values lint warnings and minor typos. - -## 0.2.1 - -* Adds a check for string size before Win32 MultiByte <-> WideChar conversions - -## 0.2.0 - -**BREAKING CHANGES**: - * `CameraException.code` now has value `"CameraAccessDenied"` if camera access permission was denied. - * `CameraException.code` now has value `"camera_error"` if error occurs during capture. - -## 0.1.0+5 - -* Fixes bugs in in error handling. - -## 0.1.0+4 - -* Allows retrying camera initialization after error. - -## 0.1.0+3 - -* Updates the README to better explain how to use the unendorsed package. - -## 0.1.0+2 - -* Updates references to the obsolete master branch. - -## 0.1.0+1 - -* Removes unnecessary imports. -* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors - lint warnings. - -## 0.1.0 - -* Initial release diff --git a/example/windows_camera/LICENSE b/example/windows_camera/LICENSE deleted file mode 100644 index c6823b8..0000000 --- a/example/windows_camera/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright 2013 The Flutter Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/example/windows_camera/README.md b/example/windows_camera/README.md deleted file mode 100644 index 11f68db..0000000 --- a/example/windows_camera/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# Camera Windows Plugin - -The Flutter Camera Windows Plugin project is ported from [camera_windows](https://github.com/flutter/packages/tree/main/packages/camera/camera_windows). It provides a temporary solution for solving the known [issue #97542](https://github.com/flutter/flutter/issues/97542): Support for image streaming is not yet implemented. With the plugin, you can get the camera frames for image processing. - -## Usage -1. In `pubspec.yaml` of your flutter project, add the following dependency: - - ```yaml - camera_windows: - git: - url: https://github.com/yushulx/flutter_camera_windows.git - ``` -2. Create a `StreamSubscription` to receive the camera frames for image processing: - - ```dart - void _onFrameAvailable(FrameAvailabledEvent event) { - if (mounted) { - Map map = event.toJson(); - final Uint8List? data = map['bytes'] as Uint8List?; - // image processing - } - } - - StreamSubscription? _frameAvailableStreamSubscription; - _frameAvailableStreamSubscription?.cancel(); - _frameAvailableStreamSubscription = - (CameraPlatform.instance as CameraWindows) - .onFrameAvailable(cameraId) - .listen(_onFrameAvailable); - ``` - - **Note: To avoid blocking the main thread, you need to move heavy computation to a worker thread: Dart isolate or native thread implemented in platform-specific code. The example demonstrates how to use Dynamsoft Barcode Reader to scan barcode and QR codes. The barcode decoding method is implemented using C++ thread and task queue.** \ No newline at end of file diff --git a/example/windows_camera/lib/camera_windows.dart b/example/windows_camera/lib/camera_windows.dart deleted file mode 100644 index ad42684..0000000 --- a/example/windows_camera/lib/camera_windows.dart +++ /dev/null @@ -1,478 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; -import 'dart:math'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:stream_transform/stream_transform.dart'; - -/// An implementation of [CameraPlatform] for Windows. -class CameraWindows extends CameraPlatform { - /// Registers the Windows implementation of CameraPlatform. - static void registerWith() { - CameraPlatform.instance = CameraWindows(); - } - - /// The method channel used to interact with the native platform. - @visibleForTesting - final MethodChannel pluginChannel = - const MethodChannel('plugins.flutter.io/camera_windows'); - - /// Camera specific method channels to allow communicating with specific cameras. - final Map _cameraChannels = {}; - - /// The controller that broadcasts events coming from handleCameraMethodCall - /// - /// It is a `broadcast` because multiple controllers will connect to - /// different stream views of this Controller. - /// This is only exposed for test purposes. It shouldn't be used by clients of - /// the plugin as it may break or change at any time. - @visibleForTesting - final StreamController cameraEventStreamController = - StreamController.broadcast(); - - /// Returns a stream of camera events for the given [cameraId]. - Stream _cameraEvents(int cameraId) => - cameraEventStreamController.stream - .where((CameraEvent event) => event.cameraId == cameraId); - - @override - Future> availableCameras() async { - try { - final List>? cameras = await pluginChannel - .invokeListMethod>('availableCameras'); - - if (cameras == null) { - return []; - } - - return cameras.map((Map camera) { - return CameraDescription( - name: camera['name'] as String, - lensDirection: - parseCameraLensDirection(camera['lensFacing'] as String), - sensorOrientation: camera['sensorOrientation'] as int, - ); - }).toList(); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - @override - Future createCamera( - CameraDescription cameraDescription, - ResolutionPreset? resolutionPreset, { - bool enableAudio = false, - }) async { - try { - // If resolutionPreset is not specified, plugin selects the highest resolution possible. - final Map? reply = await pluginChannel - .invokeMapMethod('create', { - 'cameraName': cameraDescription.name, - 'resolutionPreset': _serializeResolutionPreset(resolutionPreset), - 'enableAudio': enableAudio, - }); - - if (reply == null) { - throw CameraException('System', 'Cannot create camera'); - } - - return reply['cameraId']! as int; - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - @override - Future initializeCamera( - int cameraId, { - ImageFormatGroup imageFormatGroup = ImageFormatGroup.unknown, - }) async { - final int requestedCameraId = cameraId; - - /// Creates channel for camera events. - _cameraChannels.putIfAbsent(requestedCameraId, () { - final MethodChannel channel = MethodChannel( - 'plugins.flutter.io/camera_windows/camera$requestedCameraId'); - channel.setMethodCallHandler( - (MethodCall call) => handleCameraMethodCall(call, requestedCameraId), - ); - return channel; - }); - - final Map? reply; - try { - reply = await pluginChannel.invokeMapMethod( - 'initialize', - { - 'cameraId': requestedCameraId, - }, - ); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - - cameraEventStreamController.add( - CameraInitializedEvent( - requestedCameraId, - reply!['previewWidth']!, - reply['previewHeight']!, - ExposureMode.auto, - false, - FocusMode.auto, - false, - ), - ); - } - - @override - Future dispose(int cameraId) async { - await pluginChannel.invokeMethod( - 'dispose', - {'cameraId': cameraId}, - ); - - // Destroy method channel after camera is disposed to be able to handle last messages. - if (_cameraChannels.containsKey(cameraId)) { - final MethodChannel? cameraChannel = _cameraChannels[cameraId]; - cameraChannel?.setMethodCallHandler(null); - _cameraChannels.remove(cameraId); - } - } - - @override - Stream onCameraInitialized(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onCameraResolutionChanged(int cameraId) { - /// Windows API does not automatically change the camera's resolution - /// during capture so these events are never send from the platform. - /// Support for changing resolution should be implemented, if support for - /// requesting resolution change is added to camera platform interface. - return const Stream.empty(); - } - - @override - Stream onCameraClosing(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onCameraError(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - Stream onFrameAvailable(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onVideoRecordedEvent(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onDeviceOrientationChanged() { - // TODO(jokerttu): Implement device orientation detection, https://github.com/flutter/flutter/issues/97540. - // Force device orientation to landscape as by default camera plugin uses portraitUp orientation. - return Stream.value( - const DeviceOrientationChangedEvent(DeviceOrientation.landscapeRight), - ); - } - - @override - Future lockCaptureOrientation( - int cameraId, - DeviceOrientation orientation, - ) async { - // TODO(jokerttu): Implement lock capture orientation feature, https://github.com/flutter/flutter/issues/97540. - throw UnimplementedError('lockCaptureOrientation() is not implemented.'); - } - - @override - Future unlockCaptureOrientation(int cameraId) async { - // TODO(jokerttu): Implement unlock capture orientation feature, https://github.com/flutter/flutter/issues/97540. - throw UnimplementedError('unlockCaptureOrientation() is not implemented.'); - } - - @override - Future takePicture(int cameraId) async { - final String? path; - path = await pluginChannel.invokeMethod( - 'takePicture', - {'cameraId': cameraId}, - ); - - return XFile(path!); - } - - @override - Future prepareForVideoRecording() => - pluginChannel.invokeMethod('prepareForVideoRecording'); - - @override - Future startVideoRecording(int cameraId, - {Duration? maxVideoDuration}) async { - return startVideoCapturing( - VideoCaptureOptions(cameraId, maxDuration: maxVideoDuration)); - } - - @override - Future startVideoCapturing(VideoCaptureOptions options) async { - if (options.streamCallback != null || options.streamOptions != null) { - throw UnimplementedError( - 'Streaming is not currently supported on Windows'); - } - - await pluginChannel.invokeMethod( - 'startVideoRecording', - { - 'cameraId': options.cameraId, - 'maxVideoDuration': options.maxDuration?.inMilliseconds, - }, - ); - } - - @override - Future stopVideoRecording(int cameraId) async { - final String? path; - - path = await pluginChannel.invokeMethod( - 'stopVideoRecording', - {'cameraId': cameraId}, - ); - - return XFile(path!); - } - - @override - Future pauseVideoRecording(int cameraId) async { - throw UnsupportedError( - 'pauseVideoRecording() is not supported due to Win32 API limitations.'); - } - - @override - Future resumeVideoRecording(int cameraId) async { - throw UnsupportedError( - 'resumeVideoRecording() is not supported due to Win32 API limitations.'); - } - - @override - Future setFlashMode(int cameraId, FlashMode mode) async { - // TODO(jokerttu): Implement flash mode support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setFlashMode() is not implemented.'); - } - - @override - Future setExposureMode(int cameraId, ExposureMode mode) async { - // TODO(jokerttu): Implement explosure mode support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setExposureMode() is not implemented.'); - } - - @override - Future setExposurePoint(int cameraId, Point? point) async { - assert(point == null || point.x >= 0 && point.x <= 1); - assert(point == null || point.y >= 0 && point.y <= 1); - - throw UnsupportedError( - 'setExposurePoint() is not supported due to Win32 API limitations.'); - } - - @override - Future getMinExposureOffset(int cameraId) async { - // TODO(jokerttu): Implement exposure control support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 0.0; - } - - @override - Future getMaxExposureOffset(int cameraId) async { - // TODO(jokerttu): Implement exposure control support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 0.0; - } - - @override - Future getExposureOffsetStepSize(int cameraId) async { - // TODO(jokerttu): Implement exposure control support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 1.0; - } - - @override - Future setExposureOffset(int cameraId, double offset) async { - // TODO(jokerttu): Implement exposure control support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setExposureOffset() is not implemented.'); - } - - @override - Future setFocusMode(int cameraId, FocusMode mode) async { - // TODO(jokerttu): Implement focus mode support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setFocusMode() is not implemented.'); - } - - @override - Future setFocusPoint(int cameraId, Point? point) async { - assert(point == null || point.x >= 0 && point.x <= 1); - assert(point == null || point.y >= 0 && point.y <= 1); - - throw UnsupportedError( - 'setFocusPoint() is not supported due to Win32 API limitations.'); - } - - @override - Future getMinZoomLevel(int cameraId) async { - // TODO(jokerttu): Implement zoom level support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 1.0; - } - - @override - Future getMaxZoomLevel(int cameraId) async { - // TODO(jokerttu): Implement zoom level support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 1.0; - } - - @override - Future setZoomLevel(int cameraId, double zoom) async { - // TODO(jokerttu): Implement zoom level support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setZoomLevel() is not implemented.'); - } - - @override - Future pausePreview(int cameraId) async { - await pluginChannel.invokeMethod( - 'pausePreview', - {'cameraId': cameraId}, - ); - } - - @override - Future resumePreview(int cameraId) async { - await pluginChannel.invokeMethod( - 'resumePreview', - {'cameraId': cameraId}, - ); - } - - @override - Widget buildPreview(int cameraId) { - return Texture(textureId: cameraId); - } - - /// Returns the resolution preset as a nullable String. - String? _serializeResolutionPreset(ResolutionPreset? resolutionPreset) { - switch (resolutionPreset) { - case null: - return null; - case ResolutionPreset.max: - return 'max'; - case ResolutionPreset.ultraHigh: - return 'ultraHigh'; - case ResolutionPreset.veryHigh: - return 'veryHigh'; - case ResolutionPreset.high: - return 'high'; - case ResolutionPreset.medium: - return 'medium'; - case ResolutionPreset.low: - return 'low'; - } - } - - /// Converts messages received from the native platform into camera events. - /// - /// This is only exposed for test purposes. It shouldn't be used by clients - /// of the plugin as it may break or change at any time. - @visibleForTesting - Future handleCameraMethodCall(MethodCall call, int cameraId) async { - switch (call.method) { - case 'camera_closing': - cameraEventStreamController.add( - CameraClosingEvent( - cameraId, - ), - ); - break; - case 'video_recorded': - final Map arguments = - (call.arguments as Map).cast(); - final int? maxDuration = arguments['maxVideoDuration'] as int?; - // This is called if maxVideoDuration was given on record start. - cameraEventStreamController.add( - VideoRecordedEvent( - cameraId, - XFile(arguments['path']! as String), - maxDuration != null ? Duration(milliseconds: maxDuration) : null, - ), - ); - break; - case 'error': - final Map arguments = - (call.arguments as Map).cast(); - cameraEventStreamController.add( - CameraErrorEvent( - cameraId, - arguments['description']! as String, - ), - ); - break; - case 'frame_available': - final Map arguments = - (call.arguments as Map).cast(); - Uint8List bytes = arguments['bytes']! as Uint8List; - cameraEventStreamController.add( - FrameAvailabledEvent(cameraId, bytes), - ); - break; - default: - throw UnimplementedError(); - } - } - - /// Parses string presentation of the camera lens direction and returns enum value. - @visibleForTesting - CameraLensDirection parseCameraLensDirection(String string) { - switch (string) { - case 'front': - return CameraLensDirection.front; - case 'back': - return CameraLensDirection.back; - case 'external': - return CameraLensDirection.external; - } - throw ArgumentError('Unknown CameraLensDirection value'); - } -} - -class FrameAvailabledEvent extends CameraEvent { - const FrameAvailabledEvent(int cameraId, this.bytes) : super(cameraId); - - FrameAvailabledEvent.fromJson(Map json) - : bytes = json['bytes'] as Uint8List, - super(json['cameraId'] as int); - - final Uint8List bytes; - - Map toJson() => - {'cameraId': cameraId, 'bytes': bytes}; - - @override - bool operator ==(Object other) => - identical(this, other) || - super == other && - other is FrameAvailabledEvent && - runtimeType == other.runtimeType && - bytes == other.bytes; - - @override - int get hashCode => Object.hash(super.hashCode, bytes); -} diff --git a/example/windows_camera/pubspec.lock b/example/windows_camera/pubspec.lock deleted file mode 100644 index 28e8bd7..0000000 --- a/example/windows_camera/pubspec.lock +++ /dev/null @@ -1,229 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - async: - dependency: "direct dev" - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - camera_platform_interface: - dependency: "direct main" - description: - name: camera_platform_interface - sha256: "00d972adee2e8a282b4d7445e8e694aa1dc0c36b70455b99afa96fbf5e814119" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - cross_file: - dependency: "direct main" - description: - name: cross_file - sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9" - url: "https://pub.dev" - source: hosted - version: "0.3.3+4" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - js: - dependency: transitive - description: - name: js - sha256: a5e201311cb08bf3912ebbe9a2be096e182d703f881136ec1e81a2338a9e120d - url: "https://pub.dev" - source: hosted - version: "0.6.4" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: "direct main" - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" -sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" diff --git a/example/windows_camera/pubspec.yaml b/example/windows_camera/pubspec.yaml deleted file mode 100644 index 04c115a..0000000 --- a/example/windows_camera/pubspec.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: camera_windows -description: A Flutter plugin for getting information about and controlling the camera on Windows. -repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_windows -issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.2.1+5 - -environment: - sdk: ">=2.17.0 <3.0.0" - flutter: ">=3.0.0" - -flutter: - plugin: - implements: camera - platforms: - windows: - pluginClass: CameraWindows - dartPluginClass: CameraWindows - -dependencies: - camera_platform_interface: ^2.3.1 - cross_file: ^0.3.1 - flutter: - sdk: flutter - stream_transform: ^2.0.0 - -dev_dependencies: - async: ^2.5.0 - flutter_test: - sdk: flutter diff --git a/example/windows_camera/test/camera_windows_test.dart b/example/windows_camera/test/camera_windows_test.dart deleted file mode 100644 index 8d7b5d3..0000000 --- a/example/windows_camera/test/camera_windows_test.dart +++ /dev/null @@ -1,675 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:async/async.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:camera_windows/camera_windows.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_test/flutter_test.dart'; -import './utils/method_channel_mock.dart'; - -void main() { - const String pluginChannelName = 'plugins.flutter.io/camera_windows'; - TestWidgetsFlutterBinding.ensureInitialized(); - - group('$CameraWindows()', () { - test('registered instance', () { - CameraWindows.registerWith(); - expect(CameraPlatform.instance, isA()); - }); - - group('Creation, Initialization & Disposal Tests', () { - test('Should send creation data and receive back a camera id', () async { - // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': { - 'cameraId': 1, - 'imageFormatGroup': 'unknown', - } - }); - final CameraWindows plugin = CameraWindows(); - - // Act - final int cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.front, - sensorOrientation: 0), - ResolutionPreset.high, - ); - - // Assert - expect(cameraMockChannel.log, [ - isMethodCall( - 'create', - arguments: { - 'cameraName': 'Test', - 'resolutionPreset': 'high', - 'enableAudio': false - }, - ), - ]); - expect(cameraId, 1); - }); - - test( - 'Should throw CameraException when create throws a PlatformException', - () { - // Arrange - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': PlatformException( - code: 'TESTING_ERROR_CODE', - message: 'Mock error message used during testing.', - ) - }); - final CameraWindows plugin = CameraWindows(); - - // Act - expect( - () => plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ), - throwsA( - isA() - .having( - (CameraException e) => e.code, 'code', 'TESTING_ERROR_CODE') - .having((CameraException e) => e.description, 'description', - 'Mock error message used during testing.'), - ), - ); - }); - - test( - 'Should throw CameraException when initialize throws a PlatformException', - () { - // Arrange - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'initialize': PlatformException( - code: 'TESTING_ERROR_CODE', - message: 'Mock error message used during testing.', - ) - }, - ); - final CameraWindows plugin = CameraWindows(); - - // Act - expect( - () => plugin.initializeCamera(0), - throwsA( - isA() - .having((CameraException e) => e.code, 'code', - 'TESTING_ERROR_CODE') - .having( - (CameraException e) => e.description, - 'description', - 'Mock error message used during testing.', - ), - ), - ); - }, - ); - - test('Should send initialization data', () async { - // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': { - 'cameraId': 1, - 'imageFormatGroup': 'unknown', - }, - 'initialize': { - 'previewWidth': 1920.toDouble(), - 'previewHeight': 1080.toDouble() - }, - }); - final CameraWindows plugin = CameraWindows(); - final int cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ); - - // Act - await plugin.initializeCamera(cameraId); - - // Assert - expect(cameraId, 1); - expect(cameraMockChannel.log, [ - anything, - isMethodCall( - 'initialize', - arguments: {'cameraId': 1}, - ), - ]); - }); - - test('Should send a disposal call on dispose', () async { - // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': {'cameraId': 1}, - 'initialize': { - 'previewWidth': 1920.toDouble(), - 'previewHeight': 1080.toDouble() - }, - 'dispose': {'cameraId': 1} - }); - - final CameraWindows plugin = CameraWindows(); - final int cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ); - await plugin.initializeCamera(cameraId); - - // Act - await plugin.dispose(cameraId); - - // Assert - expect(cameraId, 1); - expect(cameraMockChannel.log, [ - anything, - anything, - isMethodCall( - 'dispose', - arguments: {'cameraId': 1}, - ), - ]); - }); - }); - - group('Event Tests', () { - late CameraWindows plugin; - late int cameraId; - setUp(() async { - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': {'cameraId': 1}, - 'initialize': { - 'previewWidth': 1920.toDouble(), - 'previewHeight': 1080.toDouble() - }, - }, - ); - - plugin = CameraWindows(); - cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ); - await plugin.initializeCamera(cameraId); - }); - - test('Should receive camera closing events', () async { - // Act - final Stream eventStream = - plugin.onCameraClosing(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); - - // Emit test events - final CameraClosingEvent event = CameraClosingEvent(cameraId); - await plugin.handleCameraMethodCall( - MethodCall('camera_closing', event.toJson()), cameraId); - await plugin.handleCameraMethodCall( - MethodCall('camera_closing', event.toJson()), cameraId); - await plugin.handleCameraMethodCall( - MethodCall('camera_closing', event.toJson()), cameraId); - - // Assert - expect(await streamQueue.next, event); - expect(await streamQueue.next, event); - expect(await streamQueue.next, event); - - // Clean up - await streamQueue.cancel(); - }); - - test('Should receive camera error events', () async { - // Act - final Stream errorStream = - plugin.onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(errorStream); - - // Emit test events - final CameraErrorEvent event = - CameraErrorEvent(cameraId, 'Error Description'); - await plugin.handleCameraMethodCall( - MethodCall('error', event.toJson()), cameraId); - await plugin.handleCameraMethodCall( - MethodCall('error', event.toJson()), cameraId); - await plugin.handleCameraMethodCall( - MethodCall('error', event.toJson()), cameraId); - - // Assert - expect(await streamQueue.next, event); - expect(await streamQueue.next, event); - expect(await streamQueue.next, event); - - // Clean up - await streamQueue.cancel(); - }); - }); - - group('Function Tests', () { - late CameraWindows plugin; - late int cameraId; - - setUp(() async { - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': {'cameraId': 1}, - 'initialize': { - 'previewWidth': 1920.toDouble(), - 'previewHeight': 1080.toDouble() - }, - }, - ); - plugin = CameraWindows(); - cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ); - await plugin.initializeCamera(cameraId); - }); - - test('Should fetch CameraDescription instances for available cameras', - () async { - // Arrange - final List returnData = [ - { - 'name': 'Test 1', - 'lensFacing': 'front', - 'sensorOrientation': 1 - }, - { - 'name': 'Test 2', - 'lensFacing': 'back', - 'sensorOrientation': 2 - } - ]; - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'availableCameras': returnData}, - ); - - // Act - final List cameras = await plugin.availableCameras(); - - // Assert - expect(channel.log, [ - isMethodCall('availableCameras', arguments: null), - ]); - expect(cameras.length, returnData.length); - for (int i = 0; i < returnData.length; i++) { - final Map typedData = - (returnData[i] as Map).cast(); - final CameraDescription cameraDescription = CameraDescription( - name: typedData['name']! as String, - lensDirection: plugin - .parseCameraLensDirection(typedData['lensFacing']! as String), - sensorOrientation: typedData['sensorOrientation']! as int, - ); - expect(cameras[i], cameraDescription); - } - }); - - test( - 'Should throw CameraException when availableCameras throws a PlatformException', - () { - // Arrange - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'availableCameras': PlatformException( - code: 'TESTING_ERROR_CODE', - message: 'Mock error message used during testing.', - ) - }); - - // Act - expect( - plugin.availableCameras, - throwsA( - isA() - .having( - (CameraException e) => e.code, 'code', 'TESTING_ERROR_CODE') - .having((CameraException e) => e.description, 'description', - 'Mock error message used during testing.'), - ), - ); - }); - - test('Should take a picture and return an XFile instance', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'takePicture': '/test/path.jpg'}); - - // Act - final XFile file = await plugin.takePicture(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('takePicture', arguments: { - 'cameraId': cameraId, - }), - ]); - expect(file.path, '/test/path.jpg'); - }); - - test('Should prepare for video recording', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'prepareForVideoRecording': null}, - ); - - // Act - await plugin.prepareForVideoRecording(); - - // Assert - expect(channel.log, [ - isMethodCall('prepareForVideoRecording', arguments: null), - ]); - }); - - test('Should start recording a video', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'startVideoRecording': null}, - ); - - // Act - await plugin.startVideoRecording(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('startVideoRecording', arguments: { - 'cameraId': cameraId, - 'maxVideoDuration': null, - }), - ]); - }); - - test('Should pass maxVideoDuration when starting recording a video', - () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'startVideoRecording': null}, - ); - - // Act - await plugin.startVideoRecording( - cameraId, - maxVideoDuration: const Duration(seconds: 10), - ); - - // Assert - expect(channel.log, [ - isMethodCall('startVideoRecording', arguments: { - 'cameraId': cameraId, - 'maxVideoDuration': 10000 - }), - ]); - }); - - test('capturing fails if trying to stream', () async { - // Act and Assert - expect( - () => plugin.startVideoCapturing(VideoCaptureOptions(cameraId, - streamCallback: (CameraImageData imageData) {})), - throwsA(isA()), - ); - }); - - test('Should stop a video recording and return the file', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'stopVideoRecording': '/test/path.mp4'}, - ); - - // Act - final XFile file = await plugin.stopVideoRecording(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('stopVideoRecording', arguments: { - 'cameraId': cameraId, - }), - ]); - expect(file.path, '/test/path.mp4'); - }); - - test('Should throw UnsupportedError when pause video recording is called', - () async { - // Act - expect( - () => plugin.pauseVideoRecording(cameraId), - throwsA(isA()), - ); - }); - - test( - 'Should throw UnsupportedError when resume video recording is called', - () async { - // Act - expect( - () => plugin.resumeVideoRecording(cameraId), - throwsA(isA()), - ); - }); - - test('Should throw UnimplementedError when flash mode is set', () async { - // Act - expect( - () => plugin.setFlashMode(cameraId, FlashMode.torch), - throwsA(isA()), - ); - }); - - test('Should throw UnimplementedError when exposure mode is set', - () async { - // Act - expect( - () => plugin.setExposureMode(cameraId, ExposureMode.auto), - throwsA(isA()), - ); - }); - - test('Should throw UnsupportedError when exposure point is set', - () async { - // Act - expect( - () => plugin.setExposurePoint(cameraId, null), - throwsA(isA()), - ); - }); - - test('Should get the min exposure offset', () async { - // Act - final double minExposureOffset = - await plugin.getMinExposureOffset(cameraId); - - // Assert - expect(minExposureOffset, 0.0); - }); - - test('Should get the max exposure offset', () async { - // Act - final double maxExposureOffset = - await plugin.getMaxExposureOffset(cameraId); - - // Assert - expect(maxExposureOffset, 0.0); - }); - - test('Should get the exposure offset step size', () async { - // Act - final double stepSize = - await plugin.getExposureOffsetStepSize(cameraId); - - // Assert - expect(stepSize, 1.0); - }); - - test('Should throw UnimplementedError when exposure offset is set', - () async { - // Act - expect( - () => plugin.setExposureOffset(cameraId, 0.5), - throwsA(isA()), - ); - }); - - test('Should throw UnimplementedError when focus mode is set', () async { - // Act - expect( - () => plugin.setFocusMode(cameraId, FocusMode.auto), - throwsA(isA()), - ); - }); - - test('Should throw UnsupportedError when exposure point is set', - () async { - // Act - expect( - () => plugin.setFocusMode(cameraId, FocusMode.auto), - throwsA(isA()), - ); - }); - - test('Should build a texture widget as preview widget', () async { - // Act - final Widget widget = plugin.buildPreview(cameraId); - - // Act - expect(widget is Texture, isTrue); - expect((widget as Texture).textureId, cameraId); - }); - - test('Should throw UnimplementedError when handling unknown method', () { - final CameraWindows plugin = CameraWindows(); - - expect( - () => plugin.handleCameraMethodCall( - const MethodCall('unknown_method'), 1), - throwsA(isA())); - }); - - test('Should get the max zoom level', () async { - // Act - final double maxZoomLevel = await plugin.getMaxZoomLevel(cameraId); - - // Assert - expect(maxZoomLevel, 1.0); - }); - - test('Should get the min zoom level', () async { - // Act - final double maxZoomLevel = await plugin.getMinZoomLevel(cameraId); - - // Assert - expect(maxZoomLevel, 1.0); - }); - - test('Should throw UnimplementedError when zoom level is set', () async { - // Act - expect( - () => plugin.setZoomLevel(cameraId, 2.0), - throwsA(isA()), - ); - }); - - test( - 'Should throw UnimplementedError when lock capture orientation is called', - () async { - // Act - expect( - () => plugin.setZoomLevel(cameraId, 2.0), - throwsA(isA()), - ); - }); - - test( - 'Should throw UnimplementedError when unlock capture orientation is called', - () async { - // Act - expect( - () => plugin.unlockCaptureOrientation(cameraId), - throwsA(isA()), - ); - }); - - test('Should pause the camera preview', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'pausePreview': null}, - ); - - // Act - await plugin.pausePreview(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('pausePreview', - arguments: {'cameraId': cameraId}), - ]); - }); - - test('Should resume the camera preview', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'resumePreview': null}, - ); - - // Act - await plugin.resumePreview(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('resumePreview', - arguments: {'cameraId': cameraId}), - ]); - }); - }); - }); -} diff --git a/example/windows_camera/test/utils/method_channel_mock.dart b/example/windows_camera/test/utils/method_channel_mock.dart deleted file mode 100644 index 559f606..0000000 --- a/example/windows_camera/test/utils/method_channel_mock.dart +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -/// A mock [MethodChannel] implementation for use in tests. -class MethodChannelMock { - /// Creates a new instance with the specified channel name. - /// - /// This method channel will handle all method invocations specified by - /// returning the value mapped to the method name key. If a delay is - /// specified, results are returned after the delay has elapsed. - MethodChannelMock({ - required String channelName, - this.delay, - required this.methods, - }) : methodChannel = MethodChannel(channelName) { - _ambiguate(TestDefaultBinaryMessengerBinding.instance)! - .defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, _handler); - } - - final Duration? delay; - final MethodChannel methodChannel; - final Map methods; - final List log = []; - - Future _handler(MethodCall methodCall) async { - log.add(methodCall); - - if (!methods.containsKey(methodCall.method)) { - throw MissingPluginException('No TEST implementation found for method ' - '${methodCall.method} on channel ${methodChannel.name}'); - } - - return Future.delayed(delay ?? Duration.zero, () { - final dynamic result = methods[methodCall.method]; - if (result is Exception) { - throw result; - } - - return Future.value(result); - }); - } -} - -/// This allows a value of type T or T? to be treated as a value of type T?. -/// -/// We use this so that APIs that have become non-nullable can still be used -/// with `!` and `?` on the stable branch. -T? _ambiguate(T? value) => value; diff --git a/example/windows_camera/windows/.gitignore b/example/windows_camera/windows/.gitignore deleted file mode 100644 index b3eb2be..0000000 --- a/example/windows_camera/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/example/windows_camera/windows/CMakeLists.txt b/example/windows_camera/windows/CMakeLists.txt deleted file mode 100644 index caeb109..0000000 --- a/example/windows_camera/windows/CMakeLists.txt +++ /dev/null @@ -1,99 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -set(PROJECT_NAME "camera_windows") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "${PROJECT_NAME}_plugin") - -list(APPEND PLUGIN_SOURCES - "camera_plugin.h" - "camera_plugin.cpp" - "camera.h" - "camera.cpp" - "capture_controller.h" - "capture_controller.cpp" - "capture_controller_listener.h" - "capture_engine_listener.h" - "capture_engine_listener.cpp" - "string_utils.h" - "string_utils.cpp" - "capture_device_info.h" - "capture_device_info.cpp" - "preview_handler.h" - "preview_handler.cpp" - "record_handler.h" - "record_handler.cpp" - "photo_handler.h" - "photo_handler.cpp" - "texture_handler.h" - "texture_handler.cpp" - "com_heap_ptr.h" -) - -add_library(${PLUGIN_NAME} SHARED - "camera_windows.cpp" - "include/camera_windows/camera_windows.h" - ${PLUGIN_SOURCES} -) - -apply_standard_settings(${PLUGIN_NAME}) -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin) -target_link_libraries(${PLUGIN_NAME} PRIVATE mf mfplat mfuuid d3d11) - -# List of absolute paths to libraries that should be bundled with the plugin -set(camera_windows_bundled_libraries - "" - PARENT_SCOPE -) - - -# === Tests === - -if (${include_${PROJECT_NAME}_tests}) -set(TEST_RUNNER "${PROJECT_NAME}_test") -enable_testing() -# TODO(stuartmorgan): Consider using a single shared, pre-checked-in googletest -# instance rather than downloading for each plugin. This approach makes sense -# for a template, but not for a monorepo with many plugins. -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/release-1.11.0.zip -) -# Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -# Disable install commands for gtest so it doesn't end up in the bundle. -set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE) - -FetchContent_MakeAvailable(googletest) - -# The plugin's C API is not very useful for unit testing, so build the sources -# directly into the test binary rather than using the DLL. -add_executable(${TEST_RUNNER} - test/mocks.h - test/camera_plugin_test.cpp - test/camera_test.cpp - test/capture_controller_test.cpp - ${PLUGIN_SOURCES} -) -apply_standard_settings(${TEST_RUNNER}) -target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") -target_link_libraries(${TEST_RUNNER} PRIVATE flutter_wrapper_plugin) -target_link_libraries(${TEST_RUNNER} PRIVATE mf mfplat mfuuid d3d11) -target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock) - -# flutter_wrapper_plugin has link dependencies on the Flutter DLL. -add_custom_command(TARGET ${TEST_RUNNER} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${FLUTTER_LIBRARY}" $ -) - -include(GoogleTest) -gtest_discover_tests(${TEST_RUNNER}) -endif() diff --git a/example/windows_camera/windows/camera.cpp b/example/windows_camera/windows/camera.cpp deleted file mode 100644 index f4309d9..0000000 --- a/example/windows_camera/windows/camera.cpp +++ /dev/null @@ -1,318 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "camera.h" - -namespace camera_windows { -using flutter::EncodableList; -using flutter::EncodableMap; -using flutter::EncodableValue; - -// Camera channel events. -constexpr char kCameraMethodChannelBaseName[] = - "plugins.flutter.io/camera_windows/camera"; -constexpr char kVideoRecordedEvent[] = "video_recorded"; -constexpr char kCameraClosingEvent[] = "camera_closing"; -constexpr char kErrorEvent[] = "error"; -constexpr char kStreamedFrameAvailable[] = "frame_available"; -// Camera error codes -constexpr char kCameraAccessDenied[] = "CameraAccessDenied"; -constexpr char kCameraError[] = "camera_error"; -constexpr char kPluginDisposed[] = "plugin_disposed"; - -std::string GetErrorCode(CameraResult result) { - assert(result != CameraResult::kSuccess); - - switch (result) { - case CameraResult::kAccessDenied: - return kCameraAccessDenied; - - case CameraResult::kSuccess: - case CameraResult::kError: - default: - return kCameraError; - } -} - -CameraImpl::CameraImpl(const std::string& device_id) - : device_id_(device_id), Camera(device_id) {} - -CameraImpl::~CameraImpl() { - // Sends camera closing event. - OnCameraClosing(); - - capture_controller_ = nullptr; - SendErrorForPendingResults(kPluginDisposed, - "Plugin disposed before request was handled"); -} - -bool CameraImpl::InitCamera(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - bool record_audio, - ResolutionPreset resolution_preset) { - auto capture_controller_factory = - std::make_unique(); - return InitCamera(std::move(capture_controller_factory), texture_registrar, - messenger, record_audio, resolution_preset); -} - -bool CameraImpl::InitCamera( - std::unique_ptr capture_controller_factory, - flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, bool record_audio, - ResolutionPreset resolution_preset) { - assert(!device_id_.empty()); - messenger_ = messenger; - capture_controller_ = - capture_controller_factory->CreateCaptureController(this); - return capture_controller_->InitCaptureDevice( - texture_registrar, device_id_, record_audio, resolution_preset); -} - -bool CameraImpl::AddPendingResult( - PendingResultType type, std::unique_ptr> result) { - assert(result); - - auto it = pending_results_.find(type); - if (it != pending_results_.end()) { - result->Error("Duplicate request", "Method handler already called"); - return false; - } - - pending_results_.insert(std::make_pair(type, std::move(result))); - return true; -} - -std::unique_ptr> CameraImpl::GetPendingResultByType( - PendingResultType type) { - auto it = pending_results_.find(type); - if (it == pending_results_.end()) { - return nullptr; - } - auto result = std::move(it->second); - pending_results_.erase(it); - return result; -} - -bool CameraImpl::HasPendingResultByType(PendingResultType type) const { - auto it = pending_results_.find(type); - if (it == pending_results_.end()) { - return false; - } - return it->second != nullptr; -} - -void CameraImpl::SendErrorForPendingResults(const std::string& error_code, - const std::string& description) { - for (const auto& pending_result : pending_results_) { - pending_result.second->Error(error_code, description); - } - pending_results_.clear(); -} - -MethodChannel<>* CameraImpl::GetMethodChannel() { - assert(messenger_); - assert(camera_id_); - - // Use existing channel if initialized - if (camera_channel_) { - return camera_channel_.get(); - } - - auto channel_name = - std::string(kCameraMethodChannelBaseName) + std::to_string(camera_id_); - - camera_channel_ = std::make_unique>( - messenger_, channel_name, &flutter::StandardMethodCodec::GetInstance()); - - return camera_channel_.get(); -} - -void CameraImpl::OnCreateCaptureEngineSucceeded(int64_t texture_id) { - // Use texture id as camera id - camera_id_ = texture_id; - auto pending_result = - GetPendingResultByType(PendingResultType::kCreateCamera); - if (pending_result) { - pending_result->Success(EncodableMap( - {{EncodableValue("cameraId"), EncodableValue(texture_id)}})); - } -} - -void CameraImpl::OnCreateCaptureEngineFailed(CameraResult result, - const std::string& error) { - auto pending_result = - GetPendingResultByType(PendingResultType::kCreateCamera); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -} - -void CameraImpl::OnStartPreviewSucceeded(int32_t width, int32_t height) { - auto pending_result = GetPendingResultByType(PendingResultType::kInitialize); - if (pending_result) { - pending_result->Success(EncodableValue(EncodableMap({ - {EncodableValue("previewWidth"), - EncodableValue(static_cast(width))}, - {EncodableValue("previewHeight"), - EncodableValue(static_cast(height))}, - }))); - } -}; - -void CameraImpl::OnStartPreviewFailed(CameraResult result, - const std::string& error) { - auto pending_result = GetPendingResultByType(PendingResultType::kInitialize); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -}; - -void CameraImpl::OnResumePreviewSucceeded() { - auto pending_result = - GetPendingResultByType(PendingResultType::kResumePreview); - if (pending_result) { - pending_result->Success(); - } -} - -void CameraImpl::OnResumePreviewFailed(CameraResult result, - const std::string& error) { - auto pending_result = - GetPendingResultByType(PendingResultType::kResumePreview); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -} - -void CameraImpl::OnPausePreviewSucceeded() { - auto pending_result = - GetPendingResultByType(PendingResultType::kPausePreview); - if (pending_result) { - pending_result->Success(); - } -} - -void CameraImpl::OnPausePreviewFailed(CameraResult result, - const std::string& error) { - auto pending_result = - GetPendingResultByType(PendingResultType::kPausePreview); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -} - -void CameraImpl::OnStartRecordSucceeded() { - auto pending_result = GetPendingResultByType(PendingResultType::kStartRecord); - if (pending_result) { - pending_result->Success(); - } -}; - -void CameraImpl::OnStartRecordFailed(CameraResult result, - const std::string& error) { - auto pending_result = GetPendingResultByType(PendingResultType::kStartRecord); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -}; - -void CameraImpl::OnStopRecordSucceeded(const std::string& file_path) { - auto pending_result = GetPendingResultByType(PendingResultType::kStopRecord); - if (pending_result) { - pending_result->Success(EncodableValue(file_path)); - } -}; - -void CameraImpl::OnStopRecordFailed(CameraResult result, - const std::string& error) { - auto pending_result = GetPendingResultByType(PendingResultType::kStopRecord); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -}; - -void CameraImpl::OnTakePictureSucceeded(const std::string& file_path) { - auto pending_result = GetPendingResultByType(PendingResultType::kTakePicture); - if (pending_result) { - pending_result->Success(EncodableValue(file_path)); - } -}; - -void CameraImpl::OnTakePictureFailed(CameraResult result, - const std::string& error) { - auto pending_take_picture_result = - GetPendingResultByType(PendingResultType::kTakePicture); - if (pending_take_picture_result) { - std::string error_code = GetErrorCode(result); - pending_take_picture_result->Error(error_code, error); - } -}; - -void CameraImpl::OnVideoRecordSucceeded(const std::string& file_path, - int64_t video_duration_ms) { - if (messenger_ && camera_id_ >= 0) { - auto channel = GetMethodChannel(); - - std::unique_ptr message_data = - std::make_unique( - EncodableMap({{EncodableValue("path"), EncodableValue(file_path)}, - {EncodableValue("maxVideoDuration"), - EncodableValue(video_duration_ms)}})); - - channel->InvokeMethod(kVideoRecordedEvent, std::move(message_data)); - } -} - -void CameraImpl::OnVideoRecordFailed(CameraResult result, - const std::string& error){}; - -void CameraImpl::OnCaptureError(CameraResult result, const std::string& error) { - if (messenger_ && camera_id_ >= 0) { - auto channel = GetMethodChannel(); - - std::unique_ptr message_data = - std::make_unique(EncodableMap( - {{EncodableValue("description"), EncodableValue(error)}})); - channel->InvokeMethod(kErrorEvent, std::move(message_data)); - } - - std::string error_code = GetErrorCode(result); - SendErrorForPendingResults(error_code, error); -} - -void CameraImpl::OnCameraClosing() { - if (messenger_ && camera_id_ >= 0) { - auto channel = GetMethodChannel(); - channel->InvokeMethod(kCameraClosingEvent, - std::move(std::make_unique())); - } -} - -void CameraImpl::OnStreamedFrameAvailable(uint8_t* data, uint32_t data_length) { - if (messenger_ && camera_id_ >= 0) { - auto channel = GetMethodChannel(); - - std::vector buffer; - if (buffer.size() != data_length) { - buffer.resize(data_length); - } - std::copy(data, data + data_length, buffer.begin()); - - std::unique_ptr message_data = - std::make_unique(EncodableMap( - {{EncodableValue("bytes"), EncodableValue(buffer)}})); - - channel->InvokeMethod(kStreamedFrameAvailable, - std::move(message_data)); - } -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/camera.h b/example/windows_camera/windows/camera.h deleted file mode 100644 index f67db6b..0000000 --- a/example/windows_camera/windows/camera.h +++ /dev/null @@ -1,207 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_H_ - -#include -#include - -#include - -#include "capture_controller.h" - -namespace camera_windows { - -using flutter::EncodableMap; -using flutter::MethodChannel; -using flutter::MethodResult; - -// A set of result types that are stored -// for processing asynchronous commands. -enum class PendingResultType { - kCreateCamera, - kInitialize, - kTakePicture, - kStartRecord, - kStopRecord, - kPausePreview, - kResumePreview, -}; - -// Interface implemented by cameras. -// -// Access is provided to an associated |CaptureController|, which can be used -// to capture video or photo from the camera. -class Camera : public CaptureControllerListener { - public: - explicit Camera(const std::string& device_id) {} - virtual ~Camera() = default; - - // Disallow copy and move. - Camera(const Camera&) = delete; - Camera& operator=(const Camera&) = delete; - - // Tests if this camera has the specified device ID. - virtual bool HasDeviceId(std::string& device_id) const = 0; - - // Tests if this camera has the specified camera ID. - virtual bool HasCameraId(int64_t camera_id) const = 0; - - // Adds a pending result. - // - // Returns an error result if the result has already been added. - virtual bool AddPendingResult(PendingResultType type, - std::unique_ptr> result) = 0; - - // Checks if a pending result of the specified type already exists. - virtual bool HasPendingResultByType(PendingResultType type) const = 0; - - // Returns a |CaptureController| that allows capturing video or still photos - // from this camera. - virtual camera_windows::CaptureController* GetCaptureController() = 0; - - // Initializes this camera and its associated capture controller. - // - // Returns false if initialization fails. - virtual bool InitCamera(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - bool record_audio, - ResolutionPreset resolution_preset) = 0; -}; - -// Concrete implementation of the |Camera| interface. -// -// This implementation is responsible for initializing the capture controller, -// listening for camera events, processing pending results, and notifying -// application code of processed events via the method channel. -class CameraImpl : public Camera { - public: - explicit CameraImpl(const std::string& device_id); - virtual ~CameraImpl(); - - // Disallow copy and move. - CameraImpl(const CameraImpl&) = delete; - CameraImpl& operator=(const CameraImpl&) = delete; - - // CaptureControllerListener - void OnCreateCaptureEngineSucceeded(int64_t texture_id) override; - void OnCreateCaptureEngineFailed(CameraResult result, - const std::string& error) override; - void OnStartPreviewSucceeded(int32_t width, int32_t height) override; - void OnStartPreviewFailed(CameraResult result, - const std::string& error) override; - void OnPausePreviewSucceeded() override; - void OnPausePreviewFailed(CameraResult result, - const std::string& error) override; - void OnResumePreviewSucceeded() override; - void OnResumePreviewFailed(CameraResult result, - const std::string& error) override; - void OnStartRecordSucceeded() override; - void OnStartRecordFailed(CameraResult result, - const std::string& error) override; - void OnStopRecordSucceeded(const std::string& file_path) override; - void OnStopRecordFailed(CameraResult result, - const std::string& error) override; - void OnTakePictureSucceeded(const std::string& file_path) override; - void OnTakePictureFailed(CameraResult result, - const std::string& error) override; - void OnVideoRecordSucceeded(const std::string& file_path, - int64_t video_duration) override; - void OnVideoRecordFailed(CameraResult result, - const std::string& error) override; - void OnCaptureError(CameraResult result, const std::string& error) override; - - void OnStreamedFrameAvailable(uint8_t* data, uint32_t data_length) override; - // Camera - bool HasDeviceId(std::string& device_id) const override { - return device_id_ == device_id; - } - bool HasCameraId(int64_t camera_id) const override { - return camera_id_ == camera_id; - } - bool AddPendingResult(PendingResultType type, - std::unique_ptr> result) override; - bool HasPendingResultByType(PendingResultType type) const override; - camera_windows::CaptureController* GetCaptureController() override { - return capture_controller_.get(); - } - bool InitCamera(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, bool record_audio, - ResolutionPreset resolution_preset) override; - - // Initializes the camera and its associated capture controller. - // - // This is a convenience method called by |InitCamera| but also used in - // tests. - // - // Returns false if initialization fails. - bool InitCamera( - std::unique_ptr capture_controller_factory, - flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, bool record_audio, - ResolutionPreset resolution_preset); - - private: - // Loops through all pending results and calls their error handler with given - // error ID and description. Pending results are cleared in the process. - // - // error_code: A string error code describing the error. - // description: A user-readable error message (optional). - void SendErrorForPendingResults(const std::string& error_code, - const std::string& description); - - // Called when camera is disposed. - // Sends camera closing message to the cameras method channel. - void OnCameraClosing(); - - // Initializes method channel instance and returns pointer it. - MethodChannel<>* GetMethodChannel(); - - // Finds pending result by type. - // Returns nullptr if type is not present. - std::unique_ptr> GetPendingResultByType( - PendingResultType type); - - std::map>> pending_results_; - std::unique_ptr capture_controller_; - std::unique_ptr> camera_channel_; - flutter::BinaryMessenger* messenger_ = nullptr; - int64_t camera_id_ = -1; - std::string device_id_; -}; - -// Factory class for creating |Camera| instances from a specified device ID. -class CameraFactory { - public: - CameraFactory() {} - virtual ~CameraFactory() = default; - - // Disallow copy and move. - CameraFactory(const CameraFactory&) = delete; - CameraFactory& operator=(const CameraFactory&) = delete; - - // Creates camera for given device id. - virtual std::unique_ptr CreateCamera( - const std::string& device_id) = 0; -}; - -// Concrete implementation of |CameraFactory|. -class CameraFactoryImpl : public CameraFactory { - public: - CameraFactoryImpl() {} - virtual ~CameraFactoryImpl() = default; - - // Disallow copy and move. - CameraFactoryImpl(const CameraFactoryImpl&) = delete; - CameraFactoryImpl& operator=(const CameraFactoryImpl&) = delete; - - std::unique_ptr CreateCamera(const std::string& device_id) override { - return std::make_unique(device_id); - } -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_H_ diff --git a/example/windows_camera/windows/camera_plugin.cpp b/example/windows_camera/windows/camera_plugin.cpp deleted file mode 100644 index 5503d17..0000000 --- a/example/windows_camera/windows/camera_plugin.cpp +++ /dev/null @@ -1,596 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "camera_plugin.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "capture_device_info.h" -#include "com_heap_ptr.h" -#include "string_utils.h" - -namespace camera_windows { -using flutter::EncodableList; -using flutter::EncodableMap; -using flutter::EncodableValue; - -namespace { - -// Channel events -constexpr char kChannelName[] = "plugins.flutter.io/camera_windows"; - -constexpr char kAvailableCamerasMethod[] = "availableCameras"; -constexpr char kCreateMethod[] = "create"; -constexpr char kInitializeMethod[] = "initialize"; -constexpr char kTakePictureMethod[] = "takePicture"; -constexpr char kStartVideoRecordingMethod[] = "startVideoRecording"; -constexpr char kStopVideoRecordingMethod[] = "stopVideoRecording"; -constexpr char kPausePreview[] = "pausePreview"; -constexpr char kResumePreview[] = "resumePreview"; -constexpr char kDisposeMethod[] = "dispose"; - -constexpr char kCameraNameKey[] = "cameraName"; -constexpr char kResolutionPresetKey[] = "resolutionPreset"; -constexpr char kEnableAudioKey[] = "enableAudio"; - -constexpr char kCameraIdKey[] = "cameraId"; -constexpr char kMaxVideoDurationKey[] = "maxVideoDuration"; - -constexpr char kResolutionPresetValueLow[] = "low"; -constexpr char kResolutionPresetValueMedium[] = "medium"; -constexpr char kResolutionPresetValueHigh[] = "high"; -constexpr char kResolutionPresetValueVeryHigh[] = "veryHigh"; -constexpr char kResolutionPresetValueUltraHigh[] = "ultraHigh"; -constexpr char kResolutionPresetValueMax[] = "max"; - -const std::string kPictureCaptureExtension = "jpeg"; -const std::string kVideoCaptureExtension = "mp4"; - -// Looks for |key| in |map|, returning the associated value if it is present, or -// a nullptr if not. -const EncodableValue* ValueOrNull(const EncodableMap& map, const char* key) { - auto it = map.find(EncodableValue(key)); - if (it == map.end()) { - return nullptr; - } - return &(it->second); -} - -// Looks for |key| in |map|, returning the associated int64 value if it is -// present, or std::nullopt if not. -std::optional GetInt64ValueOrNull(const EncodableMap& map, - const char* key) { - auto value = ValueOrNull(map, key); - if (!value) { - return std::nullopt; - } - - if (std::holds_alternative(*value)) { - return static_cast(std::get(*value)); - } - auto val64 = std::get_if(value); - if (!val64) { - return std::nullopt; - } - return *val64; -} - -// Parses resolution preset argument to enum value. -ResolutionPreset ParseResolutionPreset(const std::string& resolution_preset) { - if (resolution_preset.compare(kResolutionPresetValueLow) == 0) { - return ResolutionPreset::kLow; - } else if (resolution_preset.compare(kResolutionPresetValueMedium) == 0) { - return ResolutionPreset::kMedium; - } else if (resolution_preset.compare(kResolutionPresetValueHigh) == 0) { - return ResolutionPreset::kHigh; - } else if (resolution_preset.compare(kResolutionPresetValueVeryHigh) == 0) { - return ResolutionPreset::kVeryHigh; - } else if (resolution_preset.compare(kResolutionPresetValueUltraHigh) == 0) { - return ResolutionPreset::kUltraHigh; - } else if (resolution_preset.compare(kResolutionPresetValueMax) == 0) { - return ResolutionPreset::kMax; - } - return ResolutionPreset::kAuto; -} - -// Builds CaptureDeviceInfo object from given device holding device name and id. -std::unique_ptr GetDeviceInfo(IMFActivate* device) { - assert(device); - auto device_info = std::make_unique(); - ComHeapPtr name; - UINT32 name_size; - - HRESULT hr = device->GetAllocatedString(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, - &name, &name_size); - if (FAILED(hr)) { - return device_info; - } - - ComHeapPtr id; - UINT32 id_size; - hr = device->GetAllocatedString( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, &id, &id_size); - - if (FAILED(hr)) { - return device_info; - } - - device_info->SetDisplayName(Utf8FromUtf16(std::wstring(name, name_size))); - device_info->SetDeviceID(Utf8FromUtf16(std::wstring(id, id_size))); - return device_info; -} - -// Builds datetime string from current time. -// Used as part of the filenames for captured pictures and videos. -std::string GetCurrentTimeString() { - std::chrono::system_clock::duration now = - std::chrono::system_clock::now().time_since_epoch(); - - auto s = std::chrono::duration_cast(now).count(); - auto ms = - std::chrono::duration_cast(now).count() % 1000; - - struct tm newtime; - localtime_s(&newtime, &s); - - std::string time_start = ""; - time_start.resize(80); - size_t len = - strftime(&time_start[0], time_start.size(), "%Y_%m%d_%H%M%S_", &newtime); - if (len > 0) { - time_start.resize(len); - } - - // Add milliseconds to make sure the filename is unique - return time_start + std::to_string(ms); -} - -// Builds file path for picture capture. -std::optional GetFilePathForPicture() { - ComHeapPtr known_folder_path; - HRESULT hr = SHGetKnownFolderPath(FOLDERID_Pictures, KF_FLAG_CREATE, nullptr, - &known_folder_path); - if (FAILED(hr)) { - return std::nullopt; - } - - std::string path = Utf8FromUtf16(std::wstring(known_folder_path)); - - return path + "\\" + "PhotoCapture_" + GetCurrentTimeString() + "." + - kPictureCaptureExtension; -} - -// Builds file path for video capture. -std::optional GetFilePathForVideo() { - ComHeapPtr known_folder_path; - HRESULT hr = SHGetKnownFolderPath(FOLDERID_Videos, KF_FLAG_CREATE, nullptr, - &known_folder_path); - if (FAILED(hr)) { - return std::nullopt; - } - - std::string path = Utf8FromUtf16(std::wstring(known_folder_path)); - - return path + "\\" + "VideoCapture_" + GetCurrentTimeString() + "." + - kVideoCaptureExtension; -} -} // namespace - -// static -void CameraPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows* registrar) { - auto channel = std::make_unique>( - registrar->messenger(), kChannelName, - &flutter::StandardMethodCodec::GetInstance()); - - std::unique_ptr plugin = std::make_unique( - registrar->texture_registrar(), registrar->messenger()); - - channel->SetMethodCallHandler( - [plugin_pointer = plugin.get()](const auto& call, auto result) { - plugin_pointer->HandleMethodCall(call, std::move(result)); - }); - - registrar->AddPlugin(std::move(plugin)); -} - -CameraPlugin::CameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger) - : texture_registrar_(texture_registrar), - messenger_(messenger), - camera_factory_(std::make_unique()) {} - -CameraPlugin::CameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - std::unique_ptr camera_factory) - : texture_registrar_(texture_registrar), - messenger_(messenger), - camera_factory_(std::move(camera_factory)) {} - -CameraPlugin::~CameraPlugin() {} - -void CameraPlugin::HandleMethodCall( - const flutter::MethodCall<>& method_call, - std::unique_ptr> result) { - const std::string& method_name = method_call.method_name(); - - if (method_name.compare(kAvailableCamerasMethod) == 0) { - return AvailableCamerasMethodHandler(std::move(result)); - } else if (method_name.compare(kCreateMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return CreateMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kInitializeMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return this->InitializeMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kTakePictureMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return TakePictureMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kStartVideoRecordingMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return StartVideoRecordingMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kStopVideoRecordingMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return StopVideoRecordingMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kPausePreview) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return PausePreviewMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kResumePreview) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return ResumePreviewMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kDisposeMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return DisposeMethodHandler(*arguments, std::move(result)); - } else { - result->NotImplemented(); - } -} - -Camera* CameraPlugin::GetCameraByDeviceId(std::string& device_id) { - for (auto it = begin(cameras_); it != end(cameras_); ++it) { - if ((*it)->HasDeviceId(device_id)) { - return it->get(); - } - } - return nullptr; -} - -Camera* CameraPlugin::GetCameraByCameraId(int64_t camera_id) { - for (auto it = begin(cameras_); it != end(cameras_); ++it) { - if ((*it)->HasCameraId(camera_id)) { - return it->get(); - } - } - return nullptr; -} - -void CameraPlugin::DisposeCameraByCameraId(int64_t camera_id) { - for (auto it = begin(cameras_); it != end(cameras_); ++it) { - if ((*it)->HasCameraId(camera_id)) { - cameras_.erase(it); - return; - } - } -} - -void CameraPlugin::AvailableCamerasMethodHandler( - std::unique_ptr> result) { - // Enumerate devices. - ComHeapPtr devices; - UINT32 count = 0; - if (!this->EnumerateVideoCaptureDeviceSources(&devices, &count)) { - result->Error("System error", "Failed to get available cameras"); - // No need to free devices here, cos allocation failed. - return; - } - - if (count == 0) { - result->Success(EncodableValue(EncodableList())); - return; - } - - // Format found devices to the response. - EncodableList devices_list; - for (UINT32 i = 0; i < count; ++i) { - auto device_info = GetDeviceInfo(devices[i]); - auto deviceName = device_info->GetUniqueDeviceName(); - - devices_list.push_back(EncodableMap({ - {EncodableValue("name"), EncodableValue(deviceName)}, - {EncodableValue("lensFacing"), EncodableValue("front")}, - {EncodableValue("sensorOrientation"), EncodableValue(0)}, - })); - } - - result->Success(std::move(EncodableValue(devices_list))); -} - -bool CameraPlugin::EnumerateVideoCaptureDeviceSources(IMFActivate*** devices, - UINT32* count) { - return CaptureControllerImpl::EnumerateVideoCaptureDeviceSources(devices, - count); -} - -void CameraPlugin::CreateMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - // Parse enableAudio argument. - const auto* record_audio = - std::get_if(ValueOrNull(args, kEnableAudioKey)); - if (!record_audio) { - return result->Error("argument_error", - std::string(kEnableAudioKey) + " argument missing"); - } - - // Parse cameraName argument. - const auto* camera_name = - std::get_if(ValueOrNull(args, kCameraNameKey)); - if (!camera_name) { - return result->Error("argument_error", - std::string(kCameraNameKey) + " argument missing"); - } - - auto device_info = std::make_unique(); - if (!device_info->ParseDeviceInfoFromCameraName(*camera_name)) { - return result->Error( - "camera_error", "Cannot parse argument " + std::string(kCameraNameKey)); - } - - auto device_id = device_info->GetDeviceId(); - if (GetCameraByDeviceId(device_id)) { - return result->Error("camera_error", - "Camera with given device id already exists. Existing " - "camera must be disposed before creating it again."); - } - - std::unique_ptr camera = - camera_factory_->CreateCamera(device_id); - - if (camera->HasPendingResultByType(PendingResultType::kCreateCamera)) { - return result->Error("camera_error", - "Pending camera creation request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kCreateCamera, - std::move(result))) { - // Parse resolution preset argument. - const auto* resolution_preset_argument = - std::get_if(ValueOrNull(args, kResolutionPresetKey)); - ResolutionPreset resolution_preset; - if (resolution_preset_argument) { - resolution_preset = ParseResolutionPreset(*resolution_preset_argument); - } else { - resolution_preset = ResolutionPreset::kAuto; - } - - bool initialized = camera->InitCamera(texture_registrar_, messenger_, - *record_audio, resolution_preset); - if (initialized) { - cameras_.push_back(std::move(camera)); - } - } -} - -void CameraPlugin::InitializeMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kInitialize)) { - return result->Error("camera_error", - "Pending initialization request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kInitialize, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->StartPreview(); - } -} - -void CameraPlugin::PausePreviewMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kPausePreview)) { - return result->Error("camera_error", - "Pending pause preview request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kPausePreview, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->PausePreview(); - } -} - -void CameraPlugin::ResumePreviewMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kResumePreview)) { - return result->Error("camera_error", - "Pending resume preview request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kResumePreview, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->ResumePreview(); - } -} - -void CameraPlugin::StartVideoRecordingMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kStartRecord)) { - return result->Error("camera_error", - "Pending start recording request exists"); - } - - int64_t max_video_duration_ms = -1; - auto requested_max_video_duration_ms = - std::get_if(ValueOrNull(args, kMaxVideoDurationKey)); - - if (requested_max_video_duration_ms != nullptr) { - max_video_duration_ms = *requested_max_video_duration_ms; - } - - std::optional path = GetFilePathForVideo(); - if (path) { - if (camera->AddPendingResult(PendingResultType::kStartRecord, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->StartRecord(*path, max_video_duration_ms); - } - } else { - return result->Error("system_error", - "Failed to get path for video capture"); - } -} - -void CameraPlugin::StopVideoRecordingMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kStopRecord)) { - return result->Error("camera_error", - "Pending stop recording request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kStopRecord, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->StopRecord(); - } -} - -void CameraPlugin::TakePictureMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kTakePicture)) { - return result->Error("camera_error", "Pending take picture request exists"); - } - - std::optional path = GetFilePathForPicture(); - if (path) { - if (camera->AddPendingResult(PendingResultType::kTakePicture, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->TakePicture(*path); - } - } else { - return result->Error("system_error", - "Failed to get capture path for picture"); - } -} - -void CameraPlugin::DisposeMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - DisposeCameraByCameraId(*camera_id); - result->Success(); -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/camera_plugin.h b/example/windows_camera/windows/camera_plugin.h deleted file mode 100644 index 1baa247..0000000 --- a/example/windows_camera/windows/camera_plugin.h +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_PLUGIN_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_PLUGIN_H_ - -#include -#include -#include -#include - -#include - -#include "camera.h" -#include "capture_controller.h" -#include "capture_controller_listener.h" - -namespace camera_windows { -using flutter::MethodResult; - -namespace test { -namespace { -// Forward declaration of test class. -class MockCameraPlugin; -} // namespace -} // namespace test - -class CameraPlugin : public flutter::Plugin, - public VideoCaptureDeviceEnumerator { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows* registrar); - - CameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger); - - // Creates a plugin instance with the given CameraFactory instance. - // Exists for unit testing with mock implementations. - CameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - std::unique_ptr camera_factory); - - virtual ~CameraPlugin(); - - // Disallow copy and move. - CameraPlugin(const CameraPlugin&) = delete; - CameraPlugin& operator=(const CameraPlugin&) = delete; - - // Called when a method is called on plugin channel. - void HandleMethodCall(const flutter::MethodCall<>& method_call, - std::unique_ptr> result); - - private: - // Loops through cameras and returns camera - // with matching device_id or nullptr. - Camera* GetCameraByDeviceId(std::string& device_id); - - // Loops through cameras and returns camera - // with matching camera_id or nullptr. - Camera* GetCameraByCameraId(int64_t camera_id); - - // Disposes camera by camera id. - void DisposeCameraByCameraId(int64_t camera_id); - - // Enumerates video capture devices. - bool EnumerateVideoCaptureDeviceSources(IMFActivate*** devices, - UINT32* count) override; - - // Handles availableCameras method calls. - // Enumerates video capture devices and - // returns list of available camera devices. - void AvailableCamerasMethodHandler( - std::unique_ptr> result); - - // Handles create method calls. - // Creates camera and initializes capture controller for requested device. - // Stores result object to be handled after request is processed. - void CreateMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles initialize method calls. - // Requests existing camera controller to start preview. - // Stores result object to be handled after request is processed. - void InitializeMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles takePicture method calls. - // Requests existing camera controller to take photo. - // Stores result object to be handled after request is processed. - void TakePictureMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles startVideoRecording method calls. - // Requests existing camera controller to start recording. - // Stores result object to be handled after request is processed. - void StartVideoRecordingMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles stopVideoRecording method calls. - // Requests existing camera controller to stop recording. - // Stores result object to be handled after request is processed. - void StopVideoRecordingMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles pausePreview method calls. - // Requests existing camera controller to pause recording. - // Stores result object to be handled after request is processed. - void PausePreviewMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles resumePreview method calls. - // Requests existing camera controller to resume preview. - // Stores result object to be handled after request is processed. - void ResumePreviewMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles dsipose method calls. - // Disposes camera if exists. - void DisposeMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - std::unique_ptr camera_factory_; - flutter::TextureRegistrar* texture_registrar_; - flutter::BinaryMessenger* messenger_; - std::vector> cameras_; - - friend class camera_windows::test::MockCameraPlugin; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_PLUGIN_H_ diff --git a/example/windows_camera/windows/camera_windows.cpp b/example/windows_camera/windows/camera_windows.cpp deleted file mode 100644 index 2d6b781..0000000 --- a/example/windows_camera/windows/camera_windows.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "include/camera_windows/camera_windows.h" - -#include - -#include "camera_plugin.h" - -void CameraWindowsRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - camera_windows::CameraPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/example/windows_camera/windows/capture_controller.cpp b/example/windows_camera/windows/capture_controller.cpp deleted file mode 100644 index 91d3f4b..0000000 --- a/example/windows_camera/windows/capture_controller.cpp +++ /dev/null @@ -1,911 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "capture_controller.h" - -#include -#include -#include - -#include -#include - -#include "com_heap_ptr.h" -#include "photo_handler.h" -#include "preview_handler.h" -#include "record_handler.h" -#include "string_utils.h" -#include "texture_handler.h" - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -CameraResult GetCameraResult(HRESULT hr) { - if (SUCCEEDED(hr)) { - return CameraResult::kSuccess; - } - - return hr == E_ACCESSDENIED ? CameraResult::kAccessDenied - : CameraResult::kError; -} - -CaptureControllerImpl::CaptureControllerImpl( - CaptureControllerListener* listener) - : capture_controller_listener_(listener), CaptureController(){}; - -CaptureControllerImpl::~CaptureControllerImpl() { - ResetCaptureController(); - capture_controller_listener_ = nullptr; -}; - -// static -bool CaptureControllerImpl::EnumerateVideoCaptureDeviceSources( - IMFActivate*** devices, UINT32* count) { - ComPtr attributes; - - HRESULT hr = MFCreateAttributes(&attributes, 1); - if (FAILED(hr)) { - return false; - } - - hr = attributes->SetGUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID); - if (FAILED(hr)) { - return false; - } - - hr = MFEnumDeviceSources(attributes.Get(), devices, count); - if (FAILED(hr)) { - return false; - } - - return true; -} - -HRESULT CaptureControllerImpl::CreateDefaultAudioCaptureSource() { - audio_source_ = nullptr; - ComHeapPtr devices; - UINT32 count = 0; - - ComPtr attributes; - HRESULT hr = MFCreateAttributes(&attributes, 1); - - if (SUCCEEDED(hr)) { - hr = attributes->SetGUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID); - } - - if (SUCCEEDED(hr)) { - hr = MFEnumDeviceSources(attributes.Get(), &devices, &count); - } - - if (SUCCEEDED(hr) && count > 0) { - ComHeapPtr audio_device_id; - UINT32 audio_device_id_size; - - // Use first audio device. - hr = devices[0]->GetAllocatedString( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, &audio_device_id, - &audio_device_id_size); - - if (SUCCEEDED(hr)) { - ComPtr audio_capture_source_attributes; - hr = MFCreateAttributes(&audio_capture_source_attributes, 2); - - if (SUCCEEDED(hr)) { - hr = audio_capture_source_attributes->SetGUID( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID); - } - - if (SUCCEEDED(hr)) { - hr = audio_capture_source_attributes->SetString( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, - audio_device_id); - } - - if (SUCCEEDED(hr)) { - hr = MFCreateDeviceSource(audio_capture_source_attributes.Get(), - audio_source_.GetAddressOf()); - } - } - } - - return hr; -} - -HRESULT CaptureControllerImpl::CreateVideoCaptureSourceForDevice( - const std::string& video_device_id) { - video_source_ = nullptr; - - ComPtr video_capture_source_attributes; - - HRESULT hr = MFCreateAttributes(&video_capture_source_attributes, 2); - if (FAILED(hr)) { - return hr; - } - - hr = video_capture_source_attributes->SetGUID( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID); - if (FAILED(hr)) { - return hr; - } - - hr = video_capture_source_attributes->SetString( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, - Utf16FromUtf8(video_device_id).c_str()); - if (FAILED(hr)) { - return hr; - } - - hr = MFCreateDeviceSource(video_capture_source_attributes.Get(), - video_source_.GetAddressOf()); - return hr; -} - -HRESULT CaptureControllerImpl::CreateD3DManagerWithDX11Device() { - // TODO: Use existing ANGLE device - - HRESULT hr = S_OK; - hr = D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, - D3D11_CREATE_DEVICE_VIDEO_SUPPORT, nullptr, 0, - D3D11_SDK_VERSION, &dx11_device_, nullptr, nullptr); - if (FAILED(hr)) { - return hr; - } - - // Enable multithread protection - ComPtr multi_thread; - hr = dx11_device_.As(&multi_thread); - if (FAILED(hr)) { - return hr; - } - - multi_thread->SetMultithreadProtected(TRUE); - - hr = MFCreateDXGIDeviceManager(&dx_device_reset_token_, - dxgi_device_manager_.GetAddressOf()); - if (FAILED(hr)) { - return hr; - } - - hr = dxgi_device_manager_->ResetDevice(dx11_device_.Get(), - dx_device_reset_token_); - return hr; -} - -HRESULT CaptureControllerImpl::CreateCaptureEngine() { - assert(!video_device_id_.empty()); - - HRESULT hr = S_OK; - ComPtr attributes; - - // Creates capture engine only if not already initialized by test framework - if (!capture_engine_) { - ComPtr capture_engine_factory; - - hr = CoCreateInstance(CLSID_MFCaptureEngineClassFactory, nullptr, - CLSCTX_INPROC_SERVER, - IID_PPV_ARGS(&capture_engine_factory)); - if (FAILED(hr)) { - return hr; - } - - // Creates CaptureEngine. - hr = capture_engine_factory->CreateInstance(CLSID_MFCaptureEngine, - IID_PPV_ARGS(&capture_engine_)); - if (FAILED(hr)) { - return hr; - } - } - - hr = CreateD3DManagerWithDX11Device(); - - if (FAILED(hr)) { - return hr; - } - - // Creates video source only if not already initialized by test framework - if (!video_source_) { - hr = CreateVideoCaptureSourceForDevice(video_device_id_); - if (FAILED(hr)) { - return hr; - } - } - - // Creates audio source only if not already initialized by test framework - if (record_audio_ && !audio_source_) { - hr = CreateDefaultAudioCaptureSource(); - if (FAILED(hr)) { - return hr; - } - } - - if (!capture_engine_callback_handler_) { - capture_engine_callback_handler_ = - ComPtr(new CaptureEngineListener(this)); - } - - hr = MFCreateAttributes(&attributes, 2); - if (FAILED(hr)) { - return hr; - } - - hr = attributes->SetUnknown(MF_CAPTURE_ENGINE_D3D_MANAGER, - dxgi_device_manager_.Get()); - if (FAILED(hr)) { - return hr; - } - - hr = attributes->SetUINT32(MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY, - !record_audio_); - if (FAILED(hr)) { - return hr; - } - - // Check MF_CAPTURE_ENGINE_INITIALIZED event handling - // for response process. - hr = capture_engine_->Initialize(capture_engine_callback_handler_.Get(), - attributes.Get(), audio_source_.Get(), - video_source_.Get()); - return hr; -} - -void CaptureControllerImpl::ResetCaptureController() { - if (record_handler_ && record_handler_->CanStop()) { - if (record_handler_->IsContinuousRecording()) { - StopRecord(); - } else if (record_handler_->IsTimedRecording()) { - StopTimedRecord(); - } - } - - if (preview_handler_) { - StopPreview(); - } - - // Shuts down the media foundation platform object. - // Releases all resources including threads. - // Application should call MFShutdown the same number of times as MFStartup - if (media_foundation_started_) { - MFShutdown(); - } - - // States - media_foundation_started_ = false; - capture_engine_state_ = CaptureEngineState::kNotInitialized; - preview_frame_width_ = 0; - preview_frame_height_ = 0; - capture_engine_callback_handler_ = nullptr; - capture_engine_ = nullptr; - audio_source_ = nullptr; - video_source_ = nullptr; - base_preview_media_type_ = nullptr; - base_capture_media_type_ = nullptr; - - if (dxgi_device_manager_) { - dxgi_device_manager_->ResetDevice(dx11_device_.Get(), - dx_device_reset_token_); - } - dxgi_device_manager_ = nullptr; - dx11_device_ = nullptr; - - record_handler_ = nullptr; - preview_handler_ = nullptr; - photo_handler_ = nullptr; - texture_handler_ = nullptr; -} - -bool CaptureControllerImpl::InitCaptureDevice( - flutter::TextureRegistrar* texture_registrar, const std::string& device_id, - bool record_audio, ResolutionPreset resolution_preset) { - assert(capture_controller_listener_); - - if (IsInitialized()) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - CameraResult::kError, "Capture device already initialized"); - return false; - } else if (capture_engine_state_ == CaptureEngineState::kInitializing) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - CameraResult::kError, "Capture device already initializing"); - return false; - } - - capture_engine_state_ = CaptureEngineState::kInitializing; - resolution_preset_ = resolution_preset; - record_audio_ = record_audio; - texture_registrar_ = texture_registrar; - video_device_id_ = device_id; - - // MFStartup must be called before using Media Foundation. - if (!media_foundation_started_) { - HRESULT hr = MFStartup(MF_VERSION); - - if (FAILED(hr)) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - GetCameraResult(hr), "Failed to create camera"); - ResetCaptureController(); - return false; - } - - media_foundation_started_ = true; - } - - HRESULT hr = CreateCaptureEngine(); - if (FAILED(hr)) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - GetCameraResult(hr), "Failed to create camera"); - ResetCaptureController(); - return false; - } - - return true; -} - -void CaptureControllerImpl::TakePicture(const std::string& file_path) { - assert(capture_engine_callback_handler_); - assert(capture_engine_); - - if (!IsInitialized()) { - return OnPicture(CameraResult::kError, "Not initialized"); - } - - HRESULT hr = S_OK; - - if (!base_capture_media_type_) { - // Enumerates mediatypes and finds media type for video capture. - hr = FindBaseMediaTypes(); - if (FAILED(hr)) { - return OnPicture(GetCameraResult(hr), - "Failed to initialize photo capture"); - } - } - - if (!photo_handler_) { - photo_handler_ = std::make_unique(); - } else if (photo_handler_->IsTakingPhoto()) { - return OnPicture(CameraResult::kError, "Photo already requested"); - } - - // Check MF_CAPTURE_ENGINE_PHOTO_TAKEN event handling - // for response process. - hr = photo_handler_->TakePhoto(file_path, capture_engine_.Get(), - base_capture_media_type_.Get()); - if (FAILED(hr)) { - // Destroy photo handler on error cases to make sure state is resetted. - photo_handler_ = nullptr; - return OnPicture(GetCameraResult(hr), "Failed to take photo"); - } -} - -uint32_t CaptureControllerImpl::GetMaxPreviewHeight() const { - switch (resolution_preset_) { - case ResolutionPreset::kLow: - return 240; - break; - case ResolutionPreset::kMedium: - return 480; - break; - case ResolutionPreset::kHigh: - return 720; - break; - case ResolutionPreset::kVeryHigh: - return 1080; - break; - case ResolutionPreset::kUltraHigh: - return 2160; - break; - case ResolutionPreset::kMax: - case ResolutionPreset::kAuto: - default: - // no limit. - return 0xffffffff; - break; - } -} - -// Finds best media type for given source stream index and max height; -bool FindBestMediaType(DWORD source_stream_index, IMFCaptureSource* source, - IMFMediaType** target_media_type, uint32_t max_height, - uint32_t* target_frame_width, - uint32_t* target_frame_height, - float minimum_accepted_framerate = 15.f) { - assert(source); - ComPtr media_type; - - uint32_t best_width = 0; - uint32_t best_height = 0; - float best_framerate = 0.f; - - // Loop native media types. - for (int i = 0;; i++) { - if (FAILED(source->GetAvailableDeviceMediaType( - source_stream_index, i, media_type.GetAddressOf()))) { - break; - } - - uint32_t frame_rate_numerator, frame_rate_denominator; - if (FAILED(MFGetAttributeRatio(media_type.Get(), MF_MT_FRAME_RATE, - &frame_rate_numerator, - &frame_rate_denominator)) || - !frame_rate_denominator) { - continue; - } - - float frame_rate = - static_cast(frame_rate_numerator) / frame_rate_denominator; - if (frame_rate < minimum_accepted_framerate) { - continue; - } - - uint32_t frame_width; - uint32_t frame_height; - if (SUCCEEDED(MFGetAttributeSize(media_type.Get(), MF_MT_FRAME_SIZE, - &frame_width, &frame_height))) { - // Update target mediatype - if (frame_height <= max_height && - (best_width < frame_width || best_height < frame_height || - best_framerate < frame_rate)) { - media_type.CopyTo(target_media_type); - best_width = frame_width; - best_height = frame_height; - best_framerate = frame_rate; - } - } - } - - if (target_frame_width && target_frame_height) { - *target_frame_width = best_width; - *target_frame_height = best_height; - } - - return *target_media_type != nullptr; -} - -HRESULT CaptureControllerImpl::FindBaseMediaTypes() { - if (!IsInitialized()) { - return E_FAIL; - } - - ComPtr source; - HRESULT hr = capture_engine_->GetSource(&source); - if (FAILED(hr)) { - return hr; - } - - // Find base media type for previewing. - if (!FindBestMediaType( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW, - source.Get(), base_preview_media_type_.GetAddressOf(), - GetMaxPreviewHeight(), &preview_frame_width_, - &preview_frame_height_)) { - return E_FAIL; - } - - // Find base media type for record and photo capture. - if (!FindBestMediaType( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD, - source.Get(), base_capture_media_type_.GetAddressOf(), 0xffffffff, - nullptr, nullptr)) { - return E_FAIL; - } - - return S_OK; -} - -void CaptureControllerImpl::StartRecord(const std::string& file_path, - int64_t max_video_duration_ms) { - assert(capture_engine_); - - if (!IsInitialized()) { - return OnRecordStarted(CameraResult::kError, - "Camera not initialized. Camera should be " - "disposed and reinitialized."); - } - - HRESULT hr = S_OK; - - if (!base_capture_media_type_) { - // Enumerates mediatypes and finds media type for video capture. - hr = FindBaseMediaTypes(); - if (FAILED(hr)) { - return OnRecordStarted(GetCameraResult(hr), - "Failed to initialize video recording"); - } - } - - if (!record_handler_) { - record_handler_ = std::make_unique(record_audio_); - } else if (!record_handler_->CanStart()) { - return OnRecordStarted( - CameraResult::kError, - "Recording cannot be started. Previous recording must be stopped " - "first."); - } - - // Check MF_CAPTURE_ENGINE_RECORD_STARTED event handling for response - // process. - hr = record_handler_->StartRecord(file_path, max_video_duration_ms, - capture_engine_.Get(), - base_capture_media_type_.Get()); - if (FAILED(hr)) { - // Destroy record handler on error cases to make sure state is resetted. - record_handler_ = nullptr; - return OnRecordStarted(GetCameraResult(hr), - "Failed to start video recording"); - } -} - -void CaptureControllerImpl::StopRecord() { - assert(capture_controller_listener_); - - if (!IsInitialized()) { - return OnRecordStopped(CameraResult::kError, - "Camera not initialized. Camera should be " - "disposed and reinitialized."); - } - - if (!record_handler_ && !record_handler_->CanStop()) { - return OnRecordStopped(CameraResult::kError, - "Recording cannot be stopped."); - } - - // Check MF_CAPTURE_ENGINE_RECORD_STOPPED event handling for response - // process. - HRESULT hr = record_handler_->StopRecord(capture_engine_.Get()); - if (FAILED(hr)) { - return OnRecordStopped(GetCameraResult(hr), - "Failed to stop video recording"); - } -} - -// Stops timed recording. Called internally when requested time is passed. -// Check MF_CAPTURE_ENGINE_RECORD_STOPPED event handling for response process. -void CaptureControllerImpl::StopTimedRecord() { - assert(capture_controller_listener_); - if (!record_handler_ || !record_handler_->IsTimedRecording()) { - return; - } - - HRESULT hr = record_handler_->StopRecord(capture_engine_.Get()); - if (FAILED(hr)) { - // Destroy record handler on error cases to make sure state is resetted. - record_handler_ = nullptr; - return capture_controller_listener_->OnVideoRecordFailed( - GetCameraResult(hr), "Failed to record video"); - } -} - -// Starts capturing preview frames using preview handler -// After first frame is captured, OnPreviewStarted is called -void CaptureControllerImpl::StartPreview() { - assert(capture_engine_callback_handler_); - assert(capture_engine_); - assert(texture_handler_); - - if (!IsInitialized() || !texture_handler_) { - return OnPreviewStarted(CameraResult::kError, - "Camera not initialized. Camera should be " - "disposed and reinitialized."); - } - - HRESULT hr = S_OK; - - if (!base_preview_media_type_) { - // Enumerates mediatypes and finds media type for video capture. - hr = FindBaseMediaTypes(); - if (FAILED(hr)) { - return OnPreviewStarted(GetCameraResult(hr), - "Failed to initialize video preview"); - } - } - - texture_handler_->UpdateTextureSize(preview_frame_width_, - preview_frame_height_); - - // TODO(loic-sharma): This does not handle duplicate calls properly. - // See: https://github.com/flutter/flutter/issues/108404 - if (!preview_handler_) { - preview_handler_ = std::make_unique(); - } else if (preview_handler_->IsInitialized()) { - return OnPreviewStarted(CameraResult::kSuccess, ""); - } else { - return OnPreviewStarted(CameraResult::kError, "Preview already exists"); - } - - // Check MF_CAPTURE_ENGINE_PREVIEW_STARTED event handling for response - // process. - hr = preview_handler_->StartPreview(capture_engine_.Get(), - base_preview_media_type_.Get(), - capture_engine_callback_handler_.Get()); - - if (FAILED(hr)) { - // Destroy preview handler on error cases to make sure state is resetted. - preview_handler_ = nullptr; - return OnPreviewStarted(GetCameraResult(hr), - "Failed to start video preview"); - } -} - -// Stops preview. Called by destructor -// Use PausePreview and ResumePreview methods to for -// pausing and resuming the preview. -// Check MF_CAPTURE_ENGINE_PREVIEW_STOPPED event handling for response -// process. -HRESULT CaptureControllerImpl::StopPreview() { - assert(capture_engine_); - - if (!IsInitialized() || !preview_handler_) { - return S_OK; - } - - // Requests to stop preview. - return preview_handler_->StopPreview(capture_engine_.Get()); -} - -// Marks preview as paused. -// When preview is paused, captured frames are not processed for preview -// and flutter texture is not updated -void CaptureControllerImpl::PausePreview() { - assert(capture_controller_listener_); - - if (!preview_handler_ || !preview_handler_->IsInitialized()) { - return capture_controller_listener_->OnPausePreviewFailed( - CameraResult::kError, "Preview not started"); - } - - if (preview_handler_->PausePreview()) { - capture_controller_listener_->OnPausePreviewSucceeded(); - } else { - capture_controller_listener_->OnPausePreviewFailed( - CameraResult::kError, "Failed to pause preview"); - } -} - -// Marks preview as not paused. -// When preview is not paused, captured frames are processed for preview -// and flutter texture is updated. -void CaptureControllerImpl::ResumePreview() { - assert(capture_controller_listener_); - - if (!preview_handler_ || !preview_handler_->IsInitialized()) { - return capture_controller_listener_->OnResumePreviewFailed( - CameraResult::kError, "Preview not started"); - } - - if (preview_handler_->ResumePreview()) { - capture_controller_listener_->OnResumePreviewSucceeded(); - } else { - capture_controller_listener_->OnResumePreviewFailed( - CameraResult::kError, "Failed to pause preview"); - } -} - -// Handles capture engine events. -// Called via IMFCaptureEngineOnEventCallback implementation. -// Implements CaptureEngineObserver::OnEvent. -void CaptureControllerImpl::OnEvent(IMFMediaEvent* event) { - if (!IsInitialized() && - capture_engine_state_ != CaptureEngineState::kInitializing) { - return; - } - - GUID extended_type_guid; - if (SUCCEEDED(event->GetExtendedType(&extended_type_guid))) { - std::string error; - - HRESULT event_hr; - if (FAILED(event->GetStatus(&event_hr))) { - return; - } - - if (FAILED(event_hr)) { - // Reads system error - _com_error err(event_hr); - error = Utf8FromUtf16(err.ErrorMessage()); - } - - CameraResult event_result = GetCameraResult(event_hr); - if (extended_type_guid == MF_CAPTURE_ENGINE_ERROR) { - OnCaptureEngineError(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_INITIALIZED) { - OnCaptureEngineInitialized(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_PREVIEW_STARTED) { - // Preview is marked as started after first frame is captured. - // This is because, CaptureEngine might inform that preview is started - // even if error is thrown right after. - } else if (extended_type_guid == MF_CAPTURE_ENGINE_PREVIEW_STOPPED) { - OnPreviewStopped(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_RECORD_STARTED) { - OnRecordStarted(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_RECORD_STOPPED) { - OnRecordStopped(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_PHOTO_TAKEN) { - OnPicture(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_CAMERA_STREAM_BLOCKED) { - // TODO: Inform capture state to flutter. - } else if (extended_type_guid == - MF_CAPTURE_ENGINE_CAMERA_STREAM_UNBLOCKED) { - // TODO: Inform capture state to flutter. - } - } -} - -// Handles Picture event and informs CaptureControllerListener. -void CaptureControllerImpl::OnPicture(CameraResult result, - const std::string& error) { - if (result == CameraResult::kSuccess && photo_handler_) { - if (capture_controller_listener_) { - std::string path = photo_handler_->GetPhotoPath(); - capture_controller_listener_->OnTakePictureSucceeded(path); - } - photo_handler_->OnPhotoTaken(); - } else { - if (capture_controller_listener_) { - capture_controller_listener_->OnTakePictureFailed(result, error); - } - // Destroy photo handler on error cases to make sure state is resetted. - photo_handler_ = nullptr; - } -} - -// Handles CaptureEngineInitialized event and informs -// CaptureControllerListener. -void CaptureControllerImpl::OnCaptureEngineInitialized( - CameraResult result, const std::string& error) { - if (capture_controller_listener_) { - if (result != CameraResult::kSuccess) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - result, "Failed to initialize capture engine"); - ResetCaptureController(); - return; - } - - // Create texture handler and register new texture. - texture_handler_ = std::make_unique(texture_registrar_); - texture_handler_->SetCaptureControllerListener(capture_controller_listener_); - texture_handler_->SetMirrorPreviewState(false); - - int64_t texture_id = texture_handler_->RegisterTexture(); - if (texture_id >= 0) { - capture_controller_listener_->OnCreateCaptureEngineSucceeded(texture_id); - capture_engine_state_ = CaptureEngineState::kInitialized; - } else { - capture_controller_listener_->OnCreateCaptureEngineFailed( - CameraResult::kError, "Failed to create texture_id"); - // Reset state - ResetCaptureController(); - } - } -} - -// Handles CaptureEngineError event and informs CaptureControllerListener. -void CaptureControllerImpl::OnCaptureEngineError(CameraResult result, - const std::string& error) { - if (capture_controller_listener_) { - capture_controller_listener_->OnCaptureError(result, error); - } - - // TODO: If MF_CAPTURE_ENGINE_ERROR is returned, - // should capture controller be reinitialized automatically? -} - -// Handles PreviewStarted event and informs CaptureControllerListener. -// This should be called only after first frame has been received or -// in error cases. -void CaptureControllerImpl::OnPreviewStarted(CameraResult result, - const std::string& error) { - if (preview_handler_ && result == CameraResult::kSuccess) { - preview_handler_->OnPreviewStarted(); - } else { - // Destroy preview handler on error cases to make sure state is resetted. - preview_handler_ = nullptr; - } - - if (capture_controller_listener_) { - if (result == CameraResult::kSuccess && preview_frame_width_ > 0 && - preview_frame_height_ > 0) { - capture_controller_listener_->OnStartPreviewSucceeded( - preview_frame_width_, preview_frame_height_); - } else { - capture_controller_listener_->OnStartPreviewFailed(result, error); - } - } -}; - -// Handles PreviewStopped event. -void CaptureControllerImpl::OnPreviewStopped(CameraResult result, - const std::string& error) { - // Preview handler is destroyed if preview is stopped as it - // does not have any use anymore. - preview_handler_ = nullptr; -}; - -// Handles RecordStarted event and informs CaptureControllerListener. -void CaptureControllerImpl::OnRecordStarted(CameraResult result, - const std::string& error) { - if (result == CameraResult::kSuccess && record_handler_) { - record_handler_->OnRecordStarted(); - if (capture_controller_listener_) { - capture_controller_listener_->OnStartRecordSucceeded(); - } - } else { - if (capture_controller_listener_) { - capture_controller_listener_->OnStartRecordFailed(result, error); - } - - // Destroy record handler on error cases to make sure state is resetted. - record_handler_ = nullptr; - } -}; - -// Handles RecordStopped event and informs CaptureControllerListener. -void CaptureControllerImpl::OnRecordStopped(CameraResult result, - const std::string& error) { - if (capture_controller_listener_ && record_handler_) { - // Always calls OnStopRecord listener methods - // to handle separate stop record request for timed records. - - if (result == CameraResult::kSuccess) { - std::string path = record_handler_->GetRecordPath(); - capture_controller_listener_->OnStopRecordSucceeded(path); - if (record_handler_->IsTimedRecording()) { - capture_controller_listener_->OnVideoRecordSucceeded( - path, (record_handler_->GetRecordedDuration() / 1000)); - } - } else { - capture_controller_listener_->OnStopRecordFailed(result, error); - if (record_handler_->IsTimedRecording()) { - capture_controller_listener_->OnVideoRecordFailed(result, error); - } - } - } - - if (result == CameraResult::kSuccess && record_handler_) { - record_handler_->OnRecordStopped(); - } else { - // Destroy record handler on error cases to make sure state is resetted. - record_handler_ = nullptr; - } -} - -// Updates texture handlers buffer with given data. -// Called via IMFCaptureEngineOnSampleCallback implementation. -// Implements CaptureEngineObserver::UpdateBuffer. -bool CaptureControllerImpl::UpdateBuffer(uint8_t* buffer, - uint32_t data_length) { - if (!texture_handler_) { - return false; - } - - return texture_handler_->UpdateBuffer(buffer, data_length); -} - -// Handles capture time update from each processed frame. -// Stops timed recordings if requested recording duration has passed. -// Called via IMFCaptureEngineOnSampleCallback implementation. -// Implements CaptureEngineObserver::UpdateCaptureTime. -void CaptureControllerImpl::UpdateCaptureTime(uint64_t capture_time_us) { - if (!IsInitialized()) { - return; - } - - if (preview_handler_ && preview_handler_->IsStarting()) { - // Informs that first frame is captured successfully and preview has - // started. - OnPreviewStarted(CameraResult::kSuccess, ""); - } - - // Checks if max_video_duration_ms is passed. - if (record_handler_) { - record_handler_->UpdateRecordingTime(capture_time_us); - if (record_handler_->ShouldStopTimedRecording()) { - StopTimedRecord(); - } - } -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/capture_controller.h b/example/windows_camera/windows/capture_controller.h deleted file mode 100644 index 9536be7..0000000 --- a/example/windows_camera/windows/capture_controller.h +++ /dev/null @@ -1,296 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_H_ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "capture_controller_listener.h" -#include "capture_engine_listener.h" -#include "photo_handler.h" -#include "preview_handler.h" -#include "record_handler.h" -#include "texture_handler.h" - -namespace camera_windows { -using flutter::TextureRegistrar; -using Microsoft::WRL::ComPtr; - -// Camera resolution presets. Used to request a capture resolution. -enum class ResolutionPreset { - // Automatic resolution, uses the highest resolution available. - kAuto, - // 240p (320x240) - kLow, - // 480p (720x480) - kMedium, - // 720p (1280x720) - kHigh, - // 1080p (1920x1080) - kVeryHigh, - // 2160p (4096x2160) - kUltraHigh, - // The highest resolution available. - kMax, -}; - -// Camera capture engine state. -// -// On creation, |CaptureControllers| start in state |kNotInitialized|. -// On initialization, the capture controller transitions to the |kInitializing| -// and then |kInitialized| state. -enum class CaptureEngineState { kNotInitialized, kInitializing, kInitialized }; - -// Interface for a class that enumerates video capture device sources. -class VideoCaptureDeviceEnumerator { - private: - virtual bool EnumerateVideoCaptureDeviceSources(IMFActivate*** devices, - UINT32* count) = 0; -}; - -// Interface implemented by capture controllers. -// -// Capture controllers are used to capture video streams or still photos from -// their associated |Camera|. -class CaptureController { - public: - CaptureController() {} - virtual ~CaptureController() = default; - - // Disallow copy and move. - CaptureController(const CaptureController&) = delete; - CaptureController& operator=(const CaptureController&) = delete; - - // Initializes the capture controller with the specified device id. - // - // Returns false if the capture controller could not be initialized - // or is already initialized. - // - // texture_registrar: Pointer to Flutter TextureRegistrar instance. Used to - // register texture for capture preview. - // device_id: A string that holds information of camera device id to - // be captured. - // record_audio: A boolean value telling if audio should be captured on - // video recording. - // resolution_preset: Maximum capture resolution height. - virtual bool InitCaptureDevice(TextureRegistrar* texture_registrar, - const std::string& device_id, - bool record_audio, - ResolutionPreset resolution_preset) = 0; - - // Returns preview frame width - virtual uint32_t GetPreviewWidth() const = 0; - - // Returns preview frame height - virtual uint32_t GetPreviewHeight() const = 0; - - // Starts the preview. - virtual void StartPreview() = 0; - - // Pauses the preview. - virtual void PausePreview() = 0; - - // Resumes the preview. - virtual void ResumePreview() = 0; - - // Starts recording video. - virtual void StartRecord(const std::string& file_path, - int64_t max_video_duration_ms) = 0; - - // Stops the current video recording. - virtual void StopRecord() = 0; - - // Captures a still photo. - virtual void TakePicture(const std::string& file_path) = 0; -}; - -// Concrete implementation of the |CaptureController| interface. -// -// Handles the video preview stream via a |PreviewHandler| instance, video -// capture via a |RecordHandler| instance, and still photo capture via a -// |PhotoHandler| instance. -class CaptureControllerImpl : public CaptureController, - public CaptureEngineObserver { - public: - static bool EnumerateVideoCaptureDeviceSources(IMFActivate*** devices, - UINT32* count); - - explicit CaptureControllerImpl(CaptureControllerListener* listener); - virtual ~CaptureControllerImpl(); - - // Disallow copy and move. - CaptureControllerImpl(const CaptureControllerImpl&) = delete; - CaptureControllerImpl& operator=(const CaptureControllerImpl&) = delete; - - // CaptureController - bool InitCaptureDevice(TextureRegistrar* texture_registrar, - const std::string& device_id, bool record_audio, - ResolutionPreset resolution_preset) override; - uint32_t GetPreviewWidth() const override { return preview_frame_width_; } - uint32_t GetPreviewHeight() const override { return preview_frame_height_; } - void StartPreview() override; - void PausePreview() override; - void ResumePreview() override; - void StartRecord(const std::string& file_path, - int64_t max_video_duration_ms) override; - void StopRecord() override; - void TakePicture(const std::string& file_path) override; - - // CaptureEngineObserver - void OnEvent(IMFMediaEvent* event) override; - bool IsReadyForSample() const override { - return capture_engine_state_ == CaptureEngineState::kInitialized && - preview_handler_ && preview_handler_->IsRunning(); - } - bool UpdateBuffer(uint8_t* data, uint32_t data_length) override; - void UpdateCaptureTime(uint64_t capture_time) override; - - // Sets capture engine, for testing purposes. - void SetCaptureEngine(IMFCaptureEngine* capture_engine) { - capture_engine_ = capture_engine; - } - - // Sets video source, for testing purposes. - void SetVideoSource(IMFMediaSource* video_source) { - video_source_ = video_source; - } - - // Sets audio source, for testing purposes. - void SetAudioSource(IMFMediaSource* audio_source) { - audio_source_ = audio_source; - } - - private: - // Helper function to return initialized state as boolean; - bool IsInitialized() const { - return capture_engine_state_ == CaptureEngineState::kInitialized; - } - - // Resets capture controller state. - // This is called if capture engine creation fails or is disposed. - void ResetCaptureController(); - - // Returns max preview height calculated from resolution present. - uint32_t GetMaxPreviewHeight() const; - - // Uses first audio source to capture audio. - // Note: Enumerating audio sources via platform interface is not supported. - HRESULT CreateDefaultAudioCaptureSource(); - - // Initializes video capture source from camera device. - HRESULT CreateVideoCaptureSourceForDevice(const std::string& video_device_id); - - // Creates DX11 Device and D3D Manager. - HRESULT CreateD3DManagerWithDX11Device(); - - // Initializes capture engine object. - HRESULT CreateCaptureEngine(); - - // Enumerates video_sources media types and finds out best resolution - // for preview and video capture. - HRESULT FindBaseMediaTypes(); - - // Stops timed video record. Called internally when record handler when max - // recording time is exceeded. - void StopTimedRecord(); - - // Stops preview. Called internally on camera reset and dispose. - HRESULT StopPreview(); - - // Handles capture engine initalization event. - void OnCaptureEngineInitialized(CameraResult result, - const std::string& error); - - // Handles capture engine errors. - void OnCaptureEngineError(CameraResult result, const std::string& error); - - // Handles picture events. - void OnPicture(CameraResult result, const std::string& error); - - // Handles preview started events. - void OnPreviewStarted(CameraResult result, const std::string& error); - - // Handles preview stopped events. - void OnPreviewStopped(CameraResult result, const std::string& error); - - // Handles record started events. - void OnRecordStarted(CameraResult result, const std::string& error); - - // Handles record stopped events. - void OnRecordStopped(CameraResult result, const std::string& error); - - bool media_foundation_started_ = false; - bool record_audio_ = false; - uint32_t preview_frame_width_ = 0; - uint32_t preview_frame_height_ = 0; - UINT dx_device_reset_token_ = 0; - std::unique_ptr record_handler_; - std::unique_ptr preview_handler_; - std::unique_ptr photo_handler_; - std::unique_ptr texture_handler_; - CaptureControllerListener* capture_controller_listener_; - - std::string video_device_id_; - CaptureEngineState capture_engine_state_ = - CaptureEngineState::kNotInitialized; - ResolutionPreset resolution_preset_ = ResolutionPreset::kMedium; - ComPtr capture_engine_; - ComPtr capture_engine_callback_handler_; - ComPtr dxgi_device_manager_; - ComPtr dx11_device_; - ComPtr base_capture_media_type_; - ComPtr base_preview_media_type_; - ComPtr video_source_; - ComPtr audio_source_; - - TextureRegistrar* texture_registrar_ = nullptr; -}; - -// Inferface for factory classes that create |CaptureController| instances. -class CaptureControllerFactory { - public: - CaptureControllerFactory() {} - virtual ~CaptureControllerFactory() = default; - - // Disallow copy and move. - CaptureControllerFactory(const CaptureControllerFactory&) = delete; - CaptureControllerFactory& operator=(const CaptureControllerFactory&) = delete; - - // Create and return a |CaptureController| that makes callbacks on the - // specified |CaptureControllerListener|, which must not be null. - virtual std::unique_ptr CreateCaptureController( - CaptureControllerListener* listener) = 0; -}; - -// Concreate implementation of |CaptureControllerFactory|. -class CaptureControllerFactoryImpl : public CaptureControllerFactory { - public: - CaptureControllerFactoryImpl() {} - virtual ~CaptureControllerFactoryImpl() = default; - - // Disallow copy and move. - CaptureControllerFactoryImpl(const CaptureControllerFactoryImpl&) = delete; - CaptureControllerFactoryImpl& operator=(const CaptureControllerFactoryImpl&) = - delete; - - std::unique_ptr CreateCaptureController( - CaptureControllerListener* listener) override { - return std::make_unique(listener); - } -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_H_ diff --git a/example/windows_camera/windows/capture_controller_listener.h b/example/windows_camera/windows/capture_controller_listener.h deleted file mode 100644 index 958ada2..0000000 --- a/example/windows_camera/windows/capture_controller_listener.h +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_LISTENER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_LISTENER_H_ - -#include - -namespace camera_windows { - -// Results that can occur when interacting with the camera. -enum class CameraResult { - // Camera operation succeeded. - kSuccess, - - // Camera operation failed. - kError, - - // Camera access permission is denied. - kAccessDenied, -}; - -// Interface for classes that receives callbacks on events from the associated -// |CaptureController|. -class CaptureControllerListener { - public: - virtual ~CaptureControllerListener() = default; - - // Called by CaptureController on successful capture engine initialization. - // - // texture_id: A 64bit integer id registered by TextureRegistrar - virtual void OnCreateCaptureEngineSucceeded(int64_t texture_id) = 0; - - // Called by CaptureController if initializing the capture engine fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnCreateCaptureEngineFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully started preview. - // - // width: Preview frame width. - // height: Preview frame height. - virtual void OnStartPreviewSucceeded(int32_t width, int32_t height) = 0; - - // Called by CaptureController if starting the preview fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnStartPreviewFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully paused preview. - virtual void OnPausePreviewSucceeded() = 0; - - // Called by CaptureController if pausing the preview fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnPausePreviewFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully resumed preview. - virtual void OnResumePreviewSucceeded() = 0; - - // Called by CaptureController if resuming the preview fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnResumePreviewFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully started recording. - virtual void OnStartRecordSucceeded() = 0; - - // Called by CaptureController if starting the recording fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnStartRecordFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully stopped recording. - // - // file_path: Filesystem path of the recorded video file. - virtual void OnStopRecordSucceeded(const std::string& file_path) = 0; - - // Called by CaptureController if stopping the recording fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnStopRecordFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully captured picture. - // - // file_path: Filesystem path of the captured image. - virtual void OnTakePictureSucceeded(const std::string& file_path) = 0; - - // Called by CaptureController if taking picture fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnTakePictureFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController when timed recording is successfully recorded. - // - // file_path: Filesystem path of the captured image. - // video_duration: Duration of recorded video in milliseconds. - virtual void OnVideoRecordSucceeded(const std::string& file_path, - int64_t video_duration_ms) = 0; - - // Called by CaptureController if timed recording fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnVideoRecordFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController if capture engine returns error. - // For example when camera is disconnected while on use. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnCaptureError(CameraResult result, - const std::string& error) = 0; - - virtual void OnStreamedFrameAvailable(uint8_t* data, uint32_t data_length) = 0; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_LISTENER_H_ diff --git a/example/windows_camera/windows/capture_device_info.cpp b/example/windows_camera/windows/capture_device_info.cpp deleted file mode 100644 index 446056a..0000000 --- a/example/windows_camera/windows/capture_device_info.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "capture_device_info.h" - -#include -#include - -namespace camera_windows { -std::string CaptureDeviceInfo::GetUniqueDeviceName() const { - return display_name_ + " <" + device_id_ + ">"; -} - -bool CaptureDeviceInfo::ParseDeviceInfoFromCameraName( - const std::string& camera_name) { - size_t delimeter_index = camera_name.rfind(' ', camera_name.length()); - if (delimeter_index != std::string::npos) { - auto deviceInfo = std::make_unique(); - display_name_ = camera_name.substr(0, delimeter_index); - device_id_ = camera_name.substr(delimeter_index + 2, - camera_name.length() - delimeter_index - 3); - return true; - } - - return false; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/capture_device_info.h b/example/windows_camera/windows/capture_device_info.h deleted file mode 100644 index 63ffa85..0000000 --- a/example/windows_camera/windows/capture_device_info.h +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_DEVICE_INFO_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_DEVICE_INFO_H_ - -#include - -namespace camera_windows { - -// Name and device ID information for a capture device. -class CaptureDeviceInfo { - public: - CaptureDeviceInfo() {} - virtual ~CaptureDeviceInfo() = default; - - // Disallow copy and move. - CaptureDeviceInfo(const CaptureDeviceInfo&) = delete; - CaptureDeviceInfo& operator=(const CaptureDeviceInfo&) = delete; - - // Build unique device name from display name and device id. - // Format: "display_name ". - std::string GetUniqueDeviceName() const; - - // Parses display name and device id from unique device name format. - // Format: "display_name ". - bool CaptureDeviceInfo::ParseDeviceInfoFromCameraName( - const std::string& camera_name); - - // Updates display name. - void SetDisplayName(const std::string& display_name) { - display_name_ = display_name; - } - - // Updates device id. - void SetDeviceID(const std::string& device_id) { device_id_ = device_id; } - - // Returns device id. - std::string GetDeviceId() const { return device_id_; } - - private: - std::string display_name_; - std::string device_id_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_DEVICE_INFO_H_ diff --git a/example/windows_camera/windows/capture_engine_listener.cpp b/example/windows_camera/windows/capture_engine_listener.cpp deleted file mode 100644 index 5425b38..0000000 --- a/example/windows_camera/windows/capture_engine_listener.cpp +++ /dev/null @@ -1,90 +0,0 @@ - -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "capture_engine_listener.h" - -#include -#include - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -// IUnknown -STDMETHODIMP_(ULONG) CaptureEngineListener::AddRef() { - return InterlockedIncrement(&ref_); -} - -// IUnknown -STDMETHODIMP_(ULONG) -CaptureEngineListener::Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; -} - -// IUnknown -STDMETHODIMP_(HRESULT) -CaptureEngineListener::QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCaptureEngineOnEventCallback) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } else if (riid == IID_IMFCaptureEngineOnSampleCallback) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; -} - -STDMETHODIMP CaptureEngineListener::OnEvent(IMFMediaEvent* event) { - if (observer_) { - observer_->OnEvent(event); - } - return S_OK; -} - -// IMFCaptureEngineOnSampleCallback -HRESULT CaptureEngineListener::OnSample(IMFSample* sample) { - HRESULT hr = S_OK; - - if (this->observer_ && sample) { - LONGLONG raw_time_stamp = 0; - // Receives the presentation time, in 100-nanosecond units. - sample->GetSampleTime(&raw_time_stamp); - - // Report time in microseconds. - this->observer_->UpdateCaptureTime( - static_cast(raw_time_stamp / 10)); - - if (!this->observer_->IsReadyForSample()) { - // No texture target available or not previewing, just return status. - return hr; - } - - ComPtr buffer; - hr = sample->ConvertToContiguousBuffer(&buffer); - - // Draw the frame. - if (SUCCEEDED(hr) && buffer) { - DWORD max_length = 0; - DWORD current_length = 0; - uint8_t* data; - if (SUCCEEDED(buffer->Lock(&data, &max_length, ¤t_length))) { - this->observer_->UpdateBuffer(data, current_length); - } - hr = buffer->Unlock(); - } - } - return hr; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/capture_engine_listener.h b/example/windows_camera/windows/capture_engine_listener.h deleted file mode 100644 index 081e3ea..0000000 --- a/example/windows_camera/windows/capture_engine_listener.h +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_ENGINE_LISTENER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_ENGINE_LISTENER_H_ - -#include - -#include -#include - -namespace camera_windows { - -// A class that implements callbacks for events from a |CaptureEngineListener|. -class CaptureEngineObserver { - public: - virtual ~CaptureEngineObserver() = default; - - // Returns true if sample can be processed. - virtual bool IsReadyForSample() const = 0; - - // Handles Capture Engine media events. - virtual void OnEvent(IMFMediaEvent* event) = 0; - - // Updates texture buffer - virtual bool UpdateBuffer(uint8_t* data, uint32_t new_length) = 0; - - // Handles capture timestamps updates. - // Used to stop timed recordings when recorded time is exceeded. - virtual void UpdateCaptureTime(uint64_t capture_time) = 0; -}; - -// Listener for Windows Media Foundation capture engine events and samples. -// -// Events are redirected to observers for processing. Samples are preprosessed -// and sent to the associated observer if it is ready to process samples. -class CaptureEngineListener : public IMFCaptureEngineOnSampleCallback, - public IMFCaptureEngineOnEventCallback { - public: - CaptureEngineListener(CaptureEngineObserver* observer) : observer_(observer) { - assert(observer); - } - - ~CaptureEngineListener() {} - - // Disallow copy and move. - CaptureEngineListener(const CaptureEngineListener&) = delete; - CaptureEngineListener& operator=(const CaptureEngineListener&) = delete; - - // IUnknown - STDMETHODIMP_(ULONG) AddRef(); - STDMETHODIMP_(ULONG) Release(); - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv); - - // IMFCaptureEngineOnEventCallback - STDMETHODIMP OnEvent(IMFMediaEvent* pEvent); - - // IMFCaptureEngineOnSampleCallback - STDMETHODIMP_(HRESULT) OnSample(IMFSample* pSample); - - private: - CaptureEngineObserver* observer_; - volatile ULONG ref_ = 0; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_ENGINE_LISTENER_H_ diff --git a/example/windows_camera/windows/com_heap_ptr.h b/example/windows_camera/windows/com_heap_ptr.h deleted file mode 100644 index a314ed3..0000000 --- a/example/windows_camera/windows/com_heap_ptr.h +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_COMHEAPPTR_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_COMHEAPPTR_H_ - -#include - -#include - -namespace camera_windows { -// Wrapper for COM object for automatic memory release support -// Destructor uses CoTaskMemFree to release memory allocations. -template -class ComHeapPtr { - public: - ComHeapPtr() : p_obj_(nullptr) {} - ComHeapPtr(T* p_obj) : p_obj_(p_obj) {} - - // Frees memory on destruction. - ~ComHeapPtr() { Free(); } - - // Prevent copying / ownership transfer as not currently needed. - ComHeapPtr(ComHeapPtr const&) = delete; - ComHeapPtr& operator=(ComHeapPtr const&) = delete; - - // Returns the pointer to the memory. - operator T*() { return p_obj_; } - - // Returns the pointer to the memory. - T* operator->() { - assert(p_obj_ != nullptr); - return p_obj_; - } - - // Returns the pointer to the memory. - const T* operator->() const { - assert(p_obj_ != nullptr); - return p_obj_; - } - - // Returns the pointer to the memory. - T** operator&() { - // Wrapped object must be nullptr to avoid memory leaks. - // Object can be released with Reset(nullptr). - assert(p_obj_ == nullptr); - return &p_obj_; - } - - // Frees the memory pointed to, and sets the pointer to nullptr. - void Free() { - if (p_obj_) { - CoTaskMemFree(p_obj_); - } - p_obj_ = nullptr; - } - - private: - // Pointer to memory. - T* p_obj_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_COMHEAPPTR_H_ diff --git a/example/windows_camera/windows/include/camera_windows/camera_windows.h b/example/windows_camera/windows/include/camera_windows/camera_windows.h deleted file mode 100644 index b1e28b8..0000000 --- a/example/windows_camera/windows/include/camera_windows/camera_windows.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_INCLUDE_CAMERA_WINDOWS_CAMERA_WINDOWS_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_INCLUDE_CAMERA_WINDOWS_CAMERA_WINDOWS_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void CameraWindowsRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_INCLUDE_CAMERA_WINDOWS_CAMERA_WINDOWS_H_ diff --git a/example/windows_camera/windows/photo_handler.cpp b/example/windows_camera/windows/photo_handler.cpp deleted file mode 100644 index 479f0d3..0000000 --- a/example/windows_camera/windows/photo_handler.cpp +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "photo_handler.h" - -#include -#include -#include - -#include - -#include "capture_engine_listener.h" -#include "string_utils.h" - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -// Initializes media type for photo capture for jpeg images. -HRESULT BuildMediaTypeForPhotoCapture(IMFMediaType* src_media_type, - IMFMediaType** photo_media_type, - GUID image_format) { - assert(src_media_type); - ComPtr new_media_type; - - HRESULT hr = MFCreateMediaType(&new_media_type); - if (FAILED(hr)) { - return hr; - } - - // Clones everything from original media type. - hr = src_media_type->CopyAllItems(new_media_type.Get()); - if (FAILED(hr)) { - return hr; - } - - hr = new_media_type->SetGUID(MF_MT_MAJOR_TYPE, MFMediaType_Image); - if (FAILED(hr)) { - return hr; - } - - hr = new_media_type->SetGUID(MF_MT_SUBTYPE, image_format); - if (FAILED(hr)) { - return hr; - } - - new_media_type.CopyTo(photo_media_type); - return hr; -} - -HRESULT PhotoHandler::InitPhotoSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type) { - assert(capture_engine); - assert(base_media_type); - - HRESULT hr = S_OK; - - if (photo_sink_) { - // If photo sink already exists, only update output filename. - hr = photo_sink_->SetOutputFileName(Utf16FromUtf8(file_path_).c_str()); - - if (FAILED(hr)) { - photo_sink_ = nullptr; - } - - return hr; - } - - ComPtr photo_media_type; - ComPtr capture_sink; - - // Get sink with photo type. - hr = - capture_engine->GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PHOTO, &capture_sink); - if (FAILED(hr)) { - return hr; - } - - hr = capture_sink.As(&photo_sink_); - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - hr = photo_sink_->RemoveAllStreams(); - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - hr = BuildMediaTypeForPhotoCapture(base_media_type, - photo_media_type.GetAddressOf(), - GUID_ContainerFormatJpeg); - - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - DWORD photo_sink_stream_index; - hr = photo_sink_->AddStream( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_PHOTO, - photo_media_type.Get(), nullptr, &photo_sink_stream_index); - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - hr = photo_sink_->SetOutputFileName(Utf16FromUtf8(file_path_).c_str()); - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - return hr; -} - -HRESULT PhotoHandler::TakePhoto(const std::string& file_path, - IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type) { - assert(!file_path.empty()); - assert(capture_engine); - assert(base_media_type); - - file_path_ = file_path; - - HRESULT hr = InitPhotoSink(capture_engine, base_media_type); - if (FAILED(hr)) { - return hr; - } - - photo_state_ = PhotoState::kTakingPhoto; - - return capture_engine->TakePhoto(); -} - -void PhotoHandler::OnPhotoTaken() { - assert(photo_state_ == PhotoState::kTakingPhoto); - photo_state_ = PhotoState::kIdle; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/photo_handler.h b/example/windows_camera/windows/photo_handler.h deleted file mode 100644 index 4d6ddf1..0000000 --- a/example/windows_camera/windows/photo_handler.h +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PHOTO_HANDLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PHOTO_HANDLER_H_ - -#include -#include -#include - -#include -#include - -#include "capture_engine_listener.h" - -namespace camera_windows { -using Microsoft::WRL::ComPtr; - -// Various states that the photo handler can be in. -// -// When created, the handler is in |kNotStarted| state and transtions in -// sequential order through the states. -enum class PhotoState { - kNotStarted, - kIdle, - kTakingPhoto, -}; - -// Handles photo sink initialization and tracks photo capture states. -class PhotoHandler { - public: - PhotoHandler() {} - virtual ~PhotoHandler() = default; - - // Prevent copying. - PhotoHandler(PhotoHandler const&) = delete; - PhotoHandler& operator=(PhotoHandler const&) = delete; - - // Initializes photo sink if not initialized and requests the capture engine - // to take photo. - // - // Sets photo state to: kTakingPhoto. - // - // capture_engine: A pointer to capture engine instance. - // Called to take the photo. - // base_media_type: A pointer to base media type used as a base - // for the actual photo capture media type. - // file_path: A string that hold file path for photo capture. - HRESULT TakePhoto(const std::string& file_path, - IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type); - - // Set the photo handler recording state to: kIdle. - void OnPhotoTaken(); - - // Returns true if photo state is kIdle. - bool IsInitialized() const { return photo_state_ == PhotoState::kIdle; } - - // Returns true if photo state is kTakingPhoto. - bool IsTakingPhoto() const { - return photo_state_ == PhotoState::kTakingPhoto; - } - - // Returns the filesystem path of the captured photo. - std::string GetPhotoPath() const { return file_path_; } - - private: - // Initializes record sink for video file capture. - HRESULT InitPhotoSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type); - - std::string file_path_; - PhotoState photo_state_ = PhotoState::kNotStarted; - ComPtr photo_sink_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PHOTO_HANDLER_H_ diff --git a/example/windows_camera/windows/preview_handler.cpp b/example/windows_camera/windows/preview_handler.cpp deleted file mode 100644 index 538754c..0000000 --- a/example/windows_camera/windows/preview_handler.cpp +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "preview_handler.h" - -#include -#include - -#include - -#include "capture_engine_listener.h" -#include "string_utils.h" - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -// Initializes media type for video preview. -HRESULT BuildMediaTypeForVideoPreview(IMFMediaType* src_media_type, - IMFMediaType** preview_media_type) { - assert(src_media_type); - ComPtr new_media_type; - - HRESULT hr = MFCreateMediaType(&new_media_type); - if (FAILED(hr)) { - return hr; - } - - // Clones everything from original media type. - hr = src_media_type->CopyAllItems(new_media_type.Get()); - if (FAILED(hr)) { - return hr; - } - - // Changes subtype to MFVideoFormat_RGB32. - hr = new_media_type->SetGUID(MF_MT_SUBTYPE, MFVideoFormat_RGB32); - if (FAILED(hr)) { - return hr; - } - - hr = new_media_type->SetUINT32(MF_MT_ALL_SAMPLES_INDEPENDENT, TRUE); - if (FAILED(hr)) { - return hr; - } - - new_media_type.CopyTo(preview_media_type); - - return hr; -} - -HRESULT PreviewHandler::InitPreviewSink( - IMFCaptureEngine* capture_engine, IMFMediaType* base_media_type, - CaptureEngineListener* sample_callback) { - assert(capture_engine); - assert(base_media_type); - assert(sample_callback); - - HRESULT hr = S_OK; - - if (preview_sink_) { - // Preview sink already initialized. - return hr; - } - - ComPtr preview_media_type; - ComPtr capture_sink; - - // Get sink with preview type. - hr = capture_engine->GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW, - &capture_sink); - if (FAILED(hr)) { - return hr; - } - - hr = capture_sink.As(&preview_sink_); - if (FAILED(hr)) { - preview_sink_ = nullptr; - return hr; - } - - hr = preview_sink_->RemoveAllStreams(); - if (FAILED(hr)) { - preview_sink_ = nullptr; - return hr; - } - - hr = BuildMediaTypeForVideoPreview(base_media_type, - preview_media_type.GetAddressOf()); - - if (FAILED(hr)) { - preview_sink_ = nullptr; - return hr; - } - - DWORD preview_sink_stream_index; - hr = preview_sink_->AddStream( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW, - preview_media_type.Get(), nullptr, &preview_sink_stream_index); - - if (FAILED(hr)) { - return hr; - } - - hr = preview_sink_->SetSampleCallback(preview_sink_stream_index, - sample_callback); - - if (FAILED(hr)) { - preview_sink_ = nullptr; - return hr; - } - - return hr; -} - -HRESULT PreviewHandler::StartPreview(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type, - CaptureEngineListener* sample_callback) { - assert(capture_engine); - assert(base_media_type); - - HRESULT hr = - InitPreviewSink(capture_engine, base_media_type, sample_callback); - - if (FAILED(hr)) { - return hr; - } - - preview_state_ = PreviewState::kStarting; - return capture_engine->StartPreview(); -} - -HRESULT PreviewHandler::StopPreview(IMFCaptureEngine* capture_engine) { - if (preview_state_ == PreviewState::kStarting || - preview_state_ == PreviewState::kRunning || - preview_state_ == PreviewState::kPaused) { - preview_state_ = PreviewState::kStopping; - return capture_engine->StopPreview(); - } - return E_FAIL; -} - -bool PreviewHandler::PausePreview() { - if (preview_state_ != PreviewState::kRunning) { - return false; - } - preview_state_ = PreviewState::kPaused; - return true; -} - -bool PreviewHandler::ResumePreview() { - if (preview_state_ != PreviewState::kPaused) { - return false; - } - preview_state_ = PreviewState::kRunning; - return true; -} - -void PreviewHandler::OnPreviewStarted() { - assert(preview_state_ == PreviewState::kStarting); - if (preview_state_ == PreviewState::kStarting) { - preview_state_ = PreviewState::kRunning; - } -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/preview_handler.h b/example/windows_camera/windows/preview_handler.h deleted file mode 100644 index 311cf5a..0000000 --- a/example/windows_camera/windows/preview_handler.h +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PREVIEW_HANDLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PREVIEW_HANDLER_H_ - -#include -#include -#include - -#include -#include - -#include "capture_engine_listener.h" - -namespace camera_windows { -using Microsoft::WRL::ComPtr; - -// States the preview handler can be in. -// -// When created, the handler starts in |kNotStarted| state and mostly -// transitions in sequential order of the states. When the preview is running, -// it can be set to the |kPaused| state and later resumed to |kRunning| state. -enum class PreviewState { - kNotStarted, - kStarting, - kRunning, - kPaused, - kStopping -}; - -// Handler for a camera's video preview. -// -// Handles preview sink initialization and manages the state of the video -// preview. -class PreviewHandler { - public: - PreviewHandler() {} - virtual ~PreviewHandler() = default; - - // Prevent copying. - PreviewHandler(PreviewHandler const&) = delete; - PreviewHandler& operator=(PreviewHandler const&) = delete; - - // Initializes preview sink and requests capture engine to start previewing. - // Sets preview state to: starting. - // - // capture_engine: A pointer to capture engine instance. Used to start - // the actual recording. - // base_media_type: A pointer to base media type used as a base - // for the actual video capture media type. - // sample_callback: A pointer to capture engine listener. - // This is set as sample callback for preview sink. - HRESULT StartPreview(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type, - CaptureEngineListener* sample_callback); - - // Stops existing recording. - // - // capture_engine: A pointer to capture engine instance. Used to stop - // the ongoing recording. - HRESULT StopPreview(IMFCaptureEngine* capture_engine); - - // Set the preview handler recording state to: paused. - bool PausePreview(); - - // Set the preview handler recording state to: running. - bool ResumePreview(); - - // Set the preview handler recording state to: running. - void OnPreviewStarted(); - - // Returns true if preview state is running or paused. - bool IsInitialized() const { - return preview_state_ == PreviewState::kRunning || - preview_state_ == PreviewState::kPaused; - } - - // Returns true if preview state is running. - bool IsRunning() const { return preview_state_ == PreviewState::kRunning; } - - // Return true if preview state is paused. - bool IsPaused() const { return preview_state_ == PreviewState::kPaused; } - - // Returns true if preview state is starting. - bool IsStarting() const { return preview_state_ == PreviewState::kStarting; } - - private: - // Initializes record sink for video file capture. - HRESULT InitPreviewSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type, - CaptureEngineListener* sample_callback); - - PreviewState preview_state_ = PreviewState::kNotStarted; - ComPtr preview_sink_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PREVIEW_HANDLER_H_ diff --git a/example/windows_camera/windows/record_handler.cpp b/example/windows_camera/windows/record_handler.cpp deleted file mode 100644 index 0f71925..0000000 --- a/example/windows_camera/windows/record_handler.cpp +++ /dev/null @@ -1,259 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "record_handler.h" - -#include -#include - -#include - -#include "string_utils.h" - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -// Initializes media type for video capture. -HRESULT BuildMediaTypeForVideoCapture(IMFMediaType* src_media_type, - IMFMediaType** video_record_media_type, - GUID capture_format) { - assert(src_media_type); - ComPtr new_media_type; - - HRESULT hr = MFCreateMediaType(&new_media_type); - if (FAILED(hr)) { - return hr; - } - - // Clones everything from original media type. - hr = src_media_type->CopyAllItems(new_media_type.Get()); - if (FAILED(hr)) { - return hr; - } - - hr = new_media_type->SetGUID(MF_MT_SUBTYPE, capture_format); - if (FAILED(hr)) { - return hr; - } - - new_media_type.CopyTo(video_record_media_type); - return S_OK; -} - -// Queries interface object from collection. -template -HRESULT GetCollectionObject(IMFCollection* pCollection, DWORD index, - Q** ppObj) { - ComPtr pUnk; - HRESULT hr = pCollection->GetElement(index, pUnk.GetAddressOf()); - if (FAILED(hr)) { - return hr; - } - return pUnk->QueryInterface(IID_PPV_ARGS(ppObj)); -} - -// Initializes media type for audo capture. -HRESULT BuildMediaTypeForAudioCapture(IMFMediaType** audio_record_media_type) { - ComPtr audio_output_attributes; - ComPtr src_media_type; - ComPtr new_media_type; - ComPtr available_output_types; - DWORD mt_count = 0; - - HRESULT hr = MFCreateAttributes(&audio_output_attributes, 1); - if (FAILED(hr)) { - return hr; - } - - // Enumerates only low latency audio outputs. - hr = audio_output_attributes->SetUINT32(MF_LOW_LATENCY, TRUE); - if (FAILED(hr)) { - return hr; - } - - DWORD mft_flags = (MFT_ENUM_FLAG_ALL & (~MFT_ENUM_FLAG_FIELDOFUSE)) | - MFT_ENUM_FLAG_SORTANDFILTER; - - hr = MFTranscodeGetAudioOutputAvailableTypes( - MFAudioFormat_AAC, mft_flags, audio_output_attributes.Get(), - available_output_types.GetAddressOf()); - if (FAILED(hr)) { - return hr; - } - - hr = GetCollectionObject(available_output_types.Get(), 0, - src_media_type.GetAddressOf()); - if (FAILED(hr)) { - return hr; - } - - hr = available_output_types->GetElementCount(&mt_count); - if (FAILED(hr)) { - return hr; - } - - if (mt_count == 0) { - // No sources found, mark process as failure. - return E_FAIL; - } - - // Create new media type to copy original media type to. - hr = MFCreateMediaType(&new_media_type); - if (FAILED(hr)) { - return hr; - } - - hr = src_media_type->CopyAllItems(new_media_type.Get()); - if (FAILED(hr)) { - return hr; - } - - new_media_type.CopyTo(audio_record_media_type); - return hr; -} - -HRESULT RecordHandler::InitRecordSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type) { - assert(!file_path_.empty()); - assert(capture_engine); - assert(base_media_type); - - HRESULT hr = S_OK; - if (record_sink_) { - // If record sink already exists, only update output filename. - hr = record_sink_->SetOutputFileName(Utf16FromUtf8(file_path_).c_str()); - - if (FAILED(hr)) { - record_sink_ = nullptr; - } - return hr; - } - - ComPtr video_record_media_type; - ComPtr capture_sink; - - // Gets sink from capture engine with record type. - - hr = capture_engine->GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, - &capture_sink); - if (FAILED(hr)) { - return hr; - } - - hr = capture_sink.As(&record_sink_); - if (FAILED(hr)) { - return hr; - } - - // Removes existing streams if available. - hr = record_sink_->RemoveAllStreams(); - if (FAILED(hr)) { - return hr; - } - - hr = BuildMediaTypeForVideoCapture(base_media_type, - video_record_media_type.GetAddressOf(), - MFVideoFormat_H264); - if (FAILED(hr)) { - return hr; - } - - DWORD video_record_sink_stream_index; - hr = record_sink_->AddStream( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD, - video_record_media_type.Get(), nullptr, &video_record_sink_stream_index); - if (FAILED(hr)) { - return hr; - } - - if (record_audio_) { - ComPtr audio_record_media_type; - HRESULT audio_capture_hr = S_OK; - audio_capture_hr = - BuildMediaTypeForAudioCapture(audio_record_media_type.GetAddressOf()); - - if (SUCCEEDED(audio_capture_hr)) { - DWORD audio_record_sink_stream_index; - hr = record_sink_->AddStream( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_AUDIO, - audio_record_media_type.Get(), nullptr, - &audio_record_sink_stream_index); - } - - if (FAILED(hr)) { - return hr; - } - } - - hr = record_sink_->SetOutputFileName(Utf16FromUtf8(file_path_).c_str()); - - return hr; -} - -HRESULT RecordHandler::StartRecord(const std::string& file_path, - int64_t max_duration, - IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type) { - assert(!file_path.empty()); - assert(capture_engine); - assert(base_media_type); - - type_ = max_duration < 0 ? RecordingType::kContinuous : RecordingType::kTimed; - max_video_duration_ms_ = max_duration; - file_path_ = file_path; - recording_start_timestamp_us_ = -1; - recording_duration_us_ = 0; - - HRESULT hr = InitRecordSink(capture_engine, base_media_type); - if (FAILED(hr)) { - return hr; - } - - recording_state_ = RecordState::kStarting; - return capture_engine->StartRecord(); -} - -HRESULT RecordHandler::StopRecord(IMFCaptureEngine* capture_engine) { - if (recording_state_ == RecordState::kRunning) { - recording_state_ = RecordState::kStopping; - return capture_engine->StopRecord(true, false); - } - return E_FAIL; -} - -void RecordHandler::OnRecordStarted() { - if (recording_state_ == RecordState::kStarting) { - recording_state_ = RecordState::kRunning; - } -} - -void RecordHandler::OnRecordStopped() { - if (recording_state_ == RecordState::kStopping) { - file_path_ = ""; - recording_start_timestamp_us_ = -1; - recording_duration_us_ = 0; - max_video_duration_ms_ = -1; - recording_state_ = RecordState::kNotStarted; - type_ = RecordingType::kNone; - } -} - -void RecordHandler::UpdateRecordingTime(uint64_t timestamp) { - if (recording_start_timestamp_us_ < 0) { - recording_start_timestamp_us_ = timestamp; - } - - recording_duration_us_ = (timestamp - recording_start_timestamp_us_); -} - -bool RecordHandler::ShouldStopTimedRecording() const { - return type_ == RecordingType::kTimed && - recording_state_ == RecordState::kRunning && - max_video_duration_ms_ > 0 && - recording_duration_us_ >= - (static_cast(max_video_duration_ms_) * 1000); -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/record_handler.h b/example/windows_camera/windows/record_handler.h deleted file mode 100644 index 0c87bf9..0000000 --- a/example/windows_camera/windows/record_handler.h +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_RECORD_HANDLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_RECORD_HANDLER_H_ - -#include -#include -#include - -#include -#include - -namespace camera_windows { -using Microsoft::WRL::ComPtr; - -enum class RecordingType { - // Camera is not recording. - kNone, - // Recording continues until it is stopped with a separate stop command. - kContinuous, - // Recording stops automatically after requested record time is passed. - kTimed -}; - -// States that the record handler can be in. -// -// When created, the handler starts in |kNotStarted| state and transtions in -// sequential order through the states. -enum class RecordState { kNotStarted, kStarting, kRunning, kStopping }; - -// Handler for video recording via the camera. -// -// Handles record sink initialization and manages the state of video recording. -class RecordHandler { - public: - RecordHandler(bool record_audio) : record_audio_(record_audio) {} - virtual ~RecordHandler() = default; - - // Prevent copying. - RecordHandler(RecordHandler const&) = delete; - RecordHandler& operator=(RecordHandler const&) = delete; - - // Initializes record sink and requests capture engine to start recording. - // - // Sets record state to: starting. - // - // file_path: A string that hold file path for video capture. - // max_duration: A int64 value of maximun recording duration. - // If value is -1 video recording is considered as - // a continuous recording. - // capture_engine: A pointer to capture engine instance. Used to start - // the actual recording. - // base_media_type: A pointer to base media type used as a base - // for the actual video capture media type. - HRESULT StartRecord(const std::string& file_path, int64_t max_duration, - IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type); - - // Stops existing recording. - // - // capture_engine: A pointer to capture engine instance. Used to stop - // the ongoing recording. - HRESULT StopRecord(IMFCaptureEngine* capture_engine); - - // Set the record handler recording state to: running. - void OnRecordStarted(); - - // Resets the record handler state and - // sets recording state to: not started. - void OnRecordStopped(); - - // Returns true if recording type is continuous recording. - bool IsContinuousRecording() const { - return type_ == RecordingType::kContinuous; - } - - // Returns true if recording type is timed recording. - bool IsTimedRecording() const { return type_ == RecordingType::kTimed; } - - // Returns true if new recording can be started. - bool CanStart() const { return recording_state_ == RecordState::kNotStarted; } - - // Returns true if recording can be stopped. - bool CanStop() const { return recording_state_ == RecordState::kRunning; } - - // Returns the filesystem path of the video recording. - std::string GetRecordPath() const { return file_path_; } - - // Returns the duration of the video recording in microseconds. - uint64_t GetRecordedDuration() const { return recording_duration_us_; } - - // Calculates new recording time from capture timestamp. - void UpdateRecordingTime(uint64_t timestamp); - - // Returns true if recording time has exceeded the maximum duration for timed - // recordings. - bool ShouldStopTimedRecording() const; - - private: - // Initializes record sink for video file capture. - HRESULT InitRecordSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type); - - bool record_audio_ = false; - int64_t max_video_duration_ms_ = -1; - int64_t recording_start_timestamp_us_ = -1; - uint64_t recording_duration_us_ = 0; - std::string file_path_; - RecordState recording_state_ = RecordState::kNotStarted; - RecordingType type_ = RecordingType::kNone; - ComPtr record_sink_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_RECORD_HANDLER_H_ diff --git a/example/windows_camera/windows/string_utils.cpp b/example/windows_camera/windows/string_utils.cpp deleted file mode 100644 index 34b1336..0000000 --- a/example/windows_camera/windows/string_utils.cpp +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "string_utils.h" - -#include -#include - -#include - -namespace camera_windows { - -// Converts the given UTF-16 string to UTF-8. -std::string Utf8FromUtf16(const std::wstring& utf16_string) { - if (utf16_string.empty()) { - return std::string(); - } - int target_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string.data(), - static_cast(utf16_string.length()), nullptr, 0, nullptr, nullptr); - std::string utf8_string; - if (target_length == 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string.data(), - static_cast(utf16_string.length()), utf8_string.data(), - target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} - -// Converts the given UTF-8 string to UTF-16. -std::wstring Utf16FromUtf8(const std::string& utf8_string) { - if (utf8_string.empty()) { - return std::wstring(); - } - int target_length = - ::MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, utf8_string.data(), - static_cast(utf8_string.length()), nullptr, 0); - std::wstring utf16_string; - if (target_length == 0 || target_length > utf16_string.max_size()) { - return utf16_string; - } - utf16_string.resize(target_length); - int converted_length = - ::MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, utf8_string.data(), - static_cast(utf8_string.length()), - utf16_string.data(), target_length); - if (converted_length == 0) { - return std::wstring(); - } - return utf16_string; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/string_utils.h b/example/windows_camera/windows/string_utils.h deleted file mode 100644 index 562c46a..0000000 --- a/example/windows_camera/windows/string_utils.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_STRING_UTILS_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_STRING_UTILS_H_ - -#include - -#include - -namespace camera_windows { - -// Converts the given UTF-16 string to UTF-8. -std::string Utf8FromUtf16(const std::wstring& utf16_string); - -// Converts the given UTF-8 string to UTF-16. -std::wstring Utf16FromUtf8(const std::string& utf8_string); - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_STRING_UTILS_H_ diff --git a/example/windows_camera/windows/test/camera_plugin_test.cpp b/example/windows_camera/windows/test/camera_plugin_test.cpp deleted file mode 100644 index 9cab069..0000000 --- a/example/windows_camera/windows/test/camera_plugin_test.cpp +++ /dev/null @@ -1,1055 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "camera_plugin.h" - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "mocks.h" - -namespace camera_windows { -namespace test { - -using flutter::EncodableMap; -using flutter::EncodableValue; -using ::testing::_; -using ::testing::DoAll; -using ::testing::EndsWith; -using ::testing::Eq; -using ::testing::Pointee; -using ::testing::Return; - -void MockInitCamera(MockCamera* camera, bool success) { - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kCreateCamera))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, - AddPendingResult(Eq(PendingResultType::kCreateCamera), _)) - .Times(1) - .WillOnce([camera](PendingResultType type, - std::unique_ptr> result) { - camera->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, HasDeviceId(Eq(camera->device_id_))) - .WillRepeatedly(Return(true)); - - EXPECT_CALL(*camera, InitCamera) - .Times(1) - .WillOnce([camera, success](flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - bool record_audio, - ResolutionPreset resolution_preset) { - assert(camera->pending_result_); - if (success) { - camera->pending_result_->Success(EncodableValue(1)); - return true; - } else { - camera->pending_result_->Error("camera_error", "InitCamera failed."); - return false; - } - }); -} - -TEST(CameraPlugin, AvailableCamerasHandlerSuccessIfNoCameras) { - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - std::unique_ptr result = - std::make_unique(); - - MockCameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - - EXPECT_CALL(plugin, EnumerateVideoCaptureDeviceSources) - .Times(1) - .WillOnce([](IMFActivate*** devices, UINT32* count) { - *count = 0U; - *devices = static_cast( - CoTaskMemAlloc(sizeof(IMFActivate*) * (*count))); - return true; - }); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal).Times(1); - - plugin.HandleMethodCall( - flutter::MethodCall("availableCameras", - std::make_unique()), - std::move(result)); -} - -TEST(CameraPlugin, AvailableCamerasHandlerErrorIfFailsToEnumerateDevices) { - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - std::unique_ptr result = - std::make_unique(); - - MockCameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - - EXPECT_CALL(plugin, EnumerateVideoCaptureDeviceSources) - .Times(1) - .WillOnce([](IMFActivate*** devices, UINT32* count) { return false; }); - - EXPECT_CALL(*result, ErrorInternal).Times(1); - EXPECT_CALL(*result, SuccessInternal).Times(0); - - plugin.HandleMethodCall( - flutter::MethodCall("availableCameras", - std::make_unique()), - std::move(result)); -} - -TEST(CameraPlugin, CreateHandlerCallsInitCamera) { - std::unique_ptr result = - std::make_unique(); - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - MockInitCamera(camera.get(), true); - - // Move mocked camera to the factory to be passed - // for plugin with CreateCamera function. - camera_factory_->pending_camera_ = std::move(camera); - - EXPECT_CALL(*camera_factory_, CreateCamera(MOCK_DEVICE_ID)); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(Pointee(EncodableValue(1)))); - - CameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - EncodableMap args = { - {EncodableValue("cameraName"), EncodableValue(MOCK_CAMERA_NAME)}, - {EncodableValue("resolutionPreset"), EncodableValue(nullptr)}, - {EncodableValue("enableAudio"), EncodableValue(true)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(result)); -} - -TEST(CameraPlugin, CreateHandlerErrorOnInvalidDeviceId) { - std::unique_ptr result = - std::make_unique(); - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - - CameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - EncodableMap args = { - {EncodableValue("cameraName"), EncodableValue(MOCK_INVALID_CAMERA_NAME)}, - {EncodableValue("resolutionPreset"), EncodableValue(nullptr)}, - {EncodableValue("enableAudio"), EncodableValue(true)}, - }; - - EXPECT_CALL(*result, ErrorInternal).Times(1); - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(result)); -} - -TEST(CameraPlugin, CreateHandlerErrorOnExistingDeviceId) { - std::unique_ptr first_create_result = - std::make_unique(); - std::unique_ptr second_create_result = - std::make_unique(); - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - MockInitCamera(camera.get(), true); - - // Move mocked camera to the factory to be passed - // for plugin with CreateCamera function. - camera_factory_->pending_camera_ = std::move(camera); - - EXPECT_CALL(*camera_factory_, CreateCamera(MOCK_DEVICE_ID)); - - EXPECT_CALL(*first_create_result, ErrorInternal).Times(0); - EXPECT_CALL(*first_create_result, - SuccessInternal(Pointee(EncodableValue(1)))); - - CameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - EncodableMap args = { - {EncodableValue("cameraName"), EncodableValue(MOCK_CAMERA_NAME)}, - {EncodableValue("resolutionPreset"), EncodableValue(nullptr)}, - {EncodableValue("enableAudio"), EncodableValue(true)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(first_create_result)); - - EXPECT_CALL(*second_create_result, ErrorInternal).Times(1); - EXPECT_CALL(*second_create_result, SuccessInternal).Times(0); - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(second_create_result)); -} - -TEST(CameraPlugin, CreateHandlerAllowsRetry) { - std::unique_ptr first_create_result = - std::make_unique(); - std::unique_ptr second_create_result = - std::make_unique(); - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - - // The camera will fail initialization once and then succeed. - EXPECT_CALL(*camera_factory_, CreateCamera(MOCK_DEVICE_ID)) - .Times(2) - .WillOnce([](const std::string& device_id) { - std::unique_ptr first_camera = - std::make_unique(MOCK_DEVICE_ID); - - MockInitCamera(first_camera.get(), false); - - return first_camera; - }) - .WillOnce([](const std::string& device_id) { - std::unique_ptr second_camera = - std::make_unique(MOCK_DEVICE_ID); - - MockInitCamera(second_camera.get(), true); - - return second_camera; - }); - - EXPECT_CALL(*first_create_result, ErrorInternal).Times(1); - EXPECT_CALL(*first_create_result, SuccessInternal).Times(0); - - CameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - EncodableMap args = { - {EncodableValue("cameraName"), EncodableValue(MOCK_CAMERA_NAME)}, - {EncodableValue("resolutionPreset"), EncodableValue(nullptr)}, - {EncodableValue("enableAudio"), EncodableValue(true)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(first_create_result)); - - EXPECT_CALL(*second_create_result, ErrorInternal).Times(0); - EXPECT_CALL(*second_create_result, - SuccessInternal(Pointee(EncodableValue(1)))); - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(second_create_result)); -} - -TEST(CameraPlugin, InitializeHandlerCallStartPreview) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kInitialize))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kInitialize), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, StartPreview()) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("initialize", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, InitializeHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, StartPreview).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("initialize", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, TakePictureHandlerCallsTakePictureWithPath) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kTakePicture))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kTakePicture), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, TakePicture(EndsWith(".jpeg"))) - .Times(1) - .WillOnce([cam = camera.get()](const std::string& file_path) { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("takePicture", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, TakePictureHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, TakePicture).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("takePicture", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, StartVideoRecordingHandlerCallsStartRecordWithPath) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kStartRecord))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kStartRecord), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, StartRecord(EndsWith(".mp4"), -1)) - .Times(1) - .WillOnce([cam = camera.get()](const std::string& file_path, - int64_t max_video_duration_ms) { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("startVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, - StartVideoRecordingHandlerCallsStartRecordWithPathAndCaptureDuration) { - int64_t mock_camera_id = 1234; - int32_t mock_video_duration = 100000; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kStartRecord))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kStartRecord), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, - StartRecord(EndsWith(".mp4"), Eq(mock_video_duration))) - .Times(1) - .WillOnce([cam = camera.get()](const std::string& file_path, - int64_t max_video_duration_ms) { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - {EncodableValue("maxVideoDuration"), EncodableValue(mock_video_duration)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("startVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, StartVideoRecordingHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, StartRecord(_, -1)).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("startVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, StopVideoRecordingHandlerCallsStopRecord) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kStopRecord))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kStopRecord), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, StopRecord) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("stopVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, StopVideoRecordingHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, StopRecord).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("stopVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, ResumePreviewHandlerCallsResumePreview) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kResumePreview))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, - AddPendingResult(Eq(PendingResultType::kResumePreview), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, ResumePreview) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("resumePreview", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, ResumePreviewHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, ResumePreview).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("resumePreview", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, PausePreviewHandlerCallsPausePreview) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kPausePreview))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, - AddPendingResult(Eq(PendingResultType::kPausePreview), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, PausePreview) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("pausePreview", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, PausePreviewHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, PausePreview).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("pausePreview", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -} // namespace test -} // namespace camera_windows diff --git a/example/windows_camera/windows/test/camera_test.cpp b/example/windows_camera/windows/test/camera_test.cpp deleted file mode 100644 index 158a2c2..0000000 --- a/example/windows_camera/windows/test/camera_test.cpp +++ /dev/null @@ -1,505 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "camera.h" - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "mocks.h" - -namespace camera_windows { -using ::testing::_; -using ::testing::Eq; -using ::testing::NiceMock; -using ::testing::Pointee; -using ::testing::Return; - -namespace test { - -TEST(Camera, InitCameraCreatesCaptureController) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller_factory = - std::make_unique(); - - EXPECT_CALL(*capture_controller_factory, CreateCaptureController) - .Times(1) - .WillOnce([]() { - std::unique_ptr> capture_controller = - std::make_unique>(); - - EXPECT_CALL(*capture_controller, InitCaptureDevice) - .Times(1) - .WillOnce(Return(true)); - - return capture_controller; - }); - - EXPECT_TRUE(camera->GetCaptureController() == nullptr); - - // Init camera with mock capture controller factory - bool result = - camera->InitCamera(std::move(capture_controller_factory), - std::make_unique().get(), - std::make_unique().get(), false, - ResolutionPreset::kAuto); - EXPECT_TRUE(result); - EXPECT_TRUE(camera->GetCaptureController() != nullptr); -} - -TEST(Camera, InitCameraReportsFailure) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller_factory = - std::make_unique(); - - EXPECT_CALL(*capture_controller_factory, CreateCaptureController) - .Times(1) - .WillOnce([]() { - std::unique_ptr> capture_controller = - std::make_unique>(); - - EXPECT_CALL(*capture_controller, InitCaptureDevice) - .Times(1) - .WillOnce(Return(false)); - - return capture_controller; - }); - - EXPECT_TRUE(camera->GetCaptureController() == nullptr); - - // Init camera with mock capture controller factory - bool result = - camera->InitCamera(std::move(capture_controller_factory), - std::make_unique().get(), - std::make_unique().get(), false, - ResolutionPreset::kAuto); - EXPECT_FALSE(result); - EXPECT_TRUE(camera->GetCaptureController() != nullptr); -} - -TEST(Camera, AddPendingResultReturnsErrorForDuplicates) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr first_pending_result = - std::make_unique(); - std::unique_ptr second_pending_result = - std::make_unique(); - - EXPECT_CALL(*first_pending_result, ErrorInternal).Times(0); - EXPECT_CALL(*first_pending_result, SuccessInternal); - EXPECT_CALL(*second_pending_result, ErrorInternal).Times(1); - - camera->AddPendingResult(PendingResultType::kCreateCamera, - std::move(first_pending_result)); - - // This should fail - camera->AddPendingResult(PendingResultType::kCreateCamera, - std::move(second_pending_result)); - - // Mark pending result as succeeded - camera->OnCreateCaptureEngineSucceeded(0); -} - -TEST(Camera, OnCreateCaptureEngineSucceededReturnsCameraId) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const int64_t texture_id = 12345; - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL( - *result, - SuccessInternal(Pointee(EncodableValue(EncodableMap( - {{EncodableValue("cameraId"), EncodableValue(texture_id)}}))))); - - camera->AddPendingResult(PendingResultType::kCreateCamera, std::move(result)); - - camera->OnCreateCaptureEngineSucceeded(texture_id); -} - -TEST(Camera, CreateCaptureEngineReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kCreateCamera, std::move(result)); - - camera->OnCreateCaptureEngineFailed(CameraResult::kError, error_text); -} - -TEST(Camera, CreateCaptureEngineReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kCreateCamera, std::move(result)); - - camera->OnCreateCaptureEngineFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnStartPreviewSucceededReturnsFrameSize) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const int32_t width = 123; - const int32_t height = 456; - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL( - *result, - SuccessInternal(Pointee(EncodableValue(EncodableMap({ - {EncodableValue("previewWidth"), EncodableValue((float)width)}, - {EncodableValue("previewHeight"), EncodableValue((float)height)}, - }))))); - - camera->AddPendingResult(PendingResultType::kInitialize, std::move(result)); - - camera->OnStartPreviewSucceeded(width, height); -} - -TEST(Camera, StartPreviewReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kInitialize, std::move(result)); - - camera->OnStartPreviewFailed(CameraResult::kError, error_text); -} - -TEST(Camera, StartPreviewReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kInitialize, std::move(result)); - - camera->OnStartPreviewFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnPausePreviewSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(nullptr)); - - camera->AddPendingResult(PendingResultType::kPausePreview, std::move(result)); - - camera->OnPausePreviewSucceeded(); -} - -TEST(Camera, PausePreviewReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kPausePreview, std::move(result)); - - camera->OnPausePreviewFailed(CameraResult::kError, error_text); -} - -TEST(Camera, PausePreviewReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kPausePreview, std::move(result)); - - camera->OnPausePreviewFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnResumePreviewSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(nullptr)); - - camera->AddPendingResult(PendingResultType::kResumePreview, - std::move(result)); - - camera->OnResumePreviewSucceeded(); -} - -TEST(Camera, ResumePreviewReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kResumePreview, - std::move(result)); - - camera->OnResumePreviewFailed(CameraResult::kError, error_text); -} - -TEST(Camera, OnResumePreviewPermissionFailureReturnsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kResumePreview, - std::move(result)); - - camera->OnResumePreviewFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnStartRecordSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(nullptr)); - - camera->AddPendingResult(PendingResultType::kStartRecord, std::move(result)); - - camera->OnStartRecordSucceeded(); -} - -TEST(Camera, StartRecordReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kStartRecord, std::move(result)); - - camera->OnStartRecordFailed(CameraResult::kError, error_text); -} - -TEST(Camera, StartRecordReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kStartRecord, std::move(result)); - - camera->OnStartRecordFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnStopRecordSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string file_path = "C:\temp\filename.mp4"; - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(Pointee(EncodableValue(file_path)))); - - camera->AddPendingResult(PendingResultType::kStopRecord, std::move(result)); - - camera->OnStopRecordSucceeded(file_path); -} - -TEST(Camera, StopRecordReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kStopRecord, std::move(result)); - - camera->OnStopRecordFailed(CameraResult::kError, error_text); -} - -TEST(Camera, StopRecordReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kStopRecord, std::move(result)); - - camera->OnStopRecordFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnTakePictureSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string file_path = "C:\\temp\\filename.jpeg"; - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(Pointee(EncodableValue(file_path)))); - - camera->AddPendingResult(PendingResultType::kTakePicture, std::move(result)); - - camera->OnTakePictureSucceeded(file_path); -} - -TEST(Camera, TakePictureReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kTakePicture, std::move(result)); - - camera->OnTakePictureFailed(CameraResult::kError, error_text); -} - -TEST(Camera, TakePictureReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kTakePicture, std::move(result)); - - camera->OnTakePictureFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnVideoRecordSucceededInvokesCameraChannelEvent) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller_factory = - std::make_unique(); - - std::unique_ptr binary_messenger = - std::make_unique(); - - const std::string file_path = "C:\\temp\\filename.mp4"; - const int64_t camera_id = 12345; - std::string camera_channel = - std::string("plugins.flutter.io/camera_windows/camera") + - std::to_string(camera_id); - const int64_t video_duration = 1000000; - - EXPECT_CALL(*capture_controller_factory, CreateCaptureController) - .Times(1) - .WillOnce( - []() { return std::make_unique>(); }); - - // TODO: test binary content. - // First time is video record success message, - // and second is camera closing message. - EXPECT_CALL(*binary_messenger, Send(Eq(camera_channel), _, _, _)).Times(2); - - // Init camera with mock capture controller factory - camera->InitCamera(std::move(capture_controller_factory), - std::make_unique().get(), - binary_messenger.get(), false, ResolutionPreset::kAuto); - - // Pass camera id for camera - camera->OnCreateCaptureEngineSucceeded(camera_id); - - camera->OnVideoRecordSucceeded(file_path, video_duration); - - // Dispose camera before message channel. - camera = nullptr; -} - -} // namespace test -} // namespace camera_windows diff --git a/example/windows_camera/windows/test/capture_controller_test.cpp b/example/windows_camera/windows/test/capture_controller_test.cpp deleted file mode 100644 index 8d6632c..0000000 --- a/example/windows_camera/windows/test/capture_controller_test.cpp +++ /dev/null @@ -1,1438 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "capture_controller.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "mocks.h" -#include "string_utils.h" - -namespace camera_windows { - -namespace test { - -using Microsoft::WRL::ComPtr; -using ::testing::_; -using ::testing::Eq; -using ::testing::Return; - -void MockInitCaptureController(CaptureControllerImpl* capture_controller, - MockTextureRegistrar* texture_registrar, - MockCaptureEngine* engine, MockCamera* camera, - int64_t mock_texture_id) { - ComPtr video_source = new MockMediaSource(); - ComPtr audio_source = new MockMediaSource(); - - capture_controller->SetCaptureEngine( - reinterpret_cast(engine)); - capture_controller->SetVideoSource( - reinterpret_cast(video_source.Get())); - capture_controller->SetAudioSource( - reinterpret_cast(audio_source.Get())); - - EXPECT_CALL(*texture_registrar, RegisterTexture) - .Times(1) - .WillOnce([reg = texture_registrar, - mock_texture_id](flutter::TextureVariant* texture) -> int64_t { - EXPECT_TRUE(texture); - reg->texture_ = texture; - reg->texture_id_ = mock_texture_id; - return reg->texture_id_; - }); - EXPECT_CALL(*texture_registrar, UnregisterTexture(Eq(mock_texture_id))) - .Times(1); - EXPECT_CALL(*camera, OnCreateCaptureEngineFailed).Times(0); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded(Eq(mock_texture_id))) - .Times(1); - EXPECT_CALL(*engine, Initialize).Times(1); - - bool result = capture_controller->InitCaptureDevice( - texture_registrar, MOCK_DEVICE_ID, true, ResolutionPreset::kAuto); - - EXPECT_TRUE(result); - - // MockCaptureEngine::Initialize is called - EXPECT_TRUE(engine->initialized_); - - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_INITIALIZED); -} - -void MockAvailableMediaTypes(MockCaptureEngine* engine, - MockCaptureSource* capture_source, - uint32_t mock_preview_width, - uint32_t mock_preview_height) { - EXPECT_CALL(*engine, GetSource) - .Times(1) - .WillOnce( - [src_source = capture_source](IMFCaptureSource** target_source) { - *target_source = src_source; - src_source->AddRef(); - return S_OK; - }); - - EXPECT_CALL( - *capture_source, - GetAvailableDeviceMediaType( - Eq((DWORD) - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW), - _, _)) - .WillRepeatedly([mock_preview_width, mock_preview_height]( - DWORD stream_index, DWORD media_type_index, - IMFMediaType** media_type) { - // We give only one media type to loop through - if (media_type_index != 0) return MF_E_NO_MORE_TYPES; - *media_type = - new FakeMediaType(MFMediaType_Video, MFVideoFormat_RGB32, - mock_preview_width, mock_preview_height); - (*media_type)->AddRef(); - return S_OK; - }); - - EXPECT_CALL( - *capture_source, - GetAvailableDeviceMediaType( - Eq((DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD), - _, _)) - .WillRepeatedly([mock_preview_width, mock_preview_height]( - DWORD stream_index, DWORD media_type_index, - IMFMediaType** media_type) { - // We give only one media type to loop through - if (media_type_index != 0) return MF_E_NO_MORE_TYPES; - *media_type = - new FakeMediaType(MFMediaType_Video, MFVideoFormat_RGB32, - mock_preview_width, mock_preview_height); - (*media_type)->AddRef(); - return S_OK; - }); -} - -void MockStartPreview(CaptureControllerImpl* capture_controller, - MockCapturePreviewSink* preview_sink, - MockTextureRegistrar* texture_registrar, - MockCaptureEngine* engine, MockCamera* camera, - std::unique_ptr mock_source_buffer, - uint32_t mock_source_buffer_size, - uint32_t mock_preview_width, uint32_t mock_preview_height, - int64_t mock_texture_id) { - EXPECT_CALL(*engine, GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW, _)) - .Times(1) - .WillOnce([src_sink = preview_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink; - src_sink->AddRef(); - return S_OK; - }); - - EXPECT_CALL(*preview_sink, RemoveAllStreams).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*preview_sink, AddStream).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*preview_sink, SetSampleCallback) - .Times(1) - .WillOnce([sink = preview_sink]( - DWORD dwStreamSinkIndex, - IMFCaptureEngineOnSampleCallback* pCallback) -> HRESULT { - sink->sample_callback_ = pCallback; - return S_OK; - }); - - ComPtr capture_source = new MockCaptureSource(); - MockAvailableMediaTypes(engine, capture_source.Get(), mock_preview_width, - mock_preview_height); - - EXPECT_CALL(*engine, StartPreview()).Times(1).WillOnce(Return(S_OK)); - - // Called by destructor - EXPECT_CALL(*engine, StopPreview()).Times(1).WillOnce(Return(S_OK)); - - // Called after first processed sample - EXPECT_CALL(*camera, - OnStartPreviewSucceeded(mock_preview_width, mock_preview_height)) - .Times(1); - EXPECT_CALL(*camera, OnStartPreviewFailed).Times(0); - EXPECT_CALL(*texture_registrar, MarkTextureFrameAvailable(mock_texture_id)) - .Times(1); - - capture_controller->StartPreview(); - - EXPECT_EQ(capture_controller->GetPreviewHeight(), mock_preview_height); - EXPECT_EQ(capture_controller->GetPreviewWidth(), mock_preview_width); - - // Capture engine is now started and will first send event of started preview - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_PREVIEW_STARTED); - - // SendFake sample - preview_sink->SendFakeSample(mock_source_buffer.get(), - mock_source_buffer_size); -} - -void MockPhotoSink(MockCaptureEngine* engine, - MockCapturePhotoSink* photo_sink) { - EXPECT_CALL(*engine, GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PHOTO, _)) - .Times(1) - .WillOnce([src_sink = photo_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink; - src_sink->AddRef(); - return S_OK; - }); - EXPECT_CALL(*photo_sink, RemoveAllStreams).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*photo_sink, AddStream).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*photo_sink, SetOutputFileName).Times(1).WillOnce(Return(S_OK)); -} - -void MockRecordStart(CaptureControllerImpl* capture_controller, - MockCaptureEngine* engine, - MockCaptureRecordSink* record_sink, MockCamera* camera, - const std::string& mock_path_to_video) { - EXPECT_CALL(*engine, StartRecord()).Times(1).WillOnce(Return(S_OK)); - - EXPECT_CALL(*engine, GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce([src_sink = record_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink; - src_sink->AddRef(); - return S_OK; - }); - - EXPECT_CALL(*record_sink, RemoveAllStreams).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*record_sink, AddStream).Times(2).WillRepeatedly(Return(S_OK)); - EXPECT_CALL(*record_sink, SetOutputFileName).Times(1).WillOnce(Return(S_OK)); - - capture_controller->StartRecord(mock_path_to_video, -1); - - EXPECT_CALL(*camera, OnStartRecordSucceeded()).Times(1); - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_RECORD_STARTED); -} - -TEST(CaptureController, - InitCaptureEngineCallsOnCreateCaptureEngineSucceededWithTextureId) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Init capture controller with mocks and tests - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, InitCaptureEngineCanOnlyBeCalledOnce) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Init capture controller once with mocks and tests - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - // Init capture controller a second time. - EXPECT_CALL(*camera, OnCreateCaptureEngineFailed).Times(1); - - bool result = capture_controller->InitCaptureDevice( - texture_registrar.get(), MOCK_DEVICE_ID, true, ResolutionPreset::kAuto); - - EXPECT_FALSE(result); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, InitCaptureEngineReportsFailure) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - ComPtr video_source = new MockMediaSource(); - ComPtr audio_source = new MockMediaSource(); - - capture_controller->SetCaptureEngine( - reinterpret_cast(engine.Get())); - capture_controller->SetVideoSource( - reinterpret_cast(video_source.Get())); - capture_controller->SetAudioSource( - reinterpret_cast(audio_source.Get())); - - // Cause initialization to fail - EXPECT_CALL(*engine.Get(), Initialize).Times(1).WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*texture_registrar, RegisterTexture).Times(0); - EXPECT_CALL(*texture_registrar, UnregisterTexture(_)).Times(0); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - EXPECT_CALL(*camera, - OnCreateCaptureEngineFailed(Eq(CameraResult::kError), - Eq("Failed to create camera"))) - .Times(1); - - bool result = capture_controller->InitCaptureDevice( - texture_registrar.get(), MOCK_DEVICE_ID, true, ResolutionPreset::kAuto); - - EXPECT_FALSE(result); - EXPECT_FALSE(engine->initialized_); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, InitCaptureEngineReportsAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - ComPtr video_source = new MockMediaSource(); - ComPtr audio_source = new MockMediaSource(); - - capture_controller->SetCaptureEngine( - reinterpret_cast(engine.Get())); - capture_controller->SetVideoSource( - reinterpret_cast(video_source.Get())); - capture_controller->SetAudioSource( - reinterpret_cast(audio_source.Get())); - - // Cause initialization to fail - EXPECT_CALL(*engine.Get(), Initialize) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*texture_registrar, RegisterTexture).Times(0); - EXPECT_CALL(*texture_registrar, UnregisterTexture(_)).Times(0); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - EXPECT_CALL(*camera, - OnCreateCaptureEngineFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to create camera"))) - .Times(1); - - bool result = capture_controller->InitCaptureDevice( - texture_registrar.get(), MOCK_DEVICE_ID, true, ResolutionPreset::kAuto); - - EXPECT_FALSE(result); - EXPECT_FALSE(engine->initialized_); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsInitializedErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*camera, OnCreateCaptureEngineFailed( - Eq(CameraResult::kError), - Eq("Failed to initialize capture engine"))) - .Times(1); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - - // Send initialization failed event - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_INITIALIZED); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsInitializedAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*camera, OnCreateCaptureEngineFailed( - Eq(CameraResult::kAccessDenied), - Eq("Failed to initialize capture engine"))) - .Times(1); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - - // Send initialization failed event - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_INITIALIZED); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsCaptureEngineErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*(camera.get()), - OnCaptureError(Eq(CameraResult::kError), Eq("Unspecified error"))) - .Times(1); - - // Send error event. - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_ERROR); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsCaptureEngineAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*(camera.get()), OnCaptureError(Eq(CameraResult::kAccessDenied), - Eq("Access is denied."))) - .Times(1); - - // Send error event. - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_ERROR); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, StartPreviewStartsProcessingSamples) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr preview_sink = new MockCapturePreviewSink(); - - // Let's keep these small for mock texture data. Two pixels should be - // enough. - uint32_t mock_preview_width = 2; - uint32_t mock_preview_height = 1; - uint32_t pixels_total = mock_preview_width * mock_preview_height; - uint32_t pixel_size = 4; - - // Build mock texture - uint32_t mock_texture_data_size = pixels_total * pixel_size; - - std::unique_ptr mock_source_buffer = - std::make_unique(mock_texture_data_size); - - uint8_t mock_red_pixel = 0x11; - uint8_t mock_green_pixel = 0x22; - uint8_t mock_blue_pixel = 0x33; - MFVideoFormatRGB32Pixel* mock_source_buffer_data = - (MFVideoFormatRGB32Pixel*)mock_source_buffer.get(); - - for (uint32_t i = 0; i < pixels_total; i++) { - mock_source_buffer_data[i].r = mock_red_pixel; - mock_source_buffer_data[i].g = mock_green_pixel; - mock_source_buffer_data[i].b = mock_blue_pixel; - } - - // Start preview and run preview tests - MockStartPreview(capture_controller.get(), preview_sink.Get(), - texture_registrar.get(), engine.Get(), camera.get(), - std::move(mock_source_buffer), mock_texture_data_size, - mock_preview_width, mock_preview_height, mock_texture_id); - - // Test texture processing - EXPECT_TRUE(texture_registrar->texture_); - if (texture_registrar->texture_) { - auto pixel_buffer_texture = - std::get_if(texture_registrar->texture_); - EXPECT_TRUE(pixel_buffer_texture); - - if (pixel_buffer_texture) { - auto converted_buffer = - pixel_buffer_texture->CopyPixelBuffer((size_t)100, (size_t)100); - - EXPECT_TRUE(converted_buffer); - if (converted_buffer) { - EXPECT_EQ(converted_buffer->height, mock_preview_height); - EXPECT_EQ(converted_buffer->width, mock_preview_width); - - FlutterDesktopPixel* converted_buffer_data = - (FlutterDesktopPixel*)(converted_buffer->buffer); - - for (uint32_t i = 0; i < pixels_total; i++) { - EXPECT_EQ(converted_buffer_data[i].r, mock_red_pixel); - EXPECT_EQ(converted_buffer_data[i].g, mock_green_pixel); - EXPECT_EQ(converted_buffer_data[i].b, mock_blue_pixel); - } - - // Call release callback to get mutex lock unlocked. - converted_buffer->release_callback(converted_buffer->release_context); - } - converted_buffer = nullptr; - } - pixel_buffer_texture = nullptr; - } - - capture_controller = nullptr; - engine = nullptr; - camera = nullptr; - texture_registrar = nullptr; -} - -TEST(CaptureController, ReportsStartPreviewError) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Cause start preview to fail - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW, _)) - .Times(1) - .WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*engine.Get(), StartPreview).Times(0); - EXPECT_CALL(*engine.Get(), StopPreview).Times(0); - EXPECT_CALL(*camera, OnStartPreviewSucceeded).Times(0); - EXPECT_CALL(*camera, - OnStartPreviewFailed(Eq(CameraResult::kError), - Eq("Failed to start video preview"))) - .Times(1); - - capture_controller->StartPreview(); - - capture_controller = nullptr; - engine = nullptr; - camera = nullptr; - texture_registrar = nullptr; -} - -// TODO(loic-sharma): Test duplicate calls to start preview. - -TEST(CaptureController, IgnoresStartPreviewErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*camera, OnStartPreviewFailed).Times(0); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - - // Send a start preview error event - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_PREVIEW_STARTED); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsStartPreviewAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Cause start preview to fail - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW, _)) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*engine.Get(), StartPreview).Times(0); - EXPECT_CALL(*engine.Get(), StopPreview).Times(0); - EXPECT_CALL(*camera, OnStartPreviewSucceeded).Times(0); - EXPECT_CALL(*camera, - OnStartPreviewFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to start video preview"))) - .Times(1); - - capture_controller->StartPreview(); - - capture_controller = nullptr; - engine = nullptr; - camera = nullptr; - texture_registrar = nullptr; -} - -TEST(CaptureController, StartRecordSuccess) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), mock_path_to_video); - - // Called by destructor - EXPECT_CALL(*(engine.Get()), StopRecord(true, false)) - .Times(1) - .WillOnce(Return(S_OK)); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStartRecordError) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Cause start record to fail - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*engine.Get(), StartRecord).Times(0); - EXPECT_CALL(*engine.Get(), StopRecord).Times(0); - EXPECT_CALL(*camera, OnStartRecordSucceeded).Times(0); - EXPECT_CALL(*camera, - OnStartRecordFailed(Eq(CameraResult::kError), - Eq("Failed to start video recording"))) - .Times(1); - - capture_controller->StartRecord("mock_path", -1); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -TEST(CaptureController, ReportsStartRecordAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Cause start record to fail - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*engine.Get(), StartRecord).Times(0); - EXPECT_CALL(*engine.Get(), StopRecord).Times(0); - EXPECT_CALL(*camera, OnStartRecordSucceeded).Times(0); - EXPECT_CALL(*camera, - OnStartRecordFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to start video recording"))) - .Times(1); - - capture_controller->StartRecord("mock_path", -1); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -TEST(CaptureController, ReportsStartRecordErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - - EXPECT_CALL(*engine.Get(), StartRecord()).Times(1).WillOnce(Return(S_OK)); - - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce([src_sink = record_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink.Get(); - src_sink->AddRef(); - return S_OK; - }); - - EXPECT_CALL(*record_sink.Get(), RemoveAllStreams) - .Times(1) - .WillOnce(Return(S_OK)); - EXPECT_CALL(*record_sink.Get(), AddStream) - .Times(2) - .WillRepeatedly(Return(S_OK)); - EXPECT_CALL(*record_sink.Get(), SetOutputFileName) - .Times(1) - .WillOnce(Return(S_OK)); - - capture_controller->StartRecord(mock_path_to_video, -1); - - // Send a start record failed event - EXPECT_CALL(*camera, OnStartRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStartRecordFailed(Eq(CameraResult::kError), - Eq("Unspecified error"))) - .Times(1); - - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_RECORD_STARTED); - - // Destructor shouldn't attempt to stop the recording that failed to start. - EXPECT_CALL(*engine.Get(), StopRecord).Times(0); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStartRecordAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - - EXPECT_CALL(*engine.Get(), StartRecord()).Times(1).WillOnce(Return(S_OK)); - - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce([src_sink = record_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink.Get(); - src_sink->AddRef(); - return S_OK; - }); - - EXPECT_CALL(*record_sink.Get(), RemoveAllStreams) - .Times(1) - .WillOnce(Return(S_OK)); - EXPECT_CALL(*record_sink.Get(), AddStream) - .Times(2) - .WillRepeatedly(Return(S_OK)); - EXPECT_CALL(*record_sink.Get(), SetOutputFileName) - .Times(1) - .WillOnce(Return(S_OK)); - - // Send a start record failed event - capture_controller->StartRecord(mock_path_to_video, -1); - - EXPECT_CALL(*camera, OnStartRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStartRecordFailed(Eq(CameraResult::kAccessDenied), - Eq("Access is denied."))) - .Times(1); - - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_RECORD_STARTED); - - // Destructor shouldn't attempt to stop the recording that failed to start. - EXPECT_CALL(*engine.Get(), StopRecord).Times(0); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, StopRecordSuccess) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), mock_path_to_video); - - // Request to stop record - EXPECT_CALL(*(engine.Get()), StopRecord(true, false)) - .Times(1) - .WillOnce(Return(S_OK)); - capture_controller->StopRecord(); - - // OnStopRecordSucceeded should be called with mocked file path - EXPECT_CALL(*camera, OnStopRecordSucceeded(Eq(mock_path_to_video))).Times(1); - EXPECT_CALL(*camera, OnStopRecordFailed).Times(0); - - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_RECORD_STOPPED); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStopRecordError) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), "mock_path_to_video"); - - // Cause stop record to fail - EXPECT_CALL(*(engine.Get()), StopRecord(true, false)) - .Times(1) - .WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*camera, OnStopRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStopRecordFailed(Eq(CameraResult::kError), - Eq("Failed to stop video recording"))) - .Times(1); - - capture_controller->StopRecord(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStopRecordAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), "mock_path_to_video"); - - // Cause stop record to fail - EXPECT_CALL(*(engine.Get()), StopRecord(true, false)) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*camera, OnStopRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStopRecordFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to stop video recording"))) - .Times(1); - - capture_controller->StopRecord(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStopRecordErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), mock_path_to_video); - - // Send a stop record failure event - EXPECT_CALL(*camera, OnStopRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStopRecordFailed(Eq(CameraResult::kError), - Eq("Unspecified error"))) - .Times(1); - - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_RECORD_STOPPED); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStopRecordAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), mock_path_to_video); - - // Send a stop record failure event - EXPECT_CALL(*camera, OnStopRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStopRecordFailed(Eq(CameraResult::kAccessDenied), - Eq("Access is denied."))) - .Times(1); - - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_RECORD_STOPPED); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, TakePictureSuccess) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Request photo - std::string mock_path_to_photo = "mock_path_to_photo"; - EXPECT_CALL(*(engine.Get()), TakePhoto()).Times(1).WillOnce(Return(S_OK)); - capture_controller->TakePicture(mock_path_to_photo); - - // OnTakePictureSucceeded should be called with mocked file path - EXPECT_CALL(*camera, OnTakePictureSucceeded(Eq(mock_path_to_photo))).Times(1); - EXPECT_CALL(*camera, OnTakePictureFailed).Times(0); - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_PHOTO_TAKEN); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, ReportsTakePictureError) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Cause take picture to fail - EXPECT_CALL(*(engine.Get()), TakePhoto).Times(1).WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*camera, OnTakePictureSucceeded).Times(0); - EXPECT_CALL(*camera, OnTakePictureFailed(Eq(CameraResult::kError), - Eq("Failed to take photo"))) - .Times(1); - - capture_controller->TakePicture("mock_path_to_photo"); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, ReportsTakePictureAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Cause take picture to fail. - EXPECT_CALL(*(engine.Get()), TakePhoto) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*camera, OnTakePictureSucceeded).Times(0); - EXPECT_CALL(*camera, OnTakePictureFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to take photo"))) - .Times(1); - - capture_controller->TakePicture("mock_path_to_photo"); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, ReportsPhotoTakenErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Request photo - std::string mock_path_to_photo = "mock_path_to_photo"; - EXPECT_CALL(*(engine.Get()), TakePhoto()).Times(1).WillOnce(Return(S_OK)); - capture_controller->TakePicture(mock_path_to_photo); - - // Send take picture failed event - EXPECT_CALL(*camera, OnTakePictureSucceeded).Times(0); - EXPECT_CALL(*camera, OnTakePictureFailed(Eq(CameraResult::kError), - Eq("Unspecified error"))) - .Times(1); - - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_PHOTO_TAKEN); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, ReportsPhotoTakenAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Request photo - std::string mock_path_to_photo = "mock_path_to_photo"; - EXPECT_CALL(*(engine.Get()), TakePhoto()).Times(1).WillOnce(Return(S_OK)); - capture_controller->TakePicture(mock_path_to_photo); - - // Send take picture failed event - EXPECT_CALL(*camera, OnTakePictureSucceeded).Times(0); - EXPECT_CALL(*camera, OnTakePictureFailed(Eq(CameraResult::kAccessDenied), - Eq("Access is denied."))) - .Times(1); - - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_PHOTO_TAKEN); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, PauseResumePreviewSuccess) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr preview_sink = new MockCapturePreviewSink(); - - std::unique_ptr mock_source_buffer = - std::make_unique(0); - - // Start preview to be able to start record - MockStartPreview(capture_controller.get(), preview_sink.Get(), - texture_registrar.get(), engine.Get(), camera.get(), - std::move(mock_source_buffer), 0, 1, 1, mock_texture_id); - - EXPECT_CALL(*camera, OnPausePreviewSucceeded()).Times(1); - capture_controller->PausePreview(); - - EXPECT_CALL(*camera, OnResumePreviewSucceeded()).Times(1); - capture_controller->ResumePreview(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -TEST(CaptureController, PausePreviewFailsIfPreviewNotStarted) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - // Pause preview fails if not started - EXPECT_CALL(*camera, OnPausePreviewFailed(Eq(CameraResult::kError), - Eq("Preview not started"))) - .Times(1); - - capture_controller->PausePreview(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -TEST(CaptureController, ResumePreviewFailsIfPreviewNotStarted) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - // Resume preview fails if not started. - EXPECT_CALL(*camera, OnResumePreviewFailed(Eq(CameraResult::kError), - Eq("Preview not started"))) - .Times(1); - - capture_controller->ResumePreview(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -} // namespace test -} // namespace camera_windows diff --git a/example/windows_camera/windows/test/mocks.h b/example/windows_camera/windows/test/mocks.h deleted file mode 100644 index 627cf9c..0000000 --- a/example/windows_camera/windows/test/mocks.h +++ /dev/null @@ -1,1037 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEST_MOCKS_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEST_MOCKS_H_ - -#include -#include -#include -#include -#include -#include -#include - -#include "camera.h" -#include "camera_plugin.h" -#include "capture_controller.h" -#include "capture_controller_listener.h" -#include "capture_engine_listener.h" - -namespace camera_windows { -namespace test { - -namespace { - -using flutter::EncodableMap; -using flutter::EncodableValue; -using ::testing::_; - -class MockMethodResult : public flutter::MethodResult<> { - public: - ~MockMethodResult() = default; - - MOCK_METHOD(void, SuccessInternal, (const EncodableValue* result), - (override)); - MOCK_METHOD(void, ErrorInternal, - (const std::string& error_code, const std::string& error_message, - const EncodableValue* details), - (override)); - MOCK_METHOD(void, NotImplementedInternal, (), (override)); -}; - -class MockBinaryMessenger : public flutter::BinaryMessenger { - public: - ~MockBinaryMessenger() = default; - - MOCK_METHOD(void, Send, - (const std::string& channel, const uint8_t* message, - size_t message_size, flutter::BinaryReply reply), - (const)); - - MOCK_METHOD(void, SetMessageHandler, - (const std::string& channel, - flutter::BinaryMessageHandler handler), - ()); -}; - -class MockTextureRegistrar : public flutter::TextureRegistrar { - public: - MockTextureRegistrar() { - ON_CALL(*this, RegisterTexture) - .WillByDefault([this](flutter::TextureVariant* texture) -> int64_t { - EXPECT_TRUE(texture); - this->texture_ = texture; - this->texture_id_ = 1000; - return this->texture_id_; - }); - - // Deprecated pre-Flutter-3.4 version. - ON_CALL(*this, UnregisterTexture(_)) - .WillByDefault([this](int64_t tid) -> bool { - if (tid == this->texture_id_) { - texture_ = nullptr; - this->texture_id_ = -1; - return true; - } - return false; - }); - - // Flutter 3.4+ version. - ON_CALL(*this, UnregisterTexture(_, _)) - .WillByDefault( - [this](int64_t tid, std::function callback) -> void { - // Forward to the pre-3.4 implementation so that expectations can - // be the same for all versions. - this->UnregisterTexture(tid); - if (callback) { - callback(); - } - }); - - ON_CALL(*this, MarkTextureFrameAvailable) - .WillByDefault([this](int64_t tid) -> bool { - if (tid == this->texture_id_) { - return true; - } - return false; - }); - } - - ~MockTextureRegistrar() { texture_ = nullptr; } - - MOCK_METHOD(int64_t, RegisterTexture, (flutter::TextureVariant * texture), - (override)); - - // Pre-Flutter-3.4 version. - MOCK_METHOD(bool, UnregisterTexture, (int64_t), (override)); - // Flutter 3.4+ version. - // TODO(cbracken): Add an override annotation to this once 3.4+ is the - // minimum version tested in CI. - MOCK_METHOD(void, UnregisterTexture, - (int64_t, std::function callback), ()); - MOCK_METHOD(bool, MarkTextureFrameAvailable, (int64_t), (override)); - - int64_t texture_id_ = -1; - flutter::TextureVariant* texture_ = nullptr; -}; - -class MockCameraFactory : public CameraFactory { - public: - MockCameraFactory() { - ON_CALL(*this, CreateCamera).WillByDefault([this]() { - assert(this->pending_camera_); - return std::move(this->pending_camera_); - }); - } - - ~MockCameraFactory() = default; - - // Disallow copy and move. - MockCameraFactory(const MockCameraFactory&) = delete; - MockCameraFactory& operator=(const MockCameraFactory&) = delete; - - MOCK_METHOD(std::unique_ptr, CreateCamera, - (const std::string& device_id), (override)); - - std::unique_ptr pending_camera_; -}; - -class MockCamera : public Camera { - public: - MockCamera(const std::string& device_id) - : device_id_(device_id), Camera(device_id){}; - - ~MockCamera() = default; - - // Disallow copy and move. - MockCamera(const MockCamera&) = delete; - MockCamera& operator=(const MockCamera&) = delete; - - MOCK_METHOD(void, OnCreateCaptureEngineSucceeded, (int64_t texture_id), - (override)); - MOCK_METHOD(std::unique_ptr>, GetPendingResultByType, - (PendingResultType type)); - MOCK_METHOD(void, OnCreateCaptureEngineFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnStartPreviewSucceeded, (int32_t width, int32_t height), - (override)); - MOCK_METHOD(void, OnStartPreviewFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnResumePreviewSucceeded, (), (override)); - MOCK_METHOD(void, OnResumePreviewFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnPausePreviewSucceeded, (), (override)); - MOCK_METHOD(void, OnPausePreviewFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnStartRecordSucceeded, (), (override)); - MOCK_METHOD(void, OnStartRecordFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnStopRecordSucceeded, (const std::string& file_path), - (override)); - MOCK_METHOD(void, OnStopRecordFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnTakePictureSucceeded, (const std::string& file_path), - (override)); - MOCK_METHOD(void, OnTakePictureFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnVideoRecordSucceeded, - (const std::string& file_path, int64_t video_duration), - (override)); - MOCK_METHOD(void, OnVideoRecordFailed, - (CameraResult result, const std::string& error), (override)); - MOCK_METHOD(void, OnCaptureError, - (CameraResult result, const std::string& error), (override)); - MOCK_METHOD(void, OnStreamedFrameAvailable, (uint8_t* data, uint32_t data_length), (override)); - - MOCK_METHOD(bool, HasDeviceId, (std::string & device_id), (const override)); - MOCK_METHOD(bool, HasCameraId, (int64_t camera_id), (const override)); - - MOCK_METHOD(bool, AddPendingResult, - (PendingResultType type, std::unique_ptr> result), - (override)); - MOCK_METHOD(bool, HasPendingResultByType, (PendingResultType type), - (const override)); - - MOCK_METHOD(camera_windows::CaptureController*, GetCaptureController, (), - (override)); - - MOCK_METHOD(bool, InitCamera, - (flutter::TextureRegistrar * texture_registrar, - flutter::BinaryMessenger* messenger, bool record_audio, - ResolutionPreset resolution_preset), - (override)); - - std::unique_ptr capture_controller_; - std::unique_ptr> pending_result_; - std::string device_id_; - int64_t camera_id_ = -1; -}; - -class MockCaptureControllerFactory : public CaptureControllerFactory { - public: - MockCaptureControllerFactory(){}; - virtual ~MockCaptureControllerFactory() = default; - - // Disallow copy and move. - MockCaptureControllerFactory(const MockCaptureControllerFactory&) = delete; - MockCaptureControllerFactory& operator=(const MockCaptureControllerFactory&) = - delete; - - MOCK_METHOD(std::unique_ptr, CreateCaptureController, - (CaptureControllerListener * listener), (override)); -}; - -class MockCaptureController : public CaptureController { - public: - ~MockCaptureController() = default; - - MOCK_METHOD(bool, InitCaptureDevice, - (flutter::TextureRegistrar * texture_registrar, - const std::string& device_id, bool record_audio, - ResolutionPreset resolution_preset), - (override)); - - MOCK_METHOD(uint32_t, GetPreviewWidth, (), (const override)); - MOCK_METHOD(uint32_t, GetPreviewHeight, (), (const override)); - - // Actions - MOCK_METHOD(void, StartPreview, (), (override)); - MOCK_METHOD(void, ResumePreview, (), (override)); - MOCK_METHOD(void, PausePreview, (), (override)); - MOCK_METHOD(void, StartRecord, - (const std::string& file_path, int64_t max_video_duration_ms), - (override)); - MOCK_METHOD(void, StopRecord, (), (override)); - MOCK_METHOD(void, TakePicture, (const std::string& file_path), (override)); -}; - -// MockCameraPlugin extends CameraPlugin behaviour a bit to allow adding cameras -// without creating them first with create message handler and mocking static -// system calls -class MockCameraPlugin : public CameraPlugin { - public: - MockCameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger) - : CameraPlugin(texture_registrar, messenger){}; - - // Creates a plugin instance with the given CameraFactory instance. - // Exists for unit testing with mock implementations. - MockCameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - std::unique_ptr camera_factory) - : CameraPlugin(texture_registrar, messenger, std::move(camera_factory)){}; - - ~MockCameraPlugin() = default; - - // Disallow copy and move. - MockCameraPlugin(const MockCameraPlugin&) = delete; - MockCameraPlugin& operator=(const MockCameraPlugin&) = delete; - - MOCK_METHOD(bool, EnumerateVideoCaptureDeviceSources, - (IMFActivate * **devices, UINT32* count), (override)); - - // Helper to add camera without creating it via CameraFactory for testing - // purposes - void AddCamera(std::unique_ptr camera) { - cameras_.push_back(std::move(camera)); - } -}; - -class MockCaptureSource : public IMFCaptureSource { - public: - MockCaptureSource(){}; - ~MockCaptureSource() = default; - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCaptureSource) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - MOCK_METHOD(HRESULT, GetCaptureDeviceSource, - (MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType, - IMFMediaSource** ppMediaSource)); - MOCK_METHOD(HRESULT, GetCaptureDeviceActivate, - (MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType, - IMFActivate** ppActivate)); - MOCK_METHOD(HRESULT, GetService, - (REFIID rguidService, REFIID riid, IUnknown** ppUnknown)); - MOCK_METHOD(HRESULT, AddEffect, - (DWORD dwSourceStreamIndex, IUnknown* pUnknown)); - - MOCK_METHOD(HRESULT, RemoveEffect, - (DWORD dwSourceStreamIndex, IUnknown* pUnknown)); - MOCK_METHOD(HRESULT, RemoveAllEffects, (DWORD dwSourceStreamIndex)); - MOCK_METHOD(HRESULT, GetAvailableDeviceMediaType, - (DWORD dwSourceStreamIndex, DWORD dwMediaTypeIndex, - IMFMediaType** ppMediaType)); - MOCK_METHOD(HRESULT, SetCurrentDeviceMediaType, - (DWORD dwSourceStreamIndex, IMFMediaType* pMediaType)); - MOCK_METHOD(HRESULT, GetCurrentDeviceMediaType, - (DWORD dwSourceStreamIndex, IMFMediaType** ppMediaType)); - MOCK_METHOD(HRESULT, GetDeviceStreamCount, (DWORD * pdwStreamCount)); - MOCK_METHOD(HRESULT, GetDeviceStreamCategory, - (DWORD dwSourceStreamIndex, - MF_CAPTURE_ENGINE_STREAM_CATEGORY* pStreamCategory)); - MOCK_METHOD(HRESULT, GetMirrorState, - (DWORD dwStreamIndex, BOOL* pfMirrorState)); - MOCK_METHOD(HRESULT, SetMirrorState, - (DWORD dwStreamIndex, BOOL fMirrorState)); - MOCK_METHOD(HRESULT, GetStreamIndexFromFriendlyName, - (UINT32 uifriendlyName, DWORD* pdwActualStreamIndex)); - - private: - volatile ULONG ref_ = 0; -}; - -// Uses IMFMediaSourceEx which has SetD3DManager method. -class MockMediaSource : public IMFMediaSourceEx { - public: - MockMediaSource(){}; - ~MockMediaSource() = default; - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFMediaSource) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - // IMFMediaSource - HRESULT GetCharacteristics(DWORD* dwCharacteristics) override { - return E_NOTIMPL; - } - // IMFMediaSource - HRESULT CreatePresentationDescriptor( - IMFPresentationDescriptor** presentationDescriptor) override { - return E_NOTIMPL; - } - // IMFMediaSource - HRESULT Start(IMFPresentationDescriptor* presentationDescriptor, - const GUID* guidTimeFormat, - const PROPVARIANT* varStartPosition) override { - return E_NOTIMPL; - } - // IMFMediaSource - HRESULT Stop(void) override { return E_NOTIMPL; } - // IMFMediaSource - HRESULT Pause(void) override { return E_NOTIMPL; } - // IMFMediaSource - HRESULT Shutdown(void) override { return E_NOTIMPL; } - - // IMFMediaEventGenerator - HRESULT GetEvent(DWORD dwFlags, IMFMediaEvent** event) override { - return E_NOTIMPL; - } - // IMFMediaEventGenerator - HRESULT BeginGetEvent(IMFAsyncCallback* callback, - IUnknown* unkState) override { - return E_NOTIMPL; - } - // IMFMediaEventGenerator - HRESULT EndGetEvent(IMFAsyncResult* result, IMFMediaEvent** event) override { - return E_NOTIMPL; - } - // IMFMediaEventGenerator - HRESULT QueueEvent(MediaEventType met, REFGUID guidExtendedType, - HRESULT hrStatus, const PROPVARIANT* value) override { - return E_NOTIMPL; - } - - // IMFMediaSourceEx - HRESULT GetSourceAttributes(IMFAttributes** attributes) { return E_NOTIMPL; } - // IMFMediaSourceEx - HRESULT GetStreamAttributes(DWORD stream_id, IMFAttributes** attributes) { - return E_NOTIMPL; - } - // IMFMediaSourceEx - HRESULT SetD3DManager(IUnknown* manager) { return S_OK; } - - private: - volatile ULONG ref_ = 0; -}; - -class MockCapturePreviewSink : public IMFCapturePreviewSink { - public: - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetOutputMediaType, - (DWORD dwSinkStreamIndex, IMFMediaType** ppMediaType)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetService, - (DWORD dwSinkStreamIndex, REFGUID rguidService, REFIID riid, - IUnknown** ppUnknown)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, AddStream, - (DWORD dwSourceStreamIndex, IMFMediaType* pMediaType, - IMFAttributes* pAttributes, DWORD* pdwSinkStreamIndex)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, Prepare, ()); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, RemoveAllStreams, ()); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetRenderHandle, (HANDLE handle)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetRenderSurface, (IUnknown * pSurface)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, UpdateVideo, - (const MFVideoNormalizedRect* pSrc, const RECT* pDst, - const COLORREF* pBorderClr)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetSampleCallback, - (DWORD dwStreamSinkIndex, - IMFCaptureEngineOnSampleCallback* pCallback)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, GetMirrorState, (BOOL * pfMirrorState)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetMirrorState, (BOOL fMirrorState)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, GetRotation, - (DWORD dwStreamIndex, DWORD* pdwRotationValue)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetRotation, - (DWORD dwStreamIndex, DWORD dwRotationValue)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetCustomSink, (IMFMediaSink * pMediaSink)); - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCapturePreviewSink) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - void SendFakeSample(uint8_t* src_buffer, uint32_t size) { - assert(sample_callback_); - ComPtr sample; - ComPtr buffer; - HRESULT hr = MFCreateSample(&sample); - - if (SUCCEEDED(hr)) { - hr = MFCreateMemoryBuffer(size, &buffer); - } - - if (SUCCEEDED(hr)) { - uint8_t* target_data; - if (SUCCEEDED(buffer->Lock(&target_data, nullptr, nullptr))) { - std::copy(src_buffer, src_buffer + size, target_data); - } - hr = buffer->Unlock(); - } - - if (SUCCEEDED(hr)) { - hr = buffer->SetCurrentLength(size); - } - - if (SUCCEEDED(hr)) { - hr = sample->AddBuffer(buffer.Get()); - } - - if (SUCCEEDED(hr)) { - sample_callback_->OnSample(sample.Get()); - } - } - - ComPtr sample_callback_; - - private: - ~MockCapturePreviewSink() = default; - volatile ULONG ref_ = 0; -}; - -class MockCaptureRecordSink : public IMFCaptureRecordSink { - public: - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetOutputMediaType, - (DWORD dwSinkStreamIndex, IMFMediaType** ppMediaType)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetService, - (DWORD dwSinkStreamIndex, REFGUID rguidService, REFIID riid, - IUnknown** ppUnknown)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, AddStream, - (DWORD dwSourceStreamIndex, IMFMediaType* pMediaType, - IMFAttributes* pAttributes, DWORD* pdwSinkStreamIndex)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, Prepare, ()); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, RemoveAllStreams, ()); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetOutputByteStream, - (IMFByteStream * pByteStream, REFGUID guidContainerType)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetOutputFileName, (LPCWSTR fileName)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetSampleCallback, - (DWORD dwStreamSinkIndex, - IMFCaptureEngineOnSampleCallback* pCallback)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetCustomSink, (IMFMediaSink * pMediaSink)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, GetRotation, - (DWORD dwStreamIndex, DWORD* pdwRotationValue)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetRotation, - (DWORD dwStreamIndex, DWORD dwRotationValue)); - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCaptureRecordSink) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - private: - ~MockCaptureRecordSink() = default; - volatile ULONG ref_ = 0; -}; - -class MockCapturePhotoSink : public IMFCapturePhotoSink { - public: - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetOutputMediaType, - (DWORD dwSinkStreamIndex, IMFMediaType** ppMediaType)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetService, - (DWORD dwSinkStreamIndex, REFGUID rguidService, REFIID riid, - IUnknown** ppUnknown)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, AddStream, - (DWORD dwSourceStreamIndex, IMFMediaType* pMediaType, - IMFAttributes* pAttributes, DWORD* pdwSinkStreamIndex)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, Prepare, ()); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, RemoveAllStreams, ()); - - // IMFCapturePhotoSink - MOCK_METHOD(HRESULT, SetOutputFileName, (LPCWSTR fileName)); - - // IMFCapturePhotoSink - MOCK_METHOD(HRESULT, SetSampleCallback, - (IMFCaptureEngineOnSampleCallback * pCallback)); - - // IMFCapturePhotoSink - MOCK_METHOD(HRESULT, SetOutputByteStream, (IMFByteStream * pByteStream)); - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCapturePhotoSink) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - private: - ~MockCapturePhotoSink() = default; - volatile ULONG ref_ = 0; -}; - -template -class FakeIMFAttributesBase : public T { - static_assert(std::is_base_of::value, - "I must inherit from IMFAttributes"); - - // IIMFAttributes - HRESULT GetItem(REFGUID guidKey, PROPVARIANT* pValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetItemType(REFGUID guidKey, MF_ATTRIBUTE_TYPE* pType) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT CompareItem(REFGUID guidKey, REFPROPVARIANT Value, - BOOL* pbResult) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT Compare(IMFAttributes* pTheirs, MF_ATTRIBUTES_MATCH_TYPE MatchType, - BOOL* pbResult) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetUINT32(REFGUID guidKey, UINT32* punValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetUINT64(REFGUID guidKey, UINT64* punValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetDouble(REFGUID guidKey, double* pfValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetGUID(REFGUID guidKey, GUID* pguidValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetStringLength(REFGUID guidKey, UINT32* pcchLength) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetString(REFGUID guidKey, LPWSTR pwszValue, UINT32 cchBufSize, - UINT32* pcchLength) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetAllocatedString(REFGUID guidKey, LPWSTR* ppwszValue, - UINT32* pcchLength) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetBlobSize(REFGUID guidKey, UINT32* pcbBlobSize) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetBlob(REFGUID guidKey, UINT8* pBuf, UINT32 cbBufSize, - UINT32* pcbBlobSize) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetAllocatedBlob(REFGUID guidKey, UINT8** ppBuf, - UINT32* pcbSize) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetUnknown(REFGUID guidKey, REFIID riid, - __RPC__deref_out_opt LPVOID* ppv) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetItem(REFGUID guidKey, REFPROPVARIANT Value) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT DeleteItem(REFGUID guidKey) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT DeleteAllItems(void) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT SetUINT32(REFGUID guidKey, UINT32 unValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetUINT64(REFGUID guidKey, UINT64 unValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetDouble(REFGUID guidKey, double fValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetGUID(REFGUID guidKey, REFGUID guidValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetString(REFGUID guidKey, LPCWSTR wszValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetBlob(REFGUID guidKey, const UINT8* pBuf, - UINT32 cbBufSize) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetUnknown(REFGUID guidKey, IUnknown* pUnknown) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT LockStore(void) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT UnlockStore(void) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT GetCount(UINT32* pcItems) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT GetItemByIndex(UINT32 unIndex, GUID* pguidKey, - PROPVARIANT* pValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT CopyAllItems(IMFAttributes* pDest) override { return E_NOTIMPL; } -}; - -class FakeMediaType : public FakeIMFAttributesBase { - public: - FakeMediaType(GUID major_type, GUID sub_type, int width, int height) - : major_type_(major_type), - sub_type_(sub_type), - width_(width), - height_(height){}; - - // IMFAttributes - HRESULT GetUINT64(REFGUID key, UINT64* value) override { - if (key == MF_MT_FRAME_SIZE) { - *value = (int64_t)width_ << 32 | (int64_t)height_; - return S_OK; - } else if (key == MF_MT_FRAME_RATE) { - *value = (int64_t)frame_rate_ << 32 | 1; - return S_OK; - } - return E_FAIL; - }; - - // IMFAttributes - HRESULT GetGUID(REFGUID key, GUID* value) override { - if (key == MF_MT_MAJOR_TYPE) { - *value = major_type_; - return S_OK; - } else if (key == MF_MT_SUBTYPE) { - *value = sub_type_; - return S_OK; - } - return E_FAIL; - } - - // IIMFAttributes - HRESULT CopyAllItems(IMFAttributes* pDest) override { - pDest->SetUINT64(MF_MT_FRAME_SIZE, - (int64_t)width_ << 32 | (int64_t)height_); - pDest->SetUINT64(MF_MT_FRAME_RATE, (int64_t)frame_rate_ << 32 | 1); - pDest->SetGUID(MF_MT_MAJOR_TYPE, major_type_); - pDest->SetGUID(MF_MT_SUBTYPE, sub_type_); - return S_OK; - } - - // IMFMediaType - HRESULT STDMETHODCALLTYPE GetMajorType(GUID* pguidMajorType) override { - return E_NOTIMPL; - }; - - // IMFMediaType - HRESULT STDMETHODCALLTYPE IsCompressedFormat(BOOL* pfCompressed) override { - return E_NOTIMPL; - } - - // IMFMediaType - HRESULT STDMETHODCALLTYPE IsEqual(IMFMediaType* pIMediaType, - DWORD* pdwFlags) override { - return E_NOTIMPL; - } - - // IMFMediaType - HRESULT STDMETHODCALLTYPE GetRepresentation( - GUID guidRepresentation, LPVOID* ppvRepresentation) override { - return E_NOTIMPL; - } - - // IMFMediaType - HRESULT STDMETHODCALLTYPE FreeRepresentation( - GUID guidRepresentation, LPVOID pvRepresentation) override { - return E_NOTIMPL; - } - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFMediaType) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - private: - ~FakeMediaType() = default; - volatile ULONG ref_ = 0; - const GUID major_type_; - const GUID sub_type_; - const int width_; - const int height_; - const int frame_rate_ = 30; -}; - -class MockCaptureEngine : public IMFCaptureEngine { - public: - MockCaptureEngine() { - ON_CALL(*this, Initialize) - .WillByDefault([this](IMFCaptureEngineOnEventCallback* callback, - IMFAttributes* attributes, IUnknown* audioSource, - IUnknown* videoSource) -> HRESULT { - EXPECT_TRUE(callback); - EXPECT_TRUE(attributes); - EXPECT_TRUE(videoSource); - // audioSource is allowed to be nullptr; - callback_ = callback; - videoSource_ = reinterpret_cast(videoSource); - audioSource_ = reinterpret_cast(audioSource); - initialized_ = true; - return S_OK; - }); - }; - - virtual ~MockCaptureEngine() = default; - - MOCK_METHOD(HRESULT, Initialize, - (IMFCaptureEngineOnEventCallback * callback, - IMFAttributes* attributes, IUnknown* audioSource, - IUnknown* videoSource)); - MOCK_METHOD(HRESULT, StartPreview, ()); - MOCK_METHOD(HRESULT, StopPreview, ()); - MOCK_METHOD(HRESULT, StartRecord, ()); - MOCK_METHOD(HRESULT, StopRecord, - (BOOL finalize, BOOL flushUnprocessedSamples)); - MOCK_METHOD(HRESULT, TakePhoto, ()); - MOCK_METHOD(HRESULT, GetSink, - (MF_CAPTURE_ENGINE_SINK_TYPE type, IMFCaptureSink** sink)); - MOCK_METHOD(HRESULT, GetSource, (IMFCaptureSource * *ppSource)); - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCaptureEngine) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - void CreateFakeEvent(HRESULT hrStatus, GUID event_type) { - EXPECT_TRUE(initialized_); - ComPtr event; - MFCreateMediaEvent(MEExtendedType, event_type, hrStatus, nullptr, &event); - if (callback_) { - callback_->OnEvent(event.Get()); - } - } - - ComPtr callback_; - ComPtr videoSource_; - ComPtr audioSource_; - volatile ULONG ref_ = 0; - bool initialized_ = false; -}; - -#define MOCK_DEVICE_ID "mock_device_id" -#define MOCK_CAMERA_NAME "mock_camera_name <" MOCK_DEVICE_ID ">" -#define MOCK_INVALID_CAMERA_NAME "invalid_camera_name" - -} // namespace -} // namespace test -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEST_MOCKS_H_ diff --git a/example/windows_camera/windows/texture_handler.cpp b/example/windows_camera/windows/texture_handler.cpp deleted file mode 100644 index e59955f..0000000 --- a/example/windows_camera/windows/texture_handler.cpp +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "texture_handler.h" - -#include - -namespace camera_windows { - -TextureHandler::~TextureHandler() { - // Texture might still be processed while destructor is called. - // Lock mutex for safe destruction - const std::lock_guard lock(buffer_mutex_); - if (texture_registrar_ && texture_id_ > 0) { - texture_registrar_->UnregisterTexture(texture_id_); - } - texture_id_ = -1; - texture_ = nullptr; - texture_registrar_ = nullptr; -} - -int64_t TextureHandler::RegisterTexture() { - if (!texture_registrar_) { - return -1; - } - - // Create flutter desktop pixelbuffer texture; - texture_ = - std::make_unique(flutter::PixelBufferTexture( - [this](size_t width, - size_t height) -> const FlutterDesktopPixelBuffer* { - return this->ConvertPixelBufferForFlutter(width, height); - })); - - texture_id_ = texture_registrar_->RegisterTexture(texture_.get()); - return texture_id_; -} - -bool TextureHandler::UpdateBuffer(uint8_t* data, uint32_t data_length) { - // Scoped lock guard. - { - const std::lock_guard lock(buffer_mutex_); - if (!TextureRegistered()) { - return false; - } - - if (source_buffer_.size() != data_length) { - // Update source buffer size. - source_buffer_.resize(data_length); - } - std::copy(data, data + data_length, source_buffer_.data()); - } - OnBufferUpdated(); - return true; -}; - -// Marks texture frame available after buffer is updated. -void TextureHandler::OnBufferUpdated() { - if (TextureRegistered()) { - texture_registrar_->MarkTextureFrameAvailable(texture_id_); - } -} - -const FlutterDesktopPixelBuffer* TextureHandler::ConvertPixelBufferForFlutter( - size_t target_width, size_t target_height) { - // TODO: optimize image processing size by adjusting capture size - // dynamically to match target_width and target_height. - // If target size changes, create new media type for preview and set new - // target framesize to MF_MT_FRAME_SIZE attribute. - // Size should be kept inside requested resolution preset. - // Update output media type with IMFCaptureSink2::SetOutputMediaType method - // call and implement IMFCaptureEngineOnSampleCallback2::OnSynchronizedEvent - // to detect size changes. - - // Lock buffer mutex to protect texture processing - std::unique_lock buffer_lock(buffer_mutex_); - if (!TextureRegistered()) { - return nullptr; - } - - const uint32_t bytes_per_pixel = 4; - const uint32_t pixels_total = preview_frame_width_ * preview_frame_height_; - const uint32_t data_size = pixels_total * bytes_per_pixel; - if (data_size > 0 && source_buffer_.size() == data_size) { - if (dest_buffer_.size() != data_size) { - dest_buffer_.resize(data_size); - } - - // Map buffers to structs for easier conversion. - MFVideoFormatRGB32Pixel* src = - reinterpret_cast(source_buffer_.data()); - FlutterDesktopPixel* dst = - reinterpret_cast(dest_buffer_.data()); - - for (uint32_t y = 0; y < preview_frame_height_; y++) { - for (uint32_t x = 0; x < preview_frame_width_; x++) { - uint32_t sp = (y * preview_frame_width_) + x; - if (mirror_preview_) { - // Software mirror mode. - // IMFCapturePreviewSink also has the SetMirrorState setting, - // but if enabled, samples will not be processed. - - // Calculates mirrored pixel position. - uint32_t tp = - (y * preview_frame_width_) + ((preview_frame_width_ - 1) - x); - dst[tp].r = src[sp].r; - dst[tp].g = src[sp].g; - dst[tp].b = src[sp].b; - dst[tp].a = 255; - } else { - dst[sp].r = src[sp].r; - dst[sp].g = src[sp].g; - dst[sp].b = src[sp].b; - dst[sp].a = 255; - } - } - } - - if (!flutter_desktop_pixel_buffer_) { - flutter_desktop_pixel_buffer_ = - std::make_unique(); - - // Unlocks mutex after texture is processed. - flutter_desktop_pixel_buffer_->release_callback = - [](void* release_context) { - auto mutex = reinterpret_cast(release_context); - mutex->unlock(); - }; - } - - flutter_desktop_pixel_buffer_->buffer = dest_buffer_.data(); - flutter_desktop_pixel_buffer_->width = preview_frame_width_; - flutter_desktop_pixel_buffer_->height = preview_frame_height_; - if (capture_controller_listener_) { - capture_controller_listener_->OnStreamedFrameAvailable(dest_buffer_.data(), preview_frame_width_ * preview_frame_height_ * 4); - } - // Releases unique_lock and set mutex pointer for release context. - flutter_desktop_pixel_buffer_->release_context = buffer_lock.release(); - - return flutter_desktop_pixel_buffer_.get(); - } - return nullptr; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/texture_handler.h b/example/windows_camera/windows/texture_handler.h deleted file mode 100644 index 5903730..0000000 --- a/example/windows_camera/windows/texture_handler.h +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEXTURE_HANDLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEXTURE_HANDLER_H_ - -#include - -#include -#include -#include - -#include "capture_controller_listener.h" - -namespace camera_windows { - -// Describes flutter desktop pixelbuffers pixel data order. -struct FlutterDesktopPixel { - uint8_t r = 0; - uint8_t g = 0; - uint8_t b = 0; - uint8_t a = 0; -}; - -// Describes MFVideoFormat_RGB32 data order. -struct MFVideoFormatRGB32Pixel { - uint8_t b = 0; - uint8_t g = 0; - uint8_t r = 0; - uint8_t x = 0; -}; - -// Handles the registration of Flutter textures, pixel buffers, and the -// conversion of texture formats. -class TextureHandler { - public: - TextureHandler(flutter::TextureRegistrar* texture_registrar) - : texture_registrar_(texture_registrar) {} - virtual ~TextureHandler(); - - // Prevent copying. - TextureHandler(TextureHandler const&) = delete; - TextureHandler& operator=(TextureHandler const&) = delete; - - // Updates source data buffer with given data. - bool UpdateBuffer(uint8_t* data, uint32_t data_length); - - // Registers texture and updates given texture_id pointer value. - int64_t RegisterTexture(); - - // Updates current preview texture size. - void UpdateTextureSize(uint32_t width, uint32_t height) { - preview_frame_width_ = width; - preview_frame_height_ = height; - } - - // Sets software mirror state. - void SetMirrorPreviewState(bool mirror) { mirror_preview_ = mirror; } - - void SetCaptureControllerListener( - CaptureControllerListener* capture_controller_listener) { - capture_controller_listener_ = capture_controller_listener; - } - - private: - // Informs flutter texture registrar of updated texture. - void OnBufferUpdated(); - - // Converts local pixel buffer to flutter pixel buffer. - const FlutterDesktopPixelBuffer* ConvertPixelBufferForFlutter(size_t width, - size_t height); - - // Checks if texture registrar, texture id and texture are available. - bool TextureRegistered() { - return texture_registrar_ && texture_ && texture_id_ > -1; - } - - bool mirror_preview_ = true; - int64_t texture_id_ = -1; - uint32_t bytes_per_pixel_ = 4; - uint32_t source_buffer_size_ = 0; - uint32_t preview_frame_width_ = 0; - uint32_t preview_frame_height_ = 0; - - std::vector source_buffer_; - std::vector dest_buffer_; - std::unique_ptr texture_; - std::unique_ptr flutter_desktop_pixel_buffer_ = - nullptr; - flutter::TextureRegistrar* texture_registrar_ = nullptr; - - std::mutex buffer_mutex_; - - CaptureControllerListener* capture_controller_listener_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEXTURE_HANDLER_H_ diff --git a/example/web/favicon.png b/favicon.png similarity index 100% rename from example/web/favicon.png rename to favicon.png diff --git a/flutter.js b/flutter.js new file mode 100644 index 0000000..44a8b8e --- /dev/null +++ b/flutter.js @@ -0,0 +1,4 @@ +(()=>{var L=()=>navigator.vendor==="Google Inc."||navigator.agent==="Edg/",W=()=>typeof ImageDecoder>"u"?!1:L(),E=()=>typeof Intl.v8BreakIterator<"u"&&typeof Intl.Segmenter<"u",P=()=>{let s=[0,97,115,109,1,0,0,0,1,5,1,95,1,120,0];return WebAssembly.validate(new Uint8Array(s))},p={hasImageCodecs:W(),hasChromiumBreakIterators:E(),supportsWasmGC:P(),crossOriginIsolated:window.crossOriginIsolated};function u(...s){return new URL(S(...s),document.baseURI).toString()}function S(...s){return s.filter(t=>!!t).map((t,i)=>i===0?_(t):j(_(t))).filter(t=>t.length).join("/")}function j(s){let t=0;for(;t0&&s.charAt(t-1)==="/";)t--;return s.substring(0,t)}function b(s,t){return s.canvasKitBaseUrl?s.canvasKitBaseUrl:t.engineRevision&&!t.useLocalCanvasKit?S("https://www.gstatic.com/flutter-canvaskit",t.engineRevision):"canvaskit"}var h=class{constructor(){this._scriptLoaded=!1}setTrustedTypesPolicy(t){this._ttPolicy=t}async loadEntrypoint(t){let{entrypointUrl:i=u("main.dart.js"),onEntrypointLoaded:r,nonce:e}=t||{};return this._loadJSEntrypoint(i,r,e)}async load(t,i,r,e,n){n??=o=>{o.initializeEngine(r).then(l=>l.runApp())};let{entryPointBaseUrl:a}=r;if(t.compileTarget==="dart2wasm")return this._loadWasmEntrypoint(t,i,a,n);{let o=t.mainJsPath??"main.dart.js",l=u(a,o);return this._loadJSEntrypoint(l,n,e)}}didCreateEngineInitializer(t){typeof this._didCreateEngineInitializerResolve=="function"&&(this._didCreateEngineInitializerResolve(t),this._didCreateEngineInitializerResolve=null,delete _flutter.loader.didCreateEngineInitializer),typeof this._onEntrypointLoaded=="function"&&this._onEntrypointLoaded(t)}_loadJSEntrypoint(t,i,r){let e=typeof i=="function";if(!this._scriptLoaded){this._scriptLoaded=!0;let n=this._createScriptTag(t,r);if(e)console.debug("Injecting diff --git a/ios/.gitignore b/ios/.gitignore deleted file mode 100644 index 0c88507..0000000 --- a/ios/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -.idea/ -.vagrant/ -.sconsign.dblite -.svn/ - -.DS_Store -*.swp -profile - -DerivedData/ -build/ -GeneratedPluginRegistrant.h -GeneratedPluginRegistrant.m - -.generated/ - -*.pbxuser -*.mode1v3 -*.mode2v3 -*.perspectivev3 - -!default.pbxuser -!default.mode1v3 -!default.mode2v3 -!default.perspectivev3 - -xcuserdata - -*.moved-aside - -*.pyc -*sync/ -Icon? -.tags* - -/Flutter/Generated.xcconfig -/Flutter/ephemeral/ -/Flutter/flutter_export_environment.sh \ No newline at end of file diff --git a/ios/Assets/.gitkeep b/ios/Assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/ios/Classes/FlutterDocumentScanSdkPlugin.h b/ios/Classes/FlutterDocumentScanSdkPlugin.h deleted file mode 100644 index 261631a..0000000 --- a/ios/Classes/FlutterDocumentScanSdkPlugin.h +++ /dev/null @@ -1,4 +0,0 @@ -#import - -@interface FlutterDocumentScanSdkPlugin : NSObject -@end diff --git a/ios/Classes/FlutterDocumentScanSdkPlugin.m b/ios/Classes/FlutterDocumentScanSdkPlugin.m deleted file mode 100644 index ee4c109..0000000 --- a/ios/Classes/FlutterDocumentScanSdkPlugin.m +++ /dev/null @@ -1,15 +0,0 @@ -#import "FlutterDocumentScanSdkPlugin.h" -#if __has_include() -#import -#else -// Support project import fallback if the generated compatibility header -// is not copied when this plugin is created as a library. -// https://forums.swift.org/t/swift-static-libraries-dont-copy-generated-objective-c-header/19816 -#import "flutter_document_scan_sdk-Swift.h" -#endif - -@implementation FlutterDocumentScanSdkPlugin -+ (void)registerWithRegistrar:(NSObject*)registrar { - [SwiftFlutterDocumentScanSdkPlugin registerWithRegistrar:registrar]; -} -@end diff --git a/ios/Classes/SwiftFlutterDocumentScanSdkPlugin.swift b/ios/Classes/SwiftFlutterDocumentScanSdkPlugin.swift deleted file mode 100644 index 6bd4bf0..0000000 --- a/ios/Classes/SwiftFlutterDocumentScanSdkPlugin.swift +++ /dev/null @@ -1,427 +0,0 @@ -import Flutter -import UIKit -import DynamsoftCore -import DynamsoftDocumentNormalizer - -public class SwiftFlutterDocumentScanSdkPlugin: NSObject, FlutterPlugin, LicenseVerificationListener { - var completionHandlers: [FlutterResult] = [] - private var normalizer: DynamsoftDocumentNormalizer? - private var normalizedImage: iNormalizedImageResult? - - public static func register(with registrar: FlutterPluginRegistrar) { - let channel = FlutterMethodChannel(name: "flutter_document_scan_sdk", binaryMessenger: registrar.messenger()) - let instance = SwiftFlutterDocumentScanSdkPlugin() - registrar.addMethodCallDelegate(instance, channel: channel) - } - - public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) { - - switch call.method { - case "getPlatformVersion": - result("iOS " + UIDevice.current.systemVersion) - case "init": - completionHandlers.append(result) - let arguments: NSDictionary = call.arguments as! NSDictionary - let license: String = arguments.value(forKey: "key") as! String - DynamsoftLicenseManager.initLicense(license, verificationDelegate: self) - case "setParameters": - let arguments: NSDictionary = call.arguments as! NSDictionary - let params: String = arguments.value(forKey: "params") as! String - let isSuccess: Any? = try? self.normalizer!.initRuntimeSettingsFromString(params) - - if isSuccess != nil { - result(0) - } - else { - result(-1) - } - - case "getParameters": - if self.normalizer == nil { - result("") - return - } - let parameters = try? self.normalizer!.outputRuntimeSettings("") - - result(parameters) - case "detectFile": - if self.normalizer == nil { - result(.none) - return - } - let arguments: NSDictionary = call.arguments as! NSDictionary - DispatchQueue.global().async { - let out = NSMutableArray() - let filename: String = arguments.value(forKey: "file") as! String - let detectedResults = try? self.normalizer!.detectQuadFromFile(filename) - - if detectedResults != nil { - for result in detectedResults! { - let dictionary = NSMutableDictionary() - - let confidence = result.confidenceAsDocumentBoundary - let points = result.location.points as! [CGPoint] - - dictionary.setObject(confidence, forKey: "confidence" as NSCopying) - dictionary.setObject(Int(points[0].x), forKey: "x1" as NSCopying) - dictionary.setObject(Int(points[0].y), forKey: "y1" as NSCopying) - dictionary.setObject(Int(points[1].x), forKey: "x2" as NSCopying) - dictionary.setObject(Int(points[1].y), forKey: "y2" as NSCopying) - dictionary.setObject(Int(points[2].x), forKey: "x3" as NSCopying) - dictionary.setObject(Int(points[2].y), forKey: "y3" as NSCopying) - dictionary.setObject(Int(points[3].x), forKey: "x4" as NSCopying) - dictionary.setObject(Int(points[3].y), forKey: "y4" as NSCopying) - - out.add(dictionary) - } - } - result(out) - } - case "detectBuffer": - if self.normalizer == nil { - result(.none) - return - } - - let arguments: NSDictionary = call.arguments as! NSDictionary - DispatchQueue.global().async { - let out = NSMutableArray() - let buffer:FlutterStandardTypedData = arguments.value(forKey: "bytes") as! FlutterStandardTypedData - let w:Int = arguments.value(forKey: "width") as! Int - let h:Int = arguments.value(forKey: "height") as! Int - let stride:Int = arguments.value(forKey: "stride") as! Int - let format:Int = arguments.value(forKey: "format") as! Int - let enumImagePixelFormat = EnumImagePixelFormat(rawValue: format) - let data = iImageData() - data.bytes = buffer.data - data.width = w - data.height = h - data.stride = stride - data.format = enumImagePixelFormat! - - let detectedResults = try? self.normalizer!.detectQuadFromBuffer(data) - - if detectedResults != nil { - for result in detectedResults! { - let dictionary = NSMutableDictionary() - - let confidence = result.confidenceAsDocumentBoundary - let points = result.location.points as! [CGPoint] - - dictionary.setObject(confidence, forKey: "confidence" as NSCopying) - dictionary.setObject(Int(points[0].x), forKey: "x1" as NSCopying) - dictionary.setObject(Int(points[0].y), forKey: "y1" as NSCopying) - dictionary.setObject(Int(points[1].x), forKey: "x2" as NSCopying) - dictionary.setObject(Int(points[1].y), forKey: "y2" as NSCopying) - dictionary.setObject(Int(points[2].x), forKey: "x3" as NSCopying) - dictionary.setObject(Int(points[2].y), forKey: "y3" as NSCopying) - dictionary.setObject(Int(points[3].x), forKey: "x4" as NSCopying) - dictionary.setObject(Int(points[3].y), forKey: "y4" as NSCopying) - - out.add(dictionary) - } - } - result(out) - } - case "normalizeBuffer": - if self.normalizer == nil { - result(.none) - return - } - - let arguments: NSDictionary = call.arguments as! NSDictionary - - let buffer:FlutterStandardTypedData = arguments.value(forKey: "bytes") as! FlutterStandardTypedData - let w:Int = arguments.value(forKey: "width") as! Int - let h:Int = arguments.value(forKey: "height") as! Int - let stride:Int = arguments.value(forKey: "stride") as! Int - let format:Int = arguments.value(forKey: "format") as! Int - let enumImagePixelFormat = EnumImagePixelFormat(rawValue: format) - let x1: Int = arguments.value(forKey: "x1") as! Int - let y1: Int = arguments.value(forKey: "y1") as! Int - let x2: Int = arguments.value(forKey: "x2") as! Int - let y2: Int = arguments.value(forKey: "y2") as! Int - let x3: Int = arguments.value(forKey: "x3") as! Int - let y3: Int = arguments.value(forKey: "y3") as! Int - let x4: Int = arguments.value(forKey: "x4") as! Int - let y4: Int = arguments.value(forKey: "y4") as! Int - - let data = iImageData() - data.bytes = buffer.data - data.width = w - data.height = h - data.stride = stride - data.format = enumImagePixelFormat! - - let points = [CGPoint(x: x1, y: y1), CGPoint(x: x2, y: y2), CGPoint(x: x3, y: y3), CGPoint(x: x4, y: y4)] - let quad = iQuadrilateral() - quad.points = points - - DispatchQueue.global().async { - self.normalizedImage = try? self.normalizer!.normalizeBuffer(data, quad: quad) - - let dictionary = NSMutableDictionary() - - if self.normalizedImage != nil { - let imageData: iImageData = self.normalizedImage!.image - let width = imageData.width - let height = imageData.height - let stride = imageData.stride - let format = imageData.format - let data = imageData.bytes - let length = data!.count - let orientation = imageData.orientation - - dictionary.setObject(width, forKey: "width" as NSCopying) - dictionary.setObject(height, forKey: "height" as NSCopying) - // dictionary.setObject(stride, forKey: "stride" as NSCopying) - // dictionary.setObject(format, forKey: "format" as NSCopying) - // dictionary.setObject(orientation, forKey: "orientation" as NSCopying) - // dictionary.setObject(length, forKey: "length" as NSCopying) - - var rgba: [UInt8] = [UInt8](repeating: 0, count: width * height * 4) - - if format == EnumImagePixelFormat.RGB_888 { - var dataIndex = 0 - for i in 0..= 0 { - let tmp = (b & (1 << byteCount)) >> byteCount - - if (shift < stride * 8 * n - skip) - { - if (tmp == 1) { - grayscale[index] = 255 - } - else { - grayscale[index] = 0 - } - index += 1 - } - - byteCount -= 1 - shift += 1 - } - - if (shift == stride * 8 * n) - { - n += 1 - } - } - - var dataIndex = 0 - for i in 0..= 0 { - let tmp = (b & (1 << byteCount)) >> byteCount - - if (shift < stride * 8 * n - skip) - { - if (tmp == 1) { - grayscale[index] = 255 - } - else { - grayscale[index] = 0 - } - index += 1 - } - - byteCount -= 1 - shift += 1 - } - - if (shift == stride * 8 * n) - { - n += 1 - } - } - - var dataIndex = 0 - for i in 0.. '../LICENSE' } - s.author = { 'yushulx' => 'lingxiao1002@gmail.com' } - s.source = { :path => '.' } - s.source_files = 'Classes/**/*' - s.dependency 'Flutter' - s.platform = :ios, '9.0' - s.dependency 'DynamsoftDocumentNormalizer', '1.0.30' - s.dependency 'DynamsoftCore', '2.0.2' - s.dependency 'DynamsoftImageProcessing', '1.0.30' - s.dependency 'DynamsoftIntermediateResult', '1.0.30' - # Flutter.framework does not contain a i386 slice. - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } - s.swift_version = '5.0' -end diff --git a/lib/document_result.dart b/lib/document_result.dart deleted file mode 100644 index c311fac..0000000 --- a/lib/document_result.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'dart:ui'; - -/// DocumentResult class. -class DocumentResult { - /// Detection confidence. - final int confidence; - - /// Detected points. - final List points; - - /// Points returned by JavaScript. - final dynamic quad; - - DocumentResult(this.confidence, this.points, this.quad); -} diff --git a/lib/flutter_document_scan_sdk.dart b/lib/flutter_document_scan_sdk.dart deleted file mode 100644 index a1c3b71..0000000 --- a/lib/flutter_document_scan_sdk.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/services.dart'; -import 'package:flutter_document_scan_sdk/document_result.dart'; - -import 'flutter_document_scan_sdk_platform_interface.dart'; -import 'normalized_image.dart'; - -class FlutterDocumentScanSdk { - Future getPlatformVersion() { - return FlutterDocumentScanSdkPlatform.instance.getPlatformVersion(); - } - - /// Initialize the SDK - Future init(String key) { - return FlutterDocumentScanSdkPlatform.instance.init(key); - } - - /// Normalize the image - Future normalizeFile(String file, dynamic points) { - return FlutterDocumentScanSdkPlatform.instance.normalizeFile(file, points); - } - - /// Normalize the image - Future normalizeBuffer(Uint8List bytes, int width, - int height, int stride, int format, dynamic points) async { - return FlutterDocumentScanSdkPlatform.instance - .normalizeBuffer(bytes, width, height, stride, format, points); - } - - /// Detects documents in the given image file. - Future?> detectFile(String file) { - return FlutterDocumentScanSdkPlatform.instance.detectFile(file); - } - - /// Detects documents from the given image bytes. - Future?> detectBuffer( - Uint8List bytes, int width, int height, int stride, int format) { - return FlutterDocumentScanSdkPlatform.instance - .detectBuffer(bytes, width, height, stride, format); - } - - /// Save the current image to the given filename. - Future save(String filename) { - return FlutterDocumentScanSdkPlatform.instance.save(filename); - } - - /// Set parameters for the document scanner - Future setParameters(String params) { - return FlutterDocumentScanSdkPlatform.instance.setParameters(params); - } - - /// Get the current parameters as a JSON string - Future getParameters() { - return FlutterDocumentScanSdkPlatform.instance.getParameters(); - } -} diff --git a/lib/flutter_document_scan_sdk_method_channel.dart b/lib/flutter_document_scan_sdk_method_channel.dart deleted file mode 100644 index f5de674..0000000 --- a/lib/flutter_document_scan_sdk_method_channel.dart +++ /dev/null @@ -1,233 +0,0 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; - -import 'document_result.dart'; -import 'flutter_document_scan_sdk_platform_interface.dart'; -import 'normalized_image.dart'; - -/// An implementation of [FlutterDocumentScanSdkPlatform] that uses method channels. -class MethodChannelFlutterDocumentScanSdk - extends FlutterDocumentScanSdkPlatform { - /// The method channel used to interact with the native platform. - @visibleForTesting - final methodChannel = const MethodChannel('flutter_document_scan_sdk'); - - @override - Future getPlatformVersion() async { - final version = - await methodChannel.invokeMethod('getPlatformVersion'); - return version; - } - - /// Initialize the SDK - @override - Future init(String key) async { - return await methodChannel.invokeMethod('init', {'key': key}); - } - - /// Set parameters for the document scanner - @override - Future setParameters(String params) async { - return await methodChannel - .invokeMethod('setParameters', {'params': params}); - } - - /// Get the current parameters as a JSON string - @override - Future getParameters() async { - return await methodChannel.invokeMethod('getParameters'); - } - - /// Document edge detection. - /// [file] - path to the file. - /// Returns a [List] of [DocumentResult]. - @override - Future> detectFile(String file) async { - List? results = await methodChannel.invokeListMethod( - 'detectFile', - {'file': file}, - ); - - return _resultWrapper(results); - } - - /// Document edge detection. - /// [bytes] - bytes of the image. - /// [width] - width of the image. - /// [height] - height of the image. - /// [stride] - stride of the image. - /// [format] - format of the image. - /// Returns a [List] of [DocumentResult]. - @override - Future> detectBuffer( - Uint8List bytes, int width, int height, int stride, int format) async { - List? results = await methodChannel.invokeListMethod( - 'detectBuffer', - { - 'bytes': bytes, - 'width': width, - 'height': height, - 'stride': stride, - 'format': format - }, - ); - - return _resultWrapper(results); - } - - /// Convert List to List>. - List _resultWrapper(List? results) { - List output = []; - - if (results != null) { - for (var result in results) { - int confidence = result['confidence']; - List offsets = []; - int x1 = result['x1']; - int y1 = result['y1']; - int x2 = result['x2']; - int y2 = result['y2']; - int x3 = result['x3']; - int y3 = result['y3']; - int x4 = result['x4']; - int y4 = result['y4']; - offsets.add(Offset(x1.toDouble(), y1.toDouble())); - offsets.add(Offset(x2.toDouble(), y2.toDouble())); - offsets.add(Offset(x3.toDouble(), y3.toDouble())); - offsets.add(Offset(x4.toDouble(), y4.toDouble())); - DocumentResult documentResult = DocumentResult(confidence, offsets, []); - output.add(documentResult); - } - } - - return output; - } - - /// Normalize documents. - /// [file] - path to the file. - /// [points] - points of the document. - @override - Future normalizeFile(String file, dynamic points) async { - Offset offset = points[0]; - int x1 = offset.dx.toInt(); - int y1 = offset.dy.toInt(); - - offset = points[1]; - int x2 = offset.dx.toInt(); - int y2 = offset.dy.toInt(); - - offset = points[2]; - int x3 = offset.dx.toInt(); - int y3 = offset.dy.toInt(); - - offset = points[3]; - int x4 = offset.dx.toInt(); - int y4 = offset.dy.toInt(); - Map? result = await methodChannel.invokeMapMethod( - 'normalizeFile', - { - 'file': file, - 'x1': x1, - 'y1': y1, - 'x2': x2, - 'y2': y2, - 'x3': x3, - 'y3': y3, - 'x4': x4, - 'y4': y4 - }, - ); - - if (result != null) { - var data = result['data']; - - if (data is List) { - return NormalizedImage( - Uint8List.fromList(data.cast()), - result['width'], - result['height'], - ); - } - - return NormalizedImage( - data, - result['width'], - result['height'], - ); - } - - return null; - } - - /// Normalize documents. - /// [bytes] - bytes of the image. - /// [width] - width of the image. - /// [height] - height of the image. - /// [stride] - stride of the image. - /// [format] - format of the image. - /// [points] - points of the document. - @override - Future normalizeBuffer(Uint8List bytes, int width, - int height, int stride, int format, dynamic points) async { - Offset offset = points[0]; - int x1 = offset.dx.toInt(); - int y1 = offset.dy.toInt(); - - offset = points[1]; - int x2 = offset.dx.toInt(); - int y2 = offset.dy.toInt(); - - offset = points[2]; - int x3 = offset.dx.toInt(); - int y3 = offset.dy.toInt(); - - offset = points[3]; - int x4 = offset.dx.toInt(); - int y4 = offset.dy.toInt(); - Map? result = await methodChannel.invokeMapMethod( - 'normalizeBuffer', - { - 'bytes': bytes, - 'width': width, - 'height': height, - 'stride': stride, - 'format': format, - 'x1': x1, - 'y1': y1, - 'x2': x2, - 'y2': y2, - 'x3': x3, - 'y3': y3, - 'x4': x4, - 'y4': y4 - }, - ); - - if (result != null) { - var data = result['data']; - - if (data is List) { - return NormalizedImage( - Uint8List.fromList(data.cast()), - result['width'], - result['height'], - ); - } - - return NormalizedImage( - data, - result['width'], - result['height'], - ); - } - - return null; - } - - /// Save a document. - @override - Future save(String filename) async { - return await methodChannel - .invokeMethod('save', {'filename': filename}); - } -} diff --git a/lib/flutter_document_scan_sdk_platform_interface.dart b/lib/flutter_document_scan_sdk_platform_interface.dart deleted file mode 100644 index 2a0537d..0000000 --- a/lib/flutter_document_scan_sdk_platform_interface.dart +++ /dev/null @@ -1,109 +0,0 @@ -import 'package:flutter/services.dart'; -import 'package:flutter_document_scan_sdk/normalized_image.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import 'document_result.dart'; -import 'flutter_document_scan_sdk_method_channel.dart'; - -/// Image pixel format. -enum ImagePixelFormat { - /// 0:Black, 1:White - IPF_BINARY, - - /// 0:White, 1:Black - IPF_BINARYINVERTED, - - /// 8bit gray - IPF_GRAYSCALED, - - /// NV21 - IPF_NV21, - - /// 16bit with RGB channel order stored in memory from high to low address - IPF_RGB_565, - - /// 16bit with RGB channel order stored in memory from high to low address - IPF_RGB_555, - - /// 24bit with RGB channel order stored in memory from high to low address - IPF_RGB_888, - - /// 32bit with ARGB channel order stored in memory from high to low address - IPF_ARGB_8888, - - /// 48bit with RGB channel order stored in memory from high to low address - IPF_RGB_161616, - - /// 64bit with ARGB channel order stored in memory from high to low address - IPF_ARGB_16161616, - - /// 32bit with ABGR channel order stored in memory from high to low address - IPF_ABGR_8888, - - /// 64bit with ABGR channel order stored in memory from high to low address - IPF_ABGR_16161616, - - /// 24bit with BGR channel order stored in memory from high to low address - IPF_BGR_888 -} - -abstract class FlutterDocumentScanSdkPlatform extends PlatformInterface { - /// Constructs a FlutterDocumentScanSdkPlatform. - FlutterDocumentScanSdkPlatform() : super(token: _token); - - static final Object _token = Object(); - - static FlutterDocumentScanSdkPlatform _instance = - MethodChannelFlutterDocumentScanSdk(); - - /// The default instance of [FlutterDocumentScanSdkPlatform] to use. - /// - /// Defaults to [MethodChannelFlutterDocumentScanSdk]. - static FlutterDocumentScanSdkPlatform get instance => _instance; - - /// Platform-specific implementations should set this with their own - /// platform-specific class that extends [FlutterDocumentScanSdkPlatform] when - /// they register themselves. - static set instance(FlutterDocumentScanSdkPlatform instance) { - PlatformInterface.verifyToken(instance, _token); - _instance = instance; - } - - Future getPlatformVersion() { - throw UnimplementedError('platformVersion() has not been implemented.'); - } - - Future init(String key) { - throw UnimplementedError('init() has not been implemented.'); - } - - Future normalizeFile(String file, dynamic points) { - throw UnimplementedError('normalizeFile() has not been implemented.'); - } - - Future normalizeBuffer(Uint8List bytes, int width, - int height, int stride, int format, dynamic points) { - throw UnimplementedError('normalizeBuffer() has not been implemented.'); - } - - Future?> detectFile(String file) { - throw UnimplementedError('detectFile() has not been implemented.'); - } - - Future save(String filename) { - throw UnimplementedError('save() has not been implemented.'); - } - - Future setParameters(String params) { - throw UnimplementedError('setParameters() has not been implemented.'); - } - - Future getParameters() { - throw UnimplementedError('getParameters() has not been implemented.'); - } - - Future> detectBuffer( - Uint8List bytes, int width, int height, int stride, int format) { - throw UnimplementedError('detectBuffer() has not been implemented.'); - } -} diff --git a/lib/flutter_document_scan_sdk_web.dart b/lib/flutter_document_scan_sdk_web.dart deleted file mode 100644 index 365913b..0000000 --- a/lib/flutter_document_scan_sdk_web.dart +++ /dev/null @@ -1,94 +0,0 @@ -// In order to *not* need this ignore, consider extracting the "web" version -// of your plugin as a separate package, instead of inlining it in the same -// package as the core of your plugin. -// ignore: avoid_web_libraries_in_flutter -import 'dart:html' as html show window; - -import 'package:flutter/services.dart'; -import 'package:flutter_document_scan_sdk/normalized_image.dart'; -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; - -import 'document_result.dart'; -import 'flutter_document_scan_sdk_platform_interface.dart'; -import 'web_ddn_manager.dart'; - -/// A web implementation of the FlutterDocumentScanSdkPlatform of the FlutterDocumentScanSdk plugin. -class FlutterDocumentScanSdkWeb extends FlutterDocumentScanSdkPlatform { - final DDNManager _ddnManager = DDNManager(); - - /// Constructs a FlutterDocumentScanSdkWeb - FlutterDocumentScanSdkWeb(); - - static void registerWith(Registrar registrar) { - FlutterDocumentScanSdkPlatform.instance = FlutterDocumentScanSdkWeb(); - } - - /// Returns a [String] containing the version of the platform. - @override - Future getPlatformVersion() async { - final version = html.window.navigator.userAgent; - return version; - } - - /// Initialize the controller. - @override - Future init(String key) async { - return _ddnManager.init(key); - } - - /// Normalize documents. - /// [file] - path to the file. - @override - Future normalizeFile(String file, dynamic points) async { - return _ddnManager.normalizeFile(file, points); - } - - /// Normalize documents. - /// [bytes] - image bytes. - /// [width] - image width. - /// [height] - image height. - /// [stride] - image stride. - /// [format] - image format. - /// [points] - document points. - @override - Future normalizeBuffer(Uint8List bytes, int width, - int height, int stride, int format, dynamic points) async { - return _ddnManager.normalizeBuffer( - bytes, width, height, stride, format, points); - } - - /// Document edge detection. - /// Returns a [List] of [DocumentResult]. - @override - Future> detectBuffer( - Uint8List bytes, int width, int height, int stride, int format) async { - return _ddnManager.detectBuffer(bytes, width, height, stride, format); - } - - /// Document edge detection. - /// Returns a [List] of [DocumentResult]. - @override - Future?> detectFile(String file) async { - return _ddnManager.detectFile(file); - } - - /// Save a document. - @override - Future save(String filename) async { - return _ddnManager.save(filename); - } - - /// Set parameters. - /// Returns 0 if successful, -1 otherwise. - @override - Future setParameters(String params) async { - return _ddnManager.setParameters(params); - } - - /// Get parameters. - /// @return a [String] containing the parameters. - @override - Future getParameters() async { - return _ddnManager.getParameters(); - } -} diff --git a/lib/normalized_image.dart b/lib/normalized_image.dart deleted file mode 100644 index d30fa4a..0000000 --- a/lib/normalized_image.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'package:flutter/foundation.dart'; - -/// NormalizedImage class. -class NormalizedImage { - /// Image data. - final Uint8List data; - - /// Image width. - final int width; - - /// Image height. - final int height; - - NormalizedImage(this.data, this.width, this.height); -} diff --git a/lib/shims/dart_js_util.dart b/lib/shims/dart_js_util.dart deleted file mode 100644 index 7d766e8..0000000 --- a/lib/shims/dart_js_util.dart +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:js_util' as js_util; - -/// A utility that shims dart:js_util to manipulate JavaScript interop objects. -class JsUtil { - /// Returns true if the object [o] has the property [name]. - bool hasProperty(Object o, Object name) => js_util.hasProperty(o, name); - - /// Returns the value of the property [name] in the object [o]. - dynamic getProperty(Object o, Object name) => - js_util.getProperty(o, name); -} diff --git a/lib/shims/dart_ui.dart b/lib/shims/dart_ui.dart deleted file mode 100644 index 3a32721..0000000 --- a/lib/shims/dart_ui.dart +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(ditman): Remove this file once web-only dart:ui APIs are exposed from -// a dedicated place. https://github.com/flutter/flutter/issues/55000 -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/lib/shims/dart_ui_fake.dart b/lib/shims/dart_ui_fake.dart deleted file mode 100644 index 8757ca2..0000000 --- a/lib/shims/dart_ui_fake.dart +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:html' as html; - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore_for_file: avoid_classes_with_only_static_members -// ignore_for_file: camel_case_types - -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/ui.dart#L62 -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/ui.dart#L72 - static bool registerViewFactory( - String viewTypeId, html.Element Function(int viewId) viewFactory) { - return false; - } -} - -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L12 -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) => ''; -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/lib/shims/dart_ui_real.dart b/lib/shims/dart_ui_real.dart deleted file mode 100644 index 276b768..0000000 --- a/lib/shims/dart_ui_real.dart +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -export 'dart:ui'; diff --git a/lib/template.dart b/lib/template.dart deleted file mode 100644 index ba42a3c..0000000 --- a/lib/template.dart +++ /dev/null @@ -1,68 +0,0 @@ -/// Template class -class Template { - static const String binary = ''' - { - "GlobalParameter":{ - "Name":"GP" - }, - "ImageParameterArray":[ - { - "Name":"IP-1", - "NormalizerParameterName":"NP-1", - "BinarizationModes":[{"Mode":"BM_LOCAL_BLOCK", "ThresholdCompensation":10}], - "ScaleDownThreshold":2300 - } - ], - "NormalizerParameterArray":[ - { - "Name":"NP-1", - "ColourMode": "ICM_BINARY" - } - ] - } - '''; - - static const String color = ''' - { - "GlobalParameter":{ - "Name":"GP" - }, - "ImageParameterArray":[ - { - "Name":"IP-1", - "NormalizerParameterName":"NP-1", - "BinarizationModes":[{"Mode":"BM_LOCAL_BLOCK", "ThresholdCompensation":10}], - "ScaleDownThreshold":2300 - } - ], - "NormalizerParameterArray":[ - { - "Name":"NP-1", - "ColourMode": "ICM_COLOUR" - } - ] - } - '''; - - static const String grayscale = ''' - { - "GlobalParameter":{ - "Name":"GP" - }, - "ImageParameterArray":[ - { - "Name":"IP-1", - "NormalizerParameterName":"NP-1", - "BinarizationModes":[{"Mode":"BM_LOCAL_BLOCK", "ThresholdCompensation":10}], - "ScaleDownThreshold":2300 - } - ], - "NormalizerParameterArray":[ - { - "Name":"NP-1", - "ColourMode": "ICM_GRAYSCALE" - } - ] - } - '''; -} diff --git a/lib/utils.dart b/lib/utils.dart deleted file mode 100644 index 6b7e860..0000000 --- a/lib/utils.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'dart:async'; -import 'dart:js_util'; -import 'package:js/js.dart'; - -typedef Func1 = R Function(A a); - -@JS('JSON.stringify') -external String stringify(Object obj); - -@JS('JSON.parse') -external dynamic parse(String str); - -@JS('typeof') -external String typeOf(Object obj); - -@JS('console.log') -external void log(Object obj); - -@JS('alert') -external void alert(Object obj); - -@JS('Promise') -class PromiseJsImpl extends ThenableJsImpl { - external PromiseJsImpl(Function resolver); - external static PromiseJsImpl all(List values); - external static PromiseJsImpl reject(error); - external static PromiseJsImpl resolve(value); -} - -@anonymous -@JS() -abstract class ThenableJsImpl { - external ThenableJsImpl then([Func1 onResolve, Func1 onReject]); -} - -Future handleThenable(ThenableJsImpl thenable) => - promiseToFuture(thenable); diff --git a/lib/web_ddn_manager.dart b/lib/web_ddn_manager.dart deleted file mode 100644 index 57be240..0000000 --- a/lib/web_ddn_manager.dart +++ /dev/null @@ -1,252 +0,0 @@ -@JS('Dynamsoft') -library dynamsoft; - -import 'dart:convert'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk_platform_interface.dart'; -import 'package:flutter_document_scan_sdk/normalized_image.dart'; -import 'package:flutter_document_scan_sdk/shims/dart_ui_real.dart'; -import 'package:js/js.dart'; -import 'document_result.dart'; -import 'utils.dart'; - -/// DocumentNormalizer class. -@JS('DDN.DocumentNormalizer') -class DocumentNormalizer { - external static set license(String license); - external static set engineResourcePath(String resourcePath); - external PromiseJsImpl> detectQuad(dynamic file, bool copy); - external PromiseJsImpl getRuntimeSettings(); - external static PromiseJsImpl createInstance(); - external PromiseJsImpl setRuntimeSettings(dynamic settings); - external PromiseJsImpl normalize( - dynamic file, dynamic params); -} - -/// Image class -@JS('Image') -class Image { - external dynamic get data; - external int get width; - external int get height; - external String get pixelFormat; -} - -/// NormalizedDocument class -@JS('NormalizedDocument') -class NormalizedDocument { - external PromiseJsImpl saveToFile(String filename, bool download); - external dynamic get image; -} - -/// DDNManager class. -class DDNManager { - DocumentNormalizer? _normalizer; - NormalizedDocument? _normalizedDocument; - - /// Configure Dynamsoft Document Normalizer. - /// Returns 0 if successful. - Future init(String key) async { - // DocumentNormalizer.engineResourcePath = path; - DocumentNormalizer.license = key; - - _normalizer = await handleThenable(DocumentNormalizer.createInstance()); - - return 0; - } - - /// Normalize the document. - /// [params] are the parameters for the normalization. - /// Returns 0 if successful. - Future setParameters(String params) async { - if (_normalizer != null) { - await handleThenable(_normalizer!.setRuntimeSettings(params)); - return 0; - } - - return -1; - } - - /// Returns the runtime settings. - Future getParameters() async { - if (_normalizer != null) { - dynamic settings = - await handleThenable(_normalizer!.getRuntimeSettings()); - return stringify(settings); - } - - return ''; - } - - /// Normalize documents. - /// [file] - path to the file. - /// [points] - points of the document. - /// Returns a [NormalizedImage]. - Future normalizeFile(String file, dynamic points) async { - List jsOffsets = points.map((Offset offset) { - return {'x': offset.dx, 'y': offset.dy}; - }).toList(); - - dynamic jsonObj = jsonEncode({ - "quad": {"points": jsOffsets} - }); - - NormalizedImage? image; - if (_normalizer != null) { - _normalizedDocument = - await handleThenable(_normalizer!.normalize(file, parse(jsonObj))); - - if (_normalizedDocument != null) { - Image result = _normalizedDocument!.image; - dynamic data = result.data; - Uint8List bytes = Uint8List.fromList(data); - image = NormalizedImage(bytes, result.width, result.height); - } - } - - return image; - } - - /// Normalize documents. - /// [bytes] - bytes of the image. - /// [width] - width of the image. - /// [height] - height of the image. - /// [stride] - stride of the image. - /// [format] - format of the image. - /// [points] - points of the document. - /// Returns a [NormalizedImage]. - Future normalizeBuffer(Uint8List bytes, int width, - int height, int stride, int format, dynamic points) async { - List jsOffsets = points.map((Offset offset) { - return {'x': offset.dx, 'y': offset.dy}; - }).toList(); - - dynamic jsonObj = jsonEncode({ - "quad": {"points": jsOffsets} - }); - - String pixelFormat = 'rgba'; - if (format == ImagePixelFormat.IPF_GRAYSCALED.index) { - pixelFormat = 'grey'; - } else if (format == ImagePixelFormat.IPF_RGB_888.index) { - pixelFormat = 'rgb'; - } else if (format == ImagePixelFormat.IPF_BGR_888.index) { - pixelFormat = 'bgr'; - } else if (format == ImagePixelFormat.IPF_ARGB_8888.index) { - pixelFormat = 'rgba'; - } else if (format == ImagePixelFormat.IPF_ABGR_8888.index) { - pixelFormat = 'bgra'; - } - - NormalizedImage? image; - if (_normalizer != null) { - _normalizedDocument = await handleThenable(_normalizer!.normalize( - parse(jsonEncode({ - 'data': bytes, - 'width': width, - 'height': height, - 'pixelFormat': pixelFormat, - })), - parse(jsonObj))); - - if (_normalizedDocument != null) { - Image result = _normalizedDocument!.image; - dynamic data = result.data; - Uint8List bytes = Uint8List.fromList(data); - image = NormalizedImage(bytes, result.width, result.height); - return image; - } - } - - return image; - } - - /// Document edge detection - /// [file] - path to the file. - /// Returns a [List] of [DocumentResult]. - Future> detectFile(String file) async { - if (_normalizer != null) { - List results = - await handleThenable(_normalizer!.detectQuad(file, true)); - return _resultWrapper(results); - } - - return []; - } - - /// Document edge detection - /// [bytes] - bytes of the image. - /// [width] - width of the image. - /// [height] - height of the image. - /// [stride] - stride of the image. - /// [format] - format of the image. - /// Returns a [List] of [DocumentResult]. - Future> detectBuffer( - Uint8List bytes, int width, int height, int stride, int format) async { - if (_normalizer != null) { - String pixelFormat = 'rgba'; - if (format == ImagePixelFormat.IPF_GRAYSCALED.index) { - pixelFormat = 'grey'; - } else if (format == ImagePixelFormat.IPF_RGB_888.index) { - pixelFormat = 'rgb'; - } else if (format == ImagePixelFormat.IPF_BGR_888.index) { - pixelFormat = 'bgr'; - } else if (format == ImagePixelFormat.IPF_ARGB_8888.index) { - pixelFormat = 'rgba'; - } else if (format == ImagePixelFormat.IPF_ABGR_8888.index) { - pixelFormat = 'bgra'; - } - // log(parse(jsonEncode({ - // 'data': bytes, - // 'width': width, - // 'height': height, - // 'pixelFormat': pixelFormat, - // }))); - - List results = await handleThenable(_normalizer!.detectQuad( - parse(jsonEncode({ - 'data': bytes, - 'width': width, - 'height': height, - 'pixelFormat': pixelFormat, - })), - true)); - return _resultWrapper(results); - } - - return []; - } - - /// Download images. - /// [filename] - name of the file. - /// Returns 0 if successful. - Future save(String filename) async { - if (_normalizedDocument != null) { - await handleThenable(_normalizedDocument!.saveToFile(filename, true)); - } - return 0; - } - - /// Convert List to List>. - List _resultWrapper(List results) { - List output = []; - - for (dynamic result in results) { - Map value = json.decode(stringify(result)); - int confidence = value['confidenceAsDocumentBoundary']; - List points = value['location']['points']; - List offsets = []; - for (dynamic point in points) { - double x = point['x']; - double y = point['y']; - offsets.add(Offset(x, y)); - } - DocumentResult documentResult = - DocumentResult(confidence, offsets, value['location']); - output.add(documentResult); - } - - return output; - } -} diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt deleted file mode 100644 index a7d55e1..0000000 --- a/linux/CMakeLists.txt +++ /dev/null @@ -1,51 +0,0 @@ -# The Flutter tooling requires that developers have CMake 3.10 or later -# installed. You should not increase this version, as doing so will cause -# the plugin to fail to compile for some customers of the plugin. -cmake_minimum_required(VERSION 3.10) - -# Project-level configuration. -set(PROJECT_NAME "flutter_document_scan_sdk") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed. -set(PLUGIN_NAME "flutter_document_scan_sdk_plugin") - -link_directories("${PROJECT_SOURCE_DIR}/lib/") - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -# -# Any new source files that you add to the plugin should be added here. -add_library(${PLUGIN_NAME} SHARED - "flutter_document_scan_sdk_plugin.cc" -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter "DynamsoftCore" "DynamsoftDocumentNormalizer") -target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK) - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(flutter_document_scan_sdk_bundled_libraries - - PARENT_SCOPE - - # "${PROJECT_SOURCE_DIR}/lib/" -) diff --git a/linux/flutter_document_scan_sdk_plugin.cc b/linux/flutter_document_scan_sdk_plugin.cc deleted file mode 100644 index f787182..0000000 --- a/linux/flutter_document_scan_sdk_plugin.cc +++ /dev/null @@ -1,374 +0,0 @@ -#include "include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin.h" - -#include -#include -#include - -#include - -#include "include/document_manager.h" - -#define FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), flutter_document_scan_sdk_plugin_get_type(), \ - FlutterDocumentScanSdkPlugin)) - -struct _FlutterDocumentScanSdkPlugin -{ - GObject parent_instance; - DocumentManager *manager; -}; - -G_DEFINE_TYPE(FlutterDocumentScanSdkPlugin, flutter_document_scan_sdk_plugin, g_object_get_type()) - -// Called when a method call is received from Flutter. -static void flutter_document_scan_sdk_plugin_handle_method_call( - FlutterDocumentScanSdkPlugin *self, - FlMethodCall *method_call) -{ - g_autoptr(FlMethodResponse) response = nullptr; - - const gchar *method = fl_method_call_get_name(method_call); - FlValue* args = fl_method_call_get_args(method_call); - - if (strcmp(method, "getPlatformVersion") == 0) - { - struct utsname uname_data = {}; - uname(&uname_data); - g_autofree gchar *version = g_strdup_printf("Linux %s", uname_data.version); - g_autoptr(FlValue) result = fl_value_new_string(version); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "init") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue *value = fl_value_lookup_string(args, "key"); - if (value == nullptr) - { - return; - } - const char *license = fl_value_get_string(value); - - int ret = DocumentManager::SetLicense(license); - g_autoptr(FlValue) result = fl_value_new_int(ret); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "setParameters") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue *value = fl_value_lookup_string(args, "params"); - if (value == nullptr) - { - return; - } - const char *params = fl_value_get_string(value); - - int ret = self->manager->SetParameters(params); - g_autoptr(FlValue) result = fl_value_new_int(ret); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "getParameters") == 0) - { - g_autoptr(FlValue) result = self->manager->GetParameters(); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "save") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue *value = fl_value_lookup_string(args, "filename"); - if (value == nullptr) - { - return; - } - const char *filename = fl_value_get_string(value); - int ret = self->manager->Save(filename); - - g_autoptr(FlValue) result = fl_value_new_int(ret); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "detectFile") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue *value = fl_value_lookup_string(args, "file"); - if (value == nullptr) - { - return; - } - const char *filename = fl_value_get_string(value); - - g_autoptr(FlValue) result = self->manager->DetectFile(filename); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "detectBuffer") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue* value = fl_value_lookup_string(args, "bytes"); - if (value == nullptr) { - return; - } - unsigned char* bytes = (unsigned char*)fl_value_get_uint8_list(value); - - value = fl_value_lookup_string(args, "width"); - if (value == nullptr) { - return; - } - int width = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "height"); - if (value == nullptr) { - return; - } - int height = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "stride"); - if (value == nullptr) { - return; - } - int stride = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "format"); - if (value == nullptr) { - return; - } - int format = fl_value_get_int(value); - - g_autoptr(FlValue) result = self->manager->DetectBuffer(bytes, width, height, stride, format); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "normalizeBuffer") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue* value = fl_value_lookup_string(args, "bytes"); - if (value == nullptr) { - return; - } - unsigned char* bytes = (unsigned char*)fl_value_get_uint8_list(value); - - value = fl_value_lookup_string(args, "width"); - if (value == nullptr) { - return; - } - int width = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "height"); - if (value == nullptr) { - return; - } - int height = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "stride"); - if (value == nullptr) { - return; - } - int stride = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "format"); - if (value == nullptr) { - return; - } - int format = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "x1"); - if (value == nullptr) - { - return; - } - int x1 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "y1"); - if (value == nullptr) - { - return; - } - int y1 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "x2"); - if (value == nullptr) - { - return; - } - int x2 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "y2"); - if (value == nullptr) - { - return; - } - int y2 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "x3"); - if (value == nullptr) - { - return; - } - int x3 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "y3"); - if (value == nullptr) - { - return; - } - int y3 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "x4"); - if (value == nullptr) - { - return; - } - int x4 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "y4"); - if (value == nullptr) - { - return; - } - int y4 = fl_value_get_int(value); - - g_autoptr(FlValue) result = self->manager->NormalizeBuffer(bytes, width, height, stride, format, x1, y1, x2, y2, x3, y3, x4, y4); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "normalizeFile") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue *value = fl_value_lookup_string(args, "file"); - if (value == nullptr) - { - return; - } - const char *filename = fl_value_get_string(value); - - value = fl_value_lookup_string(args, "x1"); - if (value == nullptr) - { - return; - } - int x1 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "y1"); - if (value == nullptr) - { - return; - } - int y1 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "x2"); - if (value == nullptr) - { - return; - } - int x2 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "y2"); - if (value == nullptr) - { - return; - } - int y2 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "x3"); - if (value == nullptr) - { - return; - } - int x3 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "y3"); - if (value == nullptr) - { - return; - } - int y3 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "x4"); - if (value == nullptr) - { - return; - } - int x4 = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "y4"); - if (value == nullptr) - { - return; - } - int y4 = fl_value_get_int(value); - - g_autoptr(FlValue) result = self->manager->NormalizeFile(filename, x1, y1, x2, y2, x3, y3, x4, y4); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else - { - response = FL_METHOD_RESPONSE(fl_method_not_implemented_response_new()); - } - - fl_method_call_respond(method_call, response, nullptr); -} - -static void flutter_document_scan_sdk_plugin_dispose(GObject *object) -{ - FlutterDocumentScanSdkPlugin *self = FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN(object); - delete self->manager; - G_OBJECT_CLASS(flutter_document_scan_sdk_plugin_parent_class)->dispose(object); -} - -static void flutter_document_scan_sdk_plugin_class_init(FlutterDocumentScanSdkPluginClass *klass) -{ - G_OBJECT_CLASS(klass)->dispose = flutter_document_scan_sdk_plugin_dispose; -} - -static void flutter_document_scan_sdk_plugin_init(FlutterDocumentScanSdkPlugin *self) -{ - self->manager = new DocumentManager(); - self->manager->Init(); -} - -static void method_call_cb(FlMethodChannel *channel, FlMethodCall *method_call, - gpointer user_data) -{ - FlutterDocumentScanSdkPlugin *plugin = FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN(user_data); - flutter_document_scan_sdk_plugin_handle_method_call(plugin, method_call); -} - -void flutter_document_scan_sdk_plugin_register_with_registrar(FlPluginRegistrar *registrar) -{ - FlutterDocumentScanSdkPlugin *plugin = FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN( - g_object_new(flutter_document_scan_sdk_plugin_get_type(), nullptr)); - - g_autoptr(FlStandardMethodCodec) codec = fl_standard_method_codec_new(); - g_autoptr(FlMethodChannel) channel = - fl_method_channel_new(fl_plugin_registrar_get_messenger(registrar), - "flutter_document_scan_sdk", - FL_METHOD_CODEC(codec)); - fl_method_channel_set_method_call_handler(channel, method_call_cb, - g_object_ref(plugin), - g_object_unref); - - g_object_unref(plugin); -} diff --git a/linux/include/DynamsoftCore.h b/linux/include/DynamsoftCore.h deleted file mode 100644 index 0a67aec..0000000 --- a/linux/include/DynamsoftCore.h +++ /dev/null @@ -1,748 +0,0 @@ -#ifndef __DYNAMSOFT_CORE_H__ -#define __DYNAMSOFT_CORE_H__ - -#define DYNAMSOFT_CORE_VERSION "2.0.1.0929" - -/**Successful. */ -#define DM_OK 0 - -/**Unknown error. */ -#define DMERR_UNKNOWN -10000 - -/**Not enough memory to perform the operation. */ -#define DMERR_NO_MEMORY -10001 - -/**Null pointer */ -#define DMERR_NULL_POINTER -10002 - -/**License invalid*/ -#define DMERR_LICENSE_INVALID -10003 - -/**License expired*/ -#define DMERR_LICENSE_EXPIRED -10004 - -/**File not found*/ -#define DMERR_FILE_NOT_FOUND -10005 - -/**The file type is not supported. */ -#define DMERR_FILETYPE_NOT_SUPPORTED -10006 - -/**The BPP (Bits Per Pixel) is not supported. */ -#define DMERR_BPP_NOT_SUPPORTED -10007 - -/**Failed to read the image. */ -#define DMERR_IMAGE_READ_FAILED -10012 - -/**Failed to read the TIFF image. */ -#define DMERR_TIFF_READ_FAILED -10013 - -/**The DIB (Device-Independent Bitmaps) buffer is invalid. */ -#define DMERR_DIB_BUFFER_INVALID -10018 - -/**Failed to read the PDF image. */ -#define DMERR_PDF_READ_FAILED -10021 - -/**The PDF DLL is missing. */ -#define DMERR_PDF_DLL_MISSING -10022 - -/** timeout. */ -#define DMERR_TIMEOUT -10026 -/**Recognition timeout. */ -#define DMERR_RECOGNITION_TIMEOUT -10026 - -/**Json parse failed*/ -#define DMERR_JSON_PARSE_FAILED -10030 - -/**Json type invalid*/ -#define DMERR_JSON_TYPE_INVALID -10031 - -/**Json key invalid*/ -#define DMERR_JSON_KEY_INVALID -10032 - -/**Json value invalid*/ -#define DMERR_JSON_VALUE_INVALID -10033 - -/**Json name key missing*/ -#define DMERR_JSON_NAME_KEY_MISSING -10034 - -/**The value of the key "Name" is duplicated.*/ -#define DMERR_JSON_NAME_VALUE_DUPLICATED -10035 - -/**Template name invalid*/ -#define DMERR_TEMPLATE_NAME_INVALID -10036 - -/**Parameter value invalid*/ -#define DMERR_PARAMETER_VALUE_INVALID -10038 - -/**Failed to set mode's argument.*/ -#define DMERR_SET_MODE_ARGUMENT_ERROR -10051 - -/**Failed to get mode's argument.*/ -#define DMERR_GET_MODE_ARGUMENT_ERROR -10055 - -/**No content has been detected.*/ -#define DDNERR_CONTENT_NOT_FOUND -50001 - -/*The quardrilateral is invalid*/ -#define DMERR_QUADRILATERAL_INVALID -10057 - -/**Failed to save file.*/ -#define DMERR_FILE_SAVE_FAILED -10058 - -/**The stage type is invalid.*/ -#define DMERR_STAGE_TYPE_INVALID -10059 - -/**The image orientation is invalid.*/ -#define DMERR_IMAGE_ORIENTATION_INVALID -10060 - -#ifndef _COMMON_PART1_ -#define _COMMON_PART1_ - -/**No license.*/ -#define DMERR_NO_LICENSE -20000 - -/**The Handshake Code is invalid.*/ -#define DMERR_HANDSHAKE_CODE_INVALID -20001 - -/**Failed to read or write license buffer. */ -#define DMERR_LICENSE_BUFFER_FAILED -20002 - -/**Failed to synchronize license info with license server. */ -#define DMERR_LICENSE_SYNC_FAILED -20003 - -/**Device dose not match with buffer. */ -#define DMERR_DEVICE_NOT_MATCH -20004 - -/**Failed to bind device. */ -#define DMERR_BIND_DEVICE_FAILED -20005 - -/**Interface InitLicenseFromDLS can not be used together with other license initiation interfaces. */ -#define DMERR_LICENSE_INTERFACE_CONFLICT -20006 - -/**License Client dll is missing.*/ -#define DMERR_LICENSE_CLIENT_DLL_MISSING -20007 - -/**Instance count is over limit.*/ -#define DMERR_INSTANCE_COUNT_OVER_LIMIT -20008 - -/**Interface InitLicenseFromDLS has to be called before creating any SDK objects.*/ -#define DMERR_LICENSE_INIT_SEQUENCE_FAILED -20009 - -/**Trial License*/ -#define DMERR_TRIAL_LICENSE -20010 - -/**Failed to reach License Server.*/ -#define DMERR_FAILED_TO_REACH_DLS -20200 - - -#endif - -#ifndef _COMMON_PART2_ -#define _COMMON_PART2_ -/** -* @enum ImagePixelFormat -* -* Describes the image pixel format. -* -*/ -typedef enum ImagePixelFormat -{ - /**0:Black, 1:White */ - IPF_BINARY, - - /**0:White, 1:Black */ - IPF_BINARYINVERTED, - - /**8bit gray */ - IPF_GRAYSCALED, - - /**NV21 */ - IPF_NV21, - - /**16bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_565, - - /**16bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_555, - - /**24bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_888, - - /**32bit with ARGB channel order stored in memory from high to low address*/ - IPF_ARGB_8888, - - /**48bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_161616, - - /**64bit with ARGB channel order stored in memory from high to low address*/ - IPF_ARGB_16161616, - - /**32bit with ABGR channel order stored in memory from high to low address*/ - IPF_ABGR_8888, - - /**64bit with ABGR channel order stored in memory from high to low address*/ - IPF_ABGR_16161616, - - /**24bit with BGR channel order stored in memory from high to low address*/ - IPF_BGR_888 - -}ImagePixelFormat; - -/** -* @enum GrayscaleTransformationMode -* -* Describes the grayscale transformation mode. -*/ -typedef enum GrayscaleTransformationMode -{ - /**Transforms to inverted grayscale. Recommended for light on dark images. */ - GTM_INVERTED = 0x01, - - /**Keeps the original grayscale. Recommended for dark on light images. */ - GTM_ORIGINAL = 0x02, - - /**Lets the library choose an algorithm automatically for grayscale transformation.*/ - GTM_AUTO = 0x04, - - /**Reserved setting for grayscale transformation mode.*/ -#if defined(_WIN32) || defined(_WIN64) - GTM_REV = 0x80000000, -#else - GTM_REV = -2147483648, -#endif - - /**Skips grayscale transformation. */ - GTM_SKIP = 0x00 - -}GrayscaleTransformationMode; - -/** -* @enum RegionPredetectionMode -* -* Describes the region predetection mode. -* -*/ -typedef enum RegionPredetectionMode -{ - /**Auto*/ - RPM_AUTO = 0x01, - - /**Takes the whole image as a region*/ - RPM_GENERAL = 0x02, - - /**Detects region using the general algorithm based on RGB colour contrast*/ - RPM_GENERAL_RGB_CONTRAST = 0x04, - - /**Detects region using the general algorithm based on gray contrast*/ - RPM_GENERAL_GRAY_CONTRAST = 0x08, - - /**Detects region using the general algorithm based on HSV colour contrast*/ - RPM_GENERAL_HSV_CONTRAST = 0x10, - - RPM_MANUAL_SPECIFICATION = 0x20, - /**Reserved setting for region predection mode.*/ -#if defined(_WIN32) || defined(_WIN64) - RPM_REV = 0x80000000, -#else - RPM_REV = -2147483648, -#endif - - /**Skip*/ - RPM_SKIP = 0 -}RegionPredetectionMode; - -/** -* @enum BinarizationMode -* -* Describes the binarization mode. -* -*/ -typedef enum BinarizationMode -{ - /**Not supported yet. */ - BM_AUTO = 0x01, - - /**Binarizes the image based on the local block. Check @ref BM for available argument settings.*/ - BM_LOCAL_BLOCK = 0x02, - - /**Performs image binarization based on the given threshold. Check @ref BM for available argument settings.*/ - BM_THRESHOLD = 0x04, - - /**Reserved setting for binarization mode.*/ -#if defined(_WIN32) || defined(_WIN64) - BM_REV = 0x80000000, -#else - BM_REV = -2147483648, -#endif - - /**Skips the binarization. */ - BM_SKIP = 0x00 -}BinarizationMode; - - -/** -* @enum ScaleUpMode -* -* Describes scale up mode. -* -*/ -typedef enum ScaleUpMode -{ - /**Skip the scale-up process.*/ - SUM_SKIP = 0x00, - - /**The library chooses an interpolation method automatically to scale up.*/ - SUM_AUTO = 0x01, - - /**Scales up using the linear interpolation method.*/ - SUM_LINEAR_INTERPOLATION = 0x02, - - /**Scales up using the nearest-neighbour interpolation method.*/ - SUM_NEAREST_NEIGHBOUR_INTERPOLATION = 0x04, - - /**Reserved setting for scale up mode.*/ -#if defined(_WIN32) || defined(_WIN64) - SUM_REV = 0x80000000 -#else - SUM_REV = -2147483648 -#endif -}ScaleUpMode; - -/** -* @enum ColourConversionMode -* -* Describes colour conversion mode. -* -*/ -typedef enum ColourConversionMode -{ - /**Skips the colour conversion.*/ - CICM_SKIP = 0x00, - - /**Converts a colour image to a grayscale image using the general RGB converting algorithm.*/ - CICM_GENERAL = 0x01, - - /**Converts a colour image to a grayscale image using one of the HSV channels.*/ - CICM_HSV = 0x02, - -#if defined(_WIN32) || defined(_WIN64) - CICM_REV = 0x80000000 -#else - CICM_REV = -2147483648 -#endif - -}ColourConversionMode; - -/** -* @enum TextureDetectionMode -* -* Describes the texture detection mode. -*/ -typedef enum TextureDetectionMode -{ - /**Not supported yet. */ - TDM_AUTO = 0x01, - - /**Detects texture using the general algorithm. Check @ref TDM for available argument settings.*/ - TDM_GENERAL_WIDTH_CONCENTRATION = 0x02, - - /**Reserved setting for texture detection mode.*/ -#if defined(_WIN32) || defined(_WIN64) - TDM_REV = 0x80000000, -#else - TDM_REV = -2147483648, -#endif - - /**Skips texture detection. */ - TDM_SKIP = 0x00 - -}TextureDetectionMode; - - -/** -* @enum PDFReadingMode -* -* Describes the PDF reading mode. -*/ -typedef enum PDFReadingMode -{ - /** Lets the library choose the reading mode automatically. */ - PDFRM_AUTO = 0x01, - - /** Detects barcode from vector data in PDF file.*/ - PDFRM_VECTOR = 0x02, - - /** Converts the PDF file to image(s) first, then perform barcode recognition.*/ - PDFRM_RASTER = 0x04, - - /**Reserved setting for PDF reading mode.*/ -#if defined(_WIN32) || defined(_WIN64) - PDFRM_REV = 0x80000000, -#else - PDFRM_REV = -2147483648, -#endif -}PDFReadingMode; - -/** -* @enum BarcodeFormat -* -* Describes the barcode types in BarcodeFormat group 1. All the formats can be combined, such as BF_CODE_39 | BF_CODE_128. -* Note: The barcode format our library will search for is composed of [BarcodeFormat group 1](@ref BarcodeFormat) and [BarcodeFormat group 2](@ref BarcodeFormat_2), so you need to specify the barcode format in group 1 and group 2 individually. -*/ -typedef enum BarcodeFormat -{ - /**All supported formats in BarcodeFormat group 1*/ -#if defined(_WIN32) || defined(_WIN64) - BF_ALL = 0xFE3FFFFF, -#else - BF_ALL = -29360129, -#endif - - /**Combined value of BF_CODABAR, BF_CODE_128, BF_CODE_39, BF_CODE_39_Extended, BF_CODE_93, BF_EAN_13, BF_EAN_8, INDUSTRIAL_25, BF_ITF, BF_UPC_A, BF_UPC_E, BF_MSI_CODE ,BF_ONED; */ - BF_ONED = 0x003007FF, - - /**Combined value of BF_GS1_DATABAR_OMNIDIRECTIONAL, BF_GS1_DATABAR_TRUNCATED, BF_GS1_DATABAR_STACKED, BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL, BF_GS1_DATABAR_EXPANDED, BF_GS1_DATABAR_EXPANDED_STACKED, BF_GS1_DATABAR_LIMITED*/ - BF_GS1_DATABAR = 0x0003F800, - - /**Code 39 */ - BF_CODE_39 = 0x1, - - /**Code 128 */ - BF_CODE_128 = 0x2, - - /**Code 93 */ - BF_CODE_93 = 0x4, - - /**Codabar */ - BF_CODABAR = 0x8, - - /**Interleaved 2 of 5 */ - BF_ITF = 0x10, - - /**EAN-13 */ - BF_EAN_13 = 0x20, - - /**EAN-8 */ - BF_EAN_8 = 0x40, - - /**UPC-A */ - BF_UPC_A = 0x80, - - /**UPC-E */ - BF_UPC_E = 0x100, - - /**Industrial 2 of 5 */ - BF_INDUSTRIAL_25 = 0x200, - - /**CODE39 Extended */ - BF_CODE_39_EXTENDED = 0x400, - - /**GS1 Databar Omnidirectional*/ - BF_GS1_DATABAR_OMNIDIRECTIONAL = 0x800, - - /**GS1 Databar Truncated*/ - BF_GS1_DATABAR_TRUNCATED = 0x1000, - - /**GS1 Databar Stacked*/ - BF_GS1_DATABAR_STACKED = 0x2000, - - /**GS1 Databar Stacked Omnidirectional*/ - BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL = 0x4000, - - /**GS1 Databar Expanded*/ - BF_GS1_DATABAR_EXPANDED = 0x8000, - - /**GS1 Databar Expaned Stacked*/ - BF_GS1_DATABAR_EXPANDED_STACKED = 0x10000, - - /**GS1 Databar Limited*/ - BF_GS1_DATABAR_LIMITED = 0x20000, - - /**Patch code. */ - BF_PATCHCODE = 0x00040000, - - /**PDF417 */ - BF_PDF417 = 0x02000000, - - /**QRCode */ - BF_QR_CODE = 0x04000000, - - /**DataMatrix */ - BF_DATAMATRIX = 0x08000000, - - /**AZTEC */ - BF_AZTEC = 0x10000000, - - /**MAXICODE */ - BF_MAXICODE = 0x20000000, - - /**Micro QR Code*/ - BF_MICRO_QR = 0x40000000, - - /**Micro PDF417*/ - BF_MICRO_PDF417 = 0x00080000, - - /**GS1 Composite Code*/ -#if defined(_WIN32) || defined(_WIN64) - BF_GS1_COMPOSITE = 0x80000000, -#else - BF_GS1_COMPOSITE = -2147483648, -#endif - - /**MSI Code*/ - BF_MSI_CODE = 0x100000, - - /*Code 11*/ - BF_CODE_11 = 0x200000, - - - /**No barcode format in BarcodeFormat group 1*/ - BF_NULL = 0x00 - -}BarcodeFormat; - - -/** -* @enum BarcodeFormat_2 -* -* Describes the barcode types in BarcodeFormat group 2. -* Note: The barcode format our library will search for is composed of [BarcodeFormat group 1](@ref BarcodeFormat) and [BarcodeFormat group 2](@ref BarcodeFormat_2), so you need to specify the barcode format in group 1 and group 2 individually. -*/ -typedef enum BarcodeFormat_2 -{ - /**No barcode format in BarcodeFormat group 2*/ - BF2_NULL = 0x00, - - /**Combined value of BF2_USPSINTELLIGENTMAIL, BF2_POSTNET, BF2_PLANET, BF2_AUSTRALIANPOST, BF2_RM4SCC.*/ - BF2_POSTALCODE = 0x01F00000, - - /**Nonstandard barcode */ - BF2_NONSTANDARD_BARCODE = 0x01, - - /**USPS Intelligent Mail.*/ - BF2_USPSINTELLIGENTMAIL = 0x00100000, - - /**Postnet.*/ - BF2_POSTNET = 0x00200000, - - /**Planet.*/ - BF2_PLANET = 0x00400000, - - /**Australian Post.*/ - BF2_AUSTRALIANPOST = 0x00800000, - - /**Royal Mail 4-State Customer Barcode.*/ - BF2_RM4SCC = 0x01000000, - - /**DotCode.*/ - BF2_DOTCODE = 0x02, - - /**_PHARMACODE_ONE_TRACK.*/ - BF2_PHARMACODE_ONE_TRACK = 0x04, - - /**PHARMACODE_TWO_TRACK.*/ - BF2_PHARMACODE_TWO_TRACK = 0x08, - - /**PHARMACODE.*/ - BF2_PHARMACODE = 0x0C -}BarcodeFormat_2; - - - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagDMPoint -{ - int coordinate[2]; -}DM_Point; - -typedef struct tagQuadrilateral -{ - /**The four points of the quadrilateral.*/ - DM_Point points[4]; - -}Quadrilateral,*PQuadrilateral; - -/** -* @struct ImageData -* -* Stores the image data. -* -*/ -typedef struct tagImageData -{ - /**The length of the image data byte.*/ - int bytesLength; - - /**The image data content in a byte array.*/ - unsigned char* bytes; - - /**The width of the image in pixels.*/ - int width; - - /**The height of the image in pixels.*/ - int height; - - /**The stride(or scan width) of the image.*/ - int stride; - - /**The image pixel format used in the image byte array.*/ - ImagePixelFormat format; - - /**The image orientation.*/ - int orientation; -}ImageData; - - -#pragma pack(pop) - -#endif - -/** -* @enum GrayscaleEnhancementMode -* -* Describes the grayscaleEnhancementMode. -* -*/ -typedef enum GrayscaleEnhancementMode -{ - /**Not supported yet. */ - GEM_AUTO = 0x01, - - /**Takes the unpreprocessed image for following operations. */ - GEM_GENERAL = 0x02, - - /**Preprocesses the image using the gray equalization algorithm. Check @ref IPM for available argument settings.*/ - GEM_GRAY_EQUALIZE = 0x04, - - /**Preprocesses the image using the gray smoothing algorithm. Check @ref IPM for available argument settings.*/ - GEM_GRAY_SMOOTH = 0x08, - - /**Preprocesses the image using the sharpening and smoothing algorithm. Check @ref IPM for available argument settings.*/ - GEM_SHARPEN_SMOOTH = 0x10, - - /**Reserved setting for image preprocessing mode.*/ -#if defined(_WIN32) || defined(_WIN64) - GEM_REV = 0x80000000, -#else - GEM_REV = -2147483648, -#endif - - /**Skips image preprocessing. */ - GEM_SKIP = 0x00 -}GrayscaleEnhancementMode; - - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagBarcodeResult -{ - BarcodeFormat barcodeFormat; - BarcodeFormat_2 barcodeFormat_2; - const char* text; - unsigned char* bytes; - int bytesLength; - Quadrilateral location; - int moduleSize; - int pageNumber; - char reserved[64]; -}BarcodeResult; - -typedef struct tagBarcodeResultArray -{ - int resultsCount; - BarcodeResult** results; -}BarcodeResultArray; -#pragma pack(pop) - -#if !defined(_WIN32) && !defined(_WIN64) -#define DM_API __attribute__((visibility("default"))) -#include -#else -#ifdef DM_EXPORTS -#define DM_API __declspec(dllexport) -#else -#define DM_API -#endif -#include -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - DM_API const char* DC_GetErrorString(int errorCode); - DM_API int DC_InitLicense(const char* pLicense, char errorMsgBuffer[], const int errorMsgBufferLen); - DM_API int DC_IsPointInQuadrilateral(const DM_Point* point, const Quadrilateral* quad); - DM_API int DC_GetQuadrilateralArea(const Quadrilateral* quad); - DM_API int DC_GetIdleInstanceCount(); -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus -namespace dynamsoft -{ - namespace core - { - class DM_API CLicenseManager - { - public: - static int InitLicense(const char* pLicense,char errorMsgBuffer[] = NULL,const int errorMsgBufferLen = 0); - static int GetIdleInstanceCount(); - }; - -#pragma pack(push) -#pragma pack(1) - - class DM_API CPoint - { - public: - int coordinate[2]; - }; - - class DM_API CQuadrilateral - { - public: - CPoint points[4]; - - bool IsPointInQuadrilateral(const CPoint* point) const; - int GetArea() const; - }; - - class DM_API CImageData - { - protected: - int bytesLength; - unsigned char* bytes; - int width; - int height; - int stride; - ImagePixelFormat format; - int orientation; - public: - CImageData(); - CImageData(int _l, unsigned char* _b, int _w, int _h, int _s, ImagePixelFormat _f, int _o = 0); - ~CImageData(); - - const unsigned char* const GetBytes() const; - int GetBytesLength() const; - int GetWidth() const; - int GetHeight() const; - int GetStride() const; - ImagePixelFormat GetImagePixelFormat() const; - int GetOrientation() const; - - private: - CImageData(const CImageData&) = delete; - CImageData& operator=(const CImageData&) = delete; - }; - -#pragma pack(pop) - } -} - -#endif -#endif \ No newline at end of file diff --git a/linux/include/DynamsoftDocumentNormalizer.h b/linux/include/DynamsoftDocumentNormalizer.h deleted file mode 100644 index 942cfa1..0000000 --- a/linux/include/DynamsoftDocumentNormalizer.h +++ /dev/null @@ -1,191 +0,0 @@ -#pragma once - -#if !defined(_WIN32) && !defined(_WIN64) -#define DDN_API __attribute__((visibility("default"))) -#include -#else -#ifdef DDN_EXPORTS -#define DDN_API __declspec(dllexport) -#else -#define DDN_API -#endif -#include -#endif -#ifdef __IOS_WRAPPER__ -#include "DynamsoftCore_Inner.h" -#else -#include "DynamsoftCore.h" -#endif -#define DDN_VERSION "1.0.10.0929" - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagDetectedQuadResult -{ - Quadrilateral *location; - int confidenceAsDocumentBoundary; - -}DetectedQuadResult, *PDetectedQuadResult; - -typedef struct tagDetectedQuadResultArray -{ - int resultsCount; - PDetectedQuadResult *detectedQuadResults; -}DetectedQuadResultArray; - -typedef struct tagNormalizedImageResult -{ - ImageData *image; -}NormalizedImageResult; - -#pragma pack(pop) - - -#ifdef __cplusplus -extern "C" { -#endif - - DDN_API const char* DDN_GetVersion(); - - DDN_API void* DDN_CreateInstance(); - - DDN_API void DDN_DestroyInstance(void* normalizer); - - DDN_API int DDN_InitRuntimeSettingsFromString(void* normalizer, const char* content, char errorMsgBuffer[], const int errorMsgBufferLen); - - DDN_API int DDN_InitRuntimeSettingsFromFile(void* normalizer, const char* filePath, char errorMsgBuffer[], const int errorMsgBufferLen); - - DDN_API int DDN_OutputRuntimeSettingsToFile(void* normalizer, const char* templateName,const char* outputFilePath); - - DDN_API int DDN_OutputRuntimeSettingsToString(void* normalizer, const char* templateName, char** content); - - DDN_API void DDN_FreeString(char** content); - - DDN_API int DDN_DetectQuadFromFile(void* normalizer, const char* sourceFilePath, const char* templateName, DetectedQuadResultArray** result); - - DDN_API int DDN_DetectQuadFromBuffer(void* normalizer, const ImageData* sourceImage, const char* templateName, DetectedQuadResultArray** result); - - DDN_API int DDN_NormalizeFile(void* normalizer, const char* sourceFilePath, const char* templateName, const Quadrilateral *quad, NormalizedImageResult** result); - - DDN_API int DDN_NormalizeBuffer(void* normalizer, const ImageData* sourceImage, const char* templateName, const Quadrilateral *quad, NormalizedImageResult** result); - - DDN_API void DDN_FreeNormalizedImageResult(NormalizedImageResult** result); - - DDN_API void DDN_FreeDetectedQuadResultArray(DetectedQuadResultArray** results); - - DDN_API int NormalizedImageResult_SaveToFile(const NormalizedImageResult* normalizedImageResult, const char* filePath); - -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus - -class CDocumentNormalizerInner; - -namespace dynamsoft -{ - namespace dir - { - class CParameterTree; - } - namespace ddn - { -#pragma pack(push) -#pragma pack(1) - class DDN_API CDetectedQuadResult - { - protected: - core::CQuadrilateral *location; - int confidenceAsDocumentBoundary; - - public: - CDetectedQuadResult(core::CQuadrilateral* loc, int conf); - ~CDetectedQuadResult(); - - const core::CQuadrilateral* GetLocation(); - int GetConfidenceAsDocumentBoundary(); - - private: - CDetectedQuadResult(const CDetectedQuadResult&); - CDetectedQuadResult& operator=(const CDetectedQuadResult&); - }; - - class DDN_API CDetectedQuadResultArray - { - protected: - int resultsCount; - CDetectedQuadResult** detectedQuadResults; - - public: - CDetectedQuadResultArray(int count, CDetectedQuadResult** resArray); - ~CDetectedQuadResultArray(); - - int GetCount(); - int GetDetectedQuadResult(int index, CDetectedQuadResult** result); - - private: - CDetectedQuadResultArray(const CDetectedQuadResultArray&); - CDetectedQuadResultArray& operator=(const CDetectedQuadResultArray&); - }; - - class DDN_API CNormalizedImageResult - { - protected: - core::CImageData* image; - - public: - CNormalizedImageResult(core::CImageData* img); - ~CNormalizedImageResult(); - int SaveToFile(const char* filePath); - const core::CImageData* GetImageData(); - - private: - CNormalizedImageResult(const CNormalizedImageResult&); - CNormalizedImageResult& operator=(const CNormalizedImageResult&); - }; -#pragma pack(pop) - - class DDN_API CDocumentNormalizer - { - protected: - CDocumentNormalizerInner * m_DDNInner; - - public: - CDocumentNormalizer(); - - ~CDocumentNormalizer(); - - static const char* GetVersion(); - - int InitRuntimeSettingsFromString(const char* content, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - int InitRuntimeSettingsFromFile(const char* filePath, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - int OutputRuntimeSettingsToFile(const char* templateName,const char* outputFilePath); - - int OutputRuntimeSettingsToString(const char* templateName,char** content); - - int DetectQuad(const char* sourceFilePath, const char* templateName, CDetectedQuadResultArray** result); - - int DetectQuad(const core::CImageData* sourceImage, const char* templateName, CDetectedQuadResultArray** result); - - int Normalize(const char* sourceFilePath, const char* templateName, const core::CQuadrilateral *quad, CNormalizedImageResult** result); - - int Normalize(const core::CImageData* sourceImage, const char* templateName, const core::CQuadrilateral *quad, CNormalizedImageResult** result); - - static void FreeNormalizedImageResult(CNormalizedImageResult** result); - - static void FreeDetectedQuadResultArray(CDetectedQuadResultArray** results); - - static void FreeString(char** content); - - - private: - CDocumentNormalizer(const CDocumentNormalizer& r); - CDocumentNormalizer& operator=(const CDocumentNormalizer& r); - }; - } -} -#endif diff --git a/linux/include/document_manager.h b/linux/include/document_manager.h deleted file mode 100644 index e296c74..0000000 --- a/linux/include/document_manager.h +++ /dev/null @@ -1,420 +0,0 @@ -#ifndef DOCUMENT_MANAGER_H_ -#define DOCUMENT_MANAGER_H_ - -#include "DynamsoftCore.h" -#include "DynamsoftDocumentNormalizer.h" - -#include -#include -#include - -#include -#include - -using namespace std; -using namespace dynamsoft::ddn; -using namespace dynamsoft::core; - -class DocumentManager -{ -public: - ~DocumentManager() - { - if (normalizer != NULL) - { - DDN_DestroyInstance(normalizer); - normalizer = NULL; - } - - FreeImage(); - }; - - const char *GetVersion() - { - return DDN_GetVersion(); - } - - void Init() - { - normalizer = DDN_CreateInstance(); - imageResult = NULL; - } - - int SetParameters(const char *params) - { - int ret = 0; - - if (normalizer) - { - char errorMsgBuffer[512]; - ret = DDN_InitRuntimeSettingsFromString(normalizer, params, errorMsgBuffer, 512); - if (ret != DM_OK) - { - cout << errorMsgBuffer << endl; - } - } - - return ret; - } - - ImagePixelFormat getPixelFormat(int format) - { - ImagePixelFormat pixelFormat = IPF_BGR_888; - switch (format) - { - case 0: - pixelFormat = IPF_BINARY; - break; - case 1: - pixelFormat = IPF_BINARYINVERTED; - break; - case 2: - pixelFormat = IPF_GRAYSCALED; - break; - case 3: - pixelFormat = IPF_NV21; - break; - case 4: - pixelFormat = IPF_RGB_565; - break; - case 5: - pixelFormat = IPF_RGB_555; - break; - case 6: - pixelFormat = IPF_RGB_888; - break; - case 7: - pixelFormat = IPF_ARGB_8888; - break; - case 8: - pixelFormat = IPF_RGB_161616; - break; - case 9: - pixelFormat = IPF_ARGB_16161616; - break; - case 10: - pixelFormat = IPF_ABGR_8888; - break; - case 11: - pixelFormat = IPF_ABGR_16161616; - break; - case 12: - pixelFormat = IPF_BGR_888; - break; - } - - return pixelFormat; - } - - static int SetLicense(const char *license) - { - char errorMsgBuffer[512]; - // Click https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform to get a trial license. - int ret = DC_InitLicense(license, errorMsgBuffer, 512); - if (ret != DM_OK) - { - cout << errorMsgBuffer << endl; - } - return ret; - } - - FlValue *WrapResults(DetectedQuadResultArray *pResults) - { - FlValue *out = fl_value_new_list(); - if (normalizer == NULL) - return out; - - if (pResults) - { - int count = pResults->resultsCount; - - for (int i = 0; i < count; i++) - { - FlValue *result = fl_value_new_map(); - - DetectedQuadResult *quadResult = pResults->detectedQuadResults[i]; - int confidence = quadResult->confidenceAsDocumentBoundary; - DM_Point *points = quadResult->location->points; - int x1 = points[0].coordinate[0]; - int y1 = points[0].coordinate[1]; - int x2 = points[1].coordinate[0]; - int y2 = points[1].coordinate[1]; - int x3 = points[2].coordinate[0]; - int y3 = points[2].coordinate[1]; - int x4 = points[3].coordinate[0]; - int y4 = points[3].coordinate[1]; - - fl_value_set_string_take(result, "confidence", fl_value_new_int(confidence)); - fl_value_set_string_take(result, "x1", fl_value_new_int(x1)); - fl_value_set_string_take(result, "y1", fl_value_new_int(y1)); - fl_value_set_string_take(result, "x2", fl_value_new_int(x2)); - fl_value_set_string_take(result, "y2", fl_value_new_int(y2)); - fl_value_set_string_take(result, "x3", fl_value_new_int(x3)); - fl_value_set_string_take(result, "y3", fl_value_new_int(y3)); - fl_value_set_string_take(result, "x4", fl_value_new_int(x4)); - fl_value_set_string_take(result, "y4", fl_value_new_int(y4)); - - fl_value_append_take(out, result); - } - } - - if (pResults != NULL) - DDN_FreeDetectedQuadResultArray(&pResults); - - return out; - } - - FlValue *DetectFile(const char *filename) - { - FlValue *out = fl_value_new_list(); - if (normalizer == NULL) - return out; - - DetectedQuadResultArray *pResults = NULL; - - int ret = DDN_DetectQuadFromFile(normalizer, filename, "", &pResults); - if (ret) - { - printf("Detection error: %s\n", DC_GetErrorString(ret)); - } - - return WrapResults(pResults); - } - - FlValue *DetectBuffer(unsigned char *buffer, int width, int height, int stride, int format) - { - FlValue *out = fl_value_new_list(); - if (normalizer == NULL) - return out; - - ImageData data; - data.bytes = buffer; - data.width = width; - data.height = height; - data.stride = stride; - data.format = getPixelFormat(format); - data.bytesLength = stride * height; - data.orientation = 0; - - DetectedQuadResultArray *pResults = NULL; - - int ret = DDN_DetectQuadFromBuffer(normalizer, &data, "", &pResults); - if (ret) - { - printf("Detection error: %s\n", DC_GetErrorString(ret)); - } - - return WrapResults(pResults); - } - - FlValue *createNormalizedImage() - { - FlValue *result = fl_value_new_map(); - - if (imageResult) - { - ImageData *imageData = imageResult->image; - int width = imageData->width; - int height = imageData->height; - int stride = imageData->stride; - int format = (int)imageData->format; - unsigned char *data = imageData->bytes; - int orientation = imageData->orientation; - int length = imageData->bytesLength; - - fl_value_set_string_take(result, "width", fl_value_new_int(width)); - fl_value_set_string_take(result, "height", fl_value_new_int(height)); - fl_value_set_string_take(result, "stride", fl_value_new_int(stride)); - fl_value_set_string_take(result, "format", fl_value_new_int(format)); - fl_value_set_string_take(result, "orientation", fl_value_new_int(orientation)); - fl_value_set_string_take(result, "length", fl_value_new_int(length)); - - unsigned char *rgba = new unsigned char[width * height * 4]; - memset(rgba, 0, width * height * 4); - if (format == IPF_RGB_888) - { - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - rgba[index * 4] = data[dataIndex]; // red - rgba[index * 4 + 1] = data[dataIndex + 1]; // green - rgba[index * 4 + 2] = data[dataIndex + 2]; // blue - rgba[index * 4 + 3] = 255; // alpha - dataIndex += 3; - } - } - } - else if (format == IPF_GRAYSCALED) - { - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - rgba[index * 4] = data[dataIndex]; - rgba[index * 4 + 1] = data[dataIndex]; - rgba[index * 4 + 2] = data[dataIndex]; - rgba[index * 4 + 3] = 255; - dataIndex += 1; - } - } - } - else if (format == IPF_BINARY) - { - unsigned char *grayscale = new unsigned char[width * height]; - binary2grayscale(data, grayscale, width, height, stride, length); - - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - rgba[index * 4] = grayscale[dataIndex]; - rgba[index * 4 + 1] = grayscale[dataIndex]; - rgba[index * 4 + 2] = grayscale[dataIndex]; - rgba[index * 4 + 3] = 255; - dataIndex += 1; - } - } - - free(grayscale); - } - - fl_value_set_string_take(result, "data", fl_value_new_uint8_list(rgba, width * height * 4)); - free(rgba); - } - - return result; - } - - FlValue *NormalizeFile(const char *filename, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) - { - FreeImage(); - - Quadrilateral quad; - quad.points[0].coordinate[0] = x1; - quad.points[0].coordinate[1] = y1; - quad.points[1].coordinate[0] = x2; - quad.points[1].coordinate[1] = y2; - quad.points[2].coordinate[0] = x3; - quad.points[2].coordinate[1] = y3; - quad.points[3].coordinate[0] = x4; - quad.points[3].coordinate[1] = y4; - - int errorCode = DDN_NormalizeFile(normalizer, filename, "", &quad, &imageResult); - if (errorCode != DM_OK) - printf("%s\r\n", DC_GetErrorString(errorCode)); - - return createNormalizedImage(); - } - - FlValue *NormalizeBuffer(const unsigned char *buffer, int width, int height, int stride, int format, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) - { - FreeImage(); - - ImageData data; - data.bytes = (unsigned char *)buffer; - data.width = width; - data.height = height; - data.stride = stride; - data.format = getPixelFormat(format); - data.bytesLength = stride * height; - data.orientation = 0; - - Quadrilateral quad; - quad.points[0].coordinate[0] = x1; - quad.points[0].coordinate[1] = y1; - quad.points[1].coordinate[0] = x2; - quad.points[1].coordinate[1] = y2; - quad.points[2].coordinate[0] = x3; - quad.points[2].coordinate[1] = y3; - quad.points[3].coordinate[0] = x4; - quad.points[3].coordinate[1] = y4; - - int errorCode = DDN_NormalizeBuffer(normalizer, &data, "", &quad, &imageResult); - if (errorCode != DM_OK) - printf("%s\r\n", DC_GetErrorString(errorCode)); - - return createNormalizedImage(); - } - - void binary2grayscale(unsigned char *data, unsigned char *output, int width, int height, int stride, int length) - { - int index = 0; - - int skip = stride * 8 - width; - int shift = 0; - int n = 1; - - for (int i = 0; i < length; ++i) - { - unsigned char b = data[i]; - int byteCount = 7; - while (byteCount >= 0) - { - int tmp = (b & (1 << byteCount)) >> byteCount; - - if (shift < stride * 8 * n - skip) - { - if (tmp == 1) - output[index] = 255; - else - output[index] = 0; - index += 1; - } - - byteCount -= 1; - shift += 1; - } - - if (shift == stride * 8 * n) - { - n += 1; - } - } - } - - FlValue *GetParameters() - { - if (normalizer == NULL) - return fl_value_new_string(""); - - char *content = NULL; - DDN_OutputRuntimeSettingsToString(normalizer, "", &content); - FlValue *params = fl_value_new_string((const char *)content); - if (content != NULL) - DDN_FreeString(&content); - return params; - } - - int Save(const char *filename) - { - if (imageResult == NULL) - return -1; - int ret = NormalizedImageResult_SaveToFile(imageResult, filename); - if (ret != DM_OK) - printf("NormalizedImageResult_SaveToFile: %s\r\n", DC_GetErrorString(ret)); - - return ret; - } - -private: - void *normalizer; - NormalizedImageResult *imageResult; - - void FreeImage() - { - if (imageResult != NULL) - { - DDN_FreeNormalizedImageResult(&imageResult); - imageResult = NULL; - } - } -}; - -#endif \ No newline at end of file diff --git a/linux/include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin.h b/linux/include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin.h deleted file mode 100644 index 0612a29..0000000 --- a/linux/include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_H_ -#define FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_H_ - -#include - -G_BEGIN_DECLS - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __attribute__((visibility("default"))) -#else -#define FLUTTER_PLUGIN_EXPORT -#endif - -typedef struct _FlutterDocumentScanSdkPlugin FlutterDocumentScanSdkPlugin; -typedef struct { - GObjectClass parent_class; -} FlutterDocumentScanSdkPluginClass; - -FLUTTER_PLUGIN_EXPORT GType flutter_document_scan_sdk_plugin_get_type(); - -FLUTTER_PLUGIN_EXPORT void flutter_document_scan_sdk_plugin_register_with_registrar( - FlPluginRegistrar* registrar); - -G_END_DECLS - -#endif // FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_H_ diff --git a/linux/lib/libDynamicImage.so b/linux/lib/libDynamicImage.so deleted file mode 100644 index 84ff09a..0000000 Binary files a/linux/lib/libDynamicImage.so and /dev/null differ diff --git a/linux/lib/libDynamicPdf.so b/linux/lib/libDynamicPdf.so deleted file mode 100644 index 8809a49..0000000 Binary files a/linux/lib/libDynamicPdf.so and /dev/null differ diff --git a/linux/lib/libDynamicPdfCore.so b/linux/lib/libDynamicPdfCore.so deleted file mode 100644 index 9ffce3f..0000000 Binary files a/linux/lib/libDynamicPdfCore.so and /dev/null differ diff --git a/linux/lib/libDynamsoftCore.so b/linux/lib/libDynamsoftCore.so deleted file mode 100644 index 62fa440..0000000 Binary files a/linux/lib/libDynamsoftCore.so and /dev/null differ diff --git a/linux/lib/libDynamsoftDocumentNormalizer.so b/linux/lib/libDynamsoftDocumentNormalizer.so deleted file mode 100644 index d9e8d79..0000000 Binary files a/linux/lib/libDynamsoftDocumentNormalizer.so and /dev/null differ diff --git a/linux/lib/libDynamsoftImageProcessing.so b/linux/lib/libDynamsoftImageProcessing.so deleted file mode 100644 index 20ef9e6..0000000 Binary files a/linux/lib/libDynamsoftImageProcessing.so and /dev/null differ diff --git a/linux/lib/libDynamsoftIntermediateResult.so b/linux/lib/libDynamsoftIntermediateResult.so deleted file mode 100644 index c33cade..0000000 Binary files a/linux/lib/libDynamsoftIntermediateResult.so and /dev/null differ diff --git a/main.dart.js b/main.dart.js new file mode 100644 index 0000000..71b212f --- /dev/null +++ b/main.dart.js @@ -0,0 +1,84339 @@ +(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.c(A.cb(a,0,4294967295,"length",null)) +return J.lp(new Array(a),b)}, +nF(a,b){if(a<0)throw A.c(A.cz("Length must be a non-negative integer: "+a,null)) +return A.b(new Array(a),b.h("v<0>"))}, +H6(a,b){if(a<0)throw A.c(A.cz("Length must be a non-negative integer: "+a,null)) +return A.b(new Array(a),b.h("v<0>"))}, +lp(a,b){return J.a0X(A.b(a,b.h("v<0>")))}, +a0X(a){a.fixed$length=Array +return a}, +ar9(a){a.fixed$length=Array +a.immutable$list=Array +return a}, +aCh(a,b){return J.UA(a,b)}, +ara(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}}, +arb(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.ara(r))break}return b}, +kB(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.qv.prototype +return J.wS.prototype}if(typeof a=="string")return J.jH.prototype +if(a==null)return J.wR.prototype +if(typeof a=="boolean")return J.wQ.prototype +if(Array.isArray(a))return J.v.prototype +if(typeof a!="object"){if(typeof a=="function")return J.f5.prototype +if(typeof a=="symbol")return J.nH.prototype +if(typeof a=="bigint")return J.nG.prototype +return a}if(a instanceof A.J)return a +return J.Ue(a)}, +aJH(a){if(typeof a=="number")return J.lr.prototype +if(typeof a=="string")return J.jH.prototype +if(a==null)return a +if(Array.isArray(a))return J.v.prototype +if(typeof a!="object"){if(typeof a=="function")return J.f5.prototype +if(typeof a=="symbol")return J.nH.prototype +if(typeof a=="bigint")return J.nG.prototype +return a}if(a instanceof A.J)return a +return J.Ue(a)}, +ax(a){if(typeof a=="string")return J.jH.prototype +if(a==null)return a +if(Array.isArray(a))return J.v.prototype +if(typeof a!="object"){if(typeof a=="function")return J.f5.prototype +if(typeof a=="symbol")return J.nH.prototype +if(typeof a=="bigint")return J.nG.prototype +return a}if(a instanceof A.J)return a +return J.Ue(a)}, +bK(a){if(a==null)return a +if(Array.isArray(a))return J.v.prototype +if(typeof a!="object"){if(typeof a=="function")return J.f5.prototype +if(typeof a=="symbol")return J.nH.prototype +if(typeof a=="bigint")return J.nG.prototype +return a}if(a instanceof A.J)return a +return J.Ue(a)}, +aJI(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.qv.prototype +return J.wS.prototype}if(a==null)return a +if(!(a instanceof A.J))return J.j4.prototype +return a}, +aol(a){if(typeof a=="number")return J.lr.prototype +if(a==null)return a +if(!(a instanceof A.J))return J.j4.prototype +return a}, +avv(a){if(typeof a=="number")return J.lr.prototype +if(typeof a=="string")return J.jH.prototype +if(a==null)return a +if(!(a instanceof A.J))return J.j4.prototype +return a}, +Dv(a){if(typeof a=="string")return J.jH.prototype +if(a==null)return a +if(!(a instanceof A.J))return J.j4.prototype +return a}, +dg(a){if(a==null)return a +if(typeof a!="object"){if(typeof a=="function")return J.f5.prototype +if(typeof a=="symbol")return J.nH.prototype +if(typeof a=="bigint")return J.nG.prototype +return a}if(a instanceof A.J)return a +return J.Ue(a)}, +dU(a){if(a==null)return a +if(!(a instanceof A.J))return J.j4.prototype +return a}, +ayS(a,b){if(typeof a=="number"&&typeof b=="number")return a+b +return J.aJH(a).a4(a,b)}, +e(a,b){if(a==null)return b==null +if(typeof a!="object")return b!=null&&a===b +return J.kB(a).j(a,b)}, +ayT(a,b){if(typeof a=="number"&&typeof b=="number")return a*b +return J.avv(a).ac(a,b)}, +ayU(a,b){if(typeof a=="number"&&typeof b=="number")return a-b +return J.aol(a).ad(a,b)}, +b5(a,b){if(typeof b==="number")if(Array.isArray(a)||typeof a=="string"||A.avB(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b>>0===b&&b0?1:a<0?-1:a +return J.aJI(a).gGH(a)}, +DY(a){return J.bK(a).gap(a)}, +az5(a){return J.dU(a).gu9(a)}, +fZ(a){return J.dg(a).gm(a)}, +az6(a){return J.dg(a).gaI(a)}, +az7(a,b,c){return J.bK(a).tQ(a,b,c)}, +alw(a,b){return J.dU(a).aW(a,b)}, +alx(a){return J.dU(a).hk(a)}, +az8(a){return J.dU(a).rD(a)}, +app(a){return J.bK(a).EH(a)}, +az9(a,b){return J.bK(a).bD(a,b)}, +aza(a,b){return J.dU(a).adO(a,b)}, +kJ(a,b,c){return J.bK(a).f1(a,b,c)}, +azb(a,b,c,d){return J.bK(a).rR(a,b,c,d)}, +azc(a,b,c){return J.Dv(a).xj(a,b,c)}, +azd(a,b,c){return J.dg(a).ael(a,b,c)}, +aze(a){return J.dU(a).t9(a)}, +azf(a,b,c,d,e){return J.dU(a).iS(a,b,c,d,e)}, +DZ(a,b,c){return J.dg(a).bk(a,b,c)}, +azg(a){return J.bK(a).i6(a)}, +kK(a,b){return J.bK(a).A(a,b)}, +azh(a){return J.bK(a).fa(a)}, +azi(a,b){return J.dg(a).H(a,b)}, +apq(a,b){return J.dU(a).X(a,b)}, +apr(a,b){return J.dU(a).bf(a,b)}, +azj(a,b){return J.ax(a).su(a,b)}, +azk(a,b,c,d,e){return J.bK(a).bz(a,b,c,d,e)}, +azl(a,b){return J.dg(a).Ud(a,b)}, +pq(a,b){return J.bK(a).fS(a,b)}, +aps(a,b){return J.bK(a).er(a,b)}, +azm(a,b){return J.Dv(a).u5(a,b)}, +apt(a,b){return J.bK(a).FI(a,b)}, +aly(a,b,c){return J.dU(a).b_(a,b,c)}, +azn(a,b,c,d){return J.dU(a).en(a,b,c,d)}, +azo(a){return J.aol(a).P(a)}, +alz(a){return J.bK(a).dm(a)}, +azp(a,b){return J.aol(a).ia(a,b)}, +azq(a){return J.bK(a).hr(a)}, +en(a){return J.kB(a).i(a)}, +azr(a){return J.Dv(a).afZ(a)}, +alA(a,b){return J.bK(a).jQ(a,b)}, +qu:function qu(){}, +wQ:function wQ(){}, +wR:function wR(){}, +d:function d(){}, +fB:function fB(){}, +IT:function IT(){}, +j4:function j4(){}, +f5:function f5(){}, +nG:function nG(){}, +nH:function nH(){}, +v:function v(a){this.$ti=a}, +a12:function a12(a){this.$ti=a}, +c1:function c1(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +lr:function lr(){}, +qv:function qv(){}, +wS:function wS(){}, +jH:function jH(){}},A={ +aJX(){var s,r,q=$.anU +if(q!=null)return q +s=A.i_("Chrom(e|ium)\\/([0-9]+)\\.",!0,!1) +q=$.av().gq9() +r=s.wJ(q) +if(r!=null){q=r.b[2] +q.toString +return $.anU=A.il(q,null)<=110}return $.anU=!1}, +pc(){var s=A.mI(1,1) +if(A.ft(s,"webgl2",null)!=null){if($.av().gbZ()===B.an)return 1 +return 2}if(A.ft(s,"webgl",null)!=null)return 1 +return-1}, +av8(){return self.Intl.v8BreakIterator!=null&&self.Intl.Segmenter!=null}, +ah(){return $.b8.aO()}, +aw0(a){return a===B.hU?$.b8.aO().FilterMode.Nearest:$.b8.aO().FilterMode.Linear}, +aw2(a){return a===B.db?$.b8.aO().MipmapMode.Linear:$.b8.aO().MipmapMode.None}, +asC(a){var s=a.encodeToBytes() +return s==null?null:s}, +aED(a,b){return a.setColorInt(b)}, +aw1(a){var s,r,q,p=new Float32Array(16) +for(s=0;s<4;++s)for(r=s*4,q=0;q<4;++q)p[q*4+s]=a[r+q] +return p}, +aKH(a){var s,r,q=new Float32Array(9) +for(s=0;s<9;++s){r=B.lG[s] +if(r<16)q[s]=a[r] +else q[s]=0}return q}, +aKI(a){var s,r,q=new Float32Array(9) +for(s=0;s<9;++s){r=B.lG[s] +if(r<16)q[s]=a[r] +else q[s]=0}return q}, +aw3(a){var s=new Float32Array(2) +s[0]=a.a +s[1]=a.b +return s}, +aKG(a){var s=$.ay7() +return s}, +aK5(a){return t.e.a(self.window.flutterCanvasKit.Malloc(self.Float32Array,a))}, +akg(a,b){var s=a.toTypedArray(),r=b.a +s[0]=(r>>>16&255)/255 +s[1]=(r>>>8&255)/255 +s[2]=(r&255)/255 +s[3]=(r>>>24&255)/255 +return s}, +eS(a){var s=new Float32Array(4) +s[0]=a.a +s[1]=a.b +s[2]=a.c +s[3]=a.d +return s}, +akE(a){return new A.D(a[0],a[1],a[2],a[3])}, +un(a){var s=new Float32Array(12) +s[0]=a.a +s[1]=a.b +s[2]=a.c +s[3]=a.d +s[4]=a.e +s[5]=a.f +s[6]=a.r +s[7]=a.w +s[8]=a.x +s[9]=a.y +s[10]=a.z +s[11]=a.Q +return s}, +aKF(a){var s,r=new Uint32Array(2) +for(s=0;s<2;++s)r[s]=a[s].a +return r}, +asA(a,b,c,d,e){var s=c==null?null:c,r=e==null?null:e +return a.saveLayer(b,s,d,r)}, +asD(a){if(!("RequiresClientICU" in a))return!1 +return A.kt(a.RequiresClientICU())}, +asH(a,b){a.fontSize=b +return b}, +asJ(a,b){a.heightMultiplier=b +return b}, +asI(a,b){a.halfLeading=b +return b}, +asG(a,b){var s=A.ez(b) +a.fontFamilies=s +return s}, +asF(a,b){a.halfLeading=b +return b}, +asB(a){var s,r,q=a.graphemeLayoutBounds,p=B.b.dg(q,t.i) +q=p.a +s=J.ax(q) +r=p.$ti.y[1] +return new A.iD(new A.D(r.a(s.k(q,0)),r.a(s.k(q,1)),r.a(s.k(q,2)),r.a(s.k(q,3))),new A.cj(B.c.P(a.graphemeClusterTextRange.start),B.c.P(a.graphemeClusterTextRange.end)),B.ih[B.c.P(a.dir.value)])}, +an8(a,b,c,d,e){return t.e.a({width:e,height:d,colorType:c,alphaType:a,colorSpace:b})}, +aJG(a){var s,r="chromium/canvaskit.js" +switch(a.a){case 0:s=A.b([],t.s) +if(A.av8())s.push(r) +s.push("canvaskit.js") +return s +case 1:return A.b(["canvaskit.js"],t.s) +case 2:return A.b([r],t.s)}}, +aH4(){var s,r=A.df().b +if(r==null)s=null +else{r=r.canvasKitVariant +if(r==null)r=null +s=r}r=A.aJG(A.aBo(B.F7,s==null?"auto":s)) +return new A.aw(r,new A.ajC(),A.a_(r).h("aw<1,r>"))}, +aIM(a,b){return b+a}, +Ub(){var s=0,r=A.z(t.e),q,p,o,n,m +var $async$Ub=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p=t.e +n=p +m=A +s=4 +return A.B(A.ajR(A.aH4()),$async$Ub) +case 4:s=3 +return A.B(m.cF(b.default(p.a({locateFile:A.ajV(A.aHs())})),t.K),$async$Ub) +case 3:o=n.a(b) +if(A.asD(o.ParagraphBuilder)&&!A.av8())throw A.c(A.c2("The CanvasKit variant you are using only works on Chromium browsers. Please use a different CanvasKit variant, or use a Chromium browser.")) +q=o +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$Ub,r)}, +ajR(a){var s=0,r=A.z(t.e),q,p=2,o,n,m,l,k,j,i +var $async$ajR=A.A(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:m=a.$ti,l=new A.bR(a,a.gu(0),m.h("bR")),m=m.h("aD.E") +case 3:if(!l.q()){s=4 +break}k=l.d +n=k==null?m.a(k):k +p=6 +s=9 +return A.B(A.ajQ(n),$async$ajR) +case 9:k=c +q=k +s=1 +break +p=2 +s=8 +break +case 6:p=5 +i=o +s=3 +break +s=8 +break +case 5:s=2 +break +case 8:s=3 +break +case 4:throw A.c(A.c2("Failed to download any of the following CanvasKit URLs: "+a.i(0))) +case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$ajR,r)}, +ajQ(a){var s=0,r=A.z(t.e),q,p,o +var $async$ajQ=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:p=self.window.document.baseURI +if(p==null)p=null +p=p==null?new self.URL(a):new self.URL(a,p) +o=t.e +s=3 +return A.B(A.cF(import(A.aJh(p.toString())),t.m),$async$ajQ) +case 3:q=o.a(c) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ajQ,r)}, +a1L(a){var s="ColorFilter",r=new A.HA(a),q=new A.eK(s,t.R) +q.ie(r,a.AY(),s,t.e) +r.b!==$&&A.bz() +r.b=q +return r}, +aHb(){var s,r=new Float32Array(20) +for(s=0;s<4;++s)r[B.D7[s]]=1 +return $.aHO=r}, +aJg(a,b){var s=$.b8.aO().ColorFilter.MakeBlend(A.akg($.Uw(),a),$.apa()[b.a]) +if(s==null)return $.b8.aO().ColorFilter.MakeMatrix($.ay3()) +return s}, +aA7(a){return new A.v6(a)}, +aJ7(a){switch(0){case 0:return new A.ET(a.a,a.b)}}, +aq7(a,b){var s=b.h("v<0>") +return new A.FN(a,A.b([],s),A.b([],s),b.h("FN<0>"))}, +amL(a){var s=null +return new A.hj(B.HD,s,s,s,a,s)}, +asd(a,b,c){var s=new self.window.flutterCanvasKit.Font(c),r=A.ez(A.b([0],t.t)) +s.getGlyphBounds(r,null,null) +return new A.og(b,a,c)}, +aKq(a,b,c){var s,r,q,p,o="encoded image bytes" +if($.ayN()&&b==null&&c==null)return A.Wt(a,o) +else{s=new A.ES(o,a,b,c) +r=$.b8.aO().MakeAnimatedImageFromEncoded(a) +if(r==null)A.ab(A.qm("Failed to decode image data.\nImage source: encoded image bytes")) +if(b!=null||c!=null)if(r.getFrameCount()>1)$.dj().$1("targetWidth and targetHeight for multi-frame images not supported") +else{q=A.aKj(r.makeImageAtCurrentFrame(),b,c).b +q===$&&A.a() +q=q.a +q===$&&A.a() +q=q.a +q.toString +p=A.asC(q) +if(p==null)A.ab(A.qm("Failed to re-size image")) +r=$.b8.aO().MakeAnimatedImageFromEncoded(p) +if(r==null)A.ab(A.qm("Failed to decode re-sized image data.\nImage source: encoded image bytes"))}s.d=B.c.P(r.getFrameCount()) +s.e=B.c.P(r.getRepetitionCount()) +q=new A.eK("Codec",t.R) +q.ie(s,r,"Codec",t.e) +s.a!==$&&A.bz() +s.a=q +return s}}, +aKp(a,b,c,d,e,f,g,h,i){A.c7(B.q,new A.alb(b,c,d,a,g,i,h,!0,e))}, +aKj(a,b,c){var s,r,q,p,o,n +if(b!=null&&b<=0)b=null +if(c!=null&&c<=0)c=null +s=b==null +if(s&&c!=null)b=B.c.a2(c*(a.width()/a.height())) +else if(c==null&&!s)c=B.f.eR(b,a.width()/a.height()) +r=new A.hE() +q=r.ks(B.dR) +p=A.Wv() +s=A.EW(a,null) +o=a.width() +n=a.height() +b.toString +c.toString +q.ix(s,new A.D(0,0,0+o,0+n),new A.D(0,0,b,c),p) +n=p.b +n===$&&A.a() +n.l() +return r.m2().ts(b,c)}, +qm(a){return new A.GX(a)}, +EW(a,b){var s=new A.kZ($,b),r=new A.Fh(A.ay(t.XY),t.lp),q=new A.eK("SkImage",t.R) +q.ie(r,a,"SkImage",t.e) +r.a!==$&&A.bz() +r.a=q +s.b=r +s.KD() +return s}, +aA6(a,b,c){return new A.v4(a,b,c,new A.us(new A.Vy()))}, +Wt(a,b){var s=0,r=A.z(t.Lh),q,p,o +var $async$Wt=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:o=A.aJo(a) +if(o==null)throw A.c(A.qm("Failed to detect image file format using the file header.\nFile header was "+(!B.W.gM(a)?"["+A.aIL(B.W.c0(a,0,Math.min(10,a.length)))+"]":"empty")+".\nImage source: "+b)) +p=A.aA6(o,a,b) +s=3 +return A.B(p.ni(),$async$Wt) +case 3:q=p +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$Wt,r)}, +Uj(a,b){var s=0,r=A.z(t.V4),q,p,o,n +var $async$Uj=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:s=b===B.ly?3:4 +break +case 3:n=A +s=5 +return A.B(A.aoh(a),$async$Uj) +case 5:q=n.ey(d.buffer,0,null) +s=1 +break +case 4:s=6 +return A.B(A.al6(a),$async$Uj) +case 6:p=d +if(A.aIn(a,b)){q=A.ey(p,0,null) +s=1 +break}o=A.rR(a)==="BGRX" +if(A.rR(a)==="BGRA"||o)if(b===B.i0||o){A.aGV(p,o) +q=A.ey(p,0,null) +s=1 +break}else if(b===B.eG){A.aGU(p) +q=A.ey(p,0,null) +s=1 +break}q=A.ey(p,0,null) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$Uj,r)}, +aGV(a,b){var s,r,q,p,o=A.d2(a,0,null) +for(s=o.length,r=0;r>>16}, +aGU(a){var s,r,q,p,o,n,m,l,k=A.d2(a,0,null) +for(s=k.length,r=0;r=m||o>=j))i.a.push(a[s])}if(i.a.length!==0)l.push(i) +return new A.r7(l)}, +Wv(){var s,r=new self.window.flutterCanvasKit.Paint(),q=new A.pJ(r,B.cT,B.aN,B.fD,B.hU) +r.setAntiAlias(!0) +r.setColorInt(4278190080) +s=new A.eK("Paint",t.R) +s.ie(q,r,"Paint",t.e) +q.b!==$&&A.bz() +q.b=s +return q}, +aA9(){var s=new self.window.flutterCanvasKit.Path() +s.setFillType($.Ux()[0]) +return A.apO(s,B.b3)}, +apO(a,b){var s=new A.v9(b),r=new A.eK("Path",t.R) +r.ie(s,a,"Path",t.e) +s.a!==$&&A.bz() +s.a=r +return s}, +azW(){var s,r +if($.av().gbx()===B.P||$.av().gbx()===B.b8)return new A.a5h(A.E(t.lz,t.Es)) +s=A.aS(self.document,"flt-canvas-container") +r=$.als()&&$.av().gbx()!==B.P +return new A.a5G(new A.i8(r,!1,s),A.E(t.lz,t.pw))}, +aEQ(a){var s=A.aS(self.document,"flt-canvas-container") +return new A.i8($.als()&&$.av().gbx()!==B.P&&!a,a,s)}, +aA8(a,b){var s,r +t.S3.a(a) +s=t.e.a({}) +r=A.ez(A.anW(a.a,a.b)) +s.fontFamilies=r +r=a.c +if(r!=null)s.fontSize=r +switch(a.x){case null:case void 0:break +case B.t:A.asF(s,!0) +break +case B.x9:A.asF(s,!1) +break}s.leading=a.e +r=A.aoG(a.f,a.r) +s.fontStyle=r +s.forceStrutHeight=a.w +s.strutEnabled=!0 +return s}, +alM(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){return new A.pK(b,c,d,e,f,m,k,a2,s,g,a0,h,j,q,a3,o,p,r,a,n,a1,i,l)}, +aoG(a,b){var s=t.e.a({}) +if(a!=null)s.weight=$.ayx()[a.a] +return s}, +anW(a,b){var s=A.b([],t.s) +if(a!=null)s.push(a) +if(b!=null&&!B.b.dD(b,new A.ajG(a)))B.b.L(s,b) +B.b.L(s,$.am().grl().gDZ().as) +return s}, +aEq(a,b){var s=b.length +if(s<=10)return a.c +if(s<=100)return a.b +if(s<=5e4)return a.a +return null}, +avt(a,b){var s,r=A.aqw($.ay4().k(0,b).segment(a)),q=A.b([],t.t) +for(;r.q();){s=r.b +s===$&&A.a() +q.push(B.c.P(s.index))}q.push(a.length) +return new Uint32Array(A.kw(q))}, +aJD(a){var s,r,q,p,o=A.av7(a,a,$.ayM()),n=o.length,m=new Uint32Array((n+1)*2) +m[0]=0 +m[1]=0 +for(s=0;s>>16&255)/255 +s[1]=(a.gm(a)>>>8&255)/255 +s[2]=(a.gm(a)&255)/255 +s[3]=(a.gm(a)>>>24&255)/255 +return s}, +alS(){return self.window.navigator.clipboard!=null?new A.WI():new A.Z5()}, +amR(){return $.av().gbx()===B.b8||self.window.navigator.clipboard==null?new A.Z6():new A.WJ()}, +df(){var s,r=$.aum +if(r==null){r=self.window.flutterConfiguration +s=new A.Zs() +if(r!=null)s.b=r +$.aum=s +r=s}return r}, +ard(a){var s=a.nonce +return s==null?null:s}, +aEe(a){switch(a){case"DeviceOrientation.portraitUp":return"portrait-primary" +case"DeviceOrientation.portraitDown":return"portrait-secondary" +case"DeviceOrientation.landscapeLeft":return"landscape-primary" +case"DeviceOrientation.landscapeRight":return"landscape-secondary" +default:return null}}, +ez(a){$.av() +return a}, +amw(a){$.av() +return a}, +aqA(a){var s=a.innerHeight +return s==null?null:s}, +ama(a,b){return a.matchMedia(b)}, +am9(a,b){return a.getComputedStyle(b)}, +aB_(a){return new A.Y0(a)}, +aB2(a){var s=a.languages +if(s==null)s=null +else{s=B.b.f1(s,new A.Y4(),t.N) +s=A.a7(s,!0,s.$ti.h("aD.E"))}return s}, +aS(a,b){return a.createElement(b)}, +bW(a,b,c,d){if(c!=null)if(d==null)a.addEventListener(b,c) +else a.addEventListener(b,c,d)}, +cB(a,b,c,d){if(c!=null)if(d==null)a.removeEventListener(b,c) +else a.removeEventListener(b,c,d)}, +aJa(a){return A.bb(a)}, +h6(a){var s=a.timeStamp +return s==null?null:s}, +aqq(a){if(a.parentNode!=null)a.parentNode.removeChild(a)}, +am6(a,b){a.textContent=b +return b}, +FW(a,b){return a.cloneNode(b)}, +aJ9(a){return A.aS(self.document,a)}, +aB1(a){return a.tagName}, +aqe(a,b,c){var s=A.a5(c) +if(s==null)s=t.K.a(s) +return a.setAttribute(b,s)}, +Y1(a,b){a.tabIndex=b +return b}, +cw(a,b){var s=A.E(t.N,t.y) +if(b!=null)s.n(0,"preventScroll",b) +s=A.a5(s) +if(s==null)s=t.K.a(s) +a.focus(s)}, +aB0(a){var s +for(;a.firstChild!=null;){s=a.firstChild +s.toString +a.removeChild(s)}}, +aAX(a,b){return A.l(a,"width",b)}, +aAS(a,b){return A.l(a,"height",b)}, +aq9(a,b){return A.l(a,"position",b)}, +aAV(a,b){return A.l(a,"top",b)}, +aAT(a,b){return A.l(a,"left",b)}, +aAW(a,b){return A.l(a,"visibility",b)}, +aAU(a,b){return A.l(a,"overflow",b)}, +l(a,b,c){a.setProperty(b,c,"")}, +FT(a){var s=a.src +return s==null?null:s}, +aqf(a,b){a.src=b +return b}, +mI(a,b){var s +$.avm=$.avm+1 +s=A.aS(self.window.document,"canvas") +if(b!=null)A.l9(s,b) +if(a!=null)A.l8(s,a) +return s}, +l9(a,b){a.width=b +return b}, +l8(a,b){a.height=b +return b}, +ft(a,b,c){var s +if(c==null)return a.getContext(b) +else{s=A.a5(c) +if(s==null)s=t.K.a(s) +return a.getContext(b,s)}}, +aAZ(a){var s=A.ft(a,"2d",null) +s.toString +return t.e.a(s)}, +aAY(a,b){var s +if(b===1){s=A.ft(a,"webgl",null) +s.toString +return t.e.a(s)}s=A.ft(a,"webgl2",null) +s.toString +return t.e.a(s)}, +XZ(a,b){var s=A.ez(b) +a.fillStyle=s +return s}, +aqc(a,b){a.lineWidth=b +return b}, +Y_(a,b){var s=A.ez(b) +a.strokeStyle=s +return s}, +am_(a,b,c,d,e,f,g,h,i,j){if(e==null)return a.drawImage(b,c,d) +else{f.toString +g.toString +h.toString +i.toString +j.toString +return A.b9(a,"drawImage",[b,c,d,e,f,g,h,i,j])}}, +XY(a,b){if(b==null)a.fill() +else a.fill(A.ez(b))}, +aqa(a,b,c,d){a.fillText(b,c,d)}, +aqb(a,b,c,d,e,f,g){return A.b9(a,"setTransform",[b,c,d,e,f,g])}, +aqd(a,b,c,d,e,f,g){return A.b9(a,"transform",[b,c,d,e,f,g])}, +XX(a,b){if(b==null)a.clip() +else a.clip(A.ez(b))}, +am0(a,b){a.filter=b +return b}, +am2(a,b){a.shadowOffsetX=b +return b}, +am3(a,b){a.shadowOffsetY=b +return b}, +am1(a,b){a.shadowColor=b +return b}, +ug(a){return A.aJM(a)}, +aJM(a){var s=0,r=A.z(t.Lk),q,p=2,o,n,m,l,k +var $async$ug=A.A(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:p=4 +s=7 +return A.B(A.cF(self.window.fetch(a),t.e),$async$ug) +case 7:n=c +q=new A.GV(a,n) +s=1 +break +p=2 +s=6 +break +case 4:p=3 +k=o +m=A.a9(k) +throw A.c(new A.GT(a,m)) +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$ug,r)}, +akM(a){var s=0,r=A.z(t.pI),q +var $async$akM=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:s=3 +return A.B(A.ug(a),$async$akM) +case 3:q=c.gxF().nE() +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$akM,r)}, +aJb(a,b,c){var s,r,q +if(c==null)return new self.FontFace(a,A.ez(b)) +else{s=self.FontFace +r=A.ez(b) +q=A.a5(c) +if(q==null)q=t.K.a(q) +return new s(a,r,q)}}, +aqx(a){var s=a.height +return s==null?null:s}, +aqn(a,b){var s=b==null?null:b +a.value=s +return s}, +aql(a){var s=a.selectionStart +return s==null?null:s}, +aqk(a){var s=a.selectionEnd +return s==null?null:s}, +aqm(a){var s=a.value +return s==null?null:s}, +ju(a){var s=a.code +return s==null?null:s}, +h7(a){var s=a.key +return s==null?null:s}, +FV(a){var s=a.shiftKey +return s==null?null:s}, +aqo(a){var s=a.state +if(s==null)s=null +else{s=A.aof(s) +s.toString}return s}, +aJ8(a){var s=self +return new s.Blob(t.ef.a(A.ez(a)))}, +aqp(a){var s=a.matches +return s==null?null:s}, +vH(a){var s=a.buttons +return s==null?null:s}, +aqt(a){var s=a.pointerId +return s==null?null:s}, +am8(a){var s=a.pointerType +return s==null?null:s}, +aqu(a){var s=a.tiltX +return s==null?null:s}, +aqv(a){var s=a.tiltY +return s==null?null:s}, +aqy(a){var s=a.wheelDeltaX +return s==null?null:s}, +aqz(a){var s=a.wheelDeltaY +return s==null?null:s}, +Y2(a,b){a.type=b +return b}, +aqj(a,b){var s=b==null?null:b +a.value=s +return s}, +am5(a){var s=a.value +return s==null?null:s}, +am4(a){var s=a.disabled +return s==null?null:s}, +aqi(a,b){a.disabled=b +return b}, +aqh(a){var s=a.selectionStart +return s==null?null:s}, +aqg(a){var s=a.selectionEnd +return s==null?null:s}, +aqr(a,b){a.height=b +return b}, +aqs(a,b){a.width=b +return b}, +am7(a,b,c){var s +if(c==null)return a.getContext(b) +else{s=A.a5(c) +if(s==null)s=t.K.a(s) +return a.getContext(b,s)}}, +aB3(a,b){var s +if(b===1){s=A.am7(a,"webgl",null) +s.toString +return t.e.a(s)}s=A.am7(a,"webgl2",null) +s.toString +return t.e.a(s)}, +bX(a,b,c){var s=A.bb(c) +a.addEventListener(b,s) +return new A.FY(b,a,s)}, +aJc(a){return new self.ResizeObserver(A.ajV(new A.akv(a)))}, +aJh(a){if(self.window.trustedTypes!=null)return $.ayL().createScriptURL(a) +return a}, +aqw(a){return new A.FU(t.e.a(a[self.Symbol.iterator]()),t.yN)}, +aod(a){var s,r +if(self.Intl.Segmenter==null)throw A.c(A.cc("Intl.Segmenter() is not supported.")) +s=self.Intl.Segmenter +r=t.N +r=A.a5(A.an(["granularity",a],r,r)) +if(r==null)r=t.K.a(r) +return new s([],r)}, +avl(){var s,r +if(self.Intl.v8BreakIterator==null)throw A.c(A.cc("v8BreakIterator is not supported.")) +s=self.Intl.v8BreakIterator +r=A.a5(B.Hp) +if(r==null)r=t.K.a(r) +return new s([],r)}, +Uk(a,b){var s +if(b.j(0,B.h))return a +s=new A.bq(new Float32Array(16)) +s.bc(a) +s.au(0,b.a,b.b) +return s}, +avo(a,b,c){var s=a.afN() +if(c!=null)A.aoD(s,A.Uk(c,b).a) +return s}, +aoC(){var s=0,r=A.z(t.H) +var $async$aoC=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:if(!$.anZ){$.anZ=!0 +self.window.requestAnimationFrame(A.bb(new A.ala()))}return A.x(null,r)}}) +return A.y($async$aoC,r)}, +aBL(a,b){var s=t.S,r=A.cm(null,t.H),q=A.b(["Roboto"],t.s) +s=new A.ZN(a,A.ay(s),A.ay(s),b,B.b.mV(b,new A.ZO()),B.b.mV(b,new A.ZP()),B.b.mV(b,new A.ZQ()),B.b.mV(b,new A.ZR()),B.b.mV(b,new A.ZS()),B.b.mV(b,new A.ZT()),r,q,A.ay(s)) +q=t.Te +s.b=new A.Gj(s,A.ay(q),A.E(t.N,q)) +return s}, +aGq(a,b,c){var s,r,q,p,o,n,m,l,k=A.b([],t.t),j=A.b([],c.h("v<0>")) +for(s=a.length,r=0,q=0,p=1,o=0;o"))}, +Uc(a){return A.aJw(a)}, +aJw(a){var s=0,r=A.z(t.bY),q,p,o,n,m,l +var $async$Uc=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:n={} +l=t.Lk +s=3 +return A.B(A.ug(a.tH("FontManifest.json")),$async$Uc) +case 3:m=l.a(c) +if(!m.gEm()){$.dj().$1("Font manifest does not exist at `"+m.a+"` - ignoring.") +q=new A.wp(A.b([],t.z8)) +s=1 +break}p=B.cI.V2(B.lC) +n.a=null +o=p.j4(new A.Rx(new A.akA(n),[],t.xm)) +s=4 +return A.B(m.gxF().xS(0,new A.akB(o),t.u9),$async$Uc) +case 4:o.aM(0) +n=n.a +if(n==null)throw A.c(A.hC(u.u)) +n=J.kJ(t.j.a(n),new A.akC(),t.VW) +q=new A.wp(A.a7(n,!0,n.$ti.h("aD.E"))) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$Uc,r)}, +aBK(a,b){return new A.wn()}, +qc(){return B.c.P(self.window.performance.now()*1000)}, +Vm(a){var s +$.br() +s=self.window.devicePixelRatio +if(s===0)s=1 +return B.c.d4((a+1)*s)+2}, +Vl(a){var s +$.br() +s=self.window.devicePixelRatio +if(s===0)s=1 +return B.c.d4((a+1)*s)+2}, +azD(a){a.remove()}, +akl(a){if(a==null)return null +switch(a.a){case 3:return"source-over" +case 5:return"source-in" +case 7:return"source-out" +case 9:return"source-atop" +case 4:return"destination-over" +case 6:return"destination-in" +case 8:return"destination-out" +case 10:return"destination-atop" +case 12:return"lighten" +case 1:return"copy" +case 11:return"xor" +case 24:case 13:return"multiply" +case 14:return"screen" +case 15:return"overlay" +case 16:return"darken" +case 17:return"lighten" +case 18:return"color-dodge" +case 19:return"color-burn" +case 20:return"hard-light" +case 21:return"soft-light" +case 22:return"difference" +case 23:return"exclusion" +case 25:return"hue" +case 26:return"saturation" +case 27:return"color" +case 28:return"luminosity" +default:throw A.c(A.cc("Flutter Web does not support the blend mode: "+a.i(0)))}}, +av6(a){switch(a.a){case 0:return B.LQ +case 3:return B.LR +case 5:return B.LS +case 7:return B.LU +case 9:return B.LV +case 4:return B.LW +case 6:return B.LX +case 8:return B.LY +case 10:return B.LZ +case 12:return B.M_ +case 1:return B.M0 +case 11:return B.LT +case 24:case 13:return B.M9 +case 14:return B.Ma +case 15:return B.Md +case 16:return B.Mb +case 17:return B.Mc +case 18:return B.Me +case 19:return B.Mf +case 20:return B.Mg +case 21:return B.M2 +case 22:return B.M3 +case 23:return B.M4 +case 25:return B.M5 +case 26:return B.M6 +case 27:return B.M7 +case 28:return B.M8 +default:return B.M1}}, +avY(a){if(a==null)return null +switch(a.a){case 0:return"butt" +case 1:return"round" +case 2:default:return"square"}}, +aKt(a){switch(a.a){case 1:return"round" +case 2:return"bevel" +case 0:default:return"miter"}}, +anV(a8,a9,b0,b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=null,a5=t.J,a6=A.b([],a5),a7=a8.length +for(s=a4,r=s,q=0;q0){q=p/2 +m-=q +j-=q +s=Math.max(0,s-p) +r=Math.max(0,r-p)}if(m!==o||j!==l||s!==n||r!==k)return new A.D(m,j,m+s,j+r) +return a}, +Ds(a,b,c,d){var s,r,q,p,o,n,m,l,k,j=A.aS(self.document,c),i=b.b===B.Y,h=b.c +if(h==null)h=0 +if(d.rD(0)){s=a.a +r=a.b +q="translate("+A.h(s)+"px, "+A.h(r)+"px)"}else{s=new Float32Array(16) +p=new A.bq(s) +p.bc(d) +r=a.a +o=a.b +p.au(0,r,o) +q=A.fk(s) +s=r +r=o}n=j.style +A.l(n,"position","absolute") +A.l(n,"transform-origin","0 0 0") +A.l(n,"transform",q) +m=A.cP(b.r) +o=b.x +if(o!=null){l=o.b +if($.av().gbx()===B.P&&!i){A.l(n,"box-shadow","0px 0px "+A.h(l*2)+"px "+m) +o=b.r +m=A.cP(((B.c.a2((1-Math.min(Math.sqrt(l)/6.283185307179586,1))*(o>>>24&255))&255)<<24|o&16777215)>>>0)}else A.l(n,"filter","blur("+A.h(l)+"px)")}A.l(n,"width",A.h(a.c-s)+"px") +A.l(n,"height",A.h(a.d-r)+"px") +if(i)A.l(n,"border",A.ku(h)+" solid "+m) +else{A.l(n,"background-color",m) +k=A.aHH(b.w,a) +A.l(n,"background-image",k!==""?"url('"+k+"'":"")}return j}, +aHH(a,b){if(a!=null)if(a instanceof A.wt)return A.by(a.P1(b,1,!0)) +return""}, +av4(a,b){var s,r=b.e,q=b.r,p=!1 +if(r===q){s=b.z +if(r===s){p=b.x +p=r===p&&r===b.f&&q===b.w&&s===b.Q&&p===b.y}}if(p){A.l(a,"border-radius",A.ku(b.z)) +return}A.l(a,"border-top-left-radius",A.ku(r)+" "+A.ku(b.f)) +A.l(a,"border-top-right-radius",A.ku(q)+" "+A.ku(b.w)) +A.l(a,"border-bottom-left-radius",A.ku(b.z)+" "+A.ku(b.Q)) +A.l(a,"border-bottom-right-radius",A.ku(b.x)+" "+A.ku(b.y))}, +ku(a){return B.c.R(a===0?1:a,3)+"px"}, +aqW(a,b,c){return new A.wz(a,b,c)}, +alO(a,b,c){var s,r,q,p,o,n,m +if(0===b){c.push(new A.m(a.c,a.d)) +c.push(new A.m(a.e,a.f)) +return}s=new A.MC() +a.Iw(s) +r=s.a +r.toString +q=s.b +q.toString +p=a.b +o=a.f +if(A.dp(p,a.d,o)){n=r.f +if(!A.dp(p,n,o))m=r.f=q.b=Math.abs(n-p)0){s=b[7] +b[9]=s +b[5]=s +if(o===2){s=b[13] +b[15]=s +b[11]=s}}return o}, +aH8(b0,b1,b2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9=b0.length +if(0===a9)for(s=0;s<8;++s)b2[s]=b1[s] +else{r=b0[0] +for(q=a9-1,p=0,s=0;s0))return 0 +s=1 +r=0}q=h-i +p=g-h +o=f-g +do{n=(r+s)/2 +m=i+q*n +l=h+p*n +k=m+(l-m)*n +j=k+(l+(g+o*n-l)*n-k)*n +if(j===0)return n +if(j<0)s=n +else r=n}while(Math.abs(r-s)>0.0000152587890625) +return(s+r)/2}, +avq(a,b,c,d,e){return(((d+3*(b-c)-a)*e+3*(c-b-b+a))*e+3*(b-a))*e+a}, +anh(){var s=new A.ry(A.arT(),B.b3) +s.LP() +return s}, +aGP(a,b,c){var s +if(0===c)s=0===b||360===b +else s=!1 +if(s)return new A.m(a.c,a.gaR().b) +return null}, +ajJ(a,b,c,d){var s=a+b +if(s<=c)return d +return Math.min(c/s,d)}, +arS(a,b){var s=new A.a6_(a,!0,a.w) +if(a.Q)a.zQ() +if(!a.as)s.z=a.w +return s}, +arT(){var s=new Float32Array(16) +s=new A.qQ(s,new Uint8Array(8)) +s.e=s.c=8 +s.CW=172 +return s}, +aDc(a,b,c){var s,r,q=a.d,p=a.c,o=new Float32Array(p*2),n=a.f,m=q*2 +for(s=0;s0?1:0 +return s}, +Ul(a,b){var s +if(a<0){a=-a +b=-b}if(b===0||a===0||a>=b)return null +s=a/b +if(isNaN(s))return null +if(s===0)return null +return s}, +aK_(a){var s,r,q=a.e,p=a.r +if(q+p!==a.c-a.a)return!1 +s=a.f +r=a.w +if(s+r!==a.d-a.b)return!1 +if(q!==a.z||p!==a.x||s!==a.Q||r!==a.y)return!1 +return!0}, +asE(a,b,c,d,e,f){return new A.a9V(e-2*c+a,f-2*d+b,2*(c-a),2*(d-b),a,b)}, +a62(a,b,c,d,e,f){if(d===f)return A.dp(c,a,e)&&a!==e +else return a===c&&b===d}, +aDd(a){var s,r,q,p,o=a[0],n=a[1],m=a[2],l=a[3],k=a[4],j=a[5],i=n-l,h=A.Ul(i,i-l+j) +if(h!=null){s=o+h*(m-o) +r=n+h*(l-n) +q=m+h*(k-m) +p=l+h*(j-l) +a[2]=s +a[3]=r +a[4]=s+h*(q-s) +a[5]=r+h*(p-r) +a[6]=q +a[7]=p +a[8]=k +a[9]=j +return 1}a[3]=Math.abs(i)=q}, +aKA(a,b,c,d){var s,r,q,p,o=a[1],n=a[3] +if(!A.dp(o,c,n))return +s=a[0] +r=a[2] +if(!A.dp(s,b,r))return +q=r-s +p=n-o +if(!(Math.abs((b-s)*p-q*(c-o))<0.000244140625))return +d.push(new A.m(q,p))}, +aKB(a,b,c,d){var s,r,q,p,o,n,m,l,k,j,i=a[1],h=a[3],g=a[5] +if(!A.dp(i,c,h)&&!A.dp(h,c,g))return +s=a[0] +r=a[2] +q=a[4] +if(!A.dp(s,b,r)&&!A.dp(r,b,q))return +p=new A.jZ() +o=p.kM(i-2*h+g,2*(h-i),i-c) +for(n=q-2*r+s,m=2*(r-s),l=0;l30)B.b.f9($.kz,0).d.l()}else a.d.l()}}, +a66(a,b){if(a<=0)return b*0.1 +else return Math.min(Math.max(b*0.5,a*10),b)}, +aHf(a7,a8,a9){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6 +if(a7!=null){s=a7.a +s=s[15]===1&&s[0]===1&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===1&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===1&&s[11]===0}else s=!0 +if(s)return 1 +r=a7.a +s=r[12] +q=r[15] +p=s*q +o=r[13] +n=o*q +m=r[3] +l=m*a8 +k=r[7] +j=k*a9 +i=1/(l+j+q) +h=r[0] +g=h*a8 +f=r[4] +e=f*a9 +d=(g+e+s)*i +c=r[1] +b=c*a8 +a=r[5] +a0=a*a9 +a1=(b+a0+o)*i +a2=Math.min(p,d) +a3=Math.max(p,d) +a4=Math.min(n,a1) +a5=Math.max(n,a1) +i=1/(m*0+j+q) +d=(h*0+e+s)*i +a1=(c*0+a0+o)*i +p=Math.min(a2,d) +a3=Math.max(a3,d) +n=Math.min(a4,a1) +a5=Math.max(a5,a1) +i=1/(l+k*0+q) +d=(g+f*0+s)*i +a1=(b+a*0+o)*i +p=Math.min(p,d) +a3=Math.max(a3,d) +n=Math.min(n,a1) +a6=Math.min((a3-p)/a8,(Math.max(a5,a1)-n)/a9) +if(a6<1e-9||a6===1)return 1 +if(a6>1){a6=Math.min(4,B.c.d4(a6/2)*2) +s=a8*a9 +if(s*a6*a6>4194304&&a6>2)a6=3355443.2/s}else a6=Math.max(2/B.c.d0(2/a6),0.0001) +return a6}, +u5(a){var s,r=a.a,q=r.x,p=q!=null?0+q.b*2:0 +r=r.c +s=r==null +if((s?0:r)!==0)p+=(s?0:r)*0.70710678118 +return p}, +aJr(a){if($.a83!=null)return +$.a83=new A.a82(a.gcu())}, +aD8(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=B.b.jg(a,new A.a5D()),g=B.b.gT(B.lH)!==1,f=g?3:2,e=f*4,d=new Float32Array(e),c=new Float32Array(e) +e=f-1 +s=B.f.c9(e,4) +r=new Float32Array(4*(s+1)) +for(q=0,p=0;p<2;++p){o=q+1 +s=a[p].a +d[q]=(s>>>16&255)/255 +q=o+1 +d[o]=(s>>>8&255)/255 +o=q+1 +d[q]=(s&255)/255 +q=o+1 +d[o]=(s>>>24&255)/255}for(n=0,p=0;p<2;++p,n=m){m=n+1 +r[n]=B.lH[p]}if(g){o=q+1 +s=B.b.gT(a).a +d[q]=(s>>>16&255)/255 +q=o+1 +d[o]=(s>>>8&255)/255 +d[q]=(s&255)/255 +d[q+1]=(s>>>24&255)/255 +r[n]=1}l=4*e +for(k=0;k>>2 +c[k]=(d[k+4]-d[k])/(r[n+1]-r[n])}c[l]=0 +c[l+1]=0 +c[l+2]=0 +c[l+3]=0 +for(k=0;k 1.0) {") +n.push(" "+a.gQb().a+" = vec4(0, 0, 0, 0);") +n.push(" return;") +n.push("}")}return o}, +aJd(a){if(a==null)return null +switch(0){case 0:return new A.xm(a.a,a.b)}}, +aEw(a){switch(a){case 0:return"bool" +case 1:return"int" +case 2:return"float" +case 3:return"bvec2" +case 4:return"bvec3" +case 5:return"bvec4" +case 6:return"ivec2" +case 7:return"ivec3" +case 8:return"ivec4" +case 9:return"vec2" +case 10:return"vec3" +case 11:return"vec4" +case 12:return"mat2" +case 13:return"mat3" +case 14:return"mat4" +case 15:return"sampler1D" +case 16:return"sampler2D" +case 17:return"sampler3D" +case 18:return"void"}throw A.c(A.cz(null,null))}, +aIR(a){var s,r,q,p=$.al2,o=p.length +if(o!==0)try{if(o>1)B.b.er(p,new A.aks()) +for(p=$.al2,o=p.length,r=0;r=s)return!1 +if(a[n]!==o.charCodeAt(p))continue $label0$0}return!0}return!1}, +aKh(a){$.ky.push(a)}, +akQ(a){return A.aJS(a)}, +aJS(a){var s=0,r=A.z(t.H),q,p,o,n,m +var $async$akQ=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:m={} +if($.Dn!==B.la){s=1 +break}$.Dn=B.Ba +p=A.df() +if(a!=null)p.b=a +p=new A.akS() +o=t.N +A.eQ("ext.flutter.disassemble","method",o) +if(!B.d.bW("ext.flutter.disassemble","ext."))A.ab(A.fn("ext.flutter.disassemble","method","Must begin with ext.")) +if($.auv.k(0,"ext.flutter.disassemble")!=null)A.ab(A.cz("Extension already registered: ext.flutter.disassemble",null)) +A.eQ(p,"handler",t.xd) +$.auv.n(0,"ext.flutter.disassemble",$.ae.a8Q(p,t.Z9,o,t.GU)) +m.a=!1 +$.avV=new A.akT(m) +m=A.df().b +if(m==null)m=null +else{m=m.assetBase +if(m==null)m=null}n=new A.V5(m) +A.aIl(n) +s=3 +return A.B(A.lf(A.b([new A.akU().$0(),A.U2()],t.mo),t.H),$async$akQ) +case 3:$.Dn=B.lb +case 1:return A.x(q,r)}}) +return A.y($async$akQ,r)}, +aoq(){var s=0,r=A.z(t.H),q,p,o,n +var $async$aoq=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:if($.Dn!==B.lb){s=1 +break}$.Dn=B.Bb +p=$.av().gbZ() +if($.Jf==null)$.Jf=A.aDS(p===B.b2) +if($.amA==null)$.amA=A.aCk() +p=A.df().b +if(p==null)p=null +else{p=p.multiViewEnabled +if(p==null)p=null}if(p!==!0){p=A.df().b +p=p==null?null:p.hostElement +if($.ph==null){o=$.az() +n=new A.q0(A.cm(null,t.H),0,o,A.aqG(p),null,B.cK,A.aq6(p)) +n.HL(0,o,p,null) +$.ph=n +p=o.gc_() +o=$.ph +o.toString +p.afd(o)}p=$.ph +p.toString +if($.am() instanceof A.GQ)A.aJr(p)}$.Dn=B.Bc +case 1:return A.x(q,r)}}) +return A.y($async$aoq,r)}, +aIl(a){if(a===$.u4)return +$.u4=a}, +U2(){var s=0,r=A.z(t.H),q,p,o +var $async$U2=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p=$.am() +p.grl().J(0) +q=$.u4 +s=q!=null?2:3 +break +case 2:p=p.grl() +q=$.u4 +q.toString +o=p +s=5 +return A.B(A.Uc(q),$async$U2) +case 5:s=4 +return A.B(o.jF(b),$async$U2) +case 4:case 3:return A.x(null,r)}}) +return A.y($async$U2,r)}, +aBC(a,b){return t.e.a({addView:A.bb(a),removeView:A.bb(new A.Zr(b))})}, +aBE(a,b){var s,r=A.bb(new A.Zw(b)),q=new A.Zx(a) +if(typeof q=="function")A.ab(A.cz("Attempting to rewrap a JS function.",null)) +s=function(c,d){return function(){return c(d)}}(A.aGY,q) +s[$.Um()]=q +return t.e.a({initializeEngine:r,autoStart:s})}, +aBB(a){return t.e.a({runApp:A.bb(new A.Zq(a))})}, +aok(a,b){var s=A.ajV(new A.akH(a,b)) +return new self.Promise(s)}, +anY(a){var s=B.c.P(a) +return A.cR(B.c.P((a-s)*1000),s)}, +aGW(a,b){var s={} +s.a=null +return new A.ajA(s,a,b)}, +aCk(){var s=new A.Hf(A.E(t.N,t.e)) +s.Yr() +return s}, +aCm(a){switch(a.a){case 0:case 4:return new A.x3(A.aoI("M,2\u201ew\u2211wa2\u03a9q\u2021qb2\u02dbx\u2248xc3 c\xd4j\u2206jd2\xfee\xb4ef2\xfeu\xa8ug2\xfe\xff\u02c6ih3 h\xce\xff\u2202di3 i\xc7c\xe7cj2\xd3h\u02d9hk2\u02c7\xff\u2020tl5 l@l\xfe\xff|l\u02dcnm1~mn3 n\u0131\xff\u222bbo2\xaer\u2030rp2\xacl\xd2lq2\xc6a\xe6ar3 r\u03c0p\u220fps3 s\xd8o\xf8ot2\xa5y\xc1yu3 u\xa9g\u02ddgv2\u02dak\uf8ffkw2\xc2z\xc5zx2\u0152q\u0153qy5 y\xcff\u0192f\u02c7z\u03a9zz5 z\xa5y\u2021y\u2039\xff\u203aw.2\u221av\u25cav;4\xb5m\xcds\xd3m\xdfs/2\xb8z\u03a9z")) +case 3:return new A.x3(A.aoI(';b1{bc1&cf1[fg1]gm2y')) +case 1:case 2:case 5:return new A.x3(A.aoI("8a2@q\u03a9qk1&kq3@q\xc6a\xe6aw2xy2\xa5\xff\u2190\xffz51)s.push(new A.lx(B.b.gI(o),B.b.gT(o))) +else s.push(new A.lx(p,null))}return s}, +aHN(a,b){var s=a.h9(b),r=A.aJq(A.by(s.b)) +switch(s.a){case"setDevicePixelRatio":$.br().d=r +$.az().x.$0() +return!0}return!1}, +kC(a,b){if(a==null)return +if(b===$.ae)a.$0() +else b.tk(a)}, +kD(a,b,c){if(a==null)return +if(b===$.ae)a.$1(c) +else b.tm(a,c)}, +aJV(a,b,c,d){if(b===$.ae)a.$2(c,d) +else b.tk(new A.akW(a,c,d))}, +aJy(){var s,r,q,p=self.document.documentElement +p.toString +s=null +if("computedStyleMap" in p){r=p.computedStyleMap() +if(r!=null){q=r.get("font-size") +s=q!=null?q.value:null}}if(s==null)s=A.avN(A.am9(self.window,p).getPropertyValue("font-size")) +return(s==null?16:s)/16}, +aur(a,b){var s +b.toString +t.F.a(b) +s=A.aS(self.document,A.by(J.b5(b,"tagName"))) +A.l(s.style,"width","100%") +A.l(s.style,"height","100%") +return s}, +avi(a){var s,r,q=A.aS(self.document,"flt-platform-view-slot") +A.l(q.style,"pointer-events","auto") +s=A.aS(self.document,"slot") +r=A.a5("flt-pv-slot-"+a) +if(r==null)r=t.K.a(r) +s.setAttribute("name",r) +q.append(s) +return q}, +aJ_(a){switch(a){case 0:return 1 +case 1:return 4 +case 2:return 2 +default:return B.f.Uk(1,a)}}, +arn(a,b,c,d){var s,r,q=A.bb(b) +if(c==null)A.bW(d,a,q,null) +else{s=t.K +r=A.a5(A.an(["passive",c],t.N,s)) +s=r==null?s.a(r):r +d.addEventListener(a,q,s)}return new A.Ht(a,d,q)}, +t3(a){var s=B.c.P(a) +return A.cR(B.c.P((a-s)*1000),s)}, +avd(a,b){var s,r,q,p,o=b.gcu().a,n=$.bi +if((n==null?$.bi=A.d1():n).b&&a.offsetX===0&&a.offsetY===0)return A.aHe(a,o) +n=b.gcu() +s=a.target +s.toString +if(n.e.contains(s)){n=$.DV() +r=n.gfg().w +if(r!=null){a.target.toString +n.gfg().c.toString +q=new A.bq(r.c).t7(a.offsetX,a.offsetY,0) +return new A.m(q.a,q.b)}}if(!J.e(a.target,o)){p=o.getBoundingClientRect() +return new A.m(a.clientX-p.x,a.clientY-p.y)}return new A.m(a.offsetX,a.offsetY)}, +aHe(a,b){var s,r,q=a.clientX,p=a.clientY +for(s=b;s.offsetParent!=null;s=r){q-=s.offsetLeft-s.scrollLeft +p-=s.offsetTop-s.scrollTop +r=s.offsetParent +r.toString}return new A.m(q,p)}, +ale(a,b){var s=b.$0() +return s}, +aDS(a){var s=new A.a6R(A.E(t.N,t.qe),a) +s.Yw(a) +return s}, +aId(a){}, +aom(a,b){return a[b]}, +avN(a){var s=self.window.parseFloat(a) +if(s==null||isNaN(s))return null +return s}, +aKe(a){var s,r,q=null +if("computedStyleMap" in a){s=a.computedStyleMap() +if(s!=null){r=s.get("font-size") +q=r!=null?r.value:null}}return q==null?A.avN(A.am9(self.window,a).getPropertyValue("font-size")):q}, +aKM(a,b){var s,r=self.document.createElement("CANVAS") +if(r==null)return null +try{A.l9(r,a) +A.l8(r,b)}catch(s){return null}return r}, +rR(a){var s=a.format +return s==null?null:s}, +arJ(){var s=$.arI +if(s==null)s=$.arI=$.av().gbx()!==B.P&&"OffscreenCanvas" in self.window +return s}, +apu(a){var s=a===B.h5?"assertive":"polite",r=A.aS(self.document,"flt-announcement-"+s),q=r.style +A.l(q,"position","fixed") +A.l(q,"overflow","hidden") +A.l(q,"transform","translate(-99999px, -99999px)") +A.l(q,"width","1px") +A.l(q,"height","1px") +q=A.a5(s) +if(q==null)q=t.K.a(q) +r.setAttribute("aria-live",q) +return r}, +aH6(a){var s=a.a +if((s&256)!==0)return B.SB +else if((s&65536)!==0)return B.SC +else return B.SA}, +aAH(a){var s=new A.FH(B.fi,a),r=A.y7(s.bh(0),a) +s.a!==$&&A.bz() +s.a=r +s.Yk(a) +return s}, +amj(a,b){return new A.Gu(new A.E1(a.k3),a,b)}, +aCa(a){var s=new A.a0N(A.aS(self.document,"input"),new A.E1(a.k3),B.vU,a),r=A.y7(s.bh(0),a) +s.a!==$&&A.bz() +s.a=r +s.Yp(a) +return s}, +aEC(){var s,r,q,p,o,n,m,l,k,j,i=$.Kw +$.Kw=null +if(i==null||i.length===0)return +s=A.b([],t.Nt) +for(r=i.length,q=0;p=i.length,q")).bD(0," ") +return r.length!==0?r:null}, +y7(a,b){var s,r=a.style +A.l(r,"position","absolute") +A.l(r,"overflow","visible") +r=b.k2 +s=A.a5("flt-semantic-node-"+r) +if(s==null)s=t.K.a(s) +a.setAttribute("id",s) +if(r===0&&!A.df().gD9()){A.l(a.style,"filter","opacity(0%)") +A.l(a.style,"color","rgba(0,0,0,0)")}if(A.df().gD9())A.l(a.style,"outline","1px solid green") +return a}, +a9s(a){var s=a.style +s.removeProperty("transform-origin") +s.removeProperty("transform") +if($.av().gbZ()===B.an||$.av().gbZ()===B.b2){s=a.style +A.l(s,"top","0px") +A.l(s,"left","0px")}else{s=a.style +s.removeProperty("top") +s.removeProperty("left")}}, +d1(){var s,r,q,p=A.aS(self.document,"flt-announcement-host") +self.document.body.append(p) +s=A.apu(B.h4) +r=A.apu(B.h5) +p.append(s) +p.append(r) +q=B.jf.p(0,$.av().gbZ())?new A.Xx():new A.a4Q() +return new A.YY(new A.UG(s,r),new A.Z2(),new A.a9o(q),B.cn,A.b([],t.s2))}, +aBn(a){var s=t.S,r=t.UF +r=new A.YZ(a,A.E(s,r),A.E(s,r),A.b([],t.Qo),A.b([],t.c)) +r.Ym(a) +return r}, +aot(a){var s,r,q,p,o,n,m,l,k=a.length,j=t.t,i=A.b([],j),h=A.b([0],j) +for(s=0,r=0;r=h.length)h.push(r) +else h[o]=r +if(o>s)s=o}m=A.bc(s,0,!1,t.S) +l=h[s] +for(r=s-1;r>=0;--r){m[r]=l +l=i[l]}return m}, +L1(a,b){var s=new A.L0(a,b) +s.YB(a,b) +return s}, +aEt(a){var s,r=$.zc +if(r!=null)s=r.a===a +else s=!1 +if(s){r.toString +return r}return $.zc=new A.a9y(a,A.b([],t.Up),$,$,$,null)}, +anw(){var s=new Uint8Array(0),r=new DataView(new ArrayBuffer(8)) +return new A.aco(new A.Lq(s,0),r,A.d2(r.buffer,0,null))}, +ave(a){if(a===0)return B.h +return new A.m(200*a/600,400*a/600)}, +aIW(a,b){var s,r,q,p,o,n +if(b===0)return a +s=a.c +r=a.a +q=a.d +p=a.b +o=b*((800+(s-r)*0.5)/600) +n=b*((800+(q-p)*0.5)/600) +return new A.D(r-o,p-n,s+o,q+n).cY(A.ave(b)).eh(20)}, +aIY(a,b){if(b===0)return null +return new A.aaB(Math.min(b*((800+(a.c-a.a)*0.5)/600),b*((800+(a.d-a.b)*0.5)/600)),A.ave(b))}, +avj(){var s=self.document.createElementNS("http://www.w3.org/2000/svg","svg"),r=A.a5("1.1") +if(r==null)r=t.K.a(r) +s.setAttribute("version",r) +return s}, +a8o(a,b){a.valueAsString=b +return b}, +a8m(a,b){a.baseVal=b +return b}, +rc(a,b){a.baseVal=b +return b}, +a8n(a,b){a.baseVal=b +return b}, +amC(a,b,c,d,e,f,g,h){return new A.hd($,$,$,$,$,$,$,$,$,0,c,d,e,f,g,h,a,b)}, +arj(a,b,c,d,e,f){var s=new A.a1B(d,f,a,b,e,c) +s.pX() +return s}, +avp(){var s=$.akb +if(s==null){s=t.jQ +s=$.akb=new A.kb(A.ao7(u.K,937,B.lS,s),B.aL,A.E(t.S,s),t.MX)}return s}, +aCp(a){if(self.Intl.v8BreakIterator!=null)return new A.ac8(A.avl(),a) +return new A.Z7(a)}, +av7(a,b,c){var s,r,q,p,o,n,m,l,k=A.b([],t._f) +c.adoptText(b) +c.first() +for(s=a.length,r=0;c.next()!==-1;r=q){q=B.c.P(c.current()) +for(p=r,o=0,n=0;p0){k.push(new A.ls(B.bT,o,n,r,p)) +r=p +o=0 +n=0}}if(o>0)l=B.bt +else l=q===s?B.bu:B.bT +k.push(new A.ls(l,o,n,r,q))}if(k.length===0||B.b.gT(k).c===B.bt)k.push(new A.ls(B.bu,0,0,s,s)) +return k}, +aHd(a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a={},a0=A.b([],t._f) +a.a=a.b=null +s=A.Du(a1,0) +r=A.avp().ob(s) +a.c=a.d=a.e=a.f=0 +q=new A.ajI(a,a1,a0) +q.$2(B.r,2) +p=++a.f +for(o=a1.length,n=t.jQ,m=t.S,l=t.MX,k=B.aL,j=0;p<=o;p=++a.f){a.b=a.a +a.a=r +if(s!=null&&s>65535){q.$2(B.r,-1) +p=++a.f}s=A.Du(a1,p) +p=$.akb +r=(p==null?$.akb=new A.kb(A.ao7(u.K,937,B.lS,n),B.aL,A.E(m,n),l):p).ob(s) +i=a.a +j=i===B.eR?j+1:0 +if(i===B.dj||i===B.eP){q.$2(B.bt,5) +continue}if(i===B.eT){if(r===B.dj)q.$2(B.r,5) +else q.$2(B.bt,5) +continue}if(r===B.dj||r===B.eP||r===B.eT){q.$2(B.r,6) +continue}p=a.f +if(p>=o)break +if(r===B.cp||r===B.i9){q.$2(B.r,7) +continue}if(i===B.cp){q.$2(B.bT,18) +continue}if(i===B.i9){q.$2(B.bT,8) +continue}if(i===B.ia){q.$2(B.r,8) +continue}h=i===B.i4 +if(!h)k=i==null?B.aL:i +if(r===B.i4||r===B.ia){if(k!==B.cp){if(k===B.eR)--j +q.$2(B.r,9) +r=k +continue}r=B.aL}if(h){a.a=k +h=k}else h=i +if(r===B.ic||h===B.ic){q.$2(B.r,11) +continue}if(h===B.i7){q.$2(B.r,12) +continue}g=h!==B.cp +if(!(!g||h===B.eM||h===B.di)&&r===B.i7){q.$2(B.r,12) +continue}if(g)g=r===B.i6||r===B.dh||r===B.lF||r===B.eN||r===B.i5 +else g=!1 +if(g){q.$2(B.r,13) +continue}if(h===B.dg){q.$2(B.r,14) +continue}g=h===B.ig +if(g&&r===B.dg){q.$2(B.r,15) +continue}f=h!==B.i6 +if((!f||h===B.dh)&&r===B.i8){q.$2(B.r,16) +continue}if(h===B.ib&&r===B.ib){q.$2(B.r,17) +continue}if(g||r===B.ig){q.$2(B.r,19) +continue}if(h===B.ie||r===B.ie){q.$2(B.bT,20) +continue}if(r===B.eM||r===B.di||r===B.i8||h===B.lD){q.$2(B.r,21) +continue}if(a.b===B.aK)g=h===B.di||h===B.eM +else g=!1 +if(g){q.$2(B.r,21) +continue}g=h===B.i5 +if(g&&r===B.aK){q.$2(B.r,21) +continue}if(r===B.lE){q.$2(B.r,22) +continue}e=h!==B.aL +if(!((!e||h===B.aK)&&r===B.bv))if(h===B.bv)d=r===B.aL||r===B.aK +else d=!1 +else d=!0 +if(d){q.$2(B.r,23) +continue}d=h===B.eU +if(d)c=r===B.id||r===B.eQ||r===B.eS +else c=!1 +if(c){q.$2(B.r,23) +continue}if((h===B.id||h===B.eQ||h===B.eS)&&r===B.bU){q.$2(B.r,23) +continue}c=!d +if(!c||h===B.bU)b=r===B.aL||r===B.aK +else b=!1 +if(b){q.$2(B.r,24) +continue}if(!e||h===B.aK)b=r===B.eU||r===B.bU +else b=!1 +if(b){q.$2(B.r,24) +continue}if(!f||h===B.dh||h===B.bv)f=r===B.bU||r===B.eU +else f=!1 +if(f){q.$2(B.r,25) +continue}f=h!==B.bU +if((!f||d)&&r===B.dg){q.$2(B.r,25) +continue}if((!f||!c||h===B.di||h===B.eN||h===B.bv||g)&&r===B.bv){q.$2(B.r,25) +continue}g=h===B.eO +if(g)f=r===B.eO||r===B.dk||r===B.dm||r===B.dn +else f=!1 +if(f){q.$2(B.r,26) +continue}f=h!==B.dk +if(!f||h===B.dm)c=r===B.dk||r===B.dl +else c=!1 +if(c){q.$2(B.r,26) +continue}c=h!==B.dl +if((!c||h===B.dn)&&r===B.dl){q.$2(B.r,26) +continue}if((g||!f||!c||h===B.dm||h===B.dn)&&r===B.bU){q.$2(B.r,27) +continue}if(d)g=r===B.eO||r===B.dk||r===B.dl||r===B.dm||r===B.dn +else g=!1 +if(g){q.$2(B.r,27) +continue}if(!e||h===B.aK)g=r===B.aL||r===B.aK +else g=!1 +if(g){q.$2(B.r,28) +continue}if(h===B.eN)g=r===B.aL||r===B.aK +else g=!1 +if(g){q.$2(B.r,29) +continue}g=!1 +if(!e||h===B.aK||h===B.bv)if(r===B.dg){g=a1.charCodeAt(p) +f=!0 +if(g!==9001)if(!(g>=12296&&g<=12317))g=g>=65047&&g<=65378 +else g=f +else g=f +g=!g}if(g){q.$2(B.r,30) +continue}g=!1 +if(h===B.dh){p=a1.charCodeAt(p-1) +f=!0 +if(p!==9001)if(!(p>=12296&&p<=12317))p=p>=65047&&p<=65378 +else p=f +else p=f +if(!p)p=r===B.aL||r===B.aK||r===B.bv +else p=g}else p=g +if(p){q.$2(B.r,30) +continue}if(r===B.eR){if((j&1)===1)q.$2(B.r,30) +else q.$2(B.bT,30) +continue}if(h===B.eQ&&r===B.eS){q.$2(B.r,30) +continue}q.$2(B.bT,31)}q.$2(B.bu,3) +return a0}, +mK(a,b,c,d,e){var s,r,q,p +if(c===d)return 0 +s=a.font +if(c===$.auI&&d===$.auH&&b===$.auJ&&s===$.auG)r=$.auK +else{q=c===0&&d===b.length?b:B.d.ak(b,c,d) +p=a.measureText(q).width +if(p==null)p=null +p.toString +r=p}$.auI=c +$.auH=d +$.auJ=b +$.auG=s +$.auK=r +if(e==null)e=0 +return B.c.a2((e!==0?r+e*(d-c):r)*100)/100}, +aqI(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,a0,a1,a2,a3){var s=g==null,r=s?"":g +return new A.w1(b,c,d,e,f,m,k,a2,!s,r,h,i,l,j,q,a3,o,p,a0,a,n,a1)}, +aoi(a){switch(a){case 0:return"100" +case 1:return"200" +case 2:return"300" +case 3:return"normal" +case 4:return"500" +case 5:return"600" +case 6:return"bold" +case 7:return"800" +case 8:return"900"}return""}, +aIm(a){var s,r,q,p,o=a.length +if(o===0)return"" +for(s=0,r="";s=48&&q<=57))s=q>=1632&&q<=1641 +else s=!0 +if(s)return B.p +r=$.apd().ob(q) +if(r!=null)return r +return null}, +ao_(a,b){var s=A.Du(a,b) +s.toString +if(s>=48&&s<=57)return B.eD +if(s>=1632&&s<=1641)return B.ls +switch($.apd().ob(s)){case B.p:return B.lr +case B.T:return B.ls +case null:case void 0:return B.i_}}, +Du(a,b){var s,r +if(b<0||b>=a.length)return null +s=a.charCodeAt(b) +if((s&63488)===55296&&b>>6&31)+1<<16|(r&63)<<10|a.charCodeAt(b+1)&1023}return s}, +aFj(a,b,c){return new A.kb(a,b,A.E(t.S,c),c.h("kb<0>"))}, +aFk(a,b,c,d,e){return new A.kb(A.ao7(a,b,c,e),d,A.E(t.S,e),e.h("kb<0>"))}, +ao7(a,b,c,d){var s,r,q,p,o,n=A.b([],d.h("v>")),m=a.length +for(s=d.h("ck<0>"),r=0;r=0&&q<=r))break +q+=s +if(A.aFy(b,q))break}return A.mH(q,0,r)}, +aFy(a,b){var s,r,q,p,o,n,m,l,k,j=null +if(b<=0||b>=a.length)return!0 +s=b-1 +if((a.charCodeAt(s)&63488)===55296)return!1 +r=$.DW().wH(0,a,b) +q=$.DW().wH(0,a,s) +if(q===B.fK&&r===B.fL)return!1 +if(A.dE(q,B.jM,B.fK,B.fL,j,j))return!0 +if(A.dE(r,B.jM,B.fK,B.fL,j,j))return!0 +if(q===B.jL&&r===B.jL)return!1 +if(A.dE(r,B.e6,B.e7,B.e5,j,j))return!1 +for(p=0;A.dE(q,B.e6,B.e7,B.e5,j,j);){++p +s=b-p-1 +if(s<0)return!0 +o=$.DW() +n=A.Du(a,s) +q=n==null?o.b:o.ob(n)}if(A.dE(q,B.aX,B.au,j,j,j)&&A.dE(r,B.aX,B.au,j,j,j))return!1 +m=0 +do{++m +l=$.DW().wH(0,a,b+m)}while(A.dE(l,B.e6,B.e7,B.e5,j,j)) +do{++p +k=$.DW().wH(0,a,b-p-1)}while(A.dE(k,B.e6,B.e7,B.e5,j,j)) +if(A.dE(q,B.aX,B.au,j,j,j)&&A.dE(r,B.jJ,B.e4,B.cM,j,j)&&A.dE(l,B.aX,B.au,j,j,j))return!1 +if(A.dE(k,B.aX,B.au,j,j,j)&&A.dE(q,B.jJ,B.e4,B.cM,j,j)&&A.dE(r,B.aX,B.au,j,j,j))return!1 +s=q===B.au +if(s&&r===B.cM)return!1 +if(s&&r===B.jI&&l===B.au)return!1 +if(k===B.au&&q===B.jI&&r===B.au)return!1 +s=q===B.bm +if(s&&r===B.bm)return!1 +if(A.dE(q,B.aX,B.au,j,j,j)&&r===B.bm)return!1 +if(s&&A.dE(r,B.aX,B.au,j,j,j))return!1 +if(k===B.bm&&A.dE(q,B.jK,B.e4,B.cM,j,j)&&r===B.bm)return!1 +if(s&&A.dE(r,B.jK,B.e4,B.cM,j,j)&&l===B.bm)return!1 +if(q===B.e8&&r===B.e8)return!1 +if(A.dE(q,B.aX,B.au,B.bm,B.e8,B.fJ)&&r===B.fJ)return!1 +if(q===B.fJ&&A.dE(r,B.aX,B.au,B.bm,B.e8,j))return!1 +return!0}, +dE(a,b,c,d,e,f){if(a===b)return!0 +if(a===c)return!0 +if(d!=null&&a===d)return!0 +if(e!=null&&a===e)return!0 +if(f!=null&&a===f)return!0 +return!1}, +aBk(a){switch(a){case"TextInputAction.continueAction":case"TextInputAction.next":return B.z4 +case"TextInputAction.previous":return B.zd +case"TextInputAction.done":return B.yB +case"TextInputAction.go":return B.yS +case"TextInputAction.newline":return B.yF +case"TextInputAction.search":return B.zj +case"TextInputAction.send":return B.zk +case"TextInputAction.emergencyCall":case"TextInputAction.join":case"TextInputAction.none":case"TextInputAction.route":case"TextInputAction.unspecified":default:return B.z5}}, +aqH(a,b,c){switch(a){case"TextInputType.number":return b?B.yw:B.z7 +case"TextInputType.phone":return B.zb +case"TextInputType.emailAddress":return B.yC +case"TextInputType.url":return B.zu +case"TextInputType.multiline":return B.z1 +case"TextInputType.none":return c?B.z2:B.z6 +case"TextInputType.text":default:return B.zr}}, +aF0(a){var s +if(a==="TextCapitalization.words")s=B.x5 +else if(a==="TextCapitalization.characters")s=B.x7 +else s=a==="TextCapitalization.sentences"?B.x6:B.jx +return new A.zH(s)}, +aHo(a){}, +U8(a,b,c,d){var s="transparent",r="none",q=a.style +A.l(q,"white-space","pre-wrap") +A.l(q,"align-content","center") +A.l(q,"padding","0") +A.l(q,"opacity","1") +A.l(q,"color",s) +A.l(q,"background-color",s) +A.l(q,"background",s) +A.l(q,"outline",r) +A.l(q,"border",r) +A.l(q,"resize",r) +A.l(q,"text-shadow",s) +A.l(q,"transform-origin","0 0 0") +if(b){A.l(q,"top","-9999px") +A.l(q,"left","-9999px")}if(d){A.l(q,"width","0") +A.l(q,"height","0")}if(c)A.l(q,"pointer-events",r) +if($.av().gbx()===B.bJ||$.av().gbx()===B.P)a.classList.add("transparentTextEditing") +A.l(q,"caret-color",s)}, +aHt(a,b){var s,r=a.isConnected +if(r==null)r=null +if(r!==!0)return +s=$.az().gc_().rk(a) +if(s==null)return +if(s.a!==b)A.ak1(a,b)}, +ak1(a,b){$.az().gc_().b.k(0,b).gcu().e.append(a)}, +aBj(a5,a6,a7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4 +if(a6==null)return null +s=t.N +r=A.E(s,t.e) +q=A.E(s,t.M1) +p=A.aS(self.document,"form") +o=$.DV().gfg() instanceof A.rd +p.noValidate=!0 +p.method="post" +p.action="#" +A.bW(p,"submit",$.alu(),null) +A.U8(p,!1,o,!0) +n=J.nF(0,s) +m=A.alH(a6,B.x4) +l=null +if(a7!=null)for(s=t.a,k=J.pn(a7,s),j=k.$ti,k=new A.bR(k,k.gu(0),j.h("bR")),i=m.b,j=j.h("X.E"),h=!o,g=!1;k.q();){f=k.d +if(f==null)f=j.a(f) +e=J.ax(f) +d=s.a(e.k(f,"autofill")) +c=A.by(e.k(f,"textCapitalization")) +if(c==="TextCapitalization.words")c=B.x5 +else if(c==="TextCapitalization.characters")c=B.x7 +else c=c==="TextCapitalization.sentences"?B.x6:B.jx +b=A.alH(d,new A.zH(c)) +c=b.b +n.push(c) +if(c!==i){a=A.aqH(A.by(J.b5(s.a(e.k(f,"inputType")),"name")),!1,!1).wf() +b.a.dQ(a) +b.dQ(a) +A.U8(a,!1,o,h) +q.n(0,c,b) +r.n(0,c,a) +p.append(a) +if(g){l=a +g=!1}}else g=!0}else n.push(m.b) +B.b.hy(n) +for(s=n.length,a0=0,k="";a00?k+"*":k)+a1}a2=k.charCodeAt(0)==0?k:k +a3=$.Ud.k(0,a2) +if(a3!=null)a3.remove() +a4=A.aS(self.document,"input") +A.Y1(a4,-1) +A.U8(a4,!0,!1,!0) +a4.className="submitBtn" +A.Y2(a4,"submit") +p.append(a4) +return new A.YF(p,r,q,l==null?a4:l,a2,a5)}, +alH(a,b){var s,r=J.ax(a),q=A.by(r.k(a,"uniqueIdentifier")),p=t.kc.a(r.k(a,"hints")),o=p==null||J.fX(p)?null:A.by(J.ip(p)),n=A.aqD(t.a.a(r.k(a,"editingValue"))) +if(o!=null){s=$.aw5().a.k(0,o) +if(s==null)s=o}else s=null +return new A.El(n,q,s,A.cO(r.k(a,"hintText")))}, +ao5(a,b,c){var s=c.a,r=c.b,q=Math.min(s,r) +r=Math.max(s,r) +return B.d.ak(a,0,q)+b+B.d.fh(a,r)}, +aF1(a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g=a4.a,f=a4.b,e=a4.c,d=a4.d,c=a4.e,b=a4.f,a=a4.r,a0=a4.w,a1=new A.rE(g,f,e,d,c,b,a,a0) +c=a3==null +b=c?null:a3.b +s=b==(c?null:a3.c) +b=f.length +r=b===0 +q=r&&d!==-1 +r=!r +p=r&&!s +if(q){o=g.length-a2.a.length +e=a2.b +if(e!==(c?null:a3.b)){e=d-o +a1.c=e}else{a1.c=e +d=e+o +a1.d=d}}else if(p){e=a3.b +c=a3.c +if(e>c)e=c +a1.c=e}n=a!=null&&a!==a0 +if(r&&s&&n){a.toString +e=a1.c=a}if(!(e===-1&&e===d)){m=A.ao5(g,f,new A.cj(e,d)) +e=a2.a +e.toString +if(m!==e){l=B.d.p(f,".") +k=A.i_(A.aoz(f),!0,!1) +d=new A.acv(k,e,0) +c=t.Qz +a=g.length +for(;d.q();){j=d.d +a0=(j==null?c.a(j):j).b +r=a0.index +if(!(r>=0&&r+a0[0].length<=a)){i=r+b-1 +h=A.ao5(g,f,new A.cj(r,i))}else{i=l?r+a0[0].length-1:r+a0[0].length +h=A.ao5(g,f,new A.cj(r,i))}if(h===e){a1.c=r +a1.d=i +break}}}}a1.e=a2.b +a1.f=a2.c +return a1}, +vS(a,b,c,d,e){var s,r=a==null?0:a +r=Math.max(0,r) +s=d==null?0:d +return new A.pY(e,r,Math.max(0,s),b,c)}, +aqD(a){var s=J.ax(a),r=A.cO(s.k(a,"text")),q=B.c.P(A.mE(s.k(a,"selectionBase"))),p=B.c.P(A.mE(s.k(a,"selectionExtent"))),o=A.Hb(a,"composingBase"),n=A.Hb(a,"composingExtent") +s=o==null?-1:o +return A.vS(q,s,n==null?-1:n,p,r)}, +aqC(a){var s,r,q,p=null,o=globalThis.HTMLInputElement +if(o!=null&&a instanceof o){s=a.selectionDirection +if((s==null?p:s)==="backward"){s=A.am5(a) +r=A.aqg(a) +r=r==null?p:B.c.P(r) +q=A.aqh(a) +return A.vS(r,-1,-1,q==null?p:B.c.P(q),s)}else{s=A.am5(a) +r=A.aqh(a) +r=r==null?p:B.c.P(r) +q=A.aqg(a) +return A.vS(r,-1,-1,q==null?p:B.c.P(q),s)}}else{o=globalThis.HTMLTextAreaElement +if(o!=null&&a instanceof o){s=a.selectionDirection +if((s==null?p:s)==="backward"){s=A.aqm(a) +r=A.aqk(a) +r=r==null?p:B.c.P(r) +q=A.aql(a) +return A.vS(r,-1,-1,q==null?p:B.c.P(q),s)}else{s=A.aqm(a) +r=A.aql(a) +r=r==null?p:B.c.P(r) +q=A.aqk(a) +return A.vS(r,-1,-1,q==null?p:B.c.P(q),s)}}else throw A.c(A.a1("Initialized with unsupported input type"))}}, +ar4(a){var s,r,q,p,o,n,m,l,k,j="inputType",i="autofill",h=A.Hb(a,"viewId") +if(h==null)h=0 +s=J.ax(a) +r=t.a +q=A.by(J.b5(r.a(s.k(a,j)),"name")) +p=A.u3(J.b5(r.a(s.k(a,j)),"decimal")) +o=A.u3(J.b5(r.a(s.k(a,j)),"isMultiline")) +q=A.aqH(q,p===!0,o===!0) +p=A.cO(s.k(a,"inputAction")) +if(p==null)p="TextInputAction.done" +o=A.u3(s.k(a,"obscureText")) +n=A.u3(s.k(a,"readOnly")) +m=A.u3(s.k(a,"autocorrect")) +l=A.aF0(A.by(s.k(a,"textCapitalization"))) +r=s.a9(a,i)?A.alH(r.a(s.k(a,i)),B.x4):null +k=A.Hb(a,"viewId") +if(k==null)k=0 +k=A.aBj(k,t.nA.a(s.k(a,i)),t.kc.a(s.k(a,"fields"))) +s=A.u3(s.k(a,"enableDeltaModel")) +return new A.a0T(h,q,p,n===!0,o===!0,m!==!1,s===!0,r,k,l)}, +aBS(a){return new A.GH(a,A.b([],t.Up),$,$,$,null)}, +aq3(a,b,c){A.c7(B.q,new A.Xt(a,b,c))}, +aKi(){$.Ud.W(0,new A.al8())}, +aIN(){var s,r,q +for(s=$.Ud.gaI(0),r=A.o(s),s=new A.bt(J.al(s.a),s.b,r.h("bt<1,2>")),r=r.y[1];s.q();){q=s.a +if(q==null)q=r.a(q) +q.remove()}$.Ud.J(0)}, +aBc(a){var s=J.ax(a),r=A.hT(J.kJ(t.j.a(s.k(a,"transform")),new A.Yo(),t.z),!0,t.i) +return new A.Yn(A.mE(s.k(a,"width")),A.mE(s.k(a,"height")),new Float32Array(A.kw(r)))}, +aoD(a,b){var s=a.style +A.l(s,"transform-origin","0 0 0") +A.l(s,"transform",A.fk(b))}, +fk(a){var s=A.alf(a) +if(s===B.xj)return"matrix("+A.h(a[0])+","+A.h(a[1])+","+A.h(a[4])+","+A.h(a[5])+","+A.h(a[12])+","+A.h(a[13])+")" +else if(s===B.fE)return A.aJB(a) +else return"none"}, +alf(a){if(!(a[15]===1&&a[14]===0&&a[11]===0&&a[10]===1&&a[9]===0&&a[8]===0&&a[7]===0&&a[6]===0&&a[3]===0&&a[2]===0))return B.fE +if(a[0]===1&&a[1]===0&&a[4]===0&&a[5]===1&&a[12]===0&&a[13]===0)return B.xi +else return B.xj}, +aJB(a){var s=a[0] +if(s===1&&a[1]===0&&a[2]===0&&a[3]===0&&a[4]===0&&a[5]===1&&a[6]===0&&a[7]===0&&a[8]===0&&a[9]===0&&a[10]===1&&a[11]===0&&a[14]===0&&a[15]===1)return"translate3d("+A.h(a[12])+"px, "+A.h(a[13])+"px, 0px)" +else return"matrix3d("+A.h(s)+","+A.h(a[1])+","+A.h(a[2])+","+A.h(a[3])+","+A.h(a[4])+","+A.h(a[5])+","+A.h(a[6])+","+A.h(a[7])+","+A.h(a[8])+","+A.h(a[9])+","+A.h(a[10])+","+A.h(a[11])+","+A.h(a[12])+","+A.h(a[13])+","+A.h(a[14])+","+A.h(a[15])+")"}, +uo(a,b){var s=$.ayK() +s[0]=b.a +s[1]=b.b +s[2]=b.c +s[3]=b.d +A.aoH(a,s) +return new A.D(s[0],s[1],s[2],s[3])}, +aoH(a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=$.apc() +a0[0]=a2[0] +a0[4]=a2[1] +a0[8]=0 +a0[12]=1 +a0[1]=a2[2] +a0[5]=a2[1] +a0[9]=0 +a0[13]=1 +a0[2]=a2[0] +a0[6]=a2[3] +a0[10]=0 +a0[14]=1 +a0[3]=a2[2] +a0[7]=a2[3] +a0[11]=0 +a0[15]=1 +s=$.ayJ().a +r=s[0] +q=s[4] +p=s[8] +o=s[12] +n=s[1] +m=s[5] +l=s[9] +k=s[13] +j=s[2] +i=s[6] +h=s[10] +g=s[14] +f=s[3] +e=s[7] +d=s[11] +c=s[15] +b=a1.a +s[0]=r*b[0]+q*b[4]+p*b[8]+o*b[12] +s[4]=r*b[1]+q*b[5]+p*b[9]+o*b[13] +s[8]=r*b[2]+q*b[6]+p*b[10]+o*b[14] +s[12]=r*b[3]+q*b[7]+p*b[11]+o*b[15] +s[1]=n*b[0]+m*b[4]+l*b[8]+k*b[12] +s[5]=n*b[1]+m*b[5]+l*b[9]+k*b[13] +s[9]=n*b[2]+m*b[6]+l*b[10]+k*b[14] +s[13]=n*b[3]+m*b[7]+l*b[11]+k*b[15] +s[2]=j*b[0]+i*b[4]+h*b[8]+g*b[12] +s[6]=j*b[1]+i*b[5]+h*b[9]+g*b[13] +s[10]=j*b[2]+i*b[6]+h*b[10]+g*b[14] +s[14]=j*b[3]+i*b[7]+h*b[11]+g*b[15] +s[3]=f*b[0]+e*b[4]+d*b[8]+c*b[12] +s[7]=f*b[1]+e*b[5]+d*b[9]+c*b[13] +s[11]=f*b[2]+e*b[6]+d*b[10]+c*b[14] +s[15]=f*b[3]+e*b[7]+d*b[11]+c*b[15] +a=b[15] +if(a===0)a=1 +a2[0]=Math.min(Math.min(Math.min(a0[0],a0[1]),a0[2]),a0[3])/a +a2[1]=Math.min(Math.min(Math.min(a0[4],a0[5]),a0[6]),a0[7])/a +a2[2]=Math.max(Math.max(Math.max(a0[0],a0[1]),a0[2]),a0[3])/a +a2[3]=Math.max(Math.max(Math.max(a0[4],a0[5]),a0[6]),a0[7])/a}, +avT(a,b){return a.a<=b.a&&a.b<=b.b&&a.c>=b.c&&a.d>=b.d}, +cP(a){var s,r +if(a===4278190080)return"#000000" +if((a&4278190080)>>>0===4278190080){s=B.f.ia(a&16777215,16) +switch(s.length){case 1:return"#00000"+s +case 2:return"#0000"+s +case 3:return"#000"+s +case 4:return"#00"+s +case 5:return"#0"+s +default:return"#"+s}}else{r=""+"rgba("+B.f.i(a>>>16&255)+","+B.f.i(a>>>8&255)+","+B.f.i(a&255)+","+B.c.i((a>>>24&255)/255)+")" +return r.charCodeAt(0)==0?r:r}}, +aIP(a,b,c,d){var s=""+a,r=""+b,q=""+c +if(d===255)return"rgb("+s+","+r+","+q+")" +else return"rgba("+s+","+r+","+q+","+B.c.R(d/255,2)+")"}, +auy(){if($.av().gbZ()===B.an){var s=$.av().gq9() +s=B.d.p(s,"OS 15_")}else s=!1 +if(s)return"BlinkMacSystemFont" +if($.av().gbZ()===B.an||$.av().gbZ()===B.b2)return"-apple-system, BlinkMacSystemFont" +return"Arial"}, +akr(a){if(B.Ki.p(0,a))return a +if($.av().gbZ()===B.an||$.av().gbZ()===B.b2)if(a===".SF Pro Text"||a===".SF Pro Display"||a===".SF UI Text"||a===".SF UI Display")return A.auy() +return'"'+A.h(a)+'", '+A.auy()+", sans-serif"}, +aIy(a){if($.av().gbx()===B.P)A.l(a.style,"z-index","0")}, +mH(a,b,c){if(ac)return c +else return a}, +hA(a,b){var s +if(a==null)return b==null +if(b==null||a.length!==b.length)return!1 +for(s=0;s")).bD(0," ")}, +dh(a,b,c){A.l(a.style,b,c)}, +avX(a){var s=self.document.querySelector("#flutterweb-theme") +if(a!=null){if(s==null){s=A.aS(self.document,"meta") +s.id="flutterweb-theme" +s.name="theme-color" +self.document.head.append(s)}s.content=A.cP(a.a)}else if(s!=null)s.remove()}, +Dt(a,b,c,d,e,f,g,h,i){var s=$.aut +if(s==null?$.aut=a.ellipse!=null:s)A.b9(a,"ellipse",[b,c,d,e,f,g,h,i]) +else{a.save() +a.translate(b,c) +a.rotate(f) +a.scale(d,e) +A.b9(a,"arc",[0,0,1,g,h,i]) +a.restore()}}, +aoA(a){var s +for(;a.lastChild!=null;){s=a.lastChild +if(s.parentNode!=null)s.parentNode.removeChild(s)}}, +amG(a,b,c){var s=b.h("@<0>").bg(c),r=new A.AF(s.h("AF<+key,value(1,2)>")) +r.a=r +r.b=r +return new A.Hy(a,new A.vL(r,s.h("vL<+key,value(1,2)>")),A.E(b,s.h("aqB<+key,value(1,2)>")),s.h("Hy<1,2>"))}, +cK(){var s=new Float32Array(16) +s[15]=1 +s[0]=1 +s[5]=1 +s[10]=1 +return new A.bq(s)}, +aCJ(a){return new A.bq(a)}, +aCM(a){var s=new A.bq(new Float32Array(16)) +if(s.dB(a)===0)return null +return s}, +DD(a){var s=new Float32Array(16) +s[15]=a[15] +s[14]=a[14] +s[13]=a[13] +s[12]=a[12] +s[11]=a[11] +s[10]=a[10] +s[9]=a[9] +s[8]=a[8] +s[7]=a[7] +s[6]=a[6] +s[5]=a[5] +s[4]=a[4] +s[3]=a[3] +s[2]=a[2] +s[1]=a[1] +s[0]=a[0] +return s}, +aAu(a,b){var s=new A.Xg(a,A.hq(!1,t.tW)) +s.Yj(a,b) +return s}, +aq6(a){var s,r +if(a!=null){s=$.awf().c +return A.aAu(a,new A.c0(s,A.o(s).h("c0<1>")))}else{s=new A.GB(A.hq(!1,t.tW)) +r=self.window.visualViewport +if(r==null)r=self.window +s.b=A.bX(r,"resize",s.ga54()) +return s}}, +aqG(a){var s,r,q,p="0",o="none" +if(a!=null){A.aB0(a) +s=A.a5("custom-element") +if(s==null)s=t.K.a(s) +a.setAttribute("flt-embedding",s) +return new A.Xj(a)}else{s=self.document.body +s.toString +r=new A.a_0(s) +q=A.a5("full-page") +if(q==null)q=t.K.a(q) +s.setAttribute("flt-embedding",q) +r.Zh() +A.dh(s,"position","fixed") +A.dh(s,"top",p) +A.dh(s,"right",p) +A.dh(s,"bottom",p) +A.dh(s,"left",p) +A.dh(s,"overflow","hidden") +A.dh(s,"padding",p) +A.dh(s,"margin",p) +A.dh(s,"user-select",o) +A.dh(s,"-webkit-user-select",o) +A.dh(s,"touch-action",o) +return r}}, +asO(a,b,c,d){var s=A.aS(self.document,"style") +if(d!=null)s.nonce=d +s.id=c +b.appendChild(s) +A.aIw(s,a,"normal normal 14px sans-serif")}, +aIw(a,b,c){var s,r,q +a.append(self.document.createTextNode(b+" flt-scene-host { font: "+c+";}"+b+" flt-semantics input[type=range] { appearance: none; -webkit-appearance: none; width: 100%; position: absolute; border: none; top: 0; right: 0; bottom: 0; left: 0;}"+b+" input::selection { background-color: transparent;}"+b+" textarea::selection { background-color: transparent;}"+b+" flt-semantics input,"+b+" flt-semantics textarea,"+b+' flt-semantics [contentEditable="true"] { caret-color: transparent;}'+b+" .flt-text-editing::placeholder { opacity: 0;}"+b+":focus { outline: none;}")) +if($.av().gbx()===B.P)a.append(self.document.createTextNode(b+" * { -webkit-tap-highlight-color: transparent;}"+b+" flt-semantics input[type=range]::-webkit-slider-thumb { -webkit-appearance: none;}")) +if($.av().gbx()===B.b8)a.append(self.document.createTextNode(b+" flt-paragraph,"+b+" flt-span { line-height: 100%;}")) +if($.av().gbx()===B.bJ||$.av().gbx()===B.P)a.append(self.document.createTextNode(b+" .transparentTextEditing:-webkit-autofill,"+b+" .transparentTextEditing:-webkit-autofill:hover,"+b+" .transparentTextEditing:-webkit-autofill:focus,"+b+" .transparentTextEditing:-webkit-autofill:active { opacity: 0 !important;}")) +r=$.av().gq9() +if(B.d.p(r,"Edg/"))try{a.append(self.document.createTextNode(b+" input::-ms-reveal { display: none;}"))}catch(q){r=A.a9(q) +if(t.e.b(r)){s=r +self.window.console.warn(J.en(s))}else throw q}}, +atc(a,b){var s,r,q,p,o +if(a==null){s=b.a +r=b.b +return new A.rU(s,s,r,r)}s=a.minWidth +r=b.a +if(s==null)s=r +q=a.minHeight +p=b.b +if(q==null)q=p +o=a.maxWidth +r=o==null?r:o +o=a.maxHeight +return new A.rU(s,r,q,o==null?p:o)}, +us:function us(a){var _=this +_.a=a +_.d=_.c=_.b=null}, +UV:function UV(a,b){this.a=a +this.b=b}, +UZ:function UZ(a){this.a=a}, +V_:function V_(a){this.a=a}, +UW:function UW(a){this.a=a}, +UX:function UX(a){this.a=a}, +UY:function UY(a){this.a=a}, +Wj:function Wj(a,b,c,d,e){var _=this +_.e=_.d=null +_.f=a +_.r=b +_.z=_.y=_.x=_.w=null +_.Q=0 +_.as=c +_.a=d +_.b=null +_.c=e}, +X6:function X6(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.w=_.r=null +_.x=1 +_.Q=_.z=_.y=null}, +R6:function R6(){}, +h1:function h1(a){this.a=a}, +ajC:function ajC(){}, +We:function We(a){this.a=a}, +HA:function HA(a){this.a=a +this.b=$}, +EU:function EU(){}, +ET:function ET(a,b){this.a=a +this.b=b}, +v6:function v6(a){this.a=a}, +pI:function pI(a,b){this.a=a +this.b=b}, +FN:function FN(a,b,c,d){var _=this +_.a=a +_.b=$ +_.c=b +_.d=c +_.$ti=d}, +GS:function GS(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=null +_.z=$ +_.Q=0 +_.as=null +_.at=j}, +a03:function a03(){}, +a00:function a00(a){this.a=a}, +a_Z:function a_Z(){}, +a0_:function a0_(){}, +a01:function a01(){}, +a02:function a02(a,b){this.a=a +this.b=b}, +rT:function rT(a,b){this.a=a +this.b=b +this.c=-1}, +vX:function vX(a,b,c){this.a=a +this.b=b +this.c=c}, +nV:function nV(a,b){this.a=a +this.b=b}, +hj:function hj(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +nW:function nW(a){this.a=a}, +vY:function vY(a,b){this.a=a +this.b=b +this.c=0}, +Kx:function Kx(a,b,c,d,e){var _=this +_.a=a +_.b=$ +_.c=b +_.d=c +_.e=d +_.f=e +_.w=_.r=null}, +a9X:function a9X(){}, +a9Y:function a9Y(){}, +a9Z:function a9Z(){}, +og:function og(a,b,c){this.a=a +this.b=b +this.c=c}, +A3:function A3(a,b,c){this.a=a +this.b=b +this.c=c}, +np:function np(a,b,c){this.a=a +this.b=b +this.c=c}, +a9W:function a9W(a){this.a=a}, +alb:function alb(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +GX:function GX(a){this.a=a}, +kZ:function kZ(a,b){this.b=a +this.c=b}, +EX:function EX(){}, +Ao:function Ao(a,b){this.a=a +this.b=b +this.d=$}, +ES:function ES(a,b,c,d){var _=this +_.a=$ +_.b=a +_.c=b +_.d=0 +_.e=-1 +_.f=c +_.r=d}, +v4:function v4(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.e=_.d=$ +_.r=0 +_.w=null +_.x=d}, +eb:function eb(){}, +J3:function J3(a,b){this.b=a +this.c=b}, +Iq:function Iq(a,b,c){this.a=a +this.b=b +this.d=c}, +pS:function pS(){}, +JN:function JN(a,b){this.c=a +this.a=null +this.b=b}, +F2:function F2(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +F6:function F6(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +F4:function F4(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +If:function If(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +A_:function A_(a,b,c){var _=this +_.f=a +_.c=b +_.a=null +_.b=c}, +Id:function Id(a,b,c){var _=this +_.f=a +_.c=b +_.a=null +_.b=c}, +GY:function GY(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +a0m:function a0m(a,b){this.a=a +this.b=b}, +IS:function IS(a,b,c){var _=this +_.c=a +_.d=b +_.a=null +_.b=c}, +IW:function IW(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=null +_.b=e}, +Hk:function Hk(a){this.a=a}, +a1w:function a1w(a){this.a=a +this.b=$}, +a1x:function a1x(a){this.a=a}, +ZX:function ZX(a,b,c){this.a=a +this.b=b +this.c=c}, +ZY:function ZY(a,b,c){this.a=a +this.b=b +this.c=c}, +ZZ:function ZZ(a,b,c){this.a=a +this.b=b +this.c=c}, +Fc:function Fc(){}, +Wu:function Wu(a,b){this.a=a +this.b=b +this.c=$}, +a5h:function a5h(a){this.a=a}, +a5i:function a5i(a,b){this.a=a +this.b=b}, +a5j:function a5j(a){this.a=a}, +nU:function nU(a,b,c,d,e){var _=this +_.r=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=$}, +a5k:function a5k(){}, +v7:function v7(a){this.a=a}, +ajU:function ajU(){}, +a5q:function a5q(){}, +eK:function eK(a,b){this.a=null +this.b=a +this.$ti=b}, +Fh:function Fh(a,b){var _=this +_.a=$ +_.b=1 +_.c=a +_.$ti=b}, +a5G:function a5G(a,b){this.a=a +this.b=b}, +a5H:function a5H(a,b){this.a=a +this.b=b}, +o_:function o_(a,b,c,d,e,f){var _=this +_.f=a +_.r=b +_.a=c +_.b=d +_.c=e +_.d=f +_.e=$}, +a5I:function a5I(){}, +r7:function r7(a){this.a=a}, +ok:function ok(){}, +dn:function dn(a){this.a=a +this.b=null}, +lQ:function lQ(a){this.a=a +this.b=null}, +pJ:function pJ(a,b,c,d,e){var _=this +_.a=a +_.b=$ +_.c=null +_.d=b +_.e=c +_.f=0 +_.r=d +_.x=!0 +_.y=4278190080 +_.z=!1 +_.ax=_.at=_.as=_.Q=null +_.ay=e +_.CW=_.ch=null}, +Ww:function Ww(a){this.a=a}, +v9:function v9(a){this.a=$ +this.b=a}, +n_:function n_(){this.a=$}, +hE:function hE(){this.b=this.a=null}, +a6P:function a6P(){}, +rV:function rV(){}, +XR:function XR(){}, +JC:function JC(){this.b=this.a=null}, +r4:function r4(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=0 +_.f=_.e=$ +_.r=-1}, +pH:function pH(a,b){this.a=a +this.b=b}, +v_:function v_(a,b,c){var _=this +_.a=null +_.b=$ +_.d=a +_.e=b +_.r=_.f=null +_.w=c}, +Wg:function Wg(a){this.a=a}, +Kt:function Kt(){}, +EV:function EV(a,b,c,d,e,f){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.a=$}, +i8:function i8(a,b,c){var _=this +_.a=null +_.b=a +_.c=b +_.d=!0 +_.Q=_.z=_.y=_.x=_.w=_.r=_.f=null +_.as=c +_.CW=_.ch=_.ay=_.ax=_.at=-1 +_.cy=_.cx=null}, +EZ:function EZ(a,b){this.a=a +this.b=b +this.c=!1}, +v8:function v8(a,b,c,d,e,f,g,h,i,j,k,l,m,n){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=n}, +pK:function pK(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fx=_.fr=$}, +Wy:function Wy(a){this.a=a}, +EY:function EY(a){var _=this +_.a=$ +_.b=-1/0 +_.c=a +_.d=0 +_.e=!1 +_.z=_.y=_.x=_.w=_.r=_.f=0 +_.Q=$}, +v5:function v5(a){this.a=a}, +Wx:function Wx(a,b,c){this.a=a +this.b=b +this.e=c}, +ajG:function ajG(a){this.a=a}, +wP:function wP(a,b){this.a=a +this.b=b}, +EL:function EL(a){this.a=a}, +vd:function vd(a,b){this.a=a +this.b=b}, +WQ:function WQ(a,b){this.a=a +this.b=b}, +WR:function WR(a,b){this.a=a +this.b=b}, +WL:function WL(a){this.a=a}, +WM:function WM(a,b){this.a=a +this.b=b}, +WK:function WK(a){this.a=a}, +WO:function WO(a){this.a=a}, +WP:function WP(a){this.a=a}, +WN:function WN(a){this.a=a}, +WI:function WI(){}, +WJ:function WJ(){}, +Z5:function Z5(){}, +Z6:function Z6(){}, +Zs:function Zs(){this.b=null}, +G8:function G8(a){this.b=a +this.d=null}, +a8J:function a8J(){}, +Y0:function Y0(a){this.a=a}, +Y4:function Y4(){}, +GV:function GV(a,b){this.a=a +this.b=b}, +a04:function a04(a){this.a=a}, +GU:function GU(a,b){this.a=a +this.b=b}, +GT:function GT(a,b){this.a=a +this.b=b}, +FY:function FY(a,b,c){this.a=a +this.b=b +this.c=c}, +vI:function vI(a,b){this.a=a +this.b=b}, +akv:function akv(a){this.a=a}, +akj:function akj(){}, +Nm:function Nm(a,b){this.a=a +this.b=-1 +this.$ti=b}, +ki:function ki(a,b){this.a=a +this.$ti=b}, +Nr:function Nr(a,b){this.a=a +this.b=-1 +this.$ti=b}, +AC:function AC(a,b){this.a=a +this.$ti=b}, +FU:function FU(a,b){this.a=a +this.b=$ +this.$ti=b}, +YI:function YI(){}, +JV:function JV(a,b){this.a=a +this.b=b}, +ol:function ol(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +R5:function R5(a,b){this.a=a +this.b=b}, +a8r:function a8r(){}, +ala:function ala(){}, +al9:function al9(){}, +ZN:function ZN(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=$ +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.as=l +_.at=m +_.ax=!1 +_.ch=_.ay=$}, +ZO:function ZO(){}, +ZP:function ZP(){}, +ZQ:function ZQ(){}, +ZR:function ZR(){}, +ZS:function ZS(){}, +ZT:function ZT(){}, +ZV:function ZV(a){this.a=a}, +ZW:function ZW(){}, +ZU:function ZU(a){this.a=a}, +SL:function SL(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Gj:function Gj(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.e=null}, +Zd:function Zd(a,b,c){this.a=a +this.b=b +this.c=c}, +qa:function qa(a,b){this.a=a +this.b=b}, +nq:function nq(a,b){this.a=a +this.b=b}, +wp:function wp(a){this.a=a}, +akA:function akA(a){this.a=a}, +akB:function akB(a){this.a=a}, +akC:function akC(){}, +akz:function akz(){}, +e9:function e9(){}, +Gw:function Gw(){}, +wn:function wn(){}, +wo:function wo(){}, +uG:function uG(){}, +f0:function f0(a){this.a=a}, +Fi:function Fi(a){this.b=this.a=null +this.$ti=a}, +t6:function t6(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Gz:function Gz(a,b){var _=this +_.a=a +_.b=b +_.e=_.d=_.c=null}, +jm:function jm(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=null +_.c=b +_.d=c +_.e=null +_.f=d +_.r=e +_.w=f +_.x=0 +_.y=g +_.Q=_.z=null +_.at=_.as=!1 +_.ay=h +_.ch=i}, +c6:function c6(a){this.b=a}, +aaw:function aaw(a){this.a=a}, +AA:function AA(){}, +xT:function xT(a,b,c,d,e,f){var _=this +_.CW=a +_.cx=b +_.eY$=c +_.x=d +_.a=e +_.b=-1 +_.c=f +_.w=_.r=_.f=_.e=_.d=null}, +IM:function IM(a,b,c,d,e,f){var _=this +_.CW=a +_.cx=b +_.eY$=c +_.x=d +_.a=e +_.b=-1 +_.c=f +_.w=_.r=_.f=_.e=_.d=null}, +xS:function xS(a,b,c,d,e){var _=this +_.CW=a +_.cx=b +_.cy=null +_.x=c +_.a=d +_.b=-1 +_.c=e +_.w=_.r=_.f=_.e=_.d=null}, +aaD:function aaD(a,b,c){this.a=a +this.b=b +this.c=c}, +aaC:function aaC(a,b){this.a=a +this.b=b}, +XW:function XW(a,b,c,d){var _=this +_.a=a +_.PU$=b +_.rg$=c +_.jq$=d}, +GR:function GR(a){this.a=a}, +wz:function wz(a,b,c){var _=this +_.a=a +_.b=!1 +_.d=b +_.e=c}, +xU:function xU(a,b,c,d,e){var _=this +_.CW=a +_.cx=b +_.dx=_.db=_.cy=null +_.x=c +_.a=d +_.b=-1 +_.c=e +_.w=_.r=_.f=_.e=_.d=null}, +xV:function xV(a,b,c,d,e){var _=this +_.CW=a +_.cx=b +_.cy=null +_.x=c +_.a=d +_.b=-1 +_.c=e +_.w=_.r=_.f=_.e=_.d=null}, +xW:function xW(a,b,c,d,e){var _=this +_.CW=a +_.cx=b +_.cy=null +_.x=c +_.a=d +_.b=-1 +_.c=e +_.w=_.r=_.f=_.e=_.d=null}, +rx:function rx(a){this.a=a +this.e=!1}, +KV:function KV(){var _=this +_.e=_.d=_.c=_.b=_.a=null +_.f=!0 +_.r=4278190080 +_.z=_.y=_.x=_.w=null}, +eV:function eV(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +a6L:function a6L(){var _=this +_.d=_.c=_.b=_.a=0}, +X2:function X2(){var _=this +_.d=_.c=_.b=_.a=0}, +MC:function MC(){this.b=this.a=null}, +X9:function X9(){var _=this +_.d=_.c=_.b=_.a=0}, +ry:function ry(a,b){var _=this +_.a=a +_.b=b +_.c=0 +_.e=_.d=-1}, +a6_:function a6_(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=!1 +_.e=0 +_.f=-1 +_.Q=_.z=_.y=_.x=_.w=_.r=0}, +qQ:function qQ(a,b){var _=this +_.b=_.a=null +_.e=_.d=_.c=0 +_.f=a +_.r=b +_.x=_.w=0 +_.y=null +_.z=0 +_.as=_.Q=!0 +_.ch=_.ay=_.ax=_.at=!1 +_.CW=-1 +_.cx=0}, +o0:function o0(a){var _=this +_.a=a +_.b=-1 +_.e=_.d=_.c=0}, +jZ:function jZ(){this.b=this.a=null}, +a9V:function a9V(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +a61:function a61(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.e=_.d=0 +_.f=d}, +Gb:function Gb(){this.a=null +this.b=$ +this.c=!1}, +Ga:function Ga(a){this.b=a}, +lE:function lE(a,b){this.a=a +this.b=b}, +IP:function IP(a,b,c,d,e,f,g){var _=this +_.ch=null +_.CW=a +_.cx=b +_.cy=c +_.db=d +_.dy=1 +_.fr=!1 +_.fx=e +_.id=_.fy=null +_.a=f +_.b=-1 +_.c=g +_.w=_.r=_.f=_.e=_.d=null}, +a65:function a65(a){this.a=a}, +xX:function xX(a,b,c,d,e,f,g){var _=this +_.ch=a +_.CW=b +_.cx=c +_.cy=d +_.db=e +_.a=f +_.b=-1 +_.c=g +_.w=_.r=_.f=_.e=_.d=null}, +a7a:function a7a(a,b,c){var _=this +_.a=a +_.b=null +_.c=b +_.d=c +_.f=_.e=!1 +_.r=1}, +cx:function cx(){}, +vM:function vM(){}, +xL:function xL(){}, +ID:function ID(){}, +IH:function IH(a,b){this.a=a +this.b=b}, +IF:function IF(a,b){this.a=a +this.b=b}, +IE:function IE(a){this.a=a}, +IG:function IG(a){this.a=a}, +Ip:function Ip(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Io:function Io(a){var _=this +_.f=a +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +In:function In(a){var _=this +_.f=a +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Iv:function Iv(a,b,c){var _=this +_.f=a +_.r=b +_.w=c +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ix:function Ix(a){var _=this +_.f=a +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +IB:function IB(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +IA:function IA(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Is:function Is(a,b,c){var _=this +_.f=a +_.r=b +_.w=c +_.x=null +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Iw:function Iw(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ir:function Ir(a,b,c){var _=this +_.f=a +_.r=b +_.w=c +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Iz:function Iz(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +IC:function IC(a,b,c,d){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +It:function It(a,b,c){var _=this +_.f=a +_.r=b +_.w=c +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Iu:function Iu(a,b,c,d){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Iy:function Iy(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +agU:function agU(a,b,c,d){var _=this +_.a=a +_.b=!1 +_.d=_.c=17976931348623157e292 +_.f=_.e=-17976931348623157e292 +_.r=b +_.w=c +_.x=!0 +_.y=d +_.z=!1 +_.ax=_.at=_.as=_.Q=0}, +a7R:function a7R(){var _=this +_.d=_.c=_.b=_.a=!1}, +ajf:function ajf(){}, +GQ:function GQ(){this.a=$}, +a_Y:function a_Y(){}, +a_W:function a_W(a){this.a=a}, +a_X:function a_X(a){this.a=a}, +a82:function a82(a){this.a=a +this.b=null}, +rz:function rz(a,b){this.a=a +this.b=b}, +xY:function xY(a,b,c){var _=this +_.CW=null +_.x=a +_.a=b +_.b=-1 +_.c=c +_.w=_.r=_.f=_.e=_.d=null}, +aax:function aax(a){this.a=a}, +aaz:function aaz(a){this.a=a}, +aaA:function aaA(a,b){this.a=a +this.b=b}, +a5C:function a5C(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a5D:function a5D(){}, +a9I:function a9I(){this.a=null}, +YK:function YK(){}, +wt:function wt(a,b,c,d,e,f){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f}, +a_x:function a_x(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +lb:function lb(){}, +Be:function Be(a,b){this.a=a +this.b=b}, +G9:function G9(){}, +xm:function xm(a,b){this.b=a +this.c=b +this.a=null}, +a4m:function a4m(){}, +Kr:function Kr(a,b,c,d,e){var _=this +_.b=a +_.c=b +_.e=null +_.w=_.r=_.f=0 +_.y=c +_.z=d +_.Q=null +_.as=e}, +ze:function ze(a,b){this.b=a +this.c=b +this.d=1}, +ox:function ox(a,b,c){this.a=a +this.b=b +this.c=c}, +aks:function aks(){}, +o1:function o1(a,b){this.a=a +this.b=b}, +d3:function d3(){}, +IO:function IO(){}, +dz:function dz(){}, +a64:function a64(){}, +mv:function mv(a,b,c){this.a=a +this.b=b +this.c=c}, +a6F:function a6F(){}, +xZ:function xZ(a,b,c,d){var _=this +_.CW=a +_.cy=_.cx=null +_.x=b +_.a=c +_.b=-1 +_.c=d +_.w=_.r=_.f=_.e=_.d=null}, +GP:function GP(){}, +a_U:function a_U(a,b,c){this.a=a +this.b=b +this.c=c}, +a_V:function a_V(a,b){this.a=a +this.b=b}, +a_S:function a_S(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a_T:function a_T(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +GN:function GN(){}, +zk:function zk(a){this.a=a}, +EB:function EB(){}, +Vy:function Vy(){}, +Vz:function Vz(a){this.a=a}, +uu:function uu(a,b){this.a=a +this.b=b}, +jD:function jD(a,b){this.a=a +this.b=b}, +n6:function n6(a,b){this.a=a +this.b=b}, +akS:function akS(){}, +akT:function akT(a){this.a=a}, +akR:function akR(a){this.a=a}, +akU:function akU(){}, +Zr:function Zr(a){this.a=a}, +Zw:function Zw(a){this.a=a}, +Zx:function Zx(a){this.a=a}, +Zq:function Zq(a){this.a=a}, +akH:function akH(a,b){this.a=a +this.b=b}, +akF:function akF(a,b){this.a=a +this.b=b}, +akG:function akG(a){this.a=a}, +ak2:function ak2(){}, +ak3:function ak3(){}, +ak4:function ak4(){}, +ak5:function ak5(){}, +ak6:function ak6(){}, +ak7:function ak7(){}, +ak8:function ak8(){}, +ak9:function ak9(){}, +ajA:function ajA(a,b,c){this.a=a +this.b=b +this.c=c}, +Hf:function Hf(a){this.a=$ +this.b=a}, +a1d:function a1d(a){this.a=a}, +a1e:function a1e(a){this.a=a}, +a1f:function a1f(a){this.a=a}, +a1g:function a1g(a){this.a=a}, +iB:function iB(a){this.a=a}, +a1h:function a1h(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=null +_.e=!1 +_.f=d +_.r=e}, +a1n:function a1n(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a1o:function a1o(a){this.a=a}, +a1p:function a1p(a,b,c){this.a=a +this.b=b +this.c=c}, +a1q:function a1q(a,b){this.a=a +this.b=b}, +a1j:function a1j(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a1k:function a1k(a,b,c){this.a=a +this.b=b +this.c=c}, +a1l:function a1l(a,b){this.a=a +this.b=b}, +a1m:function a1m(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a1i:function a1i(a,b,c){this.a=a +this.b=b +this.c=c}, +a1r:function a1r(a,b){this.a=a +this.b=b}, +X5:function X5(a){this.a=a +this.b=!0}, +a4X:function a4X(){}, +al3:function al3(){}, +Vx:function Vx(){}, +xo:function xo(a){var _=this +_.d=a +_.a=_.e=$ +_.c=_.b=!1}, +a56:function a56(){}, +zj:function zj(a,b){var _=this +_.d=a +_.e=b +_.f=null +_.a=$ +_.c=_.b=!1}, +a9T:function a9T(){}, +a9U:function a9U(){}, +jM:function jM(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=0 +_.f=e}, +wc:function wc(a){this.a=a +this.b=$ +this.c=0}, +Zc:function Zc(){}, +GL:function GL(a,b){this.a=a +this.b=b +this.c=$}, +Gc:function Gc(a,b,c,d,e){var _=this +_.a=$ +_.b=a +_.c=b +_.f=c +_.w=_.r=$ +_.y=_.x=null +_.z=$ +_.p1=_.ok=_.k4=_.k3=_.k2=_.k1=_.fr=_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=_.ax=_.at=_.as=_.Q=null +_.p2=d +_.x1=_.to=_.ry=_.R8=_.p4=_.p3=null +_.x2=e +_.y2=null}, +YV:function YV(a){this.a=a}, +YW:function YW(a,b,c){this.a=a +this.b=b +this.c=c}, +YU:function YU(a,b){this.a=a +this.b=b}, +YQ:function YQ(a,b){this.a=a +this.b=b}, +YR:function YR(a,b){this.a=a +this.b=b}, +YS:function YS(a,b){this.a=a +this.b=b}, +YP:function YP(a){this.a=a}, +YO:function YO(a){this.a=a}, +YT:function YT(){}, +YN:function YN(a){this.a=a}, +YX:function YX(a,b){this.a=a +this.b=b}, +akW:function akW(a,b,c){this.a=a +this.b=b +this.c=c}, +aca:function aca(){}, +IU:function IU(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +V0:function V0(){}, +Mm:function Mm(a,b,c,d){var _=this +_.c=a +_.d=b +_.r=_.f=_.e=$ +_.a=c +_.b=d}, +ad1:function ad1(a){this.a=a}, +ad0:function ad0(a){this.a=a}, +ad2:function ad2(a){this.a=a}, +LB:function LB(a,b,c){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.e=null +_.x=_.w=_.r=_.f=$}, +acc:function acc(a){this.a=a}, +acd:function acd(a){this.a=a}, +ace:function ace(a){this.a=a}, +acf:function acf(a){this.a=a}, +a6k:function a6k(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a6l:function a6l(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a6m:function a6m(a){this.b=a}, +a8p:function a8p(){this.a=null}, +a8q:function a8q(){}, +a6r:function a6r(a,b,c){var _=this +_.a=null +_.b=a +_.d=b +_.e=c +_.f=$}, +F_:function F_(){this.b=this.a=null}, +a6B:function a6B(){}, +Ht:function Ht(a,b,c){this.a=a +this.b=b +this.c=c}, +acV:function acV(){}, +acW:function acW(a){this.a=a}, +ajg:function ajg(){}, +ajh:function ajh(a){this.a=a}, +jb:function jb(a,b){this.a=a +this.b=b}, +t4:function t4(){this.a=0}, +ah0:function ah0(a,b,c){var _=this +_.f=a +_.a=b +_.b=c +_.c=null +_.e=_.d=!1}, +ah2:function ah2(){}, +ah1:function ah1(a,b,c){this.a=a +this.b=b +this.c=c}, +ah4:function ah4(a){this.a=a}, +ah3:function ah3(a){this.a=a}, +ah5:function ah5(a){this.a=a}, +ah6:function ah6(a){this.a=a}, +ah7:function ah7(a){this.a=a}, +ah8:function ah8(a){this.a=a}, +ah9:function ah9(a){this.a=a}, +tF:function tF(a,b){this.a=null +this.b=a +this.c=b}, +afl:function afl(a){this.a=a +this.b=0}, +afm:function afm(a,b){this.a=a +this.b=b}, +a6s:function a6s(){}, +amU:function amU(){}, +a6R:function a6R(a,b){this.a=a +this.b=0 +this.c=b}, +a6S:function a6S(a){this.a=a}, +a6U:function a6U(a,b,c){this.a=a +this.b=b +this.c=c}, +a6V:function a6V(a){this.a=a}, +GG:function GG(a){this.a=a}, +GF:function GF(a){var _=this +_.a=a +_.fx=_.fr=_.dy=_.CW=_.ch=_.ay=_.ax=_.w=_.r=_.f=_.e=_.d=_.c=null}, +a5F:function a5F(a,b){var _=this +_.b=_.a=null +_.c=a +_.d=b}, +uF:function uF(a,b){this.a=a +this.b=b}, +UG:function UG(a,b){this.a=a +this.b=b +this.c=!1}, +UH:function UH(a){this.a=a}, +An:function An(a,b){this.a=a +this.b=b}, +Ws:function Ws(a,b,c){var _=this +_.w=a +_.a=$ +_.b=b +_.c=c +_.f=_.e=_.d=null}, +FH:function FH(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +XB:function XB(a,b){this.a=a +this.b=b}, +XA:function XA(){}, +ra:function ra(a,b){var _=this +_.e=null +_.b=a +_.c=b +_.d=!1}, +a8f:function a8f(a){this.a=a}, +Gu:function Gu(a,b,c){var _=this +_.e=a +_.b=b +_.c=c +_.d=!1}, +E1:function E1(a){this.a=a +this.c=this.b=null}, +UJ:function UJ(a){this.a=a}, +UK:function UK(a){this.a=a}, +UI:function UI(a,b){this.a=a +this.b=b}, +a_G:function a_G(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +a0H:function a0H(a,b){var _=this +_.w=null +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +a0N:function a0N(a,b,c,d){var _=this +_.w=a +_.x=b +_.y=1 +_.z=$ +_.Q=!1 +_.a=$ +_.b=c +_.c=d +_.f=_.e=_.d=null}, +a0O:function a0O(a,b){this.a=a +this.b=b}, +a0P:function a0P(a){this.a=a}, +wX:function wX(a,b){this.a=a +this.b=b}, +a1u:function a1u(){}, +V2:function V2(a,b){this.a=a +this.b=b}, +Y5:function Y5(a,b){this.c=null +this.a=a +this.b=b}, +zl:function zl(a,b,c){var _=this +_.c=a +_.e=_.d=null +_.a=b +_.b=c}, +Hg:function Hg(a,b,c){var _=this +_.e=a +_.f=null +_.b=b +_.c=c +_.d=!1}, +ajH:function ajH(){}, +a1C:function a1C(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +nO:function nO(a,b){var _=this +_.e=null +_.b=a +_.c=b +_.d=!1}, +a6o:function a6o(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +a8X:function a8X(a,b,c){var _=this +_.w=null +_.x=a +_.y=null +_.z=0 +_.a=$ +_.b=b +_.c=c +_.f=_.e=_.d=null}, +a93:function a93(a){this.a=a}, +a94:function a94(a){this.a=a}, +a95:function a95(a){this.a=a}, +w_:function w_(a){this.a=a}, +Kq:function Kq(a){this.a=a}, +Kn:function Kn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1){var _=this +_.a=a +_.b=b +_.c=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.db=s +_.dx=a0 +_.dy=a1 +_.fr=a2 +_.fx=a3 +_.fy=a4 +_.go=a5 +_.id=a6 +_.k1=a7 +_.k2=a8 +_.k3=a9 +_.ok=b0 +_.p1=b1}, +fL:function fL(a,b){this.a=a +this.b=b}, +J5:function J5(){}, +a_9:function a_9(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +k1:function k1(){}, +ov:function ov(a,b){var _=this +_.a=0 +_.fy=_.fx=_.fr=_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=_.ax=_.at=_.as=_.Q=_.z=_.y=_.x=_.w=_.r=_.f=_.e=_.d=_.c=_.b=null +_.go=-1 +_.id=0 +_.k1=null +_.k2=a +_.k3=b +_.k4=-1 +_.p3=_.p2=_.p1=_.ok=null +_.R8=_.p4=0}, +UL:function UL(a,b){this.a=a +this.b=b}, +ns:function ns(a,b){this.a=a +this.b=b}, +YY:function YY(a,b,c,d,e){var _=this +_.a=a +_.b=!1 +_.c=b +_.d=c +_.f=d +_.r=null +_.w=e}, +Z2:function Z2(){}, +Z1:function Z1(a){this.a=a}, +YZ:function YZ(a,b,c,d,e){var _=this +_.a=a +_.b=null +_.d=b +_.e=c +_.f=d +_.r=e +_.w=!1}, +Z0:function Z0(a){this.a=a}, +Z_:function Z_(a,b){this.a=a +this.b=b}, +vZ:function vZ(a,b){this.a=a +this.b=b}, +a9o:function a9o(a){this.a=a}, +a9k:function a9k(){}, +Xx:function Xx(){this.a=null}, +Xy:function Xy(a){this.a=a}, +a4Q:function a4Q(){var _=this +_.b=_.a=null +_.c=0 +_.d=!1}, +a4S:function a4S(a){this.a=a}, +a4R:function a4R(a){this.a=a}, +VF:function VF(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +L0:function L0(a,b){var _=this +_.e=null +_.f=!1 +_.b=a +_.c=b +_.d=!1}, +aaR:function aaR(a,b){this.a=a +this.b=b}, +a9y:function a9y(a,b,c,d,e,f){var _=this +_.cx=_.CW=_.ch=null +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +aaZ:function aaZ(a,b){var _=this +_.x=_.w=null +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +ab_:function ab_(a){this.a=a}, +ab0:function ab0(a){this.a=a}, +ab1:function ab1(a){this.a=a}, +ab2:function ab2(a,b){this.a=a +this.b=b}, +ab3:function ab3(a){this.a=a}, +ab4:function ab4(a){this.a=a}, +ab5:function ab5(a){this.a=a}, +jh:function jh(){}, +Ot:function Ot(){}, +Lq:function Lq(a,b){this.a=a +this.b=b}, +hg:function hg(a,b){this.a=a +this.b=b}, +a0Z:function a0Z(){}, +a10:function a10(){}, +aae:function aae(){}, +aah:function aah(a,b){this.a=a +this.b=b}, +aai:function aai(){}, +aco:function aco(a,b,c){this.b=a +this.c=b +this.d=c}, +Jh:function Jh(a){this.a=a +this.b=0}, +aaB:function aaB(a,b){this.a=a +this.b=b}, +EM:function EM(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=!1 +_.f=null +_.w=_.r=$ +_.x=null}, +Wi:function Wi(){}, +xN:function xN(a,b){this.a=a +this.c=b}, +rw:function rw(){}, +EQ:function EQ(a,b){this.b=a +this.c=b +this.a=null}, +JO:function JO(a){this.b=a +this.a=null}, +Wh:function Wh(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.r=f +_.w=!0}, +a_Q:function a_Q(){}, +a_R:function a_R(a,b,c){this.a=a +this.b=b +this.c=c}, +ab7:function ab7(){}, +ab6:function ab6(){}, +a1y:function a1y(a,b){this.b=a +this.a=b}, +adO:function adO(){}, +hd:function hd(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){var _=this +_.wD$=a +_.wE$=b +_.hR$=c +_.cc$=d +_.iA$=e +_.kG$=f +_.kH$=g +_.kI$=h +_.ck$=i +_.cl$=j +_.c=k +_.d=l +_.e=m +_.f=n +_.r=o +_.w=p +_.a=q +_.b=r}, +af2:function af2(){}, +af3:function af3(){}, +af1:function af1(){}, +vW:function vW(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){var _=this +_.wD$=a +_.wE$=b +_.hR$=c +_.cc$=d +_.iA$=e +_.kG$=f +_.kH$=g +_.kI$=h +_.ck$=i +_.cl$=j +_.c=k +_.d=l +_.e=m +_.f=n +_.r=o +_.w=p +_.a=q +_.b=r}, +rF:function rF(a,b,c){var _=this +_.a=a +_.b=-1 +_.c=0 +_.d=null +_.f=_.e=0 +_.w=_.r=-1 +_.x=!1 +_.y=b +_.z=c +_.as=_.Q=$}, +a1B:function a1B(a,b,c,d,e,f){var _=this +_.a=a +_.b=null +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.z=_.y=_.x=_.w=0 +_.Q=-1 +_.ax=_.at=_.as=0}, +KM:function KM(a){this.a=a +this.c=this.b=null}, +lt:function lt(a,b){this.a=a +this.b=b}, +Z7:function Z7(a){this.a=a}, +ac8:function ac8(a,b){this.b=a +this.a=b}, +ls:function ls(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.a=d +_.b=e}, +ajI:function ajI(a,b,c){this.a=a +this.b=b +this.c=c}, +JS:function JS(a){this.a=a}, +abq:function abq(a){this.a=a}, +iz:function iz(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +iR:function iR(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=$ +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.Q=j +_.as=$}, +w0:function w0(a,b,c,d,e,f,g,h,i,j,k,l){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}, +w1:function w1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=null +_.fr=$}, +zJ:function zJ(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=$}, +aaW:function aaW(a){this.a=a +this.b=null}, +L4:function L4(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=$ +_.e=c +_.r=_.f=$}, +qb:function qb(a,b){this.a=a +this.b=b}, +mS:function mS(a,b,c,d){var _=this +_.c=a +_.d=b +_.a=c +_.b=d}, +Ap:function Ap(a,b){this.a=a +this.b=b}, +ck:function ck(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +kb:function kb(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +NO:function NO(a,b,c){this.c=a +this.a=b +this.b=c}, +Vu:function Vu(a){this.a=a}, +Fb:function Fb(){}, +YL:function YL(){}, +a5z:function a5z(){}, +Z3:function Z3(){}, +Y6:function Y6(){}, +a_w:function a_w(){}, +a5x:function a5x(){}, +a6G:function a6G(){}, +a97:function a97(){}, +a9A:function a9A(){}, +YM:function YM(){}, +a5B:function a5B(){}, +a5l:function a5l(){}, +abk:function abk(){}, +a5E:function a5E(){}, +Xp:function Xp(){}, +a67:function a67(){}, +YA:function YA(){}, +ac3:function ac3(){}, +xp:function xp(){}, +rD:function rD(a,b){this.a=a +this.b=b}, +zH:function zH(a){this.a=a}, +YF:function YF(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +YG:function YG(a,b){this.a=a +this.b=b}, +YH:function YH(a,b,c){this.a=a +this.b=b +this.c=c}, +El:function El(a,b,c,d){var _=this +_.a=a +_.b=b +_.d=c +_.e=d}, +rE:function rE(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +pY:function pY(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a0T:function a0T(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j}, +GH:function GH(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +rd:function rd(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +vu:function vu(){}, +Xu:function Xu(){}, +Xv:function Xv(){}, +Xw:function Xw(){}, +Xt:function Xt(a,b,c){this.a=a +this.b=b +this.c=c}, +a08:function a08(a,b,c,d,e,f){var _=this +_.ok=null +_.p1=!0 +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +a0b:function a0b(a){this.a=a}, +a09:function a09(a){this.a=a}, +a0a:function a0a(a){this.a=a}, +US:function US(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +Zh:function Zh(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +Zi:function Zi(a){this.a=a}, +ab9:function ab9(){}, +abe:function abe(a,b){this.a=a +this.b=b}, +abl:function abl(){}, +abg:function abg(a){this.a=a}, +abj:function abj(){}, +abf:function abf(a){this.a=a}, +abi:function abi(a){this.a=a}, +ab8:function ab8(){}, +abb:function abb(){}, +abh:function abh(){}, +abd:function abd(){}, +abc:function abc(){}, +aba:function aba(a){this.a=a}, +al8:function al8(){}, +aaX:function aaX(a){this.a=a}, +aaY:function aaY(a){this.a=a}, +a05:function a05(){var _=this +_.a=$ +_.b=null +_.c=!1 +_.d=null +_.f=$}, +a07:function a07(a){this.a=a}, +a06:function a06(a){this.a=a}, +Yp:function Yp(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +Yn:function Yn(a,b,c){this.a=a +this.b=b +this.c=c}, +Yo:function Yo(){}, +A0:function A0(a,b){this.a=a +this.b=b}, +akq:function akq(){}, +Hy:function Hy(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +jn:function jn(a,b){this.a=a +this.b=b}, +bq:function bq(a){this.a=a}, +Ze:function Ze(a){this.a=a +this.c=this.b=0}, +Xg:function Xg(a,b){var _=this +_.b=a +_.d=_.c=$ +_.e=b}, +Xh:function Xh(a){this.a=a}, +Xi:function Xi(a){this.a=a}, +FI:function FI(){}, +GB:function GB(a){this.b=$ +this.c=a}, +FO:function FO(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=$}, +Y3:function Y3(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=null}, +Xj:function Xj(a){this.a=a +this.b=$}, +a_0:function a_0(a){this.a=a}, +wj:function wj(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a_v:function a_v(a,b){this.a=a +this.b=b}, +ak0:function ak0(){}, +jw:function jw(){}, +NE:function NE(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=$ +_.f=!1 +_.z=_.y=_.x=_.w=_.r=$ +_.Q=d +_.as=$ +_.at=null +_.ay=e +_.ch=f}, +q0:function q0(a,b,c,d,e,f,g){var _=this +_.CW=null +_.cx=a +_.a=b +_.b=c +_.c=d +_.d=$ +_.f=!1 +_.z=_.y=_.x=_.w=_.r=$ +_.Q=e +_.as=$ +_.at=null +_.ay=f +_.ch=g}, +YJ:function YJ(a,b){this.a=a +this.b=b}, +LD:function LD(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +rU:function rU(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +acb:function acb(){}, +Nb:function Nb(){}, +Nl:function Nl(){}, +OC:function OC(){}, +OD:function OD(){}, +OE:function OE(){}, +Pv:function Pv(){}, +Pw:function Pw(){}, +Tk:function Tk(){}, +amy:function amy(){}, +eT(a,b,c){if(b.h("W<0>").b(a))return new A.AJ(a,b.h("@<0>").bg(c).h("AJ<1,2>")) +return new A.mY(a,b.h("@<0>").bg(c).h("mY<1,2>"))}, +arh(a){return new A.hb("Field '"+a+"' has not been initialized.")}, +amB(a){return new A.hb("Local '"+a+"' has not been initialized.")}, +aAg(a){return new A.js(a)}, +akL(a){var s,r=a^48 +if(r<=9)return r +s=a|32 +if(97<=s&&s<=102)return s-87 +return-1}, +avO(a,b){var s=A.akL(a.charCodeAt(b)),r=A.akL(a.charCodeAt(b+1)) +return s*16+r-(r&256)}, +F(a,b){a=a+b&536870911 +a=a+((a&524287)<<10)&536870911 +return a^a>>>6}, +dD(a){a=a+((a&67108863)<<3)&536870911 +a^=a>>>11 +return a+((a&16383)<<15)&536870911}, +aES(a,b,c){return A.dD(A.F(A.F(c,a),b))}, +aET(a,b,c,d,e){return A.dD(A.F(A.F(A.F(A.F(e,a),b),c),d))}, +eQ(a,b,c){return a}, +aor(a){var s,r +for(s=$.pk.length,r=0;rc)A.ab(A.cb(b,0,c,"start",null))}return new A.i7(a,b,c,d.h("i7<0>"))}, +HB(a,b,c,d){if(t.Ee.b(a))return new A.hN(a,b,c.h("@<0>").bg(d).h("hN<1,2>")) +return new A.dZ(a,b,c.h("@<0>").bg(d).h("dZ<1,2>"))}, +aEX(a,b,c){var s="takeCount" +A.kN(b,s) +A.dA(b,s) +if(t.Ee.b(a))return new A.vU(a,b,c.h("vU<0>")) +return new A.oI(a,b,c.h("oI<0>"))}, +asK(a,b,c){var s="count" +if(t.Ee.b(a)){A.kN(b,s) +A.dA(b,s) +return new A.q_(a,b,c.h("q_<0>"))}A.kN(b,s) +A.dA(b,s) +return new A.k4(a,b,c.h("k4<0>"))}, +aqQ(a,b,c){if(c.h("W<0>").b(b))return new A.vT(a,b,c.h("vT<0>")) +return new A.jy(a,b,c.h("jy<0>"))}, +aCb(a,b,c){return new A.pZ(a,b,c.h("pZ<0>"))}, +bB(){return new A.ho("No element")}, +ln(){return new A.ho("Too many elements")}, +ar5(){return new A.ho("Too few elements")}, +ic:function ic(){}, +EN:function EN(a,b){this.a=a +this.$ti=b}, +mY:function mY(a,b){this.a=a +this.$ti=b}, +AJ:function AJ(a,b){this.a=a +this.$ti=b}, +Am:function Am(){}, +bL:function bL(a,b){this.a=a +this.$ti=b}, +kX:function kX(a,b,c){this.a=a +this.b=b +this.$ti=c}, +mZ:function mZ(a,b){this.a=a +this.$ti=b}, +Wn:function Wn(a,b){this.a=a +this.b=b}, +Wm:function Wm(a,b){this.a=a +this.b=b}, +Wl:function Wl(a){this.a=a}, +jr:function jr(a,b){this.a=a +this.$ti=b}, +hb:function hb(a){this.a=a}, +js:function js(a){this.a=a}, +al1:function al1(){}, +a9B:function a9B(){}, +W:function W(){}, +aD:function aD(){}, +i7:function i7(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +bR:function bR(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +dZ:function dZ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +hN:function hN(a,b,c){this.a=a +this.b=b +this.$ti=c}, +bt:function bt(a,b,c){var _=this +_.a=null +_.b=a +_.c=b +_.$ti=c}, +aw:function aw(a,b,c){this.a=a +this.b=b +this.$ti=c}, +aF:function aF(a,b,c){this.a=a +this.b=b +this.$ti=c}, +mb:function mb(a,b){this.a=a +this.b=b}, +hO:function hO(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Gh:function Gh(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=null +_.$ti=d}, +oI:function oI(a,b,c){this.a=a +this.b=b +this.$ti=c}, +vU:function vU(a,b,c){this.a=a +this.b=b +this.$ti=c}, +KZ:function KZ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +k4:function k4(a,b,c){this.a=a +this.b=b +this.$ti=c}, +q_:function q_(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Ky:function Ky(a,b){this.a=a +this.b=b}, +zm:function zm(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Kz:function Kz(a,b){this.a=a +this.b=b +this.c=!1}, +fv:function fv(a){this.$ti=a}, +G4:function G4(){}, +jy:function jy(a,b,c){this.a=a +this.b=b +this.$ti=c}, +vT:function vT(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Gv:function Gv(a,b){this.a=a +this.b=b}, +dq:function dq(a,b){this.a=a +this.$ti=b}, +rW:function rW(a,b){this.a=a +this.$ti=b}, +nE:function nE(a,b,c){this.a=a +this.b=b +this.$ti=c}, +pZ:function pZ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +wG:function wG(a,b){this.a=a +this.b=b +this.c=-1}, +we:function we(){}, +Lu:function Lu(){}, +rO:function rO(){}, +co:function co(a,b){this.a=a +this.$ti=b}, +e1:function e1(a){this.a=a}, +D7:function D7(){}, +alP(a,b,c){var s,r,q,p,o,n,m=A.hT(new A.aZ(a,A.o(a).h("aZ<1>")),!0,b),l=m.length,k=0 +while(!0){if(!(k").bg(c).h("bs<1,2>")) +n.$keys=m +return n}return new A.n2(A.aCt(a,b,c),b.h("@<0>").bg(c).h("n2<1,2>"))}, +alQ(){throw A.c(A.a1("Cannot modify unmodifiable Map"))}, +Fe(){throw A.c(A.a1("Cannot modify constant Set"))}, +avz(a,b){var s=new A.wO(a,b.h("wO<0>")) +s.Yq(a) +return s}, +aw4(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +avB(a,b){var s +if(b!=null){s=b.x +if(s!=null)return s}return t.dC.b(a)}, +h(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.en(a) +return s}, +lq(a,b,c,d,e,f){return new A.a0Y(a,c,d,e,f)}, +f8(a){var s,r=$.as1 +if(r==null)r=$.as1=Symbol("identityHashCode") +s=a[r] +if(s==null){s=Math.random()*0x3fffffff|0 +a[r]=s}return s}, +as3(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.c(A.cb(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)}, +as2(a){var s,r +if(!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(a))return null +s=parseFloat(a) +if(isNaN(s)){r=B.d.FR(a) +if(r==="NaN"||r==="+NaN"||r==="-NaN")return s +return null}return s}, +a6J(a){return A.aDA(a)}, +aDA(a){var s,r,q,p +if(a instanceof A.J)return A.fj(A.bo(a),null) +s=J.kB(a) +if(s===B.CK||s===B.CY||t.kk.b(a)){r=B.kw(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.fj(A.bo(a),null)}, +as4(a){if(a==null||typeof a=="number"||A.u6(a))return J.en(a) +if(typeof a=="string")return JSON.stringify(a) +if(a instanceof A.l0)return a.i(0) +if(a instanceof A.mw)return a.N_(!0) +return"Instance of '"+A.a6J(a)+"'"}, +aDB(){return Date.now()}, +aDK(){var s,r +if($.a6K!==0)return +$.a6K=1000 +if(typeof window=="undefined")return +s=window +if(s==null)return +if(!!s.dartUseDateNowForTicks)return +r=s.performance +if(r==null)return +if(typeof r.now!="function")return +$.a6K=1e6 +$.J7=new A.a6I(r)}, +as0(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.aDL(a)}return A.as0(a)}, +aDM(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.c(A.cb(a,0,1114111,null,null))}, +fM(a){if(a.date===void 0)a.date=new Date(a.a) +return a.date}, +aDJ(a){return a.c?A.fM(a).getUTCFullYear()+0:A.fM(a).getFullYear()+0}, +aDH(a){return a.c?A.fM(a).getUTCMonth()+1:A.fM(a).getMonth()+1}, +aDD(a){return a.c?A.fM(a).getUTCDate()+0:A.fM(a).getDate()+0}, +aDE(a){return a.c?A.fM(a).getUTCHours()+0:A.fM(a).getHours()+0}, +aDG(a){return a.c?A.fM(a).getUTCMinutes()+0:A.fM(a).getMinutes()+0}, +aDI(a){return a.c?A.fM(a).getUTCSeconds()+0:A.fM(a).getSeconds()+0}, +aDF(a){return a.c?A.fM(a).getUTCMilliseconds()+0:A.fM(a).getMilliseconds()+0}, +aDC(a){var s=a.$thrownJsError +if(s==null)return null +return A.aK(s)}, +uf(a,b){var s,r="index" +if(!A.pe(b))return new A.fm(!0,b,r,null) +s=J.cs(a) +if(b<0||b>=s)return A.cE(b,s,a,null,r) +return A.a6O(b,r)}, +aJp(a,b,c){if(a>c)return A.cb(a,0,c,"start",null) +if(b!=null)if(bc)return A.cb(b,a,c,"end",null) +return new A.fm(!0,b,"end",null)}, +uc(a){return new A.fm(!0,a,null,null)}, +fV(a){return a}, +c(a){return A.avy(new Error(),a)}, +avy(a,b){var s +if(b==null)b=new A.k9() +a.dartException=b +s=A.aKJ +if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s}) +a.name=""}else a.toString=s +return a}, +aKJ(){return J.en(this.dartException)}, +ab(a){throw A.c(a)}, +ald(a,b){throw A.avy(b,a)}, +L(a){throw A.c(A.bM(a))}, +ka(a){var s,r,q,p,o,n +a=A.aoz(a.replace(String({}),"$receiver$")) +s=a.match(/\\\$[a-zA-Z]+\\\$/g) +if(s==null)s=A.b([],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.abT(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)}, +abU(a){return function($expr$){var $argumentsExpr$="$arguments$" +try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, +at6(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +amz(a,b){var s=b==null,r=s?null:b.method +return new A.H9(a,r,s?null:b.receiver)}, +a9(a){if(a==null)return new A.I8(a) +if(a instanceof A.w3)return A.mL(a,a.a) +if(typeof a!=="object")return a +if("dartException" in a)return A.mL(a,a.dartException) +return A.aIu(a)}, +mL(a,b){if(t.Lt.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +return b}, +aIu(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.f.dw(r,16)&8191)===10)switch(q){case 438:return A.mL(a,A.amz(A.h(s)+" (Error "+q+")",null)) +case 445:case 5007:A.h(s) +return A.mL(a,new A.xC())}}if(a instanceof TypeError){p=$.axf() +o=$.axg() +n=$.axh() +m=$.axi() +l=$.axl() +k=$.axm() +j=$.axk() +$.axj() +i=$.axo() +h=$.axn() +g=p.iK(s) +if(g!=null)return A.mL(a,A.amz(s,g)) +else{g=o.iK(s) +if(g!=null){g.method="call" +return A.mL(a,A.amz(s,g))}else if(n.iK(s)!=null||m.iK(s)!=null||l.iK(s)!=null||k.iK(s)!=null||j.iK(s)!=null||m.iK(s)!=null||i.iK(s)!=null||h.iK(s)!=null)return A.mL(a,new A.xC())}return A.mL(a,new A.Lt(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.zw() +s=function(b){try{return String(b)}catch(f){}return null}(a) +return A.mL(a,new A.fm(!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.zw() +return a}, +aK(a){var s +if(a instanceof A.w3)return a.b +if(a==null)return new A.Cv(a) +s=a.$cachedTrace +if(s!=null)return s +s=new A.Cv(a) +if(typeof a==="object")a.$cachedTrace=s +return s}, +pj(a){if(a==null)return J.u(a) +if(typeof a=="object")return A.f8(a) +return J.u(a)}, +aIZ(a){if(typeof a=="number")return B.c.gt(a) +if(a instanceof A.CL)return A.f8(a) +if(a instanceof A.mw)return a.gt(a) +if(a instanceof A.e1)return a.gt(0) +return A.pj(a)}, +avr(a,b){var s,r,q,p=a.length +for(s=0;s=0}, +aJs(a){if(a.indexOf("$",0)>=0)return a.replace(/\$/g,"$$$$") +return a}, +aoz(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&") +return a}, +avZ(a,b,c){var s=A.aKu(a,b,c) +return s}, +aKu(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.aoz(b),"g"),A.aJs(c))}, +aKv(a,b,c,d){var s=a.indexOf(b,d) +if(s<0)return a +return A.aw_(a,s,s+b.length,c)}, +aw_(a,b,c,d){return a.substring(0,b)+d+a.substring(c)}, +au:function au(a,b){this.a=a +this.b=b}, +BG:function BG(a,b){this.a=a +this.b=b}, +Qp:function Qp(a,b){this.a=a +this.b=b}, +BH:function BH(a,b){this.a=a +this.b=b}, +Qq:function Qq(a,b){this.a=a +this.b=b}, +Qr:function Qr(a,b){this.a=a +this.b=b}, +Qs:function Qs(a,b){this.a=a +this.b=b}, +p2:function p2(a,b,c){this.a=a +this.b=b +this.c=c}, +Qt:function Qt(a,b,c){this.a=a +this.b=b +this.c=c}, +BI:function BI(a,b,c){this.a=a +this.b=b +this.c=c}, +BJ:function BJ(a,b,c){this.a=a +this.b=b +this.c=c}, +Qu:function Qu(a,b,c){this.a=a +this.b=b +this.c=c}, +Qv:function Qv(a,b,c){this.a=a +this.b=b +this.c=c}, +Qw:function Qw(a,b,c){this.a=a +this.b=b +this.c=c}, +BK:function BK(a,b,c){this.a=a +this.b=b +this.c=c}, +BL:function BL(a){this.a=a}, +n2:function n2(a,b){this.a=a +this.$ti=b}, +pR:function pR(){}, +X3:function X3(a,b,c){this.a=a +this.b=b +this.c=c}, +bs:function bs(a,b,c){this.a=a +this.b=b +this.$ti=c}, +p0:function p0(a,b){this.a=a +this.$ti=b}, +mm:function mm(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +d8:function d8(a,b){this.a=a +this.$ti=b}, +vh:function vh(){}, +dW:function dW(a,b,c){this.a=a +this.b=b +this.$ti=c}, +dx:function dx(a,b){this.a=a +this.$ti=b}, +wN:function wN(){}, +wO:function wO(a,b){this.a=a +this.$ti=b}, +a0Y:function a0Y(a,b,c,d,e){var _=this +_.a=a +_.c=b +_.d=c +_.e=d +_.f=e}, +a6I:function a6I(a){this.a=a}, +abT:function abT(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +xC:function xC(){}, +H9:function H9(a,b,c){this.a=a +this.b=b +this.c=c}, +Lt:function Lt(a){this.a=a}, +I8:function I8(a){this.a=a}, +w3:function w3(a,b){this.a=a +this.b=b}, +Cv:function Cv(a){this.a=a +this.b=null}, +l0:function l0(){}, +F7:function F7(){}, +F8:function F8(){}, +L2:function L2(){}, +KP:function KP(){}, +pD:function pD(a,b){this.a=a +this.b=b}, +N3:function N3(a){this.a=a}, +JT:function JT(a){this.a=a}, +fA:function fA(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +a15:function a15(a){this.a=a}, +a14:function a14(a,b){this.a=a +this.b=b}, +a13:function a13(a){this.a=a}, +a1D:function a1D(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +aZ:function aZ(a,b){this.a=a +this.$ti=b}, +x_:function x_(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +nI:function nI(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +akN:function akN(a){this.a=a}, +akO:function akO(a){this.a=a}, +akP:function akP(a){this.a=a}, +mw:function mw(){}, +Qm:function Qm(){}, +Qn:function Qn(){}, +Qo:function Qo(){}, +H8:function H8(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +tv:function tv(a){this.b=a}, +acv:function acv(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +KT:function KT(a,b){this.a=a +this.c=b}, +anM:function anM(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +aKE(a){A.ald(new A.hb("Field '"+a+u.N),new Error())}, +a(){A.ald(new A.hb("Field '' has not been initialized."),new Error())}, +bz(){A.ald(new A.hb("Field '' has already been initialized."),new Error())}, +a0(){A.ald(new A.hb("Field '' has been assigned during initialization."),new Error())}, +bk(a){var s=new A.adJ(a) +return s.b=s}, +aty(a,b){var s=new A.afP(a,b) +return s.b=s}, +adJ:function adJ(a){this.a=a +this.b=null}, +afP:function afP(a,b){this.a=a +this.b=null +this.c=b}, +Dm(a,b,c){}, +kw(a){var s,r,q +if(t.RP.b(a))return a +s=J.ax(a) +r=A.bc(s.gu(a),null,!1,t.z) +for(q=0;q>>0!==a||a>=c)throw A.c(A.uf(b,a))}, +mF(a,b,c){var s +if(!(a>>>0!==a))if(b==null)s=a>c +else s=b>>>0!==b||a>b||b>c +else s=!0 +if(s)throw A.c(A.aJp(a,b,c)) +if(b==null)return c +return b}, +lA:function lA(){}, +xt:function xt(){}, +xq:function xq(){}, +qG:function qG(){}, +lB:function lB(){}, +fI:function fI(){}, +xr:function xr(){}, +HZ:function HZ(){}, +I_:function I_(){}, +xs:function xs(){}, +I0:function I0(){}, +I1:function I1(){}, +I2:function I2(){}, +xu:function xu(){}, +iM:function iM(){}, +Bl:function Bl(){}, +Bm:function Bm(){}, +Bn:function Bn(){}, +Bo:function Bo(){}, +aso(a,b){var s=b.c +return s==null?b.c=A.anQ(a,b.x,!0):s}, +amZ(a,b){var s=b.c +return s==null?b.c=A.CO(a,"a6",[b.x]):s}, +asp(a){var s=a.w +if(s===6||s===7||s===8)return A.asp(a.x) +return s===12||s===13}, +aE6(a){return a.as}, +aKc(a,b){var s,r=b.length +for(s=0;s") +for(r=1;r=0)p+=" "+r[q];++q}return p+"})"}, +auz(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.b([],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.ub,n="<",m="",q=0;q0){a+=a0+"[" +for(a0="",q=0;q0){a+=a0+"{" +for(a0="",q=0;q "+b}, +fj(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.fj(a.x,b) +if(m===7){s=a.x +r=A.fj(s,b) +q=s.w +return(q===12||q===13?"("+r+")":r)+"?"}if(m===8)return"FutureOr<"+A.fj(a.x,b)+">" +if(m===9){p=A.aIt(a.x) +o=a.y +return o.length>0?p+("<"+A.auW(o,b)+">"):p}if(m===11)return A.aIi(a,b) +if(m===12)return A.auz(a,b,null) +if(m===13)return A.auz(a.x,b,a.y) +if(m===14){n=a.x +return b[b.length-1-n]}return"?"}, +aIt(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +aGA(a,b){var s=a.tR[b] +for(;typeof s=="string";)s=a.tR[s] +return s}, +aGz(a,b){var s,r,q,p,o,n=a.eT,m=n[b] +if(m==null)return A.SM(a,b,!1) +else if(typeof m=="number"){s=m +r=A.CP(a,5,"#") +q=A.ajd(s) +for(p=0;p0)p+="<"+A.CN(c)+">" +s=a.eC.get(p) +if(s!=null)return s +r=new A.hl(null,null) +r.w=9 +r.x=b +r.y=c +if(c.length>0)r.c=c[0] +r.as=p +q=A.kr(a,r) +a.eC.set(p,q) +return q}, +anO(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.CN(r)+">") +p=a.eC.get(q) +if(p!=null)return p +o=new A.hl(null,null) +o.w=10 +o.x=s +o.y=r +o.as=q +n=A.kr(a,o) +a.eC.set(q,n) +return n}, +atR(a,b,c){var s,r,q="+"+(b+"("+A.CN(c)+")"),p=a.eC.get(q) +if(p!=null)return p +s=new A.hl(null,null) +s.w=11 +s.x=b +s.y=c +s.as=q +r=A.kr(a,s) +a.eC.set(q,r) +return r}, +atP(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.CN(m) +if(j>0){s=l>0?",":"" +g+=s+"["+A.CN(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.aGr(i)+"}"}r=n+(g+")") +q=a.eC.get(r) +if(q!=null)return q +p=new A.hl(null,null) +p.w=12 +p.x=b +p.y=c +p.as=r +o=A.kr(a,p) +a.eC.set(r,o) +return o}, +anP(a,b,c,d){var s,r=b.as+("<"+A.CN(c)+">"),q=a.eC.get(r) +if(q!=null)return q +s=A.aGt(a,b,c,r,d) +a.eC.set(r,s) +return s}, +aGt(a,b,c,d,e){var s,r,q,p,o,n,m,l +if(e){s=c.length +r=A.ajd(s) +for(q=0,p=0;p0){n=A.kA(a,b,r,0) +m=A.ua(a,c,r,0) +return A.anP(a,n,m,c!==m)}}l=new A.hl(null,null) +l.w=13 +l.x=b +l.y=c +l.as=d +return A.kr(a,l)}, +atB(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +atD(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.aFY(r+1,q,l,k) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.atC(a,r,l,k,!1) +else if(q===46)r=A.atC(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.mu(a.u,a.e,k.pop())) +break +case 94:k.push(A.aGw(a.u,k.pop())) +break +case 35:k.push(A.CP(a.u,5,"#")) +break +case 64:k.push(A.CP(a.u,2,"@")) +break +case 126:k.push(A.CP(a.u,3,"~")) +break +case 60:k.push(a.p) +a.p=k.length +break +case 62:A.aG_(a,k) +break +case 38:A.aFZ(a,k) +break +case 42:p=a.u +k.push(A.atS(p,A.mu(p,a.e,k.pop()),a.n)) +break +case 63:p=a.u +k.push(A.anQ(p,A.mu(p,a.e,k.pop()),a.n)) +break +case 47:p=a.u +k.push(A.atQ(p,A.mu(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.aFX(a,k) +break +case 91:k.push(a.p) +a.p=k.length +break +case 93:o=k.splice(a.p) +A.atE(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.aG1(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.mu(a.u,a.e,m)}, +aFY(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}, +atC(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.aGA(s,o.x)[p] +if(n==null)A.ab('No "'+p+'" in "'+A.aE6(o)+'"') +d.push(A.CQ(s,o,n))}else d.push(p) +return m}, +aG_(a,b){var s,r=a.u,q=A.atA(a,b),p=b.pop() +if(typeof p=="string")b.push(A.CO(r,p,q)) +else{s=A.mu(r,a.e,p) +switch(s.w){case 12:b.push(A.anP(r,s,q,a.n)) +break +default:b.push(A.anO(r,s,q)) +break}}}, +aFX(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.atA(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.mu(p,a.e,o) +q=new A.O2() +q.a=s +q.b=n +q.c=m +b.push(A.atP(p,r,q)) +return +case-4:b.push(A.atR(p,b.pop(),s)) +return +default:throw A.c(A.hC("Unexpected state under `()`: "+A.h(o)))}}, +aFZ(a,b){var s=b.pop() +if(0===s){b.push(A.CP(a.u,1,"0&")) +return}if(1===s){b.push(A.CP(a.u,4,"1&")) +return}throw A.c(A.hC("Unexpected extended operation "+A.h(s)))}, +atA(a,b){var s=b.splice(a.p) +A.atE(a.u,a.e,s) +a.p=b.pop() +return s}, +mu(a,b,c){if(typeof c=="string")return A.CO(a,c,a.sEA) +else if(typeof c=="number"){b.toString +return A.aG0(a,b,c)}else return c}, +atE(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}, +hl:function hl(a,b){var _=this +_.a=a +_.b=b +_.r=_.f=_.d=_.c=null +_.w=0 +_.as=_.Q=_.z=_.y=_.x=null}, +O2:function O2(){this.c=this.b=this.a=null}, +CL:function CL(a){this.a=a}, +NF:function NF(){}, +CM:function CM(a){this.a=a}, +aJL(a,b){var s,r +if(B.d.bW(a,"Digit"))return a.charCodeAt(5) +s=b.charCodeAt(0) +if(b.length<=1)r=!(s>=32&&s<=127) +else r=!0 +if(r){r=B.iC.k(0,a) +return r==null?null:r.charCodeAt(0)}if(!(s>=$.aye()&&s<=$.ayf()))r=s>=$.ayp()&&s<=$.ayq() +else r=!0 +if(r)return b.toLowerCase().charCodeAt(0) +return null}, +aGk(a){var s=A.E(t.S,t.N) +s.NU(s,B.iC.gfA(B.iC).f1(0,new A.aiA(),t.q9)) +return new A.aiz(a,s)}, +aIs(a){var s,r,q,p,o=a.RT(),n=A.E(t.N,t.S) +for(s=a.a,r=0;r=2)return null +return a.toLowerCase().charCodeAt(0)}, +aiz:function aiz(a,b){this.a=a +this.b=b +this.c=0}, +aiA:function aiA(){}, +x3:function x3(a){this.a=a}, +bn:function bn(a,b){this.a=a +this.b=b}, +cX:function cX(a,b){this.a=a +this.b=b}, +aFz(){var s,r,q={} +if(self.scheduleImmediate!=null)return A.aIB() +if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") +r=self.document.createElement("span") +q.a=null +new self.MutationObserver(A.ud(new A.acI(q),1)).observe(s,{childList:true}) +return new A.acH(q,s,r)}else if(self.setImmediate!=null)return A.aIC() +return A.aID()}, +aFA(a){self.scheduleImmediate(A.ud(new A.acJ(a),0))}, +aFB(a){self.setImmediate(A.ud(new A.acK(a),0))}, +aFC(a){A.anp(B.q,a)}, +anp(a,b){var s=B.f.c9(a.a,1000) +return A.aGn(s<0?0:s,b)}, +aGn(a,b){var s=new A.Sg(!0) +s.YG(a,b) +return s}, +z(a){return new A.M7(new A.a8($.ae,a.h("a8<0>")),a.h("M7<0>"))}, +y(a,b){a.$2(0,null) +b.b=!0 +return b.a}, +B(a,b){A.aGT(a,b)}, +x(a,b){b.cA(0,a)}, +w(a,b){b.lO(A.a9(a),A.aK(a))}, +aGT(a,b){var s,r,q=new A.ajy(b),p=new A.ajz(b) +if(a instanceof A.a8)a.MV(q,p,t.z) +else{s=t.z +if(t.L0.b(a))a.en(0,q,p,s) +else{r=new A.a8($.ae,t.LR) +r.a=8 +r.c=a +r.MV(q,p,s)}}}, +A(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 $.ae.xU(new A.akk(s))}, +atM(a,b,c){return 0}, +V8(a,b){var s=A.eQ(a,"error",t.K) +return new A.Eh(s,b==null?A.py(a):b)}, +py(a){var s +if(t.Lt.b(a)){s=a.gu6() +if(s!=null)return s}return B.zE}, +aBP(a,b){var s=new A.a8($.ae,b.h("a8<0>")) +A.c7(B.q,new A.a_6(a,s)) +return s}, +aBQ(a,b){var s=new A.a8($.ae,b.h("a8<0>")) +A.e6(new A.a_5(a,s)) +return s}, +cm(a,b){var s=a==null?b.a(a):a,r=new A.a8($.ae,b.h("a8<0>")) +r.k8(s) +return r}, +a_4(a,b,c){var s +A.eQ(a,"error",t.K) +if(b==null)b=A.py(a) +s=new A.a8($.ae,c.h("a8<0>")) +s.n9(a,b) +return s}, +qe(a,b,c){var s,r +if(b==null)s=!c.b(null) +else s=!1 +if(s)throw A.c(A.fn(null,"computation","The type parameter is not nullable")) +r=new A.a8($.ae,c.h("a8<0>")) +A.c7(a,new A.a_3(b,r,c)) +return r}, +lf(a,b){var s,r,q,p,o,n,m,l,k={},j=null,i=!1,h=new A.a8($.ae,b.h("a8>")) +k.a=null +k.b=0 +k.c=k.d=null +s=new A.a_8(k,j,i,h) +try{for(n=J.al(a),m=t.P;n.q();){r=n.gG(n) +q=k.b +J.azn(r,new A.a_7(k,q,h,b,j,i),s,m);++k.b}n=k.b +if(n===0){n=h +n.pp(A.b([],b.h("v<0>"))) +return n}k.a=A.bc(n,null,!1,b.h("0?"))}catch(l){p=A.a9(l) +o=A.aK(l) +if(k.b===0||i)return A.a_4(p,o,b.h("O<0>")) +else{k.d=p +k.c=o}}return h}, +aBO(a,b,c,d){var s,r,q=new A.a_2(d,null,b,c) +if(a instanceof A.a8){s=$.ae +r=new A.a8(s,c.h("a8<0>")) +if(s!==B.ad)q=s.xU(q) +a.n8(new A.hy(r,2,null,q,a.$ti.h("@<1>").bg(c).h("hy<1,2>"))) +return r}return a.en(0,new A.a_1(c),q,c)}, +ajF(a,b,c){if(c==null)c=A.py(b) +a.ij(b,c)}, +fe(a,b){var s=new A.a8($.ae,b.h("a8<0>")) +s.a=8 +s.c=a +return s}, +anz(a,b){var s,r +for(;s=a.a,(s&4)!==0;)a=a.c +if(a===b){b.n9(new A.fm(!0,a,null,"Cannot complete a future with itself"),A.anc()) +return}s|=b.a&1 +a.a=s +if((s&24)!==0){r=b.vi() +b.uu(a) +A.ti(b,r)}else{r=b.c +b.Mh(a) +a.Bo(r)}}, +aFQ(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.n9(new A.fm(!0,p,null,"Cannot complete a future with itself"),A.anc()) +return}if((s&24)===0){r=b.c +b.Mh(p) +q.a.Bo(r) +return}if((s&16)===0&&b.c==null){b.uu(p) +return}b.a^=2 +A.u9(null,null,b.b,new A.afb(q,b))}, +ti(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f={},e=f.a=a +for(s=t.L0;!0;){r={} +q=e.a +p=(q&16)===0 +o=!p +if(b==null){if(o&&(q&1)===0){e=e.c +A.u8(e.a,e.b)}return}r.a=b +n=b.a +for(e=b;n!=null;e=n,n=m){e.a=null +A.ti(f.a,e) +r.a=n +m=n.a}q=f.a +l=q.c +r.b=o +r.c=l +if(p){k=e.c +k=(k&1)!==0||(k&15)===8}else k=!0 +if(k){j=e.b.b +if(o){q=q.b===j +q=!(q||q)}else q=!1 +if(q){A.u8(l.a,l.b) +return}i=$.ae +if(i!==j)$.ae=j +else i=null +e=e.c +if((e&15)===8)new A.afi(r,f,o).$0() +else if(p){if((e&1)!==0)new A.afh(r,l).$0()}else if((e&2)!==0)new A.afg(f,r).$0() +if(i!=null)$.ae=i +e=r.c +if(s.b(e)){q=r.a.$ti +q=q.h("a6<2>").b(e)||!q.y[1].b(e)}else q=!1 +if(q){h=r.a.b +if(e instanceof A.a8)if((e.a&24)!==0){g=h.c +h.c=null +b=h.vn(g) +h.a=e.a&30|h.a&1 +h.c=e.c +f.a=e +continue}else A.anz(e,h) +else h.zB(e) +return}}h=r.a.b +g=h.c +h.c=null +b=h.vn(g) +e=r.b +q=r.c +if(!e){h.a=8 +h.c=q}else{h.a=h.a&1|16 +h.c=q}f.a=h +e=h}}, +auS(a,b){if(t.Hg.b(a))return b.xU(a) +if(t.C_.b(a))return a +throw A.c(A.fn(a,"onError",u.w))}, +aIb(){var s,r +for(s=$.u7;s!=null;s=$.u7){$.Dp=null +r=s.b +$.u7=r +if(r==null)$.Do=null +s.a.$0()}}, +aIo(){$.ao2=!0 +try{A.aIb()}finally{$.Dp=null +$.ao2=!1 +if($.u7!=null)$.aoZ().$1(A.av5())}}, +auZ(a){var s=new A.M8(a),r=$.Do +if(r==null){$.u7=$.Do=s +if(!$.ao2)$.aoZ().$1(A.av5())}else $.Do=r.b=s}, +aIk(a){var s,r,q,p=$.u7 +if(p==null){A.auZ(a) +$.Dp=$.Do +return}s=new A.M8(a) +r=$.Dp +if(r==null){s.b=p +$.u7=$.Dp=s}else{q=r.b +s.b=q +$.Dp=r.b=s +if(q==null)$.Do=s}}, +e6(a){var s=null,r=$.ae +if(B.ad===r){A.u9(s,s,B.ad,a) +return}A.u9(s,s,r,r.CC(a))}, +aEN(a,b){var s=null,r=b.h("mz<0>"),q=new A.mz(s,s,s,s,r) +a.en(0,new A.aam(q,b),new A.aan(q),t.P) +return new A.j7(q,r.h("j7<1>"))}, +aNh(a){A.eQ(a,"stream",t.K) +return new A.RR()}, +and(a,b,c){var s=null +return b?new A.mz(a,s,s,s,c.h("mz<0>")):new A.t2(a,s,s,s,c.h("t2<0>"))}, +hq(a,b){var s=null +return a?new A.je(s,s,b.h("je<0>")):new A.Ag(s,s,b.h("Ag<0>"))}, +U7(a){var s,r,q +if(a==null)return +try{a.$0()}catch(q){s=A.a9(q) +r=A.aK(q) +A.u8(s,r)}}, +aFJ(a,b,c,d,e,f){var s=$.ae,r=e?1:0,q=c!=null?32:0,p=A.ad3(s,b),o=A.any(s,c),n=d==null?A.ao8():d +return new A.mf(a,p,o,n,s,r|q,f.h("mf<0>"))}, +ad3(a,b){return b==null?A.aIE():b}, +any(a,b){if(b==null)b=A.aIF() +if(t.hK.b(b))return a.xU(b) +if(t.lO.b(b))return b +throw A.c(A.cz("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, +aIe(a){}, +aIg(a,b){A.u8(a,b)}, +aIf(){}, +atp(a,b){var s=new A.tb($.ae,b.h("tb<0>")) +A.e6(s.gLa()) +if(a!=null)s.c=a +return s}, +aH3(a,b,c){var s=a.aA(0),r=$.pl() +if(s!==r)s.hs(new A.ajB(b,c)) +else b.lr(c)}, +auf(a,b,c){a.j7(b,c)}, +c7(a,b){var s=$.ae +if(s===B.ad)return A.anp(a,b) +return A.anp(a,s.CC(b))}, +u8(a,b){A.aIk(new A.aki(a,b))}, +auT(a,b,c,d){var s,r=$.ae +if(r===c)return d.$0() +$.ae=c +s=r +try{r=d.$0() +return r}finally{$.ae=s}}, +auV(a,b,c,d,e){var s,r=$.ae +if(r===c)return d.$1(e) +$.ae=c +s=r +try{r=d.$1(e) +return r}finally{$.ae=s}}, +auU(a,b,c,d,e,f){var s,r=$.ae +if(r===c)return d.$2(e,f) +$.ae=c +s=r +try{r=d.$2(e,f) +return r}finally{$.ae=s}}, +u9(a,b,c,d){if(B.ad!==c)d=c.CC(d) +A.auZ(d)}, +acI:function acI(a){this.a=a}, +acH:function acH(a,b,c){this.a=a +this.b=b +this.c=c}, +acJ:function acJ(a){this.a=a}, +acK:function acK(a){this.a=a}, +Sg:function Sg(a){this.a=a +this.b=null +this.c=0}, +aiV:function aiV(a,b){this.a=a +this.b=b}, +M7:function M7(a,b){this.a=a +this.b=!1 +this.$ti=b}, +ajy:function ajy(a){this.a=a}, +ajz:function ajz(a){this.a=a}, +akk:function akk(a){this.a=a}, +kp:function kp(a){var _=this +_.a=a +_.e=_.d=_.c=_.b=null}, +jf:function jf(a,b){this.a=a +this.$ti=b}, +Eh:function Eh(a,b){this.a=a +this.b=b}, +c0:function c0(a,b){this.a=a +this.$ti=b}, +oU:function oU(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}, +hu:function hu(){}, +je:function je(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.r=_.f=_.e=_.d=null +_.$ti=c}, +aiB:function aiB(a,b){this.a=a +this.b=b}, +aiD:function aiD(a,b,c){this.a=a +this.b=b +this.c=c}, +aiC:function aiC(a){this.a=a}, +Ag:function Ag(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.r=_.f=_.e=_.d=null +_.$ti=c}, +t1:function t1(a,b,c){var _=this +_.ax=null +_.a=a +_.b=b +_.c=0 +_.r=_.f=_.e=_.d=null +_.$ti=c}, +a_6:function a_6(a,b){this.a=a +this.b=b}, +a_5:function a_5(a,b){this.a=a +this.b=b}, +a_3:function a_3(a,b,c){this.a=a +this.b=b +this.c=c}, +a_8:function a_8(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a_7:function a_7(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +a_2:function a_2(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a_1:function a_1(a){this.a=a}, +MB:function MB(){}, +b1:function b1(a,b){this.a=a +this.$ti=b}, +hy:function hy(a,b,c,d,e){var _=this +_.a=null +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +a8:function a8(a,b){var _=this +_.a=0 +_.b=a +_.c=null +_.$ti=b}, +af8:function af8(a,b){this.a=a +this.b=b}, +aff:function aff(a,b){this.a=a +this.b=b}, +afc:function afc(a){this.a=a}, +afd:function afd(a){this.a=a}, +afe:function afe(a,b,c){this.a=a +this.b=b +this.c=c}, +afb:function afb(a,b){this.a=a +this.b=b}, +afa:function afa(a,b){this.a=a +this.b=b}, +af9:function af9(a,b,c){this.a=a +this.b=b +this.c=c}, +afi:function afi(a,b,c){this.a=a +this.b=b +this.c=c}, +afj:function afj(a){this.a=a}, +afh:function afh(a,b){this.a=a +this.b=b}, +afg:function afg(a,b){this.a=a +this.b=b}, +M8:function M8(a){this.a=a +this.b=null}, +c5:function c5(){}, +aam:function aam(a,b){this.a=a +this.b=b}, +aan:function aan(a){this.a=a}, +aaq:function aaq(a,b){this.a=a +this.b=b}, +aar:function aar(a,b){this.a=a +this.b=b}, +aao:function aao(a){this.a=a}, +aap:function aap(a,b,c){this.a=a +this.b=b +this.c=c}, +p7:function p7(){}, +aiw:function aiw(a){this.a=a}, +aiv:function aiv(a){this.a=a}, +RY:function RY(){}, +M9:function M9(){}, +t2:function t2(a,b,c,d,e){var _=this +_.a=null +_.b=0 +_.c=null +_.d=a +_.e=b +_.f=c +_.r=d +_.$ti=e}, +mz:function mz(a,b,c,d,e){var _=this +_.a=null +_.b=0 +_.c=null +_.d=a +_.e=b +_.f=c +_.r=d +_.$ti=e}, +j7:function j7(a,b){this.a=a +this.$ti=b}, +mf:function mf(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}, +hv:function hv(){}, +ad5:function ad5(a,b,c){this.a=a +this.b=b +this.c=c}, +ad4:function ad4(a){this.a=a}, +tS:function tS(){}, +Ne:function Ne(){}, +mg:function mg(a){this.b=a +this.a=null}, +oX:function oX(a,b){this.b=a +this.c=b +this.a=null}, +aeh:function aeh(){}, +tE:function tE(){this.a=0 +this.c=this.b=null}, +agV:function agV(a,b){this.a=a +this.b=b}, +tb:function tb(a,b){var _=this +_.a=1 +_.b=a +_.c=null +_.$ti=b}, +t0:function t0(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=_.e=null +_.$ti=e}, +oV:function oV(a,b){this.a=a +this.$ti=b}, +RR:function RR(){}, +ajB:function ajB(a,b){this.a=a +this.b=b}, +hx:function hx(){}, +tg:function tg(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}, +pb:function pb(a,b,c){this.b=a +this.a=b +this.$ti=c}, +Ba:function Ba(a,b,c){this.b=a +this.a=b +this.$ti=c}, +ajp:function ajp(){}, +aki:function aki(a,b){this.a=a +this.b=b}, +ahH:function ahH(){}, +ahI:function ahI(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +ahJ:function ahJ(a,b){this.a=a +this.b=b}, +ahK:function ahK(a,b,c){this.a=a +this.b=b +this.c=c}, +fx(a,b,c,d,e){if(c==null)if(b==null){if(a==null)return new A.kk(d.h("@<0>").bg(e).h("kk<1,2>")) +b=A.avc()}else{if(A.aJ5()===b&&A.aJ4()===a)return new A.ml(d.h("@<0>").bg(e).h("ml<1,2>")) +if(a==null)a=A.avb()}else{if(b==null)b=A.avc() +if(a==null)a=A.avb()}return A.aFK(a,b,c,d,e)}, +anA(a,b){var s=a[b] +return s===a?null:s}, +anC(a,b,c){if(c==null)a[b]=a +else a[b]=c}, +anB(){var s=Object.create(null) +A.anC(s,"",s) +delete s[""] +return s}, +aFK(a,b,c,d,e){var s=c!=null?c:new A.ae2(d) +return new A.Ax(a,b,s,d.h("@<0>").bg(e).h("Ax<1,2>"))}, +jJ(a,b){return new A.fA(a.h("@<0>").bg(b).h("fA<1,2>"))}, +an(a,b,c){return A.avr(a,new A.fA(b.h("@<0>").bg(c).h("fA<1,2>")))}, +E(a,b){return new A.fA(a.h("@<0>").bg(b).h("fA<1,2>"))}, +cC(a){return new A.j8(a.h("j8<0>"))}, +anD(){var s=Object.create(null) +s[""]=s +delete s[""] +return s}, +jK(a){return new A.fg(a.h("fg<0>"))}, +ay(a){return new A.fg(a.h("fg<0>"))}, +bZ(a,b){return A.aJx(a,new A.fg(b.h("fg<0>")))}, +anE(){var s=Object.create(null) +s[""]=s +delete s[""] +return s}, +dr(a,b,c){var s=new A.mn(a,b,c.h("mn<0>")) +s.c=a.e +return s}, +aHk(a,b){return J.e(a,b)}, +aHl(a){return J.u(a)}, +ar7(a){var s=J.al(a) +if(s.q())return s.gG(s) +return null}, +jG(a){var s,r +if(t.Ee.b(a)){if(a.length===0)return null +return B.b.gT(a)}s=J.al(a) +if(!s.q())return null +do r=s.gG(s) +while(s.q()) +return r}, +ar6(a,b){var s +A.dA(b,"index") +if(t.Ee.b(a)){if(b>=a.length)return null +return J.pp(a,b)}s=J.al(a) +do if(!s.q())return null +while(--b,b>=0) +return s.gG(s)}, +aCt(a,b,c){var s=A.jJ(b,c) +a.W(0,new A.a1E(s,b,c)) +return s}, +lv(a,b,c){var s=A.jJ(b,c) +s.L(0,a) +return s}, +qz(a,b){var s,r,q=A.jK(b) +for(s=a.length,r=0;r"))}, +amH(a){var s,r={} +if(A.aor(a))return"{...}" +s=new A.ch("") +try{$.pk.push(a) +s.a+="{" +r.a=!0 +J.mN(a,new A.a1N(r,s)) +s.a+="}"}finally{$.pk.pop()}r=s.a +return r.charCodeAt(0)==0?r:r}, +lw(a,b){return new A.x0(A.bc(A.aCv(a),null,!1,b.h("0?")),b.h("x0<0>"))}, +aCv(a){if(a==null||a<8)return 8 +else if((a&a-1)>>>0!==0)return A.ark(a) +return a}, +ark(a){var s +a=(a<<1>>>0)-1 +for(;!0;a=s){s=(a&a-1)>>>0 +if(s===0)return a}}, +aHn(a,b){return J.UA(a,b)}, +aHj(a){if(a.h("p(0,0)").b(A.avg()))return A.avg() +return A.aIO()}, +ana(a,b){var s=A.aHj(a) +return new A.zr(s,new A.aa7(a),a.h("@<0>").bg(b).h("zr<1,2>"))}, +aa8(a,b,c){return new A.rv(a,b,c.h("rv<0>"))}, +kk:function kk(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +afo:function afo(a){this.a=a}, +ml:function ml(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +Ax:function Ax(a,b,c,d){var _=this +_.f=a +_.r=b +_.w=c +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=d}, +ae2:function ae2(a){this.a=a}, +oZ:function oZ(a,b){this.a=a +this.$ti=b}, +tl:function tl(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +j8:function j8(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +ff:function ff(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +fg:function fg(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +aga:function aga(a){this.a=a +this.c=this.b=null}, +mn:function mn(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=null +_.$ti=c}, +a1E:function a1E(a,b,c){this.a=a +this.b=b +this.c=c}, +nL:function nL(a){var _=this +_.b=_.a=0 +_.c=null +_.$ti=a}, +ts:function ts(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.e=!1 +_.$ti=d}, +fD:function fD(){}, +X:function X(){}, +aC:function aC(){}, +a1M:function a1M(a){this.a=a}, +a1N:function a1N(a,b){this.a=a +this.b=b}, +B9:function B9(a,b){this.a=a +this.$ti=b}, +OL:function OL(a,b,c){var _=this +_.a=a +_.b=b +_.c=null +_.$ti=c}, +SN:function SN(){}, +x7:function x7(){}, +oR:function oR(a,b){this.a=a +this.$ti=b}, +AE:function AE(){}, +AD:function AD(a,b,c){var _=this +_.c=a +_.d=b +_.b=_.a=null +_.$ti=c}, +AF:function AF(a){this.b=this.a=null +this.$ti=a}, +vL:function vL(a,b){this.a=a +this.b=0 +this.$ti=b}, +Ns:function Ns(a,b,c){var _=this +_.a=a +_.b=b +_.c=null +_.$ti=c}, +x0:function x0(a,b){var _=this +_.a=a +_.d=_.c=_.b=0 +_.$ti=b}, +OI:function OI(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=null +_.$ti=e}, +hn:function hn(){}, +tP:function tP(){}, +RO:function RO(){}, +eO:function eO(a,b){var _=this +_.a=a +_.c=_.b=null +_.$ti=b}, +eN:function eN(a,b,c){var _=this +_.d=a +_.a=b +_.c=_.b=null +_.$ti=c}, +RN:function RN(){}, +zr:function zr(a,b,c){var _=this +_.d=null +_.e=a +_.f=b +_.c=_.b=_.a=0 +_.$ti=c}, +aa7:function aa7(a){this.a=a}, +jd:function jd(){}, +kn:function kn(a,b){this.a=a +this.$ti=b}, +p6:function p6(a,b){this.a=a +this.$ti=b}, +Cq:function Cq(a,b){this.a=a +this.$ti=b}, +ko:function ko(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.$ti=d}, +Cu:function Cu(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.$ti=d}, +p5:function p5(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.$ti=d}, +rv:function rv(a,b,c){var _=this +_.d=null +_.e=a +_.f=b +_.c=_.b=_.a=0 +_.$ti=c}, +aaa:function aaa(a,b){this.a=a +this.b=b}, +aa9:function aa9(a,b){this.a=a +this.b=b}, +Cr:function Cr(){}, +Cs:function Cs(){}, +Ct:function Ct(){}, +CR:function CR(){}, +auQ(a,b){var s,r,q,p=null +try{p=JSON.parse(a)}catch(r){s=A.a9(r) +q=A.bG(String(s),null,null) +throw A.c(q)}q=A.ajL(p) +return q}, +ajL(a){var s +if(a==null)return null +if(typeof a!="object")return a +if(!Array.isArray(a))return new A.Ow(a,Object.create(null)) +for(s=0;s>>2,m=3-(h&3) +for(s=c,r=0;s>>0 +n=(n<<8|q)&16777215;--m +if(m===0){p=g+1 +f[g]=a.charCodeAt(n>>>18&63) +g=p+1 +f[p]=a.charCodeAt(n>>>12&63) +p=g+1 +f[g]=a.charCodeAt(n>>>6&63) +g=p+1 +f[p]=a.charCodeAt(n&63) +n=0 +m=3}}if(r>=0&&r<=255){if(e&&m<3){p=g+1 +o=p+1 +if(3-m===1){f[g]=a.charCodeAt(n>>>2&63) +f[p]=a.charCodeAt(n<<4&63) +f[o]=61 +f[o+1]=61}else{f[g]=a.charCodeAt(n>>>10&63) +f[p]=a.charCodeAt(n>>>4&63) +f[o]=a.charCodeAt(n<<2&63) +f[o+1]=61}return 0}return(n<<2|3-m)>>>0}for(s=c;s255)break;++s}throw A.c(A.fn(b,"Not a byte value at index "+s+": 0x"+J.azp(b[s],16),null))}, +aFH(a,b,c,d,e,f){var s,r,q,p,o,n,m="Invalid encoding before padding",l="Invalid character",k=B.f.dw(f,2),j=f&3,i=$.ap_() +for(s=b,r=0;s=0){k=(k<<6|p)&16777215 +j=j+1&3 +if(j===0){o=e+1 +d[e]=k>>>16&255 +e=o+1 +d[o]=k>>>8&255 +o=e+1 +d[e]=k&255 +e=o +k=0}continue}else if(p===-1&&j>1){if(r>127)break +if(j===3){if((k&3)!==0)throw A.c(A.bG(m,a,s)) +d[e]=k>>>10 +d[e+1]=k>>>2}else{if((k&15)!==0)throw A.c(A.bG(m,a,s)) +d[e]=k>>>4}n=(3-j)*3 +if(q===37)n+=2 +return A.atn(a,s+1,c,-n-1)}throw A.c(A.bG(l,a,s))}if(r>=0&&r<=127)return(k<<2|j)>>>0 +for(s=b;s127)break +throw A.c(A.bG(l,a,s))}, +aFF(a,b,c,d){var s=A.aFG(a,b,c),r=(d&3)+(s-b),q=B.f.dw(r,2)*3,p=r&3 +if(p!==0&&s0)return new Uint8Array(q) +return $.axw()}, +aFG(a,b,c){var s,r=c,q=r,p=0 +while(!0){if(!(q>b&&p<2))break +c$0:{--q +s=a.charCodeAt(q) +if(s===61){++p +r=q +break c$0}if((s|32)===100){if(q===b)break;--q +s=a.charCodeAt(q)}if(s===51){if(q===b)break;--q +s=a.charCodeAt(q)}if(s===37){++p +r=q +break c$0}break}}return r}, +atn(a,b,c,d){var s,r +if(b===c)return d +s=-d-1 +for(;s>0;){r=a.charCodeAt(b) +if(s===3){if(r===61){s-=3;++b +break}if(r===37){--s;++b +if(b===c)break +r=a.charCodeAt(b)}else break}if((s>3?s-3:s)===2){if(r!==51)break;++b;--s +if(b===c)break +r=a.charCodeAt(b)}if((r|32)!==100)break;++b;--s +if(b===c)break}if(b!==c)throw A.c(A.bG("Invalid padding character",a,b)) +return-s-1}, +are(a,b,c){return new A.wT(a,b)}, +aHm(a){return a.i9()}, +aFS(a,b){return new A.Oy(a,[],A.avf())}, +aFT(a,b,c){var s,r=new A.ch("") +A.atz(a,r,b,c) +s=r.a +return s.charCodeAt(0)==0?s:s}, +atz(a,b,c,d){var s +if(d==null)s=A.aFS(b,c) +else s=new A.ag6(d,0,b,[],A.avf()) +s.mC(a)}, +aua(a){switch(a){case 65:return"Missing extension byte" +case 67:return"Unexpected extension byte" +case 69:return"Invalid UTF-8 byte" +case 71:return"Overlong encoding" +case 73:return"Out of unicode range" +case 75:return"Encoded surrogate" +case 77:return"Unfinished UTF-8 octet sequence" +default:return""}}, +Ow:function Ow(a,b){this.a=a +this.b=b +this.c=null}, +ag3:function ag3(a){this.a=a}, +Ox:function Ox(a){this.a=a}, +B5:function B5(a,b,c){this.b=a +this.c=b +this.a=c}, +ajb:function ajb(){}, +aja:function aja(){}, +Vf:function Vf(){}, +Vh:function Vh(){}, +Me:function Me(a){this.a=0 +this.b=a}, +acU:function acU(){}, +aj9:function aj9(a,b){this.a=a +this.b=b}, +Vg:function Vg(){}, +Md:function Md(){this.a=0}, +acT:function acT(a,b){this.a=a +this.b=b}, +VH:function VH(){}, +adC:function adC(a){this.a=a}, +ER:function ER(){}, +Rx:function Rx(a,b,c){this.a=a +this.b=b +this.$ti=c}, +F9:function F9(){}, +vj:function vj(){}, +O3:function O3(a,b){this.a=a +this.b=b}, +YB:function YB(){}, +wT:function wT(a,b){this.a=a +this.b=b}, +Ha:function Ha(a,b){this.a=a +this.b=b}, +a17:function a17(){}, +a19:function a19(a,b){this.a=a +this.b=b}, +ag2:function ag2(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=!1}, +a18:function a18(a){this.a=a}, +ag7:function ag7(){}, +ag8:function ag8(a,b){this.a=a +this.b=b}, +ag4:function ag4(){}, +ag5:function ag5(a,b){this.a=a +this.b=b}, +Oy:function Oy(a,b,c){this.c=a +this.a=b +this.b=c}, +ag6:function ag6(a,b,c,d,e){var _=this +_.f=a +_.y$=b +_.c=c +_.a=d +_.b=e}, +KR:function KR(){}, +adN:function adN(a,b){this.a=a +this.b=b}, +aiy:function aiy(a,b){this.a=a +this.b=b}, +CA:function CA(){}, +SQ:function SQ(a,b,c){this.a=a +this.b=b +this.c=c}, +ac6:function ac6(){}, +ac7:function ac7(){}, +SP:function SP(a){this.b=this.a=0 +this.c=a}, +ajc:function ajc(a,b){var _=this +_.d=a +_.b=_.a=0 +_.c=b}, +Lz:function Lz(a){this.a=a}, +CU:function CU(a){this.a=a +this.b=16 +this.c=0}, +Tc:function Tc(){}, +TX:function TX(){}, +aJO(a){return A.pj(a)}, +aqJ(){return new A.w8(new WeakMap())}, +q5(a){var s=!0 +s=typeof a=="string" +if(s)A.q4(a)}, +q4(a){throw A.c(A.fn(a,"object","Expandos are not allowed on strings, numbers, bools, records or null"))}, +aGN(){if(typeof WeakRef=="function")return WeakRef +var s=function LeakRef(a){this._=a} +s.prototype={ +deref(){return this._}} +return s}, +il(a,b){var s=A.as3(a,b) +if(s!=null)return s +throw A.c(A.bG(a,null,null))}, +aJq(a){var s=A.as2(a) +if(s!=null)return s +throw A.c(A.bG("Invalid double",a,null))}, +aBp(a,b){a=A.c(a) +a.stack=b.i(0) +throw a +throw A.c("unreachable")}, +bc(a,b,c,d){var s,r=c?J.nF(a,d):J.H7(a,d) +if(a!==0&&b!=null)for(s=0;s")) +for(s=J.al(a);s.q();)r.push(s.gG(s)) +if(b)return r +return J.a0X(r)}, +a7(a,b,c){var s +if(b)return A.arm(a,c) +s=J.a0X(A.arm(a,c)) +return s}, +arm(a,b){var s,r +if(Array.isArray(a))return A.b(a.slice(0),b.h("v<0>")) +s=A.b([],b.h("v<0>")) +for(r=J.al(a);r.q();)s.push(r.gG(r)) +return s}, +aCy(a,b,c){var s,r=J.nF(a,c) +for(s=0;s0||c0)a=J.pq(a,b) +return A.as5(A.a7(a,!0,t.S))}, +ang(a){return A.dN(a)}, +aEP(a,b,c){var s=a.length +if(b>=s)return"" +return A.aDM(a,b,c==null||c>s?s:c)}, +i_(a,b,c){return new A.H8(a,A.amx(a,!1,b,c,!1,!1))}, +aJN(a,b){return a==null?b==null:a===b}, +ane(a,b,c){var s=J.al(b) +if(!s.q())return a +if(c.length===0){do a+=A.h(s.gG(s)) +while(s.q())}else{a+=A.h(s.gG(s)) +for(;s.q();)a=a+c+A.h(s.gG(s))}return a}, +lD(a,b){return new A.jL(a,b.gaea(),b.gaeO(),b.gaef())}, +SO(a,b,c,d){var s,r,q,p,o,n="0123456789ABCDEF" +if(c===B.a3){s=$.axK() +s=s.b.test(b)}else s=!1 +if(s)return b +r=B.bq.d7(b) +for(s=r.length,q=0,p="";q>>4]&1<<(o&15))!==0)p+=A.dN(o) +else p=d&&o===32?p+"+":p+"%"+n[o>>>4&15]+n[o&15]}return p.charCodeAt(0)==0?p:p}, +aGG(a){var s,r,q +if(!$.axL())return A.aGH(a) +s=new URLSearchParams() +a.W(0,new A.aj7(s)) +r=s.toString() +q=r.length +if(q>0&&r[q-1]==="=")r=B.d.ak(r,0,q-1) +return r.replace(/=&|\*|%7E/g,b=>b==="=&"?"&":b==="*"?"%2A":"~")}, +anc(){return A.aK(new Error())}, +aAn(a,b){return J.UA(a,b)}, +Fs(a,b,c){var s="microsecond" +if(b<0||b>999)throw A.c(A.cb(b,0,999,s,null)) +if(a<-864e13||a>864e13)throw A.c(A.cb(a,-864e13,864e13,"millisecondsSinceEpoch",null)) +if(a===864e13&&b!==0)throw A.c(A.fn(b,s,"Time including microseconds is outside valid range")) +A.eQ(c,"isUtc",t.y) +return a}, +aAy(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}, +aq1(a){if(a>=100)return""+a +if(a>=10)return"0"+a +return"00"+a}, +Fr(a){if(a>=10)return""+a +return"0"+a}, +cR(a,b){return new A.aP(a+1000*b)}, +aBo(a,b){var s,r +for(s=0;s<3;++s){r=a[s] +if(r.b===b)return r}throw A.c(A.fn(b,"name","No enum value with that name"))}, +na(a){if(typeof a=="number"||A.u6(a)||a==null)return J.en(a) +if(typeof a=="string")return JSON.stringify(a) +return A.as4(a)}, +aBq(a,b){A.eQ(a,"error",t.K) +A.eQ(b,"stackTrace",t.Km) +A.aBp(a,b)}, +hC(a){return new A.mQ(a)}, +cz(a,b){return new A.fm(!1,null,b,a)}, +fn(a,b,c){return new A.fm(!0,a,b,c)}, +kN(a,b){return a}, +as8(a){var s=null +return new A.r_(s,s,!1,s,s,a)}, +a6O(a,b){return new A.r_(null,null,!0,a,b,"Value not in range")}, +cb(a,b,c,d,e){return new A.r_(b,c,!0,a,d,"Invalid value")}, +as9(a,b,c,d){if(ac)throw A.c(A.cb(a,b,c,d,null)) +return a}, +dm(a,b,c,d,e){if(0>a||a>c)throw A.c(A.cb(a,0,c,d==null?"start":d,null)) +if(b!=null){if(a>b||b>c)throw A.c(A.cb(b,a,c,e==null?"end":e,null)) +return b}return c}, +dA(a,b){if(a<0)throw A.c(A.cb(a,0,null,b,null)) +return a}, +ar1(a,b){var s=b.b +return new A.wF(s,!0,a,null,"Index out of range")}, +cE(a,b,c,d,e){return new A.wF(b,!0,a,e,"Index out of range")}, +ar2(a,b,c,d){if(0>a||a>=b)throw A.c(A.cE(a,b,c,null,d==null?"index":d)) +return a}, +a1(a){return new A.Lv(a)}, +cc(a){return new A.oQ(a)}, +R(a){return new A.ho(a)}, +bM(a){return new A.Fd(a)}, +c2(a){return new A.AL(a)}, +bG(a,b,c){return new A.jz(a,b,c)}, +aCg(a,b,c){if(a<=0)return new A.fv(c.h("fv<0>")) +return new A.AV(a,b,c.h("AV<0>"))}, +ar8(a,b,c){var s,r +if(A.aor(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}s=A.b([],t.s) +$.pk.push(a) +try{A.aI5(a,s)}finally{$.pk.pop()}r=A.ane(b,s,", ")+c +return r.charCodeAt(0)==0?r:r}, +lo(a,b,c){var s,r +if(A.aor(a))return b+"..."+c +s=new A.ch(b) +$.pk.push(a) +try{r=s +r.a=A.ane(r.a,a,", ")}finally{$.pk.pop()}s.a+=c +r=s.a +return r.charCodeAt(0)==0?r:r}, +aI5(a,b){var s,r,q,p,o,n,m,l=J.al(a),k=0,j=0 +while(!0){if(!(k<80||j<3))break +if(!l.q())return +s=A.h(l.gG(l)) +b.push(s) +k+=s.length+2;++j}if(!l.q()){if(j<=5)return +r=b.pop() +q=b.pop()}else{p=l.gG(l);++j +if(!l.q()){if(j<=4){b.push(A.h(p)) +return}r=A.h(p) +q=b.pop() +k+=r.length+2}else{o=l.gG(l);++j +for(;l.q();p=o,o=n){n=l.gG(l);++j +if(j>100){while(!0){if(!(k>75&&j>3))break +k-=b.pop().length+2;--j}b.push("...") +return}}q=A.h(p) +r=A.h(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)}, +arq(a,b,c,d,e){return new A.mZ(a,b.h("@<0>").bg(c).bg(d).bg(e).h("mZ<1,2,3,4>"))}, +P(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,a0,a1){var s +if(B.a===c)return A.aES(J.u(a),J.u(b),$.dt()) +if(B.a===d){s=J.u(a) +b=J.u(b) +c=J.u(c) +return A.dD(A.F(A.F(A.F($.dt(),s),b),c))}if(B.a===e)return A.aET(J.u(a),J.u(b),J.u(c),J.u(d),$.dt()) +if(B.a===f){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +return A.dD(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e))}if(B.a===g){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f))}if(B.a===h){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g))}if(B.a===i){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h))}if(B.a===j){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i))}if(B.a===k){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j))}if(B.a===l){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k))}if(B.a===m){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l))}if(B.a===n){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l),m))}if(B.a===o){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l),m),n))}if(B.a===p){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o))}if(B.a===q){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p))}if(B.a===r){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +q=J.u(q) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p),q))}if(B.a===a0){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +q=J.u(q) +r=J.u(r) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p),q),r))}if(B.a===a1){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +q=J.u(q) +r=J.u(r) +a0=J.u(a0) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p),q),r),a0))}s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +q=J.u(q) +r=J.u(r) +a0=J.u(a0) +a1=J.u(a1) +return A.dD(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dt(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p),q),r),a0),a1))}, +bO(a){var s,r,q=$.dt() +for(s=a.length,r=0;r").bg(d).h("kX<1,2>"))}, +aEM(){$.DR() +return new A.zx()}, +aH9(a,b){return 65536+((a&1023)<<10)+(b&1023)}, +kc(a4,a5,a6){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 +a6=a4.length +s=a5+5 +if(a6>=s){r=((a4.charCodeAt(a5+4)^58)*3|a4.charCodeAt(a5)^100|a4.charCodeAt(a5+1)^97|a4.charCodeAt(a5+2)^116|a4.charCodeAt(a5+3)^97)>>>0 +if(r===0)return A.ac_(a5>0||a6=14)q[7]=a6 +o=q[1] +if(o>=a5)if(A.auY(a4,a5,o,20,q)===20)q[7]=o +n=q[2]+1 +m=q[3] +l=q[4] +k=q[5] +j=q[6] +if(jo+3)){p=m>a5 +g=0 +if(!(p&&m+1===l)){if(!B.d.e4(a4,"\\",l))if(n>a5)f=B.d.e4(a4,"\\",n-1)||B.d.e4(a4,"\\",n-2) +else f=!1 +else f=!0 +if(!f){if(!(kl+2&&B.d.e4(a4,"/..",k-3) +else f=!0 +if(!f)if(o===a5+4){if(B.d.e4(a4,"file",a5)){if(n<=a5){if(!B.d.e4(a4,"/",l)){e="file:///" +r=3}else{e="file://" +r=2}a4=e+B.d.ak(a4,l,a6) +o-=a5 +s=r-a5 +k+=s +j+=s +a6=a4.length +a5=g +n=7 +m=7 +l=7}else if(l===k){s=a5===0 +s +if(s){a4=B.d.oF(a4,l,k,"/");++k;++j;++a6}else{a4=B.d.ak(a4,a5,l)+"/"+B.d.ak(a4,k,a6) +o-=a5 +n-=a5 +m-=a5 +l-=a5 +s=1-a5 +k+=s +j+=s +a6=a4.length +a5=g}}h="file"}else if(B.d.e4(a4,"http",a5)){if(p&&m+3===l&&B.d.e4(a4,"80",m+1)){s=a5===0 +s +if(s){a4=B.d.oF(a4,m,l,"") +l-=3 +k-=3 +j-=3 +a6-=3}else{a4=B.d.ak(a4,a5,m)+B.d.ak(a4,l,a6) +o-=a5 +n-=a5 +m-=a5 +s=3+a5 +l-=s +k-=s +j-=s +a6=a4.length +a5=g}}h="http"}}else if(o===s&&B.d.e4(a4,"https",a5)){if(p&&m+4===l&&B.d.e4(a4,"443",m+1)){s=a5===0 +s +if(s){a4=B.d.oF(a4,m,l,"") +l-=4 +k-=4 +j-=4 +a6-=3}else{a4=B.d.ak(a4,a5,m)+B.d.ak(a4,l,a6) +o-=a5 +n-=a5 +m-=a5 +s=4+a5 +l-=s +k-=s +j-=s +a6=a4.length +a5=g}}h="https"}i=!f}}}}if(i){if(a5>0||a6a5)h=A.aGI(a4,a5,o) +else{if(o===a5)A.tX(a4,a5,"Invalid empty scheme") +h=""}d=a3 +if(n>a5){c=o+3 +b=c9)k.$2("invalid character",s)}else{if(q===3)k.$2(m,s) +o=A.il(B.d.ak(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.il(B.d.ak(a,r,c),null) +if(o>255)k.$2(l,r) +j[q]=o +return j}, +at8(a,b,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=new A.ac1(a),c=new A.ac2(d,a) +if(a.length<2)d.$2("address is too short",e) +s=A.b([],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=b&&q=b&&s>>4]&1<<(p&15))!==0){if(q&&65<=p&&90>=p){if(i==null)i=new A.ch("") +if(r>>4]&1<<(o&15))!==0){if(p&&65<=o&&90>=o){if(q==null)q=new A.ch("") +if(r>>4]&1<<(o&15))!==0)A.tX(a,s,"Invalid character") +else{j=1 +if((o&64512)===55296&&s+1>>4]&1<<(q&15))!==0))A.tX(a,s,"Illegal scheme character") +if(65<=q&&q<=90)r=!0}a=B.d.ak(a,b,c) +return A.aGB(r?a.toLowerCase():a)}, +aGB(a){if(a==="http")return"http" +if(a==="file")return"file" +if(a==="https")return"https" +if(a==="package")return"package" +return a}, +au2(a,b,c){if(a==null)return"" +return A.CT(a,b,c,B.Dg,!1,!1)}, +au_(a,b,c,d,e,f){var s=e==="file",r=s||f,q=A.CT(a,b,c,B.lL,!0,!0) +if(q.length===0){if(s)return"/"}else if(r&&!B.d.bW(q,"/"))q="/"+q +return A.aGJ(q,e,f)}, +aGJ(a,b,c){var s=b.length===0 +if(s&&!c&&!B.d.bW(a,"/")&&!B.d.bW(a,"\\"))return A.au5(a,!s||c) +return A.au7(a)}, +au1(a,b,c,d){if(a!=null){if(d!=null)throw A.c(A.cz("Both query and queryParameters specified",null)) +return A.CT(a,b,c,B.eV,!0,!1)}if(d==null)return null +return A.aGG(d)}, +aGH(a){var s={},r=new A.ch("") +s.a="" +a.W(0,new A.aj5(new A.aj6(s,r))) +s=r.a +return s.charCodeAt(0)==0?s:s}, +atY(a,b,c){if(a==null)return null +return A.CT(a,b,c,B.eV,!0,!1)}, +anS(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.akL(s) +p=A.akL(r) +if(q<0||p<0)return"%" +o=q*16+p +if(o<127&&(B.eY[B.f.dw(o,4)]&1<<(o&15))!==0)return A.dN(c&&65<=o&&90>=o?(o|32)>>>0:o) +if(s>=97||r>=97)return B.d.ak(a,b,b+3).toUpperCase() +return null}, +anR(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.f.a7_(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.aau(s,0,null)}, +CT(a,b,c,d,e,f){var s=A.au4(a,b,c,d,e,f) +return s==null?B.d.ak(a,b,c):s}, +au4(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.anS(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.lM[o>>>4]&1<<(o&15))!==0){A.tX(a,r,"Invalid character") +n=i +m=n}else{if((o&64512)===55296){l=r+1 +if(l=2&&A.atX(a.charCodeAt(0)))for(s=1;s127||(B.lJ[r>>>4]&1<<(r&15))===0)break}return a}, +aGE(){return A.b([],t.s)}, +au8(a){var s,r,q,p,o,n=A.E(t.N,t.yp),m=new A.aj8(a,B.a3,n) +for(s=a.length,r=0,q=0,p=-1;r127)throw A.c(A.cz("Illegal percent encoding in URI",null)) +if(r===37){if(o+3>q)throw A.c(A.cz("Truncated URI",null)) +p.push(A.aGF(a,o+1)) +o+=2}else if(e&&r===43)p.push(32) +else p.push(r)}}return d.eA(0,p)}, +atX(a){var s=a|32 +return 97<=s&&s<=122}, +aFl(a){if(!a.QV("data"))throw A.c(A.fn(a,"uri","Scheme must be 'data'")) +if(a.gEj())throw A.c(A.fn(a,"uri","Data uri must not have authority")) +if(a.gEl())throw A.c(A.fn(a,"uri","Data uri must not have a fragment part")) +if(!a.gEn())return A.ac_(a.gf6(a),0,a) +return A.ac_(a.i(0),5,a)}, +ac_(a,b,c){var s,r,q,p,o,n,m,l,k="Invalid MIME type",j=A.b([b-1],t.t) +for(s=a.length,r=b,q=-1,p=null;rb)throw A.c(A.bG(k,a,r)) +for(;p!==44;){j.push(r);++r +for(o=-1;r=0)j.push(o) +else{n=B.b.gT(j) +if(p!==44||r!==n+7||!B.d.e4(a,"base64",n+1))throw A.c(A.bG("Expecting '='",a,r)) +break}}j.push(r) +m=r+1 +if((j.length&1)===1)a=B.kb.aem(0,a,m,s) +else{l=A.au4(a,m,s,B.eV,!0,!1) +if(l!=null)a=B.d.oF(a,m,s,l)}return new A.abZ(a,j,c)}, +aHg(){var s,r,q,p,o,n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",m=".",l=":",k="/",j="\\",i="?",h="#",g="/\\",f=J.H6(22,t.H3) +for(s=0;s<22;++s)f[s]=new Uint8Array(96) +r=new A.ajM(f) +q=new A.ajN() +p=new A.ajO() +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}, +auY(a,b,c,d,e){var s,r,q,p,o=$.ayu() +for(s=b;s95?31:q] +d=p&31 +e[p>>>5]=s}return d}, +aIr(a,b){return A.Hs(b,t.N)}, +auk(a,b,c){var s,r,q,p,o,n +for(s=a.length,r=0,q=0;qs)return B.d.ak(a,0,r+1) +else if(s>-1)return B.d.ak(a,0,s+1) +else return"."}, +aC5(){$.ay6() +return null}, +aG4(){return A.aG3()}, +Ia:function Ia(a,b){this.a=a +this.b=b}, +ta:function ta(a,b){this.a=a +this.b=b}, +ael:function ael(a){this.a=a}, +aej:function aej(a){this.a=a}, +aei:function aei(a){this.a=a}, +aek:function aek(a){this.a=a}, +nj:function nj(a,b,c){this.a=a +this.b=b +this.c=c}, +xP:function xP(a,b,c){this.a=a +this.b=b +this.c=c}, +xQ:function xQ(a,b,c){this.a=a +this.b=b +this.c=c}, +xR:function xR(a,b,c){this.a=a +this.b=b +this.c=c}, +Zg:function Zg(){}, +bb(a){var s +if(typeof a=="function")throw A.c(A.cz("Attempting to rewrap a JS function.",null)) +s=function(b,c){return function(d){return b(c,d,arguments.length)}}(A.aGZ,a) +s[$.Um()]=a +return s}, +ajV(a){var s +if(typeof a=="function")throw A.c(A.cz("Attempting to rewrap a JS function.",null)) +s=function(b,c){return function(d,e){return b(c,d,e,arguments.length)}}(A.aH_,a) +s[$.Um()]=a +return s}, +aGY(a){return a.$0()}, +aGZ(a,b,c){if(c>=1)return a.$1(b) +return a.$0()}, +aH_(a,b,c,d){if(d>=2)return a.$2(b,c) +if(d===1)return a.$1(b) +return a.$0()}, +auP(a){return a==null||A.u6(a)||typeof a=="number"||typeof a=="string"||t.pT.b(a)||t.H3.b(a)||t.Po.b(a)||t.JZ.b(a)||t.w7.b(a)||t.XO.b(a)||t.rd.b(a)||t.s4.b(a)||t.OE.b(a)||t.pI.b(a)||t.V4.b(a)}, +a5(a){if(A.auP(a))return a +return new A.akX(new A.ml(t.Fy)).$1(a)}, +I(a,b){return a[b]}, +pd(a,b){return a[b]}, +b9(a,b,c){return a[b].apply(a,c)}, +aH0(a,b){return a[b]()}, +aH1(a,b,c){return a[b](c)}, +aH2(a,b,c,d){return a[b](c,d)}, +auj(a){return new a()}, +aGX(a,b){return new a(b)}, +cF(a,b){var s=new A.a8($.ae,b.h("a8<0>")),r=new A.b1(s,b.h("b1<0>")) +a.then(A.ud(new A.al4(r),1),A.ud(new A.al5(r),1)) +return s}, +auO(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}, +aof(a){if(A.auO(a))return a +return new A.akw(new A.ml(t.Fy)).$1(a)}, +akX:function akX(a){this.a=a}, +al4:function al4(a){this.a=a}, +al5:function al5(a){this.a=a}, +akw:function akw(a){this.a=a}, +I7:function I7(a){this.a=a}, +aK6(a,b){return Math.max(a,b)}, +aKr(a){return Math.sqrt(a)}, +aJu(a){return Math.exp(a)}, +avE(a){return Math.log(a)}, +DB(a,b){return Math.pow(a,b)}, +ag0:function ag0(a){this.a=a}, +fC:function fC(){}, +Ho:function Ho(){}, +fJ:function fJ(){}, +I9:function I9(){}, +IZ:function IZ(){}, +KS:function KS(){}, +fQ:function fQ(){}, +Lm:function Lm(){}, +OF:function OF(){}, +OG:function OG(){}, +Pj:function Pj(){}, +Pk:function Pk(){}, +RT:function RT(){}, +RU:function RU(){}, +Sq:function Sq(){}, +Sr:function Sr(){}, +alK(a){var s=a.BYTES_PER_ELEMENT,r=A.dm(0,null,B.f.eR(a.byteLength,s),null,null) +return A.ey(a.buffer,a.byteOffset+0*s,r*s)}, +abX(a,b,c){var s=J.az3(a) +c=A.dm(b,c,B.f.eR(a.byteLength,s),null,null) +return A.d2(a.buffer,a.byteOffset+b*s,(c-b)*s)}, +G7:function G7(){}, +xE(a,b,c){if(b==null)if(a==null)return null +else return a.ac(0,1-c) +else if(a==null)return b.ac(0,c) +else return new A.m(A.ji(a.a,b.a,c),A.ji(a.b,b.b,c))}, +aEB(a,b){return new A.K(a,b)}, +an7(a,b,c){if(b==null)if(a==null)return null +else return a.ac(0,1-c) +else if(a==null)return b.ac(0,c) +else return new A.K(A.ji(a.a,b.a,c),A.ji(a.b,b.b,c))}, +r3(a,b){var s=a.a,r=b*2/2,q=a.b +return new A.D(s-r,q-r,s+r,q+r)}, +aDV(a,b,c){var s=a.a,r=c/2,q=a.b,p=b/2 +return new A.D(s-r,q-p,s+r,q+p)}, +a7b(a,b){var s=a.a,r=b.a,q=a.b,p=b.b +return new A.D(Math.min(s,r),Math.min(q,p),Math.max(s,r),Math.max(q,p))}, +asb(a,b,c){var s,r,q,p,o +if(b==null)if(a==null)return null +else{s=1-c +return new A.D(a.a*s,a.b*s,a.c*s,a.d*s)}else{r=b.a +q=b.b +p=b.c +o=b.d +if(a==null)return new A.D(r*c,q*c,p*c,o*c) +else return new A.D(A.ji(a.a,r,c),A.ji(a.b,q,c),A.ji(a.c,p,c),A.ji(a.d,o,c))}}, +ya(a,b,c){var s,r,q +if(b==null)if(a==null)return null +else{s=1-c +return new A.aU(a.a*s,a.b*s)}else{r=b.a +q=b.b +if(a==null)return new A.aU(r*c,q*c) +else return new A.aU(A.ji(a.a,r,c),A.ji(a.b,q,c))}}, +a6N(a,b){var s=b.a,r=b.b +return new A.hZ(a.a,a.b,a.c,a.d,s,r,s,r,s,r,s,r,s===r)}, +as7(a,b,c,d,e,f,g,h){var s=g.a,r=g.b,q=h.a,p=h.b,o=e.a,n=e.b,m=f.a,l=f.b +return new A.hZ(a,b,c,d,s,r,q,p,m,l,o,n,s===r&&s===q&&s===p&&s===o&&s===n&&s===m&&s===l)}, +Jb(a,b,c,d,e){var s=d.a,r=d.b,q=e.a,p=e.b,o=b.a,n=b.b,m=c.a,l=c.b,k=s===r&&s===q&&s===p&&s===o&&s===n&&s===m&&s===l +return new A.hZ(a.a,a.b,a.c,a.d,s,r,q,p,m,l,o,n,k)}, +V(a,b,c){var s +if(a!=b){s=a==null?null:isNaN(a) +if(s===!0){s=b==null?null:isNaN(b) +s=s===!0}else s=!1}else s=!0 +if(s)return a==null?null:a +if(a==null)a=0 +if(b==null)b=0 +return a*(1-c)+b*c}, +ji(a,b,c){return a*(1-c)+b*c}, +aka(a,b,c){return a*(1-c)+b*c}, +N(a,b,c){if(ac)return c +if(isNaN(a))return c +return a}, +auX(a,b){return A.Z(A.mH(B.c.a2((a.gm(a)>>>24&255)*b),0,255),a.gm(a)>>>16&255,a.gm(a)>>>8&255,a.gm(a)&255)}, +apQ(a){return new A.C(a>>>0)}, +Z(a,b,c,d){return new A.C(((a&255)<<24|(b&255)<<16|(c&255)<<8|d&255)>>>0)}, +apR(a,b,c,d){return new A.C(((B.c.c9(d*255,1)&255)<<24|(a&255)<<16|(b&255)<<8|c&255)>>>0)}, +alN(a){if(a<=0.03928)return a/12.92 +return Math.pow((a+0.055)/1.055,2.4)}, +q(a,b,c){if(b==null)if(a==null)return null +else return A.auX(a,1-c) +else if(a==null)return A.auX(b,c) +else return A.Z(A.mH(B.c.P(A.aka(a.gm(a)>>>24&255,b.gm(b)>>>24&255,c)),0,255),A.mH(B.c.P(A.aka(a.gm(a)>>>16&255,b.gm(b)>>>16&255,c)),0,255),A.mH(B.c.P(A.aka(a.gm(a)>>>8&255,b.gm(b)>>>8&255,c)),0,255),A.mH(B.c.P(A.aka(a.gm(a)&255,b.gm(b)&255,c)),0,255))}, +aAm(a,b){var s,r,q,p,o,n=a.a,m=n>>>24&255 +if(m===0)return b +s=255-m +r=b.gm(b)>>>24&255 +q=n&255 +p=n>>>16&255 +n=n>>>8&255 +if(r===255)return A.Z(255,B.f.c9(m*p+s*(b.gm(b)>>>16&255),255),B.f.c9(m*n+s*(b.gm(b)>>>8&255),255),B.f.c9(m*q+s*(b.gm(b)&255),255)) +else{r=B.f.c9(r*s,255) +o=m+r +return A.Z(o,B.f.eR(p*m+(b.gm(b)>>>16&255)*r,o),B.f.eR(n*m+(b.gm(b)>>>8&255)*r,o),B.f.eR(q*m+(b.gm(b)&255)*r,o))}}, +aqT(a,b,c){return $.am().P3(0,a,b,c,null,B.jz,null)}, +Dw(a,b){return A.aJU(a,b)}, +aJU(a,b){var s=0,r=A.z(t.hP),q,p=2,o,n=[],m,l,k,j,i,h,g,f +var $async$Dw=A.A(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:s=b==null?3:5 +break +case 3:h=$.am() +g=a.a +g.toString +q=h.Ex(g) +s=1 +break +s=4 +break +case 5:h=$.am() +g=a.a +g.toString +s=6 +return A.B(h.Ex(g),$async$Dw) +case 6:m=d +p=7 +s=10 +return A.B(m.fO(),$async$Dw) +case 10:l=d +try{g=J.UB(l) +k=g.gbb(g) +g=J.UB(l) +j=g.gaH(g) +i=b.$2(k,j) +g=a.a +g.toString +f=i.a +f=h.iH(g,!1,i.b,f) +q=f +n=[1] +s=8 +break}finally{J.UB(l).l()}n.push(9) +s=8 +break +case 7:n=[2] +case 8:p=2 +m.l() +s=n.pop() +break +case 9:case 4:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$Dw,r)}, +aJ6(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j,i,h,g=null,f=A.bk("swapRedBlue") +switch(e.a){case 1:f.b=!0 +break +case 0:f.b=!1 +break +case 2:throw A.c(A.cc("RGB conversion from rgbaFloat32 data is not implemented"))}s=b*c +r=122+s*4 +q=new DataView(new ArrayBuffer(r)) +q.setUint16(0,16973,!1) +q.setUint32(2,r,!0) +q.setUint32(10,122,!0) +q.setUint32(14,108,!0) +q.setUint32(18,b,!0) +q.setUint32(22,c,!0) +q.setUint16(26,1,!0) +q.setUint16(28,32,!0) +q.setUint32(30,3,!0) +q.setUint32(34,s,!0) +q.setUint32(38,b,!0) +q.setUint32(42,c,!0) +q.setUint32(46,0,!0) +q.setUint32(50,0,!0) +q.setUint32(54,f.aP()?16711680:255,!0) +q.setUint32(58,65280,!0) +q.setUint32(62,f.aP()?255:16711680,!0) +q.setUint32(66,4278190080,!0) +p=a.BYTES_PER_ELEMENT +o=A.dm(0,g,B.f.eR(a.byteLength,p),g,g)*p +if(B.f.bp(o,4)!==0)A.ab(A.cz("The number of bytes to view must be a multiple of 4",g)) +s=a.buffer +n=a.byteOffset+0*p +m=B.f.c9(o,4) +A.Dm(s,n,m) +l=new Uint32Array(s,n,m) +for(k=c-1,j=122;k>=0;--k){i=k*d +for(h=0;h=0)return 145 +return 64}throw A.c(A.R("Unexpected state: "+B.f.ia(d,16)))}, +avH(a,b,c){var s,r,q,p,o +for(s=c,r=0;q=s-2,q>=b;s=q){p=a.charCodeAt(s-1) +if((p&64512)!==56320)break +o=a.charCodeAt(q) +if((o&64512)!==55296)break +if(A.mJ(o,p)!==6)break +r^=1}if(r===0)return 193 +else return 144}, +avG(a,b,c){var s,r,q,p,o +for(s=c;s>b;){--s +r=a.charCodeAt(s) +if((r&64512)!==56320)q=A.Dy(r) +else{if(s>b){--s +p=a.charCodeAt(s) +o=(p&64512)===55296}else{p=0 +o=!1}if(o)q=A.mJ(p,r) +else break}if(q===7)return s +if(q!==4)break}return-1}, +aKf(a,b,c,d){var s,r,q,p,o,n +if(d===b||d===c)return d +s=a.charCodeAt(d) +if((s&63488)!==55296){r=A.Dy(s) +q=d}else{r=2 +if((s&64512)===55296){p=d+1 +if(pb){o=s-1 +n=a.charCodeAt(o) +if((n&64512)===55296){q=A.mJ(n,r) +s=o}}}if(q===6)m=A.avH(a,b,s)!==144?160:48 +else{l=q===1 +if(l||q===4)if(A.avG(a,b,s)>=0)m=l?144:128 +else m=48 +else m=u.S.charCodeAt(q|176)}return new A.Vt(a,a.length,d,m).EY()}, +Vt:function Vt(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Vb:function Vb(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Fz:function Fz(){}, +mA:function mA(){}, +rP:function rP(a,b){this.a=a +this.$ti=b}, +rn:function rn(a,b){this.a=a +this.$ti=b}, +tu:function tu(a,b,c){this.a=a +this.b=b +this.c=c}, +x6:function x6(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Fx:function Fx(){}, +GK:function GK(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=0 +_.$ti=c}, +LN:function LN(){}, +Aa(a,b,c,d,e){var s +if(b==null)A.Fs(0,0,!1) +s=e==null?"":e +return new A.dc(d,s,a,c)}, +dc:function dc(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=null}, +acq:function acq(a,b){this.a=a +this.b=b}, +acr:function acr(a){this.a=a}, +E_:function E_(a){this.a=a}, +UC:function UC(){}, +UD:function UD(){}, +UE:function UE(){}, +UF:function UF(){}, +VW:function VW(a,b,c,d,e){var _=this +_.a=a +_.b=null +_.c=b +_.f=_.d=null +_.w=!1 +_.x=null +_.y=0 +_.at=_.as=_.Q=_.z=!1 +_.ax=c +_.ay=d +_.ch=e}, +mW:function mW(a){this.a=a}, +Al:function Al(){this.d=$ +this.c=this.a=null}, +adH:function adH(a){this.a=a}, +adI:function adI(){}, +adE:function adE(a){this.a=a}, +adG:function adG(){}, +adF:function adF(a){this.a=a}, +T0:function T0(){}, +vG:function vG(a,b){this.a=a +this.b=b}, +la:function la(a,b){this.c=a +this.a=b}, +Nx:function Nx(){this.c=this.a=null}, +aeu:function aeu(a,b,c){this.a=a +this.b=b +this.c=c}, +aet:function aet(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +aes:function aes(){}, +aer:function aer(a,b){this.a=a +this.b=b}, +aeq:function aeq(a){this.a=a}, +Uf(){var s=0,r=A.z(t.S),q,p +var $async$Uf=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:$.kH() +s=3 +return A.B($.kG().hj("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ=="),$async$Uf) +case 3:p=b +if(p===0)$.avC=!0 +$.kH() +s=4 +return A.B($.kG().e0(u.h),$async$Uf) +case 4:q=p==null?-1:p +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$Uf,r)}, +qL:function qL(a,b,c){this.b=a +this.c=b +this.a=c}, +ww:function ww(a){this.a=a}, +Oa:function Oa(a){var _=this +_.d=!1 +_.e=a +_.c=_.a=null}, +afz:function afz(a){this.a=a}, +afx:function afx(a){this.a=a}, +afw:function afw(a,b){this.a=a +this.b=b}, +afu:function afu(){}, +afy:function afy(a){this.a=a}, +afv:function afv(a){this.a=a}, +qF:function qF(a,b,c){this.c=a +this.d=b +this.a=c}, +a5p:function a5p(a,b){this.a=a +this.b=b}, +wy:function wy(a){this.a=a}, +Oc:function Oc(a){this.d=a +this.c=this.a=null}, +afF:function afF(a){this.a=a}, +afC:function afC(a){this.a=a}, +afB:function afB(){}, +afD:function afD(a){this.a=a}, +afE:function afE(){}, +aov(){var s=0,r=A.z(t.H),q,p,o,n,m,l,k +var $async$aov=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:if($.ai==null)A.ath() +q=$.ai +q.toString +p=$.az() +o=t.e8 +n=o.a(p.gc_().b.k(0,0)) +n.toString +m=q.gxJ() +l=q.cy$ +if(l===$){p=o.a(p.gc_().b.k(0,0)) +p.toString +k=new A.QY(B.C,p,null,A.aj()) +k.aw() +k.Yy(null,null,p) +q.cy$!==$&&A.a0() +q.cy$=k +l=k}q.TP(new A.A5(n,B.HF,m,l,null)) +q.Gt() +return A.x(null,r)}}) +return A.y($async$aov,r)}, +HX:function HX(a){this.a=a}, +a5o:function a5o(){}, +a5n:function a5n(a){this.a=a}, +a5m:function a5m(){}, +om:function om(a,b){this.c=a +this.a=b}, +R7:function R7(){var _=this +_.e=_.d=null +_.f="color" +_.c=_.a=null}, +ai2:function ai2(a){this.a=a}, +ai1:function ai1(a,b){this.a=a +this.b=b}, +ai3:function ai3(a){this.a=a}, +ai0:function ai0(a,b){this.a=a +this.b=b}, +ai4:function ai4(a){this.a=a}, +ai_:function ai_(a,b){this.a=a +this.b=b}, +ahZ:function ahZ(a){this.a=a}, +ai6:function ai6(a){this.a=a}, +ai5:function ai5(){}, +oH:function oH(a){this.a=a}, +S3:function S3(a,b,c){var _=this +_.d=$ +_.e=a +_.f=0 +_.jn$=b +_.dU$=c +_.c=_.a=null}, +aiP:function aiP(a){this.a=a}, +aiN:function aiN(a,b){this.a=a +this.b=b}, +aiO:function aiO(a){this.a=a}, +nX:function nX(a,b,c){this.c=a +this.d=b +this.a=c}, +l5:function l5(a,b,c){this.a=a +this.b=b +this.c=c}, +TD:function TD(){}, +h_:function h_(a,b){this.a=a +this.b=b}, +ct:function ct(){}, +cG(a,b,c,d,e){var s=new A.pv(0,1,B.h1,b,c,B.aq,B.y,new A.bh(A.b([],t.G),t.Q),new A.bh(A.b([],t.c),t.wi)) +s.r=e.wh(s.gI6()) +s.B0(d==null?0:d) +return s}, +alG(a,b,c){var s=new A.pv(-1/0,1/0,B.h2,null,null,B.aq,B.y,new A.bh(A.b([],t.G),t.Q),new A.bh(A.b([],t.c),t.wi)) +s.r=c.wh(s.gI6()) +s.B0(b) +return s}, +rZ:function rZ(a,b){this.a=a +this.b=b}, +E9:function E9(a,b){this.a=a +this.b=b}, +pv:function pv(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.d=c +_.e=d +_.f=e +_.w=_.r=null +_.x=$ +_.y=null +_.z=f +_.Q=$ +_.as=g +_.bL$=h +_.cb$=i}, +afZ:function afZ(a,b,c,d,e){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.a=e}, +ahD:function ahD(a,b,c,d,e,f,g){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.a=g}, +M_:function M_(){}, +M0:function M0(){}, +M1:function M1(){}, +Ea:function Ea(a,b){this.b=a +this.d=b}, +M2:function M2(){}, +y8(a){var s=new A.of(new A.bh(A.b([],t.G),t.Q),new A.bh(A.b([],t.c),t.wi),0) +s.c=a +if(a==null){s.a=B.y +s.b=0}return s}, +cZ(a,b,c){var s,r=new A.n5(b,a,c) +r.Ng(b.gaF(b)) +b.bm() +s=b.bL$ +s.b=!0 +s.a.push(r.gnw()) +return r}, +anq(a,b,c){var s,r,q=new A.oP(a,b,c,new A.bh(A.b([],t.G),t.Q),new A.bh(A.b([],t.c),t.wi)) +if(b!=null)if(J.e(a.gm(a),b.gm(b))){q.a=b +q.b=null +s=b}else{if(a.gm(a)>b.gm(b))q.c=B.TE +else q.c=B.TD +s=a}else s=a +s.ea(q.gns()) +s=q.gCa() +q.a.Y(0,s) +r=q.b +if(r!=null)r.Y(0,s) +return q}, +apx(a,b,c){return new A.uA(a,b,new A.bh(A.b([],t.G),t.Q),new A.bh(A.b([],t.c),t.wi),0,c.h("uA<0>"))}, +LV:function LV(){}, +LW:function LW(){}, +kM:function kM(){}, +of:function of(a,b,c){var _=this +_.c=_.b=_.a=null +_.bL$=a +_.cb$=b +_.kF$=c}, +fO:function fO(a,b,c){this.a=a +this.bL$=b +this.kF$=c}, +n5:function n5(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +Sp:function Sp(a,b){this.a=a +this.b=b}, +oP:function oP(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.f=_.e=null +_.bL$=d +_.cb$=e}, +pQ:function pQ(){}, +uA:function uA(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.d=_.c=null +_.bL$=c +_.cb$=d +_.kF$=e +_.$ti=f}, +Aq:function Aq(){}, +Ar:function Ar(){}, +As:function As(){}, +N2:function N2(){}, +Qc:function Qc(){}, +Qd:function Qd(){}, +Qe:function Qe(){}, +QZ:function QZ(){}, +R_:function R_(){}, +Sm:function Sm(){}, +Sn:function Sn(){}, +So:function So(){}, +xO:function xO(){}, +es:function es(){}, +B7:function B7(){}, +yN:function yN(a){this.a=a}, +dl:function dl(a,b,c){this.a=a +this.b=b +this.c=c}, +zR:function zR(a){this.a=a}, +dK:function dK(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Ld:function Ld(){}, +q6:function q6(a){this.a=a}, +N7:function N7(){}, +uz:function uz(){}, +uy:function uy(){}, +mP:function mP(){}, +kL:function kL(){}, +fR(a,b,c){return new A.aR(a,b,c.h("aR<0>"))}, +eY(a){return new A.h3(a)}, +aI:function aI(){}, +b0:function b0(a,b,c){this.a=a +this.b=b +this.$ti=c}, +id:function id(a,b,c){this.a=a +this.b=b +this.$ti=c}, +aR:function aR(a,b,c){this.a=a +this.b=b +this.$ti=c}, +yI:function yI(a,b,c,d){var _=this +_.c=a +_.a=b +_.b=c +_.$ti=d}, +iv:function iv(a,b){this.a=a +this.b=b}, +ye:function ye(a,b){this.a=a +this.b=b}, +ll:function ll(a,b){this.a=a +this.b=b}, +h3:function h3(a){this.a=a}, +D5:function D5(){}, +at4(a,b){var s=new A.A1(A.b([],b.h("v>")),A.b([],t.mz),b.h("A1<0>")) +s.YC(a,b) +return s}, +at5(a,b,c){return new A.k8(a,b,c.h("k8<0>"))}, +A1:function A1(a,b,c){this.a=a +this.b=b +this.$ti=c}, +k8:function k8(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Ov:function Ov(a,b){this.a=a +this.b=b}, +eX:function eX(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.a=l}, +Xa:function Xa(a){this.a=a}, +MW:function MW(){}, +apX(a,b,c,d,e,f,g,h,i){return new A.Fm(h,c,i,d,f,b,e,g,a)}, +Fm:function Fm(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +MX:function MX(){}, +Fo:function Fo(a,b){this.a=a +this.b=b}, +MY:function MY(){}, +Fy:function Fy(){}, +aAr(a){var s,r=a.a +r.toString +s=a.ay +s.toString +r.aaG() +return new A.Aw(s,r,new A.Xc(a),new A.Xd(a))}, +aAs(a,b,c,d,e,f){var s=a.a.cx.a +return new A.vl(new A.t7(e,new A.Xe(a),new A.Xf(a,f),null,f.h("t7<0>")),c,d,s,null)}, +adV(a,b,c){var s,r,q,p,o +if(a==b)return a +if(a==null){s=b.a +if(s==null)s=b +else{r=A.a_(s).h("aw<1,C>") +r=new A.ie(A.a7(new A.aw(s,new A.adW(c),r),!0,r.h("aD.E"))) +s=r}return s}if(b==null){s=a.a +if(s==null)s=a +else{r=A.a_(s).h("aw<1,C>") +r=new A.ie(A.a7(new A.aw(s,new A.adX(c),r),!0,r.h("aD.E"))) +s=r}return s}s=A.b([],t.t_) +for(r=b.a,q=a.a,p=0;p"))) +return new A.nl(r)}, +Gs(a){return new A.nl(a)}, +aqL(a){return a}, +aqN(a,b){var s +if(a.r)return +s=$.amd +if(s===0)A.aJi(J.en(a.a),100,a.b) +else A.aoy().$1("Another exception was thrown: "+a.gUI().i(0)) +$.amd=$.amd+1}, +aqM(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=A.an(["dart:async-patch",0,"dart:async",0,"package:stack_trace",0,"class _AssertionError",0,"class _FakeAsync",0,"class _FrameCallbackEntry",0,"class _Timer",0,"class _RawReceivePortImpl",0],t.N,t.S),f=A.aEJ(J.az9(a,"\n")) +for(s=0,r=0;q=f.length,r0)q.push(h.a)}B.b.hy(q) +if(s===1)k.push("(elided one frame from "+B.b.gap(q)+")") +else if(s>1){i=q.length +if(i>1)q[i-1]="and "+B.b.gT(q) +i="(elided "+s +if(q.length>2)k.push(i+" frames from "+B.b.bD(q,", ")+")") +else k.push(i+" frames from "+B.b.bD(q," ")+")")}return k}, +dk(a){var s=$.iA +if(s!=null)s.$1(a)}, +aJi(a,b,c){var s,r +A.aoy().$1(a) +s=A.b(B.d.yd(J.en(c==null?A.anc():A.aqL(c))).split("\n"),t.s) +r=s.length +s=J.apt(r!==0?new A.zm(s,new A.akx(),t.Ws):s,b) +A.aoy().$1(B.b.bD(A.aqM(s),"\n"))}, +aAE(a,b,c){A.aAF(b,c) +return new A.FG(b)}, +aAF(a,b){if(a==null)return A.b([],t.E) +return J.kJ(A.aqM(A.b(B.d.yd(A.h(A.aqL(a))).split("\n"),t.s)),A.aIz(),t.EX).dm(0)}, +aAG(a){return A.aq5(a,!1)}, +aFO(a,b,c){return new A.NR(c)}, +mh:function mh(){}, +q1:function q1(a,b,c,d,e,f){var _=this +_.y=a +_.z=b +_.as=c +_.at=d +_.ax=!0 +_.ay=null +_.ch=e +_.CW=f}, +Gf:function Gf(a,b,c,d,e,f){var _=this +_.y=a +_.z=b +_.as=c +_.at=d +_.ax=!0 +_.ay=null +_.ch=e +_.CW=f}, +Gd:function Gd(a,b,c,d,e,f){var _=this +_.y=a +_.z=b +_.as=c +_.at=d +_.ax=!0 +_.ay=null +_.ch=e +_.CW=f}, +bF:function bF(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e +_.r=f}, +Zy:function Zy(a){this.a=a}, +nl:function nl(a){this.a=a}, +Zz:function Zz(){}, +ZA:function ZA(){}, +ZB:function ZB(){}, +akx:function akx(){}, +FG:function FG(a){this.y=a}, +NR:function NR(a){this.f=a}, +NT:function NT(){}, +NS:function NS(){}, +Er:function Er(){}, +Vk:function Vk(a){this.a=a}, +af:function af(){}, +fr:function fr(){}, +Wo:function Wo(a){this.a=a}, +Bh:function Bh(a){this.a=a}, +eL:function eL(a,b){var _=this +_.a=a +_.S$=0 +_.O$=b +_.ar$=_.af$=0}, +aq5(a,b){var s=null +return A.ix("",s,b,B.aR,a,s,s,B.ar,!1,!1,!0,B.hN,s)}, +ix(a,b,c,d,e,f,g,h,i,j,k,l,m){var s +if(g==null)s=i?"MISSING":null +else s=g +return new A.iw(s,f,i,b,d,h)}, +alV(a,b,c){return new A.FF(c)}, +b4(a){return B.d.mm(B.f.ia(J.u(a)&1048575,16),5,"0")}, +aAD(a,b,c,d,e,f,g){return new A.vC(g)}, +vA:function vA(a,b){this.a=a +this.b=b}, +jt:function jt(a,b){this.a=a +this.b=b}, +agG:function agG(){}, +d_:function d_(){}, +iw:function iw(a,b,c,d,e,f){var _=this +_.y=a +_.z=b +_.as=c +_.at=d +_.ax=!0 +_.ay=null +_.ch=e +_.CW=f}, +vB:function vB(){}, +FF:function FF(a){this.f=a}, +ad:function ad(){}, +Xz:function Xz(){}, +hI:function hI(){}, +vC:function vC(a){this.y=a}, +Nf:function Nf(){}, +ea:function ea(){}, +Hw:function Hw(){}, +rN:function rN(){}, +dS:function dS(a,b){this.a=a +this.$ti=b}, +anN:function anN(a){this.$ti=a}, +he:function he(){}, +wZ:function wZ(){}, +xD(a){return new A.bh(A.b([],a.h("v<0>")),a.h("bh<0>"))}, +bh:function bh(a,b){var _=this +_.a=a +_.b=!1 +_.c=$ +_.$ti=b}, +lg:function lg(a,b){this.a=a +this.$ti=b}, +aI9(a){return A.bc(a,null,!1,t.X)}, +y_:function y_(a){this.a=a}, +aiZ:function aiZ(){}, +O1:function O1(a){this.a=a}, +me:function me(a,b){this.a=a +this.b=b}, +AY:function AY(a,b){this.a=a +this.b=b}, +ef:function ef(a,b){this.a=a +this.b=b}, +acp(a){var s=new DataView(new ArrayBuffer(8)),r=A.d2(s.buffer,0,null) +return new A.acn(new Uint8Array(a),s,r)}, +acn:function acn(a,b,c){var _=this +_.a=a +_.b=0 +_.c=!1 +_.d=b +_.e=c}, +yd:function yd(a){this.a=a +this.b=0}, +aEJ(a){var s=t.ZK +return A.a7(new A.dq(new A.dZ(new A.aF(A.b(B.d.FR(a).split("\n"),t.s),new A.aac(),t.Hd),A.aKs(),t.C9),s),!0,s.h("j.E"))}, +aEI(a){var s,r,q="",p=$.axb().wJ(a) +if(p==null)return null +s=A.b(p.b[1].split("."),t.s) +r=s.length>1?B.b.gI(s):q +return new A.i5(a,-1,q,q,q,-1,-1,r,s.length>1?A.hr(s,1,null,t.N).bD(0,"."):B.b.gap(s))}, +aEK(a){var s,r,q,p,o,n,m,l,k,j,i=null,h="" +if(a==="")return B.LN +else if(a==="...")return B.LO +if(!B.d.bW(a,"#"))return A.aEI(a) +s=A.i_("^#(\\d+) +(.+) \\((.+?):?(\\d+){0,1}:?(\\d+){0,1}\\)$",!0,!1).wJ(a).b +r=s[2] +r.toString +q=A.avZ(r,".","") +if(B.d.bW(q,"new")){p=q.split(" ").length>1?q.split(" ")[1]:h +if(B.d.p(p,".")){o=p.split(".") +p=o[0] +q=o[1]}else q=""}else if(B.d.p(q,".")){o=q.split(".") +p=o[0] +q=o[1]}else p="" +r=s[3] +r.toString +n=A.kc(r,0,i) +m=n.gf6(n) +if(n.gmN()==="dart"||n.gmN()==="package"){l=n.gxE()[0] +r=n.gf6(n) +k=A.h(n.gxE()[0]) +A.as9(0,0,r.length,"startIndex") +m=A.aKv(r,k+"/","",0)}else l=h +r=s[1] +r.toString +r=A.il(r,i) +k=n.gmN() +j=s[4] +if(j==null)j=-1 +else{j=j +j.toString +j=A.il(j,i)}s=s[5] +if(s==null)s=-1 +else{s=s +s.toString +s=A.il(s,i)}return new A.i5(a,r,k,l,m,j,s,p,q)}, +i5:function i5(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +aac:function aac(){}, +ci:function ci(a,b){this.a=a +this.$ti=b}, +aaE:function aaE(a){this.a=a}, +GD:function GD(a,b){this.a=a +this.b=b}, +cI:function cI(){}, +qf:function qf(a,b,c){this.a=a +this.b=b +this.c=c}, +tj:function tj(a){var _=this +_.a=a +_.b=!0 +_.d=_.c=!1 +_.e=null}, +afk:function afk(a){this.a=a}, +a_a:function a_a(a){this.a=a}, +a_c:function a_c(){}, +a_b:function a_b(a,b,c){this.a=a +this.b=b +this.c=c}, +aBF(a,b,c,d,e,f,g){return new A.wi(c,g,f,a,e,!1)}, +ahE:function ahE(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=b +_.d=c +_.r=d +_.w=e +_.x=f +_.y=null}, +wq:function wq(){}, +a_f:function a_f(a){this.a=a}, +a_g:function a_g(a,b){this.a=a +this.b=b}, +wi:function wi(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e +_.r=f}, +av_(a,b){switch(b.a){case 1:case 4:return a +case 0:case 2:case 3:return a===0?1:a +case 5:return a===0?1:a}}, +aDk(a,b){var s=A.a_(a) +return new A.dq(new A.dZ(new A.aF(a,new A.a6t(),s.h("aF<1>")),new A.a6u(b),s.h("dZ<1,aO?>")),t.FI)}, +a6t:function a6t(){}, +a6u:function a6u(a){this.a=a}, +jv:function jv(a){this.a=a}, +hL:function hL(a,b,c){this.a=a +this.b=b +this.d=c}, +hM:function hM(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +eZ:function eZ(a,b,c){this.a=a +this.b=b +this.c=c}, +a6w(a,b){var s,r +if(a==null)return b +s=new A.fS(new Float64Array(3)) +s.mQ(b.a,b.b,0) +r=a.xI(s).a +return new A.m(r[0],r[1])}, +a6v(a,b,c,d){if(a==null)return c +if(b==null)b=A.a6w(a,d) +return b.ad(0,A.a6w(a,d.ad(0,c)))}, +amS(a){var s,r,q=new Float64Array(4),p=new A.j5(q) +p.yM(0,0,1,0) +s=new Float64Array(16) +r=new A.bj(s) +r.bc(a) +s[11]=q[3] +s[10]=q[2] +s[9]=q[1] +s[8]=q[0] +r.yL(2,p) +return r}, +aDh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.o3(o,d,n,0,e,a,h,B.h,0,!1,!1,0,j,i,b,c,0,0,0,l,k,g,m,0,!1,null,null)}, +aDr(a,b,c,d,e,f,g,h,i,j,k,l){return new A.o8(l,c,k,0,d,a,f,B.h,0,!1,!1,0,h,g,0,b,0,0,0,j,i,0,0,0,!1,null,null)}, +aDm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){return new A.jW(a1,f,a0,0,g,c,j,b,a,!1,!1,0,l,k,d,e,q,m,p,o,n,i,s,0,r,null,null)}, +aDj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){return new A.lJ(a3,g,a2,k,h,c,l,b,a,f,!1,0,n,m,d,e,s,o,r,q,p,j,a1,0,a0,null,null)}, +aDl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){return new A.lK(a3,g,a2,k,h,c,l,b,a,f,!1,0,n,m,d,e,s,o,r,q,p,j,a1,0,a0,null,null)}, +aDi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0){return new A.jV(a0,d,s,h,e,b,i,B.h,a,!0,!1,j,l,k,0,c,q,m,p,o,n,g,r,0,!1,null,null)}, +aDn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){return new A.o5(a3,e,a2,j,f,c,k,b,a,!0,!1,l,n,m,0,d,s,o,r,q,p,h,a1,i,a0,null,null)}, +aDv(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){return new A.ob(a1,e,a0,i,f,b,j,B.h,a,!1,!1,k,m,l,c,d,r,n,q,p,o,h,s,0,!1,null,null)}, +aDt(a,b,c,d,e,f,g,h){return new A.o9(f,d,h,b,g,0,c,a,e,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,!1,null,null)}, +aDu(a,b,c,d,e,f){return new A.oa(f,b,e,0,c,a,d,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,!1,null,null)}, +aDs(a,b,c,d,e,f,g){return new A.J_(e,g,b,f,0,c,a,d,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,!1,null,null)}, +aDp(a,b,c,d,e,f,g){return new A.jX(g,b,f,c,B.bx,a,d,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,e,null,null)}, +aDq(a,b,c,d,e,f,g,h,i,j,k){return new A.o7(c,d,h,g,k,b,j,e,B.bx,a,f,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,i,null,null)}, +aDo(a,b,c,d,e,f,g){return new A.o6(g,b,f,c,B.bx,a,d,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,e,null,null)}, +arV(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0){return new A.o4(a0,e,s,i,f,b,j,B.h,a,!1,!1,0,l,k,c,d,q,m,p,o,n,h,r,0,!1,null,null)}, +Ua(a,b){var s +switch(a.a){case 1:return 1 +case 2:case 3:case 5:case 0:case 4:s=b==null?null:b.a +return s==null?18:s}}, +aIV(a,b){var s +switch(a.a){case 1:return 2 +case 2:case 3:case 5:case 0:case 4:if(b==null)s=null +else{s=b.a +s=s!=null?s*2:null}return s==null?36:s}}, +aO:function aO(){}, +dd:function dd(){}, +LQ:function LQ(){}, +Sw:function Sw(){}, +ME:function ME(){}, +o3:function o3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Ss:function Ss(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MO:function MO(){}, +o8:function o8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +SD:function SD(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MJ:function MJ(){}, +jW:function jW(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sy:function Sy(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MH:function MH(){}, +lJ:function lJ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sv:function Sv(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MI:function MI(){}, +lK:function lK(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sx:function Sx(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MG:function MG(){}, +jV:function jV(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Su:function Su(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MK:function MK(){}, +o5:function o5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sz:function Sz(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MS:function MS(){}, +ob:function ob(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +SH:function SH(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +ed:function ed(){}, +C_:function C_(){}, +MQ:function MQ(){}, +o9:function o9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){var _=this +_.Z=a +_.a3=b +_.a=c +_.b=d +_.c=e +_.d=f +_.e=g +_.f=h +_.r=i +_.w=j +_.x=k +_.y=l +_.z=m +_.Q=n +_.as=o +_.at=p +_.ax=q +_.ay=r +_.ch=s +_.CW=a0 +_.cx=a1 +_.cy=a2 +_.db=a3 +_.dx=a4 +_.dy=a5 +_.fr=a6 +_.fx=a7 +_.fy=a8 +_.go=a9}, +SF:function SF(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MR:function MR(){}, +oa:function oa(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +SG:function SG(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MP:function MP(){}, +J_:function J_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8){var _=this +_.Z=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p +_.ay=q +_.ch=r +_.CW=s +_.cx=a0 +_.cy=a1 +_.db=a2 +_.dx=a3 +_.dy=a4 +_.fr=a5 +_.fx=a6 +_.fy=a7 +_.go=a8}, +SE:function SE(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MM:function MM(){}, +jX:function jX(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +SB:function SB(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MN:function MN(){}, +o7:function o7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1){var _=this +_.id=a +_.k1=b +_.k2=c +_.k3=d +_.a=e +_.b=f +_.c=g +_.d=h +_.e=i +_.f=j +_.r=k +_.w=l +_.x=m +_.y=n +_.z=o +_.Q=p +_.as=q +_.at=r +_.ax=s +_.ay=a0 +_.ch=a1 +_.CW=a2 +_.cx=a3 +_.cy=a4 +_.db=a5 +_.dx=a6 +_.dy=a7 +_.fr=a8 +_.fx=a9 +_.fy=b0 +_.go=b1}, +SC:function SC(a,b){var _=this +_.d=_.c=$ +_.e=a +_.f=b +_.b=_.a=$}, +ML:function ML(){}, +o6:function o6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +SA:function SA(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MF:function MF(){}, +o4:function o4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +St:function St(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +PE:function PE(){}, +PF:function PF(){}, +PG:function PG(){}, +PH:function PH(){}, +PI:function PI(){}, +PJ:function PJ(){}, +PK:function PK(){}, +PL:function PL(){}, +PM:function PM(){}, +PN:function PN(){}, +PO:function PO(){}, +PP:function PP(){}, +PQ:function PQ(){}, +PR:function PR(){}, +PS:function PS(){}, +PT:function PT(){}, +PU:function PU(){}, +PV:function PV(){}, +PW:function PW(){}, +PX:function PX(){}, +PY:function PY(){}, +PZ:function PZ(){}, +Q_:function Q_(){}, +Q0:function Q0(){}, +Q1:function Q1(){}, +Q2:function Q2(){}, +Q3:function Q3(){}, +Q4:function Q4(){}, +Q5:function Q5(){}, +Q6:function Q6(){}, +Q7:function Q7(){}, +Q8:function Q8(){}, +TE:function TE(){}, +TF:function TF(){}, +TG:function TG(){}, +TH:function TH(){}, +TI:function TI(){}, +TJ:function TJ(){}, +TK:function TK(){}, +TL:function TL(){}, +TM:function TM(){}, +TN:function TN(){}, +TO:function TO(){}, +TP:function TP(){}, +TQ:function TQ(){}, +TR:function TR(){}, +TS:function TS(){}, +TT:function TT(){}, +TU:function TU(){}, +TV:function TV(){}, +TW:function TW(){}, +vz:function vz(a){this.a=a}, +amr(){var s=A.b([],t.om),r=new A.bj(new Float64Array(16)) +r.dH() +return new A.jB(s,A.b([r],t.rE),A.b([],t.cR))}, +iE:function iE(a,b){this.a=a +this.b=null +this.$ti=b}, +tW:function tW(){}, +Bf:function Bf(a){this.a=a}, +tA:function tA(a){this.a=a}, +jB:function jB(a,b,c){this.a=a +this.b=b +this.c=c}, +aro(a,b){var s=t.S +return new A.hU(B.BD,null,B.bP,A.E(s,t.d),A.cC(s),a,b,A.aK2(),A.E(s,t.Au))}, +aCz(a){return a===1||a===2||a===4}, +hU:function hU(a,b,c,d,e,f,g,h,i){var _=this +_.k2=!1 +_.E=_.bn=_.bw=_.aV=_.a5=_.by=_.aY=_.y2=_.y1=_.xr=_.x2=_.x1=_.to=_.ry=_.rx=_.RG=_.R8=_.p4=_.p3=_.p2=_.p1=_.ok=_.k4=_.k3=null +_.at=a +_.ay=b +_.ch=c +_.cx=_.CW=null +_.cy=!1 +_.db=null +_.f=d +_.r=e +_.w=null +_.a=f +_.b=null +_.c=g +_.d=h +_.e=i}, +ks:function ks(a,b,c){this.a=a +this.b=b +this.c=c}, +anF:function anF(a,b){this.a=a +this.b=b}, +a6C:function a6C(a){this.a=a +this.b=$}, +a6D:function a6D(){}, +Hn:function Hn(a,b,c){this.a=a +this.b=b +this.c=c}, +aB5(a){return new A.ia(a.gcm(a),A.bc(20,null,!1,t.av))}, +aB6(a){return a===1}, +atb(a,b){var s=t.S +return new A.fT(B.aj,B.cw,A.Uh(),B.bn,A.E(s,t.GY),A.E(s,t.o),B.h,A.b([],t.t),A.E(s,t.d),A.cC(s),a,b,A.Ui(),A.E(s,t.Au))}, +ams(a,b){var s=t.S +return new A.fy(B.aj,B.cw,A.Uh(),B.bn,A.E(s,t.GY),A.E(s,t.o),B.h,A.b([],t.t),A.E(s,t.d),A.cC(s),a,b,A.Ui(),A.E(s,t.Au))}, +AG:function AG(a,b){this.a=a +this.b=b}, +fu:function fu(){}, +Y7:function Y7(a,b){this.a=a +this.b=b}, +Yc:function Yc(a,b){this.a=a +this.b=b}, +Yd:function Yd(a,b){this.a=a +this.b=b}, +Y8:function Y8(){}, +Y9:function Y9(a,b){this.a=a +this.b=b}, +Ya:function Ya(a){this.a=a}, +Yb:function Yb(a,b){this.a=a +this.b=b}, +fT:function fT(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.at=a +_.ax=b +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=c +_.fy=d +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=e +_.p3=f +_.p4=null +_.R8=g +_.RG=h +_.rx=null +_.f=i +_.r=j +_.w=null +_.a=k +_.b=null +_.c=l +_.d=m +_.e=n}, +fy:function fy(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.at=a +_.ax=b +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=c +_.fy=d +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=e +_.p3=f +_.p4=null +_.R8=g +_.RG=h +_.rx=null +_.f=i +_.r=j +_.w=null +_.a=k +_.b=null +_.c=l +_.d=m +_.e=n}, +hY:function hY(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.at=a +_.ax=b +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=c +_.fy=d +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=e +_.p3=f +_.p4=null +_.R8=g +_.RG=h +_.rx=null +_.f=i +_.r=j +_.w=null +_.a=k +_.b=null +_.c=l +_.d=m +_.e=n}, +Nt:function Nt(a,b){this.a=a +this.b=b}, +aB4(a){return a===1}, +MT:function MT(){this.a=!1}, +tU:function tU(a,b,c,d,e){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=!1}, +hK:function hK(a,b,c,d,e){var _=this +_.y=_.x=_.w=_.r=_.f=null +_.z=a +_.a=b +_.b=null +_.c=c +_.d=d +_.e=e}, +a6x:function a6x(a,b){this.a=a +this.b=b}, +a6z:function a6z(){}, +a6y:function a6y(a,b,c){this.a=a +this.b=b +this.c=c}, +a6A:function a6A(){this.b=this.a=null}, +aBR(a){return!0}, +G_:function G_(a,b){this.a=a +this.b=b}, +HW:function HW(a,b){this.a=a +this.b=b}, +cJ:function cJ(){}, +ce:function ce(){}, +wr:function wr(a,b){this.a=a +this.b=b}, +qV:function qV(){}, +a6H:function a6H(a,b){this.a=a +this.b=b}, +hW:function hW(a,b){this.a=a +this.b=b}, +O5:function O5(){}, +aEY(a,b){var s=t.S +return new A.fa(B.aT,18,B.bP,A.E(s,t.d),A.cC(s),a,b,A.al7(),A.E(s,t.Au))}, +rC:function rC(a,b){this.a=a +this.c=b}, +m3:function m3(){}, +Eq:function Eq(){}, +fa:function fa(a,b,c,d,e,f,g,h,i){var _=this +_.O=_.S=_.aq=_.al=_.a3=_.Z=_.E=_.bn=_.bw=_.aV=_.a5=null +_.k3=_.k2=!1 +_.ok=_.k4=null +_.at=a +_.ay=b +_.ch=c +_.cx=_.CW=null +_.cy=!1 +_.db=null +_.f=d +_.r=e +_.w=null +_.a=f +_.b=null +_.c=g +_.d=h +_.e=i}, +aaL:function aaL(a,b){this.a=a +this.b=b}, +aaM:function aaM(a,b){this.a=a +this.b=b}, +aaN:function aaN(a,b){this.a=a +this.b=b}, +aaO:function aaO(a,b){this.a=a +this.b=b}, +aaP:function aaP(a){this.a=a}, +MA:function MA(a,b){this.a=a +this.b=b}, +oW:function oW(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=!1 +_.f=_.e=null}, +a_d:function a_d(a){this.a=a +this.b=null}, +a_e:function a_e(a,b){this.a=a +this.b=b}, +aC6(a){var s=t.av +return new A.nz(A.bc(20,null,!1,s),a,A.bc(20,null,!1,s))}, +ht:function ht(a){this.a=a}, +ma:function ma(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +BC:function BC(a,b){this.a=a +this.b=b}, +ia:function ia(a,b){var _=this +_.a=a +_.b=null +_.c=b +_.d=0}, +nz:function nz(a,b,c){var _=this +_.e=a +_.a=b +_.b=null +_.c=c +_.d=0}, +qA:function qA(a,b,c){var _=this +_.e=a +_.a=b +_.b=null +_.c=c +_.d=0}, +LR:function LR(){}, +acs:function acs(a,b){this.a=a +this.b=b}, +rY:function rY(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +Eo:function Eo(a){this.a=a}, +Vc:function Vc(){}, +Vd:function Vd(){}, +Ve:function Ve(){}, +En:function En(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +G1:function G1(a){this.a=a}, +Yf:function Yf(){}, +Yg:function Yg(){}, +Yh:function Yh(){}, +G0:function G0(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +G6:function G6(a){this.a=a}, +YC:function YC(){}, +YD:function YD(){}, +YE:function YE(){}, +G5:function G5(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +azt(a,b,c){var s,r,q,p,o=null,n=a==null +if(n&&b==null)return o +s=c<0.5 +if(s)r=n?o:a.a +else r=b==null?o:b.a +if(s)q=n?o:a.b +else q=b==null?o:b.b +if(s)p=n?o:a.c +else p=b==null?o:b.c +if(s)n=n?o:a.d +else n=b==null?o:b.d +return new A.pr(r,q,p,n)}, +pr:function pr(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +LT:function LT(){}, +aCD(){return new A.wv(new A.a1O(),A.E(t.K,t.Qu))}, +abA:function abA(a,b){this.a=a +this.b=b}, +xb:function xb(a,b,c,d){var _=this +_.e=a +_.cx=b +_.db=c +_.a=d}, +a1O:function a1O(){}, +a4f:function a4f(){}, +Bb:function Bb(){this.d=$ +this.c=this.a=null}, +agf:function agf(){}, +agg:function agg(){}, +Ed(a,b,c,d,e){return new A.uD(e,a,b,d,c,new A.Qa(null,null,1/0,56),null)}, +azA(a,b){var s=A.aa(a).R8.Q +if(s==null)s=56 +return s+0}, +aiW:function aiW(a){this.b=a}, +Qa:function Qa(a,b,c,d){var _=this +_.e=a +_.f=b +_.a=c +_.b=d}, +uD:function uD(a,b,c,d,e,f,g){var _=this +_.e=a +_.f=b +_.ax=c +_.ch=d +_.cy=e +_.fx=f +_.a=g}, +UU:function UU(a,b){this.a=a +this.b=b}, +Af:function Af(){var _=this +_.d=null +_.e=!1 +_.c=_.a=null}, +acF:function acF(){}, +M5:function M5(a,b){this.c=a +this.a=b}, +Qy:function Qy(a,b,c,d,e){var _=this +_.B=null +_.a_=a +_.am=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +acE:function acE(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){var _=this +_.ay=a +_.cx=_.CW=_.ch=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p}, +azy(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.pw(b==null?null:b,e,d,g,h,j,i,f,a,c,l,n,o,m,k)}, +azz(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.V(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.q(a.f,b.f,c) +m=A.d5(a.r,b.r,c) +l=A.jC(a.w,b.w,c) +k=A.jC(a.x,b.x,c) +j=c<0.5 +if(j)i=a.y +else i=b.y +h=A.V(a.z,b.z,c) +g=A.V(a.Q,b.Q,c) +f=A.aW(a.as,b.as,c) +e=A.aW(a.at,b.at,c) +if(j)j=a.ax +else j=b.ax +return A.azy(k,s,i,q,r,l,p,o,m,n,j,h,e,g,f)}, +pw:function pw(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=n +_.ax=o}, +M4:function M4(){}, +aIa(a,b){var s,r,q,p,o=A.bk("maxValue") +for(s=null,r=0;r<4;++r){q=a[r] +p=b.$1(q) +if(s==null||p>s){o.b=q +s=p}}return o.aP()}, +xf:function xf(a,b){var _=this +_.c=!0 +_.r=_.f=_.e=_.d=null +_.a=a +_.b=b}, +a4d:function a4d(a,b){this.a=a +this.b=b}, +t5:function t5(a,b){this.a=a +this.b=b}, +kh:function kh(a,b){this.a=a +this.b=b}, +qB:function qB(a,b){var _=this +_.e=!0 +_.r=_.f=$ +_.a=a +_.b=b}, +a4e:function a4e(a,b){this.a=a +this.b=b}, +azC(a,b,c){var s,r,q,p,o,n,m +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.V(a.d,b.d,c) +o=A.aW(a.e,b.e,c) +n=A.d0(a.f,b.f,c) +m=A.E5(a.r,b.r,c) +return new A.uJ(s,r,q,p,o,n,m,A.xE(a.w,b.w,c))}, +uJ:function uJ(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +Mc:function Mc(){}, +xc:function xc(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +OM:function OM(){}, +azF(a,b,c){var s,r,q,p,o,n +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.V(a.b,b.b,c) +if(c<0.5)q=a.c +else q=b.c +p=A.V(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.q(a.f,b.f,c) +return new A.uM(s,r,q,p,o,n,A.d0(a.r,b.r,c))}, +uM:function uM(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +Mj:function Mj(){}, +azG(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.jC(a.c,b.c,c) +p=A.jC(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.q(a.f,b.f,c) +m=A.aW(a.r,b.r,c) +l=A.aW(a.w,b.w,c) +k=c<0.5 +if(k)j=a.x +else j=b.x +if(k)i=a.y +else i=b.y +if(k)h=a.z +else h=b.z +if(k)g=a.Q +else g=b.Q +if(k)f=a.as +else f=b.as +if(k)k=a.at +else k=b.at +return new A.uN(s,r,q,p,o,n,m,l,j,i,h,g,f,k)}, +uN:function uN(a,b,c,d,e,f,g,h,i,j,k,l,m,n){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=n}, +Mk:function Mk(){}, +azH(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.q(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.q(a.f,b.f,c) +m=A.V(a.r,b.r,c) +l=A.d5(a.w,b.w,c) +k=c<0.5 +if(k)j=a.x +else j=b.x +i=A.q(a.y,b.y,c) +h=A.an7(a.z,b.z,c) +if(k)k=a.Q +else k=b.Q +return new A.uO(s,r,q,p,o,n,m,l,j,i,h,k,A.jp(a.as,b.as,c))}, +uO:function uO(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}, +Ml:function Ml(){}, +asa(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){return new A.yc(a1,a0,s,r,a5,i,j,o,m,a4,g,p,k,n,f,a2,a6,e,a3,a,c,q,l,!1,d,!0,null)}, +yc:function yc(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.db=s +_.dx=a0 +_.dy=a1 +_.fr=a2 +_.fx=a3 +_.fy=a4 +_.go=a5 +_.id=a6 +_.a=a7}, +Qj:function Qj(a){this.o4$=a +this.c=this.a=null}, +Os:function Os(a,b,c){this.e=a +this.c=b +this.a=c}, +BR:function BR(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ahx:function ahx(a,b){this.a=a +this.b=b}, +Tl:function Tl(){}, +azM(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=c<0.5 +if(s)r=a.a +else r=b.a +if(s)q=a.b +else q=b.b +if(s)p=a.c +else p=b.c +o=A.V(a.d,b.d,c) +n=A.V(a.e,b.e,c) +m=A.d0(a.f,b.f,c) +if(s)l=a.r +else l=b.r +if(s)k=a.w +else k=b.w +if(s)s=a.x +else s=b.x +return new A.uT(r,q,p,o,n,m,l,k,s)}, +uT:function uT(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Mn:function Mn(){}, +EC(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){return new A.be(a3,d,i,o,q,a1,e,p,m,g,l,j,k,s,r,n,a4,a2,b,f,a,a0,c,h)}, +is(a8,a9,b0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7=null +if(a8==a9)return a8 +s=a8==null +r=s?a7:a8.a +q=a9==null +p=q?a7:a9.a +p=A.aB(r,p,b0,A.um(),t.p8) +r=s?a7:a8.b +o=q?a7:a9.b +n=t._ +o=A.aB(r,o,b0,A.bA(),n) +r=s?a7:a8.c +r=A.aB(r,q?a7:a9.c,b0,A.bA(),n) +m=s?a7:a8.d +m=A.aB(m,q?a7:a9.d,b0,A.bA(),n) +l=s?a7:a8.e +l=A.aB(l,q?a7:a9.e,b0,A.bA(),n) +k=s?a7:a8.f +k=A.aB(k,q?a7:a9.f,b0,A.bA(),n) +j=s?a7:a8.r +i=q?a7:a9.r +h=t.PM +i=A.aB(j,i,b0,A.DF(),h) +j=s?a7:a8.w +g=q?a7:a9.w +g=A.aB(j,g,b0,A.aog(),t.pc) +j=s?a7:a8.x +f=q?a7:a9.x +e=t.tW +f=A.aB(j,f,b0,A.DE(),e) +j=s?a7:a8.y +j=A.aB(j,q?a7:a9.y,b0,A.DE(),e) +d=s?a7:a8.z +e=A.aB(d,q?a7:a9.z,b0,A.DE(),e) +d=s?a7:a8.Q +n=A.aB(d,q?a7:a9.Q,b0,A.bA(),n) +d=s?a7:a8.as +h=A.aB(d,q?a7:a9.as,b0,A.DF(),h) +d=s?a7:a8.at +d=A.azO(d,q?a7:a9.at,b0) +c=s?a7:a8.ax +b=q?a7:a9.ax +b=A.aB(c,b,b0,A.akp(),t.KX) +c=b0<0.5 +if(c)a=s?a7:a8.ay +else a=q?a7:a9.ay +if(c)a0=s?a7:a8.ch +else a0=q?a7:a9.ch +if(c)a1=s?a7:a8.CW +else a1=q?a7:a9.CW +if(c)a2=s?a7:a8.cx +else a2=q?a7:a9.cx +if(c)a3=s?a7:a8.cy +else a3=q?a7:a9.cy +a4=s?a7:a8.db +a4=A.E5(a4,q?a7:a9.db,b0) +if(c)a5=s?a7:a8.dx +else a5=q?a7:a9.dx +if(c)a6=s?a7:a8.dy +else a6=q?a7:a9.dy +if(c)s=s?a7:a8.fr +else s=q?a7:a9.fr +return A.EC(a4,a2,a6,o,i,a3,j,s,r,n,h,e,f,a,m,g,l,b,d,a5,k,a1,p,a0)}, +azO(a,b,c){if(a==null&&b==null)return null +return A.ant(a,b,c)}, +be:function be(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4}, +Mo:function Mo(){}, +azN(a,b,c,d){var s +$label0$0:{if(d<=1){s=a +break $label0$0}if(d<2){s=A.d0(a,b,d-1) +s.toString +break $label0$0}if(d<3){s=A.d0(b,c,d-2) +s.toString +break $label0$0}s=c +break $label0$0}return s}, +a0c:function a0c(a,b){this.a=a +this.b=b}, +uU:function uU(){}, +Aj:function Aj(a,b){var _=this +_.r=_.f=_.e=_.d=null +_.cE$=a +_.aX$=b +_.c=_.a=null}, +adB:function adB(){}, +ady:function ady(a,b,c){this.a=a +this.b=b +this.c=c}, +adz:function adz(a,b){this.a=a +this.b=b}, +adA:function adA(a,b,c){this.a=a +this.b=b +this.c=c}, +ad9:function ad9(){}, +ada:function ada(){}, +adb:function adb(){}, +adm:function adm(){}, +adr:function adr(){}, +ads:function ads(){}, +adt:function adt(){}, +adu:function adu(){}, +adv:function adv(){}, +adw:function adw(){}, +adx:function adx(){}, +adc:function adc(){}, +add:function add(){}, +ade:function ade(){}, +adp:function adp(a){this.a=a}, +ad7:function ad7(a){this.a=a}, +adq:function adq(a){this.a=a}, +ad6:function ad6(a){this.a=a}, +adf:function adf(){}, +adg:function adg(){}, +adh:function adh(){}, +adi:function adi(){}, +adj:function adj(){}, +adk:function adk(){}, +adl:function adl(){}, +adn:function adn(){}, +ado:function ado(a){this.a=a}, +ad8:function ad8(){}, +P1:function P1(a){this.a=a}, +Or:function Or(a,b,c){this.e=a +this.c=b +this.a=c}, +BQ:function BQ(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ahw:function ahw(a,b){this.a=a +this.b=b}, +D6:function D6(){}, +apM(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.ED(k,f,o,i,l,m,!1,b,d,e,h,g,n,c,j)}, +uV:function uV(a,b){this.a=a +this.b=b}, +VG:function VG(a,b){this.a=a +this.b=b}, +ED:function ED(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=n +_.ax=o}, +Mp:function Mp(){}, +azY(a,b,c){var s,r,q,p,o,n +if(a===b)return a +if(c<0.5)s=a.a +else s=b.a +r=A.q(a.b,b.b,c) +q=A.q(a.c,b.c,c) +p=A.q(a.d,b.d,c) +o=A.V(a.e,b.e,c) +n=A.d0(a.f,b.f,c) +return new A.v0(s,r,q,p,o,n,A.d5(a.r,b.r,c))}, +v0:function v0(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +Ms:function Ms(){}, +aA_(a,b,c){var s,r,q,p,o,n,m,l +if(a===b)return a +s=c<0.5 +if(s)r=a.a +else r=b.a +q=t._ +p=A.aB(a.b,b.b,c,A.bA(),q) +o=A.aB(a.c,b.c,c,A.bA(),q) +q=A.aB(a.d,b.d,c,A.bA(),q) +n=A.V(a.e,b.e,c) +if(s)m=a.f +else m=b.f +if(s)s=a.r +else s=b.r +l=t.KX.a(A.d5(a.w,b.w,c)) +return new A.v1(r,p,o,q,n,m,s,l,A.azZ(a.x,b.x,c))}, +azZ(a,b,c){if(a==null||b==null)return null +if(a===b)return a +a.toString +return A.aG(a,b,c)}, +v1:function v1(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Mu:function Mu(){}, +aA5(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 +if(a3===a4)return a3 +s=A.aB(a3.a,a4.a,a5,A.bA(),t._) +r=A.q(a3.b,a4.b,a5) +q=A.q(a3.c,a4.c,a5) +p=A.q(a3.d,a4.d,a5) +o=A.q(a3.e,a4.e,a5) +n=A.q(a3.f,a4.f,a5) +m=A.q(a3.r,a4.r,a5) +l=A.q(a3.w,a4.w,a5) +k=A.q(a3.x,a4.x,a5) +j=a5<0.5 +if(j)i=a3.y!==!1 +else i=a4.y!==!1 +h=A.q(a3.z,a4.z,a5) +g=A.d0(a3.Q,a4.Q,a5) +f=A.d0(a3.as,a4.as,a5) +e=A.aA4(a3.at,a4.at,a5) +d=A.aA3(a3.ax,a4.ax,a5) +c=A.aW(a3.ay,a4.ay,a5) +b=A.aW(a3.ch,a4.ch,a5) +if(j){j=a3.CW +if(j==null)j=B.a7}else{j=a4.CW +if(j==null)j=B.a7}a=A.V(a3.cx,a4.cx,a5) +a0=A.V(a3.cy,a4.cy,a5) +a1=a3.db +if(a1==null)a2=a4.db!=null +else a2=!0 +if(a2)a1=A.jC(a1,a4.db,a5) +else a1=null +a2=A.jp(a3.dx,a4.dx,a5) +return new A.v2(s,r,q,p,o,n,m,l,k,i,h,g,f,e,d,c,b,j,a,a0,a1,a2,A.jp(a3.dy,a4.dy,a5))}, +aA4(a,b,c){var s=a==null +if(s&&b==null)return null +if(s){s=b.a +return A.aG(new A.cA(A.Z(0,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255),0,B.a5,-1),b,c)}if(b==null){s=a.a +return A.aG(new A.cA(A.Z(0,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255),0,B.a5,-1),a,c)}return A.aG(a,b,c)}, +aA3(a,b,c){if(a==null&&b==null)return null +return t.KX.a(A.d5(a,b,c))}, +v2:function v2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3}, +Mw:function Mw(){}, +WS(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0){return new A.pN(b,a7,k,a8,l,a9,b0,m,n,b2,o,b3,p,b4,b5,q,r,c7,a1,c8,a2,c9,d0,a3,a4,c,h,d,i,b7,s,c6,c4,b8,c3,c2,b9,c0,c1,a0,a5,a6,b6,b1,f,j,e,c5,a,g)}, +aAh(d1,d2,d3,d4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0=A.aAi(d1,d4,B.BF,0) +if(d3==null){s=$.DG().aL(d0).d +s===$&&A.a() +s=new A.C(s>>>0)}else s=d3 +if(d2==null){r=$.awv().aL(d0).d +r===$&&A.a() +r=new A.C(r>>>0)}else r=d2 +q=$.DH().aL(d0).d +q===$&&A.a() +p=$.aww().aL(d0).d +p===$&&A.a() +o=$.DI().aL(d0).d +o===$&&A.a() +n=$.DJ().aL(d0).d +n===$&&A.a() +m=$.awx().aL(d0).d +m===$&&A.a() +l=$.awy().aL(d0).d +l===$&&A.a() +k=$.Up().aL(d0).d +k===$&&A.a() +j=$.awz().aL(d0).d +j===$&&A.a() +i=$.DK().aL(d0).d +i===$&&A.a() +h=$.awA().aL(d0).d +h===$&&A.a() +g=$.DL().aL(d0).d +g===$&&A.a() +f=$.DM().aL(d0).d +f===$&&A.a() +e=$.awB().aL(d0).d +e===$&&A.a() +d=$.awC().aL(d0).d +d===$&&A.a() +c=$.Uq().aL(d0).d +c===$&&A.a() +b=$.awF().aL(d0).d +b===$&&A.a() +a=$.DN().aL(d0).d +a===$&&A.a() +a0=$.awG().aL(d0).d +a0===$&&A.a() +a1=$.DO().aL(d0).d +a1===$&&A.a() +a2=$.DP().aL(d0).d +a2===$&&A.a() +a3=$.awH().aL(d0).d +a3===$&&A.a() +a4=$.awI().aL(d0).d +a4===$&&A.a() +a5=$.Un().aL(d0).d +a5===$&&A.a() +a6=$.awt().aL(d0).d +a6===$&&A.a() +a7=$.Uo().aL(d0).d +a7===$&&A.a() +a8=$.awu().aL(d0).d +a8===$&&A.a() +a9=$.awJ().aL(d0).d +a9===$&&A.a() +b0=$.awK().aL(d0).d +b0===$&&A.a() +b1=$.awN().aL(d0).d +b1===$&&A.a() +b2=$.dG().aL(d0).d +b2===$&&A.a() +b3=$.dF().aL(d0).d +b3===$&&A.a() +b4=$.awS().aL(d0).d +b4===$&&A.a() +b5=$.awR().aL(d0).d +b5===$&&A.a() +b6=$.awO().aL(d0).d +b6===$&&A.a() +b7=$.awP().aL(d0).d +b7===$&&A.a() +b8=$.awQ().aL(d0).d +b8===$&&A.a() +b9=$.awD().aL(d0).d +b9===$&&A.a() +c0=$.awE().aL(d0).d +c0===$&&A.a() +c1=$.alj().aL(d0).d +c1===$&&A.a() +c2=$.awq().aL(d0).d +c2===$&&A.a() +c3=$.awr().aL(d0).d +c3===$&&A.a() +c4=$.awM().aL(d0).d +c4===$&&A.a() +c5=$.awL().aL(d0).d +c5===$&&A.a() +c6=$.DG().aL(d0).d +c6===$&&A.a() +c7=$.aoT().aL(d0).d +c7===$&&A.a() +c8=$.aws().aL(d0).d +c8===$&&A.a() +c9=$.awT().aL(d0).d +c9===$&&A.a() +return A.WS(new A.C(c7>>>0),d1,new A.C(a5>>>0),new A.C(a7>>>0),new A.C(c3>>>0),new A.C(c1>>>0),new A.C(c8>>>0),new A.C(a6>>>0),new A.C(a8>>>0),new A.C(c2>>>0),r,new A.C(p>>>0),new A.C(m>>>0),new A.C(l>>>0),new A.C(j>>>0),new A.C(h>>>0),new A.C(e>>>0),new A.C(d>>>0),new A.C(b9>>>0),new A.C(c0>>>0),new A.C(b>>>0),new A.C(a0>>>0),new A.C(a3>>>0),new A.C(a4>>>0),new A.C(a9>>>0),new A.C(b0>>>0),s,new A.C(q>>>0),new A.C(o>>>0),new A.C(n>>>0),new A.C(c5>>>0),new A.C(k>>>0),new A.C(i>>>0),new A.C(g>>>0),new A.C(f>>>0),new A.C(c4>>>0),new A.C(b1>>>0),new A.C(b3>>>0),new A.C(b6>>>0),new A.C(b7>>>0),new A.C(b8>>>0),new A.C(b5>>>0),new A.C(b4>>>0),new A.C(b2>>>0),new A.C(c6>>>0),new A.C(c9>>>0),new A.C(c>>>0),new A.C(a>>>0),new A.C(a1>>>0),new A.C(a2>>>0))}, +aAj(d5,d6,d7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4 +if(d5===d6)return d5 +s=d7<0.5?d5.a:d6.a +r=d5.b +q=d6.b +p=A.q(r,q,d7) +p.toString +o=d5.c +n=d6.c +m=A.q(o,n,d7) +m.toString +l=d5.d +if(l==null)l=r +k=d6.d +l=A.q(l,k==null?q:k,d7) +k=d5.e +if(k==null)k=o +j=d6.e +k=A.q(k,j==null?n:j,d7) +j=d5.f +if(j==null)j=r +i=d6.f +j=A.q(j,i==null?q:i,d7) +i=d5.r +if(i==null)i=r +h=d6.r +i=A.q(i,h==null?q:h,d7) +h=d5.w +if(h==null)h=o +g=d6.w +h=A.q(h,g==null?n:g,d7) +g=d5.x +if(g==null)g=o +f=d6.x +g=A.q(g,f==null?n:f,d7) +f=d5.y +e=d6.y +d=A.q(f,e,d7) +d.toString +c=d5.z +b=d6.z +a=A.q(c,b,d7) +a.toString +a0=d5.Q +if(a0==null)a0=f +a1=d6.Q +a0=A.q(a0,a1==null?e:a1,d7) +a1=d5.as +if(a1==null)a1=c +a2=d6.as +a1=A.q(a1,a2==null?b:a2,d7) +a2=d5.at +if(a2==null)a2=f +a3=d6.at +a2=A.q(a2,a3==null?e:a3,d7) +a3=d5.ax +if(a3==null)a3=f +a4=d6.ax +a3=A.q(a3,a4==null?e:a4,d7) +a4=d5.ay +if(a4==null)a4=c +a5=d6.ay +a4=A.q(a4,a5==null?b:a5,d7) +a5=d5.ch +if(a5==null)a5=c +a6=d6.ch +a5=A.q(a5,a6==null?b:a6,d7) +a6=d5.CW +a7=a6==null +a8=a7?f:a6 +a9=d6.CW +b0=a9==null +a8=A.q(a8,b0?e:a9,d7) +b1=d5.cx +b2=b1==null +b3=b2?c:b1 +b4=d6.cx +b5=b4==null +b3=A.q(b3,b5?b:b4,d7) +b6=d5.cy +if(b6==null)b6=a7?f:a6 +b7=d6.cy +if(b7==null)b7=b0?e:a9 +b7=A.q(b6,b7,d7) +b6=d5.db +if(b6==null)b6=b2?c:b1 +b8=d6.db +if(b8==null)b8=b5?b:b4 +b8=A.q(b6,b8,d7) +b6=d5.dx +if(b6==null)b6=a7?f:a6 +b9=d6.dx +if(b9==null)b9=b0?e:a9 +b9=A.q(b6,b9,d7) +b6=d5.dy +if(b6==null)f=a7?f:a6 +else f=b6 +a6=d6.dy +if(a6==null)e=b0?e:a9 +else e=a6 +e=A.q(f,e,d7) +f=d5.fr +if(f==null)f=b2?c:b1 +a6=d6.fr +if(a6==null)a6=b5?b:b4 +a6=A.q(f,a6,d7) +f=d5.fx +if(f==null)f=b2?c:b1 +c=d6.fx +if(c==null)c=b5?b:b4 +c=A.q(f,c,d7) +f=d5.fy +b=d6.fy +a7=A.q(f,b,d7) +a7.toString +a9=d5.go +b0=d6.go +b1=A.q(a9,b0,d7) +b1.toString +b2=d5.id +f=b2==null?f:b2 +b2=d6.id +f=A.q(f,b2==null?b:b2,d7) +b=d5.k1 +if(b==null)b=a9 +a9=d6.k1 +b=A.q(b,a9==null?b0:a9,d7) +a9=d5.k2 +b0=d6.k2 +b2=A.q(a9,b0,d7) +b2.toString +b4=d5.k3 +b5=d6.k3 +b6=A.q(b4,b5,d7) +b6.toString +c0=d5.ok +if(c0==null)c0=a9 +c1=d6.ok +c0=A.q(c0,c1==null?b0:c1,d7) +c1=d5.p1 +if(c1==null)c1=a9 +c2=d6.p1 +c1=A.q(c1,c2==null?b0:c2,d7) +c2=d5.p2 +if(c2==null)c2=a9 +c3=d6.p2 +c2=A.q(c2,c3==null?b0:c3,d7) +c3=d5.p3 +if(c3==null)c3=a9 +c4=d6.p3 +c3=A.q(c3,c4==null?b0:c4,d7) +c4=d5.p4 +if(c4==null)c4=a9 +c5=d6.p4 +c4=A.q(c4,c5==null?b0:c5,d7) +c5=d5.R8 +if(c5==null)c5=a9 +c6=d6.R8 +c5=A.q(c5,c6==null?b0:c6,d7) +c6=d5.RG +if(c6==null)c6=a9 +c7=d6.RG +c6=A.q(c6,c7==null?b0:c7,d7) +c7=d5.rx +if(c7==null)c7=b4 +c8=d6.rx +c7=A.q(c7,c8==null?b5:c8,d7) +c8=d5.ry +if(c8==null){c8=d5.a5 +if(c8==null)c8=b4}c9=d6.ry +if(c9==null){c9=d6.a5 +if(c9==null)c9=b5}c9=A.q(c8,c9,d7) +c8=d5.to +if(c8==null){c8=d5.a5 +if(c8==null)c8=b4}d0=d6.to +if(d0==null){d0=d6.a5 +if(d0==null)d0=b5}d0=A.q(c8,d0,d7) +c8=d5.x1 +if(c8==null)c8=B.o +d1=d6.x1 +c8=A.q(c8,d1==null?B.o:d1,d7) +d1=d5.x2 +if(d1==null)d1=B.o +d2=d6.x2 +d1=A.q(d1,d2==null?B.o:d2,d7) +d2=d5.xr +if(d2==null)d2=b4 +d3=d6.xr +d2=A.q(d2,d3==null?b5:d3,d7) +d3=d5.y1 +if(d3==null)d3=a9 +d4=d6.y1 +d3=A.q(d3,d4==null?b0:d4,d7) +d4=d5.y2 +o=d4==null?o:d4 +d4=d6.y2 +o=A.q(o,d4==null?n:d4,d7) +n=d5.aY +r=n==null?r:n +n=d6.aY +r=A.q(r,n==null?q:n,d7) +q=d5.by +if(q==null)q=a9 +n=d6.by +q=A.q(q,n==null?b0:n,d7) +n=d5.a5 +if(n==null)n=b4 +b4=d6.a5 +n=A.q(n,b4==null?b5:b4,d7) +b4=d5.k4 +a9=b4==null?a9:b4 +b4=d6.k4 +return A.WS(q,s,a7,f,o,d2,n,b1,b,d3,m,k,h,g,a,a1,a4,a5,b6,c7,b3,b8,a6,c,c9,d0,p,l,j,i,d1,d,a0,a2,a3,c8,b2,c1,c4,c5,c6,c3,c2,c0,r,A.q(a9,b4==null?b0:b4,d7),a8,b7,b9,e)}, +aAi(a,b,c,d){var s,r,q,p,o,n,m=a===B.a6,l=A.f3(b.gm(b)) +switch(c.a){case 0:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b7(r,36) +q=A.b7(l.a,16) +p=A.b7(A.xg(l.a+60),24) +o=A.b7(l.a,6) +n=A.b7(l.a,8) +n=new A.K4(A.f3(s),B.Sh,m,d,r,q,p,o,n,A.b7(25,84)) +s=n +break +case 1:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +q=l.b +q===$&&A.a() +q=A.b7(r,q) +r=l.a +p=l.b +p=A.b7(r,Math.max(p-32,p*0.5)) +r=A.at_(A.alZ(A.asS(l).ga9w())) +o=A.b7(l.a,l.b/8) +n=A.b7(l.a,l.b/8+4) +n=new A.K_(A.f3(s),B.cb,m,d,q,p,r,o,n,A.b7(25,84)) +s=n +break +case 6:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +q=l.b +q===$&&A.a() +q=A.b7(r,q) +r=l.a +p=l.b +p=A.b7(r,Math.max(p-32,p*0.5)) +r=A.at_(A.alZ(B.b.gT(A.asS(l).a8A(3,6)))) +o=A.b7(l.a,l.b/8) +n=A.b7(l.a,l.b/8+4) +n=new A.JY(A.f3(s),B.ca,m,d,q,p,r,o,n,A.b7(25,84)) +s=n +break +case 2:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b7(r,0) +q=A.b7(l.a,0) +p=A.b7(l.a,0) +o=A.b7(l.a,0) +n=A.b7(l.a,0) +n=new A.K1(A.f3(s),B.a_,m,d,r,q,p,o,n,A.b7(25,84)) +s=n +break +case 3:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b7(r,12) +q=A.b7(l.a,8) +p=A.b7(l.a,16) +o=A.b7(l.a,2) +n=A.b7(l.a,2) +n=new A.K2(A.f3(s),B.Sg,m,d,r,q,p,o,n,A.b7(25,84)) +s=n +break +case 4:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b7(r,200) +q=A.b7(A.Yj(l,$.ass,$.aEc),24) +p=A.b7(A.Yj(l,$.ass,$.aEd),32) +o=A.b7(l.a,10) +n=A.b7(l.a,12) +n=new A.K5(A.f3(s),B.Si,m,d,r,q,p,o,n,A.b7(25,84)) +s=n +break +case 5:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b7(A.xg(r+240),40) +q=A.b7(A.Yj(l,$.asr,$.aEa),24) +p=A.b7(A.Yj(l,$.asr,$.aEb),32) +o=A.b7(l.a+15,8) +n=A.b7(l.a+15,12) +n=new A.JZ(A.f3(s),B.Sj,m,d,r,q,p,o,n,A.b7(25,84)) +s=n +break +case 7:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b7(r,48) +q=A.b7(l.a,16) +p=A.b7(A.xg(l.a+60),24) +o=A.b7(l.a,0) +n=A.b7(l.a,0) +n=new A.K3(A.f3(s),B.Sk,m,d,r,q,p,o,n,A.b7(25,84)) +s=n +break +case 8:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b7(A.xg(r-50),48) +q=A.b7(A.xg(l.a-50),36) +p=A.b7(l.a,36) +o=A.b7(l.a,10) +n=A.b7(l.a,16) +n=new A.K0(A.f3(s),B.Sl,m,d,r,q,p,o,n,A.b7(25,84)) +s=n +break +default:s=null}return s}, +Yi:function Yi(a,b){this.a=a +this.b=b}, +pN:function pN(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7 +_.id=a8 +_.k1=a9 +_.k2=b0 +_.k3=b1 +_.k4=b2 +_.ok=b3 +_.p1=b4 +_.p2=b5 +_.p3=b6 +_.p4=b7 +_.R8=b8 +_.RG=b9 +_.rx=c0 +_.ry=c1 +_.to=c2 +_.x1=c3 +_.x2=c4 +_.xr=c5 +_.y1=c6 +_.y2=c7 +_.aY=c8 +_.by=c9 +_.a5=d0}, +Mz:function Mz(){}, +HD:function HD(a,b){this.b=a +this.a=b}, +aAv(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e +if(a===b)return a +s=A.Xq(a.a,b.a,c) +r=t._ +q=A.aB(a.b,b.b,c,A.bA(),r) +p=A.V(a.c,b.c,c) +o=A.V(a.d,b.d,c) +n=A.aW(a.e,b.e,c) +r=A.aB(a.f,b.f,c,A.bA(),r) +m=A.V(a.r,b.r,c) +l=A.aW(a.w,b.w,c) +k=A.V(a.x,b.x,c) +j=A.V(a.y,b.y,c) +i=A.V(a.z,b.z,c) +h=A.V(a.Q,b.Q,c) +g=c<0.5 +f=g?a.as:b.as +e=g?a.at:b.at +g=g?a.ax:b.ax +return new A.vs(s,q,p,o,n,r,m,l,k,j,i,h,f,e,g)}, +vs:function vs(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=n +_.ax=o}, +N4:function N4(){}, +aAx(b9,c0,c1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8 +if(b9===c0)return b9 +s=A.q(b9.a,c0.a,c1) +r=A.V(b9.b,c0.b,c1) +q=A.q(b9.c,c0.c,c1) +p=A.q(b9.d,c0.d,c1) +o=A.d5(b9.e,c0.e,c1) +n=A.q(b9.f,c0.f,c1) +m=A.q(b9.r,c0.r,c1) +l=A.aW(b9.w,c0.w,c1) +k=A.aW(b9.x,c0.x,c1) +j=A.aW(b9.y,c0.y,c1) +i=A.aW(b9.z,c0.z,c1) +h=t._ +g=A.aB(b9.Q,c0.Q,c1,A.bA(),h) +f=A.aB(b9.as,c0.as,c1,A.bA(),h) +e=A.aB(b9.at,c0.at,c1,A.bA(),h) +d=A.aB(b9.ax,c0.ax,c1,A.akp(),t.KX) +c=A.aB(b9.ay,c0.ay,c1,A.bA(),h) +b=A.aB(b9.ch,c0.ch,c1,A.bA(),h) +a=A.aAw(b9.CW,c0.CW,c1) +a0=A.aW(b9.cx,c0.cx,c1) +a1=A.aB(b9.cy,c0.cy,c1,A.bA(),h) +a2=A.aB(b9.db,c0.db,c1,A.bA(),h) +a3=A.aB(b9.dx,c0.dx,c1,A.bA(),h) +a4=A.q(b9.dy,c0.dy,c1) +a5=A.V(b9.fr,c0.fr,c1) +a6=A.q(b9.fx,c0.fx,c1) +a7=A.q(b9.fy,c0.fy,c1) +a8=A.d5(b9.go,c0.go,c1) +a9=A.q(b9.id,c0.id,c1) +b0=A.q(b9.k1,c0.k1,c1) +b1=A.aW(b9.k2,c0.k2,c1) +b2=A.aW(b9.k3,c0.k3,c1) +b3=A.q(b9.k4,c0.k4,c1) +h=A.aB(b9.ok,c0.ok,c1,A.bA(),h) +b4=A.q(b9.p1,c0.p1,c1) +b5=c1<0.5 +if(b5)b6=b9.p2 +else b6=c0.p2 +b7=A.is(b9.p3,c0.p3,c1) +b8=A.is(b9.p4,c0.p4,c1) +if(b5)b5=b9.R8 +else b5=c0.R8 +return new A.vt(s,r,q,p,o,n,m,l,k,j,i,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,h,b4,b6,b7,b8,b5)}, +aAw(a,b,c){var s +if(a==b)return a +if(a==null){s=b.a +return A.aG(new A.cA(A.Z(0,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255),0,B.a5,-1),b,c)}s=a.a +return A.aG(a,new A.cA(A.Z(0,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255),0,B.a5,-1),c)}, +vt:function vt(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7 +_.id=a8 +_.k1=a9 +_.k2=b0 +_.k3=b1 +_.k4=b2 +_.ok=b3 +_.p1=b4 +_.p2=b5 +_.p3=b6 +_.p4=b7 +_.R8=b8}, +N6:function N6(){}, +aAI(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.q(a.c,b.c,c) +p=A.q(a.d,b.d,c) +o=A.d5(a.e,b.e,c) +n=A.E5(a.f,b.f,c) +m=A.q(a.y,b.y,c) +l=A.aW(a.r,b.r,c) +k=A.aW(a.w,b.w,c) +j=A.d0(a.x,b.x,c) +i=A.q(a.z,b.z,c) +h=A.Ym(a.Q,b.Q,c) +if(c<0.5)g=a.as +else g=b.as +return new A.vD(s,r,q,p,o,n,l,k,j,m,i,h,g)}, +vD:function vD(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}, +Ng:function Ng(){}, +aAP(a,b,c){var s,r,q,p +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.V(a.d,b.d,c) +return new A.vF(s,r,q,p,A.V(a.e,b.e,c))}, +vF:function vF(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +Nk:function Nk(){}, +aB9(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.q(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.d5(a.f,b.f,c) +m=A.d5(a.r,b.r,c) +l=A.V(a.w,b.w,c) +if(c<0.5)k=a.x +else k=b.x +return new A.vN(s,r,q,p,o,n,m,l,k)}, +vN:function vN(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Nu:function Nu(){}, +aBa(a,b,c){var s,r +if(a===b)return a +s=A.aW(a.a,b.a,c) +if(c<0.5)r=a.b +else r=b.b +return new A.vO(s,r,A.amK(a.c,b.c,c))}, +vO:function vO(a,b,c){this.a=a +this.b=b +this.c=c}, +Nv:function Nv(){}, +aqE(a,b,c){var s=null +return new A.G3(b,s,s,s,c,s,s,!1,s,a,s)}, +aIj(a){var s=A.aa(a),r=s.p2.as,q=r==null?null:r.r +if(q==null)q=14 +r=A.d9(a,B.jR) +r=r==null?null:r.gdl() +if(r==null)r=B.ag +return A.azN(new A.aJ(24,0,24,0),new A.aJ(12,0,12,0),new A.aJ(6,0,6,0),q*r.a/14)}, +G3:function G3(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.as=j +_.a=k}, +NB:function NB(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){var _=this +_.fx=a +_.fy=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p +_.ay=q +_.ch=r +_.CW=s +_.cx=a0 +_.cy=a1 +_.db=a2 +_.dx=a3 +_.dy=a4 +_.fr=a5}, +aev:function aev(a){this.a=a}, +aex:function aex(a){this.a=a}, +aez:function aez(a){this.a=a}, +aew:function aew(){}, +aey:function aey(){}, +aBh(a,b,c){if(a===b)return a +return new A.vV(A.is(a.a,b.a,c))}, +vV:function vV(a){this.a=a}, +NC:function NC(){}, +aqF(a,b,c){if(b!=null&&!b.j(0,B.Q))return A.aAm(A.Z(B.c.a2(255*A.aBi(c)),b.gm(b)>>>16&255,b.gm(b)>>>8&255,b.gm(b)&255),a) +return a}, +aBi(a){var s,r,q,p,o,n +if(a<0)return 0 +for(s=0;r=B.lI[s],q=r.a,a>=q;){if(a===q||s+1===6)return r.b;++s}p=B.lI[s-1] +o=p.a +n=p.b +return n+(a-o)/(q-o)*(r.b-n)}, +kj:function kj(a,b){this.a=a +this.b=b}, +aBr(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.d0(a.c,b.c,c) +p=A.E5(a.d,b.d,c) +o=A.d0(a.e,b.e,c) +n=A.q(a.f,b.f,c) +m=A.q(a.r,b.r,c) +l=A.q(a.w,b.w,c) +k=A.q(a.x,b.x,c) +j=A.d5(a.y,b.y,c) +i=A.d5(a.z,b.z,c) +h=c<0.5 +if(h)g=a.Q +else g=b.Q +if(h)h=a.as +else h=b.as +return new A.w9(s,r,q,p,o,n,m,l,k,j,i,g,h)}, +w9:function w9(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}, +NH:function NH(){}, +aBw(a,b,c){if(a===b)return a +return new A.wd(A.is(a.a,b.a,c))}, +wd:function wd(a){this.a=a}, +NL:function NL(){}, +wh:function wh(a,b,c,d,e,f,g,h){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.y=e +_.z=f +_.b=g +_.a=h}, +aBx(a,b,c,d){return new A.Gq(b,a,d,c?B.SZ:B.SY,null)}, +ae7:function ae7(){}, +AP:function AP(a,b){this.a=a +this.b=b}, +Gq:function Gq(a,b,c,d,e){var _=this +_.c=a +_.f=b +_.z=c +_.k1=d +_.a=e}, +Nz:function Nz(a,b){this.a=a +this.b=b}, +Mv:function Mv(a,b){this.c=a +this.a=b}, +Qz:function Qz(a,b,c,d,e){var _=this +_.B=null +_.a_=a +_.am=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +aeF:function aeF(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){var _=this +_.dx=a +_.dy=b +_.fr=c +_.fy=_.fx=$ +_.a=d +_.b=e +_.c=f +_.d=g +_.e=h +_.f=i +_.r=j +_.w=k +_.x=l +_.y=m +_.z=n +_.Q=o +_.as=p +_.at=q +_.ax=r +_.ay=s +_.ch=a0 +_.CW=a1 +_.cx=a2 +_.cy=a3 +_.db=a4}, +aEL(a,b){return a.r.a-16-a.e.c-a.a.a+b}, +atk(a,b,c,d,e){return new A.Ae(c,d,a,b,new A.bh(A.b([],t.G),t.Q),new A.bh(A.b([],t.c),t.wi),0,e.h("Ae<0>"))}, +Zo:function Zo(){}, +aad:function aad(){}, +Z9:function Z9(){}, +Z8:function Z8(){}, +aeA:function aeA(){}, +Zn:function Zn(){}, +ai9:function ai9(){}, +Ae:function Ae(a,b,c,d,e,f,g,h){var _=this +_.w=a +_.x=b +_.a=c +_.b=d +_.d=_.c=null +_.bL$=e +_.cb$=f +_.kF$=g +_.$ti=h}, +T5:function T5(){}, +T6:function T6(){}, +aBy(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){return new A.q7(k,a,i,m,a1,c,j,n,b,l,r,d,o,s,a0,p,g,e,f,h,q)}, +aBz(a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1 +if(a2===a3)return a2 +s=A.q(a2.a,a3.a,a4) +r=A.q(a2.b,a3.b,a4) +q=A.q(a2.c,a3.c,a4) +p=A.q(a2.d,a3.d,a4) +o=A.q(a2.e,a3.e,a4) +n=A.V(a2.f,a3.f,a4) +m=A.V(a2.r,a3.r,a4) +l=A.V(a2.w,a3.w,a4) +k=A.V(a2.x,a3.x,a4) +j=A.V(a2.y,a3.y,a4) +i=A.d5(a2.z,a3.z,a4) +h=a4<0.5 +if(h)g=a2.Q +else g=a3.Q +f=A.V(a2.as,a3.as,a4) +e=A.jp(a2.at,a3.at,a4) +d=A.jp(a2.ax,a3.ax,a4) +c=A.jp(a2.ay,a3.ay,a4) +b=A.jp(a2.ch,a3.ch,a4) +a=A.V(a2.CW,a3.CW,a4) +a0=A.d0(a2.cx,a3.cx,a4) +a1=A.aW(a2.cy,a3.cy,a4) +if(h)h=a2.db +else h=a3.db +return A.aBy(r,k,n,g,a,a0,b,a1,q,m,s,j,p,l,f,c,h,i,e,d,o)}, +q7:function q7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1}, +NQ:function NQ(){}, +amt(a,b,c,d,e,f){return new A.GW(c,b,a,d,f,e,null)}, +wB(a,b,c,d,e,f,g,h,i,j,k,l,m,a0){var s,r,q,p=null,o=g==null,n=o?p:new A.Of(g,b) +if(o)s=p +else{$label0$0:{o=new A.Oh(g,f,i,h,p) +break $label0$0}s=o}o=l==null?p:new A.cr(l,t.W7) +r=k==null?p:new A.cr(k,t.W7) +q=j==null?p:new A.cr(j,t.XR) +return A.EC(a,p,p,p,p,d,p,p,n,p,q,r,o,new A.Og(e,c),s,p,p,p,p,p,p,p,p,a0)}, +afJ:function afJ(a,b){this.a=a +this.b=b}, +GW:function GW(a,b,c,d,e,f,g){var _=this +_.c=a +_.w=b +_.z=c +_.ax=d +_.cx=e +_.dx=f +_.a=g}, +Cg:function Cg(a,b,c,d,e,f,g,h){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.a=h}, +Rh:function Rh(){this.d=$ +this.c=this.a=null}, +Oj:function Oj(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.ay=a +_.ch=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.as=l +_.a=m}, +Of:function Of(a,b){this.a=a +this.b=b}, +Oh:function Oh(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +Og:function Og(a,b){this.a=a +this.b=b}, +Oi:function Oi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){var _=this +_.fx=a +_.go=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p +_.ay=q +_.ch=r +_.CW=s +_.cx=a0 +_.cy=a1 +_.db=a2 +_.dx=a3 +_.dy=a4 +_.fr=a5}, +afG:function afG(a){this.a=a}, +afI:function afI(a){this.a=a}, +afH:function afH(){}, +NM:function NM(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){var _=this +_.fx=a +_.fy=b +_.go=$ +_.a=c +_.b=d +_.c=e +_.d=f +_.e=g +_.f=h +_.r=i +_.w=j +_.x=k +_.y=l +_.z=m +_.Q=n +_.as=o +_.at=p +_.ax=q +_.ay=r +_.ch=s +_.CW=a0 +_.cx=a1 +_.cy=a2 +_.db=a3 +_.dx=a4 +_.dy=a5 +_.fr=a6}, +aeG:function aeG(a){this.a=a}, +aeH:function aeH(a){this.a=a}, +aeJ:function aeJ(a){this.a=a}, +aeI:function aeI(){}, +NN:function NN(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){var _=this +_.fx=a +_.fy=b +_.go=$ +_.a=c +_.b=d +_.c=e +_.d=f +_.e=g +_.f=h +_.r=i +_.w=j +_.x=k +_.y=l +_.z=m +_.Q=n +_.as=o +_.at=p +_.ax=q +_.ay=r +_.ch=s +_.CW=a0 +_.cx=a1 +_.cy=a2 +_.db=a3 +_.dx=a4 +_.dy=a5 +_.fr=a6}, +aeK:function aeK(a){this.a=a}, +aeL:function aeL(a){this.a=a}, +aeN:function aeN(a){this.a=a}, +aeM:function aeM(){}, +Pn:function Pn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){var _=this +_.fx=a +_.go=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p +_.ay=q +_.ch=r +_.CW=s +_.cx=a0 +_.cy=a1 +_.db=a2 +_.dx=a3 +_.dy=a4 +_.fr=a5}, +agI:function agI(a){this.a=a}, +agJ:function agJ(a){this.a=a}, +agL:function agL(a){this.a=a}, +agM:function agM(a){this.a=a}, +agK:function agK(){}, +Ta:function Ta(){}, +aC7(a,b,c){if(a===b)return a +return new A.nB(A.is(a.a,b.a,c))}, +amu(a,b){return new A.wA(b,a,null)}, +aqZ(a){var s=a.a7(t.g5),r=s==null?null:s.w +return r==null?A.aa(a).aq:r}, +nB:function nB(a){this.a=a}, +wA:function wA(a,b,c){this.w=a +this.b=b +this.a=c}, +Ok:function Ok(){}, +lj:function lj(a,b,c,d,e,f,g,h,i,j){var _=this +_.z=a +_.Q=b +_.as=c +_.at=d +_.ax=e +_.ch=_.ay=$ +_.CW=!0 +_.e=f +_.f=g +_.a=h +_.b=i +_.c=j}, +aHJ(a,b,c){if(c!=null)return c +if(b)return new A.ajZ(a) +return null}, +ajZ:function ajZ(a){this.a=a}, +afX:function afX(){}, +wL:function wL(a,b,c,d,e,f,g,h,i,j){var _=this +_.z=a +_.Q=b +_.as=c +_.at=d +_.ax=e +_.db=_.cy=_.cx=_.CW=_.ch=_.ay=$ +_.e=f +_.f=g +_.a=h +_.b=i +_.c=j}, +aHI(a,b,c){if(c!=null)return c +if(b)return new A.ajY(a) +return null}, +aHM(a,b,c,d){var s,r,q,p,o,n +if(b){if(c!=null){s=c.$0() +r=new A.K(s.c-s.a,s.d-s.b)}else r=a.gv(0) +q=d.ad(0,B.h).gd8() +p=d.ad(0,new A.m(0+r.a,0)).gd8() +o=d.ad(0,new A.m(0,0+r.b)).gd8() +n=d.ad(0,r.On(0,B.h)).gd8() +return Math.ceil(Math.max(Math.max(q,p),Math.max(o,n)))}return 35}, +ajY:function ajY(a){this.a=a}, +afY:function afY(){}, +wM:function wM(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.z=a +_.Q=b +_.as=c +_.at=d +_.ax=e +_.ay=f +_.cx=_.CW=_.ch=$ +_.cy=null +_.e=g +_.f=h +_.a=i +_.b=j +_.c=k}, +lk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,a0,a1){var s=null +return new A.H3(d,p,s,s,s,s,o,s,s,s,s,m,n,k,!0,B.b7,s,b,e,g,j,i,q,r,a0,f!==!1,!1,l,!1,h,c,a1,s,s)}, +lm:function lm(){}, +qt:function qt(){}, +By:function By(a,b,c){this.f=a +this.b=b +this.a=c}, +wK:function wK(){}, +B3:function B3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.db=s +_.dx=a0 +_.dy=a1 +_.fr=a2 +_.fx=a3 +_.fy=a4 +_.go=a5 +_.id=a6 +_.k1=a7 +_.k2=a8 +_.k3=a9 +_.k4=b0 +_.ok=b1 +_.p1=b2 +_.p2=b3 +_.p4=b4 +_.R8=b5 +_.a=b6}, +mj:function mj(a,b){this.a=a +this.b=b}, +B2:function B2(a,b,c){var _=this +_.e=_.d=null +_.f=!1 +_.r=a +_.w=$ +_.x=null +_.y=b +_.z=null +_.Q=!1 +_.fC$=c +_.c=_.a=null}, +afV:function afV(){}, +afR:function afR(a){this.a=a}, +afU:function afU(){}, +afW:function afW(a,b){this.a=a +this.b=b}, +afQ:function afQ(a,b){this.a=a +this.b=b}, +afT:function afT(a){this.a=a}, +afS:function afS(a,b){this.a=a +this.b=b}, +H3:function H3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.db=s +_.dx=a0 +_.dy=a1 +_.fr=a2 +_.fx=a3 +_.fy=a4 +_.go=a5 +_.id=a6 +_.k1=a7 +_.k2=a8 +_.k3=a9 +_.k4=b0 +_.ok=b1 +_.p1=b2 +_.p2=b3 +_.a=b4}, +Dd:function Dd(){}, +aBA(a){var s +$label0$0:{if(-1===a){s="FloatingLabelAlignment.start" +break $label0$0}if(0===a){s="FloatingLabelAlignment.center" +break $label0$0}s="FloatingLabelAlignment(x: "+B.f.R(a,1)+")" +break $label0$0}return s}, +Zp:function Zp(a,b){this.a=a +this.b=b}, +Gr:function Gr(){}, +H4:function H4(){}, +Oq:function Oq(){}, +amD(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0){return new A.x1(b,m,n,k,e,p,s,o,f,a,q,l,d,i,g,h,c,j,a0,r)}, +aCw(a1,a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0 +if(a1===a2)return a1 +s=a3<0.5 +if(s)r=a1.a +else r=a2.a +q=A.d5(a1.b,a2.b,a3) +if(s)p=a1.c +else p=a2.c +o=A.q(a1.d,a2.d,a3) +n=A.q(a1.e,a2.e,a3) +m=A.q(a1.f,a2.f,a3) +l=A.aW(a1.r,a2.r,a3) +k=A.aW(a1.w,a2.w,a3) +j=A.aW(a1.x,a2.x,a3) +i=A.d0(a1.y,a2.y,a3) +h=A.q(a1.z,a2.z,a3) +g=A.q(a1.Q,a2.Q,a3) +f=A.V(a1.as,a2.as,a3) +e=A.V(a1.at,a2.at,a3) +d=A.V(a1.ax,a2.ax,a3) +c=A.V(a1.ay,a2.ay,a3) +if(s)b=a1.ch +else b=a2.ch +if(s)a=a1.CW +else a=a2.CW +if(s)a0=a1.cx +else a0=a2.cx +if(s)s=a1.cy +else s=a2.cy +return A.amD(i,r,b,f,n,j,d,c,e,a,o,g,q,p,k,m,h,s,l,a0)}, +arl(a,b,c){return new A.nM(b,a,c)}, +aCx(a,b,c,d){var s=null +return new A.fp(new A.a1F(s,s,s,c,s,s,s,d,s,s,b,s,s,s,s,s,s,s,s,s,s,a),s)}, +x1:function x1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0}, +nM:function nM(a,b,c){this.w=a +this.b=b +this.a=c}, +a1F:function a1F(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2}, +OJ:function OJ(){}, +xa(a,b,c,d,e,f,g,h,i,j,k){return new A.x9(b,k,e,d,g,i,j,h,c,a,f)}, +aCf(a,b){var s,r,q,p,o,n,m,l,k,j,i=t.TT,h=A.b([a],i),g=A.b([b],i) +for(s=b,r=a;r!==s;){q=r.c +p=s.c +if(q>=p){o=r.d +if(!(o instanceof A.G)||!o.l0(r))return null +h.push(o) +r=o}if(q<=p){n=s.d +if(!(n instanceof A.G)||!n.l0(s))return null +g.push(n) +s=n}}m=new A.bj(new Float64Array(16)) +m.dH() +l=new A.bj(new Float64Array(16)) +l.dH() +for(k=g.length-1;k>0;k=j){j=k-1 +g[k].cP(g[j],m)}for(k=h.length-1;k>0;k=j){j=k-1 +h[k].cP(h[j],l)}if(l.dB(l)!==0){l.cs(0,m) +i=l}else i=null +return i}, +nS:function nS(a,b){this.a=a +this.b=b}, +x9:function x9(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.Q=i +_.as=j +_.a=k}, +OQ:function OQ(a,b,c){var _=this +_.d=a +_.cE$=b +_.aX$=c +_.c=_.a=null}, +agw:function agw(a){this.a=a}, +BP:function BP(a,b,c,d,e,f){var _=this +_.B=a +_.a_=b +_.am=c +_.bM=null +_.C$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Op:function Op(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +jE:function jE(){}, +oz:function oz(a,b){this.a=a +this.b=b}, +Bc:function Bc(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.r=a +_.w=b +_.x=c +_.y=d +_.z=e +_.Q=f +_.as=g +_.at=h +_.c=i +_.d=j +_.e=k +_.a=l}, +ON:function ON(a,b){var _=this +_.db=_.cy=_.cx=_.CW=null +_.e=_.d=$ +_.jn$=a +_.dU$=b +_.c=_.a=null}, +agh:function agh(){}, +agi:function agi(){}, +agj:function agj(){}, +agk:function agk(){}, +Ck:function Ck(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +Rq:function Rq(a,b,c){this.b=a +this.c=b +this.a=c}, +Td:function Td(){}, +xd:function xd(a,b,c,d,e,f){var _=this +_.c=a +_.y=b +_.dx=c +_.k3=d +_.k4=e +_.a=f}, +OO:function OO(){}, +FA:function FA(){}, +HF:function HF(){}, +a4i:function a4i(a,b,c){this.a=a +this.b=b +this.c=c}, +a4g:function a4g(){}, +a4h:function a4h(){}, +aCO(a,b,c){if(a===b)return a +return new A.HL(A.amK(a.a,b.a,c))}, +HL:function HL(a){this.a=a}, +aCP(a,b,c){if(a===b)return a +return new A.xj(A.is(a.a,b.a,c))}, +xj:function xj(a){this.a=a}, +OS:function OS(){}, +amK(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null +if(a==b)return a +s=a==null +r=s?e:a.a +q=b==null +p=q?e:b.a +o=t._ +p=A.aB(r,p,c,A.bA(),o) +r=s?e:a.b +r=A.aB(r,q?e:b.b,c,A.bA(),o) +n=s?e:a.c +o=A.aB(n,q?e:b.c,c,A.bA(),o) +n=s?e:a.d +m=q?e:b.d +m=A.aB(n,m,c,A.DF(),t.PM) +n=s?e:a.e +l=q?e:b.e +l=A.aB(n,l,c,A.aog(),t.pc) +n=s?e:a.f +k=q?e:b.f +j=t.tW +k=A.aB(n,k,c,A.DE(),j) +n=s?e:a.r +n=A.aB(n,q?e:b.r,c,A.DE(),j) +i=s?e:a.w +j=A.aB(i,q?e:b.w,c,A.DE(),j) +i=s?e:a.x +i=A.ant(i,q?e:b.x,c) +h=s?e:a.y +g=q?e:b.y +g=A.aB(h,g,c,A.akp(),t.KX) +h=c<0.5 +if(h)f=s?e:a.z +else f=q?e:b.z +if(h)h=s?e:a.Q +else h=q?e:b.Q +s=s?e:a.as +return new A.HM(p,r,o,m,l,k,n,j,i,g,f,h,A.E5(s,q?e:b.as,c))}, +HM:function HM(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}, +OU:function OU(){}, +aCQ(a,b,c){if(a===b)return a +return new A.qC(A.amK(a.a,b.a,c))}, +qC:function qC(a){this.a=a}, +OV:function OV(){}, +aD4(a,b,c){var s,r,q,p,o,n,m,l,k,j +if(a===b)return a +s=A.V(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.q(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.q(a.f,b.f,c) +m=A.d5(a.r,b.r,c) +l=A.aB(a.w,b.w,c,A.um(),t.p8) +k=A.aB(a.x,b.x,c,A.avx(),t.lF) +if(c<0.5)j=a.y +else j=b.y +return new A.xv(s,r,q,p,o,n,m,l,k,j,A.aB(a.z,b.z,c,A.bA(),t._))}, +xv:function xv(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k}, +P7:function P7(){}, +aD5(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=A.V(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.q(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.q(a.f,b.f,c) +m=A.d5(a.r,b.r,c) +l=a.w +l=A.an7(l,l,c) +k=A.aB(a.x,b.x,c,A.um(),t.p8) +return new A.xw(s,r,q,p,o,n,m,l,k,A.aB(a.y,b.y,c,A.avx(),t.lF))}, +xw:function xw(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j}, +P8:function P8(){}, +aD6(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.aW(a.c,b.c,c) +p=A.aW(a.d,b.d,c) +o=a.e +if(o==null)n=b.e==null +else n=!1 +if(n)o=null +else o=A.jC(o,b.e,c) +n=a.f +if(n==null)m=b.f==null +else m=!1 +if(m)n=null +else n=A.jC(n,b.f,c) +m=A.V(a.r,b.r,c) +l=c<0.5 +if(l)k=a.w +else k=b.w +if(l)l=a.x +else l=b.x +j=A.q(a.y,b.y,c) +i=A.d5(a.z,b.z,c) +h=A.V(a.Q,b.Q,c) +return new A.xx(s,r,q,p,o,n,m,k,l,j,i,h,A.V(a.as,b.as,c))}, +xx:function xx(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}, +P9:function P9(){}, +aDa(a,b,c){if(a===b)return a +return new A.xG(A.is(a.a,b.a,c))}, +xG:function xG(a){this.a=a}, +Pm:function Pm(){}, +xe(a,b,c){var s=null,r=A.b([],t.Zt),q=$.ae,p=A.y8(B.bL),o=A.b([],t.fy),n=$.aM(),m=$.ae,l=c.h("a8<0?>"),k=c.h("b1<0?>"),j=b==null?B.w2:b +return new A.fE(a,!1,!0,!1,s,s,r,A.ay(t.f9),new A.bv(s,c.h("bv>")),new A.bv(s,t.A),new A.Il(),s,0,new A.b1(new A.a8(q,c.h("a8<0?>")),c.h("b1<0?>")),p,o,j,new A.eL(s,n),new A.b1(new A.a8(m,l),k),new A.b1(new A.a8(m,l),k),c.h("fE<0>"))}, +fE:function fE(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){var _=this +_.cV=a +_.al=b +_.aq=c +_.S=d +_.go=e +_.id=f +_.k1=!1 +_.k3=_.k2=null +_.k4=g +_.ok=h +_.p1=i +_.p2=j +_.p3=k +_.p4=$ +_.R8=null +_.RG=$ +_.jo$=l +_.wC$=m +_.Q=n +_.as=null +_.at=!1 +_.ay=_.ax=null +_.ch=o +_.cy=_.cx=null +_.f=p +_.a=null +_.b=q +_.c=r +_.d=s +_.e=a0 +_.$ti=a1}, +HE:function HE(){}, +Bd:function Bd(){}, +aus(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j +if(c<=0||d<=0)return +s=$.am().b8() +s.skL(B.db) +s.sab(0,A.apR(0,0,0,d)) +r=b.b +r===$&&A.a() +r=r.a +r===$&&A.a() +q=B.c.P(r.a.width())/e +r=b.b.a +r===$&&A.a() +p=B.c.P(r.a.height())/e +o=q*c +n=p*c +m=(q-o)/2 +l=(p-n)/2 +r=a.gbP(0) +k=b.b.a +k===$&&A.a() +k=B.c.P(k.a.width()) +j=b.b.a +j===$&&A.a() +r.ix(b,new A.D(0,0,k,B.c.P(j.a.height())),new A.D(m,l,m+o,l+n),s)}, +av0(a,b,c){var s,r +a.dH() +if(b===1)return +a.eq(0,b,b) +s=c.a +r=c.b +a.au(0,-((s*b-s)/2),-((r*b-r)/2))}, +aud(a,b,c,d){var s=new A.D3(c,a,d,b,new A.bj(new Float64Array(16)),A.aj(),A.aj(),$.aM()),r=s.gcf() +a.Y(0,r) +a.ea(s.gpS()) +d.a.Y(0,r) +b.Y(0,r) +return s}, +aue(a,b,c,d){var s=new A.D4(c,d,b,a,new A.bj(new Float64Array(16)),A.aj(),A.aj(),$.aM()),r=s.gcf() +d.a.Y(0,r) +b.Y(0,r) +a.ea(s.gpS()) +return s}, +SZ:function SZ(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f}, +ajs:function ajs(a){this.a=a}, +ajt:function ajt(a){this.a=a}, +aju:function aju(a){this.a=a}, +ajv:function ajv(a){this.a=a}, +mC:function mC(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +SX:function SX(a,b,c){var _=this +_.d=$ +_.m7$=a +_.jp$=b +_.kJ$=c +_.c=_.a=null}, +mD:function mD(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +SY:function SY(a,b,c){var _=this +_.d=$ +_.m7$=a +_.jp$=b +_.kJ$=c +_.c=_.a=null}, +jP:function jP(){}, +LO:function LO(){}, +Fn:function Fn(){}, +Im:function Im(){}, +a5U:function a5U(a){this.a=a}, +tC:function tC(a,b,c,d,e,f,g){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f +_.$ti=g}, +Bx:function Bx(a){var _=this +_.c=_.a=_.d=null +_.$ti=a}, +u_:function u_(){}, +D3:function D3(a,b,c,d,e,f,g,h){var _=this +_.r=a +_.w=b +_.x=c +_.y=d +_.z=e +_.Q=f +_.as=g +_.S$=0 +_.O$=h +_.ar$=_.af$=0}, +ajq:function ajq(a,b){this.a=a +this.b=b}, +D4:function D4(a,b,c,d,e,f,g,h){var _=this +_.r=a +_.w=b +_.x=c +_.y=d +_.z=e +_.Q=f +_.as=g +_.S$=0 +_.O$=h +_.ar$=_.af$=0}, +ajr:function ajr(a,b){this.a=a +this.b=b}, +Ps:function Ps(){}, +Dj:function Dj(){}, +Dk:function Dk(){}, +aKo(a,b,c,a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=e +switch(A.aa(b).w.a){case 2:case 4:break +case 0:case 1:case 3:case 5:A.nP(b,B.bG,t.c4).toString +d="Popup menu" +break}s=J.H6(2,t.yi) +for(r=t.A,q=0;q<2;++q)s[q]=new A.bv(e,r) +p=A.iO(b,!1) +A.nP(b,B.bG,t.c4).toString +o=p.c +o.toString +o=A.aCe(b,o) +n=A.bc(2,e,!1,t.tW) +m=A.b([],t.Zt) +l=$.ae +k=A.y8(B.bL) +j=A.b([],t.fy) +i=$.aM() +h=$.ae +g=a1.h("a8<0?>") +f=a1.h("b1<0?>") +return p.mq(new A.BD(a0,c,s,n,e,e,e,e,d,e,e,a,o,e,B.A,e,"Dismiss menu",e,B.xk,m,A.ay(t.f9),new A.bv(e,a1.h("bv>")),new A.bv(e,r),new A.Il(),e,0,new A.b1(new A.a8(l,a1.h("a8<0?>")),a1.h("b1<0?>")),k,j,B.w2,new A.eL(e,i),new A.b1(new A.a8(h,g),f),new A.b1(new A.a8(h,g),f),a1.h("BD<0>")))}, +atG(a){var s=null +return new A.aha(a,s,s,s,3,s,s,s,s,s,s,s,s,s)}, +y4:function y4(){}, +OT:function OT(a,b,c){this.e=a +this.c=b +this.a=c}, +QG:function QG(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +oc:function oc(a,b,c,d){var _=this +_.d=a +_.Q=b +_.a=c +_.$ti=d}, +qT:function qT(a){this.c=this.a=null +this.$ti=a}, +tG:function tG(a,b,c,d,e,f,g){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f +_.$ti=g}, +BE:function BE(a,b){var _=this +_.d=a +_.c=_.a=null +_.$ti=b}, +ahf:function ahf(a,b){this.a=a +this.b=b}, +ahg:function ahg(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +ahc:function ahc(a,b,c,d,e,f){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f}, +BD:function BD(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4){var _=this +_.bM=a +_.cF=b +_.ba=c +_.cV=d +_.f_=e +_.fD=f +_.DV=g +_.js=h +_.dF=i +_.o8=j +_.o9=k +_.jt=l +_.abl=m +_.abm=n +_.abg=o +_.agP=p +_.DH=null +_.abh=q +_.go=r +_.id=s +_.k1=!1 +_.k3=_.k2=null +_.k4=a0 +_.ok=a1 +_.p1=a2 +_.p2=a3 +_.p3=a4 +_.p4=$ +_.R8=null +_.RG=$ +_.jo$=a5 +_.wC$=a6 +_.Q=a7 +_.as=null +_.at=!1 +_.ay=_.ax=null +_.ch=a8 +_.cy=_.cx=null +_.f=a9 +_.a=null +_.b=b0 +_.c=b1 +_.d=b2 +_.e=b3 +_.$ti=b4}, +ahe:function ahe(a,b){this.a=a +this.b=b}, +ahd:function ahd(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}, +aha:function aha(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.at=a +_.ch=_.ay=_.ax=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n}, +ahb:function ahb(a){this.a=a}, +aDy(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.d5(a.b,b.b,c) +q=A.d0(a.c,b.c,c) +p=A.V(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.q(a.f,b.f,c) +m=A.aW(a.r,b.r,c) +l=A.aB(a.w,b.w,c,A.um(),t.p8) +k=c<0.5 +if(k)j=a.x +else j=b.x +if(k)i=a.y +else i=b.y +if(k)k=a.z +else k=b.z +h=A.q(a.Q,b.Q,c) +return new A.qU(s,r,q,p,o,n,m,l,j,i,k,h,A.V(a.as,b.as,c))}, +arX(a){var s +a.a7(t.xF) +s=A.aa(a) +return s.C}, +qU:function qU(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}, +Q9:function Q9(){}, +acu:function acu(a,b){this.a=a +this.b=b}, +J9:function J9(){}, +Mx:function Mx(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.as=l +_.a=m}, +v3:function v3(a){this.a=a}, +My:function My(a,b){var _=this +_.d=$ +_.jn$=a +_.dU$=b +_.c=_.a=null}, +adM:function adM(a){this.a=a}, +adL:function adL(a,b,c,d,e,f){var _=this +_.f=a +_.r=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f}, +D8:function D8(){}, +aDO(a,b,c){var s,r,q,p +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.q(a.d,b.d,c) +return new A.qX(s,r,q,p,A.q(a.e,b.e,c))}, +as6(a){var s +a.a7(t.C0) +s=A.aa(a) +return s.dV}, +qX:function qX(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +Qb:function Qb(){}, +amV(a,b,c,d,e){return new A.qY(d,b,c,a,null,e.h("qY<0>"))}, +ahm:function ahm(a,b){this.a=a +this.b=b}, +qY:function qY(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.e=c +_.w=d +_.a=e +_.$ti=f}, +tH:function tH(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var _=this +_.d=a +_.DN$=b +_.DO$=c +_.wF$=d +_.DP$=e +_.DQ$=f +_.DR$=g +_.DS$=h +_.DT$=i +_.abk$=j +_.DU$=k +_.rd$=l +_.re$=m +_.rf$=n +_.cE$=o +_.aX$=p +_.c=_.a=null +_.$ti=q}, +ahk:function ahk(a){this.a=a}, +ahl:function ahl(a,b){this.a=a +this.b=b}, +Qf:function Qf(a){var _=this +_.at=_.as=_.Q=_.z=_.y=_.x=_.w=_.r=_.f=_.e=_.d=_.c=_.b=_.a=null +_.S$=0 +_.O$=a +_.ar$=_.af$=0}, +ahh:function ahh(a,b,c,d,e,f,g){var _=this +_.r=a +_.x=_.w=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g}, +ahi:function ahi(a){this.a=a}, +ahj:function ahj(a){this.a=a}, +u0:function u0(){}, +u1:function u1(){}, +aDQ(a,b,c){var s,r,q,p,o,n +if(a===b)return a +s=c<0.5 +if(s)r=a.a +else r=b.a +q=t._ +p=A.aB(a.b,b.b,c,A.bA(),q) +if(s)o=a.e +else o=b.e +q=A.aB(a.c,b.c,c,A.bA(),q) +n=A.V(a.d,b.d,c) +if(s)s=a.f +else s=b.f +return new A.qZ(r,p,q,n,o,s)}, +qZ:function qZ(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +Qg:function Qg(){}, +re(a,b,c,d){return new A.yO(a,b,d,c,null)}, +yS(a){var s=a.rj(t.Np) +if(s!=null)return s +throw A.c(A.Gs(A.b([A.q2("Scaffold.of() called with a context that does not contain a Scaffold."),A.bm("No Scaffold ancestor could be found starting from the context that was passed to Scaffold.of(). This usually happens when the context provided is from the same StatefulWidget as that whose build function actually creates the Scaffold widget being sought."),A.Ge('There are several ways to avoid this problem. The simplest is to use a Builder to get a context that is "under" the Scaffold. For an example of this, please see the documentation for Scaffold.of():\n https://api.flutter.dev/flutter/material/Scaffold/of.html'),A.Ge("A more efficient solution is to split your build function into several widgets. This introduces a new context from which you can obtain the Scaffold. In this solution, you would have an outer widget that creates the Scaffold populated by instances of your new inner widgets, and then in these inner widgets you would use Scaffold.of().\nA less elegant but more expedient solution is assign a GlobalKey to the Scaffold, then use the key.currentState property to obtain the ScaffoldState rather than using the Scaffold.of() function."),a.aaq("The context used was")],t.E)))}, +fh:function fh(a,b){this.a=a +this.b=b}, +yQ:function yQ(a,b){this.c=a +this.a=b}, +yR:function yR(a,b,c,d,e){var _=this +_.d=a +_.e=b +_.r=c +_.y=_.x=_.w=null +_.cE$=d +_.aX$=e +_.c=_.a=null}, +a8w:function a8w(a){this.a=a}, +a8x:function a8x(a,b){this.a=a +this.b=b}, +a8s:function a8s(a){this.a=a}, +a8t:function a8t(){}, +a8v:function a8v(a,b){this.a=a +this.b=b}, +a8u:function a8u(a,b,c){this.a=a +this.b=b +this.c=c}, +C4:function C4(a,b,c){this.f=a +this.b=b +this.a=c}, +a8y:function a8y(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.y=i}, +JW:function JW(a,b){this.a=a +this.b=b}, +R8:function R8(a,b,c){var _=this +_.a=a +_.b=null +_.c=b +_.S$=0 +_.O$=c +_.ar$=_.af$=0}, +Ai:function Ai(a,b,c,d,e,f,g){var _=this +_.e=a +_.f=b +_.r=c +_.a=d +_.b=e +_.c=f +_.d=g}, +Mh:function Mh(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +ai7:function ai7(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.d=a +_.e=b +_.f=c +_.r=d +_.w=e +_.x=f +_.y=g +_.z=h +_.Q=i +_.as=j +_.at=k +_.ax=l +_.ay=m +_.b=null}, +AN:function AN(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f}, +AO:function AO(a,b){var _=this +_.d=$ +_.r=_.f=_.e=null +_.Q=_.z=_.y=_.x=_.w=$ +_.as=null +_.cE$=a +_.aX$=b +_.c=_.a=null}, +aeO:function aeO(a,b){this.a=a +this.b=b}, +yO:function yO(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.CW=d +_.a=e}, +rf:function rf(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.d=a +_.e=b +_.f=c +_.r=null +_.w=d +_.x=e +_.Q=_.z=_.y=null +_.as=f +_.at=null +_.ax=g +_.ay=null +_.CW=_.ch=$ +_.cy=_.cx=null +_.dx=_.db=$ +_.dy=!1 +_.fr=h +_.bC$=i +_.hd$=j +_.wx$=k +_.eD$=l +_.he$=m +_.cE$=n +_.aX$=o +_.c=_.a=null}, +a8A:function a8A(a,b){this.a=a +this.b=b}, +a8z:function a8z(a,b){this.a=a +this.b=b}, +a8B:function a8B(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +Ni:function Ni(a,b){this.e=a +this.a=b +this.b=null}, +yP:function yP(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +R9:function R9(a,b,c){this.f=a +this.b=b +this.a=c}, +ai8:function ai8(){}, +C5:function C5(){}, +C6:function C6(){}, +C7:function C7(){}, +Db:function Db(){}, +Ke:function Ke(a,b,c){this.c=a +this.d=b +this.a=c}, +tw:function tw(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.c=a +_.d=b +_.e=c +_.r=d +_.w=e +_.Q=f +_.ay=g +_.ch=h +_.cx=i +_.cy=j +_.db=k +_.a=l}, +OP:function OP(a,b,c,d){var _=this +_.fr=$ +_.fy=_.fx=!1 +_.k1=_.id=_.go=$ +_.w=_.r=_.f=_.e=_.d=null +_.y=_.x=$ +_.z=a +_.Q=!1 +_.as=null +_.at=!1 +_.ay=_.ax=null +_.ch=b +_.CW=$ +_.cE$=c +_.aX$=d +_.c=_.a=null}, +agp:function agp(a){this.a=a}, +agm:function agm(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ago:function ago(a,b,c){this.a=a +this.b=b +this.c=c}, +agn:function agn(a,b,c){this.a=a +this.b=b +this.c=c}, +agl:function agl(a){this.a=a}, +agv:function agv(a){this.a=a}, +agu:function agu(a){this.a=a}, +agt:function agt(a){this.a=a}, +agr:function agr(a){this.a=a}, +ags:function ags(a){this.a=a}, +agq:function agq(a){this.a=a}, +aEl(a,b,c){var s,r,q,p,o,n,m,l,k,j +if(a===b)return a +s=t.X7 +r=A.aB(a.a,b.a,c,A.avW(),s) +q=A.aB(a.b,b.b,c,A.DF(),t.PM) +s=A.aB(a.c,b.c,c,A.avW(),s) +p=a.d +o=b.d +p=c<0.5?p:o +o=A.ya(a.e,b.e,c) +n=t._ +m=A.aB(a.f,b.f,c,A.bA(),n) +l=A.aB(a.r,b.r,c,A.bA(),n) +n=A.aB(a.w,b.w,c,A.bA(),n) +k=A.V(a.x,b.x,c) +j=A.V(a.y,b.y,c) +return new A.z2(r,q,s,p,o,m,l,n,k,j,A.V(a.z,b.z,c))}, +aI7(a,b,c){return c<0.5?a:b}, +z2:function z2(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k}, +Rd:function Rd(){}, +aEn(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h +if(a===b)return a +s=A.aB(a.a,b.a,c,A.DF(),t.PM) +r=t._ +q=A.aB(a.b,b.b,c,A.bA(),r) +p=A.aB(a.c,b.c,c,A.bA(),r) +o=A.aB(a.d,b.d,c,A.bA(),r) +r=A.aB(a.e,b.e,c,A.bA(),r) +n=A.aEm(a.f,b.f,c) +m=A.aB(a.r,b.r,c,A.akp(),t.KX) +l=A.aB(a.w,b.w,c,A.aog(),t.pc) +k=t.p8 +j=A.aB(a.x,b.x,c,A.um(),k) +k=A.aB(a.y,b.y,c,A.um(),k) +i=A.jp(a.z,b.z,c) +if(c<0.5)h=a.Q +else h=b.Q +return new A.z3(s,q,p,o,r,n,m,l,j,k,i,h)}, +aEm(a,b,c){if(a==b)return a +return A.ant(a,b,c)}, +z3:function z3(a,b,c,d,e,f,g,h,i,j,k,l){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}, +Re:function Re(){}, +aEp(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.q(a.c,b.c,c) +p=A.aEo(a.d,b.d,c) +o=A.arM(a.e,b.e,c) +n=A.V(a.f,b.f,c) +m=a.r +l=b.r +k=A.aW(m,l,c) +m=A.aW(m,l,c) +l=A.jp(a.x,b.x,c) +return new A.z4(s,r,q,p,o,n,k,m,l,A.q(a.y,b.y,c))}, +aEo(a,b,c){if(a==null||b==null)return null +if(a===b)return a +return A.aG(a,b,c)}, +z4:function z4(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j}, +Rf:function Rf(){}, +aEr(a,b,c){var s,r +if(a===b)return a +s=A.is(a.a,b.a,c) +if(c<0.5)r=a.b +else r=b.b +return new A.z5(s,r)}, +z5:function z5(a,b){this.a=a +this.b=b}, +Rg:function Rg(){}, +aEE(b3,b4,b5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2 +if(b3===b4)return b3 +s=A.V(b3.a,b4.a,b5) +r=A.q(b3.b,b4.b,b5) +q=A.q(b3.c,b4.c,b5) +p=A.q(b3.d,b4.d,b5) +o=A.q(b3.e,b4.e,b5) +n=A.q(b3.r,b4.r,b5) +m=A.q(b3.f,b4.f,b5) +l=A.q(b3.w,b4.w,b5) +k=A.q(b3.x,b4.x,b5) +j=A.q(b3.y,b4.y,b5) +i=A.q(b3.z,b4.z,b5) +h=A.q(b3.Q,b4.Q,b5) +g=A.q(b3.as,b4.as,b5) +f=A.q(b3.at,b4.at,b5) +e=A.q(b3.ax,b4.ax,b5) +d=A.q(b3.ay,b4.ay,b5) +c=A.q(b3.ch,b4.ch,b5) +b=b5<0.5 +a=b?b3.CW:b4.CW +a0=b?b3.cx:b4.cx +a1=b?b3.cy:b4.cy +a2=b?b3.db:b4.db +a3=b?b3.dx:b4.dx +a4=b?b3.dy:b4.dy +a5=b?b3.fr:b4.fr +a6=b?b3.fx:b4.fx +a7=b?b3.fy:b4.fy +a8=b?b3.go:b4.go +a9=A.aW(b3.id,b4.id,b5) +b0=A.V(b3.k1,b4.k1,b5) +b1=b?b3.k2:b4.k2 +b2=b?b3.k3:b4.k3 +return new A.zn(s,r,q,p,o,m,n,l,k,j,i,h,g,f,e,d,c,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b?b3.k4:b4.k4)}, +zn:function zn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7 +_.id=a8 +_.k1=a9 +_.k2=b0 +_.k3=b1 +_.k4=b2}, +RC:function RC(){}, +oE(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){return new A.oD(h,d,k,n,p,s,q,l,e,a,b,r,g,j,c,o,i,f,m)}, +iZ:function iZ(a,b){this.a=a +this.b=b}, +oD:function oD(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.a=s}, +Cn:function Cn(){var _=this +_.d=!1 +_.c=_.a=_.x=_.w=_.r=_.f=_.e=null}, +aiq:function aiq(a){this.a=a}, +aip:function aip(a){this.a=a}, +air:function air(){}, +ais:function ais(){}, +ait:function ait(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.ay=a +_.CW=_.ch=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o}, +aiu:function aiu(a){this.a=a}, +aEG(a,b,c,d,e,f,g,h,i,j,k,l,m,n){return new A.ru(d,c,i,g,k,m,e,n,l,f,b,a,h,j)}, +aEH(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=A.q(a.c,b.c,c) +p=A.aW(a.d,b.d,c) +o=A.V(a.e,b.e,c) +n=A.d5(a.f,b.f,c) +m=c<0.5 +if(m)l=a.r +else l=b.r +k=A.V(a.w,b.w,c) +j=A.Ym(a.x,b.x,c) +i=A.q(a.z,b.z,c) +h=A.V(a.Q,b.Q,c) +g=A.q(a.as,b.as,c) +f=A.q(a.at,b.at,c) +if(m)m=a.ax +else m=b.ax +return A.aEG(g,h,r,s,l,i,p,f,q,m,o,j,n,k)}, +KI:function KI(a,b){this.a=a +this.b=b}, +ru:function ru(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.z=j +_.Q=k +_.as=l +_.at=m +_.ax=n}, +RJ:function RJ(){}, +aER(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=t._ +r=A.aB(a.a,b.a,c,A.bA(),s) +q=A.aB(a.b,b.b,c,A.bA(),s) +p=A.aB(a.c,b.c,c,A.bA(),s) +o=A.aB(a.d,b.d,c,A.DF(),t.PM) +n=c<0.5 +if(n)m=a.e +else m=b.e +if(n)l=a.f +else l=b.f +s=A.aB(a.r,b.r,c,A.bA(),s) +k=A.V(a.w,b.w,c) +if(n)n=a.x +else n=b.x +return new A.zA(r,q,p,o,m,l,s,k,n)}, +zA:function zA(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +RX:function RX(){}, +aEV(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.rB(c,d,e,a,b,f,g,h,n,o,j,k,i,l,m)}, +aEW(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e +if(a===b)return a +s=A.Xq(a.a,b.a,c) +r=A.q(a.b,b.b,c) +q=c<0.5 +p=q?a.c:b.c +o=A.q(a.d,b.d,c) +n=q?a.e:b.e +m=A.q(a.f,b.f,c) +l=A.d0(a.r,b.r,c) +k=A.aW(a.w,b.w,c) +j=A.q(a.x,b.x,c) +i=A.aW(a.y,b.y,c) +h=A.aB(a.z,b.z,c,A.bA(),t._) +g=q?a.Q:b.Q +f=q?a.as:b.as +e=q?a.at:b.at +return A.aEV(o,n,s,r,p,m,l,k,f,h,g,e,q?a.ax:b.ax,j,i)}, +rB:function rB(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=n +_.ax=o}, +S0:function S0(){}, +KY:function KY(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.S$=_.f=_.e=_.d=0 +_.O$=d +_.ar$=_.af$=0}, +aaK:function aaK(a){this.a=a}, +m9:function m9(a,b,c){this.a=a +this.b=b +this.c=c}, +aj2:function aj2(a,b,c){this.b=a +this.c=b +this.a=c}, +atN(a,b,c,d,e,f,g,h,i){return new A.S4(g,i,e,f,h,c,b,a,null)}, +aGl(a,b,c,d,e,f,g){var s,r=null,q=A.aj(),p=J.lp(new Array(4),t.iy) +for(s=0;s<4;++s)p[s]=new A.rG(r,B.aP,B.p,B.ag.j(0,B.ag)?new A.ig(1):B.ag,r,r,r,r,B.aC,r) +q=new A.S2(e,b,c,d,a,f,g,r,B.A,q,p,!0,0,r,r,new A.aN(),A.aj()) +q.aw() +q.L(0,r) +return q}, +aHP(a){var s,r,q=a.gbJ(0).x +q===$&&A.a() +s=a.e +r=a.d +if(a.f===0)return A.N(Math.abs(r-q),0,1) +return Math.abs(q-r)/Math.abs(r-s)}, +aGm(a){var s +switch(a.a){case 1:s=3 +break +case 0:s=2 +break +default:s=null}return s}, +aaJ:function aaJ(a,b){this.a=a +this.b=b}, +aaI:function aaI(a,b){this.a=a +this.b=b}, +KX:function KX(a,b){this.d=a +this.a=b}, +S4:function S4(a,b,c,d,e,f,g,h,i){var _=this +_.e=a +_.f=b +_.r=c +_.x=d +_.y=e +_.z=f +_.Q=g +_.c=h +_.a=i}, +aiQ:function aiQ(a,b){this.a=a +this.b=b}, +S2:function S2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var _=this +_.jt=a +_.E=b +_.Z=c +_.a3=d +_.al=e +_.aq=f +_.S=g +_.O=h +_.af=0 +_.ar=i +_.bX=j +_.PT$=k +_.abj$=l +_.di$=m +_.V$=n +_.cj$=o +_.fx=p +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=q +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +S1:function S1(a,b,c,d,e,f,g,h,i,j){var _=this +_.ax=a +_.e=b +_.f=c +_.r=d +_.w=e +_.x=f +_.y=g +_.z=h +_.c=i +_.a=j}, +B0:function B0(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.ax=_.at=_.as=_.Q=null +_.ay=!1 +_.ch=$ +_.a=k}, +Mt:function Mt(a){this.a=a}, +tc:function tc(a,b){this.a=a +this.b=b}, +aiE:function aiE(){}, +zD:function zD(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.ax=c +_.fr=d +_.a=e}, +CB:function CB(){var _=this +_.r=_.f=_.e=_.d=null +_.y=_.x=_.w=$ +_.c=_.a=null}, +aiJ:function aiJ(){}, +aiF:function aiF(){}, +aiG:function aiG(a,b){this.a=a +this.b=b}, +aiH:function aiH(a,b){this.a=a +this.b=b}, +aiI:function aiI(a,b){this.a=a +this.b=b}, +zE:function zE(a,b,c){this.c=a +this.d=b +this.a=c}, +CC:function CC(){var _=this +_.e=_.d=null +_.f=$ +_.r=null +_.x=_.w=0 +_.c=_.a=null}, +aiK:function aiK(a){this.a=a}, +aiL:function aiL(a,b,c){this.a=a +this.b=b +this.c=c}, +aiM:function aiM(a){this.a=a}, +aiR:function aiR(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var _=this +_.ay=a +_.CW=_.ch=$ +_.cx=b +_.a=c +_.b=d +_.c=e +_.d=f +_.e=g +_.f=h +_.r=i +_.w=j +_.x=k +_.y=l +_.z=m +_.Q=n +_.as=o +_.at=p +_.ax=q}, +aiS:function aiS(a){this.a=a}, +T1:function T1(){}, +T4:function T4(){}, +aF_(a,b,c){if(a===b)return a +return new A.zG(A.is(a.a,b.a,c))}, +zG:function zG(a){this.a=a}, +S5:function S5(){}, +aF2(a,b,c){var s,r +if(a===b)return a +s=A.q(a.a,b.a,c) +r=A.q(a.b,b.b,c) +return new A.zO(s,r,A.q(a.c,b.c,c))}, +zO:function zO(a,b,c){this.a=a +this.b=b +this.c=c}, +S7:function S7(){}, +anl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.db(d,e,f,g,h,i,m,n,o,a,b,c,j,k,l)}, +rI(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a===b)return a +s=A.aW(a.a,b.a,c) +r=A.aW(a.b,b.b,c) +q=A.aW(a.c,b.c,c) +p=A.aW(a.d,b.d,c) +o=A.aW(a.e,b.e,c) +n=A.aW(a.f,b.f,c) +m=A.aW(a.r,b.r,c) +l=A.aW(a.w,b.w,c) +k=A.aW(a.x,b.x,c) +j=A.aW(a.y,b.y,c) +i=A.aW(a.z,b.z,c) +h=A.aW(a.Q,b.Q,c) +g=A.aW(a.as,b.as,c) +f=A.aW(a.at,b.at,c) +return A.anl(j,i,h,s,r,q,p,o,n,g,f,A.aW(a.ax,b.ax,c),m,l,k)}, +db:function db(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=n +_.ax=o}, +S9:function S9(){}, +aa(a){var s,r,q,p,o,n,m=null,l=a.a7(t.Nr),k=A.nP(a,B.bG,t.c4)==null?m:B.w4 +if(k==null)k=B.w4 +s=a.a7(t.ri) +r=l==null?m:l.w.c +if(r==null)if(s!=null){q=s.w.c +p=q.giQ() +o=q.glJ() +n=q.giQ() +p=A.ann(m,A.aAh(o,q.gmp(),n,p),m,m) +r=p}else{q=$.axe() +r=q}return A.aF8(r,r.p3.T8(k))}, +k7:function k7(a,b,c){this.c=a +this.d=b +this.a=c}, +B1:function B1(a,b,c){this.w=a +this.b=b +this.a=c}, +oL:function oL(a,b){this.a=a +this.b=b}, +uw:function uw(a,b,c,d,e,f){var _=this +_.r=a +_.w=b +_.c=c +_.d=d +_.e=e +_.a=f}, +LZ:function LZ(a,b){var _=this +_.CW=null +_.e=_.d=$ +_.jn$=a +_.dU$=b +_.c=_.a=null}, +acC:function acC(){}, +ann(c9,d0,d1,d2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5=null,c6=A.b([],t.FO),c7=A.b([],t.lY),c8=A.el() +switch(c8.a){case 0:case 1:case 2:s=B.Hr +break +case 3:case 4:case 5:s=B.Hs +break +default:s=c5}r=A.aFt(c8) +d2=d2!==!1 +if(d2)q=B.zz +else q=B.zA +if(c9==null){p=d0==null?c5:d0.a +o=p}else o=c9 +if(o==null)o=B.a7 +n=o===B.a6 +if(d2){if(d0==null)d0=n?B.A8:B.A9 +m=n?d0.k2:d0.b +l=n?d0.k3:d0.c +k=d0.k2 +if(d1==null)d1=k +j=d0.ry +if(j==null){p=d0.a5 +j=p==null?d0.k3:p}i=c9===B.a6 +h=m +g=l +f=k +e=f}else{h=c5 +g=h +j=g +f=j +e=f +k=e +i=k}if(h==null)h=n?B.Am:B.dE +d=A.Lc(h) +c=n?B.AF:B.l0 +b=n?B.o:B.kR +a=d===B.a6 +a0=n?A.Z(31,255,255,255):A.Z(31,0,0,0) +a1=n?A.Z(10,255,255,255):A.Z(10,0,0,0) +if(k==null)k=n?B.kU:B.AQ +if(d1==null)d1=k +if(e==null)e=n?B.kY:B.i +if(j==null)j=n?B.AV:B.AU +if(d0==null){a2=n?B.Az:B.kT +p=n?B.kZ:B.l_ +a3=A.Lc(B.dE)===B.a6 +a4=A.Lc(a2) +a5=a3?B.i:B.o +a4=a4===B.a6?B.i:B.o +a6=n?B.i:B.o +a7=n?B.o:B.i +d0=A.WS(p,o,B.AH,c5,c5,c5,a3?B.i:B.o,a7,c5,c5,a5,c5,c5,c5,a4,c5,c5,c5,a6,c5,c5,c5,c5,c5,c5,c5,B.dE,c5,c5,c5,c5,a2,c5,c5,c5,c5,e,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5)}a8=n?B.F:B.E +a9=n?B.kZ:B.l2 +if(f==null)f=n?B.kY:B.i +if(g==null){g=d0.y +if(g.j(0,h))g=B.i}b0=n?B.Ae:A.Z(153,0,0,0) +b1=A.apM(!1,n?B.kS:B.AJ,d0,c5,a0,36,c5,a1,B.yp,s,88,c5,c5,c5,B.ka) +b2=n?B.Ac:B.Ab +b3=n?B.kM:B.ht +b4=n?B.kM:B.Ad +if(d2){b5=A.at7(c8,c5,c5,B.QO,B.QH,B.QQ) +p=d0.a===B.a7 +b6=p?d0.k3:d0.k2 +b7=p?d0.k2:d0.k3 +p=b5.a.O9(b6,b6,b6) +a4=b5.b.O9(b7,b7,b7) +b8=new A.rL(p,a4,b5.c,b5.d,b5.e)}else b8=A.aFh(c8) +b9=n?b8.b:b8.a +c0=a?b8.b:b8.a +c1=b9.ce(c5) +c2=c0.ce(c5) +c3=n?new A.cD(c5,c5,c5,c5,c5,$.apg(),c5,c5,c5):new A.cD(c5,c5,c5,c5,c5,$.apf(),c5,c5,c5) +c4=a?B.eF:B.Cs +return A.anm(c5,A.aF4(c7),B.xW,i===!0,B.xZ,B.Hq,B.yd,B.ye,B.yf,B.yq,b1,k,e,B.A_,B.A2,B.A3,d0,c5,B.B8,B.B9,f,B.Bm,b2,j,B.Bp,B.Bs,B.Bt,B.C1,B.C5,A.aF6(c6),B.C7,B.Ca,a0,b3,b0,a1,B.Cm,c3,g,B.yU,B.D6,s,B.Ht,B.Hu,B.Hv,B.HG,B.HH,B.HJ,B.Ih,B.z9,c8,B.J6,h,b,c,c4,c2,B.J8,B.J9,d1,B.JG,B.JH,B.JI,a9,B.JJ,B.o,B.Ly,B.LE,b4,q,B.Mj,B.Mx,B.Mz,B.MG,c1,B.Ra,B.Rb,B.Re,b8,a8,d2,r)}, +anm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,g0,g1,g2){return new A.hs(d,r,b0,b,c0,c2,d0,d1,e1,f0,!0,g2,l,m,q,a1,a3,a4,b3,b4,b5,b6,b9,d3,d4,d5,e0,e4,e6,e9,g0,b8,d6,d7,f5,f9,a,c,e,f,g,h,i,k,n,o,p,s,a0,a2,a5,a6,a7,a8,a9,b1,b2,b7,c1,c3,c4,c5,c6,c7,c8,c9,d2,d8,d9,e2,e3,e5,e7,e8,f1,f2,f3,f4,f6,f7,f8,j)}, +aF3(){return A.ann(B.a7,null,null,null)}, +aF4(a){var s,r,q=A.E(t.u,t.gj) +for(s=0;!1;++s){r=a[s] +q.n(0,r.goM(r),r)}return q}, +aF8(a,b){return $.axd().bk(0,new A.to(a,b),new A.abz(a,b))}, +Lc(a){var s=0.2126*A.alN((a.gm(a)>>>16&255)/255)+0.7152*A.alN((a.gm(a)>>>8&255)/255)+0.0722*A.alN((a.gm(a)&255)/255)+0.05 +if(s*s>0.15)return B.a7 +return B.a6}, +aF5(a,b,c){var s=a.c,r=s.rR(s,new A.abx(b,c),t.K,t.Ag) +s=b.c +r.NU(r,s.gfA(s).jQ(0,new A.aby(a))) +return r}, +aF6(a){var s,r,q=t.K,p=t.ZF,o=A.E(q,p) +for(s=0;!1;++s){r=a[s] +o.n(0,r.goM(r),p.a(r))}return A.alP(o,q,t.Ag)}, +aF7(g8,g9,h0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,g0,g1,g2,g3,g4,g5,g6,g7 +if(g8===g9)return g8 +s=h0<0.5 +r=s?g8.d:g9.d +q=s?g8.a:g9.a +p=s?g8.b:g9.b +o=A.aF5(g8,g9,h0) +n=s?g8.e:g9.e +m=s?g8.f:g9.f +l=s?g8.r:g9.r +k=s?g8.w:g9.w +j=A.aEl(g8.x,g9.x,h0) +i=s?g8.y:g9.y +h=A.aFu(g8.Q,g9.Q,h0) +g=A.q(g8.as,g9.as,h0) +g.toString +f=A.q(g8.at,g9.at,h0) +f.toString +e=A.aAj(g8.ax,g9.ax,h0) +d=A.q(g8.ay,g9.ay,h0) +d.toString +c=A.q(g8.ch,g9.ch,h0) +c.toString +b=A.q(g8.CW,g9.CW,h0) +b.toString +a=A.q(g8.cx,g9.cx,h0) +a.toString +a0=A.q(g8.cy,g9.cy,h0) +a0.toString +a1=A.q(g8.db,g9.db,h0) +a1.toString +a2=A.q(g8.dx,g9.dx,h0) +a2.toString +a3=A.q(g8.dy,g9.dy,h0) +a3.toString +a4=A.q(g8.fr,g9.fr,h0) +a4.toString +a5=A.q(g8.fx,g9.fx,h0) +a5.toString +a6=A.q(g8.fy,g9.fy,h0) +a6.toString +a7=A.q(g8.go,g9.go,h0) +a7.toString +a8=A.q(g8.id,g9.id,h0) +a8.toString +a9=A.q(g8.k1,g9.k1,h0) +a9.toString +b0=A.q(g8.k2,g9.k2,h0) +b0.toString +b1=A.q(g8.k3,g9.k3,h0) +b1.toString +b2=A.jC(g8.k4,g9.k4,h0) +b3=A.jC(g8.ok,g9.ok,h0) +b4=A.rI(g8.p1,g9.p1,h0) +b5=A.rI(g8.p2,g9.p2,h0) +b6=A.aFi(g8.p3,g9.p3,h0) +b7=A.azt(g8.p4,g9.p4,h0) +b8=A.azz(g8.R8,g9.R8,h0) +b9=A.azC(g8.RG,g9.RG,h0) +c0=g8.rx +c1=g9.rx +c2=A.q(c0.a,c1.a,h0) +c3=A.q(c0.b,c1.b,h0) +c4=A.q(c0.c,c1.c,h0) +c5=A.q(c0.d,c1.d,h0) +c6=A.aW(c0.e,c1.e,h0) +c7=A.V(c0.f,c1.f,h0) +c8=A.d0(c0.r,c1.r,h0) +c0=A.d0(c0.w,c1.w,h0) +c1=A.azF(g8.ry,g9.ry,h0) +c9=A.azG(g8.to,g9.to,h0) +d0=A.azH(g8.x1,g9.x1,h0) +s=s?g8.x2:g9.x2 +d1=A.azY(g8.xr,g9.xr,h0) +d2=A.aA_(g8.y1,g9.y1,h0) +d3=A.aA5(g8.y2,g9.y2,h0) +d4=A.aAv(g8.aY,g9.aY,h0) +d5=A.aAx(g8.by,g9.by,h0) +d6=A.aAI(g8.a5,g9.a5,h0) +d7=A.aAP(g8.aV,g9.aV,h0) +d8=A.aB9(g8.bw,g9.bw,h0) +d9=A.aBa(g8.bn,g9.bn,h0) +e0=A.aBh(g8.E,g9.E,h0) +e1=A.aBr(g8.Z,g9.Z,h0) +e2=A.aBw(g8.a3,g9.a3,h0) +e3=A.aBz(g8.al,g9.al,h0) +e4=A.aC7(g8.aq,g9.aq,h0) +e5=A.aCw(g8.S,g9.S,h0) +e6=A.aCO(g8.O,g9.O,h0) +e7=A.aCP(g8.af,g9.af,h0) +e8=A.aCQ(g8.ar,g9.ar,h0) +e9=A.aD4(g8.bX,g9.bX,h0) +f0=A.aD5(g8.c4,g9.c4,h0) +f1=A.aD6(g8.hS,g9.hS,h0) +f2=A.aDa(g8.eZ,g9.eZ,h0) +f3=A.aDy(g8.C,g9.C,h0) +f4=A.aDO(g8.dV,g9.dV,h0) +f5=A.aDQ(g8.ag,g9.ag,h0) +f6=A.aEn(g8.hi,g9.hi,h0) +f7=A.aEp(g8.cd,g9.cd,h0) +f8=A.aEr(g8.dW,g9.dW,h0) +f9=A.aEE(g8.hT,g9.hT,h0) +g0=A.aEH(g8.iB,g9.iB,h0) +g1=A.aER(g8.m8,g9.m8,h0) +g2=A.aEW(g8.cw,g9.cw,h0) +g3=A.aF_(g8.dE,g9.dE,h0) +g4=A.aF2(g8.ef,g9.ef,h0) +g5=A.aF9(g8.o6,g9.o6,h0) +g6=A.aFa(g8.o7,g9.o7,h0) +g7=A.aFe(g8.jr,g9.jr,h0) +return A.anm(b7,r,b8,q,b9,new A.xc(c2,c3,c4,c5,c6,c7,c8,c0),c1,c9,d0,A.azM(g8.kK,g9.kK,h0),s,g,f,d1,d2,d3,e,p,d4,d5,d,d6,c,b,d7,d8,d9,e0,e1,o,e2,e3,a,a0,a1,a2,e4,b2,a3,n,e5,m,e6,e7,e8,e9,f0,f1,f2,l,k,f3,a4,a5,a6,b3,b4,f4,f5,a7,j,f6,f7,a8,f8,a9,f9,g0,b0,i,g1,g2,g3,g4,b5,g5,g6,g7,b6,b1,!0,h)}, +aCG(a,b){return new A.HC(a,b,B.jO,b.a,b.b,b.c,b.d,b.e,b.f,b.r)}, +aFt(a){var s +$label0$0:{if(B.as===a||B.at===a||B.bg===a){s=B.cL +break $label0$0}if(B.bh===a||B.b4===a||B.bi===a){s=B.Sp +break $label0$0}s=null}return s}, +aFu(a,b,c){var s,r +if(a===b)return a +s=A.V(a.a,b.a,c) +s.toString +r=A.V(a.b,b.b,c) +r.toString +return new A.ke(s,r)}, +nR:function nR(a,b){this.a=a +this.b=b}, +hs:function hs(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,g0,g1,g2){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7 +_.id=a8 +_.k1=a9 +_.k2=b0 +_.k3=b1 +_.k4=b2 +_.ok=b3 +_.p1=b4 +_.p2=b5 +_.p3=b6 +_.p4=b7 +_.R8=b8 +_.RG=b9 +_.rx=c0 +_.ry=c1 +_.to=c2 +_.x1=c3 +_.x2=c4 +_.xr=c5 +_.y1=c6 +_.y2=c7 +_.aY=c8 +_.by=c9 +_.a5=d0 +_.aV=d1 +_.bw=d2 +_.bn=d3 +_.E=d4 +_.Z=d5 +_.a3=d6 +_.al=d7 +_.aq=d8 +_.S=d9 +_.O=e0 +_.af=e1 +_.ar=e2 +_.bX=e3 +_.c4=e4 +_.hS=e5 +_.eZ=e6 +_.C=e7 +_.dV=e8 +_.ag=e9 +_.hi=f0 +_.cd=f1 +_.dW=f2 +_.hT=f3 +_.iB=f4 +_.m8=f5 +_.cw=f6 +_.dE=f7 +_.ef=f8 +_.o6=f9 +_.o7=g0 +_.jr=g1 +_.kK=g2}, +abz:function abz(a,b){this.a=a +this.b=b}, +abx:function abx(a,b){this.a=a +this.b=b}, +aby:function aby(a){this.a=a}, +HC:function HC(a,b,c,d,e,f,g,h,i,j){var _=this +_.ay=a +_.ch=b +_.w=c +_.a=d +_.b=e +_.c=f +_.d=g +_.e=h +_.f=i +_.r=j}, +alT:function alT(a){this.a=a}, +to:function to(a,b){this.a=a +this.b=b}, +NI:function NI(a,b,c){this.a=a +this.b=b +this.$ti=c}, +ke:function ke(a,b){this.a=a +this.b=b}, +Sd:function Sd(){}, +ST:function ST(){}, +aF9(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3 +if(a4===a5)return a4 +s=a4.d +if(s==null)r=a5.d==null +else r=!1 +if(r)s=null +else if(s==null)s=a5.d +else{r=a5.d +if(!(r==null)){s.toString +r.toString +s=A.aG(s,r,a6)}}r=A.q(a4.a,a5.a,a6) +q=A.is(a4.b,a5.b,a6) +p=A.is(a4.c,a5.c,a6) +o=a4.gqM() +n=a5.gqM() +o=A.q(o,n,a6) +n=t.KX.a(A.d5(a4.f,a5.f,a6)) +m=A.q(a4.r,a5.r,a6) +l=A.aW(a4.w,a5.w,a6) +k=A.q(a4.x,a5.x,a6) +j=A.q(a4.y,a5.y,a6) +i=A.q(a4.z,a5.z,a6) +h=A.aW(a4.Q,a5.Q,a6) +g=A.V(a4.as,a5.as,a6) +f=A.q(a4.at,a5.at,a6) +e=A.aW(a4.ax,a5.ax,a6) +d=A.q(a4.ay,a5.ay,a6) +c=A.d5(a4.ch,a5.ch,a6) +b=A.q(a4.CW,a5.CW,a6) +a=A.aW(a4.cx,a5.cx,a6) +if(a6<0.5)a0=a4.cy +else a0=a5.cy +a1=A.d0(a4.db,a5.db,a6) +a2=A.d5(a4.dx,a5.dx,a6) +a3=A.aB(a4.dy,a5.dy,a6,A.bA(),t._) +return new A.zT(r,q,p,s,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,A.aB(a4.fr,a5.fr,a6,A.um(),t.p8))}, +zT:function zT(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4}, +abC:function abC(a){this.a=a}, +Sf:function Sf(){}, +aFa(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a===b)return a +s=A.aW(a.a,b.a,c) +r=A.jp(a.b,b.b,c) +q=A.q(a.c,b.c,c) +p=A.q(a.d,b.d,c) +o=A.q(a.e,b.e,c) +n=A.q(a.f,b.f,c) +m=A.q(a.r,b.r,c) +l=A.q(a.w,b.w,c) +k=A.q(a.y,b.y,c) +j=A.q(a.x,b.x,c) +i=A.q(a.z,b.z,c) +h=A.q(a.Q,b.Q,c) +g=A.q(a.as,b.as,c) +f=A.pC(a.ax,b.ax,c) +return new A.zU(s,r,q,p,o,n,m,l,j,k,i,h,g,A.V(a.at,b.at,c),f)}, +zU:function zU(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=n +_.ax=o}, +Sh:function Sh(){}, +atr(a,b,c){return new A.NG(b,null,c,B.cZ,a,null)}, +aFc(a,b){return new A.zY(b,a,null)}, +aFf(){var s,r,q +if($.oO.length!==0){s=A.b($.oO.slice(0),A.a_($.oO)) +for(r=s.length,q=0;q>>16&255,r.gm(r)>>>8&255,r.gm(r)&255) +break +default:r=null}switch(q.a){case 1:q=b.a +break +case 0:q=b.a +q=A.Z(0,q.gm(q)>>>16&255,q.gm(q)>>>8&255,q.gm(q)&255) +break +default:q=null}p=a.d +o=b.d +if(p!==o){r=A.q(r,q,c) +r.toString +o=A.V(p,o,c) +o.toString +return new A.cA(r,s,B.a5,o)}r=A.q(r,q,c) +r.toString +return new A.cA(r,s,B.a5,p)}, +d5(a,b,c){var s,r +if(a==b)return a +s=b==null?null:b.cH(a,c) +if(s==null)s=a==null?null:a.cI(b,c) +if(s==null)r=c<0.5?a:b +else r=s +return r}, +arM(a,b,c){var s,r +if(a==b)return a +s=b==null?null:b.cH(a,c) +if(s==null)s=a==null?null:a.cI(b,c) +if(s==null)r=c<0.5?a:b +else r=s +return r}, +ato(a,b,c){var s,r,q,p,o,n,m=a instanceof A.hw?a.a:A.b([a],t.Fi),l=b instanceof A.hw?b.a:A.b([b],t.Fi),k=A.b([],t.N_),j=Math.max(m.length,l.length) +for(s=1-c,r=0;ro/m?new A.K(o*p/m,p):new A.K(q,m*q/o) +r=b +break +case 2:q=c.a +p=c.b +o=b.a +r=q/p>o/m?new A.K(o,o*p/q):new A.K(m*q/p,m) +s=c +break +case 3:q=c.a +p=c.b +o=b.a +if(q/p>o/m){r=new A.K(o,o*p/q) +s=c}else{s=new A.K(q,m*q/o) +r=b}break +case 4:q=c.a +p=c.b +o=b.a +if(q/p>o/m){s=new A.K(o*p/m,p) +r=b}else{r=new A.K(m*q/p,m) +s=c}break +case 5:r=new A.K(Math.min(b.a,c.a),Math.min(m,c.b)) +s=r +break +case 6:n=b.a/m +q=c.b +s=m>q?new A.K(q*n,q):b +m=c.a +if(s.a>m)s=new A.K(m,m/n) +r=b +break +default:r=null +s=null}return new A.Gn(r,s)}, +uR:function uR(a,b){this.a=a +this.b=b}, +Gn:function Gn(a,b){this.a=a +this.b=b}, +azL(a,b,c){var s,r,q,p +if(a===b)return a +s=A.q(a.a,b.a,c) +s.toString +r=A.xE(a.b,b.b,c) +r.toString +q=A.V(a.c,b.c,c) +q.toString +p=A.V(a.d,b.d,c) +p.toString +return new A.jq(p,a.e,s,r,q)}, +apL(a,b,c){var s,r,q,p,o,n,m,l +if(a==null?b==null:a===b)return a +if(a==null)a=A.b([],t.sq) +if(b==null)b=A.b([],t.sq) +s=Math.min(a.length,b.length) +r=A.b([],t.sq) +for(q=0;qk?l:k)){o=t.N +j=A.cC(o) +n=t.kr +i=A.fx(d,d,d,o,n) +for(h=p;h")),o=o.c;n.q();){m=n.d +if(m==null)m=o.a(m) +e=A.aqR(i.k(0,m),g.k(0,m),c) +if(e!=null)s.push(e)}}return s}, +n:function n(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){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=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6}, +S8:function S8(){}, +auM(a,b,c,d,e){var s,r +for(s=c,r=0;r0){n=-n +l=2*l +s=(n-Math.sqrt(j))/l +r=(n+Math.sqrt(j))/l +q=(c-s*b)/(r-s) +l=new A.agN(s,r,b-q,q) +n=l +break $label0$0}if(j<0){p=Math.sqrt(k-m)/(2*l) +o=-(n/2*l) +n=new A.aj1(p,o,b,(c-o*b)/p) +break $label0$0}o=-n/(2*l) +n=new A.adS(o,b,c-o*b) +break $label0$0}return n}, +aab:function aab(a,b,c){this.a=a +this.b=b +this.c=c}, +zt:function zt(a,b){this.a=a +this.b=b}, +zs:function zs(a,b,c){this.b=a +this.c=b +this.a=c}, +lT:function lT(a,b,c){this.b=a +this.c=b +this.a=c}, +adS:function adS(a,b,c){this.a=a +this.b=b +this.c=c}, +agN:function agN(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +aj1:function aj1(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +zW:function zW(a,b){this.a=a +this.c=b}, +aFL(a){}, +yE:function yE(){}, +a7Z:function a7Z(a){this.a=a}, +a80:function a80(a){this.a=a}, +a8_:function a8_(a){this.a=a}, +a7Y:function a7Y(a){this.a=a}, +a7X:function a7X(a){this.a=a}, +Mf:function Mf(a,b){var _=this +_.a=a +_.S$=0 +_.O$=b +_.ar$=_.af$=0}, +N9:function N9(a,b,c,d,e,f,g,h){var _=this +_.b=a +_.c=b +_.d=c +_.e=null +_.f=!1 +_.r=d +_.z=e +_.Q=f +_.at=null +_.ch=g +_.CW=h +_.cx=null}, +QY:function QY(a,b,c,d){var _=this +_.Z=!1 +_.fx=a +_.fy=null +_.go=b +_.k1=null +_.C$=c +_.b=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +kR(a){var s=a.a,r=a.b +return new A.aq(s,s,r,r)}, +eo(a,b){var s,r,q=b==null,p=q?0:b +q=q?1/0:b +s=a==null +r=s?0:a +return new A.aq(p,q,r,s?1/0:a)}, +uQ(a,b){var s,r,q=b!==1/0,p=q?b:0 +q=q?b:1/0 +s=a!==1/0 +r=s?a:0 +return new A.aq(p,q,r,s?a:1/0)}, +Vq(a){return new A.aq(0,a.a,0,a.b)}, +jp(a,b,c){var s,r,q,p +if(a==b)return a +if(a==null)return b.ac(0,c) +if(b==null)return a.ac(0,1-c) +s=a.a +if(isFinite(s)){s=A.V(s,b.a,c) +s.toString}else s=1/0 +r=a.b +if(isFinite(r)){r=A.V(r,b.b,c) +r.toString}else r=1/0 +q=a.c +if(isFinite(q)){q=A.V(q,b.c,c) +q.toString}else q=1/0 +p=a.d +if(isFinite(p)){p=A.V(p,b.d,c) +p.toString}else p=1/0 +return new A.aq(s,r,q,p)}, +apK(a){return new A.kT(a.a,a.b,a.c)}, +apz(a,b){return a==null?null:a+b}, +pB(a,b){var s,r,q,p,o,n +$label0$0:{s=null +r=null +q=!1 +if(a!=null){p=typeof a=="number" +if(p){r=a +if(b!=null)q=typeof b=="number" +s=b}}else p=!1 +o=null +if(q){n=p?s:b +q=r>=(n==null?A.bD(n):n)?b:a +break $label0$0}q=!1 +if(a!=null){r=a +if(p)q=s +else{q=b +s=q +p=!0}q=q==null}else r=o +if(q){q=r +break $label0$0}q=a==null +if(q)if(!p){s=b +p=!0}if(q){n=p?s:b +q=n +break $label0$0}q=o}return q}, +aq:function aq(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Vr:function Vr(){}, +kT:function kT(a,b,c){this.a=a +this.b=b +this.c=c}, +kS:function kS(a,b){this.c=a +this.a=b +this.b=null}, +ep:function ep(a){this.a=a}, +vi:function vi(){}, +aeo:function aeo(){}, +aep:function aep(a,b){this.a=a +this.b=b}, +acX:function acX(){}, +acY:function acY(a,b){this.a=a +this.b=b}, +B4:function B4(a,b){this.a=a +this.b=b}, +ag_:function ag_(a,b){this.a=a +this.b=b}, +aN:function aN(){var _=this +_.d=_.c=_.b=_.a=null}, +H:function H(){}, +a7e:function a7e(a){this.a=a}, +cM:function cM(){}, +a7d:function a7d(a){this.a=a}, +Au:function Au(){}, +hi:function hi(a,b,c){var _=this +_.e=null +_.bG$=a +_.a1$=b +_.a=c}, +a54:function a54(){}, +yl:function yl(a,b,c,d,e,f){var _=this +_.E=a +_.di$=b +_.V$=c +_.cj$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +BN:function BN(){}, +QA:function QA(){}, +asg(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e +if(a==null)a=B.ii +s=J.ax(a) +r=s.gu(a)-1 +q=A.bc(0,null,!1,t.LQ) +p=0<=r +while(!0){if(!!1)break +s.k(a,0) +o=b[0] +o.gx9(o) +break}while(!0){if(!!1)break +s.k(a,r) +n=b[-1] +n.gx9(n) +break}m=A.bk("oldKeyedChildren") +l=0 +if(p){m.scr(A.E(t.D2,t.bu)) +for(k=m.a;l<=r;){j=s.k(a,l) +i=j.a +if(i!=null){h=m.b +if(h===m)A.ab(A.amB(k)) +J.fW(h,i,j)}++l}}for(k=m.a,g=0;!1;){o=b[g] +j=null +if(p){f=o.gx9(o) +i=m.b +if(i===m)A.ab(A.amB(k)) +e=J.b5(i,f) +if(e!=null)o.gx9(o) +else j=e}q[g]=A.asf(j,o);++g}s.gu(a) +while(!0){if(!!1)break +q[g]=A.asf(s.k(a,l),b[g]);++g;++l}return new A.bL(q,A.a_(q).h("bL<1,c4>"))}, +asf(a,b){var s,r=a==null?A.Km(b.gx9(b),null):a,q=b.gRH(),p=A.lX() +q.gUw() +p.k3=q.gUw() +p.e=!0 +q.ga9c(q) +s=q.ga9c(q) +p.b7(B.jd,!0) +p.b7(B.wk,s) +q.gaeb() +s=q.gaeb() +p.b7(B.jd,!0) +p.b7(B.K7,s) +q.gTX(q) +p.b7(B.wo,q.gTX(q)) +q.ga91(q) +p.b7(B.wr,q.ga91(q)) +q.gabe(q) +s=q.gabe(q) +p.b7(B.Kb,!0) +p.b7(B.K3,s) +q.gadN() +p.b7(B.K8,q.gadN()) +q.gafK() +p.b7(B.K5,q.gafK()) +q.gUt() +p.b7(B.Kc,q.gUt()) +q.gadI() +p.b7(B.K4,q.gadI()) +q.gaf6(q) +p.b7(B.K1,q.gaf6(q)) +q.gaby() +p.b7(B.wi,q.gaby()) +q.gabz(q) +p.b7(B.wm,q.gabz(q)) +q.gnW(q) +s=q.gnW(q) +p.b7(B.wq,!0) +p.b7(B.wf,s) +q.gacS() +p.b7(B.wj,q.gacS()) +q.gt1() +p.b7(B.K0,q.gt1()) +q.gaee(q) +p.b7(B.K9,q.gaee(q)) +q.gacG(q) +p.b7(B.je,q.gacG(q)) +q.gacE() +p.b7(B.wp,q.gacE()) +q.gEo() +p.sEo(q.gEo()) +q.gTS() +p.b7(B.wh,q.gTS()) +q.gaeg() +p.b7(B.wn,q.gaeg()) +q.gadQ() +p.b7(B.wl,q.gadQ()) +q.gES() +p.sES(q.gES()) +q.gD6() +p.sD6(q.gD6()) +q.gafT() +s=q.gafT() +p.b7(B.Ka,!0) +p.b7(B.K2,s) +q.geE(q) +p.b7(B.wg,q.geE(q)) +q.gEJ(q) +p.ry=new A.cQ(q.gEJ(q),B.al) +p.e=!0 +q.gm(q) +p.to=new A.cQ(q.gm(q),B.al) +p.e=!0 +q.gacV() +p.x1=new A.cQ(q.gacV(),B.al) +p.e=!0 +q.gaap() +p.x2=new A.cQ(q.gaap(),B.al) +p.e=!0 +q.gacK(q) +p.xr=new A.cQ(q.gacK(q),B.al) +p.e=!0 +q.gbS() +p.a5=q.gbS() +p.e=!0 +q.gkZ() +p.skZ(q.gkZ()) +q.gjH() +p.sjH(q.gjH()) +q.gxy() +p.sxy(q.gxy()) +q.gxz() +p.sxz(q.gxz()) +q.gxA() +p.sxA(q.gxA()) +q.gxx() +p.sxx(q.gxx()) +q.gF7() +p.sF7(q.gF7()) +q.gF2() +p.sF2(q.gF2()) +q.gF0(q) +p.sF0(0,q.gF0(q)) +q.gF1(q) +p.sF1(0,q.gF1(q)) +q.gFe(q) +p.sFe(0,q.gFe(q)) +q.gFc() +p.sFc(q.gFc()) +q.gFa() +p.sFa(q.gFa()) +q.gFd() +p.sFd(q.gFd()) +q.gFb() +p.sFb(q.gFb()) +q.gFj() +p.sFj(q.gFj()) +q.gFk() +p.sFk(q.gFk()) +q.gF3() +p.sF3(q.gF3()) +q.gF4() +p.sF4(q.gF4()) +q.gxv(q) +p.sxv(0,q.gxv(q)) +q.gxu() +p.sxu(q.gxu()) +r.lb(0,B.ii,p) +r.saZ(0,b.gaZ(b)) +r.sbE(0,b.gbE(b)) +r.dy=b.gaha() +return r}, +Fp:function Fp(){}, +ym:function ym(a,b,c,d,e,f,g,h){var _=this +_.B=a +_.a_=b +_.am=c +_.bM=d +_.cF=e +_.fD=_.f_=_.cV=_.ba=null +_.C$=f +_.fx=g +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=h +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Xn:function Xn(){}, +yo:function yo(a,b,c){var _=this +_.E=a +_.Z=$ +_.fx=b +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=c +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +acS(a,b){var s +switch(b.a){case 0:s=a +break +case 1:s=new A.K(a.b,a.a) +break +default:s=null}return s}, +aFE(a,b,c){var s +switch(c.a){case 0:s=b +break +case 1:s=b.gQ1() +break +default:s=null}return s.b4(a)}, +aFD(a,b){return new A.K(a.a+b.a,Math.max(a.b,b.b))}, +atl(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=null +$label0$0:{s=a==null +if(s){r=b +q=r}else{r=d +q=r}if(!s){p=!1 +p=b==null +q=b +r=a +s=!0}else p=!0 +if(p){p=r +break $label0$0}p=t.mi +o=d +n=!1 +m=d +l=d +k=d +j=!1 +if(p.b(a)){i=!0 +h=a.a +g=h +if(typeof g=="number"){A.bD(h) +f=a.b +g=f +if(typeof g=="number"){A.bD(f) +if(s)g=q +else{g=b +s=i +q=g}if(p.b(g)){if(s)g=q +else{g=b +s=i +q=g}e=(g==null?p.a(g):g).a +g=e +n=typeof g=="number" +if(n){A.bD(e) +if(s)j=q +else{j=b +s=i +q=j}o=(j==null?p.a(j):j).b +j=o +j=typeof j=="number" +k=e}}l=f}m=h}}if(j){if(n)p=o +else{j=s?q:b +o=(j==null?p.a(j):j).b +p=o}A.bD(p) +a=new A.au(Math.max(A.fV(m),A.fV(k)),Math.max(A.fV(l),p)) +p=a +break $label0$0}p=d}return p}, +aDX(a,b,c,d,e,f,g,h){var s,r=null,q=A.aj(),p=J.lp(new Array(4),t.iy) +for(s=0;s<4;++s)p[s]=new A.rG(r,B.aP,B.p,B.ag.j(0,B.ag)?new A.ig(1):B.ag,r,r,r,r,B.aC,r) +q=new A.oi(c,d,e,b,g,h,f,a,q,p,!0,0,r,r,new A.aN(),A.aj()) +q.aw() +q.L(0,r) +return q}, +aDY(a){var s=a.b +s.toString +s=t.US.a(s).e +return s==null?0:s}, +ag9:function ag9(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Zk:function Zk(a,b){this.a=a +this.b=b}, +dL:function dL(a,b,c){var _=this +_.f=_.e=null +_.bG$=a +_.a1$=b +_.a=c}, +Hz:function Hz(a,b){this.a=a +this.b=b}, +ly:function ly(a,b){this.a=a +this.b=b}, +n4:function n4(a,b){this.a=a +this.b=b}, +oi:function oi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){var _=this +_.E=a +_.Z=b +_.a3=c +_.al=d +_.aq=e +_.S=f +_.O=g +_.af=0 +_.ar=h +_.bX=i +_.PT$=j +_.abj$=k +_.di$=l +_.V$=m +_.cj$=n +_.fx=o +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=p +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7g:function a7g(a,b){this.a=a +this.b=b}, +a7j:function a7j(){}, +a7i:function a7i(){}, +a7h:function a7h(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +QC:function QC(){}, +QD:function QD(){}, +BO:function BO(){}, +yr:function yr(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var _=this +_.Z=_.E=null +_.a3=a +_.al=b +_.aq=c +_.S=d +_.O=e +_.af=null +_.ar=f +_.bX=g +_.c4=h +_.hS=i +_.eZ=j +_.C=k +_.dV=l +_.ag=m +_.hi=n +_.cd=o +_.dW=p +_.hT=q +_.fx=r +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=s +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +aj(){return new A.Hj()}, +arK(a){return new A.iP(a,A.E(t.S,t.M),A.aj())}, +at3(a){return new A.m7(a,B.h,A.E(t.S,t.M),A.aj())}, +amN(){return new A.Ig(B.h,A.E(t.S,t.M),A.aj())}, +uC:function uC(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Ec:function Ec(a,b){this.a=a +this.$ti=b}, +Hi:function Hi(){}, +Hj:function Hj(){this.a=null}, +a68:function a68(a,b,c){var _=this +_.ax=a +_.ay=null +_.CW=_.ch=!1 +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +abw:function abw(a,b,c,d,e,f){var _=this +_.ax=a +_.ay=b +_.ch=c +_.CW=d +_.a=e +_.b=0 +_.e=f +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +a6j:function a6j(a,b,c,d){var _=this +_.ax=a +_.ay=b +_.a=c +_.b=0 +_.e=d +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +Fg:function Fg(){}, +iP:function iP(a,b,c){var _=this +_.k3=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +vc:function vc(a,b,c){var _=this +_.k3=null +_.k4=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +F5:function F5(a,b,c){var _=this +_.k3=null +_.k4=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +F3:function F3(a,b,c){var _=this +_.k3=null +_.k4=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +wE:function wE(a,b,c,d){var _=this +_.aY=a +_.k3=b +_.ay=_.ax=null +_.a=c +_.b=0 +_.e=d +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +m7:function m7(a,b,c,d){var _=this +_.aY=a +_.a5=_.by=null +_.aV=!0 +_.k3=b +_.ay=_.ax=null +_.a=c +_.b=0 +_.e=d +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +Ig:function Ig(a,b,c){var _=this +_.aY=null +_.k3=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +Eb:function Eb(a,b,c,d,e,f){var _=this +_.k3=a +_.k4=b +_.ok=c +_.ay=_.ax=null +_.a=d +_.b=0 +_.e=e +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null +_.$ti=f}, +OB:function OB(){}, +iJ:function iJ(a,b,c){this.bG$=a +this.a1$=b +this.a=c}, +yt:function yt(a,b,c,d,e,f){var _=this +_.E=a +_.di$=b +_.V$=c +_.cj$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7p:function a7p(a){this.a=a}, +a7q:function a7q(a){this.a=a}, +a7n:function a7n(a){this.a=a}, +a7o:function a7o(a){this.a=a}, +QE:function QE(){}, +QF:function QF(){}, +aCV(a,b){var s +if(a==null)return!0 +s=a.b +if(t.ks.b(b))return!1 +return t.ge.b(s)||t.PB.b(b)||!s.gbN(s).j(0,b.gbN(b))}, +aCU(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,a4=a5.d +if(a4==null)a4=a5.c +s=a5.a +r=a5.b +q=a4.goQ() +p=a4.gjN(a4) +o=a4.gbj() +n=a4.gcm(a4) +m=a4.ghL(a4) +l=a4.gbN(a4) +k=a4.gwk() +j=a4.gdA(a4) +a4.gt1() +i=a4.gFu() +h=a4.gFt() +g=a4.gd8() +f=a4.gDt() +e=a4.gv(a4) +d=a4.gFy() +c=a4.gFB() +b=a4.gFA() +a=a4.gFz() +a0=a4.goy(a4) +a1=a4.gFL() +s.W(0,new A.a4Z(r,A.aDl(j,k,m,g,f,a4.gwt(),0,n,!1,a0,o,l,h,i,d,a,b,c,e,a4.gpg(),a1,p,q).aS(a4.gbE(a4)),s)) +q=A.o(r).h("aZ<1>") +p=q.h("aF") +a2=A.a7(new A.aF(new A.aZ(r,q),new A.a5_(s),p),!0,p.h("j.E")) +p=a4.goQ() +q=a4.gjN(a4) +a1=a4.gbj() +e=a4.gcm(a4) +c=a4.ghL(a4) +b=a4.gbN(a4) +a=a4.gwk() +d=a4.gdA(a4) +a4.gt1() +i=a4.gFu() +h=a4.gFt() +l=a4.gd8() +o=a4.gDt() +a0=a4.gv(a4) +n=a4.gFy() +f=a4.gFB() +g=a4.gFA() +m=a4.gFz() +k=a4.goy(a4) +j=a4.gFL() +a3=A.aDj(d,a,c,l,o,a4.gwt(),0,e,!1,k,a1,b,h,i,n,m,g,f,a0,a4.gpg(),j,q,p).aS(a4.gbE(a4)) +for(q=A.a_(a2).h("co<1>"),p=new A.co(a2,q),p=new A.bR(p,p.gu(0),q.h("bR")),q=q.h("aD.E");p.q();){o=p.d +if(o==null)o=q.a(o) +if(o.gyh()){n=o.gF5(o) +if(n!=null)n.$1(a3.aS(r.k(0,o)))}}}, +P3:function P3(a,b){this.a=a +this.b=b}, +P4:function P4(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +HU:function HU(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.S$=0 +_.O$=d +_.ar$=_.af$=0}, +a50:function a50(){}, +a53:function a53(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a52:function a52(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a51:function a51(a){this.a=a}, +a4Z:function a4Z(a,b,c){this.a=a +this.b=b +this.c=c}, +a5_:function a5_(a){this.a=a}, +Tf:function Tf(){}, +arQ(a,b){var s,r,q=a.ch,p=t.dJ.a(q.a) +if(p==null){s=a.oN(null) +q.saQ(0,s) +p=s}else{p.FD() +a.oN(p)}a.db=!1 +r=new A.jR(p,a.giN()) +a.Bl(r,B.h) +r.lk()}, +aDb(a){var s=a.ch.a +s.toString +a.oN(t.gY.a(s)) +a.db=!1}, +aDe(a,b,c){var s=t.TT +return new A.jS(a,c,b,A.b([],s),A.b([],s),A.b([],s),A.ay(t.I9),A.ay(t.sv))}, +ash(a){if(a.Q!==a){a.bo(A.avK()) +a.Q=null}}, +aE0(a){var s,r +if(a.Q===a)return +s=a.d +r=s==null?null:s.Q +r.toString +a.Q=r +a.bo(A.avL())}, +aGh(a,b,c){var s=new A.Rn() +s.IO(c,b,a) +return s}, +atL(a,b){if(a==null)return null +if(a.gM(0)||b.QZ())return B.M +return A.aru(b,a)}, +aGi(a,b,c){var s,r,q,p,o,n,m,l +for(s=a,r=b,q=null;r!==s;){p=r.c +o=s.c +if(p>=o){n=r.d +n.cP(r,c) +r=n}if(p<=o){m=s.d +m.toString +if(q==null){q=new A.bj(new Float64Array(16)) +q.dH() +l=q}else l=q +m.cP(s,l) +s=m}}if(q!=null)if(q.dB(q)!==0)c.cs(0,q) +else c.u4()}, +atK(a,b){var s +if(b==null)return a +s=a==null?null:a.cX(b) +return s==null?b:s}, +ca:function ca(){}, +jR:function jR(a,b){var _=this +_.a=a +_.b=b +_.e=_.d=_.c=null}, +a5Y:function a5Y(a,b,c){this.a=a +this.b=b +this.c=c}, +a5X:function a5X(a,b,c){this.a=a +this.b=b +this.c=c}, +a5W:function a5W(a,b,c){this.a=a +this.b=b +this.c=c}, +X4:function X4(){}, +jS:function jS(a,b,c,d,e,f,g,h){var _=this +_.b=a +_.c=b +_.d=c +_.e=null +_.f=!1 +_.r=d +_.z=e +_.Q=f +_.at=null +_.ch=g +_.CW=h +_.cx=null}, +a6a:function a6a(){}, +a69:function a69(){}, +a6b:function a6b(){}, +a6c:function a6c(){}, +G:function G(){}, +a7u:function a7u(a){this.a=a}, +a7x:function a7x(a,b,c){this.a=a +this.b=b +this.c=c}, +a7v:function a7v(a){this.a=a}, +a7w:function a7w(){}, +a7r:function a7r(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k}, +a7s:function a7s(a,b,c){this.a=a +this.b=b +this.c=c}, +a7t:function a7t(a,b){this.a=a +this.b=b}, +aE:function aE(){}, +dw:function dw(){}, +ac:function ac(){}, +yf:function yf(){}, +a7c:function a7c(a){this.a=a}, +aij:function aij(){}, +MD:function MD(a,b,c){this.b=a +this.c=b +this.a=c}, +eM:function eM(){}, +R1:function R1(a,b,c){var _=this +_.e=a +_.b=b +_.c=null +_.a=c}, +B_:function B_(a,b,c){var _=this +_.e=a +_.b=b +_.c=null +_.a=c}, +p8:function p8(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.w=_.r=!1 +_.x=c +_.y=d +_.z=!1 +_.b=e +_.c=null +_.a=f}, +Rn:function Rn(){var _=this +_.b=_.a=null +_.d=_.c=$ +_.e=!1}, +Px:function Px(){}, +QH:function QH(){}, +aDZ(a,b,c,d){var s=a.b +s.toString +t.tq.a(s) +return B.IZ}, +anL(a,b){var s=a.a,r=b.a +if(sr)return-1 +else{s=a.b +if(s===b.b)return 0 +else return s===B.ap?1:-1}}, +m5:function m5(a,b){var _=this +_.b=_.a=null +_.bG$=a +_.a1$=b}, +a7l:function a7l(){}, +a7m:function a7m(a){this.a=a}, +lO:function lO(a,b,c,d,e,f,g,h,i,j){var _=this +_.E=a +_.S=_.aq=_.al=_.a3=_.Z=null +_.O=b +_.af=c +_.ar=d +_.bX=!1 +_.C=_.eZ=_.hS=_.c4=null +_.DK$=e +_.di$=f +_.V$=g +_.cj$=h +_.fx=i +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=j +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7A:function a7A(){}, +a7B:function a7B(){}, +a7z:function a7z(){}, +a7y:function a7y(a,b){this.a=a +this.b=b}, +jc:function jc(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.e=_.d=null +_.f=!1 +_.w=_.r=null +_.x=$ +_.z=_.y=null +_.S$=0 +_.O$=d +_.ar$=_.af$=0}, +BT:function BT(){}, +QI:function QI(){}, +QJ:function QJ(){}, +CE:function CE(){}, +Ts:function Ts(){}, +Tt:function Tt(){}, +Tu:function Tu(){}, +aHy(a,b,c){if(a===b)return!0 +if(b==null)return!1 +return A.ul(A.auw(a,c),A.auw(b,c))}, +auw(a,b){var s=A.o(a).h("hN<1,eJ>") +return A.ew(new A.hN(a,new A.ajT(b),s),s.h("j.E"))}, +aG2(a,b){var s=t.S +s=new A.BA(A.E(s,t.d_),A.ay(s),b,A.E(s,t.d),A.cC(s),null,null,A.al7(),A.E(s,t.Au)) +s.YF(a,b) +return s}, +IV:function IV(a,b){this.a=a +this.b=b}, +ajT:function ajT(a){this.a=a}, +BA:function BA(a,b,c,d,e,f,g,h,i){var _=this +_.at=$ +_.ax=a +_.ay=b +_.ch=c +_.CW=$ +_.f=d +_.r=e +_.w=null +_.a=f +_.b=null +_.c=g +_.d=h +_.e=i}, +agX:function agX(a){this.a=a}, +IX:function IX(a,b,c,d,e,f){var _=this +_.E=a +_.rh$=b +_.PV$=c +_.o5$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +agW:function agW(){}, +PB:function PB(){}, +ase(a){var s=new A.oh(a,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +amW(a,b){if(b==null)return a +return B.c.d4(a/b)*b}, +aE_(a,b,c,d,e,f){var s=b==null?B.ae:b +s=new A.yu(!0,c,e,d,a,s,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +JB:function JB(){}, +f9:function f9(){}, +wx:function wx(a,b){this.a=a +this.b=b}, +yy:function yy(){}, +oh:function oh(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jv:function Jv(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yj:function yj(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ys:function ys(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jx:function Jx(a,b,c,d,e,f){var _=this +_.B=a +_.a_=b +_.am=c +_.C$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yh:function yh(){}, +Jn:function Jn(a,b,c,d,e,f,g){var _=this +_.o2$=a +_.DL$=b +_.o3$=c +_.DM$=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +vp:function vp(){}, +oy:function oy(a,b,c){this.b=a +this.c=b +this.a=c}, +tJ:function tJ(){}, +Jq:function Jq(a,b,c,d,e){var _=this +_.B=a +_.a_=null +_.am=b +_.cF=null +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jp:function Jp(a,b,c,d,e){var _=this +_.B=a +_.a_=null +_.am=b +_.cF=null +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +BU:function BU(){}, +Jy:function Jy(a,b,c,d,e,f,g,h,i,j){var _=this +_.bG=a +_.a1=b +_.cD=c +_.fB=d +_.hQ=e +_.B=f +_.a_=null +_.am=g +_.cF=null +_.C$=h +_.fx=i +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=j +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7C:function a7C(a,b){this.a=a +this.b=b}, +Jz:function Jz(a,b,c,d,e,f,g,h){var _=this +_.cD=a +_.fB=b +_.hQ=c +_.B=d +_.a_=null +_.am=e +_.cF=null +_.C$=f +_.fx=g +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=h +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7D:function a7D(a,b){this.a=a +this.b=b}, +Fv:function Fv(a,b){this.a=a +this.b=b}, +Jr:function Jr(a,b,c,d,e,f){var _=this +_.B=null +_.a_=a +_.am=b +_.bM=c +_.C$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +JJ:function JJ(a,b,c,d){var _=this +_.am=_.a_=_.B=null +_.bM=a +_.ba=_.cF=null +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7S:function a7S(a){this.a=a}, +yp:function yp(a,b,c,d,e,f,g){var _=this +_.B=null +_.a_=a +_.am=b +_.bM=c +_.ba=_.cF=null +_.cV=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7f:function a7f(a){this.a=a}, +Jt:function Jt(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7k:function a7k(a){this.a=a}, +JA:function JA(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.ca=a +_.eX=b +_.cT=c +_.cU=d +_.cD=e +_.fB=f +_.hQ=g +_.cE=h +_.aX=i +_.B=j +_.C$=k +_.fx=l +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=m +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yu:function yu(a,b,c,d,e,f,g,h,i){var _=this +_.ca=a +_.eX=b +_.cT=c +_.cU=d +_.cD=e +_.fB=!0 +_.B=f +_.C$=g +_.fx=h +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=i +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +JD:function JD(a,b,c){var _=this +_.C$=a +_.fx=b +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=c +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yq:function yq(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yv:function yv(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yg:function yg(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +k0:function k0(a,b,c,d){var _=this +_.cD=_.cU=_.cT=_.eX=_.ca=null +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yz:function yz(a,b,c,d,e,f,g,h,i){var _=this +_.B=a +_.a_=b +_.am=c +_.bM=d +_.cF=e +_.DV=_.fD=_.f_=_.cV=_.ba=null +_.js=f +_.C$=g +_.fx=h +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=i +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jo:function Jo(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jw:function Jw(a,b,c){var _=this +_.C$=a +_.fx=b +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=c +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Js:function Js(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Ju:function Ju(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yi:function yi(a,b,c,d,e,f,g){var _=this +_.B=a +_.a_=b +_.am=c +_.C$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null +_.$ti=g}, +Qx:function Qx(){}, +BV:function BV(){}, +BW:function BW(){}, +za(a,b){var s +if(a.p(0,b))return B.x +s=b.b +if(sa.d)return B.u +return b.a>=a.c?B.u:B.w}, +z9(a,b,c){var s,r +if(a.p(0,b))return b +s=b.b +r=a.b +if(!(s<=r))s=s<=a.d&&b.a<=a.a +else s=!0 +if(s)return c===B.p?new A.m(a.a,r):new A.m(a.c,r) +else{s=a.d +return c===B.p?new A.m(a.c,s):new A.m(a.a,s)}}, +a9a(a,b){return new A.z7(a,b==null?B.jy:b,B.JK)}, +a99(a,b){return new A.z7(a,b==null?B.jy:b,B.c6)}, +lV:function lV(a,b){this.a=a +this.b=b}, +dB:function dB(){}, +Ki:function Ki(){}, +ot:function ot(a,b){this.a=a +this.b=b}, +oJ:function oJ(a,b){this.a=a +this.b=b}, +a9b:function a9b(){}, +vb:function vb(a){this.a=a}, +z7:function z7(a,b,c){this.b=a +this.c=b +this.a=c}, +rj:function rj(a,b){this.a=a +this.b=b}, +z8:function z8(a,b){this.a=a +this.b=b}, +lU:function lU(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +ou:function ou(a,b,c){this.a=a +this.b=b +this.c=c}, +L7:function L7(a,b){this.a=a +this.b=b}, +Rk:function Rk(){}, +r5:function r5(){}, +a7E:function a7E(a){this.a=a}, +yw:function yw(a,b,c,d,e){var _=this +_.B=null +_.a_=a +_.am=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jm:function Jm(){}, +yx:function yx(a,b,c,d,e,f,g){var _=this +_.cT=a +_.cU=b +_.B=null +_.a_=c +_.am=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a9R:function a9R(){}, +yn:function yn(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +BX:function BX(){}, +mG(a,b){var s +switch(b.a){case 0:s=a +break +case 1:s=A.avs(a) +break +default:s=null}return s}, +aIx(a,b){var s +switch(b.a){case 0:s=a +break +case 1:s=A.aJA(a) +break +default:s=null}return s}, +iY(a,b,c,d,e,f,g,h,i){var s=d==null?f:d,r=c==null?f:c,q=a==null?d:a +if(q==null)q=f +return new A.KC(h,g,f,s,e,r,f>0,b,i,q)}, +KE:function KE(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +GI:function GI(a,b){this.a=a +this.b=b}, +m1:function m1(a,b,c,d,e,f,g,h,i,j,k,l){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}, +KC:function KC(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j}, +rs:function rs(a,b,c){this.a=a +this.b=b +this.c=c}, +KD:function KD(a,b,c){var _=this +_.c=a +_.d=b +_.a=c +_.b=null}, +zo:function zo(){}, +m2:function m2(a){this.a=a}, +k5:function k5(a,b,c){this.bG$=a +this.a1$=b +this.a=c}, +cn:function cn(){}, +a7H:function a7H(){}, +a7I:function a7I(a,b){this.a=a +this.b=b}, +RF:function RF(){}, +RI:function RI(){}, +JE:function JE(a,b,c,d,e,f,g){var _=this +_.ca=a +_.kK=$ +_.a5=b +_.aV=c +_.di$=d +_.V$=e +_.cj$=f +_.b=_.fx=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +JF:function JF(){}, +JG:function JG(a,b,c,d,e,f){var _=this +_.a5=a +_.aV=b +_.di$=c +_.V$=d +_.cj$=e +_.b=_.fx=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7J:function a7J(a,b,c){this.a=a +this.b=b +this.c=c}, +iG:function iG(){}, +a7N:function a7N(){}, +fP:function fP(a,b,c){var _=this +_.b=null +_.c=!1 +_.rb$=a +_.bG$=b +_.a1$=c +_.a=null}, +lP:function lP(){}, +a7K:function a7K(a,b,c){this.a=a +this.b=b +this.c=c}, +a7M:function a7M(a,b){this.a=a +this.b=b}, +a7L:function a7L(){}, +BZ:function BZ(){}, +QN:function QN(){}, +QO:function QO(){}, +RG:function RG(){}, +RH:function RH(){}, +yA:function yA(){}, +a7G:function a7G(a,b){this.a=a +this.b=b}, +a7F:function a7F(a,b){this.a=a +this.b=b}, +JH:function JH(a,b,c,d){var _=this +_.cw=null +_.dE=a +_.ef=b +_.C$=c +_.b=_.fx=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +QL:function QL(){}, +a7Q(a,b){var s,r,q,p +for(s=t.B,r=a,q=0;r!=null;){p=r.b +p.toString +s.a(p) +if(!p.gmh())q=Math.max(q,A.fV(b.$1(r))) +r=p.a1$}return q}, +asi(a,b,c,d){var s,r,q,p,o,n,m,l,k,j +a.bV(b.Fr(c),!0) +$label0$0:{s=b.w +r=s!=null +if(r)if(s==null)A.bD(s) +if(r){q=s==null?A.bD(s):s +r=q +break $label0$0}p=b.f +r=p!=null +if(r)if(p==null)A.bD(p) +if(r){o=p==null?A.bD(p):p +r=c.a-o-a.gv(0).a +break $label0$0}r=d.hG(t.o.a(c.ad(0,a.gv(0)))).a +break $label0$0}$label1$1:{n=b.e +m=n!=null +if(m)if(n==null)A.bD(n) +if(m){l=n==null?A.bD(n):n +m=l +break $label1$1}k=b.r +m=k!=null +if(m)if(k==null)A.bD(k) +if(m){j=k==null?A.bD(k):k +m=c.b-j-a.gv(0).b +break $label1$1}m=d.hG(t.o.a(c.ad(0,a.gv(0)))).b +break $label1$1}b.a=new A.m(r,m) +return r<0||r+a.gv(0).a>c.a||m<0||m+a.gv(0).b>c.b}, +aE1(a,b,c,d,e){var s,r,q,p,o,n,m,l=a.b +l.toString +t.B.a(l) +s=l.gmh()?l.Fr(b):c +r=a.fb(s,e) +if(r==null)return null +$label0$0:{q=l.e +p=q!=null +if(p)if(q==null)A.bD(q) +if(p){o=q==null?A.bD(q):q +l=o +break $label0$0}n=l.r +l=n!=null +if(l)if(n==null)A.bD(n) +if(l){m=n==null?A.bD(n):n +l=b.b-m-a.az(B.z,s,a.gbF()).b +break $label0$0}l=d.hG(t.o.a(b.ad(0,a.az(B.z,s,a.gbF())))).b +break $label0$0}return r+l}, +Jk:function Jk(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +dP:function dP(a,b,c){var _=this +_.y=_.x=_.w=_.r=_.f=_.e=null +_.bG$=a +_.a1$=b +_.a=c}, +zv:function zv(a,b){this.a=a +this.b=b}, +yB:function yB(a,b,c,d,e,f,g,h,i,j){var _=this +_.E=!1 +_.Z=null +_.a3=a +_.al=b +_.aq=c +_.S=d +_.O=e +_.di$=f +_.V$=g +_.cj$=h +_.fx=i +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=j +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7P:function a7P(a){this.a=a}, +a7O:function a7O(a){this.a=a}, +QP:function QP(){}, +QQ:function QQ(){}, +Lb:function Lb(a,b,c,d,e){var _=this +_.E=a +_.Z=b +_.a3=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +aFr(a){var s,r,q,p,o,n=$.br(),m=n.d +if(m==null){s=self.window.devicePixelRatio +m=s===0?1:s}s=A.atc(a.Q,a.gjJ().ds(0,m)).ac(0,m) +r=s.a +q=s.b +p=s.c +s=s.d +o=n.d +if(o==null){n=self.window.devicePixelRatio +o=n===0?1:n}return new A.A6(new A.aq(r/o,q/o,p/o,s/o),new A.aq(r,q,p,s),o)}, +A6:function A6(a,b,c){this.a=a +this.b=b +this.c=c}, +oj:function oj(){}, +QR:function QR(){}, +aDW(a){var s +for(s=t.NW;a!=null;){if(s.b(a))return a +a=a.d}return null}, +aE4(a,b,c){var s=b.aq.a)return q +else if(a0)return a.agl(0,1e5) +return!0}, +th:function th(a){this.a=a}, +on:function on(a,b){this.a=a +this.b=b}, +a63:function a63(a){this.a=a}, +iX:function iX(){}, +a8F:function a8F(a){this.a=a}, +a8D:function a8D(a){this.a=a}, +a8G:function a8G(a){this.a=a}, +a8H:function a8H(a,b){this.a=a +this.b=b}, +a8I:function a8I(a){this.a=a}, +a8C:function a8C(a){this.a=a}, +a8E:function a8E(a){this.a=a}, +ano(){var s=new A.oM(new A.b1(new A.a8($.ae,t.V),t.h)) +s.MY() +return s}, +rJ:function rJ(a){var _=this +_.a=null +_.b=!1 +_.c=null +_.d=a +_.e=null}, +oM:function oM(a){this.a=a +this.c=this.b=null}, +abB:function abB(a){this.a=a}, +zS:function zS(a){this.a=a}, +Kj:function Kj(){}, +a9n:function a9n(a){this.a=a}, +aq0(a){var s=$.apZ.k(0,a) +if(s==null){s=$.aq_ +$.aq_=s+1 +$.apZ.n(0,a,s) +$.apY.n(0,s,a)}return s}, +aEs(a,b){var s +if(a.length!==b.length)return!1 +for(s=0;s=0 +if(n){p.ak(q,0,o).split("\n") +p.fh(q,o+2) +l.push(new A.wZ())}else l.push(new A.wZ())}return l}, +aEu(a){var s +$label0$0:{if("AppLifecycleState.resumed"===a){s=B.b6 +break $label0$0}if("AppLifecycleState.inactive"===a){s=B.cR +break $label0$0}if("AppLifecycleState.hidden"===a){s=B.ec +break $label0$0}if("AppLifecycleState.paused"===a){s=B.h3 +break $label0$0}if("AppLifecycleState.detached"===a){s=B.ch +break $label0$0}s=null +break $label0$0}return s}, +zd:function zd(){}, +a9D:function a9D(a){this.a=a}, +a9C:function a9C(a){this.a=a}, +ae3:function ae3(){}, +ae4:function ae4(a){this.a=a}, +ae5:function ae5(a){this.a=a}, +arg(a,b,c,d,e){return new A.nJ(c,b,null,e,d)}, +arf(a,b,c,d,e){return new A.qx(d,c,a,e,!1)}, +aCj(a){var s,r,q=a.d,p=B.Hg.k(0,q) +if(p==null)p=new A.k(q) +q=a.e +s=B.Hd.k(0,q) +if(s==null)s=new A.f(q) +r=a.a +switch(a.b.a){case 0:return new A.jI(p,s,a.f,r,a.r) +case 1:return A.arg(B.i1,s,p,a.r,r) +case 2:return A.arf(a.f,B.i1,s,p,r)}}, +qy:function qy(a,b,c){this.c=a +this.a=b +this.b=c}, +ha:function ha(){}, +jI:function jI(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e}, +nJ:function nJ(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e}, +qx:function qx(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e}, +a_A:function a_A(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.e=null}, +Hd:function Hd(a,b){this.a=a +this.b=b}, +wW:function wW(a,b){this.a=a +this.b=b}, +He:function He(a,b,c,d){var _=this +_.a=null +_.b=a +_.c=b +_.d=null +_.e=c +_.f=d}, +Oz:function Oz(){}, +a1G(a){var s=A.o(a).h("hO<1,f>") +return A.ew(new A.hO(a,new A.a1H(),s),s.h("j.E"))}, +a1s:function a1s(){}, +f:function f(a){this.a=a}, +a1H:function a1H(){}, +k:function k(a){this.a=a}, +OA:function OA(){}, +jT(a,b,c,d){return new A.fK(a,c,b,d)}, +a4P(a){return new A.xl(a)}, +hV:function hV(a,b){this.a=a +this.b=b}, +fK:function fK(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +xl:function xl(a){this.a=a}, +aat:function aat(){}, +a1_:function a1_(){}, +a11:function a11(){}, +aaf:function aaf(){}, +aag:function aag(a,b){this.a=a +this.b=b}, +aaj:function aaj(){}, +aFM(a){var s,r,q +for(s=A.o(a),r=new A.bt(J.al(a.a),a.b,s.h("bt<1,2>")),s=s.y[1];r.q();){q=r.a +if(q==null)q=s.a(q) +if(!q.j(0,B.cZ))return q}return null}, +a4Y:function a4Y(a,b){this.a=a +this.b=b}, +qD:function qD(){}, +c9:function c9(){}, +Nd:function Nd(){}, +Pd:function Pd(a,b){this.a=a +this.b=b}, +Pc:function Pc(){}, +S_:function S_(a,b){this.a=a +this.b=b}, +j_:function j_(a){this.a=a}, +P2:function P2(){}, +kQ:function kQ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Vi:function Vi(a,b){this.a=a +this.b=b}, +dy:function dy(a,b){this.a=a +this.b=b}, +a4J:function a4J(a,b){this.a=a +this.b=b}, +hX:function hX(a,b){this.a=a +this.b=b}, +a6p:function a6p(){this.a=0}, +o2:function o2(){}, +arY(a){var s,r,q,p=t.wh.a(a.k(0,"touchOffset")) +if(p==null)s=null +else{s=J.ax(p) +r=s.k(p,0) +r.toString +A.mE(r) +s=s.k(p,1) +s.toString +s=new A.m(r,A.mE(s))}r=a.k(0,"progress") +r.toString +A.mE(r) +q=a.k(0,"swipeEdge") +q.toString +return new A.J2(s,r,B.EE[A.cl(q)])}, +zz:function zz(a,b){this.a=a +this.b=b}, +J2:function J2(a,b,c){this.a=a +this.b=b +this.c=c}, +aDR(a){var s,r,q,p,o={} +o.a=null +s=new A.a6Q(o,a).$0() +r=$.aoW().d +q=A.o(r).h("aZ<1>") +p=A.ew(new A.aZ(r,q),q.h("j.E")).p(0,s.gi4()) +q=J.b5(a,"type") +q.toString +A.by(q) +$label0$0:{if("keydown"===q){r=new A.lN(o.a,p,s) +break $label0$0}if("keyup"===q){r=new A.r1(null,!1,s) +break $label0$0}r=A.ab(A.jx("Unknown key event type: "+q))}return r}, +nK:function nK(a,b){this.a=a +this.b=b}, +fG:function fG(a,b){this.a=a +this.b=b}, +yb:function yb(){}, +k_:function k_(){}, +a6Q:function a6Q(a,b){this.a=a +this.b=b}, +lN:function lN(a,b,c){this.a=a +this.b=b +this.c=c}, +r1:function r1(a,b,c){this.a=a +this.b=b +this.c=c}, +a6T:function a6T(a,b){this.a=a +this.d=b}, +cy:function cy(a,b){this.a=a +this.b=b}, +Qi:function Qi(){}, +Qh:function Qh(){}, +Je:function Je(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +yH:function yH(a,b){var _=this +_.b=_.a=null +_.f=_.d=_.c=!1 +_.r=a +_.S$=0 +_.O$=b +_.ar$=_.af$=0}, +a88:function a88(a){this.a=a}, +a89:function a89(a){this.a=a}, +cV:function cV(a,b,c,d,e,f){var _=this +_.a=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=!1}, +a85:function a85(){}, +a86:function a86(){}, +a84:function a84(){}, +a87:function a87(){}, +aaF(a){var s=0,r=A.z(t.H) +var $async$aaF=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:s=2 +return A.B(B.be.ei(u.p,A.an(["label",a.a,"primaryColor",a.b],t.N,t.z),t.H),$async$aaF) +case 2:return A.x(null,r)}}) +return A.y($async$aaF,r)}, +asR(a){if($.rA!=null){$.rA=a +return}if(a.j(0,$.ani))return +$.rA=a +A.e6(new A.aaG())}, +n8:function n8(a,b){this.a=a +this.b=b}, +V1:function V1(a,b){this.a=a +this.b=b}, +j0:function j0(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +aaG:function aaG(){}, +zC(a){var s=0,r=A.z(t.H) +var $async$zC=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:s=2 +return A.B(B.be.ei("SystemSound.play",a.F(),t.H),$async$zC) +case 2:return A.x(null,r)}}) +return A.y($async$zC,r)}, +KW:function KW(a,b){this.a=a +this.b=b}, +aaU:function aaU(){}, +EP:function EP(a){this.a=a}, +a1A:function a1A(a){this.a=a}, +xM:function xM(a){this.a=a}, +XV:function XV(a){this.a=a}, +zN(a,b,c,d){var s=b?").b(s))return s +else return null}, +azu(a,b,c){var s={} +s.a=null +A.UP(a,new A.UR(s,b,a,c)) +return s.a}, +aq8(a){return new A.FQ(a,new A.bh(A.b([],t.ot),t.wS))}, +ak_:function ak_(a){this.a=a}, +aQ:function aQ(){}, +bp:function bp(){}, +fs:function fs(){}, +kU:function kU(a,b,c){var _=this +_.c=a +_.a=b +_.b=null +_.$ti=c}, +UM:function UM(){}, +jl:function jl(a,b,c){this.d=a +this.e=b +this.a=c}, +UN:function UN(a){this.a=a}, +UQ:function UQ(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +UO:function UO(a,b,c){this.a=a +this.b=b +this.c=c}, +UR:function UR(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Ac:function Ac(a,b){var _=this +_.d=a +_.e=b +_.c=_.a=null}, +act:function act(a){this.a=a}, +Ab:function Ab(a,b,c,d,e){var _=this +_.f=a +_.r=b +_.w=c +_.b=d +_.a=e}, +no:function no(a,b,c,d,e,f,g,h,i,j){var _=this +_.c=a +_.d=b +_.e=c +_.w=d +_.y=e +_.z=f +_.Q=g +_.as=h +_.ax=i +_.a=j}, +AS:function AS(a){var _=this +_.f=_.e=_.d=!1 +_.r=a +_.c=_.a=null}, +af0:function af0(a){this.a=a}, +aeZ:function aeZ(a){this.a=a}, +aeU:function aeU(a){this.a=a}, +aeV:function aeV(a){this.a=a}, +aeT:function aeT(a,b){this.a=a +this.b=b}, +aeY:function aeY(a){this.a=a}, +aeW:function aeW(a){this.a=a}, +aeX:function aeX(a,b){this.a=a +this.b=b}, +af_:function af_(a,b){this.a=a +this.b=b}, +LF:function LF(a){this.a=a +this.b=null}, +FQ:function FQ(a,b){this.c=a +this.a=b +this.b=null}, +ps:function ps(){}, +pE:function pE(){}, +iy:function iy(){}, +FM:function FM(){}, +jY:function jY(){}, +J8:function J8(a){var _=this +_.f=_.e=$ +_.a=a +_.b=null}, +Pr:function Pr(){}, +Bv:function Bv(a,b,c,d,e,f,g,h){var _=this +_.e=a +_.f=b +_.agR$=c +_.agS$=d +_.agT$=e +_.agU$=f +_.a=g +_.b=null +_.$ti=h}, +Av:function Av(a,b,c,d){var _=this +_.c=a +_.d=b +_.a=c +_.b=null +_.$ti=d}, +LU:function LU(){}, +LS:function LS(){}, +Ou:function Ou(){}, +De:function De(){}, +uB:function uB(a,b,c,d){var _=this +_.e=a +_.c=b +_.a=c +_.$ti=d}, +aIG(a,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=null +if(a==null||a.length===0)return B.b.gI(a0) +s=t.N +r=t.da +q=A.fx(b,b,b,s,r) +p=A.fx(b,b,b,s,r) +o=A.fx(b,b,b,s,r) +n=A.fx(b,b,b,s,r) +m=A.fx(b,b,b,t.ob,r) +for(l=0;l<1;++l){k=a0[l] +s=k.a +r=B.b1.k(0,s) +if(r==null)r=s +j=k.c +i=B.bd.k(0,j) +if(i==null)i=j +i=r+"_null_"+A.h(i) +if(q.k(0,i)==null)q.n(0,i,k) +r=B.b1.k(0,s) +r=(r==null?s:r)+"_null" +if(o.k(0,r)==null)o.n(0,r,k) +r=B.b1.k(0,s) +if(r==null)r=s +i=B.bd.k(0,j) +if(i==null)i=j +i=r+"_"+A.h(i) +if(p.k(0,i)==null)p.n(0,i,k) +r=B.b1.k(0,s) +s=r==null?s:r +if(n.k(0,s)==null)n.n(0,s,k) +s=B.bd.k(0,j) +if(s==null)s=j +if(m.k(0,s)==null)m.n(0,s,k)}for(h=b,g=h,f=0;f=0?new A.au(s+o,r.gG(r)):A.ab(A.bB()) +n=o.a +m=null +l=o.b +m=l +k=n +o=m.a +j.push(new A.iI(m,new A.dS(o==null?k:o,p)))}return j}, +SJ:function SJ(a,b,c){var _=this +_.a5=a +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +aj0:function aj0(a,b){this.a=a +this.b=b}, +aj_:function aj_(a){this.a=a}, +SK:function SK(){}, +h5:function h5(a,b,c){this.w=a +this.b=b +this.a=c}, +Ie:function Ie(a,b,c){this.e=a +this.c=b +this.a=c}, +vr:function vr(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +pM:function pM(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +F1:function F1(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +IQ:function IQ(a,b,c,d,e,f,g,h){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.y=f +_.c=g +_.a=h}, +IR:function IR(a,b,c,d,e,f,g){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.c=f +_.a=g}, +Lk:function Lk(a,b,c,d,e,f){var _=this +_.e=a +_.r=b +_.w=c +_.x=d +_.c=e +_.a=f}, +Gm:function Gm(a,b,c){this.e=a +this.c=b +this.a=c}, +Gy:function Gy(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +cf:function cf(a,b,c){this.e=a +this.c=b +this.a=c}, +fl:function fl(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +kY:function kY(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +l4:function l4(a,b,c){this.e=a +this.c=b +this.a=c}, +wY:function wY(a,b,c){this.f=a +this.b=b +this.a=c}, +vq:function vq(a,b,c){this.e=a +this.c=b +this.a=c}, +m0:function m0(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +h2:function h2(a,b,c){this.e=a +this.c=b +this.a=c}, +Hp:function Hp(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +xF:function xF(a,b,c){this.e=a +this.c=b +this.a=c}, +Pl:function Pl(a,b){var _=this +_.c=_.b=_.a=_.CW=_.ay=_.p1=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +px:function px(a,b,c){this.e=a +this.c=b +this.a=c}, +H5:function H5(a,b,c){this.e=a +this.c=b +this.a=c}, +KG:function KG(a,b,c){this.e=a +this.c=b +this.a=c}, +Hq:function Hq(a,b){this.c=a +this.a=b}, +zu:function zu(a,b,c,d){var _=this +_.e=a +_.r=b +_.c=c +_.a=d}, +lL:function lL(a,b,c,d,e,f,g,h){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.y=e +_.z=f +_.b=g +_.a=h}, +J1:function J1(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.f=c +_.r=d +_.x=e +_.a=f}, +wg:function wg(){}, +yM:function yM(a,b,c,d,e,f,g,h,i){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.y=f +_.z=g +_.c=h +_.a=i}, +Fa:function Fa(a,b,c,d,e,f,g,h,i){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.y=f +_.z=g +_.c=h +_.a=i}, +Gp:function Gp(){}, +w7:function w7(a,b,c,d){var _=this +_.f=a +_.r=b +_.b=c +_.a=d}, +LM:function LM(a,b){this.c=a +this.a=b}, +JM:function JM(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.y=f +_.z=g +_.Q=h +_.as=i +_.at=j +_.ax=k +_.ay=l +_.ch=m +_.c=n +_.a=o}, +Jd:function Jd(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var _=this +_.d=a +_.e=b +_.f=c +_.r=d +_.w=e +_.x=f +_.y=g +_.z=h +_.Q=i +_.as=j +_.at=k +_.ax=l +_.ay=m +_.ch=n +_.CW=o +_.cx=p +_.a=q}, +Hu:function Hu(a,b,c,d,e,f,g,h){var _=this +_.e=a +_.r=b +_.x=c +_.y=d +_.as=e +_.at=f +_.c=g +_.a=h}, +xn:function xn(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.c=e +_.a=f}, +i0:function i0(a,b){this.c=a +this.a=b}, +qi:function qi(a,b,c){this.e=a +this.c=b +this.a=c}, +E0:function E0(a,b,c){this.e=a +this.c=b +this.a=c}, +zb:function zb(a,b,c,d,e,f,g){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.c=f +_.a=g}, +xk:function xk(a,b){this.c=a +this.a=b}, +Es:function Es(a,b){this.c=a +this.a=b}, +w4:function w4(a,b,c){this.e=a +this.c=b +this.a=c}, +wH:function wH(a,b,c){this.e=a +this.c=b +this.a=c}, +iI:function iI(a,b){this.c=a +this.a=b}, +fp:function fp(a,b){this.c=a +this.a=b}, +ve:function ve(a,b,c){this.e=a +this.c=b +this.a=c}, +BM:function BM(a,b,c,d,e){var _=this +_.ca=a +_.B=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ath(){var s=null,r=A.b([],t.GA),q=$.ae,p=$.aM(),o=A.b([],t.Jh),n=A.bc(7,s,!1,t.JI),m=t.S,l=t.j1 +m=new A.LK(s,s,$,r,s,!0,new A.b1(new A.a8(q,t.V),t.h),!1,s,!1,$,s,$,$,$,A.E(t.K,t.Ju),!1,0,!1,$,0,s,$,$,new A.RZ(A.ay(t.M)),$,$,$,new A.eL(s,p),$,s,A.ay(t.Jx),o,s,A.aIK(),new A.GK(A.aIJ(),n,t.G7),!1,0,A.E(m,t.h1),A.cC(m),A.b([],l),A.b([],l),s,!1,B.cF,!0,!1,s,B.q,B.q,s,0,s,!1,s,s,0,A.lw(s,t.qL),new A.a6x(A.E(m,t.rr),A.E(t.Ld,t.iD)),new A.a_a(A.E(m,t.cK)),new A.a6A(),A.E(m,t.Fn),$,!1,B.BE) +m.eF() +m.XX() +return m}, +ajm:function ajm(a){this.a=a}, +ajn:function ajn(a){this.a=a}, +e4:function e4(){}, +LJ:function LJ(){}, +ajl:function ajl(a,b){this.a=a +this.b=b}, +acm:function acm(a,b){this.a=a +this.b=b}, +yL:function yL(a,b,c){this.b=a +this.c=b +this.a=c}, +a8c:function a8c(a,b,c){this.a=a +this.b=b +this.c=c}, +a8d:function a8d(a){this.a=a}, +yJ:function yJ(a,b){var _=this +_.c=_.b=_.a=_.ch=_.ay=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +LK:function LK(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0,e1,e2,e3,e4,e5){var _=this +_.dV$=a +_.ag$=b +_.hi$=c +_.cd$=d +_.dW$=e +_.hT$=f +_.iB$=g +_.m8$=h +_.cw$=i +_.dE$=j +_.ch$=k +_.CW$=l +_.cx$=m +_.cy$=n +_.db$=o +_.dx$=p +_.dy$=q +_.fr$=r +_.fx$=s +_.PS$=a0 +_.DI$=a1 +_.wA$=a2 +_.wB$=a3 +_.o1$=a4 +_.DJ$=a5 +_.r8$=a6 +_.wy$=a7 +_.r9$=a8 +_.wz$=a9 +_.m5$=b0 +_.agQ$=b1 +_.abi$=b2 +_.fy$=b3 +_.go$=b4 +_.id$=b5 +_.k1$=b6 +_.k2$=b7 +_.k3$=b8 +_.k4$=b9 +_.ok$=c0 +_.p1$=c1 +_.p2$=c2 +_.p3$=c3 +_.p4$=c4 +_.R8$=c5 +_.RG$=c6 +_.rx$=c7 +_.ry$=c8 +_.to$=c9 +_.x1$=d0 +_.x2$=d1 +_.xr$=d2 +_.y1$=d3 +_.y2$=d4 +_.aY$=d5 +_.by$=d6 +_.a5$=d7 +_.aV$=d8 +_.bw$=d9 +_.bn$=e0 +_.E$=e1 +_.Z$=e2 +_.a3$=e3 +_.al$=e4 +_.aq$=e5 +_.c=0}, +C1:function C1(){}, +CX:function CX(){}, +CY:function CY(){}, +CZ:function CZ(){}, +D_:function D_(){}, +D0:function D0(){}, +D1:function D1(){}, +D2:function D2(){}, +alU(a,b,c){return new A.Ft(b,c,a,null)}, +d6(a,b,c,d,e,f,g,h,i){var s +if(i!=null||f!=null){s=d==null?null:d.y8(f,i) +if(s==null)s=A.eo(f,i)}else s=d +return new A.Ff(b,a,h,c,e,s,g,null)}, +Ft:function Ft(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +Ff:function Ff(a,b,c,d,e,f,g,h){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.x=f +_.y=g +_.a=h}, +Xr(a,b,c,d,e){return new A.l6(b,e,d,a,c)}, +aAA(a,b){var s=null +return new A.fp(new A.Xs(s,s,s,b,a),s)}, +l6:function l6(a,b,c,d,e){var _=this +_.w=a +_.x=b +_.y=c +_.b=d +_.a=e}, +Xs:function Xs(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +Pg:function Pg(a){this.a=a}, +aAB(){switch(A.el().a){case 0:var s=$.aoN() +break +case 1:s=$.awa() +break +case 2:s=$.awb() +break +case 3:s=$.awc() +break +case 4:s=$.aoP() +break +case 5:s=$.awe() +break +default:s=null}return s}, +FC:function FC(a,b){this.c=a +this.a=b}, +hJ:function hJ(a,b){this.a=a +this.b=b}, +vE:function vE(a,b,c,d,e,f){var _=this +_.c=a +_.w=b +_.x=c +_.y=d +_.ax=e +_.a=f}, +AM:function AM(a,b){this.a=a +this.b=b}, +Az:function Az(a,b,c,d){var _=this +_.e=_.d=$ +_.r=_.f=null +_.w=0 +_.y=_.x=!1 +_.z=null +_.Q=!1 +_.as=a +_.fC$=b +_.cE$=c +_.aX$=d +_.c=_.a=null}, +aem:function aem(a){this.a=a}, +aen:function aen(a){this.a=a}, +D9:function D9(){}, +Da:function Da(){}, +aAN(a){var s=a.cx,r=A.a_(s) +return new A.dZ(new A.aF(s,new A.XT(),r.h("aF<1>")),new A.XU(),r.h("dZ<1,D>"))}, +aAO(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g=t.AO,f=A.b([a],g) +for(s=A.dr(b,b.r,A.o(b).c),r=s.$ti.c;s.q();f=p){q=s.d +if(q==null)q=r.a(q) +p=A.b([],g) +for(o=f.length,n=q.a,m=q.b,l=q.d,q=q.c,k=0;k=m&&j.d<=l){h=j.a +if(hq)p.push(new A.D(q,i,q+(h-q),i+(j.d-i)))}else{h=j.a +if(h>=n&&j.c<=q){if(il)p.push(new A.D(h,l,h+(j.c-h),l+(i-l)))}else p.push(j)}}}return f}, +XT:function XT(){}, +XU:function XU(){}, +FP:function FP(a){this.a=a}, +pX:function pX(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +AH:function AH(a,b){var _=this +_.d=$ +_.e=a +_.f=b +_.c=_.a=null}, +aob(a){var s,r,q +for(s=a.length,r=!1,q=0;q>"),n=new A.aw(a,new A.ahp(),o) +for(s=new A.bR(n,n.gu(0),o.h("bR")),o=o.h("aD.E"),r=null;s.q();){q=s.d +p=q==null?o.a(q):q +r=(r==null?p:r).jy(0,p)}if(r.gM(r))return B.b.gI(a).a +return B.b.abv(B.b.gI(a).gPp(),r.gjl(r)).w}, +atH(a,b){A.kF(a,new A.ahr(b),t.zP)}, +aG5(a,b){A.kF(a,new A.aho(b),t.h7)}, +a76(){return new A.a75(A.E(t.l5,t.UJ),A.aJC())}, +amf(a,b){return new A.wm(b==null?A.a76():b,a,null)}, +ZJ(a){var s +for(;s=a.Q,s!=null;a=s){if(a.e==null)return null +if(a instanceof A.AR)return a}return null}, +q9(a){var s,r=A.ami(a,!1,!0) +if(r==null)return null +s=A.ZJ(r) +return s==null?null:s.fr}, +ajX:function ajX(a){this.a=a}, +tf:function tf(a,b){this.b=a +this.c=b}, +m8:function m8(a,b){this.a=a +this.b=b}, +Lp:function Lp(a,b){this.a=a +this.b=b}, +Gt:function Gt(){}, +ZK:function ZK(){}, +ZM:function ZM(a,b){this.a=a +this.b=b}, +ZL:function ZL(a){this.a=a}, +t9:function t9(a,b){this.a=a +this.b=b}, +Nh:function Nh(a){this.a=a}, +XC:function XC(){}, +ahs:function ahs(a){this.a=a}, +XK:function XK(a){this.a=a}, +XH:function XH(a){this.a=a}, +XG:function XG(a){this.a=a}, +XI:function XI(a){this.a=a}, +XJ:function XJ(a){this.a=a}, +XE:function XE(){}, +XF:function XF(){}, +XD:function XD(a,b,c){this.a=a +this.b=b +this.c=c}, +XL:function XL(a){this.a=a}, +XM:function XM(a){this.a=a}, +XN:function XN(a){this.a=a}, +XO:function XO(a){this.a=a}, +de:function de(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +ahp:function ahp(){}, +ahr:function ahr(a){this.a=a}, +ahq:function ahq(){}, +j9:function j9(a){this.a=a +this.b=null}, +ahn:function ahn(){}, +aho:function aho(a){this.a=a}, +a75:function a75(a,b){this.ra$=a +this.a=b}, +a77:function a77(){}, +a78:function a78(){}, +a79:function a79(a){this.a=a}, +wm:function wm(a,b,c){this.c=a +this.f=b +this.a=c}, +AR:function AR(a,b,c,d,e,f,g,h,i){var _=this +_.fr=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=null +_.f=f +_.r=g +_.Q=_.y=_.x=_.w=null +_.as=h +_.ay=_.ax=null +_.ch=!1 +_.S$=0 +_.O$=i +_.ar$=_.af$=0}, +O_:function O_(){this.d=$ +this.c=this.a=null}, +JL:function JL(a){this.a=a +this.b=null}, +nZ:function nZ(){}, +I5:function I5(a){this.a=a +this.b=null}, +oe:function oe(){}, +J4:function J4(a){this.a=a +this.b=null}, +FK:function FK(a){this.a=a +this.b=null}, +O0:function O0(){}, +Ql:function Ql(){}, +Tm:function Tm(){}, +Tn:function Tn(){}, +aFR(a){a.cQ() +a.bo(A.akD())}, +aBe(a,b){var s,r,q,p=a.d +p===$&&A.a() +s=b.d +s===$&&A.a() +r=p-s +if(r!==0)return r +q=b.as +if(a.as!==q)return q?-1:1 +return 0}, +aBf(a,b){var s=A.a_(b).h("aw<1,d_>") +return A.aAD(!0,A.a7(new A.aw(b,new A.Yt(),s),!0,s.h("aD.E")),a,B.F3,!0,B.Bl,null)}, +aBd(a){a.bI() +a.bo(A.avu())}, +Z4(a){var s=a.a,r=s instanceof A.nl?s:null +return new A.Gg("",r,new A.rN())}, +aCc(a){return new A.f4(A.fx(null,null,null,t.Y,t.X),a,B.a1)}, +aCW(a){return new A.fH(A.cC(t.Y),a,B.a1)}, +akh(a,b,c,d){var s=new A.bF(b,c,"widgets library",a,d,!1) +A.dk(s) +return s}, +f1:function f1(){}, +bv:function bv(a,b){this.a=a +this.$ti=b}, +nu:function nu(a,b){this.a=a +this.$ti=b}, +i:function i(){}, +aV:function aV(){}, +a3:function a3(){}, +ag:function ag(){}, +aL:function aL(){}, +dM:function dM(){}, +aY:function aY(){}, +as:function as(){}, +Hm:function Hm(){}, +b_:function b_(){}, +ec:function ec(){}, +td:function td(a,b){this.a=a +this.b=b}, +Oo:function Oo(a){this.b=a}, +afO:function afO(a){this.a=a}, +VD:function VD(a,b){var _=this +_.b=_.a=!1 +_.c=a +_.d=null +_.e=b}, +VE:function VE(a){this.a=a}, +VC:function VC(a,b,c){var _=this +_.a=null +_.b=a +_.c=!1 +_.d=b +_.x=c}, +xB:function xB(){}, +agH:function agH(a,b){this.a=a +this.b=b}, +b2:function b2(){}, +Yw:function Yw(a){this.a=a}, +Yu:function Yu(a){this.a=a}, +Yt:function Yt(){}, +Yx:function Yx(a){this.a=a}, +Yy:function Yy(a){this.a=a}, +Yz:function Yz(a){this.a=a}, +Yr:function Yr(a){this.a=a}, +Yq:function Yq(){}, +Yv:function Yv(){}, +Ys:function Ys(a){this.a=a}, +Gg:function Gg(a,b,c){this.d=a +this.e=b +this.a=c}, +vf:function vf(){}, +WT:function WT(){}, +WU:function WU(){}, +KO:function KO(a,b){var _=this +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +hp:function hp(a,b,c){var _=this +_.ok=a +_.p1=!1 +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +y9:function y9(){}, +lG:function lG(a,b,c){var _=this +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1 +_.$ti=c}, +a5Z:function a5Z(a){this.a=a}, +f4:function f4(a,b,c){var _=this +_.a5=a +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +bx:function bx(){}, +a8b:function a8b(){}, +Hl:function Hl(a,b){var _=this +_.c=_.b=_.a=_.CW=_.ay=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +zi:function zi(a,b){var _=this +_.c=_.b=_.a=_.CW=_.ay=_.p1=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +fH:function fH(a,b,c){var _=this +_.p1=$ +_.p2=a +_.c=_.b=_.a=_.CW=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +a55:function a55(a){this.a=a}, +JK:function JK(){}, +qr:function qr(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Pe:function Pe(a,b){var _=this +_.c=_.b=_.a=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +Ph:function Ph(a){this.a=a}, +RP:function RP(){}, +qg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){return new A.GC(b,a1,a2,s,a0,o,q,r,p,f,l,a4,a5,a3,h,j,k,i,g,n,m,a,d,c,e)}, +nt:function nt(){}, +cT:function cT(a,b,c){this.a=a +this.b=b +this.$ti=c}, +GC:function GC(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.ay=j +_.cy=k +_.rx=l +_.ry=m +_.to=n +_.x2=o +_.xr=p +_.y1=q +_.y2=r +_.aY=s +_.aV=a0 +_.bw=a1 +_.af=a2 +_.ar=a3 +_.bX=a4 +_.a=a5}, +a_h:function a_h(a){this.a=a}, +a_i:function a_i(a,b){this.a=a +this.b=b}, +a_j:function a_j(a){this.a=a}, +a_l:function a_l(a,b){this.a=a +this.b=b}, +a_m:function a_m(a){this.a=a}, +a_n:function a_n(a,b){this.a=a +this.b=b}, +a_o:function a_o(a){this.a=a}, +a_p:function a_p(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a_q:function a_q(a){this.a=a}, +a_r:function a_r(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a_s:function a_s(a){this.a=a}, +a_k:function a_k(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +lM:function lM(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +r0:function r0(a){var _=this +_.d=a +_.c=_.a=_.e=null}, +O6:function O6(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +a9m:function a9m(){}, +ae8:function ae8(a){this.a=a}, +aed:function aed(a){this.a=a}, +aec:function aec(a){this.a=a}, +ae9:function ae9(a){this.a=a}, +aea:function aea(a){this.a=a}, +aeb:function aeb(a,b){this.a=a +this.b=b}, +aee:function aee(a){this.a=a}, +aef:function aef(a){this.a=a}, +aeg:function aeg(a,b){this.a=a +this.b=b}, +aqU(a,b,c){return new A.nw(b,a,c,null)}, +aqV(a,b,c){var s=A.E(t.K,t.U3) +a.bo(new A.a_L(c,new A.a_K(b,s))) +return s}, +atx(a,b){var s,r=a.gU() +r.toString +t.x.a(r) +s=r.aW(0,b==null?null:b.gU()) +r=r.gv(0) +return A.e_(s,new A.D(0,0,0+r.a,0+r.b))}, +qh:function qh(a,b){this.a=a +this.b=b}, +nw:function nw(a,b,c,d){var _=this +_.c=a +_.e=b +_.w=c +_.a=d}, +a_K:function a_K(a,b){this.a=a +this.b=b}, +a_L:function a_L(a,b){this.a=a +this.b=b}, +tm:function tm(a){var _=this +_.d=a +_.e=null +_.f=!0 +_.c=_.a=null}, +aft:function aft(a,b){this.a=a +this.b=b}, +afs:function afs(){}, +afp:function afp(a,b,c,d,e,f,g,h,i,j,k){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=null +_.ax=_.at=_.as=$}, +kl:function kl(a,b){var _=this +_.a=a +_.b=$ +_.c=null +_.d=b +_.e=$ +_.r=_.f=null +_.x=_.w=!1}, +afq:function afq(a){this.a=a}, +afr:function afr(a,b){this.a=a +this.b=b}, +wv:function wv(a,b){this.a=a +this.b=b}, +a_J:function a_J(){}, +a_I:function a_I(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a_H:function a_H(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +aqY(a,b,c){return new A.nA(a,null,b,c,null)}, +nA:function nA(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.x=c +_.z=d +_.a=e}, +hQ:function hQ(a,b){this.a=a +this.d=b}, +a0d(a,b,c){return new A.nC(b,a,c)}, +wC(a,b){return new A.fp(new A.a0e(null,b,a),null)}, +ar0(a){var s,r,q,p,o,n,m=A.ar_(a).X(0,a),l=m.a,k=l==null +if(!k&&m.b!=null&&m.c!=null&&m.d!=null&&m.e!=null&&m.f!=null&&m.gdk(0)!=null&&m.x!=null)l=m +else{if(k)l=24 +k=m.b +if(k==null)k=0 +s=m.c +if(s==null)s=400 +r=m.d +if(r==null)r=0 +q=m.e +if(q==null)q=48 +p=m.f +if(p==null)p=B.o +o=m.gdk(0) +if(o==null)o=B.lx.gdk(0) +n=m.w +if(n==null)n=null +l=m.qH(m.x===!0,p,k,r,o,q,n,l,s)}return l}, +ar_(a){var s=a.a7(t.Oh),r=s==null?null:s.w +return r==null?B.lx:r}, +nC:function nC(a,b,c){this.w=a +this.b=b +this.a=c}, +a0e:function a0e(a,b,c){this.a=a +this.b=b +this.c=c}, +jC(a,b,c){var s,r,q,p,o,n,m,l,k,j,i=null +if(a==b&&a!=null)return a +s=a==null +r=s?i:a.a +q=b==null +r=A.V(r,q?i:b.a,c) +p=s?i:a.b +p=A.V(p,q?i:b.b,c) +o=s?i:a.c +o=A.V(o,q?i:b.c,c) +n=s?i:a.d +n=A.V(n,q?i:b.d,c) +m=s?i:a.e +m=A.V(m,q?i:b.e,c) +l=s?i:a.f +l=A.q(l,q?i:b.f,c) +k=s?i:a.gdk(0) +k=A.V(k,q?i:b.gdk(0),c) +j=s?i:a.w +j=A.asw(j,q?i:b.w,c) +if(c<0.5)s=s?i:a.x +else s=q?i:b.x +return new A.cD(r,p,o,n,m,l,k,j,s)}, +cD:function cD(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Ol:function Ol(){}, +aoe(a,b){var s,r +a.a7(t.l4) +s=$.Uz() +r=A.d9(a,B.ea) +r=r==null?null:r.b +if(r==null)r=1 +return new A.qn(s,r,A.amE(a),A.dX(a),b,A.el())}, +qk(a,b,c,d){var s=null +return new A.qj(A.asl(s,s,new A.uH(a,s,s)),d,c,b,s)}, +qj:function qj(a,b,c,d,e){var _=this +_.c=a +_.r=b +_.w=c +_.as=d +_.a=e}, +AZ:function AZ(){var _=this +_.f=_.e=_.d=null +_.r=!1 +_.w=$ +_.x=null +_.y=!1 +_.z=$ +_.c=_.a=_.ax=_.at=_.as=_.Q=null}, +afK:function afK(a,b,c){this.a=a +this.b=b +this.c=c}, +afL:function afL(a){this.a=a}, +afM:function afM(a){this.a=a}, +afN:function afN(a){this.a=a}, +Tb:function Tb(){}, +apw(a,b,c){return new A.ut(a,c,B.a4,b,null,null)}, +Fw:function Fw(a,b){this.a=a +this.b=b}, +vR:function vR(a,b){this.a=a +this.b=b}, +mU:function mU(a,b){this.a=a +this.b=b}, +oK:function oK(a,b){this.a=a +this.b=b}, +H1:function H1(){}, +qq:function qq(){}, +a0M:function a0M(a){this.a=a}, +a0L:function a0L(a){this.a=a}, +a0K:function a0K(a,b){this.a=a +this.b=b}, +pu:function pu(){}, +UT:function UT(){}, +ut:function ut(a,b,c,d,e,f){var _=this +_.r=a +_.w=b +_.c=c +_.d=d +_.e=e +_.a=f}, +LX:function LX(a,b){var _=this +_.CW=null +_.e=_.d=$ +_.jn$=a +_.dU$=b +_.c=_.a=null}, +acw:function acw(){}, +uv:function uv(a,b,c,d,e,f,g,h,i,j){var _=this +_.r=a +_.x=b +_.z=c +_.Q=d +_.as=e +_.at=f +_.c=g +_.d=h +_.e=i +_.a=j}, +LY:function LY(a,b){var _=this +_.db=_.cy=_.cx=_.CW=null +_.e=_.d=$ +_.jn$=a +_.dU$=b +_.c=_.a=null}, +acx:function acx(){}, +acy:function acy(){}, +acz:function acz(){}, +acA:function acA(){}, +tp:function tp(){}, +aCd(a,b,c,d){var s,r=a.jS(d) +if(r==null)return +c.push(r) +s=r.e +s.toString +d.a(s) +return}, +bY(a,b,c){var s,r,q,p,o,n +if(b==null)return a.a7(c) +s=A.b([],t.Fa) +A.aCd(a,b,s,c) +if(s.length===0)return null +r=B.b.gT(s) +for(q=s.length,p=0;p>")),i).b_(0,new A.ake(k,h),t.e3)}, +amE(a){var s=a.a7(t.Gk) +return s==null?null:s.r.f}, +nP(a,b,c){var s=a.a7(t.Gk) +return s==null?null:c.h("0?").a(J.b5(s.r.e,b))}, +tD:function tD(a,b){this.a=a +this.b=b}, +akc:function akc(a){this.a=a}, +akd:function akd(){}, +ake:function ake(a,b){this.a=a +this.b=b}, +f7:function f7(){}, +SV:function SV(){}, +FE:function FE(){}, +B8:function B8(a,b,c,d){var _=this +_.r=a +_.w=b +_.b=c +_.a=d}, +x4:function x4(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +OK:function OK(a,b){var _=this +_.d=a +_.e=b +_.c=_.a=_.f=null}, +agd:function agd(a){this.a=a}, +age:function age(a,b){this.a=a +this.b=b}, +agc:function agc(a,b,c){this.a=a +this.b=b +this.c=c}, +aCA(a,b){var s,r +a.a7(t.bS) +s=A.aCC(a,b) +if(s==null)return null +a.z3(s,null) +r=s.e +r.toString +return b.a(r)}, +aCC(a,b){var s,r,q,p=a.jS(b) +if(p==null)return null +s=a.jS(t.bS) +if(s!=null){r=s.d +r===$&&A.a() +q=p.d +q===$&&A.a() +q=r>q +r=q}else r=!1 +if(r)return null +return p}, +aCB(a,b){var s={} +s.a=null +a.mz(new A.a1K(s,b)) +s=s.a +if(s==null)s=null +else{s=s.ok +s.toString}return b.h("0?").a(s)}, +amF(a,b){var s={} +s.a=null +a.mz(new A.a1J(s,b)) +s=s.a +s=s==null?null:s.gU() +return b.h("0?").a(s)}, +a1K:function a1K(a,b){this.a=a +this.b=b}, +a1J:function a1J(a,b){this.a=a +this.b=b}, +xh(a,b){return new A.iL(b,a,null)}, +arv(a,b,c,d,e,f){return new A.iL(A.bY(b,null,t.w).w.S7(c,!0,!0,f),a,null)}, +aCN(a,b){return new A.fp(new A.a4q(0,b,a),null)}, +d9(a,b){var s=A.bY(a,b,t.w) +return s==null?null:s.w}, +Ih:function Ih(a,b){this.a=a +this.b=b}, +dT:function dT(a,b){this.a=a +this.b=b}, +xi:function xi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var _=this +_.a=a +_.b=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.as=l +_.at=m +_.ax=n +_.ay=o +_.ch=p +_.CW=q +_.cx=r +_.cy=s}, +iL:function iL(a,b,c){this.w=a +this.b=b +this.a=c}, +a4q:function a4q(a,b,c){this.a=a +this.b=b +this.c=c}, +a4p:function a4p(a,b){this.a=a +this.b=b}, +I3:function I3(a,b){this.a=a +this.b=b}, +Bg:function Bg(a,b,c){this.c=a +this.e=b +this.a=c}, +OR:function OR(){var _=this +_.c=_.a=_.e=_.d=null}, +agx:function agx(a,b){this.a=a +this.b=b}, +Te:function Te(){}, +arx(a,b,c,d,e,f,g){return new A.HR(c,d,e,!0,f,b,g,null)}, +HR:function HR(a,b,c,d,e,f,g,h){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.a=h}, +a4T:function a4T(a,b){this.a=a +this.b=b}, +t_:function t_(a,b,c,d,e,f,g,h,i){var _=this +_.a5=null +_.k3=_.k2=!1 +_.ok=_.k4=null +_.at=a +_.ay=b +_.ch=c +_.cx=_.CW=null +_.cy=!1 +_.db=null +_.f=d +_.r=e +_.w=null +_.a=f +_.b=null +_.c=g +_.d=h +_.e=i}, +M3:function M3(a){this.a=a}, +P0:function P0(a,b,c){this.c=a +this.d=b +this.a=c}, +I4:function I4(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f}, +CJ:function CJ(a,b){this.a=a +this.b=b}, +aiX:function aiX(a,b,c){var _=this +_.d=a +_.e=b +_.f=c +_.b=null}, +arG(a,b){var s=A.iO(a,!1),r=A.anK(b,B.jV,!1,null),q=s.e +J.ayZ(q.R1(0,A.im()),null,!0) +q.a.push(r) +q.ae() +s.uE() +s.zz() +return b.d.a}, +arF(a){return A.iO(a,!1).ae7(null)}, +iO(a,b){var s,r +if(a instanceof A.hp){s=a.ok +s.toString +s=s instanceof A.iN}else s=!1 +if(s){s=a.ok +s.toString +t.uK.a(s) +r=s}else r=null +if(r==null)r=a.rj(t.uK) +r.toString +return r}, +aD7(a,b){var s,r,q,p,o,n,m=null,l=A.b([],t.ny) +if(B.d.bW(b,"/")&&b.length>1){b=B.d.fh(b,1) +s=t.z +l.push(a.vo("/",!0,m,s)) +r=b.split("/") +if(b.length!==0)for(q=r.length,p="",o=0;o=3}, +aGd(a){return a.gagd()}, +atJ(a){return new A.ahQ(a)}, +arE(a,b){var s,r,q,p +for(s=a.a,r=s.f,q=r.length,p=0;p") +n.w!==$&&A.bz() +n.w=new A.b0(m,p,q) +n.y!==$&&A.bz() +n.y=new A.b0(m,o,q) +q=c.wh(n.ga7m()) +n.z!==$&&A.bz() +n.z=q +return n}, +ws:function ws(a,b,c,d){var _=this +_.e=a +_.f=b +_.w=c +_.a=d}, +AX:function AX(a,b,c){var _=this +_.r=_.f=_.e=_.d=null +_.w=a +_.cE$=b +_.aX$=c +_.c=_.a=null}, +tk:function tk(a,b){this.a=a +this.b=b}, +AW:function AW(a,b,c,d,e,f){var _=this +_.a=a +_.b=$ +_.c=null +_.e=_.d=0 +_.f=$ +_.r=b +_.w=$ +_.x=c +_.z=_.y=$ +_.Q=null +_.at=_.as=0.5 +_.ax=0 +_.ay=d +_.ch=e +_.S$=0 +_.O$=f +_.ar$=_.af$=0}, +afn:function afn(a){this.a=a}, +O7:function O7(a,b,c,d){var _=this +_.b=a +_.c=b +_.d=c +_.a=d}, +RS:function RS(a,b){this.a=a +this.b=b}, +zy:function zy(a,b,c,d){var _=this +_.c=a +_.e=b +_.f=c +_.a=d}, +Cz:function Cz(a,b){var _=this +_.d=$ +_.f=_.e=null +_.r=0 +_.w=!0 +_.cE$=a +_.aX$=b +_.c=_.a=null}, +aix:function aix(a,b,c){this.a=a +this.b=b +this.c=c}, +tT:function tT(a,b){this.a=a +this.b=b}, +Cy:function Cy(a,b,c,d){var _=this +_.c=_.b=_.a=$ +_.d=a +_.e=b +_.f=0 +_.r=c +_.S$=0 +_.O$=d +_.ar$=_.af$=0}, +xI:function xI(a,b){this.a=a +this.ee$=b}, +Bw:function Bw(){}, +Dc:function Dc(){}, +Di:function Di(){}, +arO(a,b){var s=a.e +s.toString +return!(s instanceof A.qP)}, +a5T(a){var s=a.PZ(t.Mf) +return s==null?null:s.d}, +Cw:function Cw(a){this.a=a}, +Il:function Il(){this.a=null}, +a5S:function a5S(a){this.a=a}, +qP:function qP(a,b,c){this.c=a +this.d=b +this.a=c}, +arN(a,b){return new A.Ij(a,b,null,null,A.b([],t.ZP),$.aM())}, +Ij:function Ij(a,b,c,d,e,f){var _=this +_.as=a +_.ax=b +_.c=c +_.d=d +_.f=e +_.S$=0 +_.O$=f +_.ar$=_.af$=0}, +Ik:function Ik(a,b,c,d,e,f,g){var _=this +_.r=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g}, +mt:function mt(a,b,c,d,e,f,g,h,i){var _=this +_.S=a +_.O=null +_.af=b +_.k3=0 +_.k4=c +_.ok=null +_.r=d +_.w=e +_.x=f +_.y=g +_.Q=_.z=null +_.as=0 +_.ax=_.at=null +_.ay=!1 +_.ch=!0 +_.CW=!1 +_.cx=null +_.cy=!1 +_.dx=_.db=null +_.dy=h +_.fr=null +_.S$=0 +_.O$=i +_.ar$=_.af$=0}, +AT:function AT(a,b){this.b=a +this.a=b}, +qO:function qO(a){this.a=a}, +xK:function xK(a,b,c,d,e,f){var _=this +_.r=a +_.w=b +_.z=c +_.Q=d +_.as=e +_.a=f}, +Pt:function Pt(){var _=this +_.d=0 +_.e=$ +_.c=_.a=null}, +agS:function agS(a){this.a=a}, +agT:function agT(a,b){this.a=a +this.b=b}, +xJ:function xJ(){}, +a4r:function a4r(){}, +a6i:function a6i(){}, +FB:function FB(a,b){this.a=a +this.d=b}, +aHx(a){$.bC.p2$.push(new A.ajS(a))}, +GO:function GO(a,b){this.c=a +this.a=b}, +y2:function y2(a,b){this.a=a +this.c=b}, +y3:function y3(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +BB:function BB(){var _=this +_.e=_.d=null +_.f=!1 +_.c=_.a=_.w=_.r=null}, +agZ:function agZ(a){this.a=a}, +agY:function agY(a){this.a=a}, +qR:function qR(a,b,c,d){var _=this +_.d=a +_.e=b +_.f=c +_.a=d}, +PA:function PA(a,b,c,d,e){var _=this +_.ca=a +_.B=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ah_:function ah_(a){this.a=a}, +Pz:function Pz(a,b,c){this.e=a +this.c=b +this.a=c}, +ajS:function ajS(a){this.a=a}, +arZ(a){return new A.qW(null,null,B.Ko,a,null)}, +as_(a,b){var s,r=a.PZ(t.bb) +if(r==null)return!1 +s=A.yV(a).hv(a) +if(r.w.p(0,s))return r.r===b +return!1}, +J6(a){var s=a.a7(t.bb) +return s==null?null:s.f}, +qW:function qW(a,b,c,d,e){var _=this +_.f=a +_.r=b +_.w=c +_.b=d +_.a=e}, +r8(a){var s=a.a7(t.lQ) +return s==null?null:s.f}, +abY(a,b){return new A.A2(a,b,null)}, +lR:function lR(a,b,c){this.c=a +this.d=b +this.a=c}, +QX:function QX(a,b,c,d,e){var _=this +_.bC$=a +_.hd$=b +_.wx$=c +_.eD$=d +_.he$=e +_.c=_.a=null}, +A2:function A2(a,b,c){this.f=a +this.b=b +this.a=c}, +yK:function yK(a,b,c){this.c=a +this.d=b +this.a=c}, +C2:function C2(){var _=this +_.d=null +_.e=!1 +_.r=_.f=null +_.w=!1 +_.c=_.a=null}, +ahG:function ahG(a){this.a=a}, +ahF:function ahF(a,b){this.a=a +this.b=b}, +dO:function dO(){}, +iV:function iV(){}, +a8a:function a8a(a,b){this.a=a +this.b=b}, +ajw:function ajw(){}, +Tr:function Tr(){}, +bJ:function bJ(){}, +ih:function ih(){}, +C0:function C0(){}, +yG:function yG(a,b,c){var _=this +_.cy=a +_.y=null +_.a=!1 +_.c=_.b=null +_.S$=0 +_.O$=b +_.ar$=_.af$=0 +_.$ti=c}, +yF:function yF(a,b){var _=this +_.cy=a +_.y=null +_.a=!1 +_.c=_.b=null +_.S$=0 +_.O$=b +_.ar$=_.af$=0}, +ajx:function ajx(){}, +lS:function lS(a,b){this.b=a +this.c=b}, +JQ:function JQ(a,b,c,d,e,f,g){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f +_.$ti=g}, +a8e:function a8e(a,b){this.a=a +this.b=b}, +tL:function tL(a,b,c,d,e,f,g){var _=this +_.e=_.d=null +_.f=a +_.r=$ +_.w=!1 +_.bC$=b +_.hd$=c +_.wx$=d +_.eD$=e +_.he$=f +_.c=_.a=null +_.$ti=g}, +ahX:function ahX(a){this.a=a}, +ahY:function ahY(a){this.a=a}, +ahW:function ahW(a){this.a=a}, +ahU:function ahU(a,b,c){this.a=a +this.b=b +this.c=c}, +ahR:function ahR(a){this.a=a}, +ahS:function ahS(a,b){this.a=a +this.b=b}, +ahV:function ahV(){}, +ahT:function ahT(){}, +R3:function R3(a,b,c,d,e,f,g){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.y=e +_.b=f +_.a=g}, +QU:function QU(a){var _=this +_.y=null +_.a=!1 +_.c=_.b=null +_.S$=0 +_.O$=a +_.ar$=_.af$=0}, +u2:function u2(){}, +HS(a,b){var s=A.bY(a,null,t.Fe) +s=s==null?null:s.z +return b.h("fF<0>?").a(s)}, +qM:function qM(){}, +dR:function dR(){}, +abS:function abS(a,b,c){this.a=a +this.b=b +this.c=c}, +abQ:function abQ(a,b,c){this.a=a +this.b=b +this.c=c}, +abR:function abR(a,b,c){this.a=a +this.b=b +this.c=c}, +abP:function abP(a,b){this.a=a +this.b=b}, +Hv:function Hv(){}, +Nj:function Nj(a,b){this.e=a +this.a=b +this.b=null}, +Bj:function Bj(a,b,c,d,e,f){var _=this +_.w=a +_.x=b +_.y=c +_.z=d +_.b=e +_.a=f}, +agE:function agE(a,b){this.a=a +this.b=b}, +tx:function tx(a,b,c){this.c=a +this.a=b +this.$ti=c}, +mq:function mq(a,b,c){var _=this +_.d=null +_.e=$ +_.f=a +_.r=b +_.c=_.a=null +_.$ti=c}, +agy:function agy(a){this.a=a}, +agC:function agC(a){this.a=a}, +agD:function agD(a){this.a=a}, +agB:function agB(a){this.a=a}, +agz:function agz(a){this.a=a}, +agA:function agA(a){this.a=a}, +fF:function fF(){}, +a4W:function a4W(a,b){this.a=a +this.b=b}, +a4U:function a4U(a,b){this.a=a +this.b=b}, +a4V:function a4V(){}, +y5:function y5(){}, +p1:function p1(){}, +an_(a,b,c){return new A.JU(c,a,b,null)}, +JU:function JU(a,b,c,d){var _=this +_.d=a +_.f=b +_.x=c +_.a=d}, +K6:function K6(){}, +lh:function lh(a){this.a=a +this.b=!1}, +a_M:function a_M(a,b){this.c=a +this.a=b +this.b=!1}, +a8Q:function a8Q(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Ye:function Ye(a,b){this.c=a +this.a=b +this.b=!1}, +Ep:function Ep(a,b){var _=this +_.c=$ +_.d=a +_.a=b +_.b=!1}, +G2:function G2(a){var _=this +_.d=_.c=$ +_.a=a +_.b=!1}, +yT:function yT(a,b,c){this.a=a +this.b=b +this.$ti=c}, +a8M:function a8M(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a8L:function a8L(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +aEh(a,b){return new A.yU(a,b,null)}, +yV(a){var s=a.a7(t.Cy),r=s==null?null:s.f +return r==null?B.zg:r}, +K7:function K7(){}, +a8N:function a8N(){}, +a8O:function a8O(){}, +a8P:function a8P(){}, +ajo:function ajo(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +yU:function yU(a,b,c){this.f=a +this.b=b +this.a=c}, +an0(a,b){return new A.rh(a,b,A.b([],t.ZP),$.aM())}, +rh:function rh(a,b,c,d){var _=this +_.c=a +_.d=b +_.f=c +_.S$=0 +_.O$=d +_.ar$=_.af$=0}, +ao3(a,b){return b}, +aa0:function aa0(){}, +tN:function tN(a){this.a=a}, +aa_:function aa_(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.w=f}, +aa1:function aa1(a,b){this.f=a +this.r=b}, +tO:function tO(a,b){this.c=a +this.a=b}, +Cj:function Cj(a){var _=this +_.f=_.e=_.d=null +_.r=!1 +_.fC$=a +_.c=_.a=null}, +aii:function aii(a,b){this.a=a +this.b=b}, +Tw:function Tw(){}, +i2:function i2(){}, +wf:function wf(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +NP:function NP(){}, +an1(a,b,c,d,e){var s=new A.hm(c,e,d,a,0) +if(b!=null)s.ee$=b +return s}, +aJk(a){return a.ee$===0}, +fc:function fc(){}, +LE:function LE(){}, +eC:function eC(){}, +yY:function yY(a,b,c,d){var _=this +_.d=a +_.a=b +_.b=c +_.ee$=d}, +hm:function hm(a,b,c,d,e){var _=this +_.d=a +_.e=b +_.a=c +_.b=d +_.ee$=e}, +iQ:function iQ(a,b,c,d,e,f){var _=this +_.d=a +_.e=b +_.f=c +_.a=d +_.b=e +_.ee$=f}, +k2:function k2(a,b,c,d){var _=this +_.d=a +_.a=b +_.b=c +_.ee$=d}, +Ly:function Ly(a,b,c,d){var _=this +_.d=a +_.a=b +_.b=c +_.ee$=d}, +Ca:function Ca(){}, +C9:function C9(a,b,c){this.f=a +this.b=b +this.a=c}, +mo:function mo(a){var _=this +_.a=a +_.hh$=_.hg$=_.hf$=null}, +yX:function yX(a,b){this.c=a +this.a=b}, +Ka:function Ka(a){this.d=a +this.c=this.a=null}, +a8R:function a8R(a){this.a=a}, +a8S:function a8S(a){this.a=a}, +a8T:function a8T(a){this.a=a}, +azI(a,b,c){var s,r +if(a>0){s=a/c +if(b"))}, +ao0(a,b){var s=$.ai.ag$.x.k(0,a).gU() +s.toString +return t.x.a(s).lf(b)}, +auD(a,b){var s +if($.ai.ag$.x.k(0,a)==null)return!1 +s=$.ai.ag$.x.k(0,a).e +s.toString +s=t.ip.a(s).f +s.toString +return t.sm.a(s).Qy(A.ao0(a,b.gbN(b)),b.gcm(b))}, +aI4(a,b){var s,r,q +if($.ai.ag$.x.k(0,a)==null)return!1 +s=$.ai.ag$.x.k(0,a).e +s.toString +s=t.ip.a(s).f +s.toString +t.sm.a(s) +r=A.ao0(a,b.gbN(b)) +q=b.gcm(b) +return s.acO(r,q)&&!s.Qy(r,q)}, +ri:function ri(a,b){this.a=a +this.b=b}, +z1:function z1(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=null +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.as=l +_.at=m +_.ax=n +_.ay=!1 +_.CW=_.ch=null +_.cy=_.cx=$ +_.dx=_.db=null +_.S$=0 +_.O$=o +_.ar$=_.af$=0}, +a96:function a96(){}, +r2:function r2(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.c=a +_.d=b +_.e=c +_.r=d +_.w=e +_.Q=f +_.ay=g +_.ch=h +_.cx=i +_.cy=j +_.db=k +_.a=l}, +iT:function iT(a,b,c,d,e){var _=this +_.w=_.r=_.f=_.e=_.d=null +_.y=_.x=$ +_.z=a +_.Q=!1 +_.as=null +_.at=!1 +_.ay=_.ax=null +_.ch=b +_.CW=$ +_.cE$=c +_.aX$=d +_.c=_.a=null +_.$ti=e}, +a71:function a71(a){this.a=a}, +a7_:function a7_(a,b){this.a=a +this.b=b}, +a70:function a70(a){this.a=a}, +a6W:function a6W(a){this.a=a}, +a6X:function a6X(a){this.a=a}, +a6Y:function a6Y(a){this.a=a}, +a6Z:function a6Z(a){this.a=a}, +a72:function a72(a){this.a=a}, +a73:function a73(a){this.a=a}, +jg:function jg(a,b,c,d,e,f,g,h,i,j){var _=this +_.jr=a +_.O=_.S=_.aq=_.al=_.a3=_.Z=_.E=_.bn=_.bw=_.aV=_.a5=null +_.k3=_.k2=!1 +_.ok=_.k4=null +_.at=b +_.ay=c +_.ch=d +_.cx=_.CW=null +_.cy=!1 +_.db=null +_.f=e +_.r=f +_.w=null +_.a=g +_.b=null +_.c=h +_.d=i +_.e=j}, +mB:function mB(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.B=a +_.at=b +_.ax=c +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=d +_.fy=e +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=f +_.p3=g +_.p4=null +_.R8=h +_.RG=i +_.rx=null +_.f=j +_.r=k +_.w=null +_.a=l +_.b=null +_.c=m +_.d=n +_.e=o}, +mk:function mk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.B=a +_.at=b +_.ax=c +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=d +_.fy=e +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=f +_.p3=g +_.p4=null +_.R8=h +_.RG=i +_.rx=null +_.f=j +_.r=k +_.w=null +_.a=l +_.b=null +_.c=m +_.d=n +_.e=o}, +tI:function tI(){}, +arz(a){var s,r=B.b.gI(a.gji()) +for(s=1;s-3))s=q-r<3&&b.d-a.d>-3 +else s=!0 +if(s)return 0 +if(Math.abs(p)>3)return r>q?1:-1 +return a.d>b.d?1:-1}, +aCX(a,b){var s=a.a,r=b.a,q=s-r +if(q<1e-10&&a.c-b.c>-1e-10)return-1 +if(r-s<1e-10&&b.c-a.c>-1e-10)return 1 +if(Math.abs(q)>1e-10)return s>r?1:-1 +return a.c>b.c?1:-1}, +qE:function qE(){}, +a5e:function a5e(a){this.a=a}, +a5f:function a5f(a,b,c){this.a=a +this.b=b +this.c=c}, +a5g:function a5g(){}, +a5a:function a5a(a,b){this.a=a +this.b=b}, +a5b:function a5b(a){this.a=a}, +a5c:function a5c(a,b){this.a=a +this.b=b}, +a5d:function a5d(a){this.a=a}, +P5:function P5(){}, +z6(a){var s=a.a7(t.Wu) +return s==null?null:s.f}, +asv(a,b){return new A.rk(b,a,null)}, +os:function os(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +Rj:function Rj(a,b,c){var _=this +_.d=a +_.o0$=b +_.m6$=c +_.c=_.a=null}, +rk:function rk(a,b,c){this.f=a +this.b=b +this.a=c}, +Kh:function Kh(){}, +Tv:function Tv(){}, +Dh:function Dh(){}, +zg:function zg(a,b){this.c=a +this.a=b}, +Rr:function Rr(){this.d=$ +this.c=this.a=null}, +Rs:function Rs(a,b,c){this.x=a +this.b=b +this.a=c}, +dC(a,b,c,d,e){return new A.a2(a,c,e,b,d,B.j)}, +aEA(a){var s=A.E(t.y6,t.Xw) +a.W(0,new A.a9P(s)) +return s}, +an5(a,b,c){return new A.oB(null,c,a,b,null)}, +x5:function x5(a,b){this.a=a +this.b=b}, +a2:function a2(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +md:function md(a,b){this.a=a +this.b=b}, +rr:function rr(a,b){var _=this +_.b=a +_.c=null +_.S$=0 +_.O$=b +_.ar$=_.af$=0}, +a9P:function a9P(a){this.a=a}, +a9O:function a9O(){}, +oB:function oB(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +Cm:function Cm(){this.c=this.a=this.d=null}, +Ks:function Ks(a,b){var _=this +_.c=a +_.S$=0 +_.O$=b +_.ar$=_.af$=0}, +zh:function zh(a,b){this.c=a +this.a=b}, +Cl:function Cl(a,b){var _=this +_.d=a +_.e=b +_.c=_.a=null}, +Rv:function Rv(a,b,c){this.f=a +this.b=b +this.a=c}, +Rt:function Rt(){}, +Ru:function Ru(){}, +Rw:function Rw(){}, +Rz:function Rz(){}, +RA:function RA(){}, +T_:function T_(){}, +asx(a,b,c,d,e,f){return new A.Ku(f,d,b,e,a,c,null)}, +Ku:function Ku(a,b,c,d,e,f,g){var _=this +_.c=a +_.e=b +_.f=c +_.w=d +_.x=e +_.y=f +_.a=g}, +a9S:function a9S(a,b,c){this.a=a +this.b=b +this.c=c}, +tQ:function tQ(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +RB:function RB(a,b){var _=this +_.c=_.b=_.a=_.CW=_.ay=_.p1=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +BY:function BY(a,b,c,d,e,f,g){var _=this +_.E=a +_.Z=b +_.a3=c +_.al=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ahz:function ahz(a,b){this.a=a +this.b=b}, +ahy:function ahy(a){this.a=a}, +Df:function Df(){}, +Tx:function Tx(){}, +Ty:function Ty(){}, +asL(a,b){return new A.rt(b,A.ana(t.S,t.Dv),a,B.a1)}, +aEF(a,b,c,d,e){if(b===e-1)return d +return d+(d-c)/(b-a+1)*(e-b-1)}, +aCi(a,b){return new A.wU(b,a,null)}, +KH:function KH(){}, +oC:function oC(){}, +KF:function KF(a,b){this.d=a +this.a=b}, +rt:function rt(a,b,c,d){var _=this +_.p1=a +_.p2=b +_.p4=_.p3=null +_.R8=!1 +_.c=_.b=_.a=_.CW=_.ay=null +_.d=$ +_.e=c +_.r=_.f=null +_.w=d +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +aa5:function aa5(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +aa3:function aa3(){}, +aa4:function aa4(a,b){this.a=a +this.b=b}, +aa2:function aa2(a,b,c){this.a=a +this.b=b +this.c=c}, +aa6:function aa6(a,b){this.a=a +this.b=b}, +wU:function wU(a,b,c){this.f=a +this.b=b +this.a=c}, +KB:function KB(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +RD:function RD(a,b,c){this.f=a +this.d=b +this.a=c}, +RE:function RE(a,b,c){this.e=a +this.c=b +this.a=c}, +QM:function QM(a,b,c){var _=this +_.cw=null +_.dE=a +_.ef=null +_.C$=b +_.b=_.fx=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=c +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +asM(a,b,c,d,e){return new A.KK(c,d,!0,e,b,null)}, +zq:function zq(a,b){this.a=a +this.b=b}, +zp:function zp(a){var _=this +_.a=!1 +_.S$=0 +_.O$=a +_.ar$=_.af$=0}, +KK:function KK(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.c=e +_.a=f}, +tK:function tK(a,b,c,d,e,f,g,h){var _=this +_.B=a +_.a_=b +_.am=c +_.bM=d +_.cF=e +_.cV=_.ba=null +_.f_=!1 +_.fD=null +_.C$=f +_.fx=g +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=h +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +KJ:function KJ(){}, +Na:function Na(){}, +L_:function L_(a,b){this.c=a +this.a=b}, +JI:function JI(a,b,c,d,e,f,g){var _=this +_.ca=a +_.eX=b +_.cT=c +_.B=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Nw:function Nw(){}, +n7(a,b,c,d,e,f,g,h){return new A.pV(e,f,d,c,b,h,g,a,null)}, +aq4(a){var s=a.a7(t.uy) +return s==null?null:s.gy6()}, +eg(a,b,c,d){return new A.cW(a,null,d,null,c,b,null)}, +aGf(a,b){var s=A.e_(a.aW(0,null),B.b.gI(a.gji())),r=A.e_(b.aW(0,null),B.b.gI(b.gji())),q=A.aGg(s,r) +if(q!==0)return q +return A.aGe(s,r)}, +aGg(a,b){var s,r=a.b,q=b.b,p=r-q +if(!(p<3&&a.d-b.d>-3))s=q-r<3&&b.d-a.d>-3 +else s=!0 +if(s)return 0 +if(Math.abs(p)>3)return r>q?1:-1 +return a.d>b.d?1:-1}, +aGe(a,b){var s=a.a,r=b.a,q=s-r +if(q<1e-10&&a.c-b.c>-1e-10)return-1 +if(r-s<1e-10&&b.c-a.c>-1e-10)return 1 +if(Math.abs(q)>1e-10)return s>r?1:-1 +return a.c>b.c?1:-1}, +pV:function pV(a,b,c,d,e,f,g,h,i){var _=this +_.w=a +_.x=b +_.y=c +_.z=d +_.Q=e +_.as=f +_.at=g +_.b=h +_.a=i}, +Pi:function Pi(a){this.a=a}, +cW:function cW(a,b,c,d,e,f,g){var _=this +_.c=a +_.d=b +_.e=c +_.r=d +_.y=e +_.z=f +_.a=g}, +Ch:function Ch(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.a=m}, +Ri:function Ri(a){var _=this +_.d=$ +_.e=a +_.c=_.a=null}, +R0:function R0(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.a=n}, +Ci:function Ci(a,b,c,d,e,f,g){var _=this +_.dx=a +_.dy=b +_.fr=c +_.fy=_.fx=null +_.b=d +_.d=_.c=-1 +_.w=_.r=_.f=_.e=null +_.z=_.y=_.x=!1 +_.Q=e +_.as=!1 +_.at=f +_.S$=0 +_.O$=g +_.ar$=_.af$=0 +_.a=null}, +aie:function aie(a,b){this.a=a +this.b=b}, +aif:function aif(a){this.a=a}, +aig:function aig(a){this.a=a}, +aih:function aih(a){this.a=a}, +FR:function FR(){}, +FL:function FL(){}, +vv:function vv(){}, +vx:function vx(){}, +vw:function vw(){}, +FJ:function FJ(){}, +nc:function nc(){}, +nf:function nf(){}, +wb:function wb(){}, +w5:function w5(){}, +w6:function w6(){}, +hP:function hP(){}, +ng:function ng(){}, +nh:function nh(){}, +ne:function ne(){}, +wa:function wa(){}, +nd:function nd(){}, +yZ:function yZ(){}, +Kf:function Kf(){}, +vk:function vk(){}, +IK:function IK(){}, +Ji:function Ji(){}, +Lr:function Lr(){}, +Lo:function Lo(){}, +La:function La(a,b){this.d=a +this.a=b}, +asY(a){var s=a.a7(t.l3),r=s==null?null:s.f +return r!==!1}, +asX(a){var s=a.yp(t.l3),r=s==null?null:s.r +return r==null?B.zv:r}, +rK:function rK(a,b,c){this.c=a +this.d=b +this.a=c}, +Se:function Se(a){var _=this +_.d=!0 +_.e=a +_.c=_.a=null}, +AI:function AI(a,b,c,d){var _=this +_.f=a +_.r=b +_.b=c +_.a=d}, +m_:function m_(){}, +e3:function e3(){}, +SU:function SU(a,b){var _=this +_.w=a +_.a=null +_.b=!1 +_.c=null +_.d=b +_.e=null}, +At:function At(){}, +Lg:function Lg(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +zV:function zV(){}, +abF:function abF(a,b){this.a=a +this.b=b}, +abG:function abG(a){this.a=a}, +abD:function abD(a,b){this.a=a +this.b=b}, +abE:function abE(a,b){this.a=a +this.b=b}, +Lh:function Lh(){}, +an9(a,b,c,d){return new A.KA(c,d,a,b,null)}, +asq(a,b){return new A.JX(A.aKL(),B.a2,null,a,b,null)}, +aE8(a){return A.a4k(a,a,1)}, +asn(a,b){return new A.JP(A.aKK(),B.a2,null,a,b,null)}, +aE5(a){var s,r,q=a*3.141592653589793*2,p=new Float64Array(16) +p[15]=1 +s=Math.cos(q) +r=Math.sin(q) +p[0]=s +p[1]=r +p[2]=0 +p[4]=-r +p[5]=s +p[6]=0 +p[8]=0 +p[9]=0 +p[10]=1 +p[3]=0 +p[7]=0 +p[11]=0 +return new A.bj(p)}, +Zb(a,b,c){return new A.ni(c,a,b)}, +pt(a,b,c){return new A.E8(b,c,a,null)}, +ux:function ux(){}, +Ad:function Ad(){this.c=this.a=null}, +acB:function acB(){}, +KA:function KA(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +HH:function HH(){}, +JX:function JX(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.c=e +_.a=f}, +JP:function JP(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.c=e +_.a=f}, +Kv:function Kv(a,b,c,d){var _=this +_.e=a +_.w=b +_.c=c +_.a=d}, +ni:function ni(a,b,c){this.e=a +this.c=b +this.a=c}, +Fu:function Fu(a,b,c,d){var _=this +_.e=a +_.r=b +_.c=c +_.a=d}, +nN:function nN(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +E8:function E8(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +kd:function kd(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.a=d +_.$ti=e}, +tZ:function tZ(a){var _=this +_.d=$ +_.c=_.a=null +_.$ti=a}, +aje:function aje(a){this.a=a}, +atd(a){var s=A.aCA(a,t._l) +return s==null?null:s.f}, +ate(a){var s=a.a7(t.Li) +s=s==null?null:s.f +if(s==null){s=$.iU.db$ +s===$&&A.a()}return s}, +A5:function A5(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +SR:function SR(a,b){var _=this +_.d=a +_.e=b +_.c=_.a=null}, +Jg:function Jg(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +a74:function a74(a){this.a=a}, +BF:function BF(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +Qk:function Qk(a,b){var _=this +_.bw=$ +_.c=_.b=_.a=_.CW=_.ay=_.E=_.bn=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +p9:function p9(a,b,c){this.f=a +this.b=b +this.a=c}, +Bz:function Bz(a,b,c){this.f=a +this.b=b +this.a=c}, +Ay:function Ay(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +TY:function TY(){}, +atf(a,b,c,d,e,f,g,h){return new A.oS(b,a,g,e,c,d,f,h,null)}, +atg(a,b){var s +switch(b.a){case 0:s=a.a7(t.I) +s.toString +return A.alc(s.w) +case 1:return B.L +case 2:s=a.a7(t.I) +s.toString +return A.alc(s.w) +case 3:return B.L}}, +oS:function oS(a,b,c,d,e,f,g,h,i){var _=this +_.e=a +_.r=b +_.w=c +_.x=d +_.y=e +_.z=f +_.Q=g +_.c=h +_.a=i}, +SS:function SS(a,b,c){var _=this +_.E=!1 +_.Z=null +_.p1=$ +_.p2=a +_.c=_.b=_.a=_.CW=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +TZ:function TZ(){}, +U_:function U_(){}, +aFw(a,b){var s={},r=A.b([],t.D),q=A.b([14],t.n) +s.a=0 +new A.acl(s,q,b,r).$1(a) +return r}, +acl:function acl(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +anT(a){return new A.CV(a,J.fZ(a.$1(B.jg)))}, +ant(a,b,c){if(a==null&&b==null)return null +return new A.OH(a,b,c)}, +ib(a,b,c){if(c.h("bu<0>").b(a))return a.X(0,b) +return a}, +aB(a,b,c,d,e){if(a==null&&b==null)return null +return new A.B6(a,b,c,d,e.h("B6<0>"))}, +anu(a){var s=A.ay(t.EK) +if(a!=null)s.L(0,a) +return new A.LI(s,$.aM())}, +bP:function bP(a,b){this.a=a +this.b=b}, +LG:function LG(){}, +CV:function CV(a,b){this.c=a +this.a=b}, +LH:function LH(){}, +ND:function ND(){}, +OH:function OH(a,b,c){this.a=a +this.b=b +this.c=c}, +bu:function bu(){}, +B6:function B6(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.$ti=e}, +bl:function bl(a,b){this.a=a +this.$ti=b}, +cr:function cr(a,b){this.a=a +this.$ti=b}, +LI:function LI(a,b){var _=this +_.a=a +_.S$=0 +_.O$=b +_.ar$=_.af$=0}, +rX:function rX(a,b,c){this.c=a +this.d=b +this.a=c}, +SW:function SW(){this.c=this.a=this.d=null}, +l7:function l7(a){this.b=a}, +Zt:function Zt(){}, +a4A:function a4A(){}, +Zu:function Zu(){}, +Zv:function Zv(a){this.a=a}, +qI:function qI(a,b,c){this.a=a +this.b=b +this.c=c}, +Ja:function Ja(){}, +zQ:function zQ(){}, +pW:function pW(){}, +a0g:function a0g(){}, +qH:function qH(){}, +Xk:function Xk(){this.b=this.a=null}, +Xl:function Xl(){}, +Jj:function Jj(){}, +a6q:function a6q(a){this.a=a}, +a0p:function a0p(){}, +a0r:function a0r(){this.c=this.b=$}, +a0w:function a0w(a){this.a=a}, +a0t:function a0t(a,b){this.a=a +this.b=b}, +a0s:function a0s(){}, +a0u:function a0u(a){this.a=a}, +a0v:function a0v(a){this.a=a}, +a0D:function a0D(){}, +a0E:function a0E(a,b){this.a=a +this.b=b}, +a0F:function a0F(a,b){this.a=a +this.b=b}, +a0G:function a0G(a,b){this.a=a +this.b=b}, +a4B:function a4B(){}, +a0q:function a0q(){}, +EI:function EI(a,b){this.a=a +this.b=b}, +GZ:function GZ(a,b,c,d,e){var _=this +_.e=a +_.a=b +_.b=c +_.c=d +_.d=e}, +a0o:function a0o(){}, +H_:function H_(a,b){this.a=a +this.b=b}, +bf(a,b,c,d,e,f,g,h){return new A.vP(d,e,g,c,a,f,b,h,A.E(t.ML,t.bq))}, +vQ(a,b){var s,r=A.apW(b,a),q=r<0?100:r,p=A.apV(b,a),o=p<0?0:p,n=A.n3(q,a),m=A.n3(o,a) +if(B.c.a2(a)<60){s=Math.abs(n-m)<0.1&&n=b||n>=m||s?q:o}else return m>=b||m>=n?o:q}, +vP:function vP(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Yj(a,b,c){var s,r,q,p,o,n=a.a +n===$&&A.a() +for(s=0;s<=7;s=q){r=b[s] +q=s+1 +p=b[q] +if(r>>16&255 +m=p>>>8&255 +l=p&255 +k=A.iK(A.b([A.c8(n),A.c8(m),A.c8(l)],s),$.hF) +j=A.VO(k[0],k[1],k[2],h) +o.a=j.a +h=o.b=j.b +o.c=116*A.l2(A.iK(A.b([A.c8(n),A.c8(m),A.c8(l)],s),$.hF)[1]/100)-16 +if(r>h)break +n=Math.abs(h-b) +if(n<0.4)break +if(n=360?k-360:k +i=j*3.141592653589793/180 +h=a4.r +g=a4.y +f=100*Math.pow((40*p+c+n)/20*a4.w/h,g*a4.ay)/100 +Math.sqrt(f) +e=Math.pow(3846.153846153846*(0.25*(Math.cos((j<20.14?j+360:j)*3.141592653589793/180+2)+3.8))*a4.z*a4.x*Math.sqrt(m*m+l*l)/((20*p+c+21*n)/20+0.305),0.9)*Math.pow(1.64-Math.pow(0.29,a4.f),0.73) +d=e*Math.sqrt(f) +Math.sqrt(e*g/(h+4)) +Math.log(1+0.0228*(d*a4.ax)) +Math.cos(i) +Math.sin(i) +return new A.VN(j,d,A.b([0,0,0],t.n))}, +VN:function VN(a,b,c){this.a=a +this.b=b +this.y=c}, +f3(a7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6=new A.f2() +a6.d=a7 +s=$.DS() +r=A.apU(a7) +q=r[0] +p=r[1] +o=r[2] +n=s.as +m=n[0]*(0.401288*q+0.650173*p-0.051461*o) +l=n[1]*(-0.250268*q+1.204414*p+0.045854*o) +k=n[2]*(-0.002079*q+0.048952*p+0.953127*o) +n=s.at +j=Math.pow(n*Math.abs(m)/100,0.42) +i=Math.pow(n*Math.abs(l)/100,0.42) +h=Math.pow(n*Math.abs(k)/100,0.42) +g=A.nT(m)*400*j/(j+27.13) +f=A.nT(l)*400*i/(i+27.13) +e=A.nT(k)*400*h/(h+27.13) +d=(11*g+-12*f+e)/11 +c=(g+f-2*e)/9 +n=20*f +b=Math.atan2(c,d)*180/3.141592653589793 +if(b<0)a=b+360 +else a=b>=360?b-360:b +a0=a*3.141592653589793/180 +a1=s.r +a2=s.y +a3=100*Math.pow((40*g+n+e)/20*s.w/a1,a2*s.ay)/100 +Math.sqrt(a3) +a4=Math.pow(3846.153846153846*(0.25*(Math.cos((a<20.14?a+360:a)*3.141592653589793/180+2)+3.8))*s.z*s.x*Math.sqrt(d*d+c*c)/((20*g+n+21*e)/20+0.305),0.9)*Math.pow(1.64-Math.pow(0.29,s.f),0.73) +a5=a4*Math.sqrt(a3) +Math.sqrt(a4*a2/(a1+4)) +Math.log(1+0.0228*(a5*s.ax)) +Math.cos(a0) +Math.sin(a0) +a6.a=a +a6.b=a5 +a6.c=116*A.l2(A.apU(a7)[1]/100)-16 +return a6}, +f2:function f2(){var _=this +_.d=_.c=_.b=_.a=$}, +ach:function ach(a,b,c,d,e,f,g,h,i,j){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.y=e +_.z=f +_.as=g +_.at=h +_.ax=i +_.ay=j}, +at_(a){var s,r=t.S,q=a.a +q===$&&A.a() +s=a.b +s===$&&A.a() +return new A.oN(q,s,A.E(r,r))}, +b7(a,b){var s=t.S +A.aFb(a,b) +return new A.oN(a,b,A.E(s,s))}, +aFb(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=A.f3(A.nv(a,b,50)),d=e.b +d===$&&A.a() +s=Math.abs(d-b) +for(d=t.n,r=1;r<50;++r){q=B.c.a2(b) +p=e.b +p===$&&A.a() +if(q===B.c.a2(p))return e +o=A.nv(a,b,50+r) +n=new A.f2() +n.d=o +q=$.DS() +p=o>>>16&255 +m=o>>>8&255 +l=o&255 +k=A.iK(A.b([A.c8(p),A.c8(m),A.c8(l)],d),$.hF) +j=A.VO(k[0],k[1],k[2],q) +n.a=j.a +i=j.b +n.b=i +n.c=116*A.l2(A.iK(A.b([A.c8(p),A.c8(m),A.c8(l)],d),$.hF)[1]/100)-16 +h=Math.abs(i-b) +if(h>>16&255 +m=o>>>8&255 +l=o&255 +k=A.iK(A.b([A.c8(p),A.c8(m),A.c8(l)],d),$.hF) +j=A.VO(k[0],k[1],k[2],q) +g.a=j.a +q=j.b +g.b=q +g.c=116*A.l2(A.iK(A.b([A.c8(p),A.c8(m),A.c8(l)],d),$.hF)[1]/100)-16 +f=Math.abs(q-b) +if(f=a.length)return a +return B.d.fh(a,s+1).toLowerCase()}, +a4O:function a4O(a,b){this.a=a +this.b=b}, +akK(){var s=0,r=A.z(t.Db),q,p +var $async$akK=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:$.awU() +s=3 +return A.B(B.HB.dv("getTemporaryDirectory",null,!1,t.N),$async$akK) +case 3:p=b +if(p==null)throw A.c(new A.HQ("Unable to get temporary directory")) +q=A.XP(p) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$akK,r)}, +HQ:function HQ(a){this.a=a}, +a60:function a60(){}, +a4C:function a4C(){}, +y1(a,b,c){var s +if(c){s=$.up() +A.q5(a) +s=s.a.get(a)===B.ky}else s=!1 +if(s)throw A.c(A.hC("`const Object()` cannot be used as the token.")) +s=$.up() +A.q5(a) +if(b!==s.a.get(a))throw A.c(A.hC("Platform interfaces must not be implemented with `implements`"))}, +a6h:function a6h(){}, +a9H(a,b){var s=0,r=A.z(t.m),q,p,o,n,m,l,k +var $async$a9H=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:s=3 +return A.B(a.tf(),$async$a9H) +case 3:p=d +o=self.File +n=A.b([p.buffer],t.qg) +m=a.b +l={} +k=a.a +if(k==null){k=$.ap4().R7(m,p) +if(k==null)k="application/octet-stream"}l.type=k +q=new o(n,m,l) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$a9H,r)}, +a9G:function a9G(a){this.b=a}, +aCS(a){switch(a){case"":return B.wv +case u.a:return B.ww +default:return B.Kt}}, +a4D:function a4D(){}, +a4E:function a4E(){}, +a4F:function a4F(){}, +a9F:function a9F(){}, +oA:function oA(a,b){this.a=a +this.b=b}, +zf:function zf(a,b){this.a=a +this.b=b}, +rp(){var s=0,r=A.z(t.cZ),q,p=2,o,n,m,l,k,j,i +var $async$rp=A.A(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:s=$.a9M==null?3:4 +break +case 3:n=new A.b1(new A.a8($.ae,t.cO),t.Iy) +$.a9M=n +p=6 +s=9 +return A.B(A.a9N(),$async$rp) +case 9:m=b +J.ayY(n,new A.ro(m)) +p=2 +s=8 +break +case 6:p=5 +i=o +l=A.a9(i) +n.jk(l) +k=n.a +$.a9M=null +q=k +s=1 +break +s=8 +break +case 5:s=2 +break +case 8:case 4:q=$.a9M.a +s=1 +break +case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$rp,r)}, +a9N(){var s=0,r=A.z(t.nf),q,p,o,n,m,l,k,j +var $async$a9N=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:n=t.N +m=t.K +l=A.E(n,m) +k=J +j=l +s=3 +return A.B($.aln().ld(0),$async$a9N) +case 3:k.ayV(j,b) +p=A.E(n,m) +for(n=l,n=A.hf(n,n.r);n.q();){m=n.d +o=B.d.fh(m,8) +m=J.b5(l,m) +m.toString +p.n(0,o,m)}q=p +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$a9N,r)}, +ro:function ro(a){this.a=a}, +a4G:function a4G(){}, +a9L:function a9L(){}, +a6E:function a6E(a,b){this.a=a +this.b=b}, +a_t:function a_t(a){this.a=a}, +aHF(a){var s=A.aCn(self.window.localStorage) +return new A.aF(s,new A.ajW(a),A.a_(s).h("aF<1>"))}, +aHh(a){var s=B.aQ.eA(0,a) +if(t.j.b(s))return J.pn(s,t.N) +s.toString +return s}, +a9J:function a9J(){}, +a9K:function a9K(a){this.a=a}, +ajW:function ajW(a){this.a=a}, +aAo(a,b,c){var s,r,q,p={} +p.a=b +s=a.giI()?A.hq(!0,c):A.and(null,!0,c) +a.giI() +p.a=b +p.b=null +p.c=a +p.d=p.e=!1 +r=A.bk("currentDoneHandler") +q=new A.WZ(p,s,r) +r.b=new A.X1(p,r,new A.X0(p,s),q) +s.sF9(new A.WY(p,q,a,s)) +return s.gu9(s)}, +WZ:function WZ(a,b,c){this.a=a +this.b=b +this.c=c}, +X_:function X_(a){this.a=a}, +X0:function X0(a,b){this.a=a +this.b=b}, +X1:function X1(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +WY:function WY(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +WV:function WV(a){this.a=a}, +WW:function WW(a,b){this.a=a +this.b=b}, +WX:function WX(a){this.a=a}, +aFg(a,b,c,d){var s={},r=a.giI()?A.hq(!0,d):A.and(null,!0,d) +s.a=null +r.sF9(new A.abO(s,a,b,r,A.avz(A.aJF(),d),A.avz(A.aJE(),d),c)) +return r.gu9(r)}, +at2(a,b,c){c.jf(a,b)}, +at1(a){a.aM(0)}, +abO:function abO(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +abK:function abK(a,b,c){this.a=a +this.b=b +this.c=c}, +abM:function abM(a,b){this.a=a +this.b=b}, +abL:function abL(a,b,c){this.a=a +this.b=b +this.c=c}, +abN:function abN(a,b){this.a=a +this.b=b}, +acj(a,b,c){return A.aFg(a,new A.ack(c,b),b,c)}, +ack:function ack(a,b){this.a=a +this.b=b}, +a1v:function a1v(a,b){this.a=a +this.b=b}, +aci:function aci(){}, +Vv:function Vv(){}, +a4H:function a4H(){}, +a4I:function a4I(){}, +od:function od(a,b){this.a=a +this.b=b}, +H2:function H2(a,b,c){this.a=a +this.b=b +this.c=c}, +Hh:function Hh(a,b,c){this.a=a +this.b=b +this.d=c}, +ac4:function ac4(){}, +at9(){var s,r,q=self +q=q.window +s=$.alo() +r=new A.ac5(q) +$.up().n(0,r,s) +q=q.navigator +r.b=J.po(q.userAgent,"Safari")&&!J.po(q.userAgent,"Chrome") +return r}, +ac5:function ac5(a){this.a=a +this.b=!1}, +a6M:function a6M(){}, +X7:function X7(){}, +HG(a){var s=new A.bj(new Float64Array(16)) +if(s.dB(a)===0)return null +return s}, +aCK(){return new A.bj(new Float64Array(16))}, +aCL(){var s=new A.bj(new Float64Array(16)) +s.dH() +return s}, +a4l(a,b,c){var s=new Float64Array(16),r=new A.bj(s) +r.dH() +s[14]=c +s[13]=b +s[12]=a +return r}, +a4k(a,b,c){var s=new Float64Array(16) +s[15]=1 +s[10]=c +s[5]=b +s[0]=a +return new A.bj(s)}, +bj:function bj(a){this.a=a}, +fS:function fS(a){this.a=a}, +j5:function j5(a){this.a=a}, +oY(a,b,c,d,e){var s +if(c==null)s=null +else{s=A.av1(new A.aeD(c),t.m) +s=s==null?null:A.bb(s)}s=new A.AK(a,b,s,!1,e.h("AK<0>")) +s.BS() +return s}, +av1(a,b){var s=$.ae +if(s===B.ad)return a +return s.a8R(a,b)}, +w2:function w2(a,b){this.a=a +this.$ti=b}, +mi:function mi(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +NA:function NA(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +AK:function AK(a,b,c,d,e){var _=this +_.a=0 +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +aeD:function aeD(a){this.a=a}, +aeE:function aeE(a){this.a=a}, +akY(){var s=0,r=A.z(t.H) +var $async$akY=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:s=2 +return A.B(A.akm(new A.akZ(),new A.al_()),$async$akY) +case 2:return A.x(null,r)}}) +return A.y($async$akY,r)}, +al_:function al_(){}, +akZ:function akZ(){}, +aCs(a){return $.aCr.k(0,a).gagw()}, +aox(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)}, +auo(a){var s,r,q +if(a==null)return a +if(typeof a=="string"||typeof a=="number"||A.u6(a))return a +if(A.aJZ(a))return A.hz(a) +s=Array.isArray(a) +s.toString +if(s){r=[] +q=0 +while(!0){s=a.length +s.toString +if(!(q>>6)+(a&63),r=s&1,q=u.I.charCodeAt(s>>>1) +return q>>>4&-r|q&15&r-1}, +mJ(a,b){var s=(a&1023)<<10|b&1023,r=u.R.charCodeAt(1024+(s>>>9))+(s&511),q=r&1,p=u.I.charCodeAt(r>>>1) +return p>>>4&-q|p&15&q-1}, +aku(a){var s=0,r=A.z(t.N),q,p,o +var $async$aku=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:s=3 +return A.B(a.y9(B.ly),$async$aku) +case 3:o=c +if(o==null){q="" +s=1 +break}p=A.d2(o.buffer,0,null) +q=B.kb.gDF().d7(p) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$aku,r)}, +akt(a,b,c,d,e){return A.aIT(a,b,c,d,e,e)}, +aIT(a,b,c,d,e,f){var s=0,r=A.z(f),q,p +var $async$akt=A.A(function(g,h){if(g===1)return A.w(h,r) +while(true)switch(s){case 0:p=A.fe(null,t.P) +s=3 +return A.B(p,$async$akt) +case 3:q=a.$1(b) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$akt,r)}, +el(){var s=$.axZ() +return s}, +aIh(a){var s +switch(a.a){case 1:s=B.as +break +case 0:s=B.at +break +case 2:s=B.bh +break +case 4:s=B.b4 +break +case 3:s=B.bi +break +case 5:s=B.as +break +default:s=null}return s}, +ul(a,b){var s +if(a==null)return b==null +if(b==null||a.gu(a)!==b.gu(b))return!1 +if(a===b)return!0 +for(s=a.ga0(a);s.q();)if(!b.p(0,s.gG(s)))return!1 +return!0}, +ds(a,b){var s +if(a==null)return b==null +if(b==null||a.length!==b.length)return!1 +if(a===b)return!0 +for(s=0;s>>1 +r=p-s +q=A.bc(r,a[0],!1,c) +A.akf(a,b,s,p,q,0) +A.akf(a,b,0,s,a,r) +A.auL(b,a,r,p,q,0,r,a,0)}, +aHQ(a,b,c,d,e){var s,r,q,p,o +for(s=d+1;s1e6){if(q.b==null)q.b=$.J7.$0() +q.eK(0) +$.U1=0}while(!0){if(!($.U1<12288?!$.Uu().gM(0):r))break +s=$.Uu().oC() +$.U1=$.U1+s.length +A.aox(s)}if(!$.Uu().gM(0)){$.anX=!0 +$.U1=0 +A.c7(B.ez,A.aKg()) +if($.ajP==null)$.ajP=new A.b1(new A.a8($.ae,t.V),t.h)}else{$.ap2().mX(0) +r=$.ajP +if(r!=null)r.eW(0) +$.ajP=null}}, +aBT(a,b,c){return a}, +ue(a){var s=0,r=A.z(t.lu),q,p,o +var $async$ue=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:s=3 +return A.B(A.H0(a),$async$ue) +case 3:o=c +$.jQ.toString +s=5 +return A.B(A.Dw(o,null),$async$ue) +case 5:s=4 +return A.B(c.fO(),$async$ue) +case 4:p=c +q=p.geE(p) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ue,r)}, +a4o(a){var s=a.a +if(s[0]===1&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===1&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===1&&s[11]===0&&s[14]===0&&s[15]===1)return new A.m(s[12],s[13]) +return null}, +amJ(a,b){var s,r,q +if(a==b)return!0 +if(a==null){b.toString +return A.HI(b)}if(b==null)return A.HI(a) +s=a.a +r=s[0] +q=b.a +return r===q[0]&&s[1]===q[1]&&s[2]===q[2]&&s[3]===q[3]&&s[4]===q[4]&&s[5]===q[5]&&s[6]===q[6]&&s[7]===q[7]&&s[8]===q[8]&&s[9]===q[9]&&s[10]===q[10]&&s[11]===q[11]&&s[12]===q[12]&&s[13]===q[13]&&s[14]===q[14]&&s[15]===q[15]}, +HI(a){var s=a.a +return s[0]===1&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===1&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===1&&s[11]===0&&s[12]===0&&s[13]===0&&s[14]===0&&s[15]===1}, +bI(a,b){var s=a.a,r=b.a,q=b.b,p=s[0]*r+s[4]*q+s[12],o=s[1]*r+s[5]*q+s[13],n=s[3]*r+s[7]*q+s[15] +if(n===1)return new A.m(p,o) +else return new A.m(p/n,o/n)}, +a4n(a,b,c,d,e){var s,r=e?1:1/(a[3]*b+a[7]*c+a[15]),q=(a[0]*b+a[4]*c+a[12])*r,p=(a[1]*b+a[5]*c+a[13])*r +if(d){s=$.alk() +s[2]=q +s[0]=q +s[3]=p +s[1]=p}else{s=$.alk() +if(qs[2])s[2]=q +if(p>s[3])s[3]=p}}, +e_(b1,b2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=b1.a,a5=b2.a,a6=b2.b,a7=b2.c,a8=a7-a5,a9=b2.d,b0=a9-a6 +if(!isFinite(a8)||!isFinite(b0)){s=a4[3]===0&&a4[7]===0&&a4[15]===1 +A.a4n(a4,a5,a6,!0,s) +A.a4n(a4,a7,a6,!1,s) +A.a4n(a4,a5,a9,!1,s) +A.a4n(a4,a7,a9,!1,s) +a7=$.alk() +return new A.D(a7[0],a7[1],a7[2],a7[3])}a7=a4[0] +r=a7*a8 +a9=a4[4] +q=a9*b0 +p=a7*a5+a9*a6+a4[12] +a9=a4[1] +o=a9*a8 +a7=a4[5] +n=a7*b0 +m=a9*a5+a7*a6+a4[13] +a7=a4[3] +if(a7===0&&a4[7]===0&&a4[15]===1){l=p+r +if(r<0)k=p +else{k=l +l=p}if(q<0)l+=q +else k+=q +j=m+o +if(o<0)i=m +else{i=j +j=m}if(n<0)j+=n +else i+=n +return new A.D(l,j,k,i)}else{a9=a4[7] +h=a9*b0 +g=a7*a5+a9*a6+a4[15] +f=p/g +e=m/g +a9=p+r +a7=g+a7*a8 +d=a9/a7 +c=m+o +b=c/a7 +a=g+h +a0=(p+q)/a +a1=(m+n)/a +a7+=h +a2=(a9+q)/a7 +a3=(c+n)/a7 +return new A.D(A.ars(f,d,a0,a2),A.ars(e,b,a1,a3),A.arr(f,d,a0,a2),A.arr(e,b,a1,a3))}}, +ars(a,b,c,d){var s=ab?a:b,r=c>d?c:d +return s>r?s:r}, +aru(a,b){var s +if(A.HI(a))return b +s=new A.bj(new Float64Array(16)) +s.bc(a) +s.dB(s) +return A.e_(s,b)}, +art(a){var s,r=new A.bj(new Float64Array(16)) +r.dH() +s=new A.j5(new Float64Array(4)) +s.yM(0,0,0,a.a) +r.yL(0,s) +s=new A.j5(new Float64Array(4)) +s.yM(0,0,0,a.b) +r.yL(1,s) +return r}, +DA(a,b,c){if(a==null)return a===b +return a>b-c&&ab?a:b,r=s===b?a:b +return(s+5)/(r+5)}, +apW(a,b){var s,r,q,p +if(b<0||b>100)return-1 +s=A.n0(b) +r=a*(s+5)-5 +q=A.alR(r,s) +if(q0.04)return-1 +p=A.apT(r)+0.4 +if(p<0||p>100)return-1 +return p}, +apV(a,b){var s,r,q,p +if(b<0||b>100)return-1 +s=A.n0(b) +r=(s+5)/a-5 +q=A.alR(s,r) +if(q0.04)return-1 +p=A.apT(r)-0.4 +if(p<0||p>100)return-1 +return p}, +alZ(a){var s,r,q,p,o,n=a.a +n===$&&A.a() +s=B.c.a2(n) +r=s>=90&&s<=111 +s=a.b +s===$&&A.a() +q=B.c.a2(s) +p=a.c +p===$&&A.a() +o=B.c.a2(p)<65 +if(r&&q>16&&o)return A.f3(A.nv(n,s,70)) +return a}, +a_F(a){var s=a/100 +return(s<=0.0031308?s*12.92:1.055*Math.pow(s,0.4166666666666667)-0.055)*255}, +amo(a){var s=Math.pow(Math.abs(a),0.42) +return A.nT(a)*400*s/(s+27.13)}, +amp(a){var s=A.iK(a,$.aC_),r=A.amo(s[0]),q=A.amo(s[1]),p=A.amo(s[2]) +return Math.atan2((r+q-2*p)/9,(11*r+-12*q+p)/11)}, +aBZ(a,b){var s,r,q,p,o,n=$.wu[0],m=$.wu[1],l=$.wu[2],k=B.f.bp(b,4)<=1?0:100,j=B.f.bp(b,2)===0?0:100 +if(b<4){s=(a-k*m-j*l)/n +r=0<=s&&s<=100 +q=t.n +if(r)return A.b([s,k,j],q) +else return A.b([-1,-1,-1],q)}else if(b<8){p=(a-j*n-k*l)/m +r=0<=p&&p<=100 +q=t.n +if(r)return A.b([j,p,k],q) +else return A.b([-1,-1,-1],q)}else{o=(a-k*n-j*m)/l +r=0<=o&&o<=100 +q=t.n +if(r)return A.b([k,j,o],q) +else return A.b([-1,-1,-1],q)}}, +aBV(a,b){var s,r,q,p,o,n,m,l,k=A.b([-1,-1,-1],t.n) +for(s=k,r=0,q=0,p=!1,o=!0,n=0;n<12;++n){m=A.aBZ(a,n) +if(m[0]<0)continue +l=A.amp(m) +if(!p){q=l +r=q +s=m +k=s +p=!0 +continue}if(o||B.c.bp(l-r+25.132741228718345,6.283185307179586)100.01||b>100.01||a>100.01)return 0 +return((A.pP(g)&255)<<16|(A.pP(f[1])&255)<<8|A.pP(f[2])&255|4278190080)>>>0}a1-=(a0-a9)*a1/(2*a0)}return 0}, +nv(a,b,c){var s,r,q,p +if(b<0.0001||c<0.0001||c>99.9999){s=A.pP(A.n0(c)) +return A.apS(s,s,s)}r=A.xg(a)/180*3.141592653589793 +q=A.n0(c) +p=A.aBX(r,b,q) +if(p!==0)return p +return A.aAl(A.aBU(q,r))}, +apS(a,b,c){return((a&255)<<16|(b&255)<<8|c&255|4278190080)>>>0}, +aAl(a){return A.apS(A.pP(a[0]),A.pP(a[1]),A.pP(a[2]))}, +apU(a){return A.iK(A.b([A.c8(B.f.dw(a,16)&255),A.c8(B.f.dw(a,8)&255),A.c8(a&255)],t.n),$.hF)}, +n0(a){return 100*A.aAk((a+16)/116)}, +apT(a){return A.l2(a/100)*116-16}, +c8(a){var s=a/255 +if(s<=0.040449936)return s/12.92*100 +else return Math.pow((s+0.055)/1.055,2.4)*100}, +pP(a){var s=a/100 +return A.aCI(0,255,B.c.a2((s<=0.0031308?s*12.92:1.055*Math.pow(s,0.4166666666666667)-0.055)*255))}, +l2(a){if(a>0.008856451679035631)return Math.pow(a,0.3333333333333333) +else return(903.2962962962963*a+16)/116}, +aAk(a){var s=a*a*a +if(s>0.008856451679035631)return s +else return(116*a-16)/903.2962962962963}, +nT(a){if(a<0)return-1 +else if(a===0)return 0 +else return 1}, +amI(a,b,c){return(1-c)*a+c*b}, +aCI(a,b,c){if(cb)return b +return c}, +a4j(a,b,c){if(cb)return b +return c}, +xg(a){a=B.c.bp(a,360) +return a<0?a+360:a}, +iK(a,b){var s,r,q,p,o=a[0],n=b[0],m=n[0],l=a[1],k=n[1],j=a[2] +n=n[2] +s=b[1] +r=s[0] +q=s[1] +s=s[2] +p=b[2] +return A.b([o*m+l*k+j*n,o*r+l*q+j*s,o*p[0]+l*p[1]+j*p[2]],t.n)}, +an4(a,b){var s=0,r=A.z(t.vS),q +var $async$an4=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:q=$.ax9().ib(a,null,null,null,b) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$an4,r)}, +aCn(a){var s,r,q=A.b([],t.s) +for(s=0;sa.b +else r=!0 +if(r){o.zA() +o.b=A.c7(a.hM(s),o.gBP())}}o.c=a}, +zA(){var s=this.b +if(s!=null)s.aA(0) +this.b=null}, +a7p(){var s=this,r=s.a.$0(),q=s.c +q.toString +if(!r.QO(q)){s.b=null +q=s.d +if(q!=null)q.$0()}else s.b=A.c7(s.c.hM(r),s.gBP())}} +A.UV.prototype={ +nF(){var s=0,r=A.z(t.H),q=this +var $async$nF=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:s=2 +return A.B(q.a.$0(),$async$nF) +case 2:s=3 +return A.B(q.b.$0(),$async$nF) +case 3:return A.x(null,r)}}) +return A.y($async$nF,r)}, +aeP(){return A.aBE(new A.UZ(this),new A.V_(this))}, +a5D(){return A.aBB(new A.UW(this))}, +Lv(){return A.aBC(new A.UX(this),new A.UY(this))}} +A.UZ.prototype={ +$0(){var s=0,r=A.z(t.e),q,p=this,o +var $async$$0=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:o=p.a +s=3 +return A.B(o.nF(),$async$$0) +case 3:q=o.Lv() +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$$0,r)}, +$S:300} +A.V_.prototype={ +$1(a){return this.SY(a)}, +$0(){return this.$1(null)}, +SY(a){var s=0,r=A.z(t.e),q,p=this,o +var $async$$1=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.a +s=3 +return A.B(o.a.$1(a),$async$$1) +case 3:q=o.a5D() +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$$1,r)}, +$S:150} +A.UW.prototype={ +$1(a){return this.SX(a)}, +$0(){return this.$1(null)}, +SX(a){var s=0,r=A.z(t.e),q,p=this,o +var $async$$1=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.a +s=3 +return A.B(o.b.$0(),$async$$1) +case 3:q=o.Lv() +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$$1,r)}, +$S:150} +A.UX.prototype={ +$1(a){var s,r,q,p=$.az().gc_(),o=p.a,n=a.hostElement +n.toString +s=a.viewConstraints +r=$.auN +$.auN=r+1 +q=new A.NE(r,o,A.aqG(n),s,B.cK,A.aq6(n)) +q.HL(r,o,n,s) +p.S3(q,a) +return r}, +$S:256} +A.UY.prototype={ +$1(a){return $.az().gc_().Pu(a)}, +$S:123} +A.Wj.prototype={ +gb5(a){var s=this.d +if(s==null){this.IX() +s=this.d}s.toString +return s}, +gc3(){if(this.y==null)this.IX() +var s=this.e +s.toString +return s}, +IX(){var s,r,q,p,o,n,m,l,k=this,j=!1,i=null,h=k.y +if(h!=null){A.l9(h,0) +h=k.y +h.toString +A.l8(h,0) +k.y=null}h=k.x +s=h!=null&&h.length!==0 +if(s){h.toString +r=B.b.f9(h,0) +k.y=r +i=r +j=!0}else{h=k.f +$.br() +q=self.window.devicePixelRatio +if(q===0)q=1 +p=k.r +o=self.window.devicePixelRatio +if(o===0)o=1 +i=k.I3(h,p) +n=i +k.y=n +if(n==null){A.avU() +i=k.I3(h,p)}n=i.style +A.l(n,"position","absolute") +A.l(n,"width",A.h(h/q)+"px") +A.l(n,"height",A.h(p/o)+"px")}if(!J.e(k.z.lastChild,i))k.z.append(i) +try{if(j)i.style.removeProperty("z-index") +h=A.ft(i,"2d",null) +h.toString +k.d=t.e.a(h)}catch(m){}h=k.d +if(h==null){A.avU() +h=A.ft(i,"2d",null) +h.toString +h=k.d=t.e.a(h)}q=k.as +k.e=new A.X6(h,k,q,B.cT,B.fD,B.e_) +l=k.gb5(0) +l.save();++k.Q +A.aqb(l,1,0,0,1,0,0) +if(s)l.clearRect(0,0,k.f*q,k.r*q) +$.br() +h=self.window.devicePixelRatio +if(h===0)h=1 +p=self.window.devicePixelRatio +if(p===0)p=1 +l.scale(h*q,p*q) +k.a6_()}, +I3(a,b){var s=this.as +return A.aKM(B.c.d4(a*s),B.c.d4(b*s))}, +J(a){var s,r,q,p,o,n=this +n.Xp(0) +if(n.y!=null){s=n.d +if(s!=null)try{s.font=""}catch(q){r=A.a9(q) +if(!J.e(r.name,"NS_ERROR_FAILURE"))throw q}}if(n.y!=null){n.Bx() +n.e.eK(0) +p=n.w +if(p==null)p=n.w=A.b([],t.J) +o=n.y +o.toString +p.push(o) +n.e=n.d=null}n.x=n.w +n.e=n.d=n.y=n.w=null}, +LN(a,b,c,d){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=h.gb5(0) +if(d!=null)for(s=d.length,r=h.as,q=t.Ci;a>>16&255,m>>>8&255,m&255).a)) +s.translate(-5e4,0) +l=new Float32Array(2) +m=$.br().d +if(m==null){m=self.window.devicePixelRatio +if(m===0)m=1}l[0]=5e4*m +m=i.b +m.c.SE(l) +k=l[0] +j=l[1] +l[1]=0 +l[0]=0 +m.c.SE(l) +A.am2(s,k-l[0]) +A.am3(s,j-l[1])}}, +la(){var s=this,r=s.z +if((r==null?null:r.x)!=null)r=$.av().gbx()===B.P +else r=!1 +if(r)s.a.restore() +r=s.Q +if(r!=null){s.a.translate(-r.a,-r.b) +s.Q=null}}, +f5(a){var s=this.a +if(a===B.Y)s.stroke() +else A.XY(s,null)}, +eK(a){var s,r=this,q=r.a +A.XZ(q,"") +s=q.fillStyle +r.r=s==null?null:A.amw(s) +A.Y_(q,"") +s=q.strokeStyle +r.w=s==null?null:A.amw(s) +q.shadowBlur=0 +A.am1(q,"none") +A.am2(q,0) +A.am3(q,0) +q.globalCompositeOperation="source-over" +r.d=B.cT +A.aqc(q,1) +r.x=1 +q.lineCap="butt" +r.e=B.fD +q.lineJoin="miter" +r.f=B.e_ +r.Q=null}} +A.R6.prototype={ +J(a){B.b.J(this.a) +this.b=null +this.c=A.cK()}, +c8(a){var s=this.c,r=new A.bq(new Float32Array(16)) +r.bc(s) +s=this.b +s=s==null?null:A.hT(s,!0,t.Sv) +this.a.push(new A.JV(r,s))}, +bH(a){var s,r=this.a +if(r.length===0)return +s=r.pop() +this.c=s.a +this.b=s.b}, +au(a,b,c){this.c.au(0,b,c)}, +eq(a,b,c){this.c.eq(0,b,c)}, +l9(a,b){this.c.Sr(0,B.vY,b)}, +a8(a,b){this.c.cs(0,new A.bq(b))}, +kv(a){var s,r,q=this.b +if(q==null)q=this.b=A.b([],t.CK) +s=this.c +r=new A.bq(new Float32Array(16)) +r.bc(s) +q.push(new A.ol(a,null,null,r))}, +lN(a){var s,r,q=this.b +if(q==null)q=this.b=A.b([],t.CK) +s=this.c +r=new A.bq(new Float32Array(16)) +r.bc(s) +q.push(new A.ol(null,a,null,r))}, +hJ(a,b){var s,r,q=this.b +if(q==null)q=this.b=A.b([],t.CK) +s=this.c +r=new A.bq(new Float32Array(16)) +r.bc(s) +q.push(new A.ol(null,null,b,r))}} +A.h1.prototype={ +ix(a,b,c,d){var s=d.ay,r=this.a,q=a.b,p=d.a +if(s===B.hV){q===$&&A.a() +q=q.a +q===$&&A.a() +q=q.a +q.toString +A.b9(r,"drawImageRectCubic",[q,A.eS(b),A.eS(c),0.3333333333333333,0.3333333333333333,p])}else{q===$&&A.a() +q=q.a +q===$&&A.a() +q=q.a +q.toString +A.b9(r,"drawImageRectOptions",[q,A.eS(b),A.eS(c),A.aw0(s),A.aw2(s),p])}}, +aaT(a){var s=a.a +s===$&&A.a() +s=s.a +s.toString +this.a.drawPicture(s)}, +fP(a,b){var s=b==null?null:b.a +A.asA(this.a,s,A.eS(a),null,null)}} +A.ajC.prototype={ +$1(a){var s=A.df().b +if(s==null)s=null +else{s=s.canvasKitBaseUrl +if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/36335019a8eab588c3c2ea783c618d90505be233/":s)+a}, +$S:84} +A.We.prototype={ +c8(a){B.c.P(this.a.a.save())}, +fP(a,b){var s=t.C,r=this.a +if(a==null){s.a(b) +A.asA(r.a,b.a,null,null,null)}else r.fP(a,s.a(b))}, +bH(a){this.a.a.restore()}, +au(a,b,c){this.a.a.translate(b,c)}, +eq(a,b,c){var s=c==null?b:c +this.a.a.scale(b,s) +return null}, +l9(a,b){this.a.a.rotate(b*180/3.141592653589793,0,0)}, +a8(a,b){this.a.a.concat(A.aw1(A.DD(b)))}, +w4(a,b){this.a.a.clipRect(A.eS(a),$.apb()[1],b)}, +kv(a){return this.w4(a,!0)}, +w3(a,b){this.a.a.clipRRect(A.un(a),$.Ut(),b)}, +lN(a){return this.w3(a,!0)}, +w2(a,b,c){var s=t.E_.a(b).a +s===$&&A.a() +s=s.a +s.toString +this.a.a.clipPath(s,$.Ut(),c)}, +hJ(a,b){return this.w2(0,b,!0)}, +hN(a,b,c){A.b9(this.a.a,"drawLine",[a.a,a.b,b.a,b.b,t.C.a(c).a])}, +nU(a){this.a.a.drawPaint(t.C.a(a).a)}, +cS(a,b){t.C.a(b) +this.a.a.drawRect(A.eS(a),b.a)}, +dh(a,b){t.C.a(b) +this.a.a.drawRRect(A.un(a),b.a)}, +nT(a,b,c){t.C.a(c) +this.a.a.drawDRRect(A.un(a),A.un(b),c.a)}, +r_(a,b){t.C.a(b) +this.a.a.drawOval(A.eS(a),b.a)}, +dS(a,b,c){this.a.a.drawCircle(a.a,a.b,b,t.C.a(c).a)}, +Dy(a,b,c,d,e){t.C.a(e) +A.b9(this.a.a,"drawArc",[A.eS(a),b*57.29577951308232,c*57.29577951308232,!1,e.a])}, +dT(a,b){var s +t.E_.a(a) +t.C.a(b) +s=a.a +s===$&&A.a() +s=s.a +s.toString +this.a.a.drawPath(s,b.a)}, +kA(a,b,c,d){var s,r,q,p,o,n +t.XY.a(b) +t.C.a(d) +s=d.ay +r=this.a.a +q=b.b +p=c.a +o=c.b +n=d.a +if(s===B.hV){q===$&&A.a() +q=q.a +q===$&&A.a() +q=q.a +q.toString +A.b9(r,"drawImageCubic",[q,p,o,0.3333333333333333,0.3333333333333333,n])}else{q===$&&A.a() +q=q.a +q===$&&A.a() +q=q.a +q.toString +A.b9(r,"drawImageOptions",[q,p,o,A.aw0(s),A.aw2(s),n])}}, +ix(a,b,c,d){this.a.ix(t.XY.a(a),b,c,t.C.a(d))}, +kB(a,b){var s=t.z7.a(a).a +s===$&&A.a() +s=s.a +s.toString +this.a.a.drawParagraph(s,b.a,b.b)}, +nV(a,b,c,d){var s,r,q,p,o,n,m,l +t.E_.a(a) +s=$.br().d +if(s==null){s=self.window.devicePixelRatio +if(s===0)s=1}r=d?5:4 +q=A.Z(B.c.a2((b.gm(b)>>>24&255)*0.039),b.gm(b)>>>16&255,b.gm(b)>>>8&255,b.gm(b)&255) +p=A.Z(B.c.a2((b.gm(b)>>>24&255)*0.25),b.gm(b)>>>16&255,b.gm(b)>>>8&255,b.gm(b)&255) +o=t.e.a({ambient:A.uj(q),spot:A.uj(p)}) +n=$.b8.aO().computeTonalColors(o) +m=a.a +m===$&&A.a() +m=m.a +m.toString +l=new Float32Array(3) +l[2]=s*c +s=new Float32Array(3) +s[0]=0 +s[1]=-1 +s[2]=1 +A.b9(this.a.a,"drawShadow",[m,l,s,1.3333333333333333,n.ambient,n.spot,r|4])}} +A.HA.prototype={ +gt(a){var s=this.a +return s.gt(s)}, +j(a,b){if(b==null)return!1 +if(A.t(this)!==J.T(b))return!1 +return b instanceof A.HA&&b.a.j(0,this.a)}, +i(a){return this.a.i(0)}} +A.EU.prototype={$il_:1} +A.ET.prototype={ +AY(){return A.aJg(this.a,this.b)}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){if(b==null)return!1 +if(A.t(this)!==J.T(b))return!1 +return!1}, +i(a){return"ColorFilter.mode("+A.h(this.a)+", "+this.b.i(0)+")"}} +A.v6.prototype={ +ga4A(){var s,r,q=new Float32Array(20) +for(s=this.a,r=0;r<20;++r)if(B.b.p(B.DH,r))q[r]=s[r]/255 +else q[r]=s[r] +return q}, +AY(){return $.b8.aO().ColorFilter.MakeMatrix(this.ga4A())}, +gt(a){return A.bO(this.a)}, +j(a,b){if(b==null)return!1 +return A.t(this)===J.T(b)&&b instanceof A.v6&&A.hA(this.a,b.a)}, +i(a){return"ColorFilter.matrix("+A.h(this.a)+")"}} +A.pI.prototype={ +AY(){var s,r=$.b8.aO().ColorFilter,q=this.a.b +q===$&&A.a() +q=q.a +q.toString +s=this.b.b +s===$&&A.a() +s=s.a +s.toString +return r.MakeCompose(q,s)}, +j(a,b){if(b==null)return!1 +if(!(b instanceof A.pI))return!1 +return b.a.j(0,this.a)&&b.b.j(0,this.b)}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"ColorFilter.compose("+this.a.i(0)+", "+this.b.i(0)+")"}} +A.FN.prototype={ +gCz(){var s,r=this,q=r.b +if(q===$){s=r.a.$0() +J.alx(s) +r.b!==$&&A.a0() +r.b=s +q=s}return q}, +Td(){var s,r=this.d,q=this.c +if(r.length!==0){s=r.pop() +q.push(s) +return s}else{s=this.a.$0() +J.alx(s) +q.push(s) +return s}}, +l(){var s,r,q,p +for(s=this.d,r=s.length,q=0;q"))}, +aeQ(a,b){var s=this,r=new A.hE(),q=s.z +q===$&&A.a() +q=q.FO() +r.ks(new A.D(0,0,0+q.a,0+q.b)) +s.c.a.push(r) +q=s.d +if(J.e(q.k(0,a),b)){if(!B.b.p(s.w,a))s.f.D(0,a) +return}q.n(0,a,b) +s.f.D(0,a)}, +a_3(a,b){var s,r=this,q=r.e.bk(0,a,new A.a00(a)),p=q.b,o=p.style,n=b.b +A.l(o,"width",A.h(n.a)+"px") +A.l(o,"height",A.h(n.b)+"px") +A.l(o,"position","absolute") +s=r.a_o(b.c) +if(s!==q.c){q.a=r.a5O(s,p,q.a) +q.c=s}r.Zf(b,p,a)}, +a_o(a){var s,r,q,p +for(s=a.a,r=A.a_(s).h("co<1>"),s=new A.co(s,r),s=new A.bR(s,s.gu(0),r.h("bR")),r=r.h("aD.E"),q=0;s.q();){p=s.d +p=(p==null?r.a(p):p).a +if(p===B.r_||p===B.r0||p===B.r1)++q}return q}, +a5O(a,b,c){var s,r,q,p,o,n=c.parentNode!=null +if(n){s=c.nextSibling +c.remove()}else s=null +r=b +q=0 +while(!0){if(!(!J.e(r,c)&&q"),a1=new A.co(a1,r),a1=new A.bR(a1,a1.gu(0),r.h("bR")),r=r.h("aD.E"),q=a0.at,p=t.K,o=t.R,n=a3,m=1;a1.q();){l=a1.d +if(l==null)l=r.a(l) +switch(l.a.a){case 3:l=l.e +l.toString +k=new Float32Array(16) +j=new A.bq(k) +j.bc(l) +j.cs(0,s) +l=n.style +i=A.fk(k) +l.setProperty("transform",i,"") +s=j +break +case 0:case 1:case 2:n=n.parentElement +k=n.style +k.setProperty("clip","","") +k=n.style +k.setProperty("clip-path","","") +s=new A.bq(new Float32Array(16)) +s.Ys() +k=n.style +k.setProperty("transform","","") +k=n.style +k.setProperty("width","100%","") +k=n.style +k.setProperty("height","100%","") +k=l.b +if(k!=null){l=n.style +h=k.b +g=k.c +f=k.d +k=k.a +l.setProperty("clip","rect("+A.h(h)+"px, "+A.h(g)+"px, "+A.h(f)+"px, "+A.h(k)+"px)","")}else{k=l.c +if(k!=null){e=new self.window.flutterCanvasKit.Path() +e.setFillType($.Ux()[0]) +d=new A.v9(B.b3) +i=new A.eK("Path",o) +i.a=e +$.apj() +if($.ape())$.ap3().register(d,i) +d.a!==$&&A.bz() +d.a=i +l=i.a +l.toString +l.addRRect(A.un(k),!1) +a0.Jk() +k=a0.as.querySelector("#sk_path_defs") +k.toString +c="svgClip"+ ++a0.Q +l=self.document.createElementNS("http://www.w3.org/2000/svg","clipPath") +l.id=c +h=self.document.createElementNS("http://www.w3.org/2000/svg","path") +g=A.a5(i.a.toSVGString()) +if(g==null)g=p.a(g) +h.setAttribute("d",g) +l.append(h) +k.append(l) +J.em(q.bk(0,a4,new A.a_Z()),c) +l=n.style +l.setProperty("clip-path","url(#"+c+")","")}else{l=l.d +if(l!=null){a0.Jk() +k=a0.as.querySelector("#sk_path_defs") +k.toString +c="svgClip"+ ++a0.Q +h=self.document.createElementNS("http://www.w3.org/2000/svg","clipPath") +h.id=c +g=self.document.createElementNS("http://www.w3.org/2000/svg","path") +l=l.a +l===$&&A.a() +l=A.a5(l.a.toSVGString()) +if(l==null)l=p.a(l) +g.setAttribute("d",l) +h.append(g) +k.append(h) +J.em(q.bk(0,a4,new A.a0_()),c) +h=n.style +h.setProperty("clip-path","url(#"+c+")","")}}}l=n.style +l.setProperty("transform-origin","0 0 0","") +l=n.style +l.setProperty("position","absolute","") +break +case 4:l=l.f +l.toString +m*=l/255 +break}}A.l(a3.style,"opacity",B.c.i(m)) +b=$.br().d +if(b==null){a1=self.window.devicePixelRatio +b=a1===0?1:a1}a=1/b +a1=new Float32Array(16) +a1[15]=1 +a1[10]=1 +a1[5]=a +a1[0]=a +s=new A.bq(a1).rZ(s) +A.l(n.style,"transform",A.fk(s.a))}, +a62(a){A.l(a.style,"transform-origin","0 0 0") +A.l(a.style,"position","absolute")}, +Jk(){var s,r,q=this +if(q.as!=null)return +s=A.FW($.alt(),!1) +q.as=s +r=self.document.createElementNS("http://www.w3.org/2000/svg","defs") +r.id="sk_path_defs" +s.append(r) +r=q.as +r.toString +q.a.append(r)}, +ua(a,b){return this.UH(0,b)}, +UH(a,b){var s=0,r=A.z(t.H),q,p=this,o,n,m,l,k,j,i,h,g,f,e,d,c +var $async$ua=A.A(function(a0,a1){if(a0===1)return A.w(a1,r) +while(true)switch(s){case 0:c=A.b([b],t.H0) +for(o=p.c.b,n=o.length,m=0;m=0;--p){n=q[p] +if(n instanceof A.dn){if(!o){o=!0 +continue}B.b.f9(q,p) +B.b.Ev(r,0,n.a);--s +if(s===0)break}}o=A.df().gCH()===1 +for(p=q.length-1;p>0;--p){n=q[p] +if(n instanceof A.dn){if(o){B.b.L(n.a,r) +break}o=!0}}B.b.L(m.a,q) +return m}, +a7G(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this +if(a.m3(d.x))return +s=d.a11(d.x,a) +r=A.a_(s).h("aF<1>") +q=A.a7(new A.aF(s,new A.a01(),r),!0,r.h("j.E")) +p=A.aot(q) +for(r=p.length,o=0;o") +B.b.W(A.a7(new A.aZ(r,q),!0,q.h("j.E")),s.gPv()) +q=t.qN +s.c=new A.vY(A.b([],q),A.b([],q)) +q=s.d +q.J(0) +s.aak() +q.J(0) +r.J(0) +s.f.J(0) +B.b.J(s.w) +B.b.J(s.r) +s.x=new A.r7(A.b([],t.RX))}} +A.a03.prototype={ +$1(a){var s=a.b +s.toString +return s}, +$S:314} +A.a00.prototype={ +$0(){var s=A.avi(this.a) +return new A.rT(s,s)}, +$S:455} +A.a_Z.prototype={ +$0(){return A.ay(t.N)}, +$S:113} +A.a0_.prototype={ +$0(){return A.ay(t.N)}, +$S:113} +A.a01.prototype={ +$1(a){return a!==-1}, +$S:51} +A.a02.prototype={ +$2(a,b){var s=this.b[b],r=this.a +if(s!==-1){s=t.mg.a(r.x.a[s]) +a.b=s.b +s.b=null}else a.b=r.b.gws().Td()}, +$S:298} +A.rT.prototype={} +A.vX.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.vX&&b.a.j(0,s.a)&&b.b.j(0,s.b)&&b.c.j(0,s.c)}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.nV.prototype={ +F(){return"MutatorType."+this.b}} +A.hj.prototype={ +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(!(b instanceof A.hj))return!1 +s=r.a +if(s!==b.a)return!1 +switch(s.a){case 0:return J.e(r.b,b.b) +case 1:return J.e(r.c,b.c) +case 2:return r.d==b.d +case 3:return r.e==b.e +case 4:return r.f==b.f +default:return!1}}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.nW.prototype={ +j(a,b){if(b==null)return!1 +if(b===this)return!0 +return b instanceof A.nW&&A.hA(b.a,this.a)}, +gt(a){return A.bO(this.a)}, +ga0(a){var s=this.a,r=A.a_(s).h("co<1>") +s=new A.co(s,r) +return new A.bR(s,s.gu(0),r.h("bR"))}} +A.vY.prototype={} +A.Kx.prototype={ +gDZ(){var s,r=this.b +if(r===$){s=A.df().b +if(s==null)s=null +else{s=s.useColorEmoji +if(s==null)s=null}s=s===!0 +r=this.b=A.aBL(new A.a9W(this),A.b([A.S("Noto Sans","notosans/v36/o-0mIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjcz6L1SoM-jCpoiyD9A99d41P6zHtY.ttf",!0),A.S("Noto Color Emoji","notocoloremoji/v30/Yq6P-KqIXTD0t4D9z1ESnKM3-HpFab5s79iz64w.ttf",s),A.S("Noto Emoji","notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf",!s),A.S("Noto Music","notomusic/v20/pe0rMIiSN5pO63htf1sxIteQB9Zra1U.ttf",!0),A.S("Noto Sans Symbols","notosanssymbols/v43/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf",!0),A.S("Noto Sans Symbols 2","notosanssymbols2/v23/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf",!0),A.S("Noto Sans Adlam","notosansadlam/v22/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf",!0),A.S("Noto Sans Anatolian Hieroglyphs","notosansanatolianhieroglyphs/v16/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf",!0),A.S("Noto Sans Arabic","notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf",!0),A.S("Noto Sans Armenian","notosansarmenian/v43/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf",!0),A.S("Noto Sans Avestan","notosansavestan/v21/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf",!0),A.S("Noto Sans Balinese","notosansbalinese/v24/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf",!0),A.S("Noto Sans Bamum","notosansbamum/v27/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf",!0),A.S("Noto Sans Bassa Vah","notosansbassavah/v17/PN_bRee-r3f7LnqsD5sax12gjZn7mBpL5YwUpA2MBdcFn4MaAc6p34gH-GD7.ttf",!0),A.S("Noto Sans Batak","notosansbatak/v20/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf",!0),A.S("Noto Sans Bengali","notosansbengali/v20/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf",!0),A.S("Noto Sans Bhaiksuki","notosansbhaiksuki/v17/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf",!0),A.S("Noto Sans Brahmi","notosansbrahmi/v19/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf",!0),A.S("Noto Sans Buginese","notosansbuginese/v18/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf",!0),A.S("Noto Sans Buhid","notosansbuhid/v22/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf",!0),A.S("Noto Sans Canadian Aboriginal","notosanscanadianaboriginal/v26/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf",!0),A.S("Noto Sans Carian","notosanscarian/v16/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf",!0),A.S("Noto Sans Caucasian Albanian","notosanscaucasianalbanian/v18/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf",!0),A.S("Noto Sans Chakma","notosanschakma/v17/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf",!0),A.S("Noto Sans Cham","notosanscham/v30/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf",!0),A.S("Noto Sans Cherokee","notosanscherokee/v20/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf",!0),A.S("Noto Sans Coptic","notosanscoptic/v21/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf",!0),A.S("Noto Sans Cuneiform","notosanscuneiform/v17/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf",!0),A.S("Noto Sans Cypriot","notosanscypriot/v19/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf",!0),A.S("Noto Sans Deseret","notosansdeseret/v17/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf",!0),A.S("Noto Sans Devanagari","notosansdevanagari/v25/TuGoUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv3NaV_SNmI0b8QQCQmHn6B2OHjbL_08AlXQly-AzoFoW4Ow.ttf",!0),A.S("Noto Sans Duployan","notosansduployan/v17/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf",!0),A.S("Noto Sans Egyptian Hieroglyphs","notosansegyptianhieroglyphs/v29/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf",!0),A.S("Noto Sans Elbasan","notosanselbasan/v16/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf",!0),A.S("Noto Sans Elymaic","notosanselymaic/v17/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf",!0),A.S("Noto Sans Ethiopic","notosansethiopic/v47/7cHPv50vjIepfJVOZZgcpQ5B9FBTH9KGNfhSTgtoow1KVnIvyBoMSzUMacb-T35OK6DjwmfeaY9u.ttf",!0),A.S("Noto Sans Georgian","notosansgeorgian/v44/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf",!0),A.S("Noto Sans Glagolitic","notosansglagolitic/v18/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf",!0),A.S("Noto Sans Gothic","notosansgothic/v16/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf",!0),A.S("Noto Sans Grantha","notosansgrantha/v17/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf",!0),A.S("Noto Sans Gujarati","notosansgujarati/v25/wlpWgx_HC1ti5ViekvcxnhMlCVo3f5pv17ivlzsUB14gg1TMR2Gw4VceEl7MA_ypFwPM_OdiEH0s.ttf",!0),A.S("Noto Sans Gunjala Gondi","notosansgunjalagondi/v19/bWtX7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5g0ef3PLtymzNxYL4YDE4J4vCTxEJQ.ttf",!0),A.S("Noto Sans Gurmukhi","notosansgurmukhi/v26/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf",!0),A.S("Noto Sans HK","notosanshk/v31/nKKF-GM_FYFRJvXzVXaAPe97P1KHynJFP716qHB--oWTiYjNvVA.ttf",!0),A.S("Noto Sans Hanunoo","notosanshanunoo/v21/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf",!0),A.S("Noto Sans Hatran","notosanshatran/v16/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf",!0),A.S("Noto Sans Hebrew","notosanshebrew/v43/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf",!0),A.S("Noto Sans Imperial Aramaic","notosansimperialaramaic/v16/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf",!0),A.S("Noto Sans Indic Siyaq Numbers","notosansindicsiyaqnumbers/v16/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf",!0),A.S("Noto Sans Inscriptional Pahlavi","notosansinscriptionalpahlavi/v16/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf",!0),A.S("Noto Sans Inscriptional Parthian","notosansinscriptionalparthian/v16/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf",!0),A.S("Noto Sans JP","notosansjp/v52/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFBEj75vY0rw-oME.ttf",!0),A.S("Noto Sans Javanese","notosansjavanese/v23/2V01KJkDAIA6Hp4zoSScDjV0Y-eoHAHT-Z3MngEefiidxJnkFFliZYWj4O8.ttf",!0),A.S("Noto Sans KR","notosanskr/v36/PbyxFmXiEBPT4ITbgNA5Cgms3VYcOA-vvnIzzuoyeLTq8H4hfeE.ttf",!0),A.S("Noto Sans Kaithi","notosanskaithi/v21/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf",!0),A.S("Noto Sans Kannada","notosanskannada/v27/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf",!0),A.S("Noto Sans Kayah Li","notosanskayahli/v21/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf",!0),A.S("Noto Sans Kharoshthi","notosanskharoshthi/v16/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf",!0),A.S("Noto Sans Khmer","notosanskhmer/v24/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf",!0),A.S("Noto Sans Khojki","notosanskhojki/v19/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf",!0),A.S("Noto Sans Khudawadi","notosanskhudawadi/v21/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf",!0),A.S("Noto Sans Lao","notosanslao/v30/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf",!0),A.S("Noto Sans Lepcha","notosanslepcha/v19/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf",!0),A.S("Noto Sans Limbu","notosanslimbu/v22/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf",!0),A.S("Noto Sans Linear A","notosanslineara/v18/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf",!0),A.S("Noto Sans Linear B","notosanslinearb/v17/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf",!0),A.S("Noto Sans Lisu","notosanslisu/v25/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf",!0),A.S("Noto Sans Lycian","notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf",!0),A.S("Noto Sans Lydian","notosanslydian/v18/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf",!0),A.S("Noto Sans Mahajani","notosansmahajani/v19/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf",!0),A.S("Noto Sans Malayalam","notosansmalayalam/v26/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf",!0),A.S("Noto Sans Mandaic","notosansmandaic/v16/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf",!0),A.S("Noto Sans Manichaean","notosansmanichaean/v18/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf",!0),A.S("Noto Sans Marchen","notosansmarchen/v19/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf",!0),A.S("Noto Sans Masaram Gondi","notosansmasaramgondi/v17/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf",!0),A.S("Noto Sans Math","notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf",!0),A.S("Noto Sans Mayan Numerals","notosansmayannumerals/v16/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf",!0),A.S("Noto Sans Medefaidrin","notosansmedefaidrin/v23/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf",!0),A.S("Noto Sans Meetei Mayek","notosansmeeteimayek/v15/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf",!0),A.S("Noto Sans Meroitic","notosansmeroitic/v18/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf",!0),A.S("Noto Sans Miao","notosansmiao/v17/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf",!0),A.S("Noto Sans Modi","notosansmodi/v23/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf",!0),A.S("Noto Sans Mongolian","notosansmongolian/v21/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf",!0),A.S("Noto Sans Mro","notosansmro/v18/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf",!0),A.S("Noto Sans Multani","notosansmultani/v20/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf",!0),A.S("Noto Sans Myanmar","notosansmyanmar/v20/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf",!0),A.S("Noto Sans NKo","notosansnko/v6/esDX31ZdNv-KYGGJpKGk2_RpMpCMHMLBrdA.ttf",!0),A.S("Noto Sans Nabataean","notosansnabataean/v16/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf",!0),A.S("Noto Sans New Tai Lue","notosansnewtailue/v22/H4cKBW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wqaLy-OJgU3p_pdeXAYUbghFPKzeY.ttf",!0),A.S("Noto Sans Newa","notosansnewa/v16/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf",!0),A.S("Noto Sans Nushu","notosansnushu/v19/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf",!0),A.S("Noto Sans Ogham","notosansogham/v17/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf",!0),A.S("Noto Sans Ol Chiki","notosansolchiki/v29/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf",!0),A.S("Noto Sans Old Hungarian","notosansoldhungarian/v18/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf",!0),A.S("Noto Sans Old Italic","notosansolditalic/v16/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf",!0),A.S("Noto Sans Old North Arabian","notosansoldnortharabian/v16/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf",!0),A.S("Noto Sans Old Permic","notosansoldpermic/v17/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf",!0),A.S("Noto Sans Old Persian","notosansoldpersian/v16/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf",!0),A.S("Noto Sans Old Sogdian","notosansoldsogdian/v16/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf",!0),A.S("Noto Sans Old South Arabian","notosansoldsoutharabian/v16/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf",!0),A.S("Noto Sans Old Turkic","notosansoldturkic/v17/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf",!0),A.S("Noto Sans Oriya","notosansoriya/v31/AYCppXfzfccDCstK_hrjDyADv5e9748vhj3CJBLHIARtgD6TJQS0dJT5Ivj0f6_c6LhHBRe-.ttf",!0),A.S("Noto Sans Osage","notosansosage/v18/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf",!0),A.S("Noto Sans Osmanya","notosansosmanya/v18/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf",!0),A.S("Noto Sans Pahawh Hmong","notosanspahawhhmong/v18/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf",!0),A.S("Noto Sans Palmyrene","notosanspalmyrene/v16/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf",!0),A.S("Noto Sans Pau Cin Hau","notosanspaucinhau/v20/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf",!0),A.S("Noto Sans Phags Pa","notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf",!0),A.S("Noto Sans Phoenician","notosansphoenician/v17/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf",!0),A.S("Noto Sans Psalter Pahlavi","notosanspsalterpahlavi/v16/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf",!0),A.S("Noto Sans Rejang","notosansrejang/v21/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf",!0),A.S("Noto Sans Runic","notosansrunic/v17/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf",!0),A.S("Noto Sans SC","notosanssc/v36/k3kCo84MPvpLmixcA63oeAL7Iqp5IZJF9bmaG9_FnYxNbPzS5HE.ttf",!0),A.S("Noto Sans Saurashtra","notosanssaurashtra/v23/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf",!0),A.S("Noto Sans Sharada","notosanssharada/v16/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf",!0),A.S("Noto Sans Shavian","notosansshavian/v17/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf",!0),A.S("Noto Sans Siddham","notosanssiddham/v20/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf",!0),A.S("Noto Sans Sinhala","notosanssinhala/v26/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf",!0),A.S("Noto Sans Sogdian","notosanssogdian/v16/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf",!0),A.S("Noto Sans Sora Sompeng","notosanssorasompeng/v24/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf",!0),A.S("Noto Sans Soyombo","notosanssoyombo/v17/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf",!0),A.S("Noto Sans Sundanese","notosanssundanese/v26/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf",!0),A.S("Noto Sans Syloti Nagri","notosanssylotinagri/v20/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf",!0),A.S("Noto Sans Syriac","notosanssyriac/v16/Ktk7AKuMeZjqPnXgyqribqzQqgW0LYiVqV7dXcP0C-VD9MaJyZfUL_FC.ttf",!0),A.S("Noto Sans TC","notosanstc/v35/-nFuOG829Oofr2wohFbTp9ifNAn722rq0MXz76Cy_CpOtma3uNQ.ttf",!0),A.S("Noto Sans Tagalog","notosanstagalog/v22/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf",!0),A.S("Noto Sans Tagbanwa","notosanstagbanwa/v18/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf",!0),A.S("Noto Sans Tai Le","notosanstaile/v17/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf",!0),A.S("Noto Sans Tai Tham","notosanstaitham/v20/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf",!0),A.S("Noto Sans Tai Viet","notosanstaiviet/v19/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf",!0),A.S("Noto Sans Takri","notosanstakri/v24/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf",!0),A.S("Noto Sans Tamil","notosanstamil/v27/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf",!0),A.S("Noto Sans Tamil Supplement","notosanstamilsupplement/v21/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf",!0),A.S("Noto Sans Telugu","notosanstelugu/v26/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf",!0),A.S("Noto Sans Thaana","notosansthaana/v24/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf",!0),A.S("Noto Sans Thai","notosansthai/v25/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf",!0),A.S("Noto Sans Tifinagh","notosanstifinagh/v20/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf",!0),A.S("Noto Sans Tirhuta","notosanstirhuta/v16/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf",!0),A.S("Noto Sans Ugaritic","notosansugaritic/v16/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf",!0),A.S("Noto Sans Vai","notosansvai/v17/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf",!0),A.S("Noto Sans Wancho","notosanswancho/v17/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf",!0),A.S("Noto Sans Warang Citi","notosanswarangciti/v17/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf",!0),A.S("Noto Sans Yi","notosansyi/v19/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf",!0),A.S("Noto Sans Zanabazar Square","notosanszanabazarsquare/v19/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf",!0),A.S("Noto Serif Tibetan","notoseriftibetan/v22/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIrYcPS7rdSy_32c.ttf",!0)],t.Qg))}return r}, +a5S(){var s,r,q,p,o,n=this,m=n.r +if(m!=null){m.delete() +n.r=null +m=n.w +if(m!=null)m.delete() +n.w=null}n.r=$.b8.aO().TypefaceFontProvider.Make() +m=$.b8.aO().FontCollection.Make() +n.w=m +m.enableFontFallback() +n.w.setDefaultFontManager(n.r) +m=n.f +m.J(0) +for(s=n.d,r=s.length,q=0;q=q.c||q.b>=q.d)q=o.b +else{n=o.b +if(!(n.a>=n.c||n.b>=n.d))q=q.kE(n)}}return q}, +jI(a){var s,r,q,p,o +for(s=this.c,r=s.length,q=0;q=o.c||o.b>=o.d))p.f5(a)}}} +A.JN.prototype={ +f5(a){this.jI(a)}} +A.F2.prototype={ +iP(a,b){var s,r,q=null,p=this.f,o=a.c.a +o.push(new A.hj(B.r1,q,q,p,q,q)) +s=this.l3(a,b) +p=p.a +p===$&&A.a() +r=A.akE(p.a.getBounds()) +if(s.xB(r))this.b=s.cX(r) +o.pop()}, +f5(a){var s,r=this,q=a.a +q.c8(0) +s=r.r +q.a9k(0,r.f,s!==B.Z) +s=s===B.cl +if(s)q.fP(r.b,null) +r.jI(a) +if(s)q.bH(0) +q.bH(0)}, +$iWE:1} +A.F6.prototype={ +iP(a,b){var s,r=null,q=this.f,p=a.c.a +p.push(new A.hj(B.r_,q,r,r,r,r)) +s=this.l3(a,b) +if(s.xB(q))this.b=s.cX(q) +p.pop()}, +f5(a){var s,r,q=a.a +q.c8(0) +s=this.f +r=this.r +q.OC(s,B.eo,r!==B.Z) +r=r===B.cl +if(r)q.fP(s,null) +this.jI(a) +if(r)q.bH(0) +q.bH(0)}, +$iWH:1} +A.F4.prototype={ +iP(a,b){var s,r,q,p,o=null,n=this.f,m=a.c.a +m.push(new A.hj(B.r0,o,n,o,o,o)) +s=this.l3(a,b) +r=n.a +q=n.b +p=n.c +n=n.d +if(s.xB(new A.D(r,q,p,n)))this.b=s.cX(new A.D(r,q,p,n)) +m.pop()}, +f5(a){var s,r=this,q=a.a +q.c8(0) +s=r.r +q.a9m(r.f,s!==B.Z) +s=s===B.cl +if(s)q.fP(r.b,null) +r.jI(a) +if(s)q.bH(0) +q.bH(0)}, +$iWF:1} +A.If.prototype={ +iP(a,b){var s,r,q,p,o=this,n=null,m=new A.bq(new Float32Array(16)) +m.bc(b) +s=o.r +r=s.a +s=s.b +m.au(0,r,s) +q=A.cK() +q.j1(r,s,0) +p=a.c.a +p.push(A.amL(q)) +p.push(new A.hj(B.HE,n,n,n,n,o.f)) +o.UZ(a,m) +p.pop() +p.pop() +o.b=o.b.au(0,r,s)}, +f5(a){var s,r,q,p=this,o=A.Wv() +o.sab(0,A.Z(p.f,0,0,0)) +s=a.a +s.c8(0) +r=p.r +q=r.a +r=r.b +s.au(0,q,r) +s.fP(p.b.cY(new A.m(-q,-r)),o) +r=o.b +r===$&&A.a() +r.l() +p.jI(a) +s.bH(0) +s.bH(0)}, +$ia5K:1} +A.A_.prototype={ +iP(a,b){var s=this.f,r=b.rZ(s),q=a.c.a +q.push(A.amL(s)) +this.b=A.uo(s,this.l3(a,r)) +q.pop()}, +f5(a){var s=a.a +s.c8(0) +s.a8(0,this.f.a) +this.jI(a) +s.bH(0)}, +$iLl:1} +A.Id.prototype={$ia5J:1} +A.GY.prototype={ +iP(a,b){var s,r,q,p,o=this,n=new A.bq(new Float32Array(16)) +n.bc(b) +s=o.f +r=s.a +s=s.b +n.au(0,r,s) +q=A.cK() +q.j1(r,s,0) +s=a.c.a +s.push(A.amL(q)) +p=t.p1.a(o.r) +p.QC(new A.a0m(o,o.l3(a,n))) +s.pop()}, +f5(a){var s,r,q=this,p=a.a +p.c8(0) +s=q.f +p.au(0,s.a,s.b) +p.OC(q.b,B.eo,!1) +r=A.Wv() +r.sacP(q.r) +p.fP(q.b,r) +s=r.b +s===$&&A.a() +s.l() +q.jI(a) +p.bH(0) +p.bH(0)}, +$ia0l:1} +A.a0m.prototype={ +$1(a){var s=A.eS(this.b) +s=a.getOutputBounds(s) +this.a.b=new A.D(s[0],s[1],s[2],s[3])}, +$S:1} +A.IS.prototype={ +iP(a,b){var s=this.c.a +s===$&&A.a() +this.b=A.akE(s.a.cullRect()).cY(this.d)}, +f5(a){var s,r +B.c.P(a.b.a.save()) +s=this.d +a.b.a.translate(s.a,s.b) +s=a.b +r=this.c.a +r===$&&A.a() +r=r.a +r.toString +s.a.drawPicture(r) +a.b.a.restore()}} +A.IW.prototype={ +iP(a,b){var s=this,r=s.d,q=r.a,p=r.b,o=s.e,n=s.f +s.b=new A.D(q,p,q+o,p+n) +p=a.b +if(p!=null)p.aeQ(s.c,new A.vX(r,new A.K(o,n),new A.nW(A.hT(a.c.a,!0,t.CW))))}, +f5(a){var s,r,q,p,o,n,m=a.d +if(m==null)s=null +else{r=this.c +m.b.a.gcu().QG(r) +q=m.c.c +m.r.push(r) +p=m.c;++p.c +o=p.a +if(q")),r=r.y[1];s.q();){q=s.a +q=(q==null?r.a(q):q).r +p=new A.a5j(a) +p.$1(q.gCz()) +B.b.W(q.d,p) +B.b.W(q.c,p)}}} +A.a5i.prototype={ +$0(){return A.aD_(this.b,this.a)}, +$S:320} +A.a5j.prototype={ +$1(a){a.y=this.a +a.BK()}, +$S:350} +A.nU.prototype={ +RD(){this.r.gCz().qJ(this.c)}, +te(a,b){var s,r,q +t.Oz.a(a) +a.qJ(this.c) +s=this.c +r=$.br().d +if(r==null){q=self.window.devicePixelRatio +r=q===0?1:q}q=a.ax +A.l(a.Q.style,"transform","translate(0px, "+A.h(s.b/r-q/r)+"px)") +q=a.a.a.getCanvas() +q.clear(A.akg($.Uw(),B.Q)) +B.b.W(b,new A.h1(q).gPB()) +a.a.a.flush() +return A.cm(null,t.H)}, +gws(){return this.r}} +A.a5k.prototype={ +$0(){var s=A.aS(self.document,"flt-canvas-container") +if($.als())$.av().gbx() +return new A.i8(!1,!0,s)}, +$S:435} +A.v7.prototype={ +a8q(a){this.a.push(a)}, +c8(a){var s,r,q +for(s=this.a,r=0,q=0;q0))p.ax=null +else{r=a.a +q=new A.Wu(r,s) +s=$.b8.aO().MaskFilter.MakeBlur($.ayw()[r.a],s,!0) +s.toString +r=new A.eK(o,t.R) +r.ie(q,s,o,t.e) +q.c!==$&&A.bz() +q.c=r +p.ax=q}s=p.ax +if(s==null)s=null +else{s=s.c +s===$&&A.a() +s=s.a +s.toString}p.a.setMaskFilter(s)}, +skL(a){var s,r=this +if(r.ay===a)return +r.ay=a +s=r.as +s=s==null?null:s.Gj(a) +r.a.setShader(s)}, +sOD(a){var s,r=this +if(r.ch===a)return +r.ch=a +r.Q=null +s=A.aJ7(a) +s.toString +s=r.CW=A.a1L(s) +if(r.z){r.Q=s +s=r.CW=A.a1L(new A.pI($.alq(),s))}s=s.b +s===$&&A.a() +s=s.a +s.toString +r.a.setColorFilter(s)}, +sacP(a){if(J.e(this.c,a))return +t.fz.a(a) +a.QC(new A.Ww(this)) +this.c=a}, +i(a){return"Paint()"}, +$ia5V:1} +A.Ww.prototype={ +$1(a){this.a.a.setImageFilter(a)}, +$S:1} +A.v9.prototype={ +gri(){return this.b}, +sri(a){var s +if(this.b===a)return +this.b=a +s=this.a +s===$&&A.a() +s=s.a +s.toString +s.setFillType($.Ux()[a.a])}, +Cm(a){var s=this.a +s===$&&A.a() +s=s.a +s.toString +s.addOval(A.eS(a),!1,1)}, +h3(a){var s=this.a +s===$&&A.a() +s=s.a +s.toString +s.addRRect(A.un(a),!1)}, +vN(a){var s=this.a +s===$&&A.a() +s=s.a +s.toString +s.addRect(A.eS(a))}, +nD(a,b,c,d,e){var s=this.a +s===$&&A.a() +s=s.a +s.toString +s.arcToOval(A.eS(b),c*57.29577951308232,d*57.29577951308232,e)}, +aM(a){var s=this.a +s===$&&A.a() +s.a.close()}, +p(a,b){var s=this.a +s===$&&A.a() +return s.a.contains(b.a,b.b)}, +eQ(a){var s=this.a +s===$&&A.a() +return A.akE(s.a.getBounds())}, +da(a,b,c){var s=this.a +s===$&&A.a() +s.a.lineTo(b,c)}, +f4(a,b,c){var s=this.a +s===$&&A.a() +s.a.moveTo(b,c)}, +eK(a){var s +this.b=B.b3 +s=this.a +s===$&&A.a() +s.a.reset()}, +cY(a){var s,r=this.a +r===$&&A.a() +s=r.a.copy() +A.b9(s,"transform",[1,0,a.a,0,1,a.b,0,0,1]) +r=this.b +s.setFillType($.Ux()[r.a]) +return A.apO(s,r)}} +A.n_.prototype={ +l(){var s=this.a +s===$&&A.a() +s.l()}, +ts(a,b){var s,r,q,p=$.Wf.aO().e.qJ(new A.jn(a,b)).a,o=p.getCanvas() +o.clear(A.akg($.Uw(),B.Q)) +s=this.a +s===$&&A.a() +s=s.a +s.toString +o.drawPicture(s) +r=p.makeImageSnapshot() +p=$.b8.aO().AlphaType.Premul +s=$.b8.aO().ColorType.RGBA_8888 +q=A.an8(p,self.window.flutterCanvasKit.ColorSpace.SRGB,s,b,a) +s=r.readPixels(0,0,q) +s=$.b8.aO().MakeImage(q,s,4*a) +if(s==null)throw A.c(A.R("Unable to convert image pixels into SkImage.")) +return A.EW(s,null)}} +A.hE.prototype={ +ks(a){var s=new self.window.flutterCanvasKit.PictureRecorder() +this.a=s +return this.b=new A.h1(s.beginRecording(A.eS(a),!0))}, +m2(){var s,r,q,p=this.a +if(p==null)throw A.c(A.R("PictureRecorder is not recording")) +s=p.finishRecordingAsPicture() +p.delete() +this.a=null +r=new A.n_() +q=new A.eK("Picture",t.R) +q.ie(r,s,"Picture",t.e) +r.a!==$&&A.bz() +r.a=q +return r}, +gQT(){return this.a!=null}} +A.a6P.prototype={} +A.rV.prototype={ +gyj(){var s,r,q,p,o,n,m,l=this,k=l.e +if(k===$){s=l.a.gcu() +r=t.qN +q=A.b([],r) +r=A.b([],r) +p=t.S +o=t.t +n=A.b([],o) +o=A.b([],o) +m=A.b([],t.RX) +l.e!==$&&A.a0() +k=l.e=new A.GS(s.d,l,new A.vY(q,r),A.E(p,t.GB),A.E(p,t.JH),A.ay(p),n,o,new A.r7(m),A.E(p,t.c8))}return k}, +wu(a){return this.aaS(a)}, +aaS(a){var s=0,r=A.z(t.H),q,p=this,o,n,m,l +var $async$wu=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:l=p.a.gjJ() +if(l.gM(0)){s=1 +break}p.c=new A.jn(B.c.a2(l.a),B.c.a2(l.b)) +p.RD() +o=p.gyj() +n=p.c +o.z=n +m=new A.hE() +n=n.FO() +m.ks(new A.D(0,0,0+n.a,0+n.b)) +n=m.b +n.toString +new A.ZX(n,null,p.gyj()).aeX(a,!0) +s=3 +return A.B(p.gyj().ua(0,m.m2()),$async$wu) +case 3:case 1:return A.x(q,r)}}) +return A.y($async$wu,r)}} +A.XR.prototype={} +A.JC.prototype={} +A.r4.prototype={ +lH(){var s,r,q,p=this,o=$.br().d +if(o==null){s=self.window.devicePixelRatio +o=s===0?1:s}s=p.c +r=p.d +q=p.b.style +A.l(q,"width",A.h(s/o)+"px") +A.l(q,"height",A.h(r/o)+"px") +p.r=o}, +Jj(a){var s,r=this,q=a.a +if(q===r.c&&a.b===r.d){q=$.br().d +if(q==null){q=self.window.devicePixelRatio +if(q===0)q=1}if(q!==r.r)r.lH() +return}r.c=q +r.d=a.b +s=r.b +A.l9(s,q) +A.l8(s,r.d) +r.lH()}, +hk(a){}, +l(){this.a.remove()}, +gof(){return this.a}} +A.pH.prototype={ +F(){return"CanvasKitVariant."+this.b}} +A.v_.prototype={ +gFF(){return"canvaskit"}, +ga0F(){var s,r,q,p,o=this.b +if(o===$){s=t.N +r=A.b([],t.LX) +q=t.Pc +p=A.b([],q) +q=A.b([],q) +this.b!==$&&A.a0() +o=this.b=new A.Kx(A.ay(s),r,p,q,A.E(s,t.gS))}return o}, +grl(){var s,r,q,p,o=this.b +if(o===$){s=t.N +r=A.b([],t.LX) +q=t.Pc +p=A.b([],q) +q=A.b([],q) +this.b!==$&&A.a0() +o=this.b=new A.Kx(A.ay(s),r,p,q,A.E(s,t.gS))}return o}, +hk(a){var s=0,r=A.z(t.H),q,p=this,o +var $async$hk=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.a +q=o==null?p.a=new A.Wg(p).$0():o +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$hk,r)}, +b8(){return A.Wv()}, +P0(a,b){if(a.gQT())A.ab(A.cz(u.r,null)) +return new A.We(t.wW.a(a).ks(B.dR))}, +P3(a,b,c,d,e,f,g){var s=new A.EV(b,c,d,e,f,g) +s.Yz() +return s}, +P6(){return new A.hE()}, +D3(){var s=new A.JN(A.b([],t.k5),B.M),r=new A.a1w(s) +r.b=s +return r}, +P4(a,b){var s,r,q,p,o="ImageFilter.matrix",n=new Float64Array(A.kw(a)) +A.DD(a) +n=new A.Ao(n,b) +s=$.b8.aO().ImageFilter +r=A.aKI(a) +q=$.ay1().k(0,b) +q.toString +p=new A.eK(o,t.R) +p.ie(n,A.b9(s,"MakeMatrixTransform",[r,q,null]),o,t.e) +n.d!==$&&A.bz() +n.d=p +return n}, +iH(a,b,c,d){return this.ad9(a,b,c,d)}, +Ex(a){return this.iH(a,!0,null,null)}, +ad9(a,b,c,d){var s=0,r=A.z(t.hP),q +var $async$iH=A.A(function(e,f){if(e===1)return A.w(f,r) +while(true)switch(s){case 0:q=A.aKq(a,d,c) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$iH,r)}, +Pb(a,b,c,d,e,f,g,h,i){return A.aKp(a,b,c,d,e,!0,g,h,i)}, +dC(){return A.aA9()}, +P8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,a0,a1,a2){var s=t.eQ +s.a(a) +s.a(n) +return A.alM(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,g,h,a0,a1,a2)}, +P5(a,b,c,d,e,f,g,h,i,j,k,l){var s,r=f===0,q=r?null:f,p=t.e,o=p.a({}),n=$.ayC()[j.a] +o.textAlign=n +if(k!=null)o.textDirection=$.ayF()[k.a] +if(h!=null)o.maxLines=h +n=q!=null +if(n)o.heightMultiplier=q +if(l!=null)o.textHeightBehavior=$.ayG()[0] +if(a!=null)o.ellipsis=a +if(i!=null)o.strutStyle=A.aA8(i,l) +o.replaceTabCharacters=!0 +s=p.a({}) +if(e!=null)s.fontStyle=A.aoG(e,d) +if(c!=null)A.asH(s,c) +if(n)A.asJ(s,q) +A.asG(s,A.anW(b,null)) +o.textStyle=s +o.applyRoundingHack=!1 +q=$.b8.aO().ParagraphStyle(o) +return new A.v8(q,j,k,e,d,h,b,b,c,r?null:f,l,i,a,g)}, +wg(a){var s,r,q,p=null +t.m6.a(a) +s=A.b([],t.AT) +r=$.b8.aO().ParagraphBuilder.MakeFromFontCollection(a.a,$.Wf.aO().ga0F().w) +q=a.z +q=q==null?p:q.c +s.push(A.alM(p,p,p,p,p,p,a.w,p,p,a.x,a.e,p,a.d,p,a.y,q,p,p,a.r,p,p,p,p)) +return new A.Wx(r,a,s)}, +oE(a,b){return this.afn(a,b)}, +afn(a,b){var s=0,r=A.z(t.H),q,p=this,o,n,m,l +var $async$oE=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:n=p.w.k(0,b.a) +m=n.b +l=$.az().dy!=null?new A.Gz($.amm,$.aml):null +if(m.a!=null){o=m.b +if(o!=null)o.a.eW(0) +o=new A.a8($.ae,t.V) +m.b=new A.BI(new A.b1(o,t.h),l,a) +q=o +s=1 +break}o=new A.a8($.ae,t.V) +m.a=new A.BI(new A.b1(o,t.h),l,a) +p.pK(n) +q=o +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$oE,r)}, +pK(a){return this.a3X(a)}, +a3X(a){var s=0,r=A.z(t.H),q,p=2,o,n=this,m,l,k,j,i,h,g +var $async$pK=A.A(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:i=a.b +h=i.a +h.toString +m=h +p=4 +s=7 +return A.B(n.vk(m.c,a,m.b),$async$pK) +case 7:m.a.eW(0) +p=2 +s=6 +break +case 4:p=3 +g=o +l=A.a9(g) +k=A.aK(g) +m.a.lO(l,k) +s=6 +break +case 3:s=2 +break +case 6:h=i.b +i.a=h +i.b=null +if(h==null){s=1 +break}else{q=n.pK(a) +s=1 +break}case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$pK,r)}, +vk(a,b,c){return this.a5V(a,b,c)}, +a5V(a,b,c){var s=0,r=A.z(t.H),q +var $async$vk=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:q=c==null +if(!q)c.RY() +if(!q)c.S_() +s=2 +return A.B(b.wu(t.h_.a(a).a),$async$vk) +case 2:if(!q)c.RZ() +if(!q)c.GQ() +return A.x(null,r)}}) +return A.y($async$vk,r)}, +a51(a){var s=$.az().gc_().b.k(0,a) +this.w.n(0,s.a,this.d.D4(s))}, +a53(a){var s=this.w +if(!s.a9(0,a))return +s=s.A(0,a) +s.toString +s.gyj().l() +s.gws().l()}, +OB(){$.azX.J(0)}, +P2(a,b,c,d,e,f,g,h,i){return new A.iz(d,a,c,h,e,i,f,b,g)}} +A.Wg.prototype={ +$0(){var s=0,r=A.z(t.P),q=this,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b +var $async$$0=A.A(function(a,a0){if(a===1)return A.w(a0,r) +while(true)switch(s){case 0:s=self.window.flutterCanvasKit!=null?2:4 +break +case 2:p=self.window.flutterCanvasKit +p.toString +$.b8.b=p +s=3 +break +case 4:s=self.window.flutterCanvasKitLoaded!=null?5:7 +break +case 5:p=self.window.flutterCanvasKitLoaded +p.toString +b=$.b8 +s=8 +return A.B(A.cF(p,t.e),$async$$0) +case 8:b.b=a0 +s=6 +break +case 7:b=$.b8 +s=9 +return A.B(A.Ub(),$async$$0) +case 9:b.b=a0 +self.window.flutterCanvasKit=$.b8.aO() +case 6:case 3:p=$.az() +o=p.gc_() +n=q.a +if(n.f==null)for(m=o.b.gaI(0),l=A.o(m),m=new A.bt(J.al(m.a),m.b,l.h("bt<1,2>")),l=l.y[1],k=t.mm,j=t.S,i=t.lz,h=t.e,g=n.w,f=n.d;m.q();){e=m.a +e=(e==null?l.a(e):e).a +d=p.r +if(d===$){d!==$&&A.a0() +d=p.r=new A.wj(p,A.E(j,i),A.E(j,h),new A.je(null,null,k),new A.je(null,null,k))}c=d.b.k(0,e) +g.n(0,c.a,f.D4(c))}if(n.f==null){p=o.d +n.f=new A.c0(p,A.o(p).h("c0<1>")).hZ(n.ga50())}if(n.r==null){p=o.e +n.r=new A.c0(p,A.o(p).h("c0<1>")).hZ(n.ga52())}$.Wf.b=n +return A.x(null,r)}}) +return A.y($async$$0,r)}, +$S:82} +A.Kt.prototype={ +Yz(){var s,r=this,q="Gradient.linear",p=$.b8.aO().Shader,o=A.aw3(r.b),n=A.aw3(r.c),m=A.aKF(r.d),l=A.aKG(r.e),k=$.ayH()[r.f.a],j=r.r +j=j!=null?A.aKH(j):null +s=new A.eK(q,t.R) +s.ie(r,A.b9(p,"MakeLinearGradient",[o,n,m,l,k,j==null?null:j]),q,t.e) +r.a!==$&&A.bz() +r.a=s}, +Gj(a){var s=this.a +s===$&&A.a() +s=s.a +s.toString +return s}, +i(a){return"Gradient()"}, +$ialL:1} +A.EV.prototype={ +i(a){return"Gradient()"}} +A.i8.prototype={ +BK(){var s,r=this.y +if(r!=null){s=this.w +if(s!=null)s.setResourceCacheLimitBytes(r)}}, +xR(a,b,c){return this.aeZ(a,b,c)}, +aeZ(a,b,c){var s=0,r=A.z(t.H),q=this,p,o,n,m,l,k,j,i +var $async$xR=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:i=q.a.a.getCanvas() +i.clear(A.akg($.Uw(),B.Q)) +B.b.W(c,new A.h1(i).gPB()) +q.a.a.flush() +if(self.window.createImageBitmap!=null)i=!A.aJX() +else i=!1 +s=i?2:4 +break +case 2:if(q.b){i=q.z +i.toString +p=i}else{i=q.Q +i.toString +p=i}i=a.b +i=[i,a.a,0,q.ax-i] +o=self.createImageBitmap(p,i[2],i[3],i[1],i[0]) +o=o +i=t.e +s=5 +return A.B(A.cF(o,i),$async$xR) +case 5:n=e +b.Jj(new A.jn(A.cl(n.width),A.cl(n.height))) +m=b.e +if(m===$){l=A.ft(b.b,"bitmaprenderer",null) +l.toString +i.a(l) +b.e!==$&&A.a0() +b.e=l +m=l}m.transferFromImageBitmap(n) +s=3 +break +case 4:if(q.b){i=q.z +i.toString +k=i}else{i=q.Q +i.toString +k=i}i=q.ax +b.Jj(a) +m=b.f +if(m===$){l=A.ft(b.b,"2d",null) +l.toString +t.e.a(l) +b.f!==$&&A.a0() +b.f=l +m=l}l=a.b +j=a.a +A.am_(m,k,0,i-l,j,l,0,0,j,l) +case 3:return A.x(null,r)}}) +return A.y($async$xR,r)}, +lH(){var s,r,q,p=this,o=$.br().d +if(o==null){s=self.window.devicePixelRatio +o=s===0?1:s}s=p.at +r=p.ax +q=p.Q.style +A.l(q,"width",A.h(s/o)+"px") +A.l(q,"height",A.h(r/o)+"px") +p.ay=o}, +ab3(){if(this.a!=null)return +this.qJ(B.y3)}, +qJ(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f="webglcontextrestored",e="webglcontextlost",d=a.a +if(d===0||a.b===0)throw A.c(A.azV("Cannot create surfaces of empty size.")) +if(!g.d){s=g.cy +if(s!=null&&d===s.a&&a.b===s.b){r=$.br().d +if(r==null){d=self.window.devicePixelRatio +r=d===0?1:d}if(g.c&&r!==g.ay)g.lH() +d=g.a +d.toString +return d}q=g.cx +if(q!=null)p=d>q.a||a.b>q.b +else p=!1 +if(p){p=a.FO().ac(0,1.4) +o=B.c.a2(p.a) +p=B.c.a2(p.b) +n=g.a +if(n!=null)n.l() +g.a=null +g.at=o +g.ax=p +if(g.b){p=g.z +p.toString +A.aqs(p,o) +o=g.z +o.toString +A.aqr(o,g.ax)}else{p=g.Q +p.toString +A.l9(p,o) +o=g.Q +o.toString +A.l8(o,g.ax)}g.cx=new A.jn(g.at,g.ax) +if(g.c)g.lH()}}if(g.d||g.cx==null){p=g.a +if(p!=null)p.l() +g.a=null +p=g.w +if(p!=null)p.releaseResourcesAndAbandonContext() +p=g.w +if(p!=null)p.delete() +g.w=null +p=g.z +if(p!=null){A.cB(p,f,g.r,!1) +p=g.z +p.toString +A.cB(p,e,g.f,!1) +g.f=g.r=g.z=null}else{p=g.Q +if(p!=null){A.cB(p,f,g.r,!1) +p=g.Q +p.toString +A.cB(p,e,g.f,!1) +g.Q.remove() +g.f=g.r=g.Q=null}}g.at=d +p=g.ax=a.b +o=g.b +if(o){m=g.z=new self.OffscreenCanvas(d,p) +g.Q=null}else{l=g.Q=A.mI(p,d) +g.z=null +if(g.c){d=A.a5("true") +if(d==null)d=t.K.a(d) +l.setAttribute("aria-hidden",d) +A.l(g.Q.style,"position","absolute") +d=g.Q +d.toString +g.as.append(d) +g.lH()}m=l}g.r=A.bb(g.ga_i()) +d=A.bb(g.ga_g()) +g.f=d +A.bW(m,e,d,!1) +A.bW(m,f,g.r,!1) +g.d=!1 +d=$.fi +if((d==null?$.fi=A.pc():d)!==-1&&!A.df().gOx()){k=$.fi +if(k==null)k=$.fi=A.pc() +j=t.e.a({antialias:0,majorVersion:k}) +if(o){d=$.b8.aO() +p=g.z +p.toString +i=B.c.P(d.GetWebGLContext(p,j))}else{d=$.b8.aO() +p=g.Q +p.toString +i=B.c.P(d.GetWebGLContext(p,j))}g.x=i +if(i!==0){g.w=$.b8.aO().MakeGrContext(i) +if(g.ch===-1||g.CW===-1){d=$.fi +if(o){p=g.z +p.toString +h=A.aB3(p,d==null?$.fi=A.pc():d)}else{p=g.Q +p.toString +h=A.aAY(p,d==null?$.fi=A.pc():d)}g.ch=B.c.P(h.getParameter(B.c.P(h.SAMPLES))) +g.CW=B.c.P(h.getParameter(B.c.P(h.STENCIL_BITS)))}g.BK()}}g.cx=a}g.cy=a +d=g.a +if(d!=null)d.l() +return g.a=g.a_x(a)}, +a_j(a){$.az().EA() +a.stopPropagation() +a.preventDefault()}, +a_h(a){this.d=!0 +a.preventDefault()}, +a_x(a){var s,r=this,q=$.fi +if((q==null?$.fi=A.pc():q)===-1)return r.uX("WebGL support not detected") +else if(A.df().gOx())return r.uX("CPU rendering forced by application") +else if(r.x===0)return r.uX("Failed to initialize WebGL context") +else{q=$.b8.aO() +s=r.w +s.toString +s=A.b9(q,"MakeOnScreenGLSurface",[s,a.a,a.b,self.window.flutterCanvasKit.ColorSpace.SRGB,r.ch,r.CW]) +if(s==null)return r.uX("Failed to initialize WebGL surface") +return new A.EZ(s,r.x)}}, +uX(a){var s,r,q +if(!$.asP){$.dj().$1("WARNING: Falling back to CPU-only rendering. "+a+".") +$.asP=!0}if(this.b){s=$.b8.aO() +r=this.z +r.toString +q=s.MakeSWCanvasSurface(r)}else{s=$.b8.aO() +r=this.Q +r.toString +q=s.MakeSWCanvasSurface(r)}return new A.EZ(q,null)}, +hk(a){this.ab3()}, +l(){var s=this,r=s.z +if(r!=null)A.cB(r,"webglcontextlost",s.f,!1) +r=s.z +if(r!=null)A.cB(r,"webglcontextrestored",s.r,!1) +s.r=s.f=null +r=s.a +if(r!=null)r.l()}, +gof(){return this.as}} +A.EZ.prototype={ +l(){if(this.c)return +this.a.dispose() +this.c=!0}} +A.v8.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.v8&&b.b===s.b&&b.c==s.c&&b.d==s.d&&b.f==s.f&&b.r==s.r&&b.x==s.x&&b.y==s.y&&J.e(b.z,s.z)&&J.e(b.Q,s.Q)&&b.as==s.as&&J.e(b.at,s.at)}, +gt(a){var s=this +return A.P(s.b,s.c,s.d,s.e,s.f,s.r,s.x,s.y,s.z,s.Q,s.as,s.at,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return this.bA(0)}} +A.pK.prototype={ +gGK(){var s,r=this,q=r.fx +if(q===$){s=new A.Wy(r).$0() +r.fx!==$&&A.a0() +r.fx=s +q=s}return q}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.pK&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&b.d==s.d&&b.f==s.f&&b.w==s.w&&b.ch==s.ch&&b.x==s.x&&b.as==s.as&&b.at==s.at&&b.ax==s.ax&&b.ay==s.ay&&b.e==s.e&&b.cx==s.cx&&b.cy==s.cy&&A.hA(b.db,s.db)&&A.hA(b.z,s.z)&&A.hA(b.dx,s.dx)&&A.hA(b.dy,s.dy)}, +gt(a){var s=this,r=null,q=s.db,p=s.dy,o=s.z,n=o==null?r:A.bO(o),m=q==null?r:A.bO(q) +return A.P(s.a,s.b,s.c,s.d,s.f,s.r,s.w,s.ch,s.x,n,s.as,s.at,s.ax,s.ay,s.CW,s.cx,s.cy,m,s.e,A.P(r,p==null?r:A.bO(p),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a))}, +i(a){return this.bA(0)}} +A.Wy.prototype={ +$0(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this.a,e=f.a,d=f.b,c=f.c,b=f.d,a=f.e,a0=f.f,a1=f.w,a2=f.as,a3=f.at,a4=f.ax,a5=f.ay,a6=f.cx,a7=f.cy,a8=f.db,a9=f.dy,b0=t.e,b1=b0.a({}) +if(a6!=null){s=A.uj(new A.C(a6.y)) +b1.backgroundColor=s}if(e!=null){s=A.uj(e) +b1.color=s}if(d!=null){r=B.c.P($.b8.aO().NoDecoration) +s=d.a +if((s|1)===s)r=(r|B.c.P($.b8.aO().UnderlineDecoration))>>>0 +if((s|2)===s)r=(r|B.c.P($.b8.aO().OverlineDecoration))>>>0 +if((s|4)===s)r=(r|B.c.P($.b8.aO().LineThroughDecoration))>>>0 +b1.decoration=r}if(a!=null)b1.decorationThickness=a +if(c!=null){s=A.uj(c) +b1.decorationColor=s}if(b!=null)b1.decorationStyle=$.ayE()[b.a] +if(a1!=null)b1.textBaseline=$.ayD()[a1.a] +if(a2!=null)A.asH(b1,a2) +if(a3!=null)b1.letterSpacing=a3 +if(a4!=null)b1.wordSpacing=a4 +if(a5!=null)A.asJ(b1,a5) +switch(f.ch){case null:case void 0:break +case B.t:A.asI(b1,!0) +break +case B.x9:A.asI(b1,!1) +break}q=f.fr +if(q===$){p=A.anW(f.y,f.Q) +f.fr!==$&&A.a0() +f.fr=p +q=p}A.asG(b1,q) +if(a0!=null)b1.fontStyle=A.aoG(a0,f.r) +if(a7!=null){f=A.uj(new A.C(a7.y)) +b1.foregroundColor=f}if(a8!=null){o=A.b([],t.J) +for(f=a8.length,n=0;n")),o=o.h("X.E");q.q();){p=q.d +if(p==null)p=o.a(p) +if(r>=p.startIndex&&r<=p.endIndex)return new A.cj(B.c.P(p.startIndex),B.c.P(p.endIndex))}return B.xb}, +w6(){var s,r,q,p,o=this.a +o===$&&A.a() +o=o.a.getLineMetrics() +s=B.b.dg(o,t.e) +r=A.b([],t.ER) +for(o=s.$ti,q=new A.bR(s,s.gu(0),o.h("bR")),o=o.h("X.E");q.q();){p=q.d +r.push(new A.v5(p==null?o.a(p):p))}return r}, +ys(a){var s=this.a +s===$&&A.a() +s=s.a.getLineMetricsAt(a) +return s==null?null:new A.v5(s)}, +gEZ(){var s=this.a +s===$&&A.a() +return B.c.P(s.a.getNumberOfLines())}, +l(){var s=this.a +s===$&&A.a() +s.l()}} +A.v5.prototype={ +gOh(){return this.a.ascent}, +gPh(){return this.a.descent}, +gSG(){return this.a.ascent}, +gQq(){return this.a.isHardBreak}, +gnG(){return this.a.baseline}, +gaH(a){var s=this.a +return B.c.a2(s.ascent+s.descent)}, +gdY(a){return this.a.left}, +gbb(a){return this.a.width}, +gEM(a){return B.c.P(this.a.lineNumber)}, +$ilu:1} +A.Wx.prototype={ +qf(a){var s=A.b([],t.s),r=B.b.gT(this.e),q=r.y +if(q!=null)s.push(q) +q=r.Q +if(q!=null)B.b.L(s,q) +$.am().grl().gDZ().ab1(a,s) +this.a.addText(a)}, +bt(){var s,r,q,p,o,n,m,l,k,j="Paragraph" +if($.ay_()){s=this.a +r=B.a3.eA(0,new A.js(s.getText())) +q=A.aEq($.ayQ(),r) +p=q==null +o=p?null:q.k(0,r) +if(o!=null)n=o +else{m=A.avt(r,B.lB) +l=A.avt(r,B.lA) +n=new A.Qt(A.aJD(r),l,m)}if(!p){p=q.c +k=p.k(0,r) +if(k==null)q.HO(0,r,n) +else{m=k.d +if(!J.e(m.b,n)){k.i6(0) +q.HO(0,r,n)}else{k.i6(0) +l=q.b +l.vK(m) +l=l.a.b.ur() +l.toString +p.n(0,r,l)}}}s.setWordsUtf16(n.c) +s.setGraphemeBreaksUtf16(n.b) +s.setLineBreaksUtf16(n.a)}s=this.a +n=s.build() +s.delete() +s=new A.EY(this.b) +r=new A.eK(j,t.R) +r.ie(s,n,j,t.e) +s.a!==$&&A.bz() +s.a=r +return s}, +fM(){var s=this.e +if(s.length<=1)return +s.pop() +this.a.pop()}, +xO(a8){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5=null,a6=this.e,a7=B.b.gT(a6) +t.BQ.a(a8) +s=a8.ay +if(s===0)r=a5 +else r=s==null?a7.ay:s +s=a8.a +if(s==null)s=a7.a +q=a8.b +if(q==null)q=a7.b +p=a8.c +if(p==null)p=a7.c +o=a8.d +if(o==null)o=a7.d +n=a8.e +if(n==null)n=a7.e +m=a8.f +if(m==null)m=a7.f +l=a8.w +if(l==null)l=a7.w +k=a8.x +if(k==null)k=a7.x +j=a8.y +if(j==null)j=a7.y +i=a8.z +if(i==null)i=a7.z +h=a8.Q +if(h==null)h=a7.Q +g=a8.as +if(g==null)g=a7.as +f=a8.at +if(f==null)f=a7.at +e=a8.ax +if(e==null)e=a7.ax +d=a8.ch +if(d==null)d=a7.ch +c=a8.cx +if(c==null)c=a7.cx +b=a8.cy +if(b==null)b=a7.cy +a=a8.db +if(a==null)a=a7.db +a0=a8.dy +if(a0==null)a0=a7.dy +a1=A.alM(c,s,q,p,o,n,j,h,a7.dx,g,a7.r,a0,m,b,r,d,f,a7.CW,k,i,a,l,e) +a6.push(a1) +a6=a1.cy +s=a6==null +if(!s||a1.cx!=null){a2=s?a5:a6.a +if(a2==null){a2=$.aw8() +a6=a1.a +a3=a6==null?a5:a6.gm(a6) +if(a3==null)a3=4278190080 +a2.setColorInt(a3)}a6=a1.cx +a4=a6==null?a5:a6.a +if(a4==null)a4=$.aw7() +this.a.pushPaintStyle(a1.gGK(),a2,a4)}else this.a.pushStyle(a1.gGK())}} +A.ajG.prototype={ +$1(a){return this.a===a}, +$S:29} +A.wP.prototype={ +F(){return"IntlSegmenterGranularity."+this.b}} +A.EL.prototype={ +i(a){return"CanvasKitError: "+this.a}} +A.vd.prototype={ +U4(a,b){var s={} +s.a=!1 +this.a.oZ(0,A.cO(J.b5(t.xE.a(a.b),"text"))).b_(0,new A.WQ(s,b),t.P).ku(new A.WR(s,b))}, +Ti(a){this.b.oT(0).b_(0,new A.WL(a),t.P).ku(new A.WM(this,a))}, +acB(a){this.b.oT(0).b_(0,new A.WO(a),t.P).ku(new A.WP(a))}} +A.WQ.prototype={ +$1(a){var s=this.b +if(a){s.toString +s.$1(B.S.bB([!0]))}else{s.toString +s.$1(B.S.bB(["copy_fail","Clipboard.setData failed",null])) +this.a.a=!0}}, +$S:70} +A.WR.prototype={ +$1(a){var s +if(!this.a.a){s=this.b +s.toString +s.$1(B.S.bB(["copy_fail","Clipboard.setData failed",null]))}}, +$S:32} +A.WL.prototype={ +$1(a){var s=A.an(["text",a],t.N,t.z),r=this.a +r.toString +r.$1(B.S.bB([s]))}, +$S:92} +A.WM.prototype={ +$1(a){var s +if(a instanceof A.oQ){A.qe(B.q,null,t.H).b_(0,new A.WK(this.b),t.P) +return}s=this.b +A.uk("Could not get text from clipboard: "+A.h(a)) +s.toString +s.$1(B.S.bB(["paste_fail","Clipboard.getData failed",null]))}, +$S:32} +A.WK.prototype={ +$1(a){var s=this.a +if(s!=null)s.$1(null)}, +$S:21} +A.WO.prototype={ +$1(a){var s=A.an(["value",a.length!==0],t.N,t.z),r=this.a +r.toString +r.$1(B.S.bB([s]))}, +$S:92} +A.WP.prototype={ +$1(a){var s,r +if(a instanceof A.oQ){A.qe(B.q,null,t.H).b_(0,new A.WN(this.a),t.P) +return}s=A.an(["value",!1],t.N,t.z) +r=this.a +r.toString +r.$1(B.S.bB([s]))}, +$S:32} +A.WN.prototype={ +$1(a){var s=this.a +if(s!=null)s.$1(null)}, +$S:21} +A.WI.prototype={ +oZ(a,b){return this.U3(0,b)}, +U3(a,b){var s=0,r=A.z(t.y),q,p=2,o,n,m,l,k +var $async$oZ=A.A(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:p=4 +m=self.window.navigator.clipboard +m.toString +b.toString +s=7 +return A.B(A.cF(m.writeText(b),t.z),$async$oZ) +case 7:p=2 +s=6 +break +case 4:p=3 +k=o +n=A.a9(k) +A.uk("copy is not successful "+A.h(n)) +m=A.cm(!1,t.y) +q=m +s=1 +break +s=6 +break +case 3:s=2 +break +case 6:q=A.cm(!0,t.y) +s=1 +break +case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$oZ,r)}} +A.WJ.prototype={ +oT(a){var s=0,r=A.z(t.N),q +var $async$oT=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:q=A.cF(self.window.navigator.clipboard.readText(),t.N) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$oT,r)}} +A.Z5.prototype={ +oZ(a,b){return A.cm(this.a6K(b),t.y)}, +a6K(a){var s,r,q,p,o="-99999px",n="transparent",m=A.aS(self.document,"textarea"),l=m.style +A.l(l,"position","absolute") +A.l(l,"top",o) +A.l(l,"left",o) +A.l(l,"opacity","0") +A.l(l,"color",n) +A.l(l,"background-color",n) +A.l(l,"background",n) +self.document.body.append(m) +s=m +A.aqn(s,a) +A.cw(s,null) +s.select() +r=!1 +try{r=self.document.execCommand("copy") +if(!r)A.uk("copy is not successful")}catch(p){q=A.a9(p) +A.uk("copy is not successful "+A.h(q))}finally{s.remove()}return r}} +A.Z6.prototype={ +oT(a){return A.a_4(new A.oQ("Paste is not implemented for this browser."),null,t.N)}} +A.Zs.prototype={ +gOx(){var s=this.b +if(s==null)s=null +else{s=s.canvasKitForceCpuOnly +if(s==null)s=null}return s===!0}, +gCH(){var s,r=this.b +if(r==null)s=null +else{r=r.canvasKitMaximumSurfaces +if(r==null)r=null +r=r==null?null:B.c.P(r) +s=r}if(s==null)s=8 +if(s<1)return 1 +return s}, +gD9(){var s=this.b +if(s==null)s=null +else{s=s.debugShowSemanticsNodes +if(s==null)s=null}return s===!0}, +gSf(){var s=this.b +if(s==null)s=null +else{s=s.renderer +if(s==null)s=null}if(s==null){s=self.window.flutterWebRenderer +if(s==null)s=null}return s}, +gDY(){var s=this.b +if(s==null)s=null +else{s=s.fontFallbackBaseUrl +if(s==null)s=null}return s==null?"https://fonts.gstatic.com/s/":s}} +A.G8.prototype={ +gnR(a){var s=this.d +if(s==null){s=self.window.devicePixelRatio +if(s===0)s=1}return s}} +A.a8J.prototype={ +u2(a){return this.Uc(a)}, +Uc(a){var s=0,r=A.z(t.y),q,p=2,o,n,m,l,k,j,i +var $async$u2=A.A(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:j=self.window.screen +s=j!=null?3:4 +break +case 3:n=j.orientation +s=n!=null?5:6 +break +case 5:l=J.ax(a) +s=l.gM(a)?7:9 +break +case 7:n.unlock() +q=!0 +s=1 +break +s=8 +break +case 9:m=A.aEe(A.cO(l.gI(a))) +s=m!=null?10:11 +break +case 10:p=13 +s=16 +return A.B(A.cF(n.lock(m),t.z),$async$u2) +case 16:q=!0 +s=1 +break +p=2 +s=15 +break +case 13:p=12 +i=o +l=A.cm(!1,t.y) +q=l +s=1 +break +s=15 +break +case 12:s=2 +break +case 15:case 11:case 8:case 6:case 4:q=!1 +s=1 +break +case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$u2,r)}} +A.Y0.prototype={ +$1(a){return this.a.warn(a)}, +$S:10} +A.Y4.prototype={ +$1(a){a.toString +return A.by(a)}, +$S:351} +A.GV.prototype={ +gaF(a){return A.cl(this.b.status)}, +gEm(){var s=this.b,r=A.cl(s.status)>=200&&A.cl(s.status)<300,q=A.cl(s.status),p=A.cl(s.status),o=A.cl(s.status)>307&&A.cl(s.status)<400 +return r||q===0||p===304||o}, +gxF(){var s=this +if(!s.gEm())throw A.c(new A.GU(s.a,s.gaF(0))) +return new A.a04(s.b)}, +$iaqX:1} +A.a04.prototype={ +xS(a,b,c){var s=0,r=A.z(t.H),q=this,p,o,n +var $async$xS=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:n=q.a.body.getReader() +p=t.e +case 2:if(!!0){s=3 +break}s=4 +return A.B(A.cF(n.read(),p),$async$xS) +case 4:o=e +if(o.done){s=3 +break}b.$1(c.a(o.value)) +s=2 +break +case 3:return A.x(null,r)}}) +return A.y($async$xS,r)}, +nE(){var s=0,r=A.z(t.pI),q,p=this,o +var $async$nE=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:s=3 +return A.B(A.cF(p.a.arrayBuffer(),t.X),$async$nE) +case 3:o=b +o.toString +q=t.pI.a(o) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$nE,r)}} +A.GU.prototype={ +i(a){return'Flutter Web engine failed to fetch "'+this.a+'". HTTP request succeeded, but the server responded with HTTP status '+this.b+"."}, +$ibQ:1} +A.GT.prototype={ +i(a){return'Flutter Web engine failed to complete HTTP request to fetch "'+this.a+'": '+A.h(this.b)}, +$ibQ:1} +A.FY.prototype={} +A.vI.prototype={} +A.akv.prototype={ +$2(a,b){this.a.$2(B.b.dg(a,t.e),b)}, +$S:358} +A.akj.prototype={ +$1(a){var s=A.kc(a,0,null) +if(B.Kl.p(0,B.b.gT(s.gxE())))return s.i(0) +self.window.console.error("URL rejected by TrustedTypes policy flutter-engine: "+a+"(download prevented)") +return null}, +$S:388} +A.Nm.prototype={ +q(){var s=++this.b,r=this.a +if(s>r.length)throw A.c(A.R("Iterator out of bounds")) +return s"))}, +gu(a){return B.c.P(this.a.length)}} +A.Nr.prototype={ +q(){var s=++this.b,r=this.a +if(s>r.length)throw A.c(A.R("Iterator out of bounds")) +return s"))}, +gu(a){return B.c.P(this.a.length)}} +A.FU.prototype={ +gG(a){var s=this.b +s===$&&A.a() +return s}, +q(){var s=this.a.next() +if(s.done)return!1 +this.b=this.$ti.c.a(s.value) +return!0}} +A.YI.prototype={} +A.JV.prototype={} +A.ol.prototype={} +A.R5.prototype={} +A.a8r.prototype={ +c8(a){var s,r,q=this,p=q.rg$ +p=p.length===0?q.a:B.b.gT(p) +s=q.jq$ +r=new A.bq(new Float32Array(16)) +r.bc(s) +q.PU$.push(new A.R5(p,r))}, +bH(a){var s,r,q,p=this,o=p.PU$ +if(o.length===0)return +s=o.pop() +p.jq$=s.b +o=p.rg$ +r=s.a +q=p.a +while(!0){if(!!J.e(o.length===0?q:B.b.gT(o),r))break +o.pop()}}, +au(a,b,c){this.jq$.au(0,b,c)}, +eq(a,b,c){this.jq$.eq(0,b,c)}, +l9(a,b){this.jq$.Sr(0,B.vY,b)}, +a8(a,b){this.jq$.cs(0,new A.bq(b))}} +A.ala.prototype={ +$1(a){$.anZ=!1 +$.az().hn("flutter/system",$.ay2(),new A.al9())}, +$S:83} +A.al9.prototype={ +$1(a){}, +$S:20} +A.ZN.prototype={ +ab1(a,b){var s,r,q,p,o,n=this,m=A.ay(t.S) +for(s=new A.a8l(a),r=n.d,q=n.c;s.q();){p=s.d +if(!(p<160||r.p(0,p)||q.p(0,p)))m.D(0,p)}if(m.a===0)return +o=A.a7(m,!0,m.$ti.c) +if(n.a.Tr(o,b).length!==0)n.a8t(o)}, +a8t(a){var s=this +s.at.L(0,a) +if(!s.ax){s.ax=!0 +s.Q=A.qe(B.q,new A.ZV(s),t.H)}}, +a0g(){var s,r +this.ax=!1 +s=this.at +if(s.a===0)return +r=A.a7(s,!0,A.o(s).c) +s.J(0) +this.abr(r)}, +abr(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=A.b([],t.t),d=A.b([],t._m),c=t.Qg,b=A.b([],c) +for(s=a.length,r=t.Ie,q=0;qr){B.b.J(k) +k.push(o) +r=o.e +q=o}else if(n===r){k.push(o) +if(o.d1)if(B.b.dD(k,new A.ZU(l))){s=self.window.navigator.language +if(s==="zh-Hans"||s==="zh-CN"||s==="zh-SG"||s==="zh-MY"){m=l.f +if(B.b.p(k,m))q=m}else if(s==="zh-Hant"||s==="zh-TW"||s==="zh-MO"){m=l.r +if(B.b.p(k,m))q=m}else if(s==="zh-HK"){m=l.w +if(B.b.p(k,m))q=m}else if(s==="ja"){m=l.x +if(B.b.p(k,m))q=m}else if(s==="ko"){m=l.y +if(B.b.p(k,m))q=m}else{m=l.f +if(B.b.p(k,m))q=m}}else{m=l.z +if(B.b.p(k,m))q=m +else{m=l.f +if(B.b.p(k,m))q=m}}q.toString +return q}, +a_D(a){var s,r,q,p=A.b([],t._m) +for(s=a.split(","),r=s.length,q=0;q=q[r])s=r+1 +else p=r}}} +A.Gj.prototype={ +aga(){var s=this.e +if(s==null)return A.cm(null,t.H) +else return s.a}, +D(a,b){var s,r,q=this +if(q.b.p(0,b)||q.c.a9(0,b.b))return +s=q.c +r=s.a +s.n(0,b.b,b) +if(q.e==null)q.e=new A.b1(new A.a8($.ae,t.V),t.h) +if(r===0)A.c7(B.q,q.gUD())}, +mY(){var s=0,r=A.z(t.H),q=this,p,o,n,m,l,k,j,i +var $async$mY=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:j=A.E(t.N,t.uz) +i=A.b([],t.s) +for(p=q.c,o=p.gaI(0),n=A.o(o),o=new A.bt(J.al(o.a),o.b,n.h("bt<1,2>")),m=t.H,n=n.y[1];o.q();){l=o.a +if(l==null)l=n.a(l) +j.n(0,l.b,A.aBP(new A.Zd(q,l,i),m))}s=2 +return A.B(A.lf(j.gaI(0),m),$async$mY) +case 2:B.b.hy(i) +for(o=i.length,n=q.a,m=n.as,k=0;k")),s=s.y[1];o.q();){r=o.a +for(r=J.al(r==null?s.a(r):r);r.q();){q=r.gG(r) +q.b.$1(q.a)}}p.b=p.a +p.a=null}, +HV(a,b){var s,r=this,q=r.a +if(q==null)q=r.a=A.E(t.N,r.$ti.h("O>")) +s=q.k(0,a) +if(s==null){s=A.b([],r.$ti.h("v>")) +q.n(0,a,s) +q=s}else q=s +q.push(b)}, +afw(a){var s,r,q=this.b +if(q==null)return null +s=q.k(0,a) +if(s==null||s.length===0)return null +r=(s&&B.b).f9(s,0) +this.HV(a,r) +return r.a}} +A.t6.prototype={} +A.Gz.prototype={ +RY(){var s=A.qc() +this.c=s}, +S_(){var s=A.qc() +this.d=s}, +RZ(){var s=A.qc() +this.e=s}, +GQ(){var s,r,q,p=this,o=p.c +o.toString +s=p.d +s.toString +r=p.e +r.toString +r=A.b([p.a,p.b,o,s,r,r,0,0,0,0,1],t.t) +$.amn.push(new A.le(r)) +q=A.qc() +if(q-$.awi()>1e5){$.aBM=q +o=$.az() +s=$.amn +A.kD(o.dy,o.fr,s) +$.amn=A.b([],t.no)}}} +A.jm.prototype={ +sqv(a,b){var s,r,q=this +q.a=b +s=B.c.d0(b.a)-1 +r=B.c.d0(q.a.b)-1 +if(q.z!==s||q.Q!==r){q.z=s +q.Q=r +q.Nu()}}, +Nu(){A.l(this.c.style,"transform","translate("+this.z+"px, "+this.Q+"px)")}, +Mr(){var s=this,r=s.a,q=r.a +r=r.b +s.d.au(0,-q+(q-1-s.z)+1,-r+(r-1-s.Q)+1)}, +Px(a,b){return this.r>=A.Vm(a.c-a.a)&&this.w>=A.Vl(a.d-a.b)&&this.ay===b}, +J(a){var s,r,q,p,o,n=this +n.at=!1 +n.d.J(0) +s=n.f +r=s.length +for(q=n.c,p=0;po){l=o +o=p +p=l}if(n>m){l=m +m=n +n=l}k=Math.abs(a3.r) +j=Math.abs(a3.e) +i=Math.abs(a3.w) +h=Math.abs(a3.f) +g=Math.abs(a3.z) +f=Math.abs(a3.x) +e=Math.abs(a3.Q) +d=Math.abs(a3.y) +a.beginPath() +a.moveTo(p+k,n) +c=o-k +a.lineTo(c,n) +A.Dt(a,c,n+i,k,i,0,4.71238898038469,6.283185307179586,!1) +c=m-d +a.lineTo(o,c) +A.Dt(a,o-f,c,f,d,0,0,1.5707963267948966,!1) +c=p+g +a.lineTo(c,m) +A.Dt(a,c,m-e,g,e,0,1.5707963267948966,3.141592653589793,!1) +c=n+h +a.lineTo(p,c) +A.Dt(a,p+j,c,j,h,0,3.141592653589793,4.71238898038469,!1) +a2.gc3().f5(b) +a2.gc3().la()}}, +r_(a,b){var s,r,q,p,o,n,m=this.d +if(this.vB(b)){a=A.Dq(a,b) +s=A.Ds(a,b,"draw-oval",m.c) +m=a.a +r=a.b +this.ps(s,new A.m(m,r),b) +A.l(s.style,"border-radius",A.h((a.c-m)/2)+"px / "+A.h((a.d-r)/2)+"px")}else{m.gc3().jX(b,a) +r=b.b +m.gb5(0).beginPath() +q=m.gc3().Q +p=q==null +o=p?a.gaR().a:a.gaR().a-q.a +n=p?a.gaR().b:a.gaR().b-q.b +A.Dt(m.gb5(0),o,n,(a.c-a.a)/2,(a.d-a.b)/2,0,0,6.283185307179586,!1) +m.gc3().f5(r) +m.gc3().la()}}, +dS(a,b,c){var s,r,q,p,o,n,m,l,k=this +if(k.C7(c)){s=A.Dq(A.r3(a,b),c) +r=A.Ds(s,c,"draw-circle",k.d.c) +k.ps(r,new A.m(s.a,s.b),c) +A.l(r.style,"border-radius","50%")}else{q=c.w!=null?A.r3(a,b):null +p=k.d +p.gc3().jX(c,q) +q=c.b +p.gb5(0).beginPath() +o=p.gc3().Q +n=o==null +m=a.a +m=n?m:m-o.a +l=a.b +l=n?l:l-o.b +A.Dt(p.gb5(0),m,l,b,b,0,0,6.283185307179586,!1) +p.gc3().f5(q) +p.gc3().la()}}, +dT(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(h.vB(b)){s=h.d +r=s.c +t.Ci.a(a) +q=a.a.Gi() +if(q!=null){h.cS(q,b) +return}p=a.a +o=p.ax?p.JS():null +if(o!=null){h.dh(o,b) +return}n=A.avj() +p=A.a5("visible") +if(p==null)p=t.K.a(p) +n.setAttribute("overflow",p) +p=self.document.createElementNS("http://www.w3.org/2000/svg","path") +n.append(p) +m=b.b +if(m!==B.Y)if(m!==B.aN){m=b.c +m=m!==0&&m!=null}else m=!1 +else m=!0 +l=b.r +if(m){m=A.a5(A.cP(l)) +if(m==null)m=t.K.a(m) +p.setAttribute("stroke",m) +m=b.c +m=A.a5(A.h(m==null?1:m)) +if(m==null)m=t.K.a(m) +p.setAttribute("stroke-width",m) +m=b.d +if(m!=null){m=A.a5(A.h(A.avY(m))) +if(m==null)m=t.K.a(m) +p.setAttribute("stroke-linecap",m)}m=A.a5("none") +if(m==null)m=t.K.a(m) +p.setAttribute("fill",m)}else{m=A.a5(A.cP(l)) +if(m==null)m=t.K.a(m) +p.setAttribute("fill",m)}if(a.b===B.dK){m=A.a5("evenodd") +if(m==null)m=t.K.a(m) +p.setAttribute("fill-rule",m)}m=A.a5(A.avQ(a.a,0,0)) +if(m==null)m=t.K.a(m) +p.setAttribute("d",m) +if(s.b==null){k=n.style +A.l(k,"position","absolute") +if(!r.rD(0)){A.l(k,"transform",A.fk(r.a)) +A.l(k,"transform-origin","0 0 0")}}if(b.x!=null){s=b.b +j=A.cP(b.r) +i=b.x.b +if($.av().gbx()===B.P&&s!==B.Y)A.l(n.style,"box-shadow","0px 0px "+A.h(i*2)+"px "+j) +else A.l(n.style,"filter","blur("+A.h(i)+"px)")}h.ps(n,B.h,b)}else{s=b.w!=null?a.eQ(0):null +p=h.d +p.gc3().jX(b,s) +s=b.b +if(s==null&&b.c!=null)p.dT(a,B.Y) +else p.dT(a,s) +p.gc3().la()}}, +nV(a,b,c,d){var s,r,q,p,o,n,m=this.d,l=A.aIY(a.eQ(0),c) +if(l!=null){s=(B.c.a2(0.3*(b.gm(b)>>>24&255))&255)<<24|b.gm(b)&16777215 +r=A.aIP(s>>>16&255,s>>>8&255,s&255,255) +m.gb5(0).save() +q=m.gb5(0) +q.globalAlpha=(s>>>24&255)/255 +s=d&&$.av().gbx()!==B.P +q=l.b +p=l.a +o=q.a +n=q.b +if(s){m.gb5(0).translate(o,n) +A.am0(m.gb5(0),A.avI(new A.x8(B.y8,p))) +A.Y_(m.gb5(0),"") +A.XZ(m.gb5(0),r)}else{A.am0(m.gb5(0),"none") +A.Y_(m.gb5(0),"") +A.XZ(m.gb5(0),r) +m.gb5(0).shadowBlur=p +A.am1(m.gb5(0),r) +A.am2(m.gb5(0),o) +A.am3(m.gb5(0),n)}m.no(m.gb5(0),a) +A.XY(m.gb5(0),null) +m.gb5(0).restore()}}, +kA(a,b,c,d){var s=this.Ab(b,c,d) +if(d.z!=null)this.I9(s,b.gbb(b),b.gaH(b)) +this.uv()}, +By(a){var s,r,q,p=a.a,o=A.FT(p) +o.toString +s=this.b +if(s!=null){r=s.afw(o) +if(r!=null)return r}if(!a.b){a.b=!0 +A.l(p.style,"position","absolute")}q=A.FW(p,!0) +p=this.b +if(p!=null)p.HV(o,new A.t6(q,A.aHp(),p.$ti.h("t6<1>"))) +return q}, +Ab(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h=this +t.gc.a(a) +s=c.a +r=A.aJd(c.z) +if(r instanceof A.xm)q=h.a_w(a,r.b,r.c,c) +else if(r instanceof A.a4m){p=A.aKx(r.b) +o=p.b +h.c.append(o) +h.f.push(o) +q=h.By(a) +A.l(q.style,"filter","url(#"+p.a+")")}else q=h.By(a) +o=q.style +n=A.akl(s) +A.l(o,"mix-blend-mode",n==null?"":n) +o=h.d +if(o.b!=null){n=q.style +n.removeProperty("width") +n.removeProperty("height") +n=o.b +n.toString +m=A.anV(n,q,b,o.c) +for(o=m.length,n=h.c,l=h.f,k=0;k1){s=q.a +s.y=s.r.pop() +r=s.w.pop() +if(r!=null){s.Q=r.a +s.as=r.b +s.at=r.c +s.ax=r.d +s.z=!0}else if(s.z)s.z=!1}s=q.c +if(s.length!==0&&B.b.gT(s) instanceof A.xL)s.pop() +else s.push(B.za);--q.r}, +au(a,b,c){var s=this.a,r=s.a +if(b!==0||c!==0)r.x=!1 +r.y.au(0,b,c) +s.c.push(new A.IH(b,c))}, +eq(a,b,c){var s=c==null?b:c,r=this.a,q=r.a +if(b!==1||s!==1)q.x=!1 +q.y.jV(0,b,s,1) +r.c.push(new A.IF(b,s)) +return null}, +l9(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this.a,g=h.a +if(b!==0)g.x=!1 +g=g.y +s=Math.cos(b) +r=Math.sin(b) +g=g.a +q=g[0] +p=g[4] +o=g[1] +n=g[5] +m=g[2] +l=g[6] +k=g[3] +j=g[7] +i=-r +g[0]=q*s+p*r +g[1]=o*s+n*r +g[2]=m*s+l*r +g[3]=k*s+j*r +g[4]=q*i+p*s +g[5]=o*i+n*s +g[6]=m*i+l*s +g[7]=k*i+j*s +h.c.push(new A.IE(b))}, +a8(a,b){var s=A.DD(b),r=this.a,q=r.a +q.y.cs(0,new A.bq(s)) +q.x=q.y.rD(0) +r.c.push(new A.IG(s))}, +w4(a,b){this.a.jj(a,B.eo)}, +kv(a){return this.w4(a,!0)}, +w3(a,b){var s=this.a,r=new A.Io(a) +s.a.jj(new A.D(a.a,a.b,a.c,a.d),r) +s.d.c=!0 +s.c.push(r)}, +lN(a){return this.w3(a,!0)}, +w2(a,b,c){var s,r=this.a +t.Ci.a(b) +s=new A.In(b) +r.a.jj(b.eQ(0),s) +r.d.c=!0 +r.c.push(s)}, +hJ(a,b){return this.w2(0,b,!0)}, +hN(a,b,c){var s,r,q,p,o,n,m=this.a +t.g.a(c) +s=Math.max(A.u5(c),1) +c.e=!0 +r=new A.Iv(a,b,c.a) +q=a.a +p=b.a +o=a.b +n=b.b +m.a.lg(Math.min(q,p)-s,Math.min(o,n)-s,Math.max(q,p)+s,Math.max(o,n)+s,r) +m.e=m.d.c=!0 +m.c.push(r)}, +nU(a){var s,r,q=this.a +t.g.a(a) +a.e=q.e=q.d.c=!0 +s=new A.Ix(a.a) +r=q.a +r.jU(r.a,s) +q.c.push(s)}, +cS(a,b){this.a.cS(a,t.g.a(b))}, +dh(a,b){this.a.dh(a,t.g.a(b))}, +nT(a,b,c){this.a.nT(a,b,t.g.a(c))}, +r_(a,b){var s,r,q,p=this.a +t.g.a(b) +p.e=p.d.c=!0 +s=A.u5(b) +b.e=!0 +r=new A.Iw(a,b.a) +q=p.a +if(s!==0)q.jU(a.eh(s),r) +else q.jU(a,r) +p.c.push(r)}, +dS(a,b,c){var s,r,q,p,o,n=this.a +t.g.a(c) +n.e=n.d.c=!0 +s=A.u5(c) +c.e=!0 +r=new A.Ir(a,b,c.a) +q=b+s +p=a.a +o=a.b +n.a.lg(p-q,o-q,p+q,o+q,r) +n.c.push(r)}, +Dy(a,b,c,d,e){var s,r=$.am().dC(),q=c<=-6.283185307179586 +if(q){r.nD(0,a,b,-3.141592653589793,!0) +b-=3.141592653589793 +r.nD(0,a,b,-3.141592653589793,!1) +b-=3.141592653589793 +c+=6.283185307179586}s=!q +for(;c>=6.283185307179586;s=!1){r.nD(0,a,b,3.141592653589793,s) +b+=3.141592653589793 +r.nD(0,a,b,3.141592653589793,!1) +b+=3.141592653589793 +c-=6.283185307179586}r.nD(0,a,b,c,s) +this.a.dT(r,t.g.a(e))}, +dT(a,b){this.a.dT(a,t.g.a(b))}, +kA(a,b,c,d){var s,r,q,p,o=this.a +t.g.a(d) +s=o.d +o.e=s.a=s.c=!0 +r=c.a +q=c.b +d.e=!0 +p=new A.It(b,c,d.a) +o.a.lg(r,q,r+b.gbb(b),q+b.gaH(b),p) +o.c.push(p)}, +ix(a,b,c,d){var s,r,q=this.a +t.g.a(d) +s=q.d +d.e=q.e=s.a=s.c=!0 +r=new A.Iu(a,b,c,d.a) +q.a.jU(c,r) +q.c.push(r)}, +kB(a,b){this.a.kB(a,b)}, +nV(a,b,c,d){var s,r,q=this.a +q.e=q.d.c=!0 +s=A.aIW(a.eQ(0),c) +r=new A.IC(t.Ci.a(a),b,c,d) +q.a.jU(s,r) +q.c.push(r)}} +A.AA.prototype={ +gft(){return this.eY$}, +bh(a){var s=this.nO("flt-clip"),r=A.aS(self.document,"flt-clip-interior") +this.eY$=r +A.l(r.style,"position","absolute") +r=this.eY$ +r.toString +s.append(r) +return s}, +Ob(a,b){var s +if(b!==B.A){s=a.style +A.l(s,"overflow","hidden") +A.l(s,"z-index","0")}}} +A.xT.prototype={ +hq(){var s=this +s.f=s.e.f +if(s.CW!==B.A)s.w=s.cx +else s.w=null +s.r=null}, +bh(a){var s=this.HI(0),r=A.a5("rect") +if(r==null)r=t.K.a(r) +s.setAttribute("clip-type",r) +return s}, +dz(){var s,r=this,q=r.d.style,p=r.cx,o=p.a +A.l(q,"left",A.h(o)+"px") +s=p.b +A.l(q,"top",A.h(s)+"px") +A.l(q,"width",A.h(p.c-o)+"px") +A.l(q,"height",A.h(p.d-s)+"px") +p=r.d +p.toString +r.Ob(p,r.CW) +p=r.eY$.style +A.l(p,"left",A.h(-o)+"px") +A.l(p,"top",A.h(-s)+"px")}, +b2(a,b){var s=this +s.lm(0,b) +if(!s.cx.j(0,b.cx)||s.CW!==b.CW){s.w=null +s.dz()}}, +$iWH:1} +A.IM.prototype={ +hq(){var s,r=this +r.f=r.e.f +if(r.cx!==B.A){s=r.CW +r.w=new A.D(s.a,s.b,s.c,s.d)}else r.w=null +r.r=null}, +bh(a){var s=this.HI(0),r=A.a5("rrect") +if(r==null)r=t.K.a(r) +s.setAttribute("clip-type",r) +return s}, +dz(){var s,r=this,q=r.d.style,p=r.CW,o=p.a +A.l(q,"left",A.h(o)+"px") +s=p.b +A.l(q,"top",A.h(s)+"px") +A.l(q,"width",A.h(p.c-o)+"px") +A.l(q,"height",A.h(p.d-s)+"px") +A.l(q,"border-top-left-radius",A.h(p.e)+"px") +A.l(q,"border-top-right-radius",A.h(p.r)+"px") +A.l(q,"border-bottom-right-radius",A.h(p.x)+"px") +A.l(q,"border-bottom-left-radius",A.h(p.z)+"px") +p=r.d +p.toString +r.Ob(p,r.cx) +p=r.eY$.style +A.l(p,"left",A.h(-o)+"px") +A.l(p,"top",A.h(-s)+"px")}, +b2(a,b){var s=this +s.lm(0,b) +if(!s.CW.j(0,b.CW)||s.cx!==b.cx){s.w=null +s.dz()}}, +$iWF:1} +A.xS.prototype={ +bh(a){return this.nO("flt-clippath")}, +hq(){var s=this +s.VG() +if(s.cx!==B.A){if(s.w==null)s.w=s.CW.eQ(0)}else s.w=null}, +dz(){var s=this,r=s.cy +if(r!=null)r.remove() +r=s.d +r.toString +r=A.avk(r,s.CW) +s.cy=r +s.d.append(r)}, +b2(a,b){var s,r=this +r.lm(0,b) +if(b.CW!==r.CW){r.w=null +s=b.cy +if(s!=null)s.remove() +r.dz()}else r.cy=b.cy +b.cy=null}, +iw(){var s=this.cy +if(s!=null)s.remove() +this.cy=null +this.ud()}, +$iWE:1} +A.aaD.prototype={ +yH(a,b){var s,r,q,p,o=self.document.createElementNS("http://www.w3.org/2000/svg","feColorMatrix"),n=o.type +n.toString +A.a8m(n,1) +n=o.result +n.toString +A.rc(n,b) +n=o.values.baseVal +n.toString +for(s=this.b,r=0;r<20;++r){q=s.createSVGNumber() +p=a[r] +q.value=p +n.appendItem(q)}this.c.append(o)}, +mO(a,b,c){var s=self.document.createElementNS("http://www.w3.org/2000/svg","feFlood"),r=A.a5(a) +if(r==null)r=t.K.a(r) +s.setAttribute("flood-color",r) +r=A.a5(b) +if(r==null)r=t.K.a(r) +s.setAttribute("flood-opacity",r) +r=s.result +r.toString +A.rc(r,c) +this.c.append(s)}, +Gz(a,b,c){var s=self.document.createElementNS("http://www.w3.org/2000/svg","feBlend"),r=s.in1 +r.toString +A.rc(r,a) +r=s.in2 +r.toString +A.rc(r,b) +r=s.mode +r.toString +A.a8m(r,c) +this.c.append(s)}, +u_(a,b,c,d,e,f,g,h){var s=self.document.createElementNS("http://www.w3.org/2000/svg","feComposite"),r=s.in1 +r.toString +A.rc(r,a) +r=s.in2 +r.toString +A.rc(r,b) +r=s.operator +r.toString +A.a8m(r,g) +if(c!=null){r=s.k1 +r.toString +A.a8n(r,c)}if(d!=null){r=s.k2 +r.toString +A.a8n(r,d)}if(e!=null){r=s.k3 +r.toString +A.a8n(r,e)}if(f!=null){r=s.k4 +r.toString +A.a8n(r,f)}r=s.result +r.toString +A.rc(r,h) +this.c.append(s)}, +yI(a,b,c,d){var s=null +return this.u_(a,b,s,s,s,s,c,d)}, +bt(){var s=this.b +s.append(this.c) +return new A.aaC(this.a,s)}} +A.aaC.prototype={} +A.XW.prototype={ +jj(a,b){throw A.c(A.cc(null))}, +lN(a){throw A.c(A.cc(null))}, +hJ(a,b){throw A.c(A.cc(null))}, +hN(a,b,c){throw A.c(A.cc(null))}, +nU(a){throw A.c(A.cc(null))}, +cS(a,b){var s +a=A.Dq(a,b) +s=this.rg$ +s=s.length===0?this.a:B.b.gT(s) +s.append(A.Ds(a,b,"draw-rect",this.jq$))}, +dh(a,b){var s,r=A.Ds(A.Dq(new A.D(a.a,a.b,a.c,a.d),b),b,"draw-rrect",this.jq$) +A.av4(r.style,a) +s=this.rg$ +s=s.length===0?this.a:B.b.gT(s) +s.append(r)}, +r_(a,b){throw A.c(A.cc(null))}, +dS(a,b,c){throw A.c(A.cc(null))}, +dT(a,b){throw A.c(A.cc(null))}, +nV(a,b,c,d){throw A.c(A.cc(null))}, +kA(a,b,c,d){throw A.c(A.cc(null))}, +ix(a,b,c,d){throw A.c(A.cc(null))}, +kB(a,b){var s=A.avo(a,b,this.jq$),r=this.rg$ +r=r.length===0?this.a:B.b.gT(r) +r.append(s)}, +nZ(){}} +A.GR.prototype={} +A.wz.prototype={ +l(){}, +d5(a){return this}, +QP(a){return a===this}, +y9(a){var s,r,q,p,o=this,n=null +switch(a.a){case 0:case 1:s=A.mI(n,n) +r=o.d +A.l9(s,r) +q=o.e +A.l8(s,q) +p=A.ft(s,"2d",n) +p.toString +t.e.a(p) +A.am_(p,o.a,0,0,n,n,n,n,n,n) +return A.cm(A.ey(p.getImageData(0,0,r,q).data.buffer,0,n),t.CD) +default:r=o.a +q=A.FT(r) +q=q==null?n:B.d.bW(q,"data:") +p=t.CD +if(q===!0){r=A.FT(r) +r.toString +return A.cm(A.ey(A.aFl(A.kc(r,0,n)).a9K().buffer,0,n),p)}else return A.cm(n,p)}}, +i(a){return"["+this.d+"\xd7"+this.e+"]"}, +$iwD:1, +gbb(a){return this.d}, +gaH(a){return this.e}} +A.xU.prototype={ +hq(){var s,r,q,p=this,o=p.e.f +p.f=o +s=p.cx +r=s.a +q=s.b +if(r!==0||q!==0){o.toString +s=new A.bq(new Float32Array(16)) +s.bc(o) +p.f=s +s.au(0,r,q)}p.r=null}, +gos(){var s,r=this.cy +if(r==null){r=this.cx +s=A.cK() +s.j1(-r.a,-r.b,0) +this.cy=s +r=s}return r}, +gft(){return this.dx}, +qg(a){this.z8(a) +this.db=a.db +this.dx=a.dx +a.dx=a.db=null}, +iw(){var s=this +s.ud() +$.a83.S8(s.db) +s.dx=s.db=null}, +bh(a){var s="position",r="absolute",q="transform-origin",p=this.nO("flt-image-filter"),o=this.nO("flt-image-filter-interior") +A.dh(o,s,r) +A.dh(o,q,"0 0 0") +A.dh(p,s,r) +A.dh(p,q,"0 0 0") +this.dx=o +p.appendChild(o) +return p}, +dz(){var s,r,q=this,p=t.m1.a(q.CW) +$.a83.S8(q.db) +q.db=null +A.l(q.dx.style,"filter",p.gabo()) +A.l(q.dx.style,"transform",p.gafW()) +s=q.d.style +r=q.cx +A.l(s,"left",A.h(r.a)+"px") +A.l(s,"top",A.h(r.b)+"px")}, +b2(a,b){var s=this +s.lm(0,b) +if(!b.CW.j(0,s.CW)||!b.cx.j(0,s.cx))s.dz()}, +$ia0l:1} +A.xV.prototype={ +hq(){var s,r,q=this,p=q.e.f +q.f=p +s=q.CW +if(s!==0||q.cx!==0){p.toString +r=new A.bq(new Float32Array(16)) +r.bc(p) +q.f=r +r.au(0,s,q.cx)}q.r=null}, +gos(){var s=this,r=s.cy +if(r==null){r=A.cK() +r.j1(-s.CW,-s.cx,0) +s.cy=r}return r}, +bh(a){var s=A.aS(self.document,"flt-offset") +A.dh(s,"position","absolute") +A.dh(s,"transform-origin","0 0 0") +return s}, +dz(){A.l(this.d.style,"transform","translate("+A.h(this.CW)+"px, "+A.h(this.cx)+"px)")}, +b2(a,b){var s=this +s.lm(0,b) +if(b.CW!==s.CW||b.cx!==s.cx)s.dz()}, +$ia5J:1} +A.xW.prototype={ +hq(){var s,r,q,p=this,o=p.e.f +p.f=o +s=p.cx +r=s.a +q=s.b +if(r!==0||q!==0){o.toString +s=new A.bq(new Float32Array(16)) +s.bc(o) +p.f=s +s.au(0,r,q)}p.r=null}, +gos(){var s,r=this.cy +if(r==null){r=this.cx +s=A.cK() +s.j1(-r.a,-r.b,0) +this.cy=s +r=s}return r}, +bh(a){var s=A.aS(self.document,"flt-opacity") +A.dh(s,"position","absolute") +A.dh(s,"transform-origin","0 0 0") +return s}, +dz(){var s,r=this.d +r.toString +A.dh(r,"opacity",A.h(this.CW/255)) +s=this.cx +A.l(r.style,"transform","translate("+A.h(s.a)+"px, "+A.h(s.b)+"px)")}, +b2(a,b){var s=this +s.lm(0,b) +if(s.CW!==b.CW||!s.cx.j(0,b.cx))s.dz()}, +$ia5K:1} +A.rx.prototype={ +sCD(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.a=a}, +gcp(a){var s=this.a.b +return s==null?B.aN:s}, +scp(a,b){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.b=b}, +gdK(){var s=this.a.c +return s==null?0:s}, +sdK(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.c=a}, +syU(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.d=a}, +sx6(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.f=!1}, +gab(a){return new A.C(this.a.r)}, +sab(a,b){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.r=b.gm(b)}, +sGF(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.w=a}, +sRd(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.x=a}, +skL(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.y=a}, +sOD(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.z=a}, +i(a){return"Paint()"}, +$ia5V:1, +sx4(){}} +A.KV.prototype={ +d5(a){var s=this,r=new A.KV() +r.a=s.a +r.y=s.y +r.x=s.x +r.w=s.w +r.f=s.f +r.r=s.r +r.z=s.z +r.c=s.c +r.b=s.b +r.e=s.e +r.d=s.d +return r}, +i(a){return this.bA(0)}} +A.eV.prototype={ +FN(){var s,r,q,p,o,n,m,l,k,j=this,i=A.b([],t.yv),h=j.a_e(0.25),g=B.f.a6S(1,h) +i.push(new A.m(j.a,j.b)) +if(h===5){s=new A.MC() +j.Iw(s) +r=s.a +r.toString +q=s.b +q.toString +p=r.c +o=p===r.e&&r.d===r.f&&q.a===q.c&&q.b===q.d +if(o){n=new A.m(p,r.d) +i.push(n) +i.push(n) +i.push(n) +i.push(new A.m(q.e,q.f)) +g=2}}else o=!1 +if(!o)A.alO(j,h,i) +m=2*g+1 +k=0 +while(!0){if(!(k=0)s.c=-r +s.e=s.d=-1}, +vN(a){this.vO(a,0,0)}, +uR(){var s,r=this.a,q=r.w +for(r=r.r,s=0;s359){j=c4<0?-0.001953125:0.001953125 +i=p +do{i-=j +m=Math.cos(i) +l=Math.sin(i)}while(o===m&&n===l)}}h=c4>0?0:1 +g=c0/2 +f=(c2.d-c2.b)/2 +e=c2.gaR().a+g*Math.cos(p) +d=c2.gaR().b+f*Math.sin(p) +if(o===m&&n===l){if(c5)b9.f4(0,e,d) +else b9.B3(e,d) +return}c=o*m+n*l +b=o*l-n*m +c0=!1 +if(Math.abs(b)<=0.000244140625)if(c>0)if(!(b>=0&&h===0))c0=b<=0&&h===1 +else c0=!0 +if(c0){if(c5)b9.f4(0,e,d) +else b9.B3(e,d) +return}c0=h===1 +if(c0)b=-b +if(0===b)a=2 +else if(0===c)a=b>0?1:3 +else{r=b<0 +a=r?2:0 +if(c<0!==r)++a}a0=A.b([],t.td) +for(a1=0;a1=d||e>=c)h.vO(b,0,3) +else if(A.aK_(a1))h.HT(b,0,3) +else{s=d-f +r=c-e +q=Math.max(0,a) +p=Math.max(0,a1.r) +o=Math.max(0,a1.z) +n=Math.max(0,a1.x) +m=Math.max(0,a1.f) +l=Math.max(0,a1.w) +k=Math.max(0,a1.Q) +j=Math.max(0,a1.y) +i=A.ajJ(k,j,r,A.ajJ(m,l,r,A.ajJ(o,n,s,A.ajJ(q,p,s,1)))) +a=c-i*k +h.f4(0,f,a) +h.da(0,f,e+i*m) +h.fv(f,e,f+i*q,e,0.707106781) +h.da(0,d-i*p,e) +h.fv(d,e,d,e+i*l,0.707106781) +h.da(0,d,c-i*j) +h.fv(d,c,d-i*n,c,0.707106781) +h.da(0,f+i*o,c) +h.fv(f,c,f,a,0.707106781) +h.aM(0) +h.e=g?0:-1 +f=h.a +f.ax=g +f.ch=!1 +f.CW=6}}, +p(a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this +if(a4.a.w===0)return!1 +s=a4.eQ(0) +r=a6.a +q=a6.b +if(rs.c||q>s.d)return!1 +p=a4.a +o=new A.a61(p,r,q,new Float32Array(18)) +o.a8c() +n=B.dK===a4.b +m=o.d +if((n?m&1:m)!==0)return!0 +l=o.e +if(l<=1)return l!==0 +p=(l&1)===0 +if(!p||n)return!p +k=A.arS(a4.a,!0) +j=new Float32Array(18) +i=A.b([],t.yv) +p=k.a +h=!1 +do{g=i.length +switch(k.kV(0,j)){case 0:case 5:break +case 1:A.aKA(j,r,q,i) +break +case 2:A.aKB(j,r,q,i) +break +case 3:f=k.f +A.aKy(j,r,q,p.y[f],i) +break +case 4:A.aKz(j,r,q,i) +break +case 6:h=!0 +break}f=i.length +if(f>g){e=f-1 +d=i[e] +c=d.a +b=d.b +if(Math.abs(c*c+b*b)<0.000244140625)B.b.f9(i,e) +else for(a=0;a0?1:0 +if(f<=0){f=b*a1 +if(f<0)f=-1 +else f=f>0?1:0 +f=f<=0}else f=a2}else f=a2 +if(f){a3=B.b.f9(i,e) +if(a!==i.length)i[a]=a3 +break}}}}while(!h) +return i.length!==0}, +cY(a){var s,r=a.a,q=a.b,p=this.a,o=A.aDc(p,r,q),n=p.e,m=new Uint8Array(n) +B.W.oY(m,0,p.r) +o=new A.qQ(o,m) +n=p.x +o.x=n +o.z=p.z +s=p.y +if(s!=null){n=new Float32Array(n) +o.y=n +B.iL.oY(n,0,s)}o.e=p.e +o.w=p.w +o.c=p.c +o.d=p.d +n=p.Q +o.Q=n +if(!n){o.a=p.a.au(0,r,q) +n=p.b +o.b=n==null?null:n.au(0,r,q) +o.as=p.as}o.cx=p.cx +o.at=p.at +o.ax=p.ax +o.ay=p.ay +o.ch=p.ch +o.CW=p.CW +r=new A.ry(o,B.b3) +r.IV(this) +return r}, +eQ(e2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0=this,e1=e0.a +if((e1.ax?e1.CW:-1)===-1)s=(e1.at?e1.CW:-1)!==-1 +else s=!0 +if(s)return e1.eQ(0) +if(!e1.Q&&e1.b!=null){e1=e1.b +e1.toString +return e1}r=new A.o0(e1) +r.ph(e1) +q=e0.a.f +for(p=!1,o=0,n=0,m=0,l=0,k=0,j=0,i=0,h=0,g=null,f=null,e=null;d=r.aej(),d!==6;){c=r.e +switch(d){case 0:j=q[c] +h=q[c+1] +i=h +k=j +break +case 1:j=q[c+2] +h=q[c+3] +i=h +k=j +break +case 2:if(f==null)f=new A.a6L() +b=c+1 +a=q[c] +a0=b+1 +a1=q[b] +b=a0+1 +a2=q[a0] +a0=b+1 +a3=q[b] +a4=q[a0] +a5=q[a0+1] +s=f.a=Math.min(a,a4) +a6=f.b=Math.min(a1,a5) +a7=f.c=Math.max(a,a4) +a8=f.d=Math.max(a1,a5) +a9=a-2*a2+a4 +if(Math.abs(a9)>0.000244140625){b0=(a-a2)/a9 +if(b0>=0&&b0<=1){b1=1-b0 +b2=b1*b1 +b3=2*b0*b1 +b0*=b0 +b4=b2*a+b3*a2+b0*a4 +b5=b2*a1+b3*a3+b0*a5 +s=Math.min(s,b4) +f.a=s +a7=Math.max(a7,b4) +f.c=a7 +a6=Math.min(a6,b5) +f.b=a6 +a8=Math.max(a8,b5) +f.d=a8}}a9=a1-2*a3+a5 +if(Math.abs(a9)>0.000244140625){b6=(a1-a3)/a9 +if(b6>=0&&b6<=1){b7=1-b6 +b2=b7*b7 +b3=2*b6*b7 +b6*=b6 +b8=b2*a+b3*a2+b6*a4 +b9=b2*a1+b3*a3+b6*a5 +s=Math.min(s,b8) +f.a=s +a7=Math.max(a7,b8) +f.c=a7 +a6=Math.min(a6,b9) +f.b=a6 +a8=Math.max(a8,b9) +f.d=a8}h=a8 +j=a7 +i=a6 +k=s}else{h=a8 +j=a7 +i=a6 +k=s}break +case 3:if(e==null)e=new A.X2() +s=e1.y[r.b] +b=c+1 +a=q[c] +a0=b+1 +a1=q[b] +b=a0+1 +a2=q[a0] +a0=b+1 +a3=q[b] +a4=q[a0] +a5=q[a0+1] +e.a=Math.min(a,a4) +e.b=Math.min(a1,a5) +e.c=Math.max(a,a4) +e.d=Math.max(a1,a5) +c0=new A.jZ() +c1=a4-a +c2=s*(a2-a) +if(c0.kM(s*c1-c1,c1-2*c2,c2)!==0){a6=c0.a +a6.toString +if(a6>=0&&a6<=1){c3=2*(s-1) +a9=(-c3*a6+c3)*a6+1 +c4=a2*s +b4=(((a4-2*c4+a)*a6+2*(c4-a))*a6+a)/a9 +c4=a3*s +b5=(((a5-2*c4+a1)*a6+2*(c4-a1))*a6+a1)/a9 +e.a=Math.min(e.a,b4) +e.c=Math.max(e.c,b4) +e.b=Math.min(e.b,b5) +e.d=Math.max(e.d,b5)}}c5=a5-a1 +c6=s*(a3-a1) +if(c0.kM(s*c5-c5,c5-2*c6,c6)!==0){a6=c0.a +a6.toString +if(a6>=0&&a6<=1){c3=2*(s-1) +a9=(-c3*a6+c3)*a6+1 +c4=a2*s +b8=(((a4-2*c4+a)*a6+2*(c4-a))*a6+a)/a9 +c4=a3*s +b9=(((a5-2*c4+a1)*a6+2*(c4-a1))*a6+a1)/a9 +e.a=Math.min(e.a,b8) +e.c=Math.max(e.c,b8) +e.b=Math.min(e.b,b9) +e.d=Math.max(e.d,b9)}}k=e.a +i=e.b +j=e.c +h=e.d +break +case 4:if(g==null)g=new A.X9() +b=c+1 +c7=q[c] +a0=b+1 +c8=q[b] +b=a0+1 +c9=q[a0] +a0=b+1 +d0=q[b] +b=a0+1 +d1=q[a0] +a0=b+1 +d2=q[b] +d3=q[a0] +d4=q[a0+1] +s=Math.min(c7,d3) +g.a=s +g.c=Math.min(c8,d4) +a6=Math.max(c7,d3) +g.b=a6 +g.d=Math.max(c8,d4) +if(!(c7c9&&c9>d1&&d1>d3 +else a7=!0 +if(!a7){a7=-c7 +d5=a7+3*(c9-d1)+d3 +d6=2*(c7-2*c9+d1) +d7=d6*d6-4*d5*(a7+c9) +if(d7>=0&&Math.abs(d5)>0.000244140625){a7=-d6 +a8=2*d5 +if(d7===0){d8=a7/a8 +b1=1-d8 +if(d8>=0&&d8<=1){a7=3*b1 +b4=b1*b1*b1*c7+a7*b1*d8*c9+a7*d8*d8*d1+d8*d8*d8*d3 +g.a=Math.min(b4,s) +g.b=Math.max(b4,a6)}}else{d7=Math.sqrt(d7) +d8=(a7-d7)/a8 +b1=1-d8 +if(d8>=0&&d8<=1){s=3*b1 +b4=b1*b1*b1*c7+s*b1*d8*c9+s*d8*d8*d1+d8*d8*d8*d3 +g.a=Math.min(b4,g.a) +g.b=Math.max(b4,g.b)}d8=(a7+d7)/a8 +b1=1-d8 +if(d8>=0&&d8<=1){s=3*b1 +b4=b1*b1*b1*c7+s*b1*d8*c9+s*d8*d8*d1+d8*d8*d8*d3 +g.a=Math.min(b4,g.a) +g.b=Math.max(b4,g.b)}}}}if(!(c8d0&&d0>d2&&d2>d4 +else s=!0 +if(!s){s=-c8 +d5=s+3*(d0-d2)+d4 +d6=2*(c8-2*d0+d2) +d7=d6*d6-4*d5*(s+d0) +if(d7>=0&&Math.abs(d5)>0.000244140625){s=-d6 +a6=2*d5 +if(d7===0){d8=s/a6 +b1=1-d8 +if(d8>=0&&d8<=1){s=3*b1 +b5=b1*b1*b1*c8+s*b1*d8*d0+s*d8*d8*d2+d8*d8*d8*d4 +g.c=Math.min(b5,g.c) +g.d=Math.max(b5,g.d)}}else{d7=Math.sqrt(d7) +d8=(s-d7)/a6 +b1=1-d8 +if(d8>=0&&d8<=1){a7=3*b1 +b5=b1*b1*b1*c8+a7*b1*d8*d0+a7*d8*d8*d2+d8*d8*d8*d4 +g.c=Math.min(b5,g.c) +g.d=Math.max(b5,g.d)}s=(s+d7)/a6 +b7=1-s +if(s>=0&&s<=1){a6=3*b7 +b5=b7*b7*b7*c8+a6*b7*s*d0+a6*s*s*d2+s*s*s*d4 +g.c=Math.min(b5,g.c) +g.d=Math.max(b5,g.d)}}}}k=g.a +i=g.c +j=g.b +h=g.d +break}if(!p){l=h +m=j +n=i +o=k +p=!0}else{o=Math.min(o,k) +m=Math.max(m,j) +n=Math.min(n,i) +l=Math.max(l,h)}}d9=p?new A.D(o,n,m,l):B.M +e0.a.eQ(0) +return e0.a.b=d9}, +i(a){return this.bA(0)}} +A.a6_.prototype={ +zv(a){var s=this,r=s.r,q=s.x +if(r!==q||s.w!==s.y){if(isNaN(r)||isNaN(s.w)||isNaN(q)||isNaN(s.y))return 5 +a[0]=r +a[1]=s.w +a[2]=q +r=s.y +a[3]=r +s.r=q +s.w=r +return 1}else{a[0]=q +a[1]=s.y +return 5}}, +ux(){var s,r,q=this +if(q.e===1){q.e=2 +return new A.m(q.x,q.y)}s=q.a.f +r=q.Q +return new A.m(s[r-2],s[r-1])}, +kV(a,b){var s,r,q,p,o,n,m=this,l=m.z,k=m.a +if(l===k.w){if(m.d&&m.e===2){if(1===m.zv(b))return 1 +m.d=!1 +return 5}return 6}s=m.z=l+1 +r=k.r[l] +switch(r){case 0:if(m.d){m.z=s-1 +q=m.zv(b) +if(q===5)m.d=!1 +return q}if(s===m.c)return 6 +l=k.f +k=m.Q +s=m.Q=k+1 +p=l[k] +m.Q=s+1 +o=l[s] +m.x=p +m.y=o +b[0]=p +b[1]=o +m.e=1 +m.r=p +m.w=o +m.d=!0 +break +case 1:n=m.ux() +l=k.f +k=m.Q +s=m.Q=k+1 +p=l[k] +m.Q=s+1 +o=l[s] +b[0]=n.a +b[1]=n.b +b[2]=p +b[3]=o +m.r=p +m.w=o +break +case 3:++m.f +n=m.ux() +b[0]=n.a +b[1]=n.b +l=k.f +k=m.Q +s=m.Q=k+1 +b[2]=l[k] +k=m.Q=s+1 +b[3]=l[s] +s=m.Q=k+1 +k=l[k] +b[4]=k +m.r=k +m.Q=s+1 +s=l[s] +b[5]=s +m.w=s +break +case 2:n=m.ux() +b[0]=n.a +b[1]=n.b +l=k.f +k=m.Q +s=m.Q=k+1 +b[2]=l[k] +k=m.Q=s+1 +b[3]=l[s] +s=m.Q=k+1 +k=l[k] +b[4]=k +m.r=k +m.Q=s+1 +s=l[s] +b[5]=s +m.w=s +break +case 4:n=m.ux() +b[0]=n.a +b[1]=n.b +l=k.f +k=m.Q +s=m.Q=k+1 +b[2]=l[k] +k=m.Q=s+1 +b[3]=l[s] +s=m.Q=k+1 +b[4]=l[k] +k=m.Q=s+1 +b[5]=l[s] +s=m.Q=k+1 +k=l[k] +b[6]=k +m.r=k +m.Q=s+1 +s=l[s] +b[7]=s +m.w=s +break +case 5:r=m.zv(b) +if(r===1)--m.z +else{m.d=!1 +m.e=0}m.r=m.x +m.w=m.y +break +case 6:break +default:throw A.c(A.bG("Unsupport Path verb "+r,null,null))}return r}} +A.qQ.prototype={ +fQ(a,b,c){var s=a*2,r=this.f +r[s]=b +r[s+1]=c}, +fs(a){var s=this.f,r=a*2 +return new A.m(s[r],s[r+1])}, +Gi(){var s=this +if(s.ay)return new A.D(s.fs(0).a,s.fs(0).b,s.fs(1).a,s.fs(2).b) +else return s.w===4?s.a_L():null}, +eQ(a){var s +if(this.Q)this.zQ() +s=this.a +s.toString +return s}, +a_L(){var s,r,q,p,o,n,m,l,k=this,j=null,i=k.fs(0).a,h=k.fs(0).b,g=k.fs(1).a,f=k.fs(1).b +if(k.r[1]!==1||f!==h)return j +s=g-i +r=k.fs(2).a +q=k.fs(2).b +if(k.r[2]!==1||r!==g)return j +p=q-f +o=k.fs(3) +n=k.fs(3).b +if(k.r[3]!==1||n!==q)return j +if(r-o.a!==s||n-h!==p)return j +m=Math.min(i,g) +l=Math.min(h,q) +return new A.D(m,l,m+Math.abs(s),l+Math.abs(p))}, +TH(){var s,r,q,p,o +if(this.w===2){s=this.r +s=s[0]!==0||s[1]!==1}else s=!0 +if(s)return null +s=this.f +r=s[0] +q=s[1] +p=s[2] +o=s[3] +if(q===o||r===p)return new A.D(r,q,p,o) +return null}, +JS(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this.eQ(0),f=A.b([],t.kG),e=new A.o0(this) +e.ph(this) +s=new Float32Array(8) +e.kV(0,s) +for(r=0;q=e.kV(0,s),q!==6;)if(3===q){p=s[2] +o=s[3] +n=p-s[0] +m=o-s[1] +l=s[4] +k=s[5] +if(n!==0){j=Math.abs(n) +i=Math.abs(k-o)}else{i=Math.abs(m) +j=m!==0?Math.abs(l-p):Math.abs(n)}f.push(new A.aU(j,i));++r}l=f[0] +k=f[1] +h=f[2] +return A.Jb(g,f[3],h,l,k)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.qQ&&this.ab7(b)}, +gt(a){var s=this +return A.P(s.cx,s.f,s.y,s.r,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +ab7(a){var s,r,q,p,o,n,m,l=this +if(l.cx!==a.cx)return!1 +s=l.d +if(s!==a.d)return!1 +r=s*2 +for(q=l.f,p=a.f,o=0;ok.e){q=r+8 +k.e=q +p=new Uint8Array(q) +B.W.oY(p,0,k.r) +k.r=p}k.w=r +k.r[s]=a +if(3===a){o=k.z +r=o+1 +if(r>k.x){q=r+4 +k.x=q +n=new Float32Array(q) +q=k.y +if(q!=null)B.iL.oY(n,0,q) +k.y=n}k.z=r +k.y[o]=b}m=k.d +r=m+j +if(r>k.c){q=r+10 +k.c=q +l=new Float32Array(q*2) +B.iL.oY(l,0,k.f) +k.f=l}k.d=r +return m}} +A.o0.prototype={ +ph(a){var s +this.d=0 +s=this.a +if(s.Q)s.zQ() +if(!s.as)this.c=s.w}, +aej(){var s,r=this,q=r.c,p=r.a +if(q===p.w)return 6 +p=p.r +r.c=q+1 +s=p[q] +switch(s){case 0:q=r.d +r.e=q +r.d=q+2 +break +case 1:q=r.d +r.e=q-2 +r.d=q+2 +break +case 3:++r.b +q=r.d +r.e=q-2 +r.d=q+4 +break +case 2:q=r.d +r.e=q-2 +r.d=q+4 +break +case 4:q=r.d +r.e=q-2 +r.d=q+6 +break +case 5:break +case 6:break +default:throw A.c(A.bG("Unsupport Path verb "+s,null,null))}return s}, +kV(a,b){var s,r,q,p,o,n=this,m=n.c,l=n.a +if(m===l.w)return 6 +s=l.r +n.c=m+1 +r=s[m] +q=l.f +p=n.d +switch(r){case 0:o=p+1 +b[0]=q[p] +p=o+1 +b[1]=q[o] +break +case 1:b[0]=q[p-2] +b[1]=q[p-1] +o=p+1 +b[2]=q[p] +p=o+1 +b[3]=q[o] +break +case 3:++n.b +b[0]=q[p-2] +b[1]=q[p-1] +o=p+1 +b[2]=q[p] +p=o+1 +b[3]=q[o] +o=p+1 +b[4]=q[p] +p=o+1 +b[5]=q[o] +break +case 2:b[0]=q[p-2] +b[1]=q[p-1] +o=p+1 +b[2]=q[p] +p=o+1 +b[3]=q[o] +o=p+1 +b[4]=q[p] +p=o+1 +b[5]=q[o] +break +case 4:b[0]=q[p-2] +b[1]=q[p-1] +o=p+1 +b[2]=q[p] +p=o+1 +b[3]=q[o] +o=p+1 +b[4]=q[p] +p=o+1 +b[5]=q[o] +o=p+1 +b[6]=q[p] +p=o+1 +b[7]=q[o] +break +case 5:break +case 6:break +default:throw A.c(A.bG("Unsupport Path verb "+r,null,null))}n.d=p +return r}} +A.jZ.prototype={ +kM(a,b,c){var s,r,q,p,o,n,m,l=this +if(a===0){s=A.Ul(-c,b) +l.a=s +return s==null?0:1}r=b*b-4*a*c +if(r<0)return 0 +r=Math.sqrt(r) +if(!isFinite(r))return 0 +q=b<0?-(b-r)/2:-(b+r)/2 +p=A.Ul(q,a) +if(p!=null){l.a=p +o=1}else o=0 +p=A.Ul(c,q) +if(p!=null){n=o+1 +if(o===0)l.a=p +else l.b=p +o=n}if(o===2){s=l.a +s.toString +m=l.b +m.toString +if(s>m){l.a=m +l.b=s}else if(s===m)return 1}return o}} +A.a9V.prototype={ +PQ(a){return(this.a*a+this.c)*a+this.e}, +PR(a){return(this.b*a+this.d)*a+this.f}} +A.a61.prototype={ +a8c(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this,d=e.a,c=A.arS(d,!0) +for(s=e.f,r=t.td;q=c.kV(0,s),q!==6;)switch(q){case 0:case 5:break +case 1:e.a_c() +break +case 2:p=!A.arU(s)?A.aDd(s):0 +o=e.IL(s[0],s[1],s[2],s[3],s[4],s[5]) +if(p>0)o+=e.IL(s[4],s[5],s[6],s[7],s[8],s[9]) +e.d+=o +break +case 3:n=d.y[c.f] +m=s[0] +l=s[1] +k=s[2] +j=s[3] +i=s[4] +h=s[5] +g=A.arU(s) +f=A.b([],r) +new A.eV(m,l,k,j,i,h,n).a9h(f) +e.IK(f[0]) +if(!g&&f.length===2)e.IK(f[1]) +break +case 4:e.a_4() +break}}, +a_c(){var s,r,q,p,o,n=this,m=n.f,l=m[0],k=m[1],j=m[2],i=m[3] +if(k>i){s=k +r=i +q=-1}else{s=i +r=k +q=1}m=n.c +if(ms)return +p=n.b +if(A.a62(p,m,l,k,j,i)){++n.e +return}if(m===s)return +o=(j-l)*(m-k)-(i-k)*(p-l) +if(o===0){if(p!==j||m!==i)++n.e +q=0}else if(A.aE7(o)===q)q=0 +n.d+=q}, +IL(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k=this +if(b>f){s=b +r=f +q=-1}else{s=f +r=b +q=1}p=k.c +if(ps)return 0 +o=k.b +if(A.a62(o,p,a,b,e,f)){++k.e +return 0}if(p===s)return 0 +n=new A.jZ() +if(0===n.kM(b-2*d+f,2*(d-b),b-p))m=q===1?a:e +else{l=n.a +l.toString +m=((e-2*c+a)*l+2*(c-a))*l+a}if(Math.abs(m-o)<0.000244140625)if(o!==e||p!==f){++k.e +return 0}return mg){s=h +r=g +q=-1}else{s=g +r=h +q=1}p=i.c +if(ps)return +o=i.b +if(A.a62(o,p,a.a,h,a.e,g)){++i.e +return}if(p===s)return +n=a.r +m=a.d*n-p*n+p +l=new A.jZ() +if(0===l.kM(g+(h-2*m),2*(m-h),h-p))k=q===1?a.a:a.e +else{j=l.a +j.toString +k=A.aAq(a.a,a.c,a.e,n,j)/A.aAp(n,j)}if(Math.abs(k-o)<0.000244140625)if(o!==a.e||p!==a.f){++i.e +return}p=i.d +i.d=p+(kq){p=b +o=q +n=-1}else{p=q +o=b +n=1}m=g.c +if(mp)return +l=g.b +if(A.a62(l,m,d,b,r,q)){++g.e +return}if(m===p)return +k=Math.min(d,Math.min(a,Math.min(s,r))) +j=Math.max(d,Math.max(a,Math.max(s,r))) +if(lj){g.d+=n +return}i=A.ava(f,a0,m) +if(i==null)return +h=A.avq(d,a,s,r,i) +if(Math.abs(h-l)<0.000244140625)if(l!==r||m!==q){++g.e +return}f=g.d +g.d=f+(h1,o=null,n=1/0,m=0;m<$.kz.length;++m){l=$.kz[m] +$.br() +k=self.window.devicePixelRatio +if(k===0)k=1 +if(l.y!==k)continue +k=l.a +j=k.c-k.a +k=k.d-k.b +i=j*k +h=a.dy +g=self.window.devicePixelRatio +if(l.r>=B.c.d4(s*(g===0?1:g))+2){g=self.window.devicePixelRatio +f=l.w>=B.c.d4(r*(g===0?1:g))+2&&l.ay===h}else f=!1 +e=i4)){if(j===a1&&k===a3){o=l +break}n=i +o=l}}if(o!=null){B.b.A($.kz,o) +o.sqv(0,a4) +o.b=a.fx +return o}p=a.cy.b.d +k=a.dy +j=A.aS(self.document,"flt-canvas") +h=A.b([],t.J) +$.br() +g=self.window.devicePixelRatio +if(g===0)g=1 +d=A.Vm(a1) +c=A.Vl(a3) +a3=new A.Wj(A.Vm(a1),A.Vl(a3),k,A.b([],t.vj),A.cK()) +b=new A.jm(a4,j,a3,h,d,c,g,k,p) +A.l(j.style,"position","absolute") +b.z=B.c.d0(a0)-1 +b.Q=B.c.d0(a2)-1 +b.Nu() +a3.z=j +b.Mr() +b.b=a.fx +return b}, +Ia(){A.l(this.d.style,"transform","translate("+A.h(this.CW)+"px, "+A.h(this.cx)+"px)")}, +dz(){this.Ia() +this.uq(null)}, +bt(){this.zT(null) +this.fr=!0 +this.Hj()}, +b2(a,b){var s,r,q=this +q.z9(0,b) +q.fx=b.fx +if(b!==q)b.fx=null +if(q.CW!==b.CW||q.cx!==b.cx)q.Ia() +q.zT(b) +if(q.cy===b.cy){s=q.ch +r=s instanceof A.jm&&q.dy!==s.ay +if(q.fr||r)q.uq(b) +else q.ch=b.ch}else q.uq(b)}, +l7(){var s=this +s.Hm() +s.zT(s) +if(s.fr)s.uq(s)}, +iw(){A.U6(this.ch) +this.ch=null +this.Hk()}} +A.a65.prototype={ +$0(){var s,r=this.a,q=r.fy +q.toString +s=r.ch=r.a0w(q) +s.b=r.fx +q=r.d +q.toString +A.aoA(q) +r.d.append(s.c) +s.J(0) +q=r.cy.b +q.toString +r=r.fy +r.toString +q.Cu(s,r) +s.nZ()}, +$S:0} +A.xX.prototype={ +bh(a){return A.avi(this.ch)}, +dz(){var s=this,r=s.d.style +A.l(r,"transform","translate("+A.h(s.CW)+"px, "+A.h(s.cx)+"px)") +A.l(r,"width",A.h(s.cy)+"px") +A.l(r,"height",A.h(s.db)+"px") +A.l(r,"position","absolute")}, +vY(a){if(this.VH(a))return this.ch===t.p0.a(a).ch +return!1}, +xk(a){return a.ch===this.ch?0:1}, +b2(a,b){var s=this +s.z9(0,b) +if(s.CW!==b.CW||s.cx!==b.cx||s.cy!==b.cy||s.db!==b.db)s.dz()}} +A.a7a.prototype={ +Cu(a,b){var s,r,q,p,o,n,m,l,k,j +try{m=this.b +m.toString +m=A.avT(b,m) +l=this.c +k=l.length +if(m){s=k +for(r=0;rq*q+p*p||g*g+f*f>o*o+n*n||e*e+d*d>m*m+l*l||c*c+b*b>k*k+j*j)return +a3.e=a3.d.c=!0 +a=A.u5(b2) +b2.e=!0 +a0=new A.Is(b0,b1,b2.a) +q=$.am().dC() +q.sri(B.dK) +q.h3(b0) +q.h3(b1) +q.aM(0) +a0.x=q +a1=Math.min(a5,a7) +a2=Math.max(a5,a7) +a3.a.lg(a1-a,Math.min(a6,a8)-a,a2+a,Math.max(a6,a8)+a,a0) +a3.c.push(a0)}, +dT(a,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=this +if(a0.a.w==null){t.Ci.a(a) +s=a.a.Gi() +if(s!=null){b.cS(s,a0) +return}r=a.a +q=r.ax?r.JS():null +if(q!=null){b.dh(q,a0) +return}p=a.a.TH() +if(p!=null){r=a0.a.c +r=(r==null?0:r)===0}else r=!1 +if(r){r=p.a +o=p.c +n=Math.min(r,o) +m=p.b +l=p.d +k=Math.min(m,l) +r=o-r +j=Math.abs(r) +m=l-m +i=Math.abs(m) +h=m===0?1:i +g=r===0?1:j +a0.scp(0,B.aN) +b.cS(new A.D(n,k,n+g,k+h),a0) +return}}t.Ci.a(a) +if(a.a.w!==0){b.e=b.d.c=!0 +f=a.eQ(0) +e=A.u5(a0) +if(e!==0)f=f.eh(e) +r=a.a +o=new A.qQ(r.f,r.r) +o.e=r.e +o.w=r.w +o.c=r.c +o.d=r.d +o.x=r.x +o.z=r.z +o.y=r.y +m=r.Q +o.Q=m +if(!m){o.a=r.a +o.b=r.b +o.as=r.as}o.cx=r.cx +o.at=r.at +o.ax=r.ax +o.ay=r.ay +o.ch=r.ch +o.CW=r.CW +d=new A.ry(o,B.b3) +d.IV(a) +a0.e=!0 +c=new A.Iz(d,a0.a) +b.a.jU(f,c) +d.b=a.b +b.c.push(c)}}, +kB(a,b){var s,r,q,p,o=this +t.Ak.a(a) +if(!a.e)return +o.e=!0 +s=o.d +s.c=!0 +s.b=!0 +r=new A.Iy(a,b) +q=a.gc1().z +s=b.a +p=b.b +o.a.lg(s+q.a,p+q.b,s+q.c,p+q.d,r) +o.c.push(r)}} +A.cx.prototype={} +A.vM.prototype={ +adz(a){var s=this +if(s.a)return!0 +return s.ea.d||s.da.c}} +A.xL.prototype={ +cO(a){a.c8(0)}, +i(a){return this.bA(0)}} +A.ID.prototype={ +cO(a){a.bH(0)}, +i(a){return this.bA(0)}} +A.IH.prototype={ +cO(a){a.au(0,this.a,this.b)}, +i(a){return this.bA(0)}} +A.IF.prototype={ +cO(a){a.eq(0,this.a,this.b)}, +i(a){return this.bA(0)}} +A.IE.prototype={ +cO(a){a.l9(0,this.a)}, +i(a){return this.bA(0)}} +A.IG.prototype={ +cO(a){a.a8(0,this.a)}, +i(a){return this.bA(0)}} +A.Ip.prototype={ +cO(a){a.jj(this.f,this.r)}, +i(a){return this.bA(0)}} +A.Io.prototype={ +cO(a){a.lN(this.f)}, +i(a){return this.bA(0)}} +A.In.prototype={ +cO(a){a.hJ(0,this.f)}, +i(a){return this.bA(0)}} +A.Iv.prototype={ +cO(a){a.hN(this.f,this.r,this.w)}, +i(a){return this.bA(0)}} +A.Ix.prototype={ +cO(a){a.nU(this.f)}, +i(a){return this.bA(0)}} +A.IB.prototype={ +cO(a){a.cS(this.f,this.r)}, +i(a){return this.bA(0)}} +A.IA.prototype={ +cO(a){a.dh(this.f,this.r)}, +i(a){return this.bA(0)}} +A.Is.prototype={ +cO(a){var s=this.w +if(s.b==null)s.b=B.aN +a.dT(this.x,s)}, +i(a){return this.bA(0)}} +A.Iw.prototype={ +cO(a){a.r_(this.f,this.r)}, +i(a){return this.bA(0)}} +A.Ir.prototype={ +cO(a){a.dS(this.f,this.r,this.w)}, +i(a){return this.bA(0)}} +A.Iz.prototype={ +cO(a){a.dT(this.f,this.r)}, +i(a){return this.bA(0)}} +A.IC.prototype={ +cO(a){var s=this +a.nV(s.f,s.r,s.w,s.x)}, +i(a){return this.bA(0)}} +A.It.prototype={ +cO(a){a.kA(0,this.f,this.r,this.w)}, +i(a){return this.bA(0)}} +A.Iu.prototype={ +cO(a){var s=this +a.ix(s.f,s.r,s.w,s.x)}, +i(a){return this.bA(0)}} +A.Iy.prototype={ +cO(a){a.kB(this.f,this.r)}, +i(a){return this.bA(0)}} +A.agU.prototype={ +jj(a,b){var s,r,q,p,o=this,n=a.a,m=a.b,l=a.c,k=a.d +if(!o.x){s=$.ap1() +s[0]=n +s[1]=m +s[2]=l +s[3]=k +A.aoH(o.y,s) +n=s[0] +m=s[1] +l=s[2] +k=s[3]}if(!o.z){o.Q=n +o.as=m +o.at=l +o.ax=k +o.z=!0 +r=k +q=l +p=m +s=n}else{s=o.Q +if(n>s){o.Q=n +s=n}p=o.as +if(m>p){o.as=m +p=m}q=o.at +if(l=q||p>=r)b.a=!0 +else{b.b=s +b.c=p +b.d=q +b.e=r}}, +jU(a,b){this.lg(a.a,a.b,a.c,a.d,b)}, +lg(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j=this +if(a===c||b===d){e.a=!0 +return}if(!j.x){s=$.ap1() +s[0]=a +s[1]=b +s[2]=c +s[3]=d +A.aoH(j.y,s) +r=s[0] +q=s[1] +p=s[2] +o=s[3]}else{o=d +p=c +q=b +r=a}if(j.z){n=j.at +if(r>=n){e.a=!0 +return}m=j.Q +if(p<=m){e.a=!0 +return}l=j.ax +if(q>=l){e.a=!0 +return}k=j.as +if(o<=k){e.a=!0 +return}if(rn)p=n +if(ql)o=l}e.b=r +e.c=q +e.d=p +e.e=o +if(j.b){j.c=Math.min(Math.min(j.c,r),p) +j.e=Math.max(Math.max(j.e,r),p) +j.d=Math.min(Math.min(j.d,q),o) +j.f=Math.max(Math.max(j.f,q),o)}else{j.c=Math.min(r,p) +j.e=Math.max(r,p) +j.d=Math.min(q,o) +j.f=Math.max(q,o)}j.b=!0}, +yB(){var s=this,r=s.y,q=new A.bq(new Float32Array(16)) +q.bc(r) +s.r.push(q) +r=s.z?new A.D(s.Q,s.as,s.at,s.ax):null +s.w.push(r)}, +a9B(){var s,r,q,p,o,n,m,l,k,j,i=this +if(!i.b)return B.M +s=i.a +r=s.a +if(isNaN(r))r=-1/0 +q=s.c +if(isNaN(q))q=1/0 +p=s.b +if(isNaN(p))p=-1/0 +o=s.d +if(isNaN(o))o=1/0 +s=i.c +n=i.e +m=Math.min(s,n) +l=Math.max(s,n) +n=i.d +s=i.f +k=Math.min(n,s) +j=Math.max(n,s) +if(l1;)s.pop() +t.IF.a(B.b.gI(s)).tb(new A.a6F())}, +$S:0} +A.aaA.prototype={ +$0(){var s,r,q=t.IF,p=this.a.a +if($.aay==null)q.a(B.b.gI(p)).bt() +else{s=q.a(B.b.gI(p)) +r=$.aay +r.toString +s.b2(0,r)}A.aIR(q.a(B.b.gI(p))) +$.aay=q.a(B.b.gI(p)) +return new A.rz(q.a(B.b.gI(p)).d,this.b)}, +$S:229} +A.a5C.prototype={ +Uh(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +for(s=f.d,r=f.c,q=a.a,p=f.b,o=b.a,n=0;n>>24&255)<1}, +$S:230} +A.a9I.prototype={} +A.YK.prototype={ +i(a){return"Gradient()"}} +A.wt.prototype={ +aaf(a,b,c){var s,r,q,p,o,n,m,l,k,j,i=this,h=i.f +if(h===B.jz||h===B.jA){s=i.r +r=b.a +q=b.b +p=i.b +o=i.c +n=p.a +m=o.a +p=p.b +o=o.b +if(s!=null){l=(n+m)/2-r +k=(p+o)/2-q +s.SD(0,n-l,p-k) +p=s.b +n=s.c +s.SD(0,m-l,o-k) +j=a.createLinearGradient(p+l-r,n+k-q,s.b+l-r,s.c+k-q)}else j=a.createLinearGradient(n-r,p-q,m-r,o-q) +A.aGO(j,i.d,i.e,h===B.jA) +return j}else{h=a.createPattern(A.ez(i.P1(b,c,!1)),"no-repeat") +h.toString +return h}}, +P1(c7,c8,c9){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0=this,c1="premultipliedAlpha",c2="u_resolution",c3="m_gradient",c4="attachShader",c5=c7.c,c6=c7.a +c5-=c6 +s=B.c.d4(c5) +r=c7.d +q=c7.b +r-=q +p=B.c.d4(r) +if($.aoo==null)$.aoo=new A.ajf() +o=$.ap9() +n=o.a +if(n==null){n=new A.a5F(s,p) +if(A.arJ())n.a=new self.OffscreenCanvas(s,p) +else{m=n.b=A.mI(p,s) +m.className="gl-canvas" +n.Na(m)}o.a=n}else if(s!==n.c&&p!==n.d){n.c=s +n.d=p +m=n.a +if(m!=null){A.aqs(m,s) +n=n.a +n.toString +A.aqr(n,p)}else{m=n.b +if(m!=null){A.l9(m,s) +m=n.b +m.toString +A.l8(m,p) +m=n.b +m.toString +n.Na(m)}}}o=o.a +o.toString +if(A.arJ()){o=o.a +o.toString +n=t.N +m=A.am7(o,"webgl2",A.an([c1,!1],n,t.z)) +m.toString +l=new A.GF(m) +$.a_u.b=A.E(n,t.eS) +l.dy=o +o=$.a_u}else{o=o.b +o.toString +n=$.fi +n=(n==null?$.fi=A.pc():n)===1?"webgl":"webgl2" +m=t.N +n=A.ft(o,n,A.an([c1,!1],m,t.z)) +n.toString +l=new A.GF(n) +$.a_u.b=A.E(m,t.eS) +l.dy=o +o=$.a_u}l.fr=s +l.fx=p +k=A.aD8(c0.d,c0.e) +n=$.ata +if(n==null){n=$.fi +if(n==null)n=$.fi=A.pc() +m=A.b([],t.zz) +j=A.b([],t.fe) +i=new A.Kr(m,j,n===2,!1,new A.ch("")) +i.Ck(11,"position") +i.Ck(11,"color") +i.kp(14,"u_ctransform") +i.kp(11,"u_scale") +i.kp(11,"u_shift") +m.push(new A.ox("v_color",11,3)) +n=A.b([],t.s) +j.push(new A.ze("main",n)) +n.push("gl_Position = ((u_ctransform * position) * u_scale) + u_shift;") +n.push("v_color = color.zyxw;") +n=$.ata=i.bt()}m=c0.f +j=$.fi +if(j==null)j=$.fi=A.pc() +h=A.b([],t.zz) +g=A.b([],t.fe) +i=new A.Kr(h,g,j===2,!0,new A.ch("")) +i.e=1 +i.Ck(11,"v_color") +i.kp(9,c2) +i.kp(14,c3) +f=i.gQb() +j=A.b([],t.s) +e=new A.ze("main",j) +g.push(e) +j.push("vec4 localCoord = m_gradient * vec4(gl_FragCoord.x, u_resolution.y - gl_FragCoord.y, 0, 1);") +j.push("float st = localCoord.x;") +j.push(f.a+" = "+A.aIv(i,e,k,m)+" * scale + bias;") +d=i.bt() +c=n+"||"+d +b=J.b5(o.aO(),c) +if(b==null){a=l.OF(0,"VERTEX_SHADER",n) +a0=l.OF(0,"FRAGMENT_SHADER",d) +n=l.a +j=n.createProgram() +A.b9(n,c4,[j,a]) +A.b9(n,c4,[j,a0]) +A.b9(n,"linkProgram",[j]) +h=l.ay +if(!A.b9(n,"getProgramParameter",[j,h==null?l.ay=n.LINK_STATUS:h]))A.ab(A.c2(A.b9(n,"getProgramInfoLog",[j]))) +b=new A.GG(j) +J.fW(o.aO(),c,b)}o=l.a +n=b.a +A.b9(o,"useProgram",[n]) +j=c0.b +a1=j.a +a2=j.b +j=c0.c +a3=j.a +a4=j.b +a5=a3-a1 +a6=a4-a2 +a7=Math.sqrt(a5*a5+a6*a6) +j=a7<11920929e-14 +a8=j?0:-a6/a7 +a9=j?1:a5/a7 +b0=m!==B.jz +b1=b0?c5/2:(a1+a3)/2-c6 +b2=b0?r/2:(a2+a4)/2-q +b3=A.cK() +b3.j1(-b1,-b2,0) +b4=A.cK() +b5=b4.a +b5[0]=a9 +b5[1]=a8 +b5[4]=-a8 +b5[5]=a9 +b6=A.cK() +b6.afX(0,0.5) +if(a7>11920929e-14)b6.bf(0,1/a7) +c5=c0.r +if(c5!=null){b7=new A.bq(new Float32Array(16)) +b7.dB(new A.bq(c5.a)) +b8=c7.gaR() +c5=b8.a +c6=b8.b +b6.au(0,-c5,-c6) +b6.cs(0,b7) +b6.au(0,c5,c6)}b6.cs(0,b4) +b6.cs(0,b3) +k.Uh(l,b) +A.b9(o,"uniformMatrix4fv",[l.mL(0,n,c3),!1,b6.a]) +A.b9(o,"uniform2f",[l.mL(0,n,c2),s,p]) +b9=new A.a_x(c9,c7,l,b,k,s,p).$0() +$.ap9() +return b9}} +A.a_x.prototype={ +$0(){var s,r,q,p=this,o="bindBuffer",n=$.aoo,m=p.b,l=p.c,k=p.d,j=p.e,i=p.f,h=p.r,g=m.c,f=m.a,e=m.d +m=m.b +s=l.a +if(p.a){n.PC(new A.D(0,0,0+(g-f),0+(e-m)),l,k,j,i,h) +n=l.fr +r=A.mI(l.fx,n) +n=A.ft(r,"2d",null) +n.toString +l.kA(0,t.e.a(n),0,0) +n=r.toDataURL("image/png") +A.l9(r,0) +A.l8(r,0) +A.b9(s,o,[l.gon(),null]) +A.b9(s,o,[l.gx8(),null]) +return n}else{n.PC(new A.D(0,0,0+(g-f),0+(e-m)),l,k,j,i,h) +q=l.af7(j.e) +A.b9(s,o,[l.gon(),null]) +A.b9(s,o,[l.gx8(),null]) +q.toString +return q}}, +$S:231} +A.lb.prototype={ +gabo(){return""}} +A.Be.prototype={ +gafW(){return A.fk(this.a)}, +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.Be&&b.b===this.b&&A.hA(b.a,this.a)}, +gt(a){return A.P(A.bO(this.a),this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"ImageFilter.matrix("+A.h(this.a)+", "+this.b.i(0)+")"}} +A.G9.prototype={$ilb:1} +A.xm.prototype={} +A.a4m.prototype={} +A.Kr.prototype={ +gQb(){var s=this.Q +if(s==null)s=this.Q=new A.ox(this.y?"gFragColor":"gl_FragColor",11,3) +return s}, +Ck(a,b){var s=new A.ox(b,a,1) +this.b.push(s) +return s}, +kp(a,b){var s=new A.ox(b,a,2) +this.b.push(s) +return s}, +NS(a,b){var s,r,q=this,p="varying ",o=b.c +switch(o){case 0:q.as.a+="const " +break +case 1:s=q.as +if(q.y)r="in " +else r=q.z?p:"attribute " +s.a+=r +break +case 2:q.as.a+="uniform " +break +case 3:s=q.as +r=q.y?"out ":p +s.a+=r +break}s=q.as +r=s.a+=A.aEw(b.b)+" "+b.a +if(o===0)o=s.a=r+" = " +else o=r +s.a=o+";\n"}, +bt(){var s,r,q,p,o,n=this,m=n.y +if(m)n.as.a+="#version 300 es\n" +s=n.e +if(s!=null){r=n.as +if(s===0)s="lowp" +else s=s===1?"mediump":"highp" +s="precision "+s+" float;\n" +r.a+=s}if(m&&n.Q!=null){m=n.Q +m.toString +n.NS(n.as,m)}for(m=n.b,s=m.length,r=n.as,q=0;q=0;--r,p=n){a.toString +o=B.b.jv(a,r)!==-1&&B.b.p(m,r) +n=s[r].d +n.toString +if(!o)if(p==null)q.append(n) +else q.insertBefore(n,p)}}, +a4b(a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this.x,d=e.length,c=a0.x,b=c.length,a=A.b([],t.l) +for(s=0;s1&&d.charCodeAt(0)<127&&d.charCodeAt(1)<127) +o=A.aGW(new A.a1j(g,d,a,p,q),t.S) +if(e.type!=="keydown")if(g.b){r=A.ju(e) +r.toString +r=r==="CapsLock" +n=r}else n=!1 +else n=!0 +if(g.b){r=A.ju(e) +r.toString +r=r==="CapsLock"}else r=!1 +if(r){g.M0(B.q,new A.a1k(s,q,o),new A.a1l(g,q)) +m=B.aZ}else if(n){r=g.f +if(r.k(0,q)!=null){l=e.repeat +if(l==null)l=f +if(l===!0)m=B.D2 +else{l=g.d +l.toString +k=r.k(0,q) +k.toString +l.$1(new A.f6(s,B.aJ,q,k,f,!0)) +r.A(0,q) +m=B.aZ}}else m=B.aZ}else{if(g.f.k(0,q)==null){e.preventDefault() +return}m=B.aJ}r=g.f +j=r.k(0,q) +i=f +switch(m.a){case 0:i=o.$0() +break +case 1:break +case 2:i=j +break}l=i==null +if(l)r.A(0,q) +else r.n(0,q,i) +$.ayb().W(0,new A.a1m(g,o,a,s)) +if(p)if(!l)g.a7a(q,o.$0(),s) +else{r=g.r.A(0,q) +if(r!=null)r.$0()}if(p)h=d +else h=f +d=j==null?o.$0():j +r=m===B.aJ?f:h +if(g.d.$1(new A.f6(s,m,q,d,r,!1)))e.preventDefault()}, +kO(a){var s=this,r={},q=a.a +if(A.h7(q)==null||A.ju(q)==null)return +r.a=!1 +s.d=new A.a1r(r,s) +try{s.a25(a)}finally{if(!r.a)s.d.$1(B.D1) +s.d=null}}, +vu(a,b,c,d,e){var s,r=this,q=r.f,p=q.a9(0,a),o=q.a9(0,b),n=p||o,m=d===B.aZ&&!n,l=d===B.aJ&&n +if(m){r.a.$1(new A.f6(A.anY(e),B.aZ,a,c,null,!0)) +q.n(0,a,c)}if(l&&p){s=q.k(0,a) +s.toString +r.MJ(e,a,s)}if(l&&o){q=q.k(0,b) +q.toString +r.MJ(e,b,q)}}, +MJ(a,b,c){this.a.$1(new A.f6(A.anY(a),B.aJ,b,c,null,!0)) +this.f.A(0,b)}} +A.a1n.prototype={ +$1(a){var s=this +if(!s.a.a&&!s.b.e){s.c.$0() +s.b.a.$1(s.d.$0())}}, +$S:21} +A.a1o.prototype={ +$0(){this.a.a=!0}, +$S:0} +A.a1p.prototype={ +$0(){return new A.f6(new A.aP(this.a.a+2e6),B.aJ,this.b,this.c,null,!0)}, +$S:125} +A.a1q.prototype={ +$0(){this.a.f.A(0,this.b)}, +$S:0} +A.a1j.prototype={ +$0(){var s,r,q,p,o,n=this,m=n.b,l=B.Hn.k(0,m) +if(l!=null)return l +s=n.c.a +if(B.qN.a9(0,A.h7(s))){m=A.h7(s) +m.toString +m=B.qN.k(0,m) +r=m==null?null:m[B.c.P(s.location)] +r.toString +return r}if(n.d){q=n.a.c.To(A.ju(s),A.h7(s),B.c.P(s.keyCode)) +if(q!=null)return q}if(m==="Dead"){m=s.altKey +p=s.ctrlKey +o=A.FV(s) +s=s.metaKey +m=m?1073741824:0 +p=p?268435456:0 +o=o===!0?536870912:0 +s=s?2147483648:0 +return n.e+(m+p+o+s)+98784247808}return B.d.gt(m)+98784247808}, +$S:75} +A.a1k.prototype={ +$0(){return new A.f6(this.a,B.aJ,this.b,this.c.$0(),null,!0)}, +$S:125} +A.a1l.prototype={ +$0(){this.a.f.A(0,this.b)}, +$S:0} +A.a1m.prototype={ +$2(a,b){var s,r,q=this +if(J.e(q.b.$0(),a))return +s=q.a +r=s.f +if(r.a9J(0,a)&&!b.$1(q.c))r.FE(r,new A.a1i(s,a,q.d))}, +$S:323} +A.a1i.prototype={ +$2(a,b){var s=this.b +if(b!==s)return!1 +this.a.d.$1(new A.f6(this.c,B.aJ,a,s,null,!0)) +return!0}, +$S:336} +A.a1r.prototype={ +$1(a){this.a.a=!0 +return this.b.a.$1(a)}, +$S:90} +A.X5.prototype={ +fz(a){if(!this.b)return +this.b=!1 +A.bW(this.a,"contextmenu",$.alu(),null)}, +aaW(a){if(this.b)return +this.b=!0 +A.cB(this.a,"contextmenu",$.alu(),null)}} +A.a4X.prototype={} +A.al3.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.Vx.prototype={ +ga7B(){var s=this.a +s===$&&A.a() +return s}, +l(){var s=this +if(s.c||s.glc()==null)return +s.c=!0 +s.a7C()}, +r5(){var s=0,r=A.z(t.H),q=this +var $async$r5=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:s=q.glc()!=null?2:3 +break +case 2:s=4 +return A.B(q.iV(),$async$r5) +case 4:s=5 +return A.B(q.glc().tT(0,-1),$async$r5) +case 5:case 3:return A.x(null,r)}}) +return A.y($async$r5,r)}, +gjm(){var s=this.glc() +s=s==null?null:s.Ty() +return s==null?"/":s}, +gbv(){var s=this.glc() +return s==null?null:s.Gk(0)}, +a7C(){return this.ga7B().$0()}} +A.xo.prototype={ +Yu(a){var s,r=this,q=r.d +if(q==null)return +r.a=q.Co(r.gFg(r)) +if(!r.AV(r.gbv())){s=t.z +q.mv(0,A.an(["serialCount",0,"state",r.gbv()],s,s),"flutter",r.gjm())}r.e=r.gA3()}, +gA3(){if(this.AV(this.gbv())){var s=this.gbv() +s.toString +return B.c.P(A.bD(J.b5(t.f.a(s),"serialCount")))}return 0}, +AV(a){return t.f.b(a)&&J.b5(a,"serialCount")!=null}, +u3(a,b,c){var s,r,q=this.d +if(q!=null){s=t.z +r=this.e +if(b){r===$&&A.a() +s=A.an(["serialCount",r,"state",c],s,s) +a.toString +q.mv(0,s,"flutter",a)}else{r===$&&A.a();++r +this.e=r +s=A.an(["serialCount",r,"state",c],s,s) +a.toString +q.RQ(0,s,"flutter",a)}}}, +GE(a){return this.u3(a,!1,null)}, +Fh(a,b){var s,r,q,p,o=this +if(!o.AV(b)){s=o.d +s.toString +r=o.e +r===$&&A.a() +q=t.z +s.mv(0,A.an(["serialCount",r+1,"state",b],q,q),"flutter",o.gjm())}o.e=o.gA3() +s=$.az() +r=o.gjm() +t.Xy.a(b) +q=b==null?null:J.b5(b,"state") +p=t.z +s.hn("flutter/navigation",B.ax.hP(new A.hg("pushRouteInformation",A.an(["location",r,"state",q],p,p))),new A.a56())}, +iV(){var s=0,r=A.z(t.H),q,p=this,o,n,m +var $async$iV=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p.l() +if(p.b||p.d==null){s=1 +break}p.b=!0 +o=p.gA3() +s=o>0?3:4 +break +case 3:s=5 +return A.B(p.d.tT(0,-o),$async$iV) +case 5:case 4:n=p.gbv() +n.toString +t.f.a(n) +m=p.d +m.toString +m.mv(0,J.b5(n,"state"),"flutter",p.gjm()) +case 1:return A.x(q,r)}}) +return A.y($async$iV,r)}, +glc(){return this.d}} +A.a56.prototype={ +$1(a){}, +$S:20} +A.zj.prototype={ +YA(a){var s,r=this,q=r.d +if(q==null)return +r.a=q.Co(r.gFg(r)) +s=r.gjm() +if(!A.an6(A.aqo(self.window.history))){q.mv(0,A.an(["origin",!0,"state",r.gbv()],t.N,t.z),"origin","") +r.a6R(q,s)}}, +u3(a,b,c){var s=this.d +if(s!=null)this.BD(s,a,!0)}, +GE(a){return this.u3(a,!1,null)}, +Fh(a,b){var s,r=this,q="flutter/navigation" +if(A.asz(b)){s=r.d +s.toString +r.a6Q(s) +$.az().hn(q,B.ax.hP(B.Hw),new A.a9T())}else if(A.an6(b)){s=r.f +s.toString +r.f=null +$.az().hn(q,B.ax.hP(new A.hg("pushRoute",s)),new A.a9U())}else{r.f=r.gjm() +r.d.tT(0,-1)}}, +BD(a,b,c){var s +if(b==null)b=this.gjm() +s=this.e +if(c)a.mv(0,s,"flutter",b) +else a.RQ(0,s,"flutter",b)}, +a6R(a,b){return this.BD(a,b,!1)}, +a6Q(a){return this.BD(a,null,!1)}, +iV(){var s=0,r=A.z(t.H),q,p=this,o,n +var $async$iV=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p.l() +if(p.b||p.d==null){s=1 +break}p.b=!0 +o=p.d +s=3 +return A.B(o.tT(0,-1),$async$iV) +case 3:n=p.gbv() +n.toString +o.mv(0,J.b5(t.f.a(n),"state"),"flutter",p.gjm()) +case 1:return A.x(q,r)}}) +return A.y($async$iV,r)}, +glc(){return this.d}} +A.a9T.prototype={ +$1(a){}, +$S:20} +A.a9U.prototype={ +$1(a){}, +$S:20} +A.jM.prototype={} +A.wc.prototype={ +gzi(){var s,r,q=this,p=q.b +if(p===$){s=q.a +r=A.Hs(new A.aF(s,new A.Zc(),A.a_(s).h("aF<1>")),t.Te) +q.b!==$&&A.a0() +q.b=r +p=r}return p}} +A.Zc.prototype={ +$1(a){return a.c}, +$S:27} +A.GL.prototype={ +gL9(){var s,r=this,q=r.c +if(q===$){s=A.bb(r.ga4I()) +r.c!==$&&A.a0() +r.c=s +q=s}return q}, +a4J(a){var s,r,q,p=A.aqp(a) +p.toString +for(s=this.a,r=s.length,q=0;q")).hZ(m)) +o=o.e +p.push(new A.c0(o,A.o(o).h("c0<1>")).hZ(m))}q.push(r) +r.$1(s.a) +s=l.gCe() +r=self.document.body +if(r!=null)A.bW(r,"keydown",s.gKj(),k) +r=self.document.body +if(r!=null)A.bW(r,"keyup",s.gKk(),k) +r=self.document.body +if(r!=null)A.bW(r,"focusin",s.gKf(),k) +r=self.document.body +if(r!=null)A.bW(r,"focusout",s.gKg(),k) +r=s.a.d +s.e=new A.c0(r,A.o(r).h("c0<1>")).hZ(s.ga3x()) +s=self.document.body +if(s!=null)s.prepend(l.b) +s=l.gc_().e +l.a=new A.c0(s,A.o(s).h("c0<1>")).hZ(new A.YV(l))}, +l(){var s,r,q,p=this,o=null +p.p2.removeListener(p.p3) +p.p3=null +s=p.k4 +if(s!=null)s.disconnect() +p.k4=null +s=p.k1 +if(s!=null)s.b.removeEventListener(s.a,s.c) +p.k1=null +s=$.ali() +r=s.a +B.b.A(r,p.gNn()) +if(r.length===0)s.b.removeListener(s.gL9()) +s=p.gI7() +r=s.b +B.b.A(r,p.gMg()) +if(r.length===0)s.cQ() +s=p.gCe() +r=self.document.body +if(r!=null)A.cB(r,"keydown",s.gKj(),o) +r=self.document.body +if(r!=null)A.cB(r,"keyup",s.gKk(),o) +r=self.document.body +if(r!=null)A.cB(r,"focusin",s.gKf(),o) +r=self.document.body +if(r!=null)A.cB(r,"focusout",s.gKg(),o) +s=s.e +if(s!=null)s.aA(0) +p.b.remove() +s=p.a +s===$&&A.a() +s.aA(0) +s=p.gc_() +r=s.b +q=A.o(r).h("aZ<1>") +B.b.W(A.a7(new A.aZ(r,q),!0,q.h("j.E")),s.gaaO()) +s.d.aM(0) +s.e.aM(0)}, +gc_(){var s,r,q,p=this.r +if(p===$){s=t.S +r=A.hq(!0,s) +q=A.hq(!0,s) +p!==$&&A.a0() +p=this.r=new A.wj(this,A.E(s,t.lz),A.E(s,t.e),r,q)}return p}, +gI7(){var s,r,q,p=this,o=p.w +if(o===$){s=p.gc_() +r=A.b([],t.Gl) +q=A.b([],t.LY) +p.w!==$&&A.a0() +o=p.w=new A.Mm(s,r,B.b6,q)}return o}, +gacQ(){return t.e8.a(this.gc_().b.k(0,0))}, +EA(){var s=this.x +if(s!=null)A.kC(s,this.y)}, +gCe(){var s,r=this,q=r.z +if(q===$){s=r.gc_() +r.z!==$&&A.a0() +q=r.z=new A.LB(s,r.gadt(),B.xs)}return q}, +adu(a){A.kD(this.Q,this.as,a)}, +ads(a,b){var s=this.db +if(s!=null)A.kC(new A.YW(b,s,a),this.dx) +else b.$1(!1)}, +hn(a,b,c){var s +if(a==="dev.flutter/channel-buffers")try{s=$.Uy() +b.toString +s.abZ(b)}finally{c.$1(null)}else $.Uy().aeT(a,b,c)}, +a6H(a,a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this,b=null +switch(a){case"flutter/skia":s=B.ax.h9(a0) +switch(s.a){case"Skia.setResourceCacheMaxBytes":if($.am() instanceof A.v_){r=A.cl(s.b) +$.Wf.aO().d.GD(r)}c.dG(a1,B.S.bB([A.b([!0],t.HZ)])) +break}return +case"flutter/assets":c.pE(B.a3.eA(0,A.d2(a0.buffer,0,b)),a1) +return +case"flutter/platform":s=B.ax.h9(a0) +switch(s.a){case"SystemNavigator.pop":q=t.e8 +if(q.a(c.gc_().b.k(0,0))!=null)q.a(c.gc_().b.k(0,0)).gvT().r5().b_(0,new A.YQ(c,a1),t.P) +else c.dG(a1,B.S.bB([!0])) +return +case"HapticFeedback.vibrate":q=c.a1_(A.cO(s.b)) +p=self.window.navigator +if("vibrate" in p)p.vibrate(q) +c.dG(a1,B.S.bB([!0])) +return +case u.p:o=t.xE.a(s.b) +q=J.ax(o) +n=A.cO(q.k(o,"label")) +if(n==null)n="" +m=A.Dl(q.k(o,"primaryColor")) +if(m==null)m=4278190080 +q=self.document +q.title=n +A.avX(new A.C(m>>>0)) +c.dG(a1,B.S.bB([!0])) +return +case"SystemChrome.setSystemUIOverlayStyle":l=A.Dl(J.b5(t.xE.a(s.b),"statusBarColor")) +A.avX(l==null?b:new A.C(l>>>0)) +c.dG(a1,B.S.bB([!0])) +return +case"SystemChrome.setPreferredOrientations":B.zf.u2(t.j.a(s.b)).b_(0,new A.YR(c,a1),t.P) +return +case"SystemSound.play":c.dG(a1,B.S.bB([!0])) +return +case"Clipboard.setData":new A.vd(A.alS(),A.amR()).U4(s,a1) +return +case"Clipboard.getData":new A.vd(A.alS(),A.amR()).Ti(a1) +return +case"Clipboard.hasStrings":new A.vd(A.alS(),A.amR()).acB(a1) +return}break +case"flutter/service_worker":q=self.window +k=self.document.createEvent("Event") +k.initEvent("flutter-first-frame",!0,!0) +q.dispatchEvent(k) +return +case"flutter/textinput":$.DV().gqw(0).acv(a0,a1) +return +case"flutter/contextmenu":switch(B.ax.h9(a0).a){case"enableContextMenu":t.e8.a(c.gc_().b.k(0,0)).gOL().aaW(0) +c.dG(a1,B.S.bB([!0])) +return +case"disableContextMenu":t.e8.a(c.gc_().b.k(0,0)).gOL().fz(0) +c.dG(a1,B.S.bB([!0])) +return}return +case"flutter/mousecursor":s=B.ci.h9(a0) +o=t.f.a(s.b) +switch(s.a){case"activateSystemCursor":q=A.ar7(c.gc_().b.gaI(0)) +if(q!=null){if(q.w===$){q.gcu() +q.w!==$&&A.a0() +q.w=new A.a4X()}j=B.Hf.k(0,A.cO(J.b5(o,"kind"))) +if(j==null)j="default" +if(j==="default")self.document.body.style.removeProperty("cursor") +else A.l(self.document.body.style,"cursor",j)}break}return +case"flutter/web_test_e2e":c.dG(a1,B.S.bB([A.aHN(B.ax,a0)])) +return +case"flutter/platform_views":i=B.ci.h9(a0) +o=b +h=i.b +o=h +q=$.awW() +a1.toString +q.ac7(i.a,o,a1) +return +case"flutter/accessibility":g=$.bi +if(g==null)g=$.bi=A.d1() +if(g.b){q=t.f +f=q.a(J.b5(q.a(B.bp.eB(a0)),"data")) +e=A.cO(J.b5(f,"message")) +if(e!=null&&e.length!==0){d=A.Hb(f,"assertiveness") +g.a.O7(e,B.El[d==null?0:d])}}c.dG(a1,B.bp.bB(!0)) +return +case"flutter/navigation":q=t.e8 +if(q.a(c.gc_().b.k(0,0))!=null)q.a(c.gc_().b.k(0,0)).E9(a0).b_(0,new A.YS(c,a1),t.P) +else if(a1!=null)a1.$1(b) +c.y2="/" +return}q=$.avR +if(q!=null){q.$3(a,a0,a1) +return}c.dG(a1,b)}, +pE(a,b){return this.a28(a,b)}, +a28(a,b){var s=0,r=A.z(t.H),q=1,p,o=this,n,m,l,k,j,i,h +var $async$pE=A.A(function(c,d){if(c===1){p=d +s=q}while(true)switch(s){case 0:q=3 +k=$.u4 +h=t.Lk +s=6 +return A.B(A.ug(k.tH(a)),$async$pE) +case 6:n=h.a(d) +s=7 +return A.B(n.gxF().nE(),$async$pE) +case 7:m=d +o.dG(b,A.ey(m,0,null)) +q=1 +s=5 +break +case 3:q=2 +i=p +l=A.a9(i) +$.dj().$1("Error while trying to load an asset: "+A.h(l)) +o.dG(b,null) +s=5 +break +case 2:s=1 +break +case 5:return A.x(null,r) +case 1:return A.w(p,r)}}) +return A.y($async$pE,r)}, +a1_(a){switch(a){case"HapticFeedbackType.lightImpact":return 10 +case"HapticFeedbackType.mediumImpact":return 20 +case"HapticFeedbackType.heavyImpact":return 30 +case"HapticFeedbackType.selectionClick":return 10 +default:return 50}}, +j_(){var s=$.avV +if(s==null)throw A.c(A.c2("scheduleFrameCallback must be initialized first.")) +s.$0()}, +y_(a,b){return this.afl(a,b)}, +afl(a,b){var s=0,r=A.z(t.H),q=this,p +var $async$y_=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:p=q.at +p=p==null?null:p.D(0,b) +s=p===!0||$.am().gFF()==="html"?2:3 +break +case 2:s=4 +return A.B($.am().oE(a,b),$async$y_) +case 4:case 3:return A.x(null,r)}}) +return A.y($async$y_,r)}, +YY(){var s=this +if(s.k1!=null)return +s.c=s.c.OQ(A.amb()) +s.k1=A.bX(self.window,"languagechange",new A.YP(s))}, +YU(){var s,r,q,p=new self.MutationObserver(A.ajV(new A.YO(this))) +this.k4=p +s=self.document.documentElement +s.toString +r=A.b(["style"],t.s) +q=A.E(t.N,t.z) +q.n(0,"attributes",!0) +q.n(0,"attributeFilter",r) +r=A.a5(q) +if(r==null)r=t.K.a(r) +p.observe(s,r)}, +a6J(a){this.hn("flutter/lifecycle",A.ey(B.bq.d7(a.F()).buffer,0,null),new A.YT())}, +Ns(a){var s=this,r=s.c +if(r.d!==a){s.c=r.a9U(a) +A.kC(null,null) +A.kC(s.p4,s.R8)}}, +a7I(a){var s=this.c,r=s.a +if((r.a&32)!==0!==a){this.c=s.OO(r.a9S(a)) +A.kC(null,null)}}, +YR(){var s,r=this,q=r.p2 +r.Ns(q.matches?B.a6:B.a7) +s=A.bb(new A.YN(r)) +r.p3=s +q.addListener(s)}, +hW(a,b,c){A.kD(this.x1,this.x2,new A.rl(b,0,a,c))}, +gDc(){var s=this.y2 +if(s==null){s=t.e8.a(this.gc_().b.k(0,0)) +s=s==null?null:s.gvT().gjm() +s=this.y2=s==null?"/":s}return s}, +dG(a,b){A.qe(B.q,null,t.H).b_(0,new A.YX(a,b),t.P)}} +A.YV.prototype={ +$1(a){this.a.EA()}, +$S:16} +A.YW.prototype={ +$0(){return this.a.$1(this.b.$1(this.c))}, +$S:0} +A.YU.prototype={ +$1(a){this.a.tm(this.b,a)}, +$S:20} +A.YQ.prototype={ +$1(a){this.a.dG(this.b,B.S.bB([!0]))}, +$S:21} +A.YR.prototype={ +$1(a){this.a.dG(this.b,B.S.bB([a]))}, +$S:70} +A.YS.prototype={ +$1(a){var s=this.b +if(a)this.a.dG(s,B.S.bB([!0])) +else if(s!=null)s.$1(null)}, +$S:70} +A.YP.prototype={ +$1(a){var s=this.a +s.c=s.c.OQ(A.amb()) +A.kC(s.k2,s.k3)}, +$S:1} +A.YO.prototype={ +$2(a,b){var s,r,q,p,o=null,n=B.b.ga0(a),m=t.e,l=this.a +for(;n.q();){s=n.gG(0) +s.toString +m.a(s) +r=s.type +if((r==null?o:r)==="attributes"){r=s.attributeName +r=(r==null?o:r)==="style"}else r=!1 +if(r){r=self.document.documentElement +r.toString +q=A.aKe(r) +p=(q==null?16:q)/16 +r=l.c +if(r.e!==p){l.c=r.a9W(p) +A.kC(o,o) +A.kC(l.ok,l.p1)}}}}, +$S:353} +A.YT.prototype={ +$1(a){}, +$S:20} +A.YN.prototype={ +$1(a){var s=A.aqp(a) +s.toString +s=s?B.a6:B.a7 +this.a.Ns(s)}, +$S:1} +A.YX.prototype={ +$1(a){var s=this.a +if(s!=null)s.$1(this.b)}, +$S:21} +A.akW.prototype={ +$0(){this.a.$2(this.b,this.c)}, +$S:0} +A.aca.prototype={ +i(a){return A.t(this).i(0)+"[view: null]"}} +A.IU.prototype={ +qG(a,b,c,d,e){var s=this,r=a==null?s.a:a,q=d==null?s.c:d,p=c==null?s.d:c,o=e==null?s.e:e,n=b==null?s.f:b +return new A.IU(r,!1,q,p,o,n,s.r,s.w)}, +OO(a){var s=null +return this.qG(a,s,s,s,s)}, +OQ(a){var s=null +return this.qG(s,a,s,s,s)}, +a9W(a){var s=null +return this.qG(s,s,s,s,a)}, +a9U(a){var s=null +return this.qG(s,s,a,s,s)}, +a9V(a){var s=null +return this.qG(s,s,s,a,s)}} +A.V0.prototype={ +ox(a){var s,r,q +if(a!==this.a){this.a=a +for(s=this.b,r=s.length,q=0;q.")) +return}if(s.b.a9(0,c)){a.$1(B.ci.m1("recreating_view","view id: "+c,"trying to create an already created view")) +return}s.afm(d,c,b) +a.$1(B.ci.r2(null))}, +ac7(a,b,c){var s,r,q +switch(a){case"create":t.f.a(b) +s=J.ax(b) +r=B.c.P(A.mE(s.k(b,"id"))) +q=A.by(s.k(b,"viewType")) +this.a_z(c,s.k(b,"params"),r,q) +return +case"dispose":s=this.b.b.A(0,A.cl(b)) +if(s!=null)s.remove() +c.$1(B.ci.r2(null)) +return}c.$1(null)}} +A.a8p.prototype={ +age(){if(this.a==null){this.a=A.bb(new A.a8q()) +A.bW(self.document,"touchstart",this.a,null)}}} +A.a8q.prototype={ +$1(a){}, +$S:1} +A.a6r.prototype={ +a_p(){if("PointerEvent" in self.window){var s=new A.ah0(A.E(t.S,t.ZW),this,A.b([],t.H8)) +s.Ug() +return s}throw A.c(A.a1("This browser does not support pointer events which are necessary to handle interactions with Flutter Web apps."))}} +A.F_.prototype={ +aey(a,b){var s,r,q,p=this,o=$.az() +if(!o.c.c){s=A.b(b.slice(0),A.a_(b)) +A.kD(o.cx,o.cy,new A.lI(s)) +return}s=p.a +if(s!=null){o=s.a +r=A.h6(a) +r.toString +o.push(new A.BJ(b,a,A.t3(r))) +if(a.type==="pointerup")if(!J.e(a.target,s.b))p.Al()}else if(a.type==="pointerdown"){q=a.target +if(t.e.b(q)&&q.hasAttribute("flt-tappable")){o=A.c7(B.a0,p.ga4V()) +s=A.h6(a) +s.toString +p.a=new A.Qw(A.b([new A.BJ(b,a,A.t3(s))],t.jc),q,o)}else{s=A.b(b.slice(0),A.a_(b)) +A.kD(o.cx,o.cy,new A.lI(s))}}else{if(a.type==="pointerup"){s=A.h6(a) +s.toString +p.b=A.t3(s)}s=A.b(b.slice(0),A.a_(b)) +A.kD(o.cx,o.cy,new A.lI(s))}}, +aeu(a,b,c,d){var s=this,r=s.a +if(r==null){if(d&&s.a6V(b))s.Md(b,c) +return}if(d){s.a=null +r.c.aA(0) +s.Md(b,c)}else s.Al()}, +Md(a,b){var s +a.stopPropagation() +$.az().hW(b,B.fs,null) +s=this.a +if(s!=null)s.c.aA(0) +this.b=this.a=null}, +a4W(){if(this.a==null)return +this.Al()}, +a6V(a){var s,r=this.b +if(r==null)return!0 +s=A.h6(a) +s.toString +return A.t3(s).a-r.a>=5e4}, +Al(){var s,r,q,p,o,n,m=this.a +m.c.aA(0) +s=t.D9 +r=A.b([],s) +for(q=m.a,p=q.length,o=0;o1}, +a3W(a){var s,r,q,p,o,n,m=this +if($.av().gbx()===B.b8)return!1 +if(m.KP(a.deltaX,A.aqy(a))||m.KP(a.deltaY,A.aqz(a)))return!1 +if(!(B.c.bp(a.deltaX,120)===0&&B.c.bp(a.deltaY,120)===0)){s=A.aqy(a) +if(B.c.bp(s==null?1:s,120)===0){s=A.aqz(a) +s=B.c.bp(s==null?1:s,120)===0}else s=!1}else s=!0 +if(s){s=a.deltaX +r=m.c +q=r==null +p=q?null:r.deltaX +o=Math.abs(s-(p==null?0:p)) +s=a.deltaY +p=q?null:r.deltaY +n=Math.abs(s-(p==null?0:p)) +s=!0 +if(!q)if(!(o===0&&n===0))s=!(o<20&&n<20) +if(s){if(A.h6(a)!=null)s=(q?null:A.h6(r))!=null +else s=!1 +if(s){s=A.h6(a) +s.toString +r.toString +r=A.h6(r) +r.toString +if(s-r<50&&m.d)return!0}return!1}}return!0}, +a_n(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this +if(c.a3W(a)){s=B.bx +r=-2}else{s=B.cD +r=-1}q=a.deltaX +p=a.deltaY +switch(B.c.P(a.deltaMode)){case 1:o=$.auc +if(o==null){n=A.aS(self.document,"div") +o=n.style +A.l(o,"font-size","initial") +A.l(o,"display","none") +self.document.body.append(n) +o=A.am9(self.window,n).getPropertyValue("font-size") +if(B.d.p(o,"px"))m=A.as2(A.avZ(o,"px","")) +else m=null +n.remove() +o=$.auc=m==null?16:m/4}q*=o +p*=o +break +case 2:o=c.a.b +q*=o.gjJ().a +p*=o.gjJ().b +break +case 0:if($.av().gbZ()===B.b2){o=$.br() +l=o.d +if(l==null){l=self.window.devicePixelRatio +if(l===0)l=1}q*=l +o=o.d +if(o==null){o=self.window.devicePixelRatio +if(o===0)o=1}p*=o}break +default:break}k=A.b([],t.D9) +o=c.a +l=o.b +j=A.avd(a,l) +if($.av().gbZ()===B.b2){i=o.e +h=i==null +if(h)g=null +else{g=$.aph() +g=i.f.a9(0,g)}if(g!==!0){if(h)i=null +else{h=$.api() +h=i.f.a9(0,h) +i=h}f=i===!0}else f=!0}else f=!1 +i=a.ctrlKey&&!f +o=o.d +l=l.a +h=j.a +if(i){i=A.h6(a) +i.toString +i=A.t3(i) +g=$.br() +e=g.d +if(e==null){e=self.window.devicePixelRatio +if(e===0)e=1}g=g.d +if(g==null){g=self.window.devicePixelRatio +if(g===0)g=1}d=A.vH(a) +d.toString +o.a9L(k,B.c.P(d),B.c4,r,s,h*e,j.b*g,1,1,Math.exp(-p/200),B.J2,i,l)}else{i=A.h6(a) +i.toString +i=A.t3(i) +g=$.br() +e=g.d +if(e==null){e=self.window.devicePixelRatio +if(e===0)e=1}g=g.d +if(g==null){g=self.window.devicePixelRatio +if(g===0)g=1}d=A.vH(a) +d.toString +o.a9N(k,B.c.P(d),B.c4,r,s,new A.ajh(c),h*e,j.b*g,1,1,q,p,B.J1,i,l)}c.c=a +c.d=s===B.bx +return k}} +A.ajh.prototype={ +$1$allowPlatformDefault(a){var s=this.a +s.e=B.eH.yA(s.e,a)}, +$0(){return this.$1$allowPlatformDefault(!1)}, +$S:366} +A.jb.prototype={ +i(a){return A.t(this).i(0)+"(change: "+this.a.i(0)+", buttons: "+this.b+")"}} +A.t4.prototype={ +TK(a,b){var s +if(this.a!==0)return this.Gp(b) +s=(b===0&&a>-1?A.aJ_(a):b)&1073741823 +this.a=s +return new A.jb(B.J0,s)}, +Gp(a){var s=a&1073741823,r=this.a +if(r===0&&s!==0)return new A.jb(B.c4,r) +this.a=s +return new A.jb(s===0?B.c4:B.ff,s)}, +Go(a){if(this.a!==0&&(a&1073741823)===0){this.a=0 +return new A.jb(B.vO,0)}return null}, +TL(a){if((a&1073741823)===0){this.a=0 +return new A.jb(B.c4,0)}return null}, +TM(a){var s +if(this.a===0)return null +s=this.a=(a==null?0:a)&1073741823 +if(s===0)return new A.jb(B.vO,s) +else return new A.jb(B.ff,s)}} +A.ah0.prototype={ +Ae(a){return this.f.bk(0,a,new A.ah2())}, +LL(a){if(A.am8(a)==="touch")this.f.A(0,A.aqt(a))}, +zr(a,b,c,d){this.a8r(0,a,b,new A.ah1(this,d,c))}, +zq(a,b,c){return this.zr(a,b,c,!0)}, +Ug(){var s,r=this,q=r.a.b +r.zq(q.gcu().a,"pointerdown",new A.ah4(r)) +s=q.c +r.zq(s.gyx(),"pointermove",new A.ah5(r)) +r.zr(q.gcu().a,"pointerleave",new A.ah6(r),!1) +r.zq(s.gyx(),"pointerup",new A.ah7(r)) +r.zr(q.gcu().a,"pointercancel",new A.ah8(r),!1) +r.b.push(A.arn("wheel",new A.ah9(r),!1,q.gcu().a))}, +lu(a,b,c){var s,r,q,p,o,n,m,l,k,j,i=A.am8(c) +i.toString +s=this.Ls(i) +i=A.aqu(c) +i.toString +r=A.aqv(c) +r.toString +i=Math.abs(i)>Math.abs(r)?A.aqu(c):A.aqv(c) +i.toString +r=A.h6(c) +r.toString +q=A.t3(r) +p=c.pressure +if(p==null)p=null +r=this.a +o=r.b +n=A.avd(c,o) +m=this.nj(c) +l=$.br() +k=l.d +if(k==null){k=self.window.devicePixelRatio +if(k===0)k=1}l=l.d +if(l==null){l=self.window.devicePixelRatio +if(l===0)l=1}j=p==null?0:p +r.d.a9M(a,b.b,b.a,m,s,n.a*k,n.b*l,j,1,B.fh,i/180*3.141592653589793,q,o.a)}, +a0m(a){var s,r +if("getCoalescedEvents" in a){s=a.getCoalescedEvents() +s=B.b.dg(s,t.e) +r=new A.bL(s.a,s.$ti.h("bL<1,d>")) +if(!r.gM(r))return r}return A.b([a],t.J)}, +Ls(a){switch(a){case"mouse":return B.cD +case"pen":return B.fg +case"touch":return B.dP +default:return B.iS}}, +nj(a){var s=A.am8(a) +s.toString +if(this.Ls(s)===B.cD)s=-1 +else{s=A.aqt(a) +s.toString +s=B.c.P(s)}return s}} +A.ah2.prototype={ +$0(){return new A.t4()}, +$S:373} +A.ah1.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k +if(this.b){s=this.a.a.e +if(s!=null){r=a.getModifierState("Alt") +q=a.getModifierState("Control") +p=a.getModifierState("Meta") +o=a.getModifierState("Shift") +n=A.h6(a) +n.toString +m=$.ayi() +l=$.ayj() +k=$.ap5() +s.vu(m,l,k,r?B.aZ:B.aJ,n) +m=$.aph() +l=$.api() +k=$.ap6() +s.vu(m,l,k,q?B.aZ:B.aJ,n) +r=$.ayk() +m=$.ayl() +l=$.ap7() +s.vu(r,m,l,p?B.aZ:B.aJ,n) +r=$.aym() +q=$.ayn() +m=$.ap8() +s.vu(r,q,m,o?B.aZ:B.aJ,n)}}this.c.$1(a)}, +$S:1} +A.ah4.prototype={ +$1(a){var s,r,q=this.a,p=q.nj(a),o=A.b([],t.D9),n=q.Ae(p),m=A.vH(a) +m.toString +s=n.Go(B.c.P(m)) +if(s!=null)q.lu(o,s,a) +m=B.c.P(a.button) +r=A.vH(a) +r.toString +q.lu(o,n.TK(m,B.c.P(r)),a) +q.na(a,o) +if(J.e(a.target,q.a.b.gcu().a)){a.preventDefault() +A.c7(B.q,new A.ah3(q))}}, +$S:48} +A.ah3.prototype={ +$0(){$.az().gCe().a9a(this.a.a.b.a,B.So)}, +$S:0} +A.ah5.prototype={ +$1(a){var s,r,q,p,o=this.a,n=o.Ae(o.nj(a)),m=A.b([],t.D9) +for(s=J.al(o.a0m(a));s.q();){r=s.gG(s) +q=r.buttons +if(q==null)q=null +q.toString +p=n.Go(B.c.P(q)) +if(p!=null)o.lu(m,p,r) +q=r.buttons +if(q==null)q=null +q.toString +o.lu(m,n.Gp(B.c.P(q)),r)}o.na(a,m)}, +$S:48} +A.ah6.prototype={ +$1(a){var s,r=this.a,q=r.Ae(r.nj(a)),p=A.b([],t.D9),o=A.vH(a) +o.toString +s=q.TL(B.c.P(o)) +if(s!=null){r.lu(p,s,a) +r.na(a,p)}}, +$S:48} +A.ah7.prototype={ +$1(a){var s,r,q,p=this.a,o=p.nj(a),n=p.f +if(n.a9(0,o)){s=A.b([],t.D9) +n=n.k(0,o) +n.toString +r=A.vH(a) +q=n.TM(r==null?null:B.c.P(r)) +p.LL(a) +if(q!=null){p.lu(s,q,a) +p.na(a,s)}}}, +$S:48} +A.ah8.prototype={ +$1(a){var s,r=this.a,q=r.nj(a),p=r.f +if(p.a9(0,q)){s=A.b([],t.D9) +p.k(0,q).a=0 +r.LL(a) +r.lu(s,new A.jb(B.vN,0),a) +r.na(a,s)}}, +$S:48} +A.ah9.prototype={ +$1(a){var s=this.a +s.e=!1 +s.na(a,s.a_n(a)) +if(!s.e)a.preventDefault()}, +$S:1} +A.tF.prototype={} +A.afl.prototype={ +ww(a,b,c){return this.a.bk(0,a,new A.afm(b,c))}} +A.afm.prototype={ +$0(){return new A.tF(this.a,this.b)}, +$S:389} +A.a6s.prototype={ +JC(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1){var s,r=$.jk().a.k(0,c),q=r.b,p=r.c +r.b=j +r.c=k +s=r.a +if(s==null)s=0 +return A.arW(a,b,c,d,e,f,!1,h,i,j-q,k-p,j,k,l,s,m,n,o,a0,a1,a2,a3,a4,a5,a6,a7,a8,!1,a9,b0,b1)}, +nh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){return this.JC(a,b,c,d,e,f,g,null,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6)}, +B6(a,b,c){var s=$.jk().a.k(0,a) +return s.b!==b||s.c!==c}, +kk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){var s,r=$.jk().a.k(0,c),q=r.b,p=r.c +r.b=i +r.c=j +s=r.a +if(s==null)s=0 +return A.arW(a,b,c,d,e,f,!1,null,h,i-q,j-p,i,j,k,s,l,m,n,o,a0,a1,a2,a3,a4,a5,B.fh,a6,!0,a7,a8,a9)}, +CR(a,b,c,d,e,f,g,h,i,j,k,l,m,a0,a1,a2,a3){var s,r,q,p,o,n=this +if(a0===B.fh)switch(c.a){case 1:$.jk().ww(d,g,h) +a.push(n.nh(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +break +case 3:s=$.jk() +r=s.a.a9(0,d) +s.ww(d,g,h) +if(!r)a.push(n.kk(b,B.iR,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +a.push(n.nh(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +s.b=b +break +case 4:s=$.jk() +r=s.a.a9(0,d) +s.ww(d,g,h).a=$.atF=$.atF+1 +if(!r)a.push(n.kk(b,B.iR,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +if(n.B6(d,g,h))a.push(n.kk(0,B.c4,d,0,0,e,!1,0,g,h,0,0,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +a.push(n.nh(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +s.b=b +break +case 5:a.push(n.nh(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +$.jk().b=b +break +case 6:case 0:s=$.jk() +q=s.a +p=q.k(0,d) +p.toString +if(c===B.vN){g=p.b +h=p.c}if(n.B6(d,g,h))a.push(n.kk(s.b,B.ff,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +a.push(n.nh(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +if(e===B.dP){a.push(n.kk(0,B.J_,d,0,0,e,!1,0,g,h,0,0,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +q.A(0,d)}break +case 2:s=$.jk().a +o=s.k(0,d) +a.push(n.nh(b,c,d,0,0,e,!1,0,o.b,o.c,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +s.A(0,d) +break +case 7:case 8:case 9:break}else switch(a0.a){case 1:case 2:case 3:s=$.jk() +r=s.a.a9(0,d) +s.ww(d,g,h) +if(!r)a.push(n.kk(b,B.iR,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +if(n.B6(d,g,h))if(b!==0)a.push(n.kk(b,B.ff,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +else a.push(n.kk(b,B.c4,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +a.push(n.JC(b,c,d,0,0,e,!1,f,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +break +case 0:break +case 4:break}}, +a9L(a,b,c,d,e,f,g,h,i,j,k,l,m){return this.CR(a,b,c,d,e,null,f,g,h,i,j,0,0,k,0,l,m)}, +a9N(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return this.CR(a,b,c,d,e,f,g,h,i,j,1,k,l,m,0,n,o)}, +a9M(a,b,c,d,e,f,g,h,i,j,k,l,m){return this.CR(a,b,c,d,e,null,f,g,h,i,1,0,0,j,k,l,m)}} +A.amU.prototype={} +A.a6R.prototype={ +Yw(a){$.ky.push(new A.a6S(this))}, +l(){var s,r +for(s=this.a,r=A.hf(s,s.r);r.q();)s.k(0,r.d).aA(0) +s.J(0) +$.Jf=null}, +Qk(a){var s,r,q,p,o,n,m=this,l=globalThis.KeyboardEvent +if(!(l!=null&&a instanceof l))return +s=new A.iB(a) +r=A.ju(a) +r.toString +if(a.type==="keydown"&&A.h7(a)==="Tab"&&a.isComposing)return +q=A.h7(a) +q.toString +if(!(q==="Meta"||q==="Shift"||q==="Alt"||q==="Control")&&m.c){q=m.a +p=q.k(0,r) +if(p!=null)p.aA(0) +if(a.type==="keydown")if(!a.ctrlKey){p=A.FV(a) +p=p===!0||a.altKey||a.metaKey}else p=!0 +else p=!1 +if(p)q.n(0,r,A.c7(B.hP,new A.a6U(m,r,s))) +else q.A(0,r)}o=a.getModifierState("Shift")?1:0 +if(a.getModifierState("Alt")||a.getModifierState("AltGraph"))o|=2 +if(a.getModifierState("Control"))o|=4 +if(a.getModifierState("Meta"))o|=8 +m.b=o +if(a.type==="keydown")if(A.h7(a)==="CapsLock")m.b=o|32 +else if(A.ju(a)==="NumLock")m.b=o|16 +else if(A.h7(a)==="ScrollLock")m.b=o|64 +else if(A.h7(a)==="Meta"&&$.av().gbZ()===B.iM)m.b|=8 +else if(A.ju(a)==="MetaLeft"&&A.h7(a)==="Process")m.b|=8 +n=A.an(["type",a.type,"keymap","web","code",A.ju(a),"key",A.h7(a),"location",B.c.P(a.location),"metaState",m.b,"keyCode",B.c.P(a.keyCode)],t.N,t.z) +$.az().hn("flutter/keyevent",B.S.bB(n),new A.a6V(s))}} +A.a6S.prototype={ +$0(){this.a.l()}, +$S:0} +A.a6U.prototype={ +$0(){var s,r,q=this.a +q.a.A(0,this.b) +s=this.c.a +r=A.an(["type","keyup","keymap","web","code",A.ju(s),"key",A.h7(s),"location",B.c.P(s.location),"metaState",q.b,"keyCode",B.c.P(s.keyCode)],t.N,t.z) +$.az().hn("flutter/keyevent",B.S.bB(r),A.aHr())}, +$S:0} +A.a6V.prototype={ +$1(a){var s +if(a==null)return +if(A.kt(J.b5(t.a.a(B.S.eB(a)),"handled"))){s=this.a.a +s.preventDefault() +s.stopPropagation()}}, +$S:20} +A.GG.prototype={} +A.GF.prototype={ +kA(a,b,c,d){var s=this.dy,r=this.fr,q=this.fx +A.b9(b,"drawImage",[s,0,0,r,q,c,d,r,q])}, +OF(a,b,c){var s,r=this.a,q=r.createShader(r[b]) +if(q==null)throw A.c(A.c2(A.aH0(r,"getError"))) +A.b9(r,"shaderSource",[q,c]) +A.b9(r,"compileShader",[q]) +s=this.c +if(!A.b9(r,"getShaderParameter",[q,s==null?this.c=r.COMPILE_STATUS:s]))throw A.c(A.c2("Shader compilation failed: "+A.h(A.b9(r,"getShaderInfoLog",[q])))) +return q}, +gon(){var s=this.d +return s==null?this.d=this.a.ARRAY_BUFFER:s}, +gx8(){var s=this.e +return s==null?this.e=this.a.ELEMENT_ARRAY_BUFFER:s}, +gEI(){var s=this.f +return s==null?this.f=this.a.STATIC_DRAW:s}, +mL(a,b,c){var s=A.b9(this.a,"getUniformLocation",[b,c]) +if(s==null)throw A.c(A.c2(c+" not found")) +else return s}, +af7(a){var s,r,q=this +if("transferToImageBitmap" in q.dy&&a){q.dy.getContext("webgl2") +return q.dy.transferToImageBitmap()}else{s=q.fr +r=A.mI(q.fx,s) +s=A.ft(r,"2d",null) +s.toString +q.kA(0,t.e.a(s),0,0) +return r}}} +A.a5F.prototype={ +Na(a){var s,r,q,p,o=this.c +$.br() +s=self.window.devicePixelRatio +if(s===0)s=1 +r=this.d +q=self.window.devicePixelRatio +if(q===0)q=1 +p=a.style +A.l(p,"position","absolute") +A.l(p,"width",A.h(o/s)+"px") +A.l(p,"height",A.h(r/q)+"px")}} +A.uF.prototype={ +F(){return"Assertiveness."+this.b}} +A.UG.prototype={ +a8I(a){switch(a.a){case 0:return this.a +case 1:return this.b}}, +O7(a,b){var s=this,r=s.a8I(b),q=A.aS(self.document,"div") +A.am6(q,s.c?a+"\xa0":a) +s.c=!s.c +r.append(q) +A.c7(B.bb,new A.UH(q))}} +A.UH.prototype={ +$0(){return this.a.remove()}, +$S:0} +A.An.prototype={ +F(){return"_CheckableKind."+this.b}} +A.Ws.prototype={ +de(a){var s,r,q,p=this,o="true" +p.hz(0) +s=p.c +if((s.k4&1)!==0){switch(p.w.a){case 0:r=p.a +r===$&&A.a() +q=A.a5("checkbox") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break +case 1:r=p.a +r===$&&A.a() +q=A.a5("radio") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break +case 2:r=p.a +r===$&&A.a() +q=A.a5("switch") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break}r=s.DD() +q=p.a +if(r===B.eA){q===$&&A.a() +r=A.a5(o) +if(r==null)r=t.K.a(r) +q.setAttribute("aria-disabled",r) +r=A.a5(o) +if(r==null)r=t.K.a(r) +q.setAttribute("disabled",r)}else{q===$&&A.a() +q.removeAttribute("aria-disabled") +q.removeAttribute("disabled")}s=s.a +s=(s&2)!==0||(s&131072)!==0?o:"false" +r=p.a +r===$&&A.a() +s=A.a5(s) +if(s==null)s=t.K.a(s) +r.setAttribute("aria-checked",s)}}, +l(){this.pb() +var s=this.a +s===$&&A.a() +s.removeAttribute("aria-disabled") +s.removeAttribute("disabled")}, +hU(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.cw(s,null) +s=!0}return s===!0}} +A.FH.prototype={ +Yk(a){var s=this,r=s.c,q=A.amj(r,s) +s.e=q +s.e9(q) +s.e9(new A.nO(r,s)) +a.k3.r.push(new A.XB(s,a))}, +a6L(){this.c.Cf(new A.XA())}, +de(a){var s,r,q +this.hz(0) +s=this.c +if((s.a&4096)!==0){r=s.z +s=r==null?"":r +q=this.a +q===$&&A.a() +s=A.a5(s) +if(s==null)s=t.K.a(s) +q.setAttribute("aria-label",s) +s=A.a5("dialog") +if(s==null)s=t.K.a(s) +q.setAttribute("role",s)}}, +Pi(a){var s,r +if((this.c.a&4096)!==0)return +s=this.a +s===$&&A.a() +r=A.a5("dialog") +if(r==null)r=t.K.a(r) +s.setAttribute("role",r) +r=a.b.p3.a +r===$&&A.a() +r=A.a5(r.id) +if(r==null)r=t.K.a(r) +s.setAttribute("aria-describedby",r)}, +hU(){return!1}} +A.XB.prototype={ +$0(){if(this.b.k3.w)return +this.a.a6L()}, +$S:0} +A.XA.prototype={ +$1(a){var s=a.p3 +if(s==null)return!0 +return!s.hU()}, +$S:94} +A.ra.prototype={ +de(a){var s,r=this,q=r.b +if((q.a&4096)===0)return +if((q.k4&1024)!==0){s=r.e +if(s!=null)s.Pi(r) +else q.k3.r.push(new A.a8f(r))}}, +a46(){var s,r,q=this.b.p1 +while(!0){s=q!=null +if(s){r=q.p3 +r=(r==null?null:r.b)!==B.fi}else r=!1 +if(!r)break +q=q.p1}if(s){s=q.p3 +s=(s==null?null:s.b)===B.fi}else s=!1 +if(s){s=q.p3 +s.toString +this.e=t.JX.a(s)}}} +A.a8f.prototype={ +$0(){var s,r=this.a +if(!r.d){r.a46() +s=r.e +if(s!=null)s.Pi(r)}}, +$S:0} +A.Gu.prototype={ +de(a){var s,r,q=this,p=q.b +if((p.a&2097152)!==0){s=q.e +if(s.b==null){r=q.c.a +r===$&&A.a() +s.R9(p.k2,r)}p=p.a +if((p&32)!==0)p=(p&64)===0||(p&128)!==0 +else p=!1 +s.Oy(p)}else q.e.yT()}} +A.E1.prototype={ +R9(a,b){var s,r,q=this,p=q.b,o=p==null +if(b===(o?null:p.a[2])){o=p.a +if(a===o[3])return +s=o[2] +r=o[1] +q.b=new A.BL([o[0],r,s,a]) +return}if(!o)q.yT() +o=A.bb(new A.UJ(q)) +o=[A.bb(new A.UK(q)),o,b,a] +q.b=new A.BL(o) +A.Y1(b,0) +A.bW(b,"focus",o[1],null) +A.bW(b,"blur",o[0],null)}, +yT(){var s,r=this.b +this.c=this.b=null +if(r==null)return +s=r.a +A.cB(s[2],"focus",s[1],null) +A.cB(s[2],"blur",s[0],null)}, +Mi(a){var s,r,q=this.b +if(q==null)return +s=$.az() +r=q.a[3] +s.hW(r,a?B.jb:B.jc,null)}, +Oy(a){var s,r=this,q=r.b +if(q==null){r.c=null +return}if(a===r.c)return +r.c=a +if(a){s=r.a +s.w=!0}else return +s.r.push(new A.UI(r,q))}} +A.UJ.prototype={ +$1(a){return this.a.Mi(!0)}, +$S:1} +A.UK.prototype={ +$1(a){return this.a.Mi(!1)}, +$S:1} +A.UI.prototype={ +$0(){var s=this.b +if(!J.e(this.a.b,s))return +A.cw(s.a[2],null)}, +$S:0} +A.a_G.prototype={ +de(a){var s,r +this.hz(0) +s=this.c +if((s.k4&16777216)===0)return +r=s.id +s=s.p3.a +s===$&&A.a() +r=A.a5(r) +if(r==null)r=t.K.a(r) +s.setAttribute("aria-level",r)}, +hU(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.cw(s,null) +s=!0}return s===!0}} +A.a0H.prototype={ +hU(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.cw(s,null) +s=!0}return s===!0}, +de(a){var s,r,q,p=this +p.hz(0) +s=p.c +if(s.gEG()){r=s.dy +r=r!=null&&!B.c2.gM(r)}else r=!1 +if(r){if(p.w==null){p.w=A.aS(self.document,"flt-semantics-img") +r=s.dy +if(r!=null&&!B.c2.gM(r)){r=p.w.style +A.l(r,"position","absolute") +A.l(r,"top","0") +A.l(r,"left","0") +q=s.y +A.l(r,"width",A.h(q.c-q.a)+"px") +s=s.y +A.l(r,"height",A.h(s.d-s.b)+"px")}A.l(p.w.style,"font-size","6px") +s=p.w +s.toString +r=p.a +r===$&&A.a() +r.append(s)}s=p.w +s.toString +r=A.a5("img") +if(r==null)r=t.K.a(r) +s.setAttribute("role",r) +p.Mk(p.w)}else if(s.gEG()){s=p.a +s===$&&A.a() +r=A.a5("img") +if(r==null)r=t.K.a(r) +s.setAttribute("role",r) +p.Mk(s) +p.zH()}else{p.zH() +s=p.a +s===$&&A.a() +s.removeAttribute("aria-label")}}, +Mk(a){var s=this.c.z +if(s!=null&&s.length!==0){a.toString +s.toString +s=A.a5(s) +if(s==null)s=t.K.a(s) +a.setAttribute("aria-label",s)}}, +zH(){var s=this.w +if(s!=null){s.remove() +this.w=null}}, +l(){this.pb() +this.zH() +var s=this.a +s===$&&A.a() +s.removeAttribute("aria-label")}} +A.a0N.prototype={ +Yp(a){var s,r,q=this,p=q.c +q.e9(new A.nO(p,q)) +q.e9(new A.ra(p,q)) +q.NY(B.bS) +p=q.w +s=q.a +s===$&&A.a() +s.append(p) +A.Y2(p,"range") +s=A.a5("slider") +if(s==null)s=t.K.a(s) +p.setAttribute("role",s) +A.bW(p,"change",A.bb(new A.a0O(q,a)),null) +s=new A.a0P(q) +q.z!==$&&A.bz() +q.z=s +r=$.bi;(r==null?$.bi=A.d1():r).w.push(s) +q.x.R9(a.k2,p)}, +hU(){A.cw(this.w,null) +return!0}, +de(a){var s,r=this +r.hz(0) +s=$.bi +switch((s==null?$.bi=A.d1():s).f.a){case 1:r.a0b() +r.a7K() +break +case 0:r.J6() +break}r.x.Oy((r.c.a&32)!==0)}, +a0b(){var s=this.w,r=A.am4(s) +r.toString +if(!r)return +A.aqi(s,!1)}, +a7K(){var s,r,q,p,o,n,m,l=this +if(!l.Q){s=l.c.k4 +r=(s&4096)!==0||(s&8192)!==0||(s&16384)!==0}else r=!0 +if(!r)return +l.Q=!1 +q=""+l.y +s=l.w +A.aqj(s,q) +p=A.a5(q) +if(p==null)p=t.K.a(p) +s.setAttribute("aria-valuenow",p) +p=l.c +o=p.ax +o.toString +o=A.a5(o) +if(o==null)o=t.K.a(o) +s.setAttribute("aria-valuetext",o) +n=p.ch.length!==0?""+(l.y+1):q +s.max=n +o=A.a5(n) +if(o==null)o=t.K.a(o) +s.setAttribute("aria-valuemax",o) +m=p.cx.length!==0?""+(l.y-1):q +s.min=m +p=A.a5(m) +if(p==null)p=t.K.a(p) +s.setAttribute("aria-valuemin",p)}, +J6(){var s=this.w,r=A.am4(s) +r.toString +if(r)return +A.aqi(s,!0)}, +l(){var s,r,q=this +q.pb() +q.x.yT() +s=$.bi +if(s==null)s=$.bi=A.d1() +r=q.z +r===$&&A.a() +B.b.A(s.w,r) +q.J6() +q.w.remove()}} +A.a0O.prototype={ +$1(a){var s,r=this.a,q=r.w,p=A.am4(q) +p.toString +if(p)return +r.Q=!0 +q=A.am5(q) +q.toString +s=A.il(q,null) +q=r.y +if(s>q){r.y=q+1 +$.az().hW(this.b.k2,B.we,null)}else if(sr){s=q.b +s.toString +if((s&32)!==0||(s&16)!==0)$.az().hW(p,B.dU,n) +else $.az().hW(p,B.dW,n)}else{s=q.b +s.toString +if((s&32)!==0||(s&16)!==0)$.az().hW(p,B.dV,n) +else $.az().hW(p,B.dX,n)}}}, +an(){var s,r=this.c.p3.a +r===$&&A.a() +A.l(r.style,"overflow","") +r=this.x +s=r.style +A.l(s,"position","absolute") +A.l(s,"transform-origin","0 0 0") +A.l(s,"pointer-events","none") +s=this.a +s===$&&A.a() +s.append(r)}, +de(a){var s,r,q,p=this +p.hz(0) +p.c.k3.r.push(new A.a93(p)) +if(p.y==null){s=p.a +s===$&&A.a() +A.l(s.style,"touch-action","none") +p.JD() +r=new A.a94(p) +p.w=r +q=$.bi;(q==null?$.bi=A.d1():q).w.push(r) +r=A.bb(new A.a95(p)) +p.y=r +A.bW(s,"scroll",r,null)}}, +gJc(){var s,r=this.c.b +r.toString +r=(r&32)!==0||(r&16)!==0 +s=this.a +if(r){s===$&&A.a() +return B.c.P(s.scrollTop)}else{s===$&&A.a() +return B.c.P(s.scrollLeft)}}, +L5(){var s,r,q,p,o=this,n="transform",m=o.c,l=m.y +if(l==null){$.dj().$1("Warning! the rect attribute of semanticsObject is null") +return}s=m.b +s.toString +s=(s&32)!==0||(s&16)!==0 +r=o.x +q=l.d-l.b +p=l.c-l.a +if(s){s=B.c.d4(q) +r=r.style +A.l(r,n,"translate(0px,"+(s+10)+"px)") +A.l(r,"width",""+B.c.a2(p)+"px") +A.l(r,"height","10px") +r=o.a +r===$&&A.a() +r.scrollTop=10 +m.p4=o.z=B.c.P(r.scrollTop) +m.R8=0}else{s=B.c.d4(p) +r=r.style +A.l(r,n,"translate("+(s+10)+"px,0px)") +A.l(r,"width","10px") +A.l(r,"height",""+B.c.a2(q)+"px") +q=o.a +q===$&&A.a() +q.scrollLeft=10 +q=B.c.P(q.scrollLeft) +o.z=q +m.p4=0 +m.R8=q}}, +JD(){var s,r=this,q="overflow-y",p="overflow-x",o=$.bi +switch((o==null?$.bi=A.d1():o).f.a){case 1:o=r.c.b +o.toString +o=(o&32)!==0||(o&16)!==0 +s=r.a +if(o){s===$&&A.a() +A.l(s.style,q,"scroll")}else{s===$&&A.a() +A.l(s.style,p,"scroll")}break +case 0:o=r.c.b +o.toString +o=(o&32)!==0||(o&16)!==0 +s=r.a +if(o){s===$&&A.a() +A.l(s.style,q,"hidden")}else{s===$&&A.a() +A.l(s.style,p,"hidden")}break}}, +l(){var s,r,q,p=this +p.pb() +s=p.a +s===$&&A.a() +r=s.style +r.removeProperty("overflowY") +r.removeProperty("overflowX") +r.removeProperty("touch-action") +q=p.y +if(q!=null){A.cB(s,"scroll",q,null) +p.y=null}s=p.w +if(s!=null){q=$.bi +B.b.A((q==null?$.bi=A.d1():q).w,s) +p.w=null}}, +hU(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.cw(s,null) +s=!0}return s===!0}} +A.a93.prototype={ +$0(){var s=this.a +s.L5() +s.c.FC()}, +$S:0} +A.a94.prototype={ +$1(a){this.a.JD()}, +$S:96} +A.a95.prototype={ +$1(a){this.a.a5N()}, +$S:1} +A.w_.prototype={ +i(a){var s=A.b([],t.s),r=this.a +if((r&1)!==0)s.push("accessibleNavigation") +if((r&2)!==0)s.push("invertColors") +if((r&4)!==0)s.push("disableAnimations") +if((r&8)!==0)s.push("boldText") +if((r&16)!==0)s.push("reduceMotion") +if((r&32)!==0)s.push("highContrast") +if((r&64)!==0)s.push("onOffSwitchLabels") +return"AccessibilityFeatures"+A.h(s)}, +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.w_&&b.a===this.a}, +gt(a){return B.f.gt(this.a)}, +OT(a,b){var s=(a==null?(this.a&1)!==0:a)?1:0,r=this.a +s=(r&2)!==0?s|2:s&4294967293 +s=(r&4)!==0?s|4:s&4294967291 +s=(r&8)!==0?s|8:s&4294967287 +s=(r&16)!==0?s|16:s&4294967279 +s=(b==null?(r&32)!==0:b)?s|32:s&4294967263 +return new A.w_((r&64)!==0?s|64:s&4294967231)}, +a9S(a){return this.OT(null,a)}, +a9P(a){return this.OT(a,null)}} +A.Kq.prototype={$ian3:1} +A.Kn.prototype={} +A.fL.prototype={ +F(){return"PrimaryRole."+this.b}} +A.J5.prototype={ +n7(a,b,c){var s=this,r=s.c,q=A.y7(s.bh(0),r) +s.a!==$&&A.bz() +s.a=q +q=A.amj(r,s) +s.e=q +s.e9(q) +s.e9(new A.nO(r,s)) +s.e9(new A.ra(r,s)) +s.NY(c)}, +bh(a){return A.aS(self.document,"flt-semantics")}, +an(){}, +NY(a){var s=this,r=new A.Hg(a,s.c,s) +s.f=r +s.e9(r)}, +e9(a){var s=this.d;(s==null?this.d=A.b([],t.VM):s).push(a)}, +de(a){var s,r,q,p,o=this.d +if(o==null)return +for(s=o.length,r=0;r1)for(p=0;p=0;--p,a1=s){g=l[p] +s=g.k2 +if(!B.b.p(a0,s)){k=g.p3 +if(a1==null){m.toString +k=k.a +k===$&&A.a() +m.append(k)}else{m.toString +k=k.a +k===$&&A.a() +m.insertBefore(k,a1)}g.p1=a2 +q.e.n(0,s,a2)}s=g.p3.a +s===$&&A.a()}a2.p2=l}, +a1e(){var s,r,q=this +if(q.go!==-1)return B.iY +else if(q.id!==0)return B.vW +else if((q.a&16)!==0)return B.vV +else{s=q.b +s.toString +if((s&64)!==0||(s&128)!==0)return B.vU +else if(q.gEG())return B.vX +else{s=q.a +if((s&1)!==0||(s&65536)!==0)return B.iX +else if((s&8)!==0)return B.iW +else{r=q.b +r.toString +if((r&32)!==0||(r&16)!==0||(r&4)!==0||(r&8)!==0)return B.iU +else if((s&2048)!==0)return B.fi +else if((s&4194304)!==0)return B.iV +else return B.iZ}}}}, +a_A(a){var s,r,q,p=this +switch(a.a){case 3:s=new A.aaZ(B.vV,p) +r=A.y7(s.bh(0),p) +s.a!==$&&A.bz() +s.a=r +s.a6P() +break +case 1:s=new A.a8X(A.aS(self.document,"flt-semantics-scroll-overflow"),B.iU,p) +s.n7(B.iU,p,B.bS) +break +case 0:s=A.aCa(p) +break +case 2:s=new A.VF(B.iW,p) +s.n7(B.iW,p,B.eL) +s.e9(A.L1(p,s)) +r=s.a +r===$&&A.a() +q=A.a5("button") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break +case 4:s=new A.Ws(A.aH6(p),B.iX,p) +s.n7(B.iX,p,B.bS) +s.e9(A.L1(p,s)) +break +case 7:s=A.aAH(p) +break +case 6:s=new A.a0H(B.vX,p) +r=A.y7(s.bh(0),p) +s.a!==$&&A.bz() +s.a=r +r=A.amj(p,s) +s.e=r +s.e9(r) +s.e9(new A.nO(p,s)) +s.e9(new A.ra(p,s)) +s.e9(A.L1(p,s)) +break +case 8:s=new A.a6o(B.iY,p) +s.n7(B.iY,p,B.bS) +break +case 10:s=new A.a1C(B.iV,p) +s.n7(B.iV,p,B.eL) +s.e9(A.L1(p,s)) +break +case 5:s=new A.a_G(B.vW,p) +r=A.y7(s.bh(0),p) +s.a!==$&&A.bz() +s.a=r +q=A.a5("heading") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break +case 9:s=new A.a_9(B.iZ,p) +s.n7(B.iZ,p,B.i3) +r=p.b +r.toString +if((r&1)!==0)s.e9(A.L1(p,s)) +break +default:s=null}return s}, +a7Q(){var s,r,q,p=this,o=p.p3,n=p.a1e(),m=p.p3 +if(m==null)s=null +else{m=m.a +m===$&&A.a() +s=m}if(o!=null)if(o.b===n){o.de(0) +return}else{o.l() +o=p.p3=null}if(o==null){o=p.p3=p.a_A(n) +o.an() +o.de(0)}m=p.p3.a +m===$&&A.a() +if(!J.e(s,m)){r=p.ok +if(r!=null){m=p.p3.a +m===$&&A.a() +m.append(r)}q=s==null?null:s.parentElement +if(q!=null){m=p.p3.a +m===$&&A.a() +q.insertBefore(m,s) +s.remove()}}}, +FC(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=g.p3.a +f===$&&A.a() +f=f.style +s=g.y +A.l(f,"width",A.h(s.c-s.a)+"px") +s=g.y +A.l(f,"height",A.h(s.d-s.b)+"px") +f=g.dy +r=f!=null&&!B.c2.gM(f)?g.Gg():null +f=g.y +q=f.b===0&&f.a===0 +p=g.dx +f=p==null +o=f||A.alf(p)===B.xi +if(q&&o&&g.p4===0&&g.R8===0){f=g.p3.a +f===$&&A.a() +A.a9s(f) +if(r!=null)A.a9s(r) +return}n=A.bk("effectiveTransform") +if(!q)if(f){f=g.y +m=f.a +l=f.b +f=A.cK() +f.j1(m,l,0) +n.b=f +k=m===0&&l===0}else{f=new A.bq(new Float32Array(16)) +f.bc(new A.bq(p)) +s=g.y +f.au(0,s.a,s.b) +n.b=f +k=J.az8(n.aP())}else{if(!o)n.b=new A.bq(p) +k=o}f=g.p3 +if(!k){f=f.a +f===$&&A.a() +f=f.style +A.l(f,"transform-origin","0 0 0") +A.l(f,"transform",A.fk(n.aP().a))}else{f=f.a +f===$&&A.a() +A.a9s(f)}if(r!=null)if(!q||g.p4!==0||g.R8!==0){f=g.y +s=f.a +j=g.R8 +f=f.b +i=g.p4 +h=r.style +A.l(h,"top",A.h(-f+i)+"px") +A.l(h,"left",A.h(-s+j)+"px")}else A.a9s(r)}, +Cf(a){var s,r,q,p +if(!a.$1(this))return!1 +s=this.dy +if(s==null)return!0 +for(r=s.length,q=this.k3.d,p=0;p>>0}p=o.ax +if(n.k1!==p){n.k1=p +n.k4=(n.k4|33554432)>>>0}p=o.cy +if(n.ax!==p){n.ax=p +n.k4=(n.k4|4096)>>>0}p=o.db +if(n.ay!==p){n.ay=p +n.k4=(n.k4|4096)>>>0}p=o.ay +if(n.z!==p){n.z=p +n.k4=(n.k4|1024)>>>0}p=o.ch +if(n.Q!==p){n.Q=p +n.k4=(n.k4|1024)>>>0}p=o.at +if(!J.e(n.y,p)){n.y=p +n.k4=(n.k4|512)>>>0}p=o.id +if(n.dx!==p){n.dx=p +n.k4=(n.k4|65536)>>>0}p=o.z +if(n.r!==p){n.r=p +n.k4=(n.k4|64)>>>0}p=o.c +if(n.b!==p){n.b=p +n.k4=(n.k4|2)>>>0}p=o.f +if(n.c!==p){n.c=p +n.k4=(n.k4|4)>>>0}p=o.r +if(n.d!==p){n.d=p +n.k4=(n.k4|8)>>>0}p=o.x +if(n.e!==p){n.e=p +n.k4=(n.k4|16)>>>0}p=o.y +if(n.f!==p){n.f=p +n.k4=(n.k4|32)>>>0}p=o.Q +if(n.w!==p){n.w=p +n.k4=(n.k4|128)>>>0}p=o.as +if(n.x!==p){n.x=p +n.k4=(n.k4|256)>>>0}p=o.CW +if(n.as!==p){n.as=p +n.k4=(n.k4|2048)>>>0}p=o.cx +if(n.at!==p){n.at=p +n.k4=(n.k4|2048)>>>0}p=o.dx +if(n.ch!==p){n.ch=p +n.k4=(n.k4|8192)>>>0}p=o.dy +if(n.CW!==p){n.CW=p +n.k4=(n.k4|8192)>>>0}p=o.fr +if(n.cx!==p){n.cx=p +n.k4=(n.k4|16384)>>>0}p=o.fx +if(n.cy!==p){n.cy=p +n.k4=(n.k4|16384)>>>0}p=o.fy +if(n.fy!==p){n.fy=p +n.k4=(n.k4|4194304)>>>0}p=o.p1 +if(n.id!==p){n.id=p +n.k4=(n.k4|16777216)>>>0}p=o.go +if(n.db!=p){n.db=p +n.k4=(n.k4|32768)>>>0}p=o.k2 +if(n.fr!==p){n.fr=p +n.k4=(n.k4|1048576)>>>0}p=o.k1 +if(n.dy!==p){n.dy=p +n.k4=(n.k4|524288)>>>0}p=o.k3 +if(n.fx!==p){n.fx=p +n.k4=(n.k4|2097152)>>>0}p=o.w +if(n.go!==p){n.go=p +n.k4=(n.k4|8388608)>>>0}n.a7Q() +p=n.k4 +if((p&512)!==0||(p&65536)!==0||(p&64)!==0)n.FC() +p=n.dy +p=!(p!=null&&!B.c2.gM(p))&&n.go===-1 +m=n.p3 +if(p){p=m.a +p===$&&A.a() +p=p.style +p.setProperty("pointer-events","all","")}else{p=m.a +p===$&&A.a() +p=p.style +p.setProperty("pointer-events","none","")}}for(q=0;q"),n=A.a7(new A.aZ(p,o),!0,o.h("j.E")),m=n.length +for(s=0;s=20)return i.d=!0 +if(!B.Kg.p(0,a.type))return!0 +if(i.a!=null)return!1 +r=A.bk("activationPoint") +switch(a.type){case"click":r.scr(new A.vI(a.offsetX,a.offsetY)) +break +case"touchstart":case"touchend":s=t.VA +s=A.eT(new A.AC(a.changedTouches,s),s.h("j.E"),t.e) +s=A.o(s).y[1].a(J.ip(s.a)) +r.scr(new A.vI(s.clientX,s.clientY)) +break +case"pointerdown":case"pointerup":r.scr(new A.vI(a.clientX,a.clientY)) +break +default:return!0}q=i.b.getBoundingClientRect() +s=q.left +p=q.right +o=q.left +n=q.top +m=q.bottom +l=q.top +k=r.aP().a-(s+(p-o)/2) +j=r.aP().b-(n+(m-l)/2) +if(k*k+j*j<1){i.d=!0 +i.a=A.c7(B.bb,new A.a4S(i)) +return!1}return!0}, +RB(){var s,r=this.b=A.aS(self.document,"flt-semantics-placeholder") +A.bW(r,"click",A.bb(new A.a4R(this)),!0) +s=A.a5("button") +if(s==null)s=t.K.a(s) +r.setAttribute("role",s) +s=A.a5("Enable accessibility") +if(s==null)s=t.K.a(s) +r.setAttribute("aria-label",s) +s=r.style +A.l(s,"position","absolute") +A.l(s,"left","0") +A.l(s,"top","0") +A.l(s,"right","0") +A.l(s,"bottom","0") +return r}, +l(){var s=this.b +if(s!=null)s.remove() +this.a=this.b=null}} +A.a4S.prototype={ +$0(){this.a.l() +var s=$.bi;(s==null?$.bi=A.d1():s).syF(!0)}, +$S:0} +A.a4R.prototype={ +$1(a){this.a.ye(a)}, +$S:1} +A.VF.prototype={ +hU(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.cw(s,null) +s=!0}return s===!0}, +de(a){var s,r +this.hz(0) +s=this.c.DD() +r=this.a +if(s===B.eA){r===$&&A.a() +s=A.a5("true") +if(s==null)s=t.K.a(s) +r.setAttribute("aria-disabled",s)}else{r===$&&A.a() +r.removeAttribute("aria-disabled")}}} +A.L0.prototype={ +YB(a,b){var s,r=A.bb(new A.aaR(this,a)) +this.e=r +s=b.a +s===$&&A.a() +A.bW(s,"click",r,null)}, +de(a){var s,r=this,q=r.f,p=r.b +if(p.DD()!==B.eA){p=p.b +p.toString +p=(p&1)!==0}else p=!1 +r.f=p +if(q!==p){s=r.c.a +if(p){s===$&&A.a() +p=A.a5("") +if(p==null)p=t.K.a(p) +s.setAttribute("flt-tappable",p)}else{s===$&&A.a() +s.removeAttribute("flt-tappable")}}}} +A.aaR.prototype={ +$1(a){$.aoU().aeu(0,a,this.b.k2,this.a.f)}, +$S:1} +A.a9y.prototype={ +DC(a,b,c,d){this.CW=b +this.x=d +this.y=c}, +a8k(a){var s,r,q=this,p=q.ch +if(p===a)return +else if(p!=null)q.fz(0) +q.ch=a +q.c=a.w +q.MI() +p=q.CW +p.toString +s=q.x +s.toString +r=q.y +r.toString +q.V4(0,p,r,s)}, +fz(a){var s,r,q,p=this +if(!p.b)return +p.b=!1 +p.w=p.r=null +for(s=p.z,r=0;r=this.b)throw A.c(A.ar1(b,this)) +return this.a[b]}, +n(a,b,c){if(b>=this.b)throw A.c(A.ar1(b,this)) +this.a[b]=c}, +su(a,b){var s,r,q,p=this,o=p.b +if(bo){if(o===0)q=new Uint8Array(b) +else q=p.A0(b) +B.W.e1(q,0,p.b,p.a) +p.a=q}}p.b=b}, +du(a,b){var s=this,r=s.b +if(r===s.a.length)s.HP(r) +s.a[s.b++]=b}, +D(a,b){var s=this,r=s.b +if(r===s.a.length)s.HP(r) +s.a[s.b++]=b}, +vH(a,b,c,d){A.dA(c,"start") +if(d!=null&&c>d)throw A.c(A.cb(d,c,null,"end",null)) +this.YH(b,c,d)}, +L(a,b){return this.vH(0,b,0,null)}, +YH(a,b,c){var s,r,q,p=this +if(A.o(p).h("O").b(a))c=c==null?a.length:c +if(c!=null){p.a3P(p.b,a,b,c) +return}for(s=J.al(a),r=0;s.q();){q=s.gG(s) +if(r>=b)p.du(0,q);++r}if(ro.gu(b)||d>o.gu(b))throw A.c(A.R("Too few elements")) +s=d-c +r=p.b+s +p.a0f(r) +o=p.a +q=a+s +B.W.bz(o,q,p.b+s,o,a) +B.W.bz(p.a,a,q,b,c) +p.b=r}, +a0f(a){var s,r=this +if(a<=r.a.length)return +s=r.A0(a) +B.W.e1(s,0,r.b,r.a) +r.a=s}, +A0(a){var s=this.a.length*2 +if(a!=null&&ss)throw A.c(A.cb(c,0,s,null,null)) +s=this.a +if(A.o(this).h("jh").b(d))B.W.bz(s,b,c,d.a,e) +else B.W.bz(s,b,c,d,e)}, +e1(a,b,c,d){return this.bz(0,b,c,d,0)}} +A.Ot.prototype={} +A.Lq.prototype={} +A.hg.prototype={ +i(a){return A.t(this).i(0)+"("+this.a+", "+A.h(this.b)+")"}} +A.a0Z.prototype={ +bB(a){return A.ey(B.bq.d7(B.aQ.DE(a)).buffer,0,null)}, +eB(a){if(a==null)return a +return B.aQ.eA(0,B.cI.d7(A.d2(a.buffer,0,null)))}} +A.a10.prototype={ +hP(a){return B.S.bB(A.an(["method",a.a,"args",a.b],t.N,t.z))}, +h9(a){var s,r,q,p=null,o=B.S.eB(a) +if(!t.f.b(o))throw A.c(A.bG("Expected method call Map, got "+A.h(o),p,p)) +s=J.ax(o) +r=s.k(o,"method") +q=s.k(o,"args") +if(typeof r=="string")return new A.hg(r,q) +throw A.c(A.bG("Invalid method call: "+A.h(o),p,p))}} +A.aae.prototype={ +bB(a){var s=A.anw() +this.dq(0,s,!0) +return s.ky()}, +eB(a){var s,r +if(a==null)return null +s=new A.Jh(a) +r=this.hp(0,s) +if(s.b=b.a.byteLength)throw A.c(B.aI) +return this.jK(b.mJ(0),b)}, +jK(a,b){var s,r,q,p,o,n,m,l,k,j=this +switch(a){case 0:s=null +break +case 1:s=!0 +break +case 2:s=!1 +break +case 3:r=b.a.getInt32(b.b,B.aa===$.di()) +b.b+=4 +s=r +break +case 4:s=b.yq(0) +break +case 5:q=j.dZ(b) +s=A.il(B.cI.d7(b.mK(q)),16) +break +case 6:b.k6(8) +r=b.a.getFloat64(b.b,B.aa===$.di()) +b.b+=8 +s=r +break +case 7:q=j.dZ(b) +s=B.cI.d7(b.mK(q)) +break +case 8:s=b.mK(j.dZ(b)) +break +case 9:q=j.dZ(b) +b.k6(4) +p=b.a +o=A.arC(p.buffer,p.byteOffset+b.b,q) +b.b=b.b+4*q +s=o +break +case 10:s=b.yr(j.dZ(b)) +break +case 11:q=j.dZ(b) +b.k6(8) +p=b.a +o=A.arA(p.buffer,p.byteOffset+b.b,q) +b.b=b.b+8*q +s=o +break +case 12:q=j.dZ(b) +n=[] +for(p=b.a,m=0;m=p.byteLength)A.ab(B.aI) +b.b=l+1 +n.push(j.jK(p.getUint8(l),b))}s=n +break +case 13:q=j.dZ(b) +p=t.X +n=A.E(p,p) +for(p=b.a,m=0;m=p.byteLength)A.ab(B.aI) +b.b=l+1 +l=j.jK(p.getUint8(l),b) +k=b.b +if(k>=p.byteLength)A.ab(B.aI) +b.b=k+1 +n.n(0,l,j.jK(p.getUint8(k),b))}s=n +break +default:throw A.c(B.aI)}return s}, +eO(a,b){var s,r,q +if(b<254)a.b.du(0,b) +else{s=a.b +r=a.c +q=a.d +if(b<=65535){s.du(0,254) +r.setUint16(0,b,B.aa===$.di()) +s.vH(0,q,0,2)}else{s.du(0,255) +r.setUint32(0,b,B.aa===$.di()) +s.vH(0,q,0,4)}}}, +dZ(a){var s=a.mJ(0) +switch(s){case 254:s=a.a.getUint16(a.b,B.aa===$.di()) +a.b+=2 +return s +case 255:s=a.a.getUint32(a.b,B.aa===$.di()) +a.b+=4 +return s +default:return s}}} +A.aah.prototype={ +$2(a,b){var s=this.a,r=this.b +s.dq(0,r,a) +s.dq(0,r,b)}, +$S:98} +A.aai.prototype={ +h9(a){var s,r,q +a.toString +s=new A.Jh(a) +r=B.bp.hp(0,s) +q=B.bp.hp(0,s) +if(typeof r=="string"&&s.b>=a.byteLength)return new A.hg(r,q) +else throw A.c(B.lq)}, +r2(a){var s=A.anw() +s.b.du(0,0) +B.bp.dq(0,s,a) +return s.ky()}, +m1(a,b,c){var s=A.anw() +s.b.du(0,1) +B.bp.dq(0,s,a) +B.bp.dq(0,s,c) +B.bp.dq(0,s,b) +return s.ky()}} +A.aco.prototype={ +k6(a){var s,r,q=this.b,p=B.f.bp(q.b,a) +if(p!==0)for(s=a-p,r=0;r0)b=c +else{$.ph.toString +f=$.br().d +if(f==null){f=self.window.devicePixelRatio +if(f===0)f=1}b=1/f}f=d==null?a8:A.cP(d.gm(d)) +b0.setProperty("-webkit-text-stroke",A.h(b)+"px "+A.h(f),"")}else if(d!=null){a=A.cP(d.gm(d)) +b0.setProperty("color",a,"")}f=g.cy +a0=f==null?a8:f.gab(f) +if(a0!=null){a=A.cP(a0.a) +b0.setProperty("background-color",a,"")}a1=g.at +if(a1!=null){f=B.c.d0(a1) +b0.setProperty("font-size",""+f+"px","")}f=g.f +if(f!=null){a=A.aoi(f.a) +b0.setProperty("font-weight",a,"")}f=A.akr(g.y) +f.toString +b0.setProperty("font-family",f,"") +f=g.ax +if(f!=null)b0.setProperty("letter-spacing",A.h(f)+"px","") +f=g.ay +if(f!=null)b0.setProperty("word-spacing",A.h(f)+"px","") +f=g.b +a2=g.dx +if(a2!=null){a=A.aIm(a2) +b0.setProperty("text-shadow",a,"")}if(f!=null){e=g.d +f=f.a +a3=(f|1)===f?""+"underline ":"" +if((f|2)===f)a3+="overline " +f=(f|4)===f?a3+"line-through ":a3 +if(e!=null)f+=A.h(A.aHi(e)) +a4=f.length===0?a8:f.charCodeAt(0)==0?f:f +if(a4!=null){f=$.av() +p=f.d +if(p===$){e=self.window.navigator.vendor +p=f.b +if(p===$){p=self.window.navigator.userAgent +f.b!==$&&A.a0() +f.b=p}a3=p +n=f.qQ(e,a3.toLowerCase()) +f.d!==$&&A.a0() +f.d=n +p=n}f=p +if(f===B.P){f=h.style +f.setProperty("-webkit-text-decoration",a4,"")}else b0.setProperty("text-decoration",a4,"") +a5=g.c +if(a5!=null){a=A.cP(a5.a) +b0.setProperty("text-decoration-color",a,"")}}}a6=g.as +if(a6!=null&&a6.length!==0){a=A.aHz(a6) +b0.setProperty("font-variation-settings",a,"")}g=j.SA() +f=g.a +e=g.b +a3=h.style +a3.setProperty("position","absolute","") +a3.setProperty("top",A.h(e)+"px","") +a3.setProperty("left",A.h(f)+"px","") +a3.setProperty("width",A.h(g.c-f)+"px","") +a3.setProperty("line-height",A.h(g.d-e)+"px","") +h.append(self.document.createTextNode(i)) +a9.append(h)}++q}return a9}, +tI(){return this.gc1().tI()}, +tJ(a,b,c,d){return this.gc1().Tc(a,b,c,d)}, +ym(a,b,c){return this.tJ(a,b,c,B.ef)}, +df(a){return this.gc1().df(a)}, +G6(a){return this.gc1().Th(a)}, +yo(a){var s,r,q,p,o,n,m,l,k,j=this.uC(a,0,this.gc1().y.length) +if(j==null)return null +s=this.gc1().y[j] +r=s.Te(a) +if(r==null)return null +for(q=s.x,p=q.length,o=r.a,n=r.b,m=0;m") +return A.a7(new A.aw(s,new A.Wi(),r),!0,r.h("aD.E"))}, +ys(a){return 0<=a&&ab)if(a>=q.gc1().y[b].b){s=c=q.gc1().y[b].gmy()?null:b +r=B.f.c9(b+c,2) +s=q.uC(a,r,c) +return s==null?q.uC(a,b,r):s}, +l(){}} +A.Wi.prototype={ +$1(a){return a.a}, +$S:467} +A.xN.prototype={} +A.rw.prototype={ +Si(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=this,a=b.a +if(a==null){a=b.gzN(b) +s=b.gA5() +r=b.gA6() +q=b.gA7() +p=b.gA8() +o=b.gAt(b) +n=b.gAr(b) +m=b.gBL() +l=b.gzg(b) +k=b.gAo() +j=b.gAp() +i=b.gAs() +h=b.gAq(b) +g=b.gB2(b) +f=b.gCh(b) +e=b.gzh(b) +d=b.gB1() +c=b.gB5() +f=b.a=A.aqI(b.gzw(b),a,s,r,q,p,l,k,j,h,n,i,o,b.guF(),e,d,g,c,b.gBE(),m,f) +a=f}return a}} +A.EQ.prototype={ +gzN(a){var s=this.c.a +if(s==null)if(this.guF()==null){s=this.b +s=s.gzN(s)}else s=null +return s}, +gA5(){var s=this.c.b +return s==null?this.b.gA5():s}, +gA6(){var s=this.c.c +return s==null?this.b.gA6():s}, +gA7(){var s=this.c.d +return s==null?this.b.gA7():s}, +gA8(){var s=this.c.e +return s==null?this.b.gA8():s}, +gAt(a){var s=this.c.f +if(s==null){s=this.b +s=s.gAt(s)}return s}, +gAr(a){var s=this.b +s=s.gAr(s) +return s}, +gBL(){var s=this.c.w +return s==null?this.b.gBL():s}, +gAo(){var s=this.c.z +return s==null?this.b.gAo():s}, +gAp(){var s=this.b.gAp() +return s}, +gAs(){var s=this.c.as +return s==null?this.b.gAs():s}, +gAq(a){var s=this.c.at +if(s==null){s=this.b +s=s.gAq(s)}return s}, +gB2(a){var s=this.c.ax +if(s==null){s=this.b +s=s.gB2(s)}return s}, +gCh(a){var s=this.c.ay +if(s==null){s=this.b +s=s.gCh(s)}return s}, +gzh(a){var s=this.c.ch +if(s===0)s=null +else if(s==null){s=this.b +s=s.gzh(s)}return s}, +gB1(){var s=this.c.CW +return s==null?this.b.gB1():s}, +gB5(){var s=this.c.cx +return s==null?this.b.gB5():s}, +gzw(a){var s=this.c.cy +if(s==null){s=this.b +s=s.gzw(s)}return s}, +guF(){var s=this.c.db +return s==null?this.b.guF():s}, +gBE(){var s=this.c.dx +return s==null?this.b.gBE():s}, +gzg(a){var s=this.c +if(s.x)s=s.y +else{s=this.b +s=s.gzg(s)}return s}} +A.JO.prototype={ +gzN(a){return null}, +gA5(){return null}, +gA6(){return null}, +gA7(){return null}, +gA8(){return null}, +gAt(a){return this.b.c}, +gAr(a){return this.b.d}, +gBL(){return null}, +gzg(a){var s=this.b.f +return s==null?"sans-serif":s}, +gAo(){return null}, +gAp(){return null}, +gAs(){return null}, +gAq(a){var s=this.b.r +return s==null?14:s}, +gB2(a){return null}, +gCh(a){return null}, +gzh(a){return this.b.w}, +gB1(){return null}, +gB5(){return this.b.Q}, +gzw(a){return null}, +guF(){return null}, +gBE(){return null}} +A.Wh.prototype={ +gJ0(){var s=this.d,r=s.length +return r===0?this.e:s[r-1]}, +xO(a){this.d.push(new A.EQ(this.gJ0(),t.Q4.a(a)))}, +fM(){var s=this.d +if(s.length!==0)s.pop()}, +qf(a){var s=this,r=s.a.a+=a,q=s.gJ0().Si() +s.a7D(q) +s.c.push(new A.xN(q,r.length))}, +a7D(a){var s,r,q,p,o=this +if(!o.w)return +s=a.ax +if(s!=null&&s!==0){o.w=!1 +return}r=a.b +if(r!=null){q=r.a +q=B.e.a!==q}else q=!1 +if(q){o.w=!1 +return}p=a.as +if(p!=null&&p.length!==0){o.w=!1 +return}}, +bt(){var s,r=this,q=r.c +if(q.length===0)q.push(new A.xN(r.e.Si(),0)) +s=r.a.a +return new A.EM(q,r.b,s.charCodeAt(0)==0?s:s,r.w)}} +A.a_Q.prototype={ +jF(a){return this.adR(a)}, +adR(a0){var s=0,r=A.z(t.S7),q,p=this,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a +var $async$jF=A.A(function(a1,a2){if(a1===1)return A.w(a2,r) +while(true)switch(s){case 0:b=A.b([],t.Rh) +for(o=a0.a,n=o.length,m=0;m")) +a.q() +d=A.aHa(d) +c=A.a_(d) +s=new J.c1(d,d.length,c.h("c1<1>")) +s.q() +d=this.b +r=A.a_(d) +q=new J.c1(d,d.length,r.h("c1<1>")) +q.q() +p=a.d +if(p==null)p=b.c.a(p) +o=s.d +if(o==null)o=c.c.a(o) +n=q.d +if(n==null)n=r.c.a(n) +for(d=b.c,c=c.c,r=r.c,m=0;!0;m=j){b=p.b +l=o.b +k=n.c +j=Math.min(b,Math.min(l,k)) +i=b-j +h=i===0?p.c:B.r +g=j-m +e.push(A.amC(m,j,h,o.c,o.d,n,A.mH(p.d-i,0,g),A.mH(p.e-i,0,g))) +if(b===j){f=a.q() +if(f){p=a.d +if(p==null)p=d.a(p)}}else f=!1 +if(l===j)if(s.q()){o=s.d +if(o==null)o=c.a(o) +f=!0}if(k===j)if(q.q()){n=q.d +if(n==null)n=r.a(n) +f=!0}if(!f)break}return e}} +A.adO.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +return b instanceof A.hd&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d==s.d&&b.e===s.e&&b.f===s.f&&b.r===s.r&&b.w===s.w}} +A.hd.prototype={ +gu(a){return this.b-this.a}, +gEE(){return this.b-this.a===this.w}, +gjC(){return!1}, +yv(a){return B.d.ak(a.c,this.a,this.b-this.r)}, +u5(a,b){var s,r,q,p,o,n,m,l,k,j=this,i=j.a +if(i===b)return A.b([null,j],t.oA) +s=j.b +if(s===b)return A.b([j,null],t.oA) +r=s-b +q=j.r +p=Math.min(q,r) +o=j.w +n=Math.min(o,r) +m=j.d +l=j.e +k=j.f +return A.b([A.amC(i,b,B.r,m,l,k,q-p,o-n),A.amC(b,s,j.c,m,l,k,p,n)],t.cN)}, +i(a){var s=this +return B.Ru.i(0)+"("+s.a+", "+s.b+", "+s.c.i(0)+", "+A.h(s.d)+")"}} +A.af2.prototype={ +u1(a,b,c,d,e){var s=this +s.iA$=a +s.kG$=b +s.kH$=c +s.kI$=d +s.ck$=e}} +A.af3.prototype={ +gdY(a){var s,r,q=this,p=q.cc$ +p===$&&A.a() +s=q.hR$ +if(p.y===B.p){s===$&&A.a() +p=s}else{s===$&&A.a() +r=q.ck$ +r===$&&A.a() +r=p.a.f-(s+(r+q.cl$)) +p=r}return p}, +gl8(a){var s,r=this,q=r.cc$ +q===$&&A.a() +s=r.hR$ +if(q.y===B.p){s===$&&A.a() +q=r.ck$ +q===$&&A.a() +q=s+(q+r.cl$)}else{s===$&&A.a() +q=q.a.f-s}return q}, +adH(a){var s,r,q=this,p=q.cc$ +p===$&&A.a() +s=p.f +if(q.b>p.c-s)return +r=q.w +if(r===0)return +q.cl$=(a-p.a.f)/(p.r-s)*r}} +A.af1.prototype={ +gMR(){var s,r,q,p,o,n,m,l,k=this,j=k.wD$ +if(j===$){s=k.cc$ +s===$&&A.a() +r=k.gdY(0) +q=k.cc$.a +p=k.kG$ +p===$&&A.a() +o=k.gl8(0) +n=k.cc$ +m=k.kH$ +m===$&&A.a() +l=k.d +l.toString +k.wD$!==$&&A.a0() +j=k.wD$=new A.eh(s.a.r+r,q.w-p,q.r+o,n.a.w+m,l)}return j}, +SA(){var s,r,q,p,o,n,m,l,k,j,i=this,h=i.cc$ +h===$&&A.a() +if(i.b>h.c-h.f){s=i.d +s.toString +h=h.a.r +if(s===B.p){s=i.gdY(0) +r=i.cc$.a +q=i.kG$ +q===$&&A.a() +p=i.gl8(0) +o=i.ck$ +o===$&&A.a() +n=i.cl$ +m=i.kI$ +m===$&&A.a() +l=i.cc$ +k=i.kH$ +k===$&&A.a() +j=i.d +j.toString +j=new A.eh(h+s,r.w-q,r.r+p-(o+n-m),l.a.w+k,j) +h=j}else{s=i.gdY(0) +r=i.ck$ +r===$&&A.a() +q=i.cl$ +p=i.kI$ +p===$&&A.a() +o=i.cc$.a +n=i.kG$ +n===$&&A.a() +m=i.gl8(0) +l=i.cc$ +k=i.kH$ +k===$&&A.a() +j=i.d +j.toString +j=new A.eh(h+s+(r+q-p),o.w-n,o.r+m,l.a.w+k,j) +h=j}return h}return i.gMR()}, +tu(a,b){var s,r,q,p,o,n,m,l,k,j=this +if(b==null)b=j.a +if(a==null)a=j.b +s=j.a +r=b<=s +if(r&&a>=j.b-j.r)return j.gMR() +if(r)q=0 +else{r=j.iA$ +r===$&&A.a() +r.slS(j.f) +r=j.iA$ +q=A.mK($.pm(),r.a.c,s,b,r.c.a.ax)}s=j.b-j.r +if(a>=s)p=0 +else{r=j.iA$ +r===$&&A.a() +r.slS(j.f) +r=j.iA$ +p=A.mK($.pm(),r.a.c,a,s,r.c.a.ax)}s=j.d +s.toString +if(s===B.p){o=j.gdY(0)+q +n=j.gl8(0)-p}else{o=j.gdY(0)+p +n=j.gl8(0)-q}s=j.cc$ +s===$&&A.a() +s=s.a +r=s.r +s=s.w +m=j.kG$ +m===$&&A.a() +l=j.kH$ +l===$&&A.a() +k=j.d +k.toString +return new A.eh(r+o,s-m,r+n,s+l,k)}, +afR(){return this.tu(null,null)}, +Tz(a){var s,r,q,p,o,n,m,l,k=this +a=k.a49(a) +s=k.a +r=k.b-k.r +q=r-s +if(q===0)return new A.ap(s,B.n) +if(q===1){p=k.ck$ +p===$&&A.a() +return am){n=q+1 +n=p===n?null:new A.au(n,p)}else n=new A.au(q,p) +return n}, +Aw(a8,a9,b0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5=this,a6=null,a7=a5.cc$ +a7===$&&A.a() +s=a7.ghw() +a7=s[a9] +r=s[b0] +q=a5.tu(r,a7) +p=a9+1 +if(p===b0)return new A.iD(new A.D(q.a,q.b,q.c,q.d),new A.cj(a7,r),q.e) +o=q.a +n=a6 +m=q.c +n=m +l=o +if(lMath.abs(a8-B.c.hI(a8,h,p.c))?j:i}g=q.e +f=a8<=l +$label0$0:{e=B.p===g +d=e +c=a6 +b=a6 +if(d){a7=f +b=a7 +c=b}else a7=!1 +a=!a7 +a0=a6 +a1=a6 +if(a){a0=B.T===g +a2=a0 +if(a2){if(d){a7=b +a3=d}else{a7=f +b=a7 +a3=!0}a1=!1===a7 +a7=a1}else{a3=d +a7=!1}}else{a3=d +a2=!1 +a7=!0}if(a7){a7=new A.cj(s[a9],s[p]) +break $label0$0}if(e)if(a2)a7=a1 +else{if(a3)a7=b +else{a7=f +b=a7 +a3=!0}a1=!1===a7 +a7=a1}else a7=!1 +if(!a7){if(a)a7=a0 +else{a0=B.T===g +a7=a0}if(a7)if(d)a7=c +else{c=!0===(a3?b:f) +a7=c}else a7=!1}else a7=!0 +if(a7){a7=new A.cj(s[b0-1],s[b0]) +break $label0$0}a7=a6}r=a7.a +a4=a5.tu(a7.b,r) +return new A.iD(new A.D(a4.a,a4.b,a4.c,a4.d),a7,a4.e)}, +G5(a){var s,r=this.gyz(),q=r.a,p=null,o=r.b +p=o +s=q +return this.Aw(a,s,p)}} +A.vW.prototype={ +gEE(){return!1}, +gjC(){return!1}, +yv(a){var s=a.b.z +s.toString +return s}, +u5(a,b){throw A.c(A.c2("Cannot split an EllipsisFragment"))}} +A.rF.prototype={ +gGM(){var s=this.Q +if(s===$){s!==$&&A.a0() +s=this.Q=new A.KM(this.a)}return s}, +xH(a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=this,a2=a3.a +a1.b=a2 +a1.c=0 +a1.d=null +a1.f=a1.e=0 +a1.x=!1 +s=a1.y +B.b.J(s) +r=a1.a +q=A.arj(r,a1.gGM(),0,A.b([],t.cN),0,a2) +p=a1.as +if(p===$){p!==$&&A.a0() +p=a1.as=new A.a1y(r.a,r.c)}o=p.wL() +B.b.W(o,a1.gGM().gae9()) +$label0$0:for(n=0;nq.c;){if(q.ga96()){q.ad8() +s.push(q.bt()) +a1.x=!0 +break $label0$0}if(q.gadv())q.afy() +else q.abC() +n+=q.a8E(o,n+1) +s.push(q.bt()) +q=q.Rk()}a2=q.a +if(a2.length!==0){a2=B.b.gT(a2).c +a2=a2===B.bt||a2===B.bu}else a2=!1 +if(a2){s.push(q.bt()) +q=q.Rk()}}a2=r.b +l=a2.e +if(l!=null&&s.length>l){a1.x=!0 +B.b.th(s,l,s.length)}for(r=s.length,k=1/0,j=-1/0,i=0;ij)j=c}a1.z=new A.D(k,0,j,a1.c) +if(r!==0)if(isFinite(a1.b)&&a2.a===B.e1)for(n=0;n=d;--s){r=p[s] +r.hR$=e+o +if(r.d==null)r.d=a +q=r.ck$ +q===$&&A.a() +o+=q+r.cl$}return o}, +tI(){var s,r,q,p,o,n,m,l=A.b([],t.Lx) +for(s=this.y,r=s.length,q=0;q=b||a<0||b<0)return A.b([],t.Lx) +s=this.a.c.length +if(a>s||b>s)return A.b([],t.Lx) +r=A.b([],t.Lx) +for(q=this.y,p=q.length,o=0;o=r+j.w)return new A.ap(j.c-j.e,B.ap) +q=s-r +for(s=j.x,r=s.length,p=0;p=r+(q.gdY(0)+q.gl8(0))/2 +break +case 0:r=s<=r+(q.gdY(0)+q.gl8(0))/2 +break +default:r=i}else r=n +n=r}}l=q.G5(s) +if(n)return l +switch(q.d.a){case 1:r=!0 +break +case 0:r=!1 +break +default:r=i}p=q.cc$ +p===$&&A.a() +r=p.a9r(q,r) +k=r==null?i:r.G5(s) +if(k==null)return l +r=l.a +j=Math.min(Math.abs(r.a-s),Math.abs(r.c-s)) +r=k.a +return Math.min(Math.abs(r.a-s),Math.abs(r.c-s))>j?l:k}, +Jr(a){var s,r,q,p=this.y,o=p.length +if(o===0)return null +for(s=0;s1 +return this.as>0}, +ga8y(){var s=this.c-this.w,r=this.d.b +switch(r.a.a){case 2:return s/2 +case 1:return s +case 4:r=r.b +return(r==null?B.p:r)===B.T?s:0 +case 5:r=r.b +return(r==null?B.p:r)===B.T?0:s +default:return 0}}, +ga96(){var s,r=this.d.b +if(r.z==null)return!1 +s=r.e +return s==null||s===this.f+1}, +gZF(){var s=this.a +if(s.length!==0){s=B.b.gT(s).c +s=s===B.bt||s===B.bu}else s=!1 +if(s)return!1 +s=this.b +s=s==null?null:s.length!==0 +if(s===!0)return!1 +return!0}, +NV(a){var s=this +s.vx(a) +if(a.c!==B.r)s.Q=s.a.length +B.b.D(s.a,a)}, +vx(a){var s,r=this,q=a.w +r.at=r.at+q +if(a.gEE())r.ax+=q +else{r.ax=q +q=r.x +s=a.kI$ +s===$&&A.a() +r.w=q+s}q=r.x +s=a.ck$ +s===$&&A.a() +r.x=q+(s+a.cl$) +if(a.gjC())r.Z2(a) +if(a.c!==B.r)++r.as +q=r.y +s=a.kG$ +s===$&&A.a() +r.y=Math.max(q,s) +s=r.z +q=a.kH$ +q===$&&A.a() +r.z=Math.max(s,q)}, +Z2(a){var s,r,q,p,o,n=this,m=t.mX.a(a.f) +switch(m.gfq()){case B.vI:s=n.y +r=m.gaH(m).ad(0,n.y) +break +case B.iQ:s=m.gaH(m).ad(0,n.z) +r=n.z +break +case B.vJ:q=n.y +p=n.z +o=m.gaH(m).ds(0,2).ad(0,(q+p)/2) +s=B.c.a4(n.y,o) +r=B.c.a4(n.z,o) +break +case B.vG:s=m.gaH(m) +r=0 +break +case B.vH:r=m.gaH(m) +s=0 +break +case B.vF:s=m.gagI() +r=m.gaH(m).ad(0,s) +break +default:s=null +r=null}q=a.kI$ +q===$&&A.a() +p=a.ck$ +p===$&&A.a() +a.u1(n.e,s,r,q,p+a.cl$)}, +pX(){var s,r=this,q=r.as=r.ax=r.at=r.z=r.y=r.x=r.w=0 +r.Q=-1 +for(s=r.a;q1||a +q=B.b.gT(s) +if(q.gjC()){if(r){p=g.b +p.toString +B.b.jw(p,0,B.b.fa(s)) +g.pX()}return}p=g.e +p.slS(q.f) +o=g.x +n=q.ck$ +n===$&&A.a() +m=q.cl$ +l=q.b-q.r +k=p.Q7(q.a,l,r,b-(o-(n+m))) +if(k===l)return +B.b.fa(s) +g.pX() +j=q.u5(0,k) +i=B.b.gI(j) +if(i!=null){p.ET(i) +g.NV(i)}h=B.b.gT(j) +if(h!=null){p.ET(h) +s=g.b +s.toString +B.b.jw(s,0,h)}}, +abC(){return this.Q8(!1,null)}, +ad8(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=g.d.b.z +f.toString +g.b=A.b([],t.cN) +s=g.e +r=g.a +s.slS(B.b.gT(r).f) +q=$.pm() +p=f.length +o=A.mK(q,f,0,p,null) +n=g.c +m=Math.max(0,n-o) +while(!0){if(r.length>1){l=g.x +k=B.b.gT(r) +j=k.ck$ +j===$&&A.a() +k=l-(j+k.cl$) +l=k}else l=0 +if(!(l>m))break +l=g.b +l.toString +B.b.jw(l,0,B.b.fa(r)) +g.pX() +s.slS(B.b.gT(r).f) +o=A.mK(q,f,0,p,null) +m=n-o}i=B.b.gT(r) +g.Q8(!0,m) +f=g.gPN() +h=new A.vW($,$,$,$,$,$,$,$,$,0,B.bu,null,B.i_,i.f,0,0,f,f) +f=i.kG$ +f===$&&A.a() +r=i.kH$ +r===$&&A.a() +h.u1(s,f,r,o,o) +g.NV(h)}, +afy(){var s,r=this.a,q=r.length,p=q-2 +for(;r[p].c===B.r;)--p +s=p+1 +A.dm(s,q,q,null,null) +this.b=A.hr(r,s,q,A.a_(r).c).dm(0) +B.b.th(r,s,r.length) +this.pX()}, +a8E(a,b){var s,r=this,q=r.a,p=b +while(!0){s=!1 +if(r.gZF())if(p1;){p=B.f.c9(q+r,2) +o=A.mK($.pm(),s,a,p,this.c.a.ax) +if(od?q:p +r=p}}return q===a&&!c?q+1:q}} +A.lt.prototype={ +F(){return"LineBreakType."+this.b}} +A.Z7.prototype={ +wL(){return A.aHd(this.a)}} +A.ac8.prototype={ +wL(){var s=this.a +return A.av7(s,s,this.b)}} +A.ls.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +return b instanceof A.ls&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e}, +i(a){return"LineBreakFragment("+this.a+", "+this.b+", "+this.c.i(0)+")"}} +A.ajI.prototype={ +$2(a,b){var s=this,r=a===B.bu?s.b.length:s.a.f,q=s.a,p=q.a +if(p===B.cp)++q.d +else if(p===B.dj||p===B.eP||p===B.eT){++q.e;++q.d}if(a===B.r)return +p=q.c +s.c.push(new A.ls(a,q.e,q.d,p,r)) +q.c=q.f +q.d=q.e=0 +q.a=q.b=null}, +$S:499} +A.JS.prototype={ +l(){this.a.remove()}} +A.abq.prototype={ +aE(a,b){var s,r,q,p,o,n,m,l=this.a.gc1().y +for(s=l.length,r=0;r=1){o=B.b.c0(s,0,r-1) +n=o +if(t.EO.b(n)){q=s[r-1] instanceof A.vW +p=o}}if(!q){q=t.EO.b(s) +if(q)p=s}else q=!0 +if(q){q=(p&&B.b).gT(p).b +break $label0$0}q=null}m.d!==$&&A.a0() +l=m.d=q}return l}, +a0n(a){var s,r,q,p,o,n=A.b([],t.t) +for(s=a.length,r=this.b,q=!1,p=0;p0){s=q +continue}if(p<0){r=q +continue}return q}return r}, +Te(a){var s,r=this +if(a>=r.gmy()||r.ghw().length===0)return null +s=r.yy(a,0,r.ghw().length) +return new A.cj(r.ghw()[s],r.ghw()[s+1])}, +a9r(a,b){var s,r,q,p,o,n,m,l,k,j +for(s=this.x,r=s.length,q=null,p=0;p=this.gmy())break +if(o.gyz()==null)continue +if(b){n=a.cc$ +n===$&&A.a() +m=a.hR$ +if(n.y===B.p){m===$&&A.a() +n=m}else{m===$&&A.a() +l=a.ck$ +l===$&&A.a() +l=n.a.f-(m+(l+a.cl$)) +n=l}m=o.cc$ +m===$&&A.a() +l=o.hR$ +if(m.y===B.p){l===$&&A.a() +m=o.ck$ +m===$&&A.a() +m=l+(m+o.cl$)}else{l===$&&A.a() +m=m.a.f-l}k=n-m}else{n=o.cc$ +n===$&&A.a() +m=o.hR$ +if(n.y===B.p){m===$&&A.a() +n=m}else{m===$&&A.a() +l=o.ck$ +l===$&&A.a() +l=n.a.f-(m+(l+o.cl$)) +n=l}m=a.cc$ +m===$&&A.a() +l=a.hR$ +if(m.y===B.p){l===$&&A.a() +m=a.ck$ +m===$&&A.a() +m=l+(m+a.cl$)}else{l===$&&A.a() +m=m.a.f-l}k=n-m}j=q==null?null:q.a +$label0$1:{if(k>0)n=j==null||j>k +else n=!1 +if(n){q=new A.BH(k,o) +break $label0$1}if(k===0)return o +continue}}return q==null?null:q.b}, +a9q(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=null +if(g.ghw().length===0)return f +for(s=g.x,r=s.length,q=f,p=0,o=0;o=g.gmy())break +l=n.b +if(l-m===0)continue +for(;m>g.ghw()[p];)++p +if(g.ghw()[p]>=l)continue +m=n.cc$ +m===$&&A.a() +l=m.y===B.p +k=n.hR$ +if(l){k===$&&A.a() +j=k}else{k===$&&A.a() +j=n.ck$ +j===$&&A.a() +j=m.a.f-(k+(j+n.cl$))}if(aj){if(l){k===$&&A.a() +m=n.ck$ +m===$&&A.a() +m=k+(m+n.cl$)}else{k===$&&A.a() +m=m.a.f-k}i=a-m}else return n}h=q==null?f:q.a +if(h==null||h>i)q=new A.BH(i,n)}return q==null?f:q.b}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.e,s.f,s.r,s.w,s.x,s.y,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.iR)if(b.a.j(0,r.a))if(b.b===r.b)if(b.c===r.c)if(b.e===r.e)if(b.f===r.f)if(b.r===r.r)if(b.w===r.w)if(b.x===r.x)s=b.y===r.y +return s}, +i(a){return B.Rz.i(0)+"("+this.b+", "+this.c+", "+this.a.i(0)+")"}} +A.w0.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.w0&&b.a===s.a&&b.b==s.b&&b.c==s.c&&b.e==s.e&&b.f==s.f&&b.r==s.r&&b.w==s.w&&J.e(b.x,s.x)&&J.e(b.y,s.y)&&b.z==s.z&&J.e(b.Q,s.Q)}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return this.bA(0)}} +A.w1.prototype={ +gPF(){var s=this.y +return s.length===0?"sans-serif":s}, +gP9(){var s,r,q,p,o=this,n=o.dy +if(n==null){n=o.f +s=o.at +r=o.gPF() +q=n==null?null:A.aoi(n.a) +if(q==null)q="normal" +p=B.c.d0(s==null?14:s) +n=A.akr(r) +n.toString +n=o.dy="normal "+q+" "+p+"px "+n}return n}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.w1&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&b.d==s.d&&b.f==s.f&&b.w==s.w&&b.CW==s.CW&&b.y===s.y&&b.at==s.at&&b.ax==s.ax&&b.ay==s.ay&&b.ch==s.ch&&b.e==s.e&&J.e(b.cx,s.cx)&&b.cy==s.cy&&b.db==s.db&&A.hA(b.dx,s.dx)&&A.hA(b.z,s.z)&&A.hA(b.Q,s.Q)&&A.hA(b.as,s.as)}, +gt(a){var s=this,r=null,q=s.dx,p=s.as,o=s.z,n=o==null?r:A.bO(o),m=q==null?r:A.bO(q) +return A.P(s.a,s.b,s.c,s.d,s.f,s.r,s.w,s.CW,s.y,n,s.at,s.ax,s.ay,s.ch,s.cx,s.cy,s.db,m,s.e,A.P(r,p==null?r:A.bO(p),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a))}, +i(a){return this.bA(0)}} +A.zJ.prototype={ +j(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.zJ&&b.gt(0)===this.gt(0)}, +gt(a){var s,r=this,q=r.f +if(q===$){s=A.P(r.a,r.b,r.c,null,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a) +r.f!==$&&A.a0() +r.f=s +q=s}return q}} +A.aaW.prototype={} +A.L4.prototype={ +ga3C(){var s,r,q,p,o,n,m,l,k,j=this,i=j.d +if(i===$){s=A.aS(self.document,"div") +r=s.style +A.l(r,"visibility","hidden") +A.l(r,"position","absolute") +A.l(r,"top","0") +A.l(r,"left","0") +A.l(r,"display","flex") +A.l(r,"flex-direction","row") +A.l(r,"align-items","baseline") +A.l(r,"margin","0") +A.l(r,"border","0") +A.l(r,"padding","0") +r=j.e +q=j.a +p=q.a +o=r.a +n=o.style +A.l(n,"font-size",""+B.c.d0(q.b)+"px") +m=A.akr(p) +m.toString +A.l(n,"font-family",m) +l=q.c +if(l==null)k=p==="FlutterTest"?1:null +else k=l +if(k!=null)A.l(n,"line-height",B.c.i(k)) +r.b=null +A.l(o.style,"white-space","pre") +r.b=null +A.am6(o," ") +s.append(o) +r.b=null +j.b.a.append(s) +j.d!==$&&A.a0() +j.d=s +i=s}return i}, +gqh(a){var s,r=this,q=r.f +if(q===$){q=r.c +if(q===$){s=A.aS(self.document,"div") +r.ga3C().append(s) +r.c!==$&&A.a0() +r.c=s +q=s}q=q.getBoundingClientRect().bottom +r.f!==$&&A.a0() +r.f=q}return q}} +A.qb.prototype={ +F(){return"FragmentFlow."+this.b}} +A.mS.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +return b instanceof A.mS&&b.a===s.a&&b.b===s.b&&b.c==s.c&&b.d===s.d}, +i(a){return"BidiFragment("+this.a+", "+this.b+", "+A.h(this.c)+")"}} +A.Ap.prototype={ +F(){return"_ComparisonResult."+this.b}} +A.ck.prototype={ +a9v(a){if(athis.b)return B.SE +return B.SD}} +A.kb.prototype={ +wH(a,b,c){var s=A.Du(b,c) +return s==null?this.b:this.ob(s)}, +ob(a){var s,r,q,p,o=this +if(a==null)return o.b +s=o.c +r=s.k(0,a) +if(r!=null)return r +q=o.Zk(a) +p=q===-1?o.b:o.a[q].c +s.n(0,a,p) +return p}, +Zk(a){var s,r,q=this.a,p=q.length +for(s=0;s")).W(0,new A.YG(this,r)) +return r}} +A.YG.prototype={ +$1(a){var s=this.a,r=s.b.k(0,a) +r.toString +this.b.push(A.bX(r,"input",new A.YH(s,a,r)))}, +$S:176} +A.YH.prototype={ +$1(a){var s,r=this.a.c,q=this.b +if(r.k(0,q)==null)throw A.c(A.R("AutofillInfo must have a valid uniqueIdentifier.")) +else{r=r.k(0,q) +r.toString +s=A.aqC(this.c) +$.az().hn("flutter/textinput",B.ax.hP(new A.hg("TextInputClient.updateEditingStateWithTag",[0,A.an([r.b,s.Sz()],t.ob,t.z)])),A.U3())}}, +$S:1} +A.El.prototype={ +Oc(a,b){var s,r,q,p="password",o=this.d,n=this.e,m=globalThis.HTMLInputElement +if(m!=null&&a instanceof m){if(n!=null)a.placeholder=n +s=o==null +if(!s){a.name=o +a.id=o +if(B.d.p(o,p))A.Y2(a,p) +else A.Y2(a,"text")}r=s?"on":o +a.autocomplete=r}else{m=globalThis.HTMLTextAreaElement +if(m!=null&&a instanceof m){if(n!=null)a.placeholder=n +s=o==null +if(!s){a.name=o +a.id=o}q=A.a5(s?"on":o) +s=q==null?t.K.a(q):q +a.setAttribute("autocomplete",s)}}}, +dQ(a){return this.Oc(a,!1)}} +A.rE.prototype={} +A.pY.prototype={ +gxo(){return Math.min(this.b,this.c)}, +gxm(){return Math.max(this.b,this.c)}, +Sz(){var s=this +return A.an(["text",s.a,"selectionBase",s.b,"selectionExtent",s.c,"composingBase",s.d,"composingExtent",s.e],t.N,t.z)}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(A.t(s)!==J.T(b))return!1 +return b instanceof A.pY&&b.a==s.a&&b.gxo()===s.gxo()&&b.gxm()===s.gxm()&&b.d===s.d&&b.e===s.e}, +i(a){return this.bA(0)}, +dQ(a){var s,r,q=this,p=globalThis.HTMLInputElement +if(p!=null&&a instanceof p){a.toString +A.aqj(a,q.a) +s=q.gxo() +q=q.gxm() +a.setSelectionRange(s,q)}else{p=globalThis.HTMLTextAreaElement +if(p!=null&&a instanceof p){a.toString +A.aqn(a,q.a) +s=q.gxo() +q=q.gxm() +a.setSelectionRange(s,q)}else{r=a==null?null:A.aB1(a) +throw A.c(A.a1("Unsupported DOM element type: <"+A.h(r)+"> ("+J.T(a).i(0)+")"))}}}} +A.a0T.prototype={} +A.GH.prototype={ +i5(){var s,r=this,q=r.w +if(q!=null){s=r.c +s.toString +q.dQ(s)}q=r.d +q===$&&A.a() +if(q.x!=null){r.t8() +q=r.e +if(q!=null)q.dQ(r.c) +q=r.d.x +q=q==null?null:q.a +q.toString +A.cw(q,!0) +q=r.c +q.toString +A.cw(q,!0)}}} +A.rd.prototype={ +i5(){var s,r=this,q=r.w +if(q!=null){s=r.c +s.toString +q.dQ(s)}q=r.d +q===$&&A.a() +if(q.x!=null){r.t8() +q=r.c +q.toString +A.cw(q,!0) +q=r.e +if(q!=null){s=r.c +s.toString +q.dQ(s)}}}, +rw(){if(this.w!=null)this.i5() +var s=this.c +s.toString +A.cw(s,!0)}} +A.vu.prototype={ +ghO(){var s=null,r=this.f +if(r==null){r=this.e.a +r.toString +r=this.f=new A.rE(r,"",-1,-1,s,s,s,s)}return r}, +oj(a,b,c){var s,r,q=this,p="none",o="transparent",n=a.b.wf() +A.Y1(n,-1) +q.c=n +q.Cv(a) +n=q.c +n.classList.add("flt-text-editing") +s=n.style +A.l(s,"forced-color-adjust",p) +A.l(s,"white-space","pre-wrap") +A.l(s,"align-content","center") +A.l(s,"position","absolute") +A.l(s,"top","0") +A.l(s,"left","0") +A.l(s,"padding","0") +A.l(s,"opacity","1") +A.l(s,"color",o) +A.l(s,"background-color",o) +A.l(s,"background",o) +A.l(s,"caret-color",o) +A.l(s,"outline",p) +A.l(s,"border",p) +A.l(s,"resize",p) +A.l(s,"text-shadow",p) +A.l(s,"overflow","hidden") +A.l(s,"transform-origin","0 0 0") +if($.av().gbx()===B.bJ||$.av().gbx()===B.P)n.classList.add("transparentTextEditing") +n=q.r +if(n!=null){r=q.c +r.toString +n.dQ(r)}n=q.d +n===$&&A.a() +if(n.x==null){n=q.c +n.toString +A.ak1(n,a.a) +q.Q=!1}q.rw() +q.b=!0 +q.x=c +q.y=b}, +Cv(a){var s,r,q,p,o,n=this +n.d=a +s=n.c +if(a.d){s.toString +r=A.a5("readonly") +if(r==null)r=t.K.a(r) +s.setAttribute("readonly",r)}else s.removeAttribute("readonly") +if(a.e){s=n.c +s.toString +r=A.a5("password") +if(r==null)r=t.K.a(r) +s.setAttribute("type",r)}if(a.b.ghl()==="none"){s=n.c +s.toString +r=A.a5("none") +if(r==null)r=t.K.a(r) +s.setAttribute("inputmode",r)}q=A.aBk(a.c) +s=n.c +s.toString +q.a9G(s) +p=a.w +s=n.c +if(p!=null){s.toString +p.Oc(s,!0)}else{s.toString +r=A.a5("off") +if(r==null)r=t.K.a(r) +s.setAttribute("autocomplete",r) +r=n.c +r.toString +A.aHt(r,n.d.a)}o=a.f?"on":"off" +s=n.c +s.toString +r=A.a5(o) +if(r==null)r=t.K.a(r) +s.setAttribute("autocorrect",r)}, +rw(){this.i5()}, +qd(){var s,r,q=this,p=q.d +p===$&&A.a() +p=p.x +if(p!=null)B.b.L(q.z,p.qe()) +p=q.z +s=q.c +s.toString +r=q.gro() +p.push(A.bX(s,"input",r)) +s=q.c +s.toString +p.push(A.bX(s,"keydown",q.grW())) +p.push(A.bX(self.document,"selectionchange",r)) +r=q.c +r.toString +p.push(A.bX(r,"beforeinput",q.gwM())) +if(!(q instanceof A.rd)){s=q.c +s.toString +p.push(A.bX(s,"blur",q.gwN()))}p=q.c +p.toString +q.vI(p) +q.xN()}, +FU(a){var s,r=this +r.w=a +if(r.b)if(r.d$!=null){s=r.c +s.toString +a.dQ(s)}else r.i5()}, +FV(a){var s +this.r=a +if(this.b){s=this.c +s.toString +a.dQ(s)}}, +fz(a){var s,r,q,p=this,o=null +p.b=!1 +p.w=p.r=p.f=p.e=null +for(s=p.z,r=0;r=0&&a.c>=0) +else s=!0 +if(s)return +a.dQ(this.c)}, +i5(){var s=this.c +s.toString +A.cw(s,!0)}, +t8(){var s,r,q=this.d +q===$&&A.a() +q=q.x +q.toString +s=this.c +s.toString +if($.DV().gfg() instanceof A.rd)A.l(s.style,"pointer-events","all") +r=q.a +r.insertBefore(s,q.d) +A.ak1(r,q.f) +this.Q=!0}, +Qh(a){var s,r,q=this,p=q.c +p.toString +s=q.aaA(A.aqC(p)) +p=q.d +p===$&&A.a() +if(p.r){q.ghO().r=s.d +q.ghO().w=s.e +r=A.aF1(s,q.e,q.ghO())}else r=null +if(!s.j(0,q.e)){q.e=s +q.f=r +q.x.$2(s,r)}q.f=null}, +abG(a){var s,r,q,p=this,o=A.cO(a.data),n=A.cO(a.inputType) +if(n!=null){s=p.e +r=s.b +q=s.c +r=r>q?r:q +if(B.d.p(n,"delete")){p.ghO().b="" +p.ghO().d=r}else if(n==="insertLineBreak"){p.ghO().b="\n" +p.ghO().c=r +p.ghO().d=r}else if(o!=null){p.ghO().b=o +p.ghO().c=r +p.ghO().d=r}}}, +abH(a){var s,r,q,p=a.relatedTarget +if(p!=null){s=$.az() +r=s.gc_().rk(p) +q=this.c +q.toString +q=r==s.gc_().rk(q) +s=q}else s=!0 +if(s){s=this.c +s.toString +A.cw(s,!0)}}, +ae8(a){var s,r,q=globalThis.KeyboardEvent +if(q!=null&&a instanceof q)if(a.keyCode===13){s=this.y +s.toString +r=this.d +r===$&&A.a() +s.$1(r.c) +s=this.d +if(s.b instanceof A.xp&&s.c==="TextInputAction.newline")return +a.preventDefault()}}, +DC(a,b,c,d){var s,r=this +r.oj(b,c,d) +r.qd() +s=r.e +if(s!=null)r.Gy(s) +s=r.c +s.toString +A.cw(s,!0)}, +xN(){var s=this,r=s.z,q=s.c +q.toString +r.push(A.bX(q,"mousedown",new A.Xu())) +q=s.c +q.toString +r.push(A.bX(q,"mouseup",new A.Xv())) +q=s.c +q.toString +r.push(A.bX(q,"mousemove",new A.Xw()))}} +A.Xu.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.Xv.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.Xw.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.Xt.prototype={ +$0(){var s,r=this.a +if(J.e(r,self.document.activeElement)){s=this.b +if(s!=null)A.cw(s.gcu().a,!0)}if(this.c)r.remove()}, +$S:0} +A.a08.prototype={ +oj(a,b,c){var s,r=this +r.z1(a,b,c) +s=r.c +s.toString +a.b.OJ(s) +s=r.d +s===$&&A.a() +if(s.x!=null)r.t8() +s=r.c +s.toString +a.y.Gv(s)}, +rw(){A.l(this.c.style,"transform","translate(-9999px, -9999px)") +this.p1=!1}, +qd(){var s,r,q=this,p=q.d +p===$&&A.a() +p=p.x +if(p!=null)B.b.L(q.z,p.qe()) +p=q.z +s=q.c +s.toString +r=q.gro() +p.push(A.bX(s,"input",r)) +s=q.c +s.toString +p.push(A.bX(s,"keydown",q.grW())) +p.push(A.bX(self.document,"selectionchange",r)) +r=q.c +r.toString +p.push(A.bX(r,"beforeinput",q.gwM())) +r=q.c +r.toString +p.push(A.bX(r,"blur",q.gwN())) +r=q.c +r.toString +q.vI(r) +r=q.c +r.toString +p.push(A.bX(r,"focus",new A.a0b(q))) +q.YZ()}, +FU(a){var s=this +s.w=a +if(s.b&&s.p1)s.i5()}, +fz(a){var s +this.V3(0) +s=this.ok +if(s!=null)s.aA(0) +this.ok=null}, +YZ(){var s=this.c +s.toString +this.z.push(A.bX(s,"click",new A.a09(this)))}, +M2(){var s=this.ok +if(s!=null)s.aA(0) +this.ok=A.c7(B.aT,new A.a0a(this))}, +i5(){var s,r=this.c +r.toString +A.cw(r,!0) +r=this.w +if(r!=null){s=this.c +s.toString +r.dQ(s)}}} +A.a0b.prototype={ +$1(a){this.a.M2()}, +$S:1} +A.a09.prototype={ +$1(a){var s=this.a +if(s.p1){s.rw() +s.M2()}}, +$S:1} +A.a0a.prototype={ +$0(){var s=this.a +s.p1=!0 +s.i5()}, +$S:0} +A.US.prototype={ +oj(a,b,c){var s,r=this +r.z1(a,b,c) +s=r.c +s.toString +a.b.OJ(s) +s=r.d +s===$&&A.a() +if(s.x!=null)r.t8() +else{s=r.c +s.toString +A.ak1(s,a.a)}s=r.c +s.toString +a.y.Gv(s)}, +qd(){var s,r,q=this,p=q.d +p===$&&A.a() +p=p.x +if(p!=null)B.b.L(q.z,p.qe()) +p=q.z +s=q.c +s.toString +r=q.gro() +p.push(A.bX(s,"input",r)) +s=q.c +s.toString +p.push(A.bX(s,"keydown",q.grW())) +p.push(A.bX(self.document,"selectionchange",r)) +r=q.c +r.toString +p.push(A.bX(r,"beforeinput",q.gwM())) +r=q.c +r.toString +p.push(A.bX(r,"blur",q.gwN())) +r=q.c +r.toString +q.vI(r) +q.xN()}, +i5(){var s,r=this.c +r.toString +A.cw(r,!0) +r=this.w +if(r!=null){s=this.c +s.toString +r.dQ(s)}}} +A.Zh.prototype={ +oj(a,b,c){var s +this.z1(a,b,c) +s=this.d +s===$&&A.a() +if(s.x!=null)this.t8()}, +qd(){var s,r,q=this,p=q.d +p===$&&A.a() +p=p.x +if(p!=null)B.b.L(q.z,p.qe()) +p=q.z +s=q.c +s.toString +r=q.gro() +p.push(A.bX(s,"input",r)) +s=q.c +s.toString +p.push(A.bX(s,"keydown",q.grW())) +s=q.c +s.toString +p.push(A.bX(s,"beforeinput",q.gwM())) +s=q.c +s.toString +q.vI(s) +s=q.c +s.toString +p.push(A.bX(s,"keyup",new A.Zi(q))) +s=q.c +s.toString +p.push(A.bX(s,"select",r)) +r=q.c +r.toString +p.push(A.bX(r,"blur",q.gwN())) +q.xN()}, +i5(){var s,r=this,q=r.c +q.toString +A.cw(q,!0) +q=r.w +if(q!=null){s=r.c +s.toString +q.dQ(s)}q=r.e +if(q!=null){s=r.c +s.toString +q.dQ(s)}}} +A.Zi.prototype={ +$1(a){this.a.Qh(a)}, +$S:1} +A.ab9.prototype={} +A.abe.prototype={ +eM(a){var s=a.b +if(s!=null&&s!==this.a&&a.c){a.c=!1 +a.gfg().fz(0)}a.b=this.a +a.d=this.b}} +A.abl.prototype={ +eM(a){var s=a.gfg(),r=a.d +r.toString +s.Cv(r)}} +A.abg.prototype={ +eM(a){a.gfg().Gy(this.a)}} +A.abj.prototype={ +eM(a){if(!a.c)a.a79()}} +A.abf.prototype={ +eM(a){a.gfg().FU(this.a)}} +A.abi.prototype={ +eM(a){a.gfg().FV(this.a)}} +A.ab8.prototype={ +eM(a){if(a.c){a.c=!1 +a.gfg().fz(0)}}} +A.abb.prototype={ +eM(a){if(a.c){a.c=!1 +a.gfg().fz(0)}}} +A.abh.prototype={ +eM(a){}} +A.abd.prototype={ +eM(a){}} +A.abc.prototype={ +eM(a){}} +A.aba.prototype={ +eM(a){var s +if(a.c){a.c=!1 +a.gfg().fz(0) +a.gqw(0) +s=a.b +$.az().hn("flutter/textinput",B.ax.hP(new A.hg("TextInputClient.onConnectionClosed",[s])),A.U3())}if(this.a)A.aKi() +A.aIN()}} +A.al8.prototype={ +$2(a,b){var s=t.qr +s=A.eT(new A.ki(b.getElementsByClassName("submitBtn"),s),s.h("j.E"),t.e) +A.o(s).y[1].a(J.ip(s.a)).click()}, +$S:177} +A.aaX.prototype={ +acv(a,b){var s,r,q,p,o,n,m,l,k=B.ax.h9(a) +switch(k.a){case"TextInput.setClient":s=k.b +s.toString +t.Dn.a(s) +r=J.ax(s) +q=r.k(s,0) +q.toString +A.cl(q) +s=r.k(s,1) +s.toString +p=new A.abe(q,A.ar4(t.xE.a(s))) +break +case"TextInput.updateConfig":this.a.d=A.ar4(t.a.a(k.b)) +p=B.zs +break +case"TextInput.setEditingState":p=new A.abg(A.aqD(t.a.a(k.b))) +break +case"TextInput.show":p=B.zq +break +case"TextInput.setEditableSizeAndTransform":p=new A.abf(A.aBc(t.a.a(k.b))) +break +case"TextInput.setStyle":s=t.a.a(k.b) +r=J.ax(s) +o=A.cl(r.k(s,"textAlignIndex")) +n=A.cl(r.k(s,"textDirectionIndex")) +m=A.Dl(r.k(s,"fontWeightIndex")) +l=m!=null?A.aoi(m):"normal" +q=A.auh(r.k(s,"fontSize")) +if(q==null)q=null +p=new A.abi(new A.Yp(q,l,A.cO(r.k(s,"fontFamily")),B.Dz[o],B.ih[n])) +break +case"TextInput.clearClient":p=B.zl +break +case"TextInput.hide":p=B.zm +break +case"TextInput.requestAutofill":p=B.zn +break +case"TextInput.finishAutofillContext":p=new A.aba(A.kt(k.b)) +break +case"TextInput.setMarkedTextRect":p=B.zp +break +case"TextInput.setCaretRect":p=B.zo +break +default:$.az().dG(b,null) +return}p.eM(this.a) +new A.aaY(b).$0()}} +A.aaY.prototype={ +$0(){$.az().dG(this.a,B.S.bB([!0]))}, +$S:0} +A.a05.prototype={ +gqw(a){var s=this.a +if(s===$){s!==$&&A.a0() +s=this.a=new A.aaX(this)}return s}, +gfg(){var s,r,q,p=this,o=null,n=p.f +if(n===$){s=$.bi +if((s==null?$.bi=A.d1():s).b){s=A.aEt(p) +r=s}else{if($.av().gbZ()===B.an)q=new A.a08(p,A.b([],t.Up),$,$,$,o) +else if($.av().gbZ()===B.fc)q=new A.US(p,A.b([],t.Up),$,$,$,o) +else if($.av().gbx()===B.P)q=new A.rd(p,A.b([],t.Up),$,$,$,o) +else q=$.av().gbx()===B.b8?new A.Zh(p,A.b([],t.Up),$,$,$,o):A.aBS(p) +r=q}p.f!==$&&A.a0() +n=p.f=r}return n}, +a79(){var s,r,q=this +q.c=!0 +s=q.gfg() +r=q.d +r.toString +s.DC(0,r,new A.a06(q),new A.a07(q))}} +A.a07.prototype={ +$2(a,b){var s,r,q="flutter/textinput",p=this.a +if(p.d.r){p.gqw(0) +p=p.b +s=t.N +r=t.z +$.az().hn(q,B.ax.hP(new A.hg("TextInputClient.updateEditingStateWithDeltas",[p,A.an(["deltas",A.b([A.an(["oldText",b.a,"deltaText",b.b,"deltaStart",b.c,"deltaEnd",b.d,"selectionBase",b.e,"selectionExtent",b.f,"composingBase",b.r,"composingExtent",b.w],s,r)],t.gG)],s,r)])),A.U3())}else{p.gqw(0) +p=p.b +$.az().hn(q,B.ax.hP(new A.hg("TextInputClient.updateEditingState",[p,a.Sz()])),A.U3())}}, +$S:182} +A.a06.prototype={ +$1(a){var s=this.a +s.gqw(0) +s=s.b +$.az().hn("flutter/textinput",B.ax.hP(new A.hg("TextInputClient.performAction",[s,a])),A.U3())}, +$S:190} +A.Yp.prototype={ +dQ(a){var s=this,r=a.style +A.l(r,"text-align",A.aKC(s.d,s.e)) +A.l(r,"font",s.b+" "+A.h(s.a)+"px "+A.h(A.akr(s.c)))}} +A.Yn.prototype={ +dQ(a){var s=A.fk(this.c),r=a.style +A.l(r,"width",A.h(this.a)+"px") +A.l(r,"height",A.h(this.b)+"px") +A.l(r,"transform",s)}} +A.Yo.prototype={ +$1(a){return A.mE(a)}, +$S:175} +A.A0.prototype={ +F(){return"TransformKind."+this.b}} +A.akq.prototype={ +$1(a){return"0x"+B.d.mm(B.f.ia(a,16),2,"0")}, +$S:111} +A.Hy.prototype={ +gu(a){return this.b.b}, +k(a,b){var s=this.c.k(0,b) +return s==null?null:s.d.b}, +HO(a,b,c){var s,r,q,p=this.b +p.vK(new A.Qq(b,c)) +s=this.c +r=p.a +q=r.b.ur() +q.toString +s.n(0,b,q) +if(p.b>this.a){s.A(0,r.a.gr1().a) +p.fa(0)}}} +A.jn.prototype={ +j(a,b){if(b==null)return!1 +return b instanceof A.jn&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +FO(){return new A.K(this.a,this.b)}} +A.bq.prototype={ +Ys(){var s=this.a +s[15]=1 +s[0]=1 +s[5]=1 +s[10]=1}, +bc(a){var s=a.a,r=this.a +r[15]=s[15] +r[14]=s[14] +r[13]=s[13] +r[12]=s[12] +r[11]=s[11] +r[10]=s[10] +r[9]=s[9] +r[8]=s[8] +r[7]=s[7] +r[6]=s[6] +r[5]=s[5] +r[4]=s[4] +r[3]=s[3] +r[2]=s[2] +r[1]=s[1] +r[0]=s[0]}, +k(a,b){return this.a[b]}, +au(a,b,a0){var s=this.a,r=s[0],q=s[4],p=s[8],o=s[12],n=s[1],m=s[5],l=s[9],k=s[13],j=s[2],i=s[6],h=s[10],g=s[14],f=s[3],e=s[7],d=s[11],c=s[15] +s[12]=r*b+q*a0+p*0+o +s[13]=n*b+m*a0+l*0+k +s[14]=j*b+i*a0+h*0+g +s[15]=f*b+e*a0+d*0+c}, +afX(a,b){return this.au(0,b,0)}, +jV(a,b,c,d){var s=c==null?b:c,r=d==null?b:d,q=this.a +q[15]=q[15] +q[0]=q[0]*b +q[1]=q[1]*b +q[2]=q[2]*b +q[3]=q[3]*b +q[4]=q[4]*s +q[5]=q[5]*s +q[6]=q[6]*s +q[7]=q[7]*s +q[8]=q[8]*r +q[9]=q[9]*r +q[10]=q[10]*r +q[11]=q[11]*r +q[12]=q[12] +q[13]=q[13] +q[14]=q[14]}, +bf(a,b){return this.jV(0,b,null,null)}, +eq(a,b,c){return this.jV(0,b,c,null)}, +t7(a,b,c){var s=this.a,r=s[0],q=s[4],p=s[8],o=s[12],n=s[1],m=s[5],l=s[9],k=s[13],j=s[2],i=s[6],h=s[10],g=s[14],f=1/(s[3]*a+s[7]*b+s[11]*c+s[15]) +return new A.BK((r*a+q*b+p*c+o)*f,(n*a+m*b+l*c+k)*f,(j*a+i*b+h*c+g)*f)}, +rD(a){var s=this.a +return s[0]===1&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===1&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===1&&s[11]===0&&s[12]===0&&s[13]===0&&s[14]===0&&s[15]===1}, +Sr(b0,b1,b2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=b1.a,a0=b1.b,a1=b1.c,a2=Math.sqrt(a*a+a0*a0+a1*a1),a3=a/a2,a4=a0/a2,a5=a1/a2,a6=Math.cos(b2),a7=Math.sin(b2),a8=1-a6,a9=a3*a3*a8+a6 +a1=a5*a7 +s=a3*a4*a8-a1 +a0=a4*a7 +r=a3*a5*a8+a0 +q=a4*a3*a8+a1 +p=a4*a4*a8+a6 +a1=a3*a7 +o=a4*a5*a8-a1 +n=a5*a3*a8-a0 +m=a5*a4*a8+a1 +l=a5*a5*a8+a6 +a1=this.a +a0=a1[0] +a=a1[4] +k=a1[8] +j=a1[1] +i=a1[5] +h=a1[9] +g=a1[2] +f=a1[6] +e=a1[10] +d=a1[3] +c=a1[7] +b=a1[11] +a1[0]=a0*a9+a*q+k*n +a1[1]=j*a9+i*q+h*n +a1[2]=g*a9+f*q+e*n +a1[3]=d*a9+c*q+b*n +a1[4]=a0*s+a*p+k*m +a1[5]=j*s+i*p+h*m +a1[6]=g*s+f*p+e*m +a1[7]=d*s+c*p+b*m +a1[8]=a0*r+a*o+k*l +a1[9]=j*r+i*o+h*l +a1[10]=g*r+f*o+e*l +a1[11]=d*r+c*o+b*l}, +j1(a,b,c){var s=this.a +s[14]=c +s[13]=b +s[12]=a}, +dB(b5){var s,r,q,p,o=b5.a,n=o[0],m=o[1],l=o[2],k=o[3],j=o[4],i=o[5],h=o[6],g=o[7],f=o[8],e=o[9],d=o[10],c=o[11],b=o[12],a=o[13],a0=o[14],a1=o[15],a2=n*i-m*j,a3=n*h-l*j,a4=n*g-k*j,a5=m*h-l*i,a6=m*g-k*i,a7=l*g-k*h,a8=f*a-e*b,a9=f*a0-d*b,b0=f*a1-c*b,b1=e*a0-d*a,b2=e*a1-c*a,b3=d*a1-c*a0,b4=a2*b3-a3*b2+a4*b1+a5*b0-a6*a9+a7*a8 +if(b4===0){this.bc(b5) +return 0}s=1/b4 +r=this.a +r[0]=(i*b3-h*b2+g*b1)*s +r[1]=(-m*b3+l*b2-k*b1)*s +r[2]=(a*a7-a0*a6+a1*a5)*s +r[3]=(-e*a7+d*a6-c*a5)*s +q=-j +r[4]=(q*b3+h*b0-g*a9)*s +r[5]=(n*b3-l*b0+k*a9)*s +p=-b +r[6]=(p*a7+a0*a4-a1*a3)*s +r[7]=(f*a7-d*a4+c*a3)*s +r[8]=(j*b2-i*b0+g*a8)*s +r[9]=(-n*b2+m*b0-k*a8)*s +r[10]=(b*a6-a*a4+a1*a2)*s +r[11]=(-f*a6+e*a4-c*a2)*s +r[12]=(q*b1+i*a9-h*a8)*s +r[13]=(n*b1-m*a9+l*a8)*s +r[14]=(p*a5+a*a3-a0*a2)*s +r[15]=(f*a5-e*a3+d*a2)*s +return b4}, +cs(b5,b6){var s=this.a,r=s[15],q=s[0],p=s[4],o=s[8],n=s[12],m=s[1],l=s[5],k=s[9],j=s[13],i=s[2],h=s[6],g=s[10],f=s[14],e=s[3],d=s[7],c=s[11],b=b6.a,a=b[15],a0=b[0],a1=b[4],a2=b[8],a3=b[12],a4=b[1],a5=b[5],a6=b[9],a7=b[13],a8=b[2],a9=b[6],b0=b[10],b1=b[14],b2=b[3],b3=b[7],b4=b[11] +s[0]=q*a0+p*a4+o*a8+n*b2 +s[4]=q*a1+p*a5+o*a9+n*b3 +s[8]=q*a2+p*a6+o*b0+n*b4 +s[12]=q*a3+p*a7+o*b1+n*a +s[1]=m*a0+l*a4+k*a8+j*b2 +s[5]=m*a1+l*a5+k*a9+j*b3 +s[9]=m*a2+l*a6+k*b0+j*b4 +s[13]=m*a3+l*a7+k*b1+j*a +s[2]=i*a0+h*a4+g*a8+f*b2 +s[6]=i*a1+h*a5+g*a9+f*b3 +s[10]=i*a2+h*a6+g*b0+f*b4 +s[14]=i*a3+h*a7+g*b1+f*a +s[3]=e*a0+d*a4+c*a8+r*b2 +s[7]=e*a1+d*a5+c*a9+r*b3 +s[11]=e*a2+d*a6+c*b0+r*b4 +s[15]=e*a3+d*a7+c*b1+r*a}, +rZ(a){var s=new A.bq(new Float32Array(16)) +s.bc(this) +s.cs(0,a) +return s}, +SE(a){var s=a[0],r=a[1],q=this.a +a[0]=q[0]*s+q[4]*r+q[12] +a[1]=q[1]*s+q[5]*r+q[13]}, +i(a){return this.bA(0)}} +A.Ze.prototype={ +SD(a,b,c){var s=this.a +this.b=s[12]+s[0]*b+s[4]*c +this.c=s[13]+s[1]*b+s[5]*c}} +A.Xg.prototype={ +Yj(a,b){var s=this,r=b.hZ(new A.Xh(s)) +s.d=r +r=A.aJc(new A.Xi(s)) +s.c=r +r.observe(s.b)}, +aM(a){var s,r=this +r.GY(0) +s=r.c +s===$&&A.a() +s.disconnect() +s=r.d +s===$&&A.a() +if(s!=null)s.aA(0) +r.e.aM(0)}, +gRr(a){var s=this.e +return new A.c0(s,A.o(s).h("c0<1>"))}, +CO(){var s,r=$.br().d +if(r==null){s=self.window.devicePixelRatio +r=s===0?1:s}s=this.b +return new A.K(s.clientWidth*r,s.clientHeight*r)}, +OG(a,b){return B.cK}} +A.Xh.prototype={ +$1(a){this.a.e.D(0,null)}, +$S:83} +A.Xi.prototype={ +$2(a,b){var s,r,q,p +for(s=a.$ti,r=new A.bR(a,a.gu(0),s.h("bR")),q=this.a.e,s=s.h("X.E");r.q();){p=r.d +if(p==null)s.a(p) +if(!q.gly())A.ab(q.lo()) +q.jc(null)}}, +$S:194} +A.FI.prototype={ +aM(a){}} +A.GB.prototype={ +a55(a){this.c.D(0,null)}, +aM(a){var s +this.GY(0) +s=this.b +s===$&&A.a() +s.b.removeEventListener(s.a,s.c) +this.c.aM(0)}, +gRr(a){var s=this.c +return new A.c0(s,A.o(s).h("c0<1>"))}, +CO(){var s,r,q=A.bk("windowInnerWidth"),p=A.bk("windowInnerHeight"),o=self.window.visualViewport,n=$.br().d +if(n==null){s=self.window.devicePixelRatio +n=s===0?1:s}if(o!=null)if($.av().gbZ()===B.an){s=self.document.documentElement.clientWidth +r=self.document.documentElement.clientHeight +q.b=s*n +p.b=r*n}else{s=o.width +if(s==null)s=null +s.toString +q.b=s*n +s=A.aqx(o) +s.toString +p.b=s*n}else{s=self.window.innerWidth +if(s==null)s=null +s.toString +q.b=s*n +s=A.aqA(self.window) +s.toString +p.b=s*n}return new A.K(q.aP(),p.aP())}, +OG(a,b){var s,r,q,p=$.br().d +if(p==null){s=self.window.devicePixelRatio +p=s===0?1:s}r=self.window.visualViewport +q=A.bk("windowInnerHeight") +if(r!=null)if($.av().gbZ()===B.an&&!b)q.b=self.document.documentElement.clientHeight*p +else{s=A.aqx(r) +s.toString +q.b=s*p}else{s=A.aqA(self.window) +s.toString +q.b=s*p}return new A.LD(0,0,0,a-q.aP())}} +A.FO.prototype={ +MG(){var s,r,q,p=A.ama(self.window,"(resolution: "+A.h(this.b)+"dppx)") +this.d=p +s=A.bb(this.ga4E()) +r=t.K +q=A.a5(A.an(["once",!0,"passive",!0],t.N,r)) +r=q==null?r.a(q):q +p.addEventListener("change",s,r)}, +a4F(a){var s=this,r=s.a.d +if(r==null){r=self.window.devicePixelRatio +if(r===0)r=1}s.b=r +s.c.D(0,r) +s.MG()}} +A.Y3.prototype={ +QG(a){var s,r=$.DQ().b.k(0,a) +if(r==null){self.window.console.debug("Failed to inject Platform View Id: "+a+". Render seems to be happening before a `flutter/platform_views:create` platform message!") +return}s=this.b +if(J.e(r.parentElement,s))return +s.append(r)}} +A.Xj.prototype={ +gyx(){var s=this.b +s===$&&A.a() +return s}, +Oj(a){A.l(a.style,"width","100%") +A.l(a.style,"height","100%") +A.l(a.style,"display","block") +A.l(a.style,"overflow","hidden") +A.l(a.style,"position","relative") +A.l(a.style,"touch-action","none") +this.a.appendChild(a) +$.alp() +this.b!==$&&A.bz() +this.b=a}, +gof(){return this.a}} +A.a_0.prototype={ +gyx(){return self.window}, +Oj(a){var s=a.style +A.l(s,"position","absolute") +A.l(s,"top","0") +A.l(s,"right","0") +A.l(s,"bottom","0") +A.l(s,"left","0") +this.a.append(a) +$.alp()}, +Zh(){var s,r,q +for(s=t.qr,s=A.eT(new A.ki(self.document.head.querySelectorAll('meta[name="viewport"]'),s),s.h("j.E"),t.e),r=J.al(s.a),s=A.o(s).y[1];r.q();)s.a(r.gG(r)).remove() +q=A.aS(self.document,"meta") +s=A.a5("") +if(s==null)s=t.K.a(s) +q.setAttribute("flt-viewport",s) +q.name="viewport" +q.content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" +self.document.head.append(q) +$.alp()}, +gof(){return this.a}} +A.wj.prototype={ +k(a,b){return this.b.k(0,b)}, +S3(a,b){var s=a.a +this.b.n(0,s,a) +if(b!=null)this.c.n(0,s,b) +this.d.D(0,s) +return a}, +afd(a){return this.S3(a,null)}, +Pu(a){var s,r=this.b,q=r.k(0,a) +if(q==null)return null +r.A(0,a) +s=this.c.A(0,a) +this.e.D(0,a) +q.l() +return s}, +rk(a){var s,r,q,p=null,o=a==null?p:a.closest("flutter-view[flt-view-id]") +if(o==null)s=p +else{r=o.getAttribute("flt-view-id") +s=r==null?p:r}q=s==null?p:A.il(s,p) +return q==null?p:this.b.k(0,q)}} +A.a_v.prototype={} +A.ak0.prototype={ +$0(){return null}, +$S:196} +A.jw.prototype={ +HL(a,b,c,d){var s,r,q,p=this,o=p.c +o.Oj(p.gcu().a) +s=$.amA +s=s==null?null:s.gA_() +s=new A.a6r(p,new A.a6s(),s) +r=$.av().gbx()===B.P&&$.av().gbZ()===B.an +if(r){r=$.awY() +s.a=r +r.age()}s.f=s.a_p() +p.z!==$&&A.bz() +p.z=s +s=p.ch +s=s.gRr(s).hZ(p.ga_Q()) +p.d!==$&&A.bz() +p.d=s +q=p.r +if(q===$){s=p.gcu() +o=o.gof() +p.r!==$&&A.a0() +q=p.r=new A.a_v(s.a,o)}o=$.am().gFF() +s=A.a5(p.a) +if(s==null)s=t.K.a(s) +q.a.setAttribute("flt-view-id",s) +s=q.b +o=A.a5(o+" (auto-selected)") +if(o==null)o=t.K.a(o) +s.setAttribute("flt-renderer",o) +o=A.a5("release") +if(o==null)o=t.K.a(o) +s.setAttribute("flt-build-mode",o) +o=A.a5("false") +if(o==null)o=t.K.a(o) +s.setAttribute("spellcheck",o) +$.ky.push(p.gkx())}, +l(){var s,r,q=this +if(q.f)return +q.f=!0 +s=q.d +s===$&&A.a() +s.aA(0) +q.ch.aM(0) +s=q.z +s===$&&A.a() +r=s.f +r===$&&A.a() +r.l() +s=s.a +if(s!=null)if(s.a!=null){A.cB(self.document,"touchstart",s.a,null) +s.a=null}q.gcu().a.remove() +$.am().OB() +q.gGu().eK(0)}, +gOL(){var s,r=this,q=r.x +if(q===$){s=r.gcu() +r.x!==$&&A.a0() +q=r.x=new A.X5(s.a)}return q}, +gcu(){var s,r,q,p,o,n,m,l,k="flutter-view",j=this.y +if(j===$){s=$.br().d +if(s==null){s=self.window.devicePixelRatio +if(s===0)s=1}r=A.aS(self.document,k) +q=A.aS(self.document,"flt-glass-pane") +p=A.a5(A.an(["mode","open","delegatesFocus",!1],t.N,t.z)) +if(p==null)p=t.K.a(p) +p=q.attachShadow(p) +o=A.aS(self.document,"flt-scene-host") +n=A.aS(self.document,"flt-text-editing-host") +m=A.aS(self.document,"flt-semantics-host") +r.appendChild(q) +r.appendChild(n) +r.appendChild(m) +p.append(o) +l=A.df().b +A.asO(k,r,"flt-text-editing-stylesheet",l==null?null:A.ard(l)) +l=A.df().b +A.asO("",p,"flt-internals-stylesheet",l==null?null:A.ard(l)) +l=A.df().gD9() +A.l(o.style,"pointer-events","none") +if(l)A.l(o.style,"opacity","0.3") +l=m.style +A.l(l,"position","absolute") +A.l(l,"transform-origin","0 0 0") +A.l(m.style,"transform","scale("+A.h(1/s)+")") +this.y!==$&&A.a0() +j=this.y=new A.Y3(r,q,p,o,n,m)}return j}, +gGu(){var s,r=this,q=r.as +if(q===$){s=A.aBn(r.gcu().f) +r.as!==$&&A.a0() +r.as=s +q=s}return q}, +gjJ(){var s=this.at +return s==null?this.at=this.zU():s}, +zU(){var s=this.ch.CO() +return s}, +a_R(a){var s,r=this,q=r.gcu(),p=$.br().d +if(p==null){p=self.window.devicePixelRatio +if(p===0)p=1}A.l(q.f.style,"transform","scale("+A.h(1/p)+")") +s=r.zU() +if(!B.jf.p(0,$.av().gbZ())&&!r.a3V(s)&&$.DV().c)r.IM(!0) +else{r.at=s +r.IM(!1)}r.b.EA()}, +a3V(a){var s,r,q=this.at +if(q!=null){s=q.b +r=a.b +if(s!==r&&q.a!==a.a){q=q.a +if(!(s>q&&rs&&a.a").bg(b).h("bL<1,2>"))}, +D(a,b){if(!!a.fixed$length)A.ab(A.a1("add")) +a.push(b)}, +f9(a,b){if(!!a.fixed$length)A.ab(A.a1("removeAt")) +if(b<0||b>=a.length)throw A.c(A.a6O(b,null)) +return a.splice(b,1)[0]}, +jw(a,b,c){if(!!a.fixed$length)A.ab(A.a1("insert")) +if(b<0||b>a.length)throw A.c(A.a6O(b,null)) +a.splice(b,0,c)}, +Ev(a,b,c){var s,r +if(!!a.fixed$length)A.ab(A.a1("insertAll")) +A.as9(b,0,a.length,"index") +if(!t.Ee.b(c))c=J.alz(c) +s=J.cs(c) +a.length=a.length+s +r=b+s +this.bz(a,r,a.length,a,b) +this.e1(a,b,r,c)}, +fa(a){if(!!a.fixed$length)A.ab(A.a1("removeLast")) +if(a.length===0)throw A.c(A.uf(a,-1)) +return a.pop()}, +A(a,b){var s +if(!!a.fixed$length)A.ab(A.a1("remove")) +for(s=0;s"))}, +L(a,b){var s +if(!!a.fixed$length)A.ab(A.a1("addAll")) +if(Array.isArray(b)){this.YQ(a,b) +return}for(s=J.al(b);s.q();)a.push(s.gG(s))}, +YQ(a,b){var s,r=b.length +if(r===0)return +if(a===b)throw A.c(A.bM(a)) +for(s=0;s").bg(c).h("aw<1,2>"))}, +bD(a,b){var s,r=A.bc(a.length,"",!1,t.N) +for(s=0;ss)throw A.c(A.cb(b,0,s,"start",null)) +if(c==null)c=s +else if(cs)throw A.c(A.cb(c,b,s,"end",null)) +if(b===c)return A.b([],A.a_(a)) +return A.b(a.slice(b,c),A.a_(a))}, +fU(a,b){return this.c0(a,b,null)}, +tQ(a,b,c){A.dm(b,c,a.length,null,null) +return A.hr(a,b,c,A.a_(a).c)}, +gI(a){if(a.length>0)return a[0] +throw A.c(A.bB())}, +gT(a){var s=a.length +if(s>0)return a[s-1] +throw A.c(A.bB())}, +gap(a){var s=a.length +if(s===1)return a[0] +if(s===0)throw A.c(A.bB()) +throw A.c(A.ln())}, +th(a,b,c){if(!!a.fixed$length)A.ab(A.a1("removeRange")) +A.dm(b,c,a.length,null,null) +a.splice(b,c-b)}, +bz(a,b,c,d,e){var s,r,q,p,o +if(!!a.immutable$list)A.ab(A.a1("setRange")) +A.dm(b,c,a.length,null,null) +s=c-b +if(s===0)return +A.dA(e,"skipCount") +if(t.j.b(d)){r=d +q=e}else{p=J.pq(d,e) +r=p.dn(p,!1) +q=0}p=J.ax(r) +if(q+s>p.gu(r))throw A.c(A.ar5()) +if(q=0;--o)a[b+o]=p.k(r,q+o) +else for(o=0;o0){a[0]=q +a[1]=r}return}p=0 +if(A.a_(a).c.b(null))for(o=0;o0)this.a5Y(a,p)}, +hy(a){return this.er(a,null)}, +a5Y(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}}, +jv(a,b){var s,r=a.length +if(0>=r)return-1 +for(s=0;s"))}, +gt(a){return A.f8(a)}, +gu(a){return a.length}, +su(a,b){if(!!a.fixed$length)A.ab(A.a1("set length")) +if(b<0)throw A.c(A.cb(b,0,null,"newLength",null)) +if(b>a.length)A.a_(a).c.a(null) +a.length=b}, +k(a,b){if(!(b>=0&&b=0&&b=a.length)return-1 +for(s=c;s=p){r.d=null +return!1}r.d=q[s] +r.c=s+1 +return!0}} +J.lr.prototype={ +b9(a,b){var s +if(ab)return 1 +else if(a===b){if(a===0){s=this.grE(b) +if(this.grE(a)===s)return 0 +if(this.grE(a))return-1 +return 1}return 0}else if(isNaN(a)){if(isNaN(b))return 0 +return 1}else return-1}, +grE(a){return a===0?1/a<0:a<0}, +gGH(a){var s +if(a>0)s=1 +else s=a<0?-1:a +return s}, +P(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.c(A.a1(""+a+".toInt()"))}, +d4(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.c(A.a1(""+a+".ceil()"))}, +d0(a){var s,r +if(a>=0){if(a<=2147483647)return a|0}else if(a>=-2147483648){s=a|0 +return a===s?s:s-1}r=Math.floor(a) +if(isFinite(r))return r +throw A.c(A.a1(""+a+".floor()"))}, +a2(a){if(a>0){if(a!==1/0)return Math.round(a)}else if(a>-1/0)return 0-Math.round(0-a) +throw A.c(A.a1(""+a+".round()"))}, +Ss(a){if(a<0)return-Math.round(-a) +else return Math.round(a)}, +hI(a,b,c){if(this.b9(b,c)>0)throw A.c(A.uc(b)) +if(this.b9(a,b)<0)return b +if(this.b9(a,c)>0)return c +return a}, +R(a,b){var s +if(b>20)throw A.c(A.cb(b,0,20,"fractionDigits",null)) +s=a.toFixed(b) +if(a===0&&this.grE(a))return"-"+s +return s}, +afQ(a,b){var s +if(b<1||b>21)throw A.c(A.cb(b,1,21,"precision",null)) +s=a.toPrecision(b) +if(a===0&&this.grE(a))return"-"+s +return s}, +ia(a,b){var s,r,q,p +if(b<2||b>36)throw A.c(A.cb(b,2,36,"radix",null)) +s=a.toString(b) +if(s.charCodeAt(s.length-1)!==41)return s +r=/^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(s) +if(r==null)A.ab(A.a1("Unexpected toString result: "+s)) +s=r[1] +q=+r[3] +p=r[2] +if(p!=null){s+=p +q-=p.length}return s+B.d.ac("0",q)}, +i(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +gt(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}, +a4(a,b){return a+b}, +ad(a,b){return a-b}, +ac(a,b){return a*b}, +bp(a,b){var s=a%b +if(s===0)return 0 +if(s>0)return s +if(b<0)return s-b +else return s+b}, +eR(a,b){if((a|0)===a)if(b>=1||b<-1)return a/b|0 +return this.MM(a,b)}, +c9(a,b){return(a|0)===a?a/b|0:this.MM(a,b)}, +MM(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.c(A.a1("Result of truncating division is "+A.h(s)+": "+A.h(a)+" ~/ "+A.h(b)))}, +Uk(a,b){if(b<0)throw A.c(A.uc(b)) +return b>31?0:a<>>0}, +a6S(a,b){return b>31?0:a<>>0}, +dw(a,b){var s +if(a>0)s=this.Mw(a,b) +else{s=b>31?31:b +s=a>>s>>>0}return s}, +a7_(a,b){if(0>b)throw A.c(A.uc(b)) +return this.Mw(a,b)}, +Mw(a,b){return b>31?0:a>>>b}, +nr(a,b){if(b>31)return 0 +return a>>>b}, +gcJ(a){return A.bU(t.Jy)}, +$icv:1, +$iQ:1, +$ibV:1} +J.qv.prototype={ +gGH(a){var s +if(a>0)s=1 +else s=a<0?-1:a +return s}, +gcJ(a){return A.bU(t.S)}, +$ic_:1, +$ip:1} +J.wS.prototype={ +gcJ(a){return A.bU(t.i)}, +$ic_:1} +J.jH.prototype={ +nJ(a,b){if(b<0)throw A.c(A.uf(a,b)) +if(b>=a.length)A.ab(A.uf(a,b)) +return a.charCodeAt(b)}, +xj(a,b,c){var s,r,q=null +if(c<0||c>b.length)throw A.c(A.cb(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.fh(a,r-s)}, +u5(a,b){var s=A.b(a.split(b),t.s) +return s}, +oF(a,b,c,d){var s=A.dm(b,c,a.length,null,null) +return A.aw_(a,b,s,d)}, +e4(a,b,c){var s +if(c<0||c>a.length)throw A.c(A.cb(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.azc(b,a,c)!=null}, +bW(a,b){return this.e4(a,b,0)}, +ak(a,b,c){return a.substring(b,A.dm(b,c,a.length,null,null))}, +fh(a,b){return this.ak(a,b,null)}, +FR(a){var s,r,q,p=a.trim(),o=p.length +if(o===0)return p +if(p.charCodeAt(0)===133){s=J.arb(p,1) +if(s===o)return""}else s=0 +r=o-1 +q=p.charCodeAt(r)===133?J.arc(p,r):o +if(s===0&&q===o)return p +return p.substring(s,q)}, +afZ(a){var s=a.trimStart() +if(s.length===0)return s +if(s.charCodeAt(0)!==133)return s +return s.substring(J.arb(s,1))}, +yd(a){var s,r=a.trimEnd(),q=r.length +if(q===0)return r +s=q-1 +if(r.charCodeAt(s)!==133)return r +return r.substring(0,J.arc(r,s))}, +ac(a,b){var s,r +if(0>=b)return"" +if(b===1||a.length===0)return a +if(b!==b>>>0)throw A.c(B.z8) +for(s=a,r="";!0;){if((b&1)===1)r=s+r +b=b>>>1 +if(b===0)break +s+=s}return r}, +mm(a,b,c){var s=b-a.length +if(s<=0)return a +return this.ac(c,s)+a}, +oh(a,b,c){var s,r,q,p +if(c<0||c>a.length)throw A.c(A.cb(c,0,a.length,null,null)) +if(typeof b=="string")return a.indexOf(b,c) +if(b instanceof A.H8){s=b.Jm(a,c) +return s==null?-1:s.b.index}for(r=a.length,q=J.Dv(b),p=c;p<=r;++p)if(q.xj(b,a,p)!=null)return p +return-1}, +jv(a,b){return this.oh(a,b,0)}, +EK(a,b){var s,r,q=a.length +if(typeof b=="string"){s=b.length +if(q+s>q)q-=s +return a.lastIndexOf(b,q)}for(s=J.Dv(b),r=q;r>=0;--r)if(s.xj(b,a,r)!=null)return r +return-1}, +a9I(a,b,c){var s=a.length +if(c>s)throw A.c(A.cb(c,0,s,null,null)) +return A.aoF(a,b,c)}, +p(a,b){return this.a9I(a,b,0)}, +b9(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}, +gcJ(a){return A.bU(t.N)}, +gu(a){return a.length}, +k(a,b){if(!(b>=0&&b"))}, +gu(a){return J.cs(this.gew())}, +gM(a){return J.fX(this.gew())}, +gbd(a){return J.fY(this.gew())}, +fS(a,b){var s=A.o(this) +return A.eT(J.pq(this.gew(),b),s.c,s.y[1])}, +aN(a,b){return A.o(this).y[1].a(J.pp(this.gew(),b))}, +gI(a){return A.o(this).y[1].a(J.ip(this.gew()))}, +gT(a){return A.o(this).y[1].a(J.DX(this.gew()))}, +gap(a){return A.o(this).y[1].a(J.DY(this.gew()))}, +p(a,b){return J.po(this.gew(),b)}, +i(a){return J.en(this.gew())}} +A.EN.prototype={ +q(){return this.a.q()}, +gG(a){var s=this.a +return this.$ti.y[1].a(s.gG(s))}} +A.mY.prototype={ +dg(a,b){return A.eT(this.a,A.o(this).c,b)}, +gew(){return this.a}} +A.AJ.prototype={$iW:1} +A.Am.prototype={ +k(a,b){return this.$ti.y[1].a(J.b5(this.a,b))}, +n(a,b,c){J.fW(this.a,b,this.$ti.c.a(c))}, +su(a,b){J.azj(this.a,b)}, +D(a,b){J.em(this.a,this.$ti.c.a(b))}, +A(a,b){return J.kK(this.a,b)}, +fa(a){return this.$ti.y[1].a(J.azh(this.a))}, +tQ(a,b,c){var s=this.$ti +return A.eT(J.az7(this.a,b,c),s.c,s.y[1])}, +bz(a,b,c,d,e){var s=this.$ti +J.azk(this.a,b,c,A.eT(d,s.y[1],s.c),e)}, +e1(a,b,c,d){return this.bz(0,b,c,d,0)}, +$iW:1, +$iO:1} +A.bL.prototype={ +dg(a,b){return new A.bL(this.a,this.$ti.h("@<1>").bg(b).h("bL<1,2>"))}, +gew(){return this.a}} +A.kX.prototype={ +dg(a,b){return new A.kX(this.a,this.b,this.$ti.h("@<1>").bg(b).h("kX<1,2>"))}, +D(a,b){return this.a.D(0,this.$ti.c.a(b))}, +L(a,b){var s=this.$ti +this.a.L(0,A.eT(b,s.y[1],s.c))}, +A(a,b){return this.a.A(0,b)}, +jy(a,b){var s=this +if(s.b!=null)return s.a_f(b,!0) +return new A.kX(s.a.jy(0,b),null,s.$ti)}, +a_f(a,b){var s,r=this.b,q=this.$ti,p=q.y[1],o=r==null?A.jK(p):r.$1$0(p) +for(p=this.a,p=p.ga0(p),q=q.y[1];p.q();){s=q.a(p.gG(p)) +if(b===a.p(0,s))o.D(0,s)}return o}, +J(a){this.a.J(0)}, +ZZ(){var s=this.b,r=this.$ti.y[1],q=s==null?A.jK(r):s.$1$0(r) +q.L(0,this) +return q}, +hr(a){var s=this.b,r=this.$ti.y[1],q=s==null?A.jK(r):s.$1$0(r) +q.L(0,this) +return q}, +$iW:1, +$iba:1, +gew(){return this.a}} +A.mZ.prototype={ +lL(a,b,c){return new A.mZ(this.a,this.$ti.h("@<1,2>").bg(b).bg(c).h("mZ<1,2,3,4>"))}, +a9(a,b){return J.ur(this.a,b)}, +k(a,b){return this.$ti.h("4?").a(J.b5(this.a,b))}, +n(a,b,c){var s=this.$ti +J.fW(this.a,s.c.a(b),s.y[1].a(c))}, +bk(a,b,c){var s=this.$ti +return s.y[3].a(J.DZ(this.a,s.c.a(b),new A.Wn(this,c)))}, +A(a,b){return this.$ti.h("4?").a(J.kK(this.a,b))}, +W(a,b){J.mN(this.a,new A.Wm(this,b))}, +gbr(a){var s=this.$ti +return A.eT(J.alv(this.a),s.c,s.y[2])}, +gaI(a){var s=this.$ti +return A.eT(J.az6(this.a),s.y[1],s.y[3])}, +gu(a){return J.cs(this.a)}, +gM(a){return J.fX(this.a)}, +gbd(a){return J.fY(this.a)}, +gfA(a){var s=J.apo(this.a) +return s.f1(s,new A.Wl(this),this.$ti.h("bw<3,4>"))}} +A.Wn.prototype={ +$0(){return this.a.$ti.y[1].a(this.b.$0())}, +$S(){return this.a.$ti.h("2()")}} +A.Wm.prototype={ +$2(a,b){var s=this.a.$ti +this.b.$2(s.y[2].a(a),s.y[3].a(b))}, +$S(){return this.a.$ti.h("~(1,2)")}} +A.Wl.prototype={ +$1(a){var s=this.a.$ti +return new A.bw(s.y[2].a(a.a),s.y[3].a(a.b),s.h("bw<3,4>"))}, +$S(){return this.a.$ti.h("bw<3,4>(bw<1,2>)")}} +A.jr.prototype={ +dg(a,b){return new A.jr(this.a,this.$ti.h("@<1>").bg(b).h("jr<1,2>"))}, +$iW:1, +gew(){return this.a}} +A.hb.prototype={ +i(a){return"LateInitializationError: "+this.a}} +A.js.prototype={ +gu(a){return this.a.length}, +k(a,b){return this.a.charCodeAt(b)}} +A.al1.prototype={ +$0(){return A.cm(null,t.P)}, +$S:82} +A.a9B.prototype={} +A.W.prototype={} +A.aD.prototype={ +ga0(a){var s=this +return new A.bR(s,s.gu(s),A.o(s).h("bR"))}, +W(a,b){var s,r=this,q=r.gu(r) +for(s=0;s1)throw A.c(A.ln()) +return s.aN(0,0)}, +p(a,b){var s,r=this,q=r.gu(r) +for(s=0;s").bg(c).h("aw<1,2>"))}, +fS(a,b){return A.hr(this,b,null,A.o(this).h("aD.E"))}, +dn(a,b){return A.a7(this,b,A.o(this).h("aD.E"))}, +dm(a){return this.dn(0,!0)}, +hr(a){var s,r=this,q=A.jK(A.o(r).h("aD.E")) +for(s=0;ss)throw A.c(A.cb(r,0,s,"start",null))}}, +ga0e(){var s=J.cs(this.a),r=this.c +if(r==null||r>s)return s +return r}, +ga7b(){var s=J.cs(this.a),r=this.b +if(r>s)return s +return r}, +gu(a){var s,r=J.cs(this.a),q=this.b +if(q>=r)return 0 +s=this.c +if(s==null||s>=r)return r-q +return s-q}, +aN(a,b){var s=this,r=s.ga7b()+b +if(b<0||r>=s.ga0e())throw A.c(A.cE(b,s.gu(0),s,null,"index")) +return J.pp(s.a,r)}, +fS(a,b){var s,r,q=this +A.dA(b,"count") +s=q.b+b +r=q.c +if(r!=null&&s>=r)return new A.fv(q.$ti.h("fv<1>")) +return A.hr(q.a,s,r,q.$ti.c)}, +dn(a,b){var s,r,q,p=this,o=p.b,n=p.a,m=J.ax(n),l=m.gu(n),k=p.c +if(k!=null&&k=o){r.d=null +return!1}r.d=p.aN(q,s);++r.c +return!0}} +A.dZ.prototype={ +ga0(a){return new A.bt(J.al(this.a),this.b,A.o(this).h("bt<1,2>"))}, +gu(a){return J.cs(this.a)}, +gM(a){return J.fX(this.a)}, +gI(a){return this.b.$1(J.ip(this.a))}, +gT(a){return this.b.$1(J.DX(this.a))}, +gap(a){return this.b.$1(J.DY(this.a))}, +aN(a,b){return this.b.$1(J.pp(this.a,b))}} +A.hN.prototype={$iW:1} +A.bt.prototype={ +q(){var s=this,r=s.b +if(r.q()){s.a=s.c.$1(r.gG(r)) +return!0}s.a=null +return!1}, +gG(a){var s=this.a +return s==null?this.$ti.y[1].a(s):s}} +A.aw.prototype={ +gu(a){return J.cs(this.a)}, +aN(a,b){return this.b.$1(J.pp(this.a,b))}} +A.aF.prototype={ +ga0(a){return new A.mb(J.al(this.a),this.b)}, +f1(a,b,c){return new A.dZ(this,b,this.$ti.h("@<1>").bg(c).h("dZ<1,2>"))}} +A.mb.prototype={ +q(){var s,r +for(s=this.a,r=this.b;s.q();)if(r.$1(s.gG(s)))return!0 +return!1}, +gG(a){var s=this.a +return s.gG(s)}} +A.hO.prototype={ +ga0(a){return new A.Gh(J.al(this.a),this.b,B.kl,this.$ti.h("Gh<1,2>"))}} +A.Gh.prototype={ +gG(a){var s=this.d +return s==null?this.$ti.y[1].a(s):s}, +q(){var s,r,q=this,p=q.c +if(p==null)return!1 +for(s=q.a,r=q.b;!p.q();){q.d=null +if(s.q()){q.c=null +p=J.al(r.$1(s.gG(s))) +q.c=p}else return!1}p=q.c +q.d=p.gG(p) +return!0}} +A.oI.prototype={ +ga0(a){return new A.KZ(J.al(this.a),this.b,A.o(this).h("KZ<1>"))}} +A.vU.prototype={ +gu(a){var s=J.cs(this.a),r=this.b +if(s>r)return r +return s}, +$iW:1} +A.KZ.prototype={ +q(){if(--this.b>=0)return this.a.q() +this.b=-1 +return!1}, +gG(a){var s +if(this.b<0){this.$ti.c.a(null) +return null}s=this.a +return s.gG(s)}} +A.k4.prototype={ +fS(a,b){A.kN(b,"count") +A.dA(b,"count") +return new A.k4(this.a,this.b+b,A.o(this).h("k4<1>"))}, +ga0(a){return new A.Ky(J.al(this.a),this.b)}} +A.q_.prototype={ +gu(a){var s=J.cs(this.a)-this.b +if(s>=0)return s +return 0}, +fS(a,b){A.kN(b,"count") +A.dA(b,"count") +return new A.q_(this.a,this.b+b,this.$ti)}, +$iW:1} +A.Ky.prototype={ +q(){var s,r +for(s=this.a,r=0;r"))}, +fS(a,b){A.dA(b,"count") +return this}, +dn(a,b){var s=this.$ti.c +return b?J.nF(0,s):J.H7(0,s)}, +dm(a){return this.dn(0,!0)}, +hr(a){return A.jK(this.$ti.c)}} +A.G4.prototype={ +q(){return!1}, +gG(a){throw A.c(A.bB())}} +A.jy.prototype={ +ga0(a){return new A.Gv(J.al(this.a),this.b)}, +gu(a){return J.cs(this.a)+J.cs(this.b)}, +gM(a){return J.fX(this.a)&&J.fX(this.b)}, +gbd(a){return J.fY(this.a)||J.fY(this.b)}, +p(a,b){return J.po(this.a,b)||J.po(this.b,b)}, +gI(a){var s=J.al(this.a) +if(s.q())return s.gG(s) +return J.ip(this.b)}, +gT(a){var s,r=J.al(this.b) +if(r.q()){s=r.gG(r) +for(;r.q();)s=r.gG(r) +return s}return J.DX(this.a)}} +A.vT.prototype={ +aN(a,b){var s=this.a,r=J.ax(s),q=r.gu(s) +if(b"))}} +A.rW.prototype={ +q(){var s,r +for(s=this.a,r=this.$ti.c;s.q();)if(r.b(s.gG(s)))return!0 +return!1}, +gG(a){var s=this.a +return this.$ti.c.a(s.gG(s))}} +A.nE.prototype={ +gu(a){return J.cs(this.a)}, +gM(a){return J.fX(this.a)}, +gbd(a){return J.fY(this.a)}, +gI(a){return new A.au(this.b,J.ip(this.a))}, +gap(a){return new A.au(this.b,J.DY(this.a))}, +aN(a,b){return new A.au(b+this.b,J.pp(this.a,b))}, +p(a,b){var s,r,q,p=null,o=null,n=!1 +if(t.mi.b(b)){s=b.a +if(A.pe(s)){A.cl(s) +r=b.b +n=s>=this.b +o=r +p=s}}if(n){n=J.pq(this.a,p-this.b) +q=n.ga0(n) +return q.q()&&J.e(q.gG(q),o)}return!1}, +fS(a,b){A.kN(b,"count") +A.dA(b,"count") +return new A.nE(J.pq(this.a,b),b+this.b,A.o(this).h("nE<1>"))}, +ga0(a){return new A.wG(J.al(this.a),this.b)}} +A.pZ.prototype={ +gT(a){var s,r=this.a,q=J.ax(r),p=q.gu(r) +if(p<=0)throw A.c(A.bB()) +s=q.gT(r) +if(p!==q.gu(r))throw A.c(A.bM(this)) +return new A.au(p-1+this.b,s)}, +p(a,b){var s,r,q,p,o=null,n=null,m=!1 +if(t.mi.b(b)){s=b.a +if(A.pe(s)){A.cl(s) +r=b.b +m=s>=this.b +n=r +o=s}}if(m){q=o-this.b +m=this.a +p=J.ax(m) +return q=0&&this.a.q())return!0 +this.c=-2 +return!1}, +gG(a){var s,r=this.c +if(r>=0){s=this.a +s=new A.au(this.b+r,s.gG(s)) +r=s}else r=A.ab(A.bB()) +return r}} +A.we.prototype={ +su(a,b){throw A.c(A.a1("Cannot change the length of a fixed-length list"))}, +D(a,b){throw A.c(A.a1("Cannot add to a fixed-length list"))}, +A(a,b){throw A.c(A.a1("Cannot remove from a fixed-length list"))}, +fa(a){throw A.c(A.a1("Cannot remove from a fixed-length list"))}} +A.Lu.prototype={ +n(a,b,c){throw A.c(A.a1("Cannot modify an unmodifiable list"))}, +su(a,b){throw A.c(A.a1("Cannot change the length of an unmodifiable list"))}, +D(a,b){throw A.c(A.a1("Cannot add to an unmodifiable list"))}, +A(a,b){throw A.c(A.a1("Cannot remove from an unmodifiable list"))}, +fa(a){throw A.c(A.a1("Cannot remove from an unmodifiable list"))}, +bz(a,b,c,d,e){throw A.c(A.a1("Cannot modify an unmodifiable list"))}, +e1(a,b,c,d){return this.bz(0,b,c,d,0)}} +A.rO.prototype={} +A.co.prototype={ +gu(a){return J.cs(this.a)}, +aN(a,b){var s=this.a,r=J.ax(s) +return r.aN(s,r.gu(s)-1-b)}} +A.e1.prototype={ +gt(a){var s=this._hashCode +if(s!=null)return s +s=664597*B.d.gt(this.a)&536870911 +this._hashCode=s +return s}, +i(a){return'Symbol("'+this.a+'")'}, +j(a,b){if(b==null)return!1 +return b instanceof A.e1&&this.a===b.a}, +$izB:1} +A.D7.prototype={} +A.au.prototype={$r:"+(1,2)",$s:1} +A.BG.prototype={$r:"+audioBitrate,videoBitrate(1,2)",$s:2} +A.Qp.prototype={$r:"+boundaryEnd,boundaryStart(1,2)",$s:3} +A.BH.prototype={$r:"+distance,fragment(1,2)",$s:5} +A.Qq.prototype={$r:"+key,value(1,2)",$s:6} +A.Qr.prototype={$r:"+localPosition,paragraph(1,2)",$s:7} +A.Qs.prototype={$r:"+representation,targetSize(1,2)",$s:8} +A.p2.prototype={$r:"+(1,2,3)",$s:9} +A.Qt.prototype={$r:"+breaks,graphemes,words(1,2,3)",$s:10} +A.BI.prototype={$r:"+completer,recorder,scene(1,2,3)",$s:11} +A.BJ.prototype={$r:"+data,event,timeStamp(1,2,3)",$s:12} +A.Qu.prototype={$r:"+domSize,representation,targetSize(1,2,3)",$s:13} +A.Qv.prototype={$r:"+large,medium,small(1,2,3)",$s:14} +A.Qw.prototype={$r:"+queue,target,timer(1,2,3)",$s:15} +A.BK.prototype={$r:"+x,y,z(1,2,3)",$s:16} +A.BL.prototype={$r:"+domBlurListener,domFocusListener,element,semanticsNodeId(1,2,3,4)",$s:17} +A.n2.prototype={} +A.pR.prototype={ +lL(a,b,c){var s=A.o(this) +return A.arq(this,s.c,s.y[1],b,c)}, +gM(a){return this.gu(this)===0}, +gbd(a){return this.gu(this)!==0}, +i(a){return A.amH(this)}, +n(a,b,c){A.alQ()}, +bk(a,b,c){A.alQ()}, +A(a,b){A.alQ()}, +gfA(a){return new A.jf(this.ab5(0),A.o(this).h("jf>"))}, +ab5(a){var s=this +return function(){var r=a +var q=0,p=1,o,n,m,l +return function $async$gfA(b,c,d){if(c===1){o=d +q=p}while(true)switch(q){case 0:n=s.gbr(s),n=n.ga0(n),m=A.o(s).h("bw<1,2>") +case 2:if(!n.q()){q=3 +break}l=n.gG(n) +q=4 +return b.b=new A.bw(l,s.k(0,l),m),1 +case 4:q=2 +break +case 3:return 0 +case 1:return b.c=o,3}}}}, +rR(a,b,c,d){var s=A.E(c,d) +this.W(0,new A.X3(this,b,s)) +return s}, +$iaA:1} +A.X3.prototype={ +$2(a,b){var s=this.b.$2(a,b) +this.c.n(0,s.a,s.b)}, +$S(){return A.o(this.a).h("~(1,2)")}} +A.bs.prototype={ +gu(a){return this.b.length}, +gKT(){var s=this.$keys +if(s==null){s=Object.keys(this.a) +this.$keys=s}return s}, +a9(a,b){if(typeof b!="string")return!1 +if("__proto__"===b)return!1 +return this.a.hasOwnProperty(b)}, +k(a,b){if(!this.a9(0,b))return null +return this.b[this.a[b]]}, +W(a,b){var s,r,q=this.gKT(),p=this.b +for(s=q.length,r=0;r"))}, +gaI(a){return new A.p0(this.b,this.$ti.h("p0<2>"))}} +A.p0.prototype={ +gu(a){return this.a.length}, +gM(a){return 0===this.a.length}, +gbd(a){return 0!==this.a.length}, +ga0(a){var s=this.a +return new A.mm(s,s.length,this.$ti.h("mm<1>"))}} +A.mm.prototype={ +gG(a){var s=this.d +return s==null?this.$ti.c.a(s):s}, +q(){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.d8.prototype={ +kc(){var s=this,r=s.$map +if(r==null){r=new A.nI(s.$ti.h("nI<1,2>")) +A.avr(s.a,r) +s.$map=r}return r}, +a9(a,b){return this.kc().a9(0,b)}, +k(a,b){return this.kc().k(0,b)}, +W(a,b){this.kc().W(0,b)}, +gbr(a){var s=this.kc() +return new A.aZ(s,A.o(s).h("aZ<1>"))}, +gaI(a){return this.kc().gaI(0)}, +gu(a){return this.kc().a}} +A.vh.prototype={ +J(a){A.Fe()}, +D(a,b){A.Fe()}, +L(a,b){A.Fe()}, +A(a,b){A.Fe()}, +xY(a){A.Fe()}} +A.dW.prototype={ +gu(a){return this.b}, +gM(a){return this.b===0}, +gbd(a){return this.b!==0}, +ga0(a){var s,r=this,q=r.$keys +if(q==null){q=Object.keys(r.a) +r.$keys=q}s=q +return new A.mm(s,s.length,r.$ti.h("mm<1>"))}, +p(a,b){if(typeof b!="string")return!1 +if("__proto__"===b)return!1 +return this.a.hasOwnProperty(b)}, +hr(a){return A.ew(this,this.$ti.c)}} +A.dx.prototype={ +gu(a){return this.a.length}, +gM(a){return this.a.length===0}, +gbd(a){return this.a.length!==0}, +ga0(a){var s=this.a +return new A.mm(s,s.length,this.$ti.h("mm<1>"))}, +kc(){var s,r,q,p,o=this,n=o.$map +if(n==null){n=new A.nI(o.$ti.h("nI<1,1>")) +for(s=o.a,r=s.length,q=0;q")}} +A.wO.prototype={ +ga7w(){return[A.bU(this.$ti.c)]}, +$0(){return this.a.$1$0(this.$ti.y[0])}, +$1(a){return this.a.$1$1(a,this.$ti.y[0])}, +$2(a,b){return this.a.$1$2(a,b,this.$ti.y[0])}, +$3(a,b,c){return this.a.$1$3(a,b,c,this.$ti.y[0])}, +$S(){return A.avA(A.U9(this.a),this.$ti)}} +A.a0Y.prototype={ +gaea(){var s=this.a +if(s instanceof A.e1)return s +return this.a=new A.e1(s)}, +gaeO(){var s,r,q,p,o,n=this +if(n.c===1)return B.lR +s=n.d +r=J.ax(s) +q=r.gu(s)-J.cs(n.e)-n.f +if(q===0)return B.lR +p=[] +for(o=0;o>>0}, +i(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.a6J(this.a)+"'")}} +A.N3.prototype={ +i(a){return"Reading static variable '"+this.a+"' during its initialization"}} +A.JT.prototype={ +i(a){return"RuntimeError: "+this.a}} +A.fA.prototype={ +gu(a){return this.a}, +gM(a){return this.a===0}, +gbd(a){return this.a!==0}, +gbr(a){return new A.aZ(this,A.o(this).h("aZ<1>"))}, +gaI(a){var s=A.o(this) +return A.HB(new A.aZ(this,s.h("aZ<1>")),new A.a15(this),s.c,s.y[1])}, +a9(a,b){var s,r +if(typeof b=="string"){s=this.b +if(s==null)return!1 +return s[b]!=null}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=this.c +if(r==null)return!1 +return r[b]!=null}else return this.adg(b)}, +adg(a){var s=this.d +if(s==null)return!1 +return this.rB(s[this.rA(a)],a)>=0}, +a9J(a,b){return new A.aZ(this,A.o(this).h("aZ<1>")).jg(0,new A.a14(this,b))}, +L(a,b){J.mN(b,new A.a13(this))}, +k(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.adh(b)}, +adh(a){var s,r,q=this.d +if(q==null)return null +s=q[this.rA(a)] +r=this.rB(s,a) +if(r<0)return null +return s[r].b}, +n(a,b,c){var s,r,q=this +if(typeof b=="string"){s=q.b +q.HS(s==null?q.b=q.Bb():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=q.c +q.HS(r==null?q.c=q.Bb():r,b,c)}else q.adj(b,c)}, +adj(a,b){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=p.Bb() +s=p.rA(a) +r=o[s] +if(r==null)o[s]=[p.Bc(a,b)] +else{q=p.rB(r,a) +if(q>=0)r[q].b=b +else r.push(p.Bc(a,b))}}, +bk(a,b,c){var s,r,q=this +if(q.a9(0,b)){s=q.k(0,b) +return s==null?A.o(q).y[1].a(s):s}r=c.$0() +q.n(0,b,r) +return r}, +A(a,b){var s=this +if(typeof b=="string")return s.LJ(s.b,b) +else if(typeof b=="number"&&(b&0x3fffffff)===b)return s.LJ(s.c,b) +else return s.adi(b)}, +adi(a){var s,r,q,p,o=this,n=o.d +if(n==null)return null +s=o.rA(a) +r=n[s] +q=o.rB(r,a) +if(q<0)return null +p=r.splice(q,1)[0] +o.N4(p) +if(r.length===0)delete n[s] +return p.b}, +J(a){var s=this +if(s.a>0){s.b=s.c=s.d=s.e=s.f=null +s.a=0 +s.Ba()}}, +W(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.c(A.bM(s)) +r=r.c}}, +HS(a,b,c){var s=a[b] +if(s==null)a[b]=this.Bc(b,c) +else s.b=c}, +LJ(a,b){var s +if(a==null)return null +s=a[b] +if(s==null)return null +this.N4(s) +delete a[b] +return s.b}, +Ba(){this.r=this.r+1&1073741823}, +Bc(a,b){var s,r=this,q=new A.a1D(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.Ba() +return q}, +N4(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.Ba()}, +rA(a){return J.u(a)&1073741823}, +rB(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"]=s +delete s[""] +return s}} +A.a15.prototype={ +$1(a){var s=this.a,r=s.k(0,a) +return r==null?A.o(s).y[1].a(r):r}, +$S(){return A.o(this.a).h("2(1)")}} +A.a14.prototype={ +$1(a){return J.e(this.a.k(0,a),this.b)}, +$S(){return A.o(this.a).h("M(1)")}} +A.a13.prototype={ +$2(a,b){this.a.n(0,a,b)}, +$S(){return A.o(this.a).h("~(1,2)")}} +A.a1D.prototype={} +A.aZ.prototype={ +gu(a){return this.a.a}, +gM(a){return this.a.a===0}, +ga0(a){var s=this.a,r=new A.x_(s,s.r) +r.c=s.e +return r}, +p(a,b){return this.a.a9(0,b)}, +W(a,b){var s=this.a,r=s.e,q=s.r +for(;r!=null;){b.$1(r.a) +if(q!==s.r)throw A.c(A.bM(s)) +r=r.c}}} +A.x_.prototype={ +gG(a){return this.d}, +q(){var s,r=this,q=r.a +if(r.b!==q.r)throw A.c(A.bM(q)) +s=r.c +if(s==null){r.d=null +return!1}else{r.d=s.a +r.c=s.c +return!0}}} +A.nI.prototype={ +rA(a){return A.aIZ(a)&1073741823}, +rB(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r0;){--q;--s +j[q]=r[s]}}return A.Hs(j,k)}} +A.Qm.prototype={ +uH(){return[this.a,this.b]}, +j(a,b){if(b==null)return!1 +return b instanceof A.Qm&&this.$s===b.$s&&J.e(this.a,b.a)&&J.e(this.b,b.b)}, +gt(a){return A.P(this.$s,this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Qn.prototype={ +uH(){return[this.a,this.b,this.c]}, +j(a,b){var s=this +if(b==null)return!1 +return b instanceof A.Qn&&s.$s===b.$s&&J.e(s.a,b.a)&&J.e(s.b,b.b)&&J.e(s.c,b.c)}, +gt(a){var s=this +return A.P(s.$s,s.a,s.b,s.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Qo.prototype={ +uH(){return this.a}, +j(a,b){if(b==null)return!1 +return b instanceof A.Qo&&this.$s===b.$s&&A.aG7(this.a,b.a)}, +gt(a){return A.P(this.$s,A.bO(this.a),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.H8.prototype={ +i(a){return"RegExp/"+this.a+"/"+this.b.flags}, +ga4v(){var s=this,r=s.c +if(r!=null)return r +r=s.b +return s.c=A.amx(s.a,r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)}, +ga4u(){var s=this,r=s.d +if(r!=null)return r +r=s.b +return s.d=A.amx(s.a+"|()",r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)}, +wJ(a){var s=this.b.exec(a) +if(s==null)return null +return new A.tv(s)}, +UG(a){var s=this.wJ(a) +if(s!=null)return s.b[0] +return null}, +Jm(a,b){var s,r=this.ga4v() +r.lastIndex=b +s=r.exec(a) +if(s==null)return null +return new A.tv(s)}, +a0j(a,b){var s,r=this.ga4u() +r.lastIndex=b +s=r.exec(a) +if(s==null)return null +if(s.pop()!=null)return null +return new A.tv(s)}, +xj(a,b,c){if(c<0||c>b.length)throw A.c(A.cb(c,0,b.length,null,null)) +return this.a0j(b,c)}} +A.tv.prototype={ +gnX(a){var s=this.b +return s.index+s[0].length}, +k(a,b){return this.b[b]}, +$iasc:1} +A.acv.prototype={ +gG(a){var s=this.d +return s==null?t.Qz.a(s):s}, +q(){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.Jm(l,s) +if(p!=null){m.d=p +o=p.gnX(0) +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.KT.prototype={ +k(a,b){A.ab(A.a6O(b,null)) +return this.c}} +A.anM.prototype={ +q(){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.KT(s,o) +q.c=r===q.c?r+1:r +return!0}, +gG(a){var s=this.d +s.toString +return s}} +A.adJ.prototype={ +aP(){var s=this.b +if(s===this)throw A.c(new A.hb("Local '"+this.a+"' has not been initialized.")) +return s}, +aO(){var s=this.b +if(s===this)throw A.c(A.arh(this.a)) +return s}, +scr(a){var s=this +if(s.b!==s)throw A.c(new A.hb("Local '"+s.a+"' has already been initialized.")) +s.b=a}} +A.afP.prototype={ +pW(){var s,r=this,q=r.b +if(q===r){s=r.c.$0() +if(r.b!==r)throw A.c(new A.hb("Local '"+r.a+u.N)) +r.b=s +q=s}return q}} +A.lA.prototype={ +gcJ(a){return B.Rh}, +Oe(a,b,c){throw A.c(A.a1("Int64List not supported by dart2js."))}, +$ic_:1, +$ilA:1, +$iEE:1} +A.xt.prototype={ +gPH(a){return a.BYTES_PER_ELEMENT}, +a3Q(a,b,c,d){var s=A.cb(b,0,c,d,null) +throw A.c(s)}, +Is(a,b,c,d){if(b>>>0!==b||b>c)this.a3Q(a,b,c,d)}} +A.xq.prototype={ +gcJ(a){return B.Ri}, +gPH(a){return 1}, +Ga(a,b,c){throw A.c(A.a1("Int64 accessor not supported by dart2js."))}, +GA(a,b,c,d){throw A.c(A.a1("Int64 accessor not supported by dart2js."))}, +$ic_:1, +$icu:1} +A.qG.prototype={ +gu(a){return a.length}, +Mn(a,b,c,d,e){var s,r,q=a.length +this.Is(a,b,q,"start") +this.Is(a,c,q,"end") +if(b>c)throw A.c(A.cb(b,0,c,null,null)) +s=c-b +if(e<0)throw A.c(A.cz(e,null)) +r=d.length +if(r-e").b(b))s.Il(b) +else s.pp(b)}}, +lO(a,b){var s=this.a +if(this.b)s.ij(a,b) +else s.n9(a,b)}} +A.ajy.prototype={ +$1(a){return this.a.$2(0,a)}, +$S:17} +A.ajz.prototype={ +$2(a,b){this.a.$2(1,new A.w3(a,b))}, +$S:224} +A.akk.prototype={ +$2(a,b){this.a(a,b)}, +$S:226} +A.kp.prototype={ +gG(a){return this.b}, +a69(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}}, +q(){var s,r,q,p,o=this,n=null,m=0 +for(;!0;){s=o.d +if(s!=null)try{if(s.q()){o.b=J.az2(s) +return!0}else o.d=null}catch(r){n=r +m=1 +o.d=null}q=o.a69(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.atM +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.atM +throw n +return!1}o.a=p.pop() +m=1 +continue}throw A.c(A.R("sync*"))}return!1}, +agH(a){var s,r,q=this +if(a instanceof A.jf){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.al(a) +return 2}}} +A.jf.prototype={ +ga0(a){return new A.kp(this.a())}} +A.Eh.prototype={ +i(a){return A.h(this.a)}, +$ibE:1, +gu6(){return this.b}} +A.c0.prototype={ +giI(){return!0}} +A.oU.prototype={ +kf(){}, +kg(){}} +A.hu.prototype={ +sFf(a,b){throw A.c(A.a1(u.t))}, +sFi(a,b){throw A.c(A.a1(u.t))}, +gu9(a){return new A.c0(this,A.o(this).h("c0<1>"))}, +gly(){return this.c<4}, +pu(){var s=this.r +return s==null?this.r=new A.a8($.ae,t.V):s}, +LK(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}, +BI(a,b,c,d){var s,r,q,p,o,n,m,l,k=this +if((k.c&4)!==0)return A.atp(c,A.o(k).c) +s=$.ae +r=d?1:0 +q=b!=null?32:0 +p=A.ad3(s,a) +o=A.any(s,b) +n=c==null?A.ao8():c +m=new A.oU(k,p,o,n,s,r|q,A.o(k).h("oU<1>")) +m.CW=m +m.ch=m +m.ay=k.c&1 +l=k.e +k.e=m +m.ch=null +m.CW=l +if(l==null)k.d=m +else l.ch=m +if(k.d===m)A.U7(k.a) +return m}, +Lx(a){var s,r=this +A.o(r).h("oU<1>").a(a) +if(a.ch===a)return null +s=a.ay +if((s&2)!==0)a.ay=s|4 +else{r.LK(a) +if((r.c&2)===0&&r.d==null)r.pm()}return null}, +Lz(a){}, +LA(a){}, +lo(){if((this.c&4)!==0)return new A.ho("Cannot add new events after calling close") +return new A.ho("Cannot add new events while doing an addStream")}, +D(a,b){if(!this.gly())throw A.c(this.lo()) +this.jc(b)}, +jf(a,b){A.eQ(a,"error",t.K) +if(!this.gly())throw A.c(this.lo()) +if(b==null)b=A.py(a) +this.jd(a,b)}, +qc(a){return this.jf(a,null)}, +aM(a){var s,r,q=this +if((q.c&4)!==0){s=q.r +s.toString +return s}if(!q.gly())throw A.c(q.lo()) +q.c|=4 +r=q.pu() +q.kj() +return r}, +gaaQ(){return this.pu()}, +Au(a){var s,r,q,p=this,o=p.c +if((o&2)!==0)throw A.c(A.R(u.c)) +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.LK(s) +s.ay&=4294967293 +s=q}else s=s.ch}p.c&=4294967293 +if(p.d==null)p.pm()}, +pm(){if((this.c&4)!==0){var s=this.r +if((s.a&30)===0)s.k8(null)}A.U7(this.b)}, +$ifw:1, +sF9(a){return this.a=a}, +sF_(a,b){return this.b=b}} +A.je.prototype={ +gly(){return A.hu.prototype.gly.call(this)&&(this.c&2)===0}, +lo(){if((this.c&2)!==0)return new A.ho(u.c) +return this.WQ()}, +jc(a){var s=this,r=s.d +if(r==null)return +if(r===s.e){s.c|=2 +r.ig(0,a) +s.c&=4294967293 +if(s.d==null)s.pm() +return}s.Au(new A.aiB(s,a))}, +jd(a,b){if(this.d==null)return +this.Au(new A.aiD(this,a,b))}, +kj(){var s=this +if(s.d!=null)s.Au(new A.aiC(s)) +else s.r.k8(null)}} +A.aiB.prototype={ +$1(a){a.ig(0,this.b)}, +$S(){return A.o(this.a).h("~(hv<1>)")}} +A.aiD.prototype={ +$1(a){a.j7(this.b,this.c)}, +$S(){return A.o(this.a).h("~(hv<1>)")}} +A.aiC.prototype={ +$1(a){a.zJ()}, +$S(){return A.o(this.a).h("~(hv<1>)")}} +A.Ag.prototype={ +jc(a){var s +for(s=this.d;s!=null;s=s.ch)s.j8(new A.mg(a))}, +jd(a,b){var s +for(s=this.d;s!=null;s=s.ch)s.j8(new A.oX(a,b))}, +kj(){var s=this.d +if(s!=null)for(;s!=null;s=s.ch)s.j8(B.d_) +else this.r.k8(null)}} +A.t1.prototype={ +zp(a){var s=this.ax;(s==null?this.ax=new A.tE():s).D(0,a)}, +D(a,b){var s=this,r=s.c +if((r&4)===0&&(r&2)!==0){s.zp(new A.mg(b)) +return}s.WS(0,b) +s.Jy()}, +jf(a,b){var s,r=this +A.eQ(a,"error",t.K) +if(b==null)b=A.py(a) +s=r.c +if((s&4)===0&&(s&2)!==0){r.zp(new A.oX(a,b)) +return}if(!(A.hu.prototype.gly.call(r)&&(r.c&2)===0))throw A.c(r.lo()) +r.jd(a,b) +r.Jy()}, +qc(a){return this.jf(a,null)}, +Jy(){var s,r,q=this.ax +if(q!=null)for(;q.c!=null;){s=q.b +r=s.gkU(s) +q.b=r +if(r==null)q.c=null +s.xG(this)}}, +aM(a){var s=this,r=s.c +if((r&4)===0&&(r&2)!==0){s.zp(B.d_) +s.c|=4 +return A.hu.prototype.gaaQ.call(s)}return s.WT(0)}, +pm(){var s=this.ax +if(s!=null){if(s.a===1)s.a=3 +this.ax=s.b=s.c=null}this.WR()}} +A.a_6.prototype={ +$0(){var s,r,q,p=null +try{p=this.a.$0()}catch(q){s=A.a9(q) +r=A.aK(q) +A.ajF(this.b,s,r) +return}this.b.lr(p)}, +$S:0} +A.a_5.prototype={ +$0(){var s,r,q,p=null +try{p=this.a.$0()}catch(q){s=A.a9(q) +r=A.aK(q) +A.ajF(this.b,s,r) +return}this.b.lr(p)}, +$S:0} +A.a_3.prototype={ +$0(){var s,r,q,p,o=this,n=o.a +if(n==null){o.c.a(null) +o.b.lr(null)}else{s=null +try{s=n.$0()}catch(p){r=A.a9(p) +q=A.aK(p) +A.ajF(o.b,r,q) +return}o.b.lr(s)}}, +$S:0} +A.a_8.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.ij(a,b)}else if(q===0&&!s.c){q=r.d +q.toString +r=r.c +r.toString +s.d.ij(q,r)}}, +$S:86} +A.a_7.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.fW(j,m.b,a) +if(J.e(k,0)){l=m.d +s=A.b([],l.h("v<0>")) +for(q=j,p=q.length,o=0;o")) +r=c==null?1:3 +this.n8(new A.hy(s,r,b,c,this.$ti.h("@<1>").bg(d).h("hy<1,2>"))) +return s}, +b_(a,b,c){return this.en(0,b,null,c)}, +MV(a,b,c){var s=new A.a8($.ae,c.h("a8<0>")) +this.n8(new A.hy(s,19,a,b,this.$ti.h("@<1>").bg(c).h("hy<1,2>"))) +return s}, +nH(a,b){var s=this.$ti,r=$.ae,q=new A.a8(r,s) +if(r!==B.ad)a=A.auS(a,r) +this.n8(new A.hy(q,2,b,a,s.h("hy<1,1>"))) +return q}, +ku(a){return this.nH(a,null)}, +hs(a){var s=this.$ti,r=new A.a8($.ae,s) +this.n8(new A.hy(r,8,a,null,s.h("hy<1,1>"))) +return r}, +a6M(a){this.a=this.a&1|16 +this.c=a}, +uu(a){this.a=a.a&30|this.a&1 +this.c=a.c}, +n8(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.n8(a) +return}s.uu(r)}A.u9(null,null,s.b,new A.af8(s,a))}}, +Bo(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.Bo(a) +return}n.uu(s)}m.a=n.vn(a) +A.u9(null,null,n.b,new A.aff(m,n))}}, +vi(){var s=this.c +this.c=null +return this.vn(s)}, +vn(a){var s,r,q +for(s=a,r=null;s!=null;r=s,s=q){q=s.a +s.a=r}return r}, +zB(a){var s,r,q,p=this +p.a^=2 +try{a.en(0,new A.afc(p),new A.afd(p),t.P)}catch(q){s=A.a9(q) +r=A.aK(q) +A.e6(new A.afe(p,s,r))}}, +lr(a){var s,r=this,q=r.$ti +if(q.h("a6<1>").b(a))if(q.b(a))A.anz(a,r) +else r.zB(a) +else{s=r.vi() +r.a=8 +r.c=a +A.ti(r,s)}}, +pp(a){var s=this,r=s.vi() +s.a=8 +s.c=a +A.ti(s,r)}, +ij(a,b){var s=this.vi() +this.a6M(A.V8(a,b)) +A.ti(this,s)}, +k8(a){if(this.$ti.h("a6<1>").b(a)){this.Il(a) +return}this.Zi(a)}, +Zi(a){this.a^=2 +A.u9(null,null,this.b,new A.afa(this,a))}, +Il(a){if(this.$ti.b(a)){A.aFQ(a,this) +return}this.zB(a)}, +n9(a,b){this.a^=2 +A.u9(null,null,this.b,new A.af9(this,a,b))}, +$ia6:1} +A.af8.prototype={ +$0(){A.ti(this.a,this.b)}, +$S:0} +A.aff.prototype={ +$0(){A.ti(this.b,this.a.a)}, +$S:0} +A.afc.prototype={ +$1(a){var s,r,q,p=this.a +p.a^=2 +try{p.pp(p.$ti.c.a(a))}catch(q){s=A.a9(q) +r=A.aK(q) +p.ij(s,r)}}, +$S:32} +A.afd.prototype={ +$2(a,b){this.a.ij(a,b)}, +$S:38} +A.afe.prototype={ +$0(){this.a.ij(this.b,this.c)}, +$S:0} +A.afb.prototype={ +$0(){A.anz(this.a.a,this.b)}, +$S:0} +A.afa.prototype={ +$0(){this.a.pp(this.b)}, +$S:0} +A.af9.prototype={ +$0(){this.a.ij(this.b,this.c)}, +$S:0} +A.afi.prototype={ +$0(){var s,r,q,p,o,n,m=this,l=null +try{q=m.a.a +l=q.b.b.eM(q.d)}catch(p){s=A.a9(p) +r=A.aK(p) +q=m.c&&m.b.a.c.a===s +o=m.a +if(q)o.c=m.b.a.c +else o.c=A.V8(s,r) +o.b=!0 +return}if(l instanceof A.a8&&(l.a&24)!==0){if((l.a&16)!==0){q=m.a +q.c=l.c +q.b=!0}return}if(t.L0.b(l)){n=m.b.a +q=m.a +q.c=J.aly(l,new A.afj(n),t.z) +q.b=!1}}, +$S:0} +A.afj.prototype={ +$1(a){return this.a}, +$S:232} +A.afh.prototype={ +$0(){var s,r,q,p,o +try{q=this.a +p=q.a +q.c=p.b.b.tl(p.d,this.b)}catch(o){s=A.a9(o) +r=A.aK(o) +q=this.a +q.c=A.V8(s,r) +q.b=!0}}, +$S:0} +A.afg.prototype={ +$0(){var s,r,q,p,o,n,m=this +try{s=m.a.a.c +p=m.b +if(p.a.ae5(s)&&p.a.e!=null){p.c=p.a.abL(s) +p.b=!1}}catch(o){r=A.a9(o) +q=A.aK(o) +p=m.a.a.c +n=m.b +if(p.a===r)n.c=p +else n.c=A.V8(r,q) +n.b=!0}}, +$S:0} +A.M8.prototype={} +A.c5.prototype={ +giI(){return!1}, +gu(a){var s={},r=new A.a8($.ae,t.wJ) +s.a=0 +this.i_(new A.aaq(s,this),!0,new A.aar(s,r),r.gIF()) +return r}, +gI(a){var s=new A.a8($.ae,A.o(this).h("a8")),r=this.i_(null,!0,new A.aao(s),s.gIF()) +r.xt(new A.aap(this,r,s)) +return s}} +A.aam.prototype={ +$1(a){var s=this.a +s.ig(0,a) +s.zK()}, +$S(){return this.b.h("aT(0)")}} +A.aan.prototype={ +$2(a,b){var s=this.a +s.j7(a,b) +s.zK()}, +$S:233} +A.aaq.prototype={ +$1(a){++this.a.a}, +$S(){return A.o(this.b).h("~(c5.T)")}} +A.aar.prototype={ +$0(){this.b.lr(this.a.a)}, +$S:0} +A.aao.prototype={ +$0(){var s,r,q,p +try{q=A.bB() +throw A.c(q)}catch(p){s=A.a9(p) +r=A.aK(p) +A.ajF(this.a,s,r)}}, +$S:0} +A.aap.prototype={ +$1(a){A.aH3(this.b,this.c,a)}, +$S(){return A.o(this.a).h("~(c5.T)")}} +A.p7.prototype={ +gu9(a){return new A.j7(this,A.o(this).h("j7<1>"))}, +ga5i(){if((this.b&8)===0)return this.a +return this.a.gCc()}, +Ad(){var s,r=this +if((r.b&8)===0){s=r.a +return s==null?r.a=new A.tE():s}s=r.a.gCc() +return s}, +gnu(){var s=this.a +return(this.b&8)!==0?s.gCc():s}, +zx(){if((this.b&4)!==0)return new A.ho("Cannot add event after closing") +return new A.ho("Cannot add event while adding a stream")}, +pu(){var s=this.c +if(s==null)s=this.c=(this.b&2)!==0?$.pl():new A.a8($.ae,t.V) +return s}, +D(a,b){if(this.b>=4)throw A.c(this.zx()) +this.ig(0,b)}, +jf(a,b){A.eQ(a,"error",t.K) +if(this.b>=4)throw A.c(this.zx()) +if(b==null)b=A.py(a) +this.j7(a,b)}, +qc(a){return this.jf(a,null)}, +aM(a){var s=this,r=s.b +if((r&4)!==0)return s.pu() +if(r>=4)throw A.c(s.zx()) +s.zK() +return s.pu()}, +zK(){var s=this.b|=4 +if((s&1)!==0)this.kj() +else if((s&3)===0)this.Ad().D(0,B.d_)}, +ig(a,b){var s=this.b +if((s&1)!==0)this.jc(b) +else if((s&3)===0)this.Ad().D(0,new A.mg(b))}, +j7(a,b){var s=this.b +if((s&1)!==0)this.jd(a,b) +else if((s&3)===0)this.Ad().D(0,new A.oX(a,b))}, +BI(a,b,c,d){var s,r,q,p,o=this +if((o.b&3)!==0)throw A.c(A.R("Stream has already been listened to.")) +s=A.aFJ(o,a,b,c,d,A.o(o).c) +r=o.ga5i() +q=o.b|=1 +if((q&8)!==0){p=o.a +p.sCc(s) +p.iU(0)}else o.a=s +s.a6N(r) +s.AF(new A.aiw(o)) +return s}, +Lx(a){var s,r,q,p,o,n,m,l=this,k=null +if((l.b&8)!==0)k=l.a.aA(0) +l.a=null +l.b=l.b&4294967286|2 +s=l.r +if(s!=null)if(k==null)try{r=s.$0() +if(t.uz.b(r))k=r}catch(o){q=A.a9(o) +p=A.aK(o) +n=new A.a8($.ae,t.V) +n.n9(q,p) +k=n}else k=k.hs(s) +m=new A.aiv(l) +if(k!=null)k=k.hs(m) +else m.$0() +return k}, +Lz(a){if((this.b&8)!==0)this.a.l1(0) +A.U7(this.e)}, +LA(a){if((this.b&8)!==0)this.a.iU(0) +A.U7(this.f)}, +$ifw:1, +sF9(a){return this.d=a}, +sFf(a,b){return this.e=b}, +sFi(a,b){return this.f=b}, +sF_(a,b){return this.r=b}} +A.aiw.prototype={ +$0(){A.U7(this.a.d)}, +$S:0} +A.aiv.prototype={ +$0(){var s=this.a.c +if(s!=null&&(s.a&30)===0)s.k8(null)}, +$S:0} +A.RY.prototype={ +jc(a){this.gnu().ig(0,a)}, +jd(a,b){this.gnu().j7(a,b)}, +kj(){this.gnu().zJ()}} +A.M9.prototype={ +jc(a){this.gnu().j8(new A.mg(a))}, +jd(a,b){this.gnu().j8(new A.oX(a,b))}, +kj(){this.gnu().j8(B.d_)}} +A.t2.prototype={} +A.mz.prototype={} +A.j7.prototype={ +gt(a){return(A.f8(this.a)^892482866)>>>0}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.j7&&b.a===this.a}} +A.mf.prototype={ +pR(){return this.w.Lx(this)}, +kf(){this.w.Lz(this)}, +kg(){this.w.LA(this)}} +A.hv.prototype={ +a6N(a){var s=this +if(a==null)return +s.r=a +if(a.c!=null){s.e=(s.e|128)>>>0 +a.tV(s)}}, +xt(a){this.a=A.ad3(this.d,a)}, +iO(a,b){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.AF(q.gvb())}, +l1(a){return this.iO(0,null)}, +iU(a){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.tV(s) +else{r=(r&4294967291)>>>0 +s.e=r +if((r&64)===0)s.AF(s.gvd())}}}, +aA(a){var s=this,r=(s.e&4294967279)>>>0 +s.e=r +if((r&8)===0)s.zy() +r=s.f +return r==null?$.pl():r}, +zy(){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.pR()}, +ig(a,b){var s=this.e +if((s&8)!==0)return +if(s<64)this.jc(b) +else this.j8(new A.mg(b))}, +j7(a,b){var s=this.e +if((s&8)!==0)return +if(s<64)this.jd(a,b) +else this.j8(new A.oX(a,b))}, +zJ(){var s=this,r=s.e +if((r&8)!==0)return +r=(r|2)>>>0 +s.e=r +if(r<64)s.kj() +else s.j8(B.d_)}, +kf(){}, +kg(){}, +pR(){return null}, +j8(a){var s,r=this,q=r.r +if(q==null)q=r.r=new A.tE() +q.D(0,a) +s=r.e +if((s&128)===0){s=(s|128)>>>0 +r.e=s +if(s<256)q.tV(r)}}, +jc(a){var s=this,r=s.e +s.e=(r|64)>>>0 +s.d.tm(s.a,a) +s.e=(s.e&4294967231)>>>0 +s.zF((r&4)!==0)}, +jd(a,b){var s,r=this,q=r.e,p=new A.ad5(r,a,b) +if((q&1)!==0){r.e=(q|16)>>>0 +r.zy() +s=r.f +if(s!=null&&s!==$.pl())s.hs(p) +else p.$0()}else{p.$0() +r.zF((q&4)!==0)}}, +kj(){var s,r=this,q=new A.ad4(r) +r.zy() +r.e=(r.e|16)>>>0 +s=r.f +if(s!=null&&s!==$.pl())s.hs(q) +else q.$0()}, +AF(a){var s=this,r=s.e +s.e=(r|64)>>>0 +a.$0() +s.e=(s.e&4294967231)>>>0 +s.zF((r&4)!==0)}, +zF(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.kf() +else q.kg() +p=(q.e&4294967231)>>>0 +q.e=p}if((p&128)!==0&&p<256)q.r.tV(q)}, +$ii6:1} +A.ad5.prototype={ +$0(){var s,r,q=this.a,p=q.e +if((p&8)!==0&&(p&16)===0)return +q.e=(p|64)>>>0 +s=q.b +p=this.b +r=q.d +if(t.hK.b(s))r.afE(s,p,this.c) +else r.tm(s,p) +q.e=(q.e&4294967231)>>>0}, +$S:0} +A.ad4.prototype={ +$0(){var s=this.a,r=s.e +if((r&16)===0)return +s.e=(r|74)>>>0 +s.d.tk(s.c) +s.e=(s.e&4294967231)>>>0}, +$S:0} +A.tS.prototype={ +i_(a,b,c,d){return this.a.BI(a,d,c,b===!0)}, +hZ(a){return this.i_(a,null,null,null)}, +mj(a,b,c){return this.i_(a,null,b,c)}} +A.Ne.prototype={ +gkU(a){return this.a}, +skU(a,b){return this.a=b}} +A.mg.prototype={ +xG(a){a.jc(this.b)}} +A.oX.prototype={ +xG(a){a.jd(this.b,this.c)}} +A.aeh.prototype={ +xG(a){a.kj()}, +gkU(a){return null}, +skU(a,b){throw A.c(A.R("No events after a done."))}} +A.tE.prototype={ +tV(a){var s=this,r=s.a +if(r===1)return +if(r>=1){s.a=1 +return}A.e6(new A.agV(s,a)) +s.a=1}, +D(a,b){var s=this,r=s.c +if(r==null)s.b=s.c=b +else{r.skU(0,b) +s.c=b}}, +ac5(a){var s=this.b,r=s.gkU(s) +this.b=r +if(r==null)this.c=null +s.xG(a)}} +A.agV.prototype={ +$0(){var s=this.a,r=s.a +s.a=0 +if(r===3)return +s.ac5(this.b)}, +$S:0} +A.tb.prototype={ +xt(a){}, +iO(a,b){var s=this.a +if(s>=0)this.a=s+2}, +l1(a){return this.iO(0,null)}, +iU(a){var s=this,r=s.a-2 +if(r<0)return +if(r===0){s.a=1 +A.e6(s.gLa())}else s.a=r}, +aA(a){this.a=-1 +this.c=null +return $.pl()}, +a4O(){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.tk(s)}}else r.a=q}, +$ii6:1} +A.t0.prototype={ +giI(){return!0}, +i_(a,b,c,d){var s,r,q=this,p=q.e +if(p==null||(p.c&4)!==0)return A.atp(c,q.$ti.c) +if(q.f==null){s=p.ghE(p) +r=p.gvJ() +q.f=q.a.mj(s,p.gCM(p),r)}return p.BI(a,d,c,b===!0)}, +mj(a,b,c){return this.i_(a,null,b,c)}, +pR(){var s,r=this,q=r.e,p=q==null||(q.c&4)!==0,o=r.c +if(o!=null)r.d.tl(o,new A.oV(r,r.$ti.h("oV<1>"))) +if(p){s=r.f +if(s!=null){s.aA(0) +r.f=null}}}, +a4N(){var s=this,r=s.b +if(r!=null)s.d.tl(r,new A.oV(s,s.$ti.h("oV<1>")))}} +A.oV.prototype={ +xt(a){throw A.c(A.a1("Cannot change handlers of asBroadcastStream source subscription."))}, +iO(a,b){var s=this.a.f +if(s!=null)s.iO(0,b)}, +l1(a){return this.iO(0,null)}, +iU(a){var s=this.a.f +if(s!=null)s.iU(0)}, +aA(a){var s=this.a,r=s.f +if(r!=null){s.e=s.f=null +r.aA(0)}return $.pl()}, +$ii6:1} +A.RR.prototype={} +A.ajB.prototype={ +$0(){return this.a.lr(this.b)}, +$S:0} +A.hx.prototype={ +giI(){return this.a.giI()}, +i_(a,b,c,d){var s=$.ae,r=b===!0?1:0,q=d!=null?32:0,p=A.ad3(s,a),o=A.any(s,d),n=c==null?A.ao8():c +q=new A.tg(this,p,o,n,s,r|q,A.o(this).h("tg")) +q.x=this.a.mj(q.ga1N(),q.ga1U(),q.ga23()) +return q}, +hZ(a){return this.i_(a,null,null,null)}, +mj(a,b,c){return this.i_(a,null,b,c)}} +A.tg.prototype={ +ig(a,b){if((this.e&2)!==0)return +this.WU(0,b)}, +j7(a,b){if((this.e&2)!==0)return +this.WV(a,b)}, +kf(){var s=this.x +if(s!=null)s.l1(0)}, +kg(){var s=this.x +if(s!=null)s.iU(0)}, +pR(){var s=this.x +if(s!=null){this.x=null +return s.aA(0)}return null}, +a1O(a){this.w.K7(a,this)}, +a24(a,b){this.j7(a,b)}, +a1V(){this.zJ()}} +A.pb.prototype={ +K7(a,b){var s,r,q,p=null +try{p=this.b.$1(a)}catch(q){s=A.a9(q) +r=A.aK(q) +A.auf(b,s,r) +return}if(p)b.ig(0,a)}} +A.Ba.prototype={ +K7(a,b){var s,r,q,p=null +try{p=this.b.$1(a)}catch(q){s=A.a9(q) +r=A.aK(q) +A.auf(b,s,r) +return}b.ig(0,p)}} +A.ajp.prototype={} +A.aki.prototype={ +$0(){A.aBq(this.a,this.b)}, +$S:0} +A.ahH.prototype={ +tk(a){var s,r,q +try{if(B.ad===$.ae){a.$0() +return}A.auT(null,null,this,a)}catch(q){s=A.a9(q) +r=A.aK(q) +A.u8(s,r)}}, +afH(a,b){var s,r,q +try{if(B.ad===$.ae){a.$1(b) +return}A.auV(null,null,this,a,b)}catch(q){s=A.a9(q) +r=A.aK(q) +A.u8(s,r)}}, +tm(a,b){return this.afH(a,b,t.z)}, +afD(a,b,c){var s,r,q +try{if(B.ad===$.ae){a.$2(b,c) +return}A.auU(null,null,this,a,b,c)}catch(q){s=A.a9(q) +r=A.aK(q) +A.u8(s,r)}}, +afE(a,b,c){var s=t.z +return this.afD(a,b,c,s,s)}, +a8Q(a,b,c,d){return new A.ahI(this,a,c,d,b)}, +CC(a){return new A.ahJ(this,a)}, +a8R(a,b){return new A.ahK(this,a,b)}, +k(a,b){return null}, +afA(a){if($.ae===B.ad)return a.$0() +return A.auT(null,null,this,a)}, +eM(a){return this.afA(a,t.z)}, +afG(a,b){if($.ae===B.ad)return a.$1(b) +return A.auV(null,null,this,a,b)}, +tl(a,b){var s=t.z +return this.afG(a,b,s,s)}, +afC(a,b,c){if($.ae===B.ad)return a.$2(b,c) +return A.auU(null,null,this,a,b,c)}, +Su(a,b,c){var s=t.z +return this.afC(a,b,c,s,s,s)}, +afb(a){return a}, +xU(a){var s=t.z +return this.afb(a,s,s,s)}} +A.ahI.prototype={ +$2(a,b){return this.a.Su(this.b,a,b)}, +$S(){return this.e.h("@<0>").bg(this.c).bg(this.d).h("1(2,3)")}} +A.ahJ.prototype={ +$0(){return this.a.tk(this.b)}, +$S:0} +A.ahK.prototype={ +$1(a){return this.a.tm(this.b,a)}, +$S(){return this.c.h("~(0)")}} +A.kk.prototype={ +gu(a){return this.a}, +gM(a){return this.a===0}, +gbd(a){return this.a!==0}, +gbr(a){return new A.oZ(this,A.o(this).h("oZ<1>"))}, +gaI(a){var s=A.o(this) +return A.HB(new A.oZ(this,s.h("oZ<1>")),new A.afo(this),s.c,s.y[1])}, +a9(a,b){var s,r +if(typeof b=="string"&&b!=="__proto__"){s=this.b +return s==null?!1:s[b]!=null}else if(typeof b=="number"&&(b&1073741823)===b){r=this.c +return r==null?!1:r[b]!=null}else return this.nc(b)}, +nc(a){var s=this.d +if(s==null)return!1 +return this.eT(this.JF(s,a),a)>=0}, +k(a,b){var s,r,q +if(typeof b=="string"&&b!=="__proto__"){s=this.b +r=s==null?null:A.anA(s,b) +return r}else if(typeof b=="number"&&(b&1073741823)===b){q=this.c +r=q==null?null:A.anA(q,b) +return r}else return this.JE(0,b)}, +JE(a,b){var s,r,q=this.d +if(q==null)return null +s=this.JF(q,b) +r=this.eT(s,b) +return r<0?null:s[r+1]}, +n(a,b,c){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +q.ID(s==null?q.b=A.anB():s,b,c)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +q.ID(r==null?q.c=A.anB():r,b,c)}else q.Me(b,c)}, +Me(a,b){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=A.anB() +s=p.fk(a) +r=o[s] +if(r==null){A.anC(o,s,[a,b]);++p.a +p.e=null}else{q=p.eT(r,a) +if(q>=0)r[q+1]=b +else{r.push(a,b);++p.a +p.e=null}}}, +bk(a,b,c){var s,r,q=this +if(q.a9(0,b)){s=q.k(0,b) +return s==null?A.o(q).y[1].a(s):s}r=c.$0() +q.n(0,b,r) +return r}, +A(a,b){var s=this +if(typeof b=="string"&&b!=="__proto__")return s.k9(s.b,b) +else if(typeof b=="number"&&(b&1073741823)===b)return s.k9(s.c,b) +else return s.im(0,b)}, +im(a,b){var s,r,q,p,o=this,n=o.d +if(n==null)return null +s=o.fk(b) +r=n[s] +q=o.eT(r,b) +if(q<0)return null;--o.a +o.e=null +p=r.splice(q,2)[1] +if(0===r.length)delete n[s] +return p}, +W(a,b){var s,r,q,p,o,n=this,m=n.zS() +for(s=m.length,r=A.o(n).y[1],q=0;q"))}, +p(a,b){return this.a.a9(0,b)}} +A.tl.prototype={ +gG(a){var s=this.d +return s==null?this.$ti.c.a(s):s}, +q(){var s=this,r=s.b,q=s.c,p=s.a +if(r!==p.e)throw A.c(A.bM(p)) +else if(q>=r.length){s.d=null +return!1}else{s.d=r[q] +s.c=q+1 +return!0}}} +A.j8.prototype={ +nl(){return new A.j8(A.o(this).h("j8<1>"))}, +pQ(a){return new A.j8(a.h("j8<0>"))}, +Be(){return this.pQ(t.z)}, +ga0(a){return new A.ff(this,this.nb(),A.o(this).h("ff<1>"))}, +gu(a){return this.a}, +gM(a){return this.a===0}, +gbd(a){return this.a!==0}, +p(a,b){var s,r +if(typeof b=="string"&&b!=="__proto__"){s=this.b +return s==null?!1:s[b]!=null}else if(typeof b=="number"&&(b&1073741823)===b){r=this.c +return r==null?!1:r[b]!=null}else return this.zX(b)}, +zX(a){var s=this.d +if(s==null)return!1 +return this.eT(s[this.fk(a)],a)>=0}, +D(a,b){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +return q.po(s==null?q.b=A.anD():s,b)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +return q.po(r==null?q.c=A.anD():r,b)}else return q.dM(0,b)}, +dM(a,b){var s,r,q=this,p=q.d +if(p==null)p=q.d=A.anD() +s=q.fk(b) +r=p[s] +if(r==null)p[s]=[b] +else{if(q.eT(r,b)>=0)return!1 +r.push(b)}++q.a +q.e=null +return!0}, +L(a,b){var s +for(s=J.al(b);s.q();)this.D(0,s.gG(s))}, +A(a,b){var s=this +if(typeof b=="string"&&b!=="__proto__")return s.k9(s.b,b) +else if(typeof b=="number"&&(b&1073741823)===b)return s.k9(s.c,b) +else return s.im(0,b)}, +im(a,b){var s,r,q,p=this,o=p.d +if(o==null)return!1 +s=p.fk(b) +r=o[s] +q=p.eT(r,b) +if(q<0)return!1;--p.a +p.e=null +r.splice(q,1) +if(0===r.length)delete o[s] +return!0}, +J(a){var s=this +if(s.a>0){s.b=s.c=s.d=s.e=null +s.a=0}}, +nb(){var s,r,q,p,o,n,m,l,k,j,i=this,h=i.e +if(h!=null)return h +h=A.bc(i.a,null,!1,t.z) +s=i.b +r=0 +if(s!=null){q=Object.getOwnPropertyNames(s) +p=q.length +for(o=0;o=r.length){s.d=null +return!1}else{s.d=r[q] +s.c=q+1 +return!0}}} +A.fg.prototype={ +nl(){return new A.fg(A.o(this).h("fg<1>"))}, +pQ(a){return new A.fg(a.h("fg<0>"))}, +Be(){return this.pQ(t.z)}, +ga0(a){var s=this,r=new A.mn(s,s.r,A.o(s).h("mn<1>")) +r.c=s.e +return r}, +gu(a){return this.a}, +gM(a){return this.a===0}, +gbd(a){return this.a!==0}, +p(a,b){var s,r +if(typeof b=="string"&&b!=="__proto__"){s=this.b +if(s==null)return!1 +return s[b]!=null}else if(typeof b=="number"&&(b&1073741823)===b){r=this.c +if(r==null)return!1 +return r[b]!=null}else return this.zX(b)}, +zX(a){var s=this.d +if(s==null)return!1 +return this.eT(s[this.fk(a)],a)>=0}, +W(a,b){var s=this,r=s.e,q=s.r +for(;r!=null;){b.$1(r.a) +if(q!==s.r)throw A.c(A.bM(s)) +r=r.b}}, +gI(a){var s=this.e +if(s==null)throw A.c(A.R("No elements")) +return s.a}, +gT(a){var s=this.f +if(s==null)throw A.c(A.R("No elements")) +return s.a}, +D(a,b){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +return q.po(s==null?q.b=A.anE():s,b)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +return q.po(r==null?q.c=A.anE():r,b)}else return q.dM(0,b)}, +dM(a,b){var s,r,q=this,p=q.d +if(p==null)p=q.d=A.anE() +s=q.fk(b) +r=p[s] +if(r==null)p[s]=[q.zM(b)] +else{if(q.eT(r,b)>=0)return!1 +r.push(q.zM(b))}return!0}, +A(a,b){var s=this +if(typeof b=="string"&&b!=="__proto__")return s.k9(s.b,b) +else if(typeof b=="number"&&(b&1073741823)===b)return s.k9(s.c,b) +else return s.im(0,b)}, +im(a,b){var s,r,q,p,o=this,n=o.d +if(n==null)return!1 +s=o.fk(b) +r=n[s] +q=o.eT(r,b) +if(q<0)return!1 +p=r.splice(q,1)[0] +if(0===r.length)delete n[s] +o.IE(p) +return!0}, +Ah(a,b){var s,r,q,p,o=this,n=o.e +for(;n!=null;n=r){s=n.a +r=n.b +q=o.r +p=a.$1(s) +if(q!==o.r)throw A.c(A.bM(o)) +if(!0===p)o.A(0,s)}}, +J(a){var s=this +if(s.a>0){s.b=s.c=s.d=s.e=s.f=null +s.a=0 +s.zL()}}, +po(a,b){if(a[b]!=null)return!1 +a[b]=this.zM(b) +return!0}, +k9(a,b){var s +if(a==null)return!1 +s=a[b] +if(s==null)return!1 +this.IE(s) +delete a[b] +return!0}, +zL(){this.r=this.r+1&1073741823}, +zM(a){var s,r=this,q=new A.aga(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.zL() +return q}, +IE(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.zL()}, +fk(a){return J.u(a)&1073741823}, +eT(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"))}, +gu(a){return this.b}, +gI(a){var s +if(this.b===0)throw A.c(A.R("No such element")) +s=this.c +s.toString +return s}, +gT(a){var s +if(this.b===0)throw A.c(A.R("No such element")) +s=this.c.hh$ +s.toString +return s}, +gap(a){var s=this.b +if(s===0)throw A.c(A.R("No such element")) +if(s>1)throw A.c(A.R("Too many elements")) +s=this.c +s.toString +return s}, +gM(a){return this.b===0}, +AZ(a,b,c){var s,r,q=this +if(b.hf$!=null)throw A.c(A.R("LinkedListEntry is already in a LinkedList"));++q.a +b.hf$=q +s=q.b +if(s===0){b.hg$=b +q.c=b.hh$=b +q.b=s+1 +return}r=a.hh$ +r.toString +b.hh$=r +b.hg$=a +a.hh$=r.hg$=b +if(c&&a==q.c)q.c=b +q.b=s+1}, +N3(a){var s,r,q=this;++q.a +s=a.hg$ +s.hh$=a.hh$ +a.hh$.hg$=s +r=--q.b +a.hf$=a.hg$=a.hh$=null +if(r===0)q.c=null +else if(a===q.c)q.c=s}} +A.ts.prototype={ +gG(a){var s=this.c +return s==null?this.$ti.c.a(s):s}, +q(){var s=this,r=s.a +if(s.b!==r.a)throw A.c(A.bM(s)) +if(r.b!==0)r=s.e&&s.d===r.gI(0) +else r=!0 +if(r){s.c=null +return!1}s.e=!0 +r=s.d +s.c=r +s.d=r.hg$ +return!0}} +A.fD.prototype={ +gkU(a){var s=this.hf$ +if(s==null||s.gI(0)===this.hg$)return null +return this.hg$}, +gRE(){var s=this.hf$ +if(s==null||this===s.gI(0))return null +return this.hh$}} +A.X.prototype={ +ga0(a){return new A.bR(a,this.gu(a),A.bo(a).h("bR"))}, +aN(a,b){return this.k(a,b)}, +W(a,b){var s,r=this.gu(a) +for(s=0;s1)throw A.c(A.ln()) +return this.k(a,0)}, +p(a,b){var s,r=this.gu(a) +for(s=0;s"))}, +f1(a,b,c){return new A.aw(a,b,A.bo(a).h("@").bg(c).h("aw<1,2>"))}, +fS(a,b){return A.hr(a,b,null,A.bo(a).h("X.E"))}, +FI(a,b){return A.hr(a,0,A.eQ(b,"count",t.S),A.bo(a).h("X.E"))}, +dn(a,b){var s,r,q,p,o=this +if(o.gM(a)){s=A.bo(a).h("X.E") +return b?J.nF(0,s):J.H7(0,s)}r=o.k(a,0) +q=A.bc(o.gu(a),r,b,A.bo(a).h("X.E")) +for(p=1;p").bg(b).h("bL<1,2>"))}, +fa(a){var s,r=this +if(r.gu(a)===0)throw A.c(A.bB()) +s=r.k(a,r.gu(a)-1) +r.su(a,r.gu(a)-1) +return s}, +a4(a,b){var s=A.a7(a,!0,A.bo(a).h("X.E")) +B.b.L(s,b) +return s}, +c0(a,b,c){var s=this.gu(a) +if(c==null)c=s +A.dm(b,c,s,null,null) +return A.hT(this.tQ(a,b,c),!0,A.bo(a).h("X.E"))}, +fU(a,b){return this.c0(a,b,null)}, +tQ(a,b,c){A.dm(b,c,this.gu(a),null,null) +return A.hr(a,b,c,A.bo(a).h("X.E"))}, +abn(a,b,c,d){var s +A.dm(b,c,this.gu(a),null,null) +for(s=b;s").b(d)){r=e +q=d}else{q=J.pq(d,e).dn(0,!1) +r=0}p=J.ax(q) +if(r+s>p.gu(q))throw A.c(A.ar5()) +if(r=0;--o)this.n(a,b+o,p.k(q,r+o)) +else for(o=0;o"))}, +rR(a,b,c,d){var s,r,q,p,o,n=A.E(c,d) +for(s=J.al(this.gbr(a)),r=A.bo(a).h("aC.V");s.q();){q=s.gG(s) +p=this.k(a,q) +o=b.$2(q,p==null?r.a(p):p) +n.n(0,o.a,o.b)}return n}, +NU(a,b){var s,r +for(s=b.ga0(b);s.q();){r=s.gG(s) +this.n(a,r.a,r.b)}}, +FE(a,b){var s,r,q,p,o=A.bo(a),n=A.b([],o.h("v")) +for(s=J.al(this.gbr(a)),o=o.h("aC.V");s.q();){r=s.gG(s) +q=this.k(a,r) +if(b.$2(r,q==null?o.a(q):q))n.push(r)}for(o=n.length,p=0;p"))}, +i(a){return A.amH(a)}, +$iaA:1} +A.a1M.prototype={ +$1(a){var s=this.a,r=J.b5(s,a) +if(r==null)r=A.bo(s).h("aC.V").a(r) +return new A.bw(a,r,A.bo(s).h("bw"))}, +$S(){return A.bo(this.a).h("bw(aC.K)")}} +A.a1N.prototype={ +$2(a,b){var s,r=this.a +if(!r.a)this.b.a+=", " +r.a=!1 +r=this.b +s=A.h(a) +s=r.a+=s +r.a=s+": " +s=A.h(b) +r.a+=s}, +$S:54} +A.B9.prototype={ +gu(a){return J.cs(this.a)}, +gM(a){return J.fX(this.a)}, +gbd(a){return J.fY(this.a)}, +gI(a){var s=this.a,r=J.dg(s) +s=r.k(s,J.ip(r.gbr(s))) +return s==null?this.$ti.y[1].a(s):s}, +gap(a){var s=this.a,r=J.dg(s) +s=r.k(s,J.DY(r.gbr(s))) +return s==null?this.$ti.y[1].a(s):s}, +gT(a){var s=this.a,r=J.dg(s) +s=r.k(s,J.DX(r.gbr(s))) +return s==null?this.$ti.y[1].a(s):s}, +ga0(a){var s=this.a +return new A.OL(J.al(J.alv(s)),s,this.$ti.h("OL<1,2>"))}} +A.OL.prototype={ +q(){var s=this,r=s.a +if(r.q()){s.c=J.b5(s.b,r.gG(r)) +return!0}s.c=null +return!1}, +gG(a){var s=this.c +return s==null?this.$ti.y[1].a(s):s}} +A.SN.prototype={ +n(a,b,c){throw A.c(A.a1("Cannot modify unmodifiable map"))}, +A(a,b){throw A.c(A.a1("Cannot modify unmodifiable map"))}, +bk(a,b,c){throw A.c(A.a1("Cannot modify unmodifiable map"))}} +A.x7.prototype={ +lL(a,b,c){var s=this.a +return s.lL(s,b,c)}, +k(a,b){return this.a.k(0,b)}, +n(a,b,c){this.a.n(0,b,c)}, +bk(a,b,c){return this.a.bk(0,b,c)}, +a9(a,b){return this.a.a9(0,b)}, +W(a,b){this.a.W(0,b)}, +gM(a){var s=this.a +return s.gM(s)}, +gbd(a){var s=this.a +return s.gbd(s)}, +gu(a){var s=this.a +return s.gu(s)}, +gbr(a){var s=this.a +return s.gbr(s)}, +A(a,b){return this.a.A(0,b)}, +i(a){var s=this.a +return s.i(s)}, +gaI(a){var s=this.a +return s.gaI(s)}, +gfA(a){var s=this.a +return s.gfA(s)}, +rR(a,b,c,d){var s=this.a +return s.rR(s,b,c,d)}, +$iaA:1} +A.oR.prototype={ +lL(a,b,c){var s=this.a +return new A.oR(s.lL(s,b,c),b.h("@<0>").bg(c).h("oR<1,2>"))}} +A.AE.prototype={ +a3Z(a,b){var s=this +s.b=b +s.a=a +if(a!=null)a.b=s +if(b!=null)b.a=s}, +a7x(){var s,r=this,q=r.a +if(q!=null)q.b=r.b +s=r.b +if(s!=null)s.a=q +r.a=r.b=null}} +A.AD.prototype={ +LE(a){var s,r,q=this +q.c=null +s=q.a +if(s!=null)s.b=q.b +r=q.b +if(r!=null)r.a=s +q.a=q.b=null +return q.d}, +i6(a){var s=this,r=s.c +if(r!=null)--r.b +s.c=null +s.a7x() +return s.d}, +ur(){return this}, +$iaqB:1, +gr1(){return this.d}} +A.AF.prototype={ +ur(){return null}, +LE(a){throw A.c(A.bB())}, +gr1(){throw A.c(A.bB())}} +A.vL.prototype={ +dg(a,b){return new A.jr(this,this.$ti.h("@<1>").bg(b).h("jr<1,2>"))}, +gu(a){return this.b}, +vK(a){var s=this.a +new A.AD(this,a,s.$ti.h("AD<1>")).a3Z(s,s.b);++this.b}, +fa(a){var s=this.a.a.LE(0);--this.b +return s}, +gI(a){return this.a.b.gr1()}, +gT(a){return this.a.a.gr1()}, +gap(a){var s=this.a,r=s.b +if(r==s.a)return r.gr1() +throw A.c(A.ln())}, +gM(a){var s=this.a +return s.b===s}, +ga0(a){return new A.Ns(this,this.a.b,this.$ti.h("Ns<1>"))}, +i(a){return A.lo(this,"{","}")}, +$iW:1} +A.Ns.prototype={ +q(){var s=this,r=s.b,q=r==null?null:r.ur() +if(q==null){s.a=s.b=s.c=null +return!1}r=s.a +if(r!=q.c)throw A.c(A.bM(r)) +s.c=q.d +s.b=q.b +return!0}, +gG(a){var s=this.c +return s==null?this.$ti.c.a(s):s}} +A.x0.prototype={ +dg(a,b){return new A.jr(this,this.$ti.h("@<1>").bg(b).h("jr<1,2>"))}, +ga0(a){var s=this +return new A.OI(s,s.c,s.d,s.b,s.$ti.h("OI<1>"))}, +gM(a){return this.b===this.c}, +gu(a){return(this.c-this.b&this.a.length-1)>>>0}, +gI(a){var s=this,r=s.b +if(r===s.c)throw A.c(A.bB()) +r=s.a[r] +return r==null?s.$ti.c.a(r):r}, +gT(a){var s=this,r=s.b,q=s.c +if(r===q)throw A.c(A.bB()) +r=s.a +r=r[(q-1&r.length-1)>>>0] +return r==null?s.$ti.c.a(r):r}, +gap(a){var s,r=this +if(r.b===r.c)throw A.c(A.bB()) +if(r.gu(0)>1)throw A.c(A.ln()) +s=r.a[r.b] +return s==null?r.$ti.c.a(s):s}, +aN(a,b){var s,r=this +A.ar2(b,r.gu(0),r,null) +s=r.a +s=s[(r.b+b&s.length-1)>>>0] +return s==null?r.$ti.c.a(s):s}, +dn(a,b){var s,r,q,p,o,n,m=this,l=m.a.length-1,k=(m.c-m.b&l)>>>0 +if(k===0){s=m.$ti.c +return b?J.nF(0,s):J.H7(0,s)}s=m.$ti.c +r=A.bc(k,m.gI(0),b,s) +for(q=m.a,p=m.b,o=0;o>>0] +r[o]=n==null?s.a(n):n}return r}, +dm(a){return this.dn(0,!0)}, +L(a,b){var s,r,q,p,o,n,m,l,k=this,j=k.$ti +if(j.h("O<1>").b(b)){s=b.length +r=k.gu(0) +q=r+s +p=k.a +o=p.length +if(q>=o){n=A.bc(A.ark(q+(q>>>1)),null,!1,j.h("1?")) +k.c=k.a8j(n) +k.a=n +k.b=0 +B.b.bz(n,r,q,b,0) +k.c+=s}else{j=k.c +m=o-j +if(s>>0)s[p]=null +q.b=q.c=0;++q.d}}, +i(a){return A.lo(this,"{","}")}, +vK(a){var s=this,r=s.b,q=s.a +r=s.b=(r-1&q.length-1)>>>0 +q[r]=a +if(r===s.c)s.K2();++s.d}, +oC(){var s,r,q=this,p=q.b +if(p===q.c)throw A.c(A.bB());++q.d +s=q.a +r=s[p] +if(r==null)r=q.$ti.c.a(r) +s[p]=null +q.b=(p+1&s.length-1)>>>0 +return r}, +fa(a){var s,r=this,q=r.b,p=r.c +if(q===p)throw A.c(A.bB());++r.d +q=r.a +p=r.c=(p-1&q.length-1)>>>0 +s=q[p] +if(s==null)s=r.$ti.c.a(s) +q[p]=null +return s}, +dM(a,b){var s=this,r=s.a,q=s.c +r[q]=b +r=(q+1&r.length-1)>>>0 +s.c=r +if(s.b===r)s.K2();++s.d}, +K2(){var s=this,r=A.bc(s.a.length*2,null,!1,s.$ti.h("1?")),q=s.a,p=s.b,o=q.length-p +B.b.bz(r,0,o,q,p) +B.b.bz(r,o,o+s.b,s.a,0) +s.b=0 +s.c=s.a.length +s.a=r}, +a8j(a){var s,r,q=this,p=q.b,o=q.c,n=q.a +if(p<=o){s=o-p +B.b.bz(a,0,s,n,p) +return s}else{r=n.length-p +B.b.bz(a,0,r,n,p) +B.b.bz(a,r,r+q.c,q.a,0) +return q.c+r}}} +A.OI.prototype={ +gG(a){var s=this.e +return s==null?this.$ti.c.a(s):s}, +q(){var s,r=this,q=r.a +if(r.c!==q.d)A.ab(A.bM(q)) +s=r.d +if(s===r.b){r.e=null +return!1}q=q.a +r.e=q[s] +r.d=(s+1&q.length-1)>>>0 +return!0}} +A.hn.prototype={ +gM(a){return this.gu(this)===0}, +gbd(a){return this.gu(this)!==0}, +dg(a,b){return A.a9E(this,null,A.o(this).c,b)}, +J(a){this.xY(this.dm(0))}, +L(a,b){var s +for(s=J.al(b);s.q();)this.D(0,s.gG(s))}, +xY(a){var s,r +for(s=a.length,r=0;r").bg(c).h("hN<1,2>"))}, +gap(a){var s,r=this +if(r.gu(r)>1)throw A.c(A.ln()) +s=r.ga0(r) +if(!s.q())throw A.c(A.bB()) +return s.gG(s)}, +i(a){return A.lo(this,"{","}")}, +jg(a,b){var s +for(s=this.ga0(this);s.q();)if(b.$1(s.gG(s)))return!0 +return!1}, +fS(a,b){return A.asK(this,b,A.o(this).c)}, +gI(a){var s=this.ga0(this) +if(!s.q())throw A.c(A.bB()) +return s.gG(s)}, +gT(a){var s,r=this.ga0(this) +if(!r.q())throw A.c(A.bB()) +do s=r.gG(r) +while(r.q()) +return s}, +aN(a,b){var s,r +A.dA(b,"index") +s=this.ga0(this) +for(r=b;s.q();){if(r===0)return s.gG(s);--r}throw A.c(A.cE(b,b-r,this,null,"index"))}, +$iW:1, +$ij:1, +$iba:1} +A.tP.prototype={ +dg(a,b){return A.a9E(this,this.gBd(),A.o(this).c,b)}, +hM(a){var s,r,q=this.nl() +for(s=this.ga0(this);s.q();){r=s.gG(s) +if(!a.p(0,r))q.D(0,r)}return q}, +jy(a,b){var s,r,q=this.nl() +for(s=this.ga0(this);s.q();){r=s.gG(s) +if(b.p(0,r))q.D(0,r)}return q}, +hr(a){var s=this.nl() +s.L(0,this) +return s}} +A.RO.prototype={} +A.eO.prototype={} +A.eN.prototype={ +a5Z(a){var s=this,r=new A.eN(a,s.a,s.$ti) +r.b=s.b +r.c=s.c +return r}} +A.RN.prototype={ +hD(a){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=null,f=h.gcN() +if(f==null){h.zP(a,a) +return-1}s=h.gzO() +for(r=g,q=f,p=r,o=p,n=o,m=n;!0;){r=s.$2(q.a,a) +if(r>0){l=q.b +if(l==null)break +r=s.$2(l.a,a) +if(r>0){q.b=l.c +l.c=q +k=l.b +if(k==null){q=l +break}q=l +l=k}if(m==null)n=q +else m.b=q +m=q +q=l}else{if(r<0){j=q.c +if(j==null)break +r=s.$2(j.a,a) +if(r<0){q.c=j.b +j.b=q +i=j.c +if(i==null){q=j +break}q=j +j=i}if(o==null)p=q +else o.c=q}else break +o=q +q=j}}if(o!=null){o.c=q.b +q.b=p}if(m!=null){m.b=q.c +q.c=n}if(h.gcN()!==q){h.scN(q);++h.c}return r}, +a78(a){var s,r,q=a.b +for(s=a;q!=null;s=q,q=r){s.b=q.c +q.c=s +r=q.b}return s}, +Mx(a){var s,r,q=a.c +for(s=a;q!=null;s=q,q=r){s.c=q.b +q.b=s +r=q.c}return s}, +im(a,b){var s,r,q,p,o=this +if(o.gcN()==null)return null +if(o.hD(b)!==0)return null +s=o.gcN() +r=s.b;--o.a +q=s.c +if(r==null)o.scN(q) +else{p=o.Mx(r) +p.c=q +o.scN(p)}++o.b +return s}, +zo(a,b){var s,r=this;++r.a;++r.b +s=r.gcN() +if(s==null){r.scN(a) +return}if(b<0){a.b=s +a.c=s.c +s.c=null}else{a.c=s +a.b=s.b +s.b=null}r.scN(a)}, +gJs(){var s=this,r=s.gcN() +if(r==null)return null +s.scN(s.a78(r)) +return s.gcN()}, +gKU(){var s=this,r=s.gcN() +if(r==null)return null +s.scN(s.Mx(r)) +return s.gcN()}, +ZV(a){this.scN(null) +this.a=0;++this.b}, +nc(a){return this.C9(a)&&this.hD(a)===0}, +zP(a,b){return this.gzO().$2(a,b)}, +C9(a){return this.gagG().$1(a)}} +A.zr.prototype={ +k(a,b){var s=this +if(!s.f.$1(b))return null +if(s.d!=null)if(s.hD(b)===0)return s.d.d +return null}, +A(a,b){var s +if(!this.f.$1(b))return null +s=this.im(0,b) +if(s!=null)return s.d +return null}, +n(a,b,c){var s=this,r=s.hD(b) +if(r===0){s.d=s.d.a5Z(c);++s.c +return}s.zo(new A.eN(c,b,s.$ti.h("eN<1,2>")),r)}, +bk(a,b,c){var s,r,q,p=this,o=p.hD(b) +if(o===0)return p.d.d +s=p.b +r=p.c +q=c.$0() +if(s!==p.b)throw A.c(A.bM(p)) +if(r!==p.c)o=p.hD(b) +p.zo(new A.eN(q,b,p.$ti.h("eN<1,2>")),o) +return q}, +gM(a){return this.d==null}, +gbd(a){return this.d!=null}, +W(a,b){var s,r=this.$ti,q=new A.p5(this,A.b([],r.h("v>")),this.c,r.h("p5<1,2>")) +for(;q.q();){s=q.gG(0) +b.$2(s.a,s.b)}}, +gu(a){return this.a}, +a9(a,b){return this.nc(b)}, +gbr(a){return new A.kn(this,this.$ti.h("kn<1,eN<1,2>>"))}, +gaI(a){return new A.p6(this,this.$ti.h("p6<1,2>"))}, +gfA(a){return new A.Cq(this,this.$ti.h("Cq<1,2>"))}, +abt(){if(this.d==null)return null +return this.gJs().a}, +R0(){if(this.d==null)return null +return this.gKU().a}, +adJ(a){var s,r,q,p=this +if(p.d==null)return null +if(p.hD(a)<0)return p.d.a +s=p.d.b +if(s==null)return null +r=s.c +for(;r!=null;s=r,r=q)q=r.c +return s.a}, +abu(a){var s,r,q,p=this +if(p.d==null)return null +if(p.hD(a)>0)return p.d.a +s=p.d.c +if(s==null)return null +r=s.b +for(;r!=null;s=r,r=q)q=r.b +return s.a}, +$iaA:1, +zP(a,b){return this.e.$2(a,b)}, +C9(a){return this.f.$1(a)}, +gcN(){return this.d}, +gzO(){return this.e}, +scN(a){return this.d=a}} +A.aa7.prototype={ +$1(a){return this.a.b(a)}, +$S:166} +A.jd.prototype={ +gG(a){var s=this.b +if(s.length===0){A.o(this).h("jd.T").a(null) +return null}return this.AC(B.b.gT(s))}, +a5K(a){var s,r,q=this.b +B.b.J(q) +s=this.a +s.hD(a) +r=s.gcN() +r.toString +q.push(r) +this.d=s.c}, +q(){var s,r,q=this,p=q.c,o=q.a,n=o.b +if(p!==n){if(p==null){q.c=n +s=o.gcN() +for(p=q.b;s!=null;){p.push(s) +s=s.b}return p.length!==0}throw A.c(A.bM(o))}p=q.b +if(p.length===0)return!1 +if(q.d!==o.c)q.a5K(B.b.gT(p).a) +s=B.b.gT(p) +r=s.c +if(r!=null){for(;r!=null;){p.push(r) +r=r.b}return!0}p.pop() +while(!0){if(!(p.length!==0&&B.b.gT(p).c===s))break +s=p.pop()}return p.length!==0}} +A.kn.prototype={ +gu(a){return this.a.a}, +gM(a){return this.a.a===0}, +ga0(a){var s=this.a,r=this.$ti +return new A.ko(s,A.b([],r.h("v<2>")),s.c,r.h("ko<1,2>"))}, +p(a,b){return this.a.nc(b)}, +hr(a){var s=this.a,r=this.$ti,q=A.aa8(s.e,s.f,r.c) +q.a=s.a +q.d=q.IW(s.d,r.y[1]) +return q}} +A.p6.prototype={ +gu(a){return this.a.a}, +gM(a){return this.a.a===0}, +ga0(a){var s=this.a,r=this.$ti +return new A.Cu(s,A.b([],r.h("v>")),s.c,r.h("Cu<1,2>"))}} +A.Cq.prototype={ +gu(a){return this.a.a}, +gM(a){return this.a.a===0}, +ga0(a){var s=this.a,r=this.$ti +return new A.p5(s,A.b([],r.h("v>")),s.c,r.h("p5<1,2>"))}} +A.ko.prototype={ +AC(a){return a.a}} +A.Cu.prototype={ +AC(a){return a.d}} +A.p5.prototype={ +AC(a){return new A.bw(a.a,a.d,this.$ti.h("bw<1,2>"))}} +A.rv.prototype={ +L6(a){return A.aa8(new A.aaa(this,a),this.f,a)}, +nl(){return this.L6(t.z)}, +dg(a,b){return A.a9E(this,this.ga4z(),this.$ti.c,b)}, +ga0(a){var s=this.$ti +return new A.ko(this,A.b([],s.h("v>")),this.c,s.h("ko<1,eO<1>>"))}, +gu(a){return this.a}, +gM(a){return this.d==null}, +gbd(a){return this.d!=null}, +gI(a){if(this.a===0)throw A.c(A.bB()) +return this.gJs().a}, +gT(a){if(this.a===0)throw A.c(A.bB()) +return this.gKU().a}, +gap(a){var s=this.a +if(s===0)throw A.c(A.bB()) +if(s>1)throw A.c(A.ln()) +return this.d.a}, +p(a,b){return this.f.$1(b)&&this.hD(this.$ti.c.a(b))===0}, +D(a,b){return this.dM(0,b)}, +dM(a,b){var s=this.hD(b) +if(s===0)return!1 +this.zo(new A.eO(b,this.$ti.h("eO<1>")),s) +return!0}, +A(a,b){if(!this.f.$1(b))return!1 +return this.im(0,this.$ti.c.a(b))!=null}, +L(a,b){var s,r +for(s=J.al(b.gew()),r=A.o(b).y[1];s.q();)this.dM(0,r.a(s.gG(s)))}, +xY(a){var s,r,q,p +for(s=a.length,r=this.$ti.c,q=0;q>")),r.c,q.h("ko<1,eO<1>>"));q.q();){s=q.gG(0) +if(b.p(0,s))p.dM(0,s)}return p}, +IW(a,b){var s +if(a==null)return null +s=new A.eO(a.a,this.$ti.h("eO<1>")) +new A.aa9(this,b).$2(a,s) +return s}, +J(a){this.ZV(0)}, +hr(a){var s=this,r=s.$ti,q=A.aa8(s.e,s.f,r.c) +q.a=s.a +q.d=s.IW(s.d,r.h("eO<1>")) +return q}, +i(a){return A.lo(this,"{","}")}, +$iW:1, +$iba:1, +zP(a,b){return this.e.$2(a,b)}, +C9(a){return this.f.$1(a)}, +gcN(){return this.d}, +gzO(){return this.e}, +scN(a){return this.d=a}} +A.aaa.prototype={ +$2(a,b){var s=this.a,r=s.$ti.c +r.a(a) +r.a(b) +return s.e.$2(a,b)}, +$S(){return this.b.h("p(0,0)")}} +A.aa9.prototype={ +$2(a,b){var s,r,q,p,o,n=this.a.$ti.h("eO<1>") +do{s=a.b +r=a.c +if(s!=null){q=new A.eO(s.a,n) +b.b=q +this.$2(s,q)}p=r!=null +if(p){o=new A.eO(r.a,n) +b.c=o +b=o +a=r}}while(p)}, +$S(){return this.a.$ti.bg(this.b).h("~(1,eO<2>)")}} +A.Cr.prototype={} +A.Cs.prototype={} +A.Ct.prototype={} +A.CR.prototype={} +A.Ow.prototype={ +k(a,b){var s,r=this.b +if(r==null)return this.c.k(0,b) +else if(typeof b!="string")return null +else{s=r[b] +return typeof s=="undefined"?this.a5E(b):s}}, +gu(a){return this.b==null?this.c.a:this.nd().length}, +gM(a){return this.gu(0)===0}, +gbd(a){return this.gu(0)>0}, +gbr(a){var s +if(this.b==null){s=this.c +return new A.aZ(s,A.o(s).h("aZ<1>"))}return new A.Ox(this)}, +gaI(a){var s=this +if(s.b==null)return s.c.gaI(0) +return A.HB(s.nd(),new A.ag3(s),t.N,t.z)}, +n(a,b,c){var s,r,q=this +if(q.b==null)q.c.n(0,b,c) +else if(q.a9(0,b)){s=q.b +s[b]=c +r=q.a +if(r==null?s!=null:r!==s)r[b]=null}else q.NG().n(0,b,c)}, +a9(a,b){if(this.b==null)return this.c.a9(0,b) +if(typeof b!="string")return!1 +return Object.prototype.hasOwnProperty.call(this.a,b)}, +bk(a,b,c){var s +if(this.a9(0,b))return this.k(0,b) +s=c.$0() +this.n(0,b,s) +return s}, +A(a,b){if(this.b!=null&&!this.a9(0,b))return null +return this.NG().A(0,b)}, +W(a,b){var s,r,q,p,o=this +if(o.b==null)return o.c.W(0,b) +s=o.nd() +for(r=0;r"))}return s}, +p(a,b){return this.a.a9(0,b)}} +A.B5.prototype={ +aM(a){var s,r,q=this +q.XK(0) +s=q.a +r=s.a +s.a="" +s=q.c +s.D(0,A.auQ(r.charCodeAt(0)==0?r:r,q.b)) +s.aM(0)}} +A.ajb.prototype={ +$0(){var s,r +try{s=new TextDecoder("utf-8",{fatal:true}) +return s}catch(r){}return null}, +$S:169} +A.aja.prototype={ +$0(){var s,r +try{s=new TextDecoder("utf-8",{fatal:false}) +return s}catch(r){}return null}, +$S:169} +A.Vf.prototype={ +gDF(){return B.yv}, +aem(a,a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=null,b="Invalid base64 encoding length " +a2=A.dm(a1,a2,a0.length,c,c) +s=$.ap_() +for(r=a1,q=r,p=c,o=-1,n=-1,m=0;r=0){i=u.U.charCodeAt(h) +if(i===k)continue +k=i}else{if(h===-1){if(o<0){g=p==null?c:p.a.length +if(g==null)g=0 +o=g+(r-q) +n=r}++m +if(k===61)continue}k=i}if(h!==-2){if(p==null){p=new A.ch("") +g=p}else g=p +g.a+=B.d.ak(a0,q,r) +f=A.dN(k) +g.a+=f +q=l +continue}}throw A.c(A.bG("Invalid base64 data",a0,r))}if(p!=null){g=B.d.ak(a0,q,a2) +g=p.a+=g +f=g.length +if(o>=0)A.apy(a0,n,a2,o,m,f) +else{e=B.f.bp(f-1,4)+1 +if(e===1)throw A.c(A.bG(b,a0,a2)) +for(;e<4;){g+="=" +p.a=g;++e}}g=p.a +return B.d.oF(a0,a1,a2,g.charCodeAt(0)==0?g:g)}d=a2-a1 +if(o>=0)A.apy(a0,n,a2,o,m,d) +else{e=B.f.bp(d,4) +if(e===1)throw A.c(A.bG(b,a0,a2)) +if(e>1)a0=B.d.oF(a0,a2,a2,e===2?"==":"=")}return a0}} +A.Vh.prototype={ +d7(a){var s=a.length +if(s===0)return"" +s=new A.Me(u.U).PJ(a,0,s,!0) +s.toString +return A.aau(s,0,null)}, +j4(a){return new A.aj9(new A.SQ(new A.CU(!1),a,a.a),new A.Me(u.U))}} +A.Me.prototype={ +aa8(a,b){return new Uint8Array(b)}, +PJ(a,b,c,d){var s,r=this,q=(r.a&3)+(c-b),p=B.f.c9(q,3),o=p*4 +if(d&&q-p*3>0)o+=4 +s=r.aa8(0,o) +r.a=A.aFI(r.b,a,b,c,d,s,0,r.a) +if(o>0)return s +return null}} +A.acU.prototype={ +D(a,b){this.IS(0,b,0,b.length,!1)}, +aM(a){this.IS(0,B.lP,0,0,!0)}} +A.aj9.prototype={ +IS(a,b,c,d,e){var s=this.b.PJ(b,c,d,e) +if(s!=null)this.a.lI(s,0,s.length,e)}} +A.Vg.prototype={ +OM(a,b){var s,r,q=A.dm(b,null,a.length,null,null) +if(b===q)return new Uint8Array(0) +s=new A.Md() +r=s.Da(0,a,b,q) +r.toString +s.CN(0,a,q) +return r}, +d7(a){return this.OM(a,0)}, +j4(a){return new A.acT(a,new A.Md())}} +A.Md.prototype={ +Da(a,b,c,d){var s,r=this,q=r.a +if(q<0){r.a=A.atn(b,c,d,q) +return null}if(c===d)return new Uint8Array(0) +s=A.aFF(b,c,d,q) +r.a=A.aFH(b,c,d,s,0,r.a) +return s}, +CN(a,b,c){var s=this.a +if(s<-1)throw A.c(A.bG("Missing padding character",b,c)) +if(s>0)throw A.c(A.bG("Invalid length, must be multiple of four",b,c)) +this.a=-1}} +A.acT.prototype={ +D(a,b){var s,r=b.length +if(r===0)return +s=this.b.Da(0,b,0,r) +if(s!=null)this.a.a.a+=s}, +aM(a){this.b.CN(0,null,null) +this.a.aM(0)}, +lI(a,b,c,d){var s,r +A.dm(b,c,a.length,null,null) +if(b===c)return +s=this.b +r=s.Da(0,a,b,c) +if(r!=null)this.a.a.a+=r +if(d){s.CN(0,a,c) +this.a.aM(0)}}} +A.VH.prototype={} +A.adC.prototype={ +D(a,b){this.a.a.a+=b}, +aM(a){this.a.aM(0)}} +A.ER.prototype={} +A.Rx.prototype={ +D(a,b){this.b.push(b)}, +aM(a){this.a.$1(this.b)}} +A.F9.prototype={} +A.vj.prototype={ +abE(a){return new A.O3(this,a)}, +j4(a){throw A.c(A.a1("This converter does not support chunked conversions: "+this.i(0)))}} +A.O3.prototype={ +j4(a){return this.a.j4(new A.B5(this.b.a,a,new A.ch("")))}} +A.YB.prototype={} +A.wT.prototype={ +i(a){var s=A.na(this.a) +return(this.b!=null?"Converting object to an encodable object failed:":"Converting object did not return an encodable object:")+" "+s}} +A.Ha.prototype={ +i(a){return"Cyclic error in JSON stringify"}} +A.a17.prototype={ +eA(a,b){var s=A.auQ(b,this.gaan().a) +return s}, +wv(a,b){var s=this.gDF() +s=A.aFT(a,s.b,s.a) +return s}, +DE(a){return this.wv(a,null)}, +gDF(){return B.CZ}, +gaan(){return B.lC}} +A.a19.prototype={ +j4(a){return new A.ag2(this.a,this.b,a)}} +A.ag2.prototype={ +D(a,b){var s,r=this +if(r.d)throw A.c(A.R("Only one call to add allowed")) +r.d=!0 +s=r.c.Og() +A.atz(b,s,r.b,r.a) +s.aM(0)}, +aM(a){}} +A.a18.prototype={ +j4(a){return new A.B5(this.a,a,new A.ch(""))}} +A.ag7.prototype={ +G2(a){var s,r,q,p,o,n=this,m=a.length +for(s=0,r=0;r92){if(q>=55296){p=q&64512 +if(p===55296){o=r+1 +o=!(o=0&&(a.charCodeAt(p)&64512)===55296)}else p=!1 +else p=!0 +if(p){if(r>s)n.yk(a,s,r) +s=r+1 +n.cK(92) +n.cK(117) +n.cK(100) +p=q>>>8&15 +n.cK(p<10?48+p:87+p) +p=q>>>4&15 +n.cK(p<10?48+p:87+p) +p=q&15 +n.cK(p<10?48+p:87+p)}}continue}if(q<32){if(r>s)n.yk(a,s,r) +s=r+1 +n.cK(92) +switch(q){case 8:n.cK(98) +break +case 9:n.cK(116) +break +case 10:n.cK(110) +break +case 12:n.cK(102) +break +case 13:n.cK(114) +break +default:n.cK(117) +n.cK(48) +n.cK(48) +p=q>>>4&15 +n.cK(p<10?48+p:87+p) +p=q&15 +n.cK(p<10?48+p:87+p) +break}}else if(q===34||q===92){if(r>s)n.yk(a,s,r) +s=r+1 +n.cK(92) +n.cK(q)}}if(s===0)n.co(a) +else if(s16)this.zZ()}, +oS(a,b){if(this.a.a.length!==0)this.zZ() +this.b.D(0,b)}, +zZ(){var s=this.a,r=s.a +s.a="" +this.b.D(0,r.charCodeAt(0)==0?r:r)}} +A.CA.prototype={ +aM(a){}, +lI(a,b,c,d){var s,r,q +if(b!==0||c!==a.length)for(s=this.a,r=b;r>>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.vF() +return!1}}, +Jn(a,b,c){var s,r,q,p,o,n,m,l=this +if(b!==c&&(a.charCodeAt(c-1)&64512)===55296)--c +for(s=l.c,r=s.length,q=b;q=r)break +l.b=o+1 +s[o]=p}else{o=p&64512 +if(o===55296){if(l.b+4>r)break +n=q+1 +if(l.NR(p,a.charCodeAt(n)))q=n}else if(o===56320){if(l.b+3>r)break +l.vF()}else if(p<=2047){o=l.b +m=o+1 +if(m>=r)break +l.b=m +s[o]=p>>>6|192 +l.b=m+1 +s[m]=p&63|128}else{o=l.b +if(o+2>=r)break +m=l.b=o+1 +s[o]=p>>>12|224 +o=l.b=m+1 +s[m]=p>>>6&63|128 +l.b=o+1 +s[o]=p&63|128}}}return q}} +A.ajc.prototype={ +aM(a){if(this.a!==0){this.lI("",0,0,!0) +return}this.d.a.aM(0)}, +lI(a,b,c,d){var s,r,q,p,o,n=this +n.b=0 +s=b===c +if(s&&!d)return +r=n.a +if(r!==0){if(n.NR(r,!s?a.charCodeAt(b):0))++b +n.a=0}s=n.d +r=n.c +q=c-1 +p=r.length-3 +do{b=n.Jn(a,b,c) +o=d&&b===c +if(b===q&&(a.charCodeAt(b)&64512)===55296){if(d&&n.b=15){p=m.a +o=A.aGL(p,r,b,l) +if(o!=null){if(!p)return o +if(o.indexOf("\ufffd")<0)return o}}o=m.A4(r,b,l,d) +p=m.b +if((p&1)!==0){n=A.aua(p) +m.b=0 +throw A.c(A.bG(n,a,q+m.c))}return o}, +A4(a,b,c,d){var s,r,q=this +if(c-b>1000){s=B.f.c9(b+c,2) +r=q.A4(a,b,s,!1) +if((q.b&1)!==0)return r +return r+q.A4(a,s,c,d)}return q.aam(a,b,c,d)}, +abx(a,b){var s,r=this.b +this.b=0 +if(r<=32)return +if(this.a){s=A.dN(65533) +b.a+=s}else throw A.c(A.bG(A.aua(77),null,null))}, +aam(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.ch(""),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.dN(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.dN(k) +h.a+=q +break +case 65:q=A.dN(k) +h.a+=q;--g +break +default:q=A.dN(k) +q=h.a+=q +h.a=q+A.dN(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.dN(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.Tc.prototype={} +A.TX.prototype={} +A.pa.prototype={} +A.a5A.prototype={ +$2(a,b){var s=this.b,r=this.a,q=s.a+=r.a +q+=a.a +s.a=q +s.a=q+": " +q=A.na(b) +s.a+=q +r.a=", "}, +$S:253} +A.aj7.prototype={ +$2(a,b){var s,r +if(typeof b=="string")this.a.set(a,b) +else if(b==null)this.a.set(a,"") +else for(s=J.al(b),r=this.a;s.q();){b=s.gG(s) +if(typeof b=="string")r.append(a,b) +else if(b==null)r.append(a,"") +else A.cO(b)}}, +$S:19} +A.et.prototype={ +zn(a){var s=1000,r=B.f.bp(a,s),q=B.f.c9(a-r,s),p=this.b+r,o=B.f.bp(p,s),n=this.c +return new A.et(A.Fs(this.a+B.f.c9(p-o,s)+q,o,n),o,n)}, +hM(a){return A.cR(this.b-a.b,this.a-a.a)}, +j(a,b){if(b==null)return!1 +return b instanceof A.et&&this.a===b.a&&this.b===b.b&&this.c===b.c}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +QO(a){var s=this.a,r=a.a +if(s>=r)s=s===r&&this.br)s=": Not in inclusive range "+A.h(r)+".."+A.h(q) +else s=qe.length +else s=!1 +if(s)f=null +if(f==null){if(e.length>78)e=B.d.ak(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.d.ak(e,i,j)+k+"\n"+B.d.ac(" ",f-i+l.length)+"^\n"}else return f!=null?g+(" (at offset "+A.h(f)+")"):g}, +$ibQ:1} +A.j.prototype={ +dg(a,b){return A.eT(this,A.bo(this).h("j.E"),b)}, +DX(a,b){var s=this,r=A.bo(s) +if(r.h("W").b(s))return A.aqQ(s,b,r.h("j.E")) +return new A.jy(s,b,r.h("jy"))}, +f1(a,b,c){return A.HB(this,b,A.bo(this).h("j.E"),c)}, +jQ(a,b){return new A.aF(this,b,A.bo(this).h("aF"))}, +p(a,b){var s +for(s=this.ga0(this);s.q();)if(J.e(s.gG(s),b))return!0 +return!1}, +W(a,b){var s +for(s=this.ga0(this);s.q();)b.$1(s.gG(s))}, +bD(a,b){var s,r,q=this.ga0(this) +if(!q.q())return"" +s=J.en(q.gG(q)) +if(!q.q())return s +if(b.length===0){r=s +do r+=J.en(q.gG(q)) +while(q.q())}else{r=s +do r=r+b+J.en(q.gG(q)) +while(q.q())}return r.charCodeAt(0)==0?r:r}, +EH(a){return this.bD(0,"")}, +jg(a,b){var s +for(s=this.ga0(this);s.q();)if(b.$1(s.gG(s)))return!0 +return!1}, +dn(a,b){return A.a7(this,b,A.bo(this).h("j.E"))}, +dm(a){return this.dn(0,!0)}, +hr(a){return A.ew(this,A.bo(this).h("j.E"))}, +gu(a){var s,r=this.ga0(this) +for(s=0;r.q();)++s +return s}, +gM(a){return!this.ga0(this).q()}, +gbd(a){return!this.gM(this)}, +FI(a,b){return A.aEX(this,b,A.bo(this).h("j.E"))}, +fS(a,b){return A.asK(this,b,A.bo(this).h("j.E"))}, +gI(a){var s=this.ga0(this) +if(!s.q())throw A.c(A.bB()) +return s.gG(s)}, +gT(a){var s,r=this.ga0(this) +if(!r.q())throw A.c(A.bB()) +do s=r.gG(r) +while(r.q()) +return s}, +gap(a){var s,r=this.ga0(this) +if(!r.q())throw A.c(A.bB()) +s=r.gG(r) +if(r.q())throw A.c(A.ln()) +return s}, +R1(a,b){var s,r,q=this.ga0(this) +do{if(!q.q())throw A.c(A.bB()) +s=q.gG(q)}while(!b.$1(s)) +for(;q.q();){r=q.gG(q) +if(b.$1(r))s=r}return s}, +aN(a,b){var s,r +A.dA(b,"index") +s=this.ga0(this) +for(r=b;s.q();){if(r===0)return s.gG(s);--r}throw A.c(A.cE(b,b-r,this,null,"index"))}, +i(a){return A.ar8(this,"(",")")}} +A.AV.prototype={ +aN(a,b){A.ar2(b,this.a,this,null) +return this.b.$1(b)}, +gu(a){return this.a}} +A.bw.prototype={ +i(a){return"MapEntry("+A.h(this.a)+": "+A.h(this.b)+")"}} +A.aT.prototype={ +gt(a){return A.J.prototype.gt.call(this,0)}, +i(a){return"null"}} +A.J.prototype={$iJ:1, +j(a,b){return this===b}, +gt(a){return A.f8(this)}, +i(a){return"Instance of '"+A.a6J(this)+"'"}, +gcJ(a){return A.t(this)}, +toString(){return this.i(this)}} +A.RV.prototype={ +i(a){return""}, +$icg:1} +A.zx.prototype={ +gaaV(){var s=this.gPG() +if($.DR()===1e6)return s +return s*1000}, +gDB(){var s=this.gPG() +if($.DR()===1000)return s +return B.f.c9(s,1000)}, +mX(a){var s=this,r=s.b +if(r!=null){s.a=s.a+($.J7.$0()-r) +s.b=null}}, +eK(a){var s=this.b +this.a=s==null?$.J7.$0():s}, +gPG(){var s=this.b +if(s==null)s=$.J7.$0() +return s-this.a}} +A.a8l.prototype={ +gG(a){return this.d}, +q(){var s,r,q,p=this,o=p.b=p.c,n=p.a,m=n.length +if(o===m){p.d=-1 +return!1}s=n.charCodeAt(o) +r=o+1 +if((s&64512)===55296&&r4)this.a.$2("an IPv6 part can only contain a maximum of 4 hex digits",a) +s=A.il(B.d.ak(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:277} +A.CS.prototype={ +gq4(){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.h(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.a0() +n=o.w=s.charCodeAt(0)==0?s:s}return n}, +gxE(){var s,r,q=this,p=q.x +if(p===$){s=q.e +if(s.length!==0&&s.charCodeAt(0)===47)s=B.d.fh(s,1) +r=s.length===0?B.lO:A.Hs(new A.aw(A.b(s.split("/"),t.s),A.aJ2(),t.Gf),t.N) +q.x!==$&&A.a0() +p=q.x=r}return p}, +gt(a){var s,r=this,q=r.y +if(q===$){s=B.d.gt(r.gq4()) +r.y!==$&&A.a0() +r.y=s +q=s}return q}, +gms(){var s,r,q=this,p=q.Q +if(p===$){s=q.f +r=A.aGD(s==null?"":s) +q.Q!==$&&A.a0() +q.Q=r +p=r}return p}, +gSP(){return this.b}, +gEr(a){var s=this.c +if(s==null)return"" +if(B.d.bW(s,"["))return B.d.ak(s,1,s.length-1) +return s}, +gFq(a){var s=this.d +return s==null?A.atV(this.a):s}, +gFx(a){var s=this.f +return s==null?"":s}, +gkN(){var s=this.r +return s==null?"":s}, +QV(a){var s=this.a +if(a.length!==s.length)return!1 +return A.auk(a,s,0)>=0}, +gQs(){return this.a.length!==0}, +gEj(){return this.c!=null}, +gEn(){return this.f!=null}, +gEl(){return this.r!=null}, +i(a){return this.gq4()}, +j(a,b){var s,r,q,p=this +if(b==null)return!1 +if(p===b)return!0 +s=!1 +if(t.Xu.b(b))if(p.a===b.gmN())if(p.c!=null===b.gEj())if(p.b===b.gSP())if(p.gEr(0)===b.gEr(b))if(p.gFq(0)===b.gFq(b))if(p.e===b.gf6(b)){r=p.f +q=r==null +if(!q===b.gEn()){if(q)r="" +if(r===b.gFx(b)){r=p.r +q=r==null +if(!q===b.gEl()){s=q?"":r +s=s===b.gkN()}}}}return s}, +$iLw:1, +gmN(){return this.a}, +gf6(a){return this.e}} +A.aj6.prototype={ +$2(a,b){var s=this.b,r=this.a +s.a+=r.a +r.a="&" +r=A.SO(B.eY,a,B.a3,!0) +r=s.a+=r +if(b!=null&&b.length!==0){s.a=r+"=" +r=A.SO(B.eY,b,B.a3,!0) +s.a+=r}}, +$S:279} +A.aj5.prototype={ +$2(a,b){var s,r +if(b==null||typeof b=="string")this.a.$2(a,b) +else for(s=J.al(b),r=this.a;s.q();)r.$2(a,s.gG(s))}, +$S:19} +A.aj8.prototype={ +$3(a,b,c){var s,r,q,p +if(a===c)return +s=this.a +r=this.b +if(b<0){q=A.tY(s,a,c,r,!0) +p=""}else{q=A.tY(s,a,b,r,!0) +p=A.tY(s,b+1,c,r,!0)}J.em(this.c.bk(0,q,A.aJ3()),p)}, +$S:282} +A.abZ.prototype={ +goP(){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.d.oh(m,"?",s) +q=m.length +if(r>=0){p=A.CT(m,r+1,q,B.eV,!1,!1) +q=r}else p=n +m=o.c=new A.N5("data","",n,n,A.CT(m,s,q,B.lL,!1,!1),p,n)}return m}, +a9K(){var s,r,q,p,o,n,m,l,k=this.a,j=this.b,i=B.b.gT(j)+1 +if((j.length&1)===1)return B.eg.OM(k,i) +j=k.length +s=j-i +for(r=i;r=0){n=p+1 +q[p]=l +r=m +p=n +continue}}throw A.c(A.bG("Invalid percent escape",k,r))}p=n}return q}, +i(a){var s=this.a +return this.b[0]===-1?"data:"+s:s}} +A.ajM.prototype={ +$2(a,b){var s=this.a[a] +B.W.abn(s,0,96,b) +return s}, +$S:284} +A.ajN.prototype={ +$3(a,b,c){var s,r +for(s=b.length,r=0;r>>0]=c}, +$S:93} +A.Ry.prototype={ +gQs(){return this.b>0}, +gEj(){return this.c>0}, +gEn(){return this.f=0}, +gmN(){var s=this.w +return s==null?this.w=this.a_d():s}, +a_d(){var s,r=this,q=r.b +if(q<=0)return"" +s=q===4 +if(s&&B.d.bW(r.a,"http"))return"http" +if(q===5&&B.d.bW(r.a,"https"))return"https" +if(s&&B.d.bW(r.a,"file"))return"file" +if(q===7&&B.d.bW(r.a,"package"))return"package" +return B.d.ak(r.a,0,q)}, +gSP(){var s=this.c,r=this.b+3 +return s>r?B.d.ak(this.a,r,s-1):""}, +gEr(a){var s=this.c +return s>0?B.d.ak(this.a,s,this.d):""}, +gFq(a){var s,r=this +if(r.c>0&&r.d+1=this.r)return B.qP +var s=A.au8(this.gFx(0)) +s.SH(s,A.avh()) +return A.alP(s,t.N,t.yp)}, +gt(a){var s=this.x +return s==null?this.x=B.d.gt(this.a):s}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +return t.Xu.b(b)&&this.a===b.i(0)}, +i(a){return this.a}, +$iLw:1} +A.N5.prototype={} +A.w8.prototype={ +k(a,b){var s=!0 +s=typeof b=="string" +if(s)A.q4(b) +return this.a.get(b)}, +n(a,b,c){this.a.set(b,c)}, +i(a){return"Expando:null"}} +A.lY.prototype={} +A.at.prototype={} +A.E2.prototype={ +gu(a){return a.length}} +A.E7.prototype={ +i(a){var s=String(a) +s.toString +return s}} +A.Ee.prototype={ +i(a){var s=String(a) +s.toString +return s}} +A.uK.prototype={} +A.iu.prototype={ +gu(a){return a.length}} +A.Fj.prototype={ +gu(a){return a.length}} +A.bN.prototype={$ibN:1} +A.pT.prototype={ +gu(a){var s=a.length +s.toString +return s}} +A.X8.prototype={} +A.er.prototype={} +A.hG.prototype={} +A.Fk.prototype={ +gu(a){return a.length}} +A.Fl.prototype={ +gu(a){return a.length}} +A.Fq.prototype={ +gu(a){return a.length}, +k(a,b){var s=a[b] +s.toString +return s}} +A.FS.prototype={ +i(a){var s=String(a) +s.toString +return s}} +A.vJ.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.vK.prototype={ +i(a){var s,r=a.left +r.toString +s=a.top +s.toString +return"Rectangle ("+A.h(r)+", "+A.h(s)+") "+A.h(this.gbb(a))+" x "+A.h(this.gaH(a))}, +j(a,b){var s,r,q +if(b==null)return!1 +s=!1 +if(t.Bb.b(b)){r=a.left +r.toString +q=J.dg(b) +if(r===q.gdY(b)){s=a.top +s.toString +s=s===q.gFP(b)&&this.gbb(a)===q.gbb(b)&&this.gaH(a)===q.gaH(b)}}return s}, +gt(a){var s,r=a.left +r.toString +s=a.top +s.toString +return A.P(r,s,this.gbb(a),this.gaH(a),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +gKx(a){return a.height}, +gaH(a){var s=this.gKx(a) +s.toString +return s}, +gdY(a){var s=a.left +s.toString +return s}, +gFP(a){var s=a.top +s.toString +return s}, +gNP(a){return a.width}, +gbb(a){var s=this.gNP(a) +s.toString +return s}, +$ifN:1} +A.FX.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.FZ.prototype={ +gu(a){var s=a.length +s.toString +return s}} +A.ar.prototype={ +i(a){var s=a.localName +s.toString +return s}} +A.Y.prototype={} +A.eu.prototype={$ieu:1} +A.Gk.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.Gl.prototype={ +gu(a){return a.length}} +A.Gx.prototype={ +gu(a){return a.length}} +A.ev.prototype={$iev:1} +A.GM.prototype={ +gu(a){var s=a.length +s.toString +return s}} +A.ny.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.Hx.prototype={ +i(a){var s=String(a) +s.toString +return s}} +A.HJ.prototype={ +gu(a){return a.length}} +A.HN.prototype={ +a9(a,b){return A.hz(a.get(b))!=null}, +k(a,b){return A.hz(a.get(b))}, +W(a,b){var s,r,q=a.entries() +for(;!0;){s=q.next() +r=s.done +r.toString +if(r)return +r=s.value[0] +r.toString +b.$2(r,A.hz(s.value[1]))}}, +gbr(a){var s=A.b([],t.s) +this.W(a,new A.a4K(s)) +return s}, +gaI(a){var s=A.b([],t.n4) +this.W(a,new A.a4L(s)) +return s}, +gu(a){var s=a.size +s.toString +return s}, +gM(a){var s=a.size +s.toString +return s===0}, +gbd(a){var s=a.size +s.toString +return s!==0}, +n(a,b,c){throw A.c(A.a1("Not supported"))}, +bk(a,b,c){throw A.c(A.a1("Not supported"))}, +A(a,b){throw A.c(A.a1("Not supported"))}, +$iaA:1} +A.a4K.prototype={ +$2(a,b){return this.a.push(a)}, +$S:19} +A.a4L.prototype={ +$2(a,b){return this.a.push(b)}, +$S:19} +A.HO.prototype={ +a9(a,b){return A.hz(a.get(b))!=null}, +k(a,b){return A.hz(a.get(b))}, +W(a,b){var s,r,q=a.entries() +for(;!0;){s=q.next() +r=s.done +r.toString +if(r)return +r=s.value[0] +r.toString +b.$2(r,A.hz(s.value[1]))}}, +gbr(a){var s=A.b([],t.s) +this.W(a,new A.a4M(s)) +return s}, +gaI(a){var s=A.b([],t.n4) +this.W(a,new A.a4N(s)) +return s}, +gu(a){var s=a.size +s.toString +return s}, +gM(a){var s=a.size +s.toString +return s===0}, +gbd(a){var s=a.size +s.toString +return s!==0}, +n(a,b,c){throw A.c(A.a1("Not supported"))}, +bk(a,b,c){throw A.c(A.a1("Not supported"))}, +A(a,b){throw A.c(A.a1("Not supported"))}, +$iaA:1} +A.a4M.prototype={ +$2(a,b){return this.a.push(a)}, +$S:19} +A.a4N.prototype={ +$2(a,b){return this.a.push(b)}, +$S:19} +A.ex.prototype={$iex:1} +A.HP.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.b3.prototype={ +i(a){var s=a.nodeValue +return s==null?this.Vl(a):s}, +$ib3:1} +A.xA.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.eA.prototype={ +gu(a){return a.length}, +$ieA:1} +A.IY.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.JR.prototype={ +a9(a,b){return A.hz(a.get(b))!=null}, +k(a,b){return A.hz(a.get(b))}, +W(a,b){var s,r,q=a.entries() +for(;!0;){s=q.next() +r=s.done +r.toString +if(r)return +r=s.value[0] +r.toString +b.$2(r,A.hz(s.value[1]))}}, +gbr(a){var s=A.b([],t.s) +this.W(a,new A.a8j(s)) +return s}, +gaI(a){var s=A.b([],t.n4) +this.W(a,new A.a8k(s)) +return s}, +gu(a){var s=a.size +s.toString +return s}, +gM(a){var s=a.size +s.toString +return s===0}, +gbd(a){var s=a.size +s.toString +return s!==0}, +n(a,b,c){throw A.c(A.a1("Not supported"))}, +bk(a,b,c){throw A.c(A.a1("Not supported"))}, +A(a,b){throw A.c(A.a1("Not supported"))}, +$iaA:1} +A.a8j.prototype={ +$2(a,b){return this.a.push(a)}, +$S:19} +A.a8k.prototype={ +$2(a,b){return this.a.push(b)}, +$S:19} +A.Kg.prototype={ +gu(a){return a.length}} +A.eD.prototype={$ieD:1} +A.KL.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.eE.prototype={$ieE:1} +A.KN.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.eF.prototype={ +gu(a){return a.length}, +$ieF:1} +A.KQ.prototype={ +a9(a,b){return a.getItem(A.by(b))!=null}, +k(a,b){return a.getItem(A.by(b))}, +n(a,b,c){a.setItem(b,c)}, +bk(a,b,c){var s +if(a.getItem(b)==null)a.setItem(b,c.$0()) +s=a.getItem(b) +return s==null?A.by(s):s}, +A(a,b){var s +A.by(b) +s=a.getItem(b) +a.removeItem(b) +return s}, +W(a,b){var s,r,q +for(s=0;!0;++s){r=a.key(s) +if(r==null)return +q=a.getItem(r) +q.toString +b.$2(r,q)}}, +gbr(a){var s=A.b([],t.s) +this.W(a,new A.aak(s)) +return s}, +gaI(a){var s=A.b([],t.s) +this.W(a,new A.aal(s)) +return s}, +gu(a){var s=a.length +s.toString +return s}, +gM(a){return a.key(0)==null}, +gbd(a){return a.key(0)!=null}, +$iaA:1} +A.aak.prototype={ +$2(a,b){return this.a.push(a)}, +$S:151} +A.aal.prototype={ +$2(a,b){return this.a.push(b)}, +$S:151} +A.e0.prototype={$ie0:1} +A.eH.prototype={$ieH:1} +A.e2.prototype={$ie2:1} +A.L8.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.L9.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.Lf.prototype={ +gu(a){var s=a.length +s.toString +return s}} +A.eI.prototype={$ieI:1} +A.Li.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.Lj.prototype={ +gu(a){return a.length}} +A.Lx.prototype={ +i(a){var s=String(a) +s.toString +return s}} +A.LA.prototype={ +gu(a){return a.length}} +A.MU.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.AB.prototype={ +i(a){var s,r,q,p=a.left +p.toString +s=a.top +s.toString +r=a.width +r.toString +q=a.height +q.toString +return"Rectangle ("+A.h(p)+", "+A.h(s)+") "+A.h(r)+" x "+A.h(q)}, +j(a,b){var s,r,q +if(b==null)return!1 +s=!1 +if(t.Bb.b(b)){r=a.left +r.toString +q=J.dg(b) +if(r===q.gdY(b)){r=a.top +r.toString +if(r===q.gFP(b)){r=a.width +r.toString +if(r===q.gbb(b)){s=a.height +s.toString +q=s===q.gaH(b) +s=q}}}}return s}, +gt(a){var s,r,q,p=a.left +p.toString +s=a.top +s.toString +r=a.width +r.toString +q=a.height +q.toString +return A.P(p,s,r,q,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +gKx(a){return a.height}, +gaH(a){var s=a.height +s.toString +return s}, +gNP(a){return a.width}, +gbb(a){var s=a.width +s.toString +return s}} +A.O4.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +return a[b]}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){if(a.length>0)return a[0] +throw A.c(A.R("No elements"))}, +gT(a){var s=a.length +if(s>0)return a[s-1] +throw A.c(A.R("No elements"))}, +gap(a){var s=a.length +if(s===1)return a[0] +if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.Bk.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.RM.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.RW.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cE(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return a[b]}, +$ib6:1, +$iW:1, +$ibg:1, +$ij:1, +$iO:1} +A.aH.prototype={ +ga0(a){return new A.Go(a,this.gu(a),A.bo(a).h("Go"))}, +D(a,b){throw A.c(A.a1("Cannot add to immutable List."))}, +fa(a){throw A.c(A.a1("Cannot remove from immutable List."))}, +A(a,b){throw A.c(A.a1("Cannot remove from immutable List."))}, +bz(a,b,c,d,e){throw A.c(A.a1("Cannot setRange on immutable List."))}, +e1(a,b,c,d){return this.bz(a,b,c,d,0)}} +A.Go.prototype={ +q(){var s=this,r=s.c+1,q=s.b +if(r4294967296)throw A.c(A.as8("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.setUint32(0,0,!1) +q=4-s +p=A.cl(Math.pow(256,s)) +for(o=a-1,n=(a&o)>>>0===0;!0;){m=r.buffer +m=new Uint8Array(m,q,s) +crypto.getRandomValues(m) +l=r.getUint32(0,!1) +if(n)return(l&o)>>>0 +k=l%a +if(l-k+a>>0!==b||b>=s +s.toString +if(s)throw A.c(A.cE(b,this.gu(a),a,null,null)) +s=a.getItem(b) +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s=a.length +s.toString +if(s>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s=a.length +s.toString +if(s>0){s=a[s-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s=a.length +s.toString +if(s===1){s=a[0] +s.toString +return s}if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return this.k(a,b)}, +$iW:1, +$ij:1, +$iO:1} +A.fJ.prototype={$ifJ:1} +A.I9.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length +s.toString +s=b>>>0!==b||b>=s +s.toString +if(s)throw A.c(A.cE(b,this.gu(a),a,null,null)) +s=a.getItem(b) +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s=a.length +s.toString +if(s>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s=a.length +s.toString +if(s>0){s=a[s-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s=a.length +s.toString +if(s===1){s=a[0] +s.toString +return s}if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return this.k(a,b)}, +$iW:1, +$ij:1, +$iO:1} +A.IZ.prototype={ +gu(a){return a.length}} +A.KS.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length +s.toString +s=b>>>0!==b||b>=s +s.toString +if(s)throw A.c(A.cE(b,this.gu(a),a,null,null)) +s=a.getItem(b) +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s=a.length +s.toString +if(s>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s=a.length +s.toString +if(s>0){s=a[s-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s=a.length +s.toString +if(s===1){s=a[0] +s.toString +return s}if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return this.k(a,b)}, +$iW:1, +$ij:1, +$iO:1} +A.fQ.prototype={$ifQ:1} +A.Lm.prototype={ +gu(a){var s=a.length +s.toString +return s}, +k(a,b){var s=a.length +s.toString +s=b>>>0!==b||b>=s +s.toString +if(s)throw A.c(A.cE(b,this.gu(a),a,null,null)) +s=a.getItem(b) +s.toString +return s}, +n(a,b,c){throw A.c(A.a1("Cannot assign element of immutable List."))}, +su(a,b){throw A.c(A.a1("Cannot resize immutable List."))}, +gI(a){var s=a.length +s.toString +if(s>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gT(a){var s=a.length +s.toString +if(s>0){s=a[s-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gap(a){var s=a.length +s.toString +if(s===1){s=a[0] +s.toString +return s}if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aN(a,b){return this.k(a,b)}, +$iW:1, +$ij:1, +$iO:1} +A.OF.prototype={} +A.OG.prototype={} +A.Pj.prototype={} +A.Pk.prototype={} +A.RT.prototype={} +A.RU.prototype={} +A.Sq.prototype={} +A.Sr.prototype={} +A.G7.prototype={} +A.F0.prototype={ +F(){return"ClipOp."+this.b}} +A.IL.prototype={ +F(){return"PathFillType."+this.b}} +A.adK.prototype={ +hm(a,b){A.aJV(this.a,this.b,a,b)}} +A.Cx.prototype={ +eG(a){A.kD(this.b,this.c,a)}} +A.kg.prototype={ +gu(a){return this.a.gu(0)}, +mq(a){var s,r,q=this +if(!q.d&&q.e!=null){q.e.hm(a.a,a.gQK()) +return!1}s=q.c +if(s<=0)return!0 +r=q.Jf(s-1) +q.a.dM(0,a) +return r}, +Jf(a){var s,r,q +for(s=this.a,r=!1;(s.c-s.b&s.a.length-1)>>>0>a;r=!0){q=s.oC() +A.kD(q.b,q.c,null)}return r}, +a07(){var s=this,r=s.a +if(!r.gM(0)&&s.e!=null){r=r.oC() +s.e.hm(r.a,r.gQK()) +A.e6(s.gJd())}else s.d=!1}} +A.Wp.prototype={ +aeT(a,b,c){this.a.bk(0,a,new A.Wq()).mq(new A.Cx(b,c,$.ae))}, +U6(a,b){var s=this.a.bk(0,a,new A.Wr()),r=s.e +s.e=new A.adK(b,$.ae) +if(r==null&&!s.d){s.d=!0 +A.e6(s.gJd())}}, +abZ(a){var s,r,q,p,o,n,m,l="Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (arguments must be a two-element list, channel name and new capacity)",k="Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (arguments must be a two-element list, channel name and flag state)",j=A.d2(a.buffer,a.byteOffset,a.byteLength) +if(j[0]===7){s=j[1] +if(s>=254)throw A.c(A.c2("Unrecognized message sent to dev.flutter/channel-buffers (method name too long)")) +r=2+s +q=B.a3.eA(0,B.W.c0(j,2,r)) +switch(q){case"resize":if(j[r]!==12)throw A.c(A.c2(l)) +p=r+1 +if(j[p]<2)throw A.c(A.c2(l));++p +if(j[p]!==7)throw A.c(A.c2("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (first argument must be a string)"));++p +o=j[p] +if(o>=254)throw A.c(A.c2("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (channel name must be less than 254 characters long)"));++p +r=p+o +n=B.a3.eA(0,B.W.c0(j,p,r)) +if(j[r]!==3)throw A.c(A.c2("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (second argument must be an integer in the range 0 to 2147483647)")) +this.Sh(0,n,a.getUint32(r+1,B.aa===$.di())) +break +case"overflow":if(j[r]!==12)throw A.c(A.c2(k)) +p=r+1 +if(j[p]<2)throw A.c(A.c2(k));++p +if(j[p]!==7)throw A.c(A.c2("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (first argument must be a string)"));++p +o=j[p] +if(o>=254)throw A.c(A.c2("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (channel name must be less than 254 characters long)"));++p +r=p+o +B.a3.eA(0,B.W.c0(j,p,r)) +r=j[r] +if(r!==1&&r!==2)throw A.c(A.c2("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (second argument must be a boolean)")) +break +default:throw A.c(A.c2("Unrecognized method '"+q+"' sent to dev.flutter/channel-buffers"))}}else{m=A.b(B.a3.eA(0,j).split("\r"),t.s) +if(m.length===3&&J.e(m[0],"resize"))this.Sh(0,m[1],A.il(m[2],null)) +else throw A.c(A.c2("Unrecognized message "+A.h(m)+" sent to dev.flutter/channel-buffers."))}}, +Sh(a,b,c){var s=this.a,r=s.k(0,b) +if(r==null)s.n(0,b,new A.kg(A.lw(c,t.S8),c)) +else{r.c=c +r.Jf(c)}}} +A.Wq.prototype={ +$0(){return new A.kg(A.lw(1,t.S8),1)}, +$S:138} +A.Wr.prototype={ +$0(){return new A.kg(A.lw(1,t.S8),1)}, +$S:138} +A.Ic.prototype={ +j(a,b){if(b==null)return!1 +return b instanceof A.Ic&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"OffsetBase("+B.c.R(this.a,1)+", "+B.c.R(this.b,1)+")"}} +A.m.prototype={ +gd8(){var s=this.a,r=this.b +return Math.sqrt(s*s+r*r)}, +gDu(){var s=this.a,r=this.b +return s*s+r*r}, +ad(a,b){return new A.m(this.a-b.a,this.b-b.b)}, +a4(a,b){return new A.m(this.a+b.a,this.b+b.b)}, +ac(a,b){return new A.m(this.a*b,this.b*b)}, +ds(a,b){return new A.m(this.a/b,this.b/b)}, +j(a,b){if(b==null)return!1 +return b instanceof A.m&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"Offset("+B.c.R(this.a,1)+", "+B.c.R(this.b,1)+")"}} +A.K.prototype={ +gM(a){return this.a<=0||this.b<=0}, +ad(a,b){var s=this +if(b instanceof A.K)return new A.m(s.a-b.a,s.b-b.b) +if(b instanceof A.m)return new A.K(s.a-b.a,s.b-b.b) +throw A.c(A.cz(b,null))}, +a4(a,b){return new A.K(this.a+b.a,this.b+b.b)}, +ac(a,b){return new A.K(this.a*b,this.b*b)}, +ds(a,b){return new A.K(this.a/b,this.b/b)}, +hH(a){return new A.m(a.a+this.a/2,a.b+this.b/2)}, +On(a,b){return new A.m(b.a+this.a,b.b+this.b)}, +p(a,b){var s=b.a,r=!1 +if(s>=0)if(s=0&&s=s.c||s.b>=s.d}, +cY(a){var s=this,r=a.a,q=a.b +return new A.D(s.a+r,s.b+q,s.c+r,s.d+q)}, +au(a,b,c){var s=this +return new A.D(s.a+b,s.b+c,s.c+b,s.d+c)}, +eh(a){var s=this +return new A.D(s.a-a,s.b-a,s.c+a,s.d+a)}, +cX(a){var s=this +return new A.D(Math.max(s.a,a.a),Math.max(s.b,a.b),Math.min(s.c,a.c),Math.min(s.d,a.d))}, +kE(a){var s=this +return new A.D(Math.min(s.a,a.a),Math.min(s.b,a.b),Math.max(s.c,a.c),Math.max(s.d,a.d))}, +xB(a){var s=this +if(s.c<=a.a||a.c<=s.a)return!1 +if(s.d<=a.b||a.d<=s.b)return!1 +return!0}, +gfR(){var s=this +return Math.min(Math.abs(s.c-s.a),Math.abs(s.d-s.b))}, +gaR(){var s=this,r=s.a,q=s.b +return new A.m(r+(s.c-r)/2,q+(s.d-q)/2)}, +p(a,b){var s=this,r=b.a,q=!1 +if(r>=s.a)if(r=s.b&&rd&&s!==0)return Math.min(a,d/s) +return a}, +tU(){var s=this,r=s.c,q=s.a,p=Math.abs(r-q),o=s.d,n=s.b,m=Math.abs(o-n),l=s.Q,k=s.f,j=s.e,i=s.r,h=s.w,g=s.y,f=s.x,e=s.z,d=s.uJ(s.uJ(s.uJ(s.uJ(1,l,k,m),j,i,p),h,g,m),f,e,p) +if(d<1)return new A.hZ(q,n,r,o,j*d,k*d,i*d,h*d,f*d,g*d,e*d,l*d,!1) +return new A.hZ(q,n,r,o,j,k,i,h,f,g,e,l,!1)}, +p(a,b){var s,r,q,p,o,n=this,m=b.a,l=n.a,k=!0 +if(!(m=n.c)){k=b.b +k=k=n.d}if(k)return!1 +s=n.tU() +r=s.e +if(mk-r&&b.bk-r&&b.b>n.d-s.y){q=m-k+r +p=s.y +o=b.b-n.d+p}else{r=s.z +if(mn.d-s.Q){q=m-l-r +p=s.Q +o=b.b-n.d+p}else return!0}}}q/=r +o/=p +if(q*q+o*o>1)return!1 +return!0}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(A.t(s)!==J.T(b))return!1 +return b instanceof A.hZ&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e&&b.f===s.f&&b.r===s.r&&b.w===s.w&&b.z===s.z&&b.Q===s.Q&&b.x===s.x&&b.y===s.y}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.z,s.Q,s.x,s.y,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s,r,q=this,p=B.c.R(q.a,1)+", "+B.c.R(q.b,1)+", "+B.c.R(q.c,1)+", "+B.c.R(q.d,1),o=q.e,n=q.f,m=q.r,l=q.w +if(new A.aU(o,n).j(0,new A.aU(m,l))){s=q.x +r=q.y +s=new A.aU(m,l).j(0,new A.aU(s,r))&&new A.aU(s,r).j(0,new A.aU(q.z,q.Q))}else s=!1 +if(s){if(o===n)return"RRect.fromLTRBR("+p+", "+B.c.R(o,1)+")" +return"RRect.fromLTRBXY("+p+", "+B.c.R(o,1)+", "+B.c.R(n,1)+")"}return"RRect.fromLTRBAndCorners("+p+", topLeft: "+new A.aU(o,n).i(0)+", topRight: "+new A.aU(m,l).i(0)+", bottomRight: "+new A.aU(q.x,q.y).i(0)+", bottomLeft: "+new A.aU(q.z,q.Q).i(0)+")"}} +A.wV.prototype={ +F(){return"KeyEventType."+this.b}, +gEJ(a){var s +switch(this.a){case 0:s="Key Down" +break +case 1:s="Key Up" +break +case 2:s="Key Repeat" +break +default:s=null}return s}} +A.a1c.prototype={ +F(){return"KeyEventDeviceType."+this.b}} +A.f6.prototype={ +a45(){var s=this.e +return"0x"+B.f.ia(s,16)+new A.a1a(B.c.d0(s/4294967296)).$0()}, +a0h(){var s=this.f +if(s==null)return"" +switch(s){case"\n":return'"\\n"' +case"\t":return'"\\t"' +case"\r":return'"\\r"' +case"\b":return'"\\b"' +case"\f":return'"\\f"' +default:return'"'+s+'"'}}, +a5H(){var s=this.f +if(s==null)return"" +return" (0x"+new A.aw(new A.js(s),new A.a1b(),t.Hz.h("aw")).bD(0," ")+")"}, +i(a){var s=this,r=s.b.gEJ(0),q=B.f.ia(s.d,16),p=s.a45(),o=s.a0h(),n=s.a5H(),m=s.r?", synthesized":"" +return"KeyData("+r+", physical: 0x"+q+", logical: "+p+", character: "+o+n+m+")"}} +A.a1a.prototype={ +$0(){switch(this.a){case 0:return" (Unicode)" +case 1:return" (Unprintable)" +case 2:return" (Flutter)" +case 17:return" (Android)" +case 18:return" (Fuchsia)" +case 19:return" (iOS)" +case 20:return" (macOS)" +case 21:return" (GTK)" +case 22:return" (Windows)" +case 23:return" (Web)" +case 24:return" (GLFW)"}return""}, +$S:50} +A.a1b.prototype={ +$1(a){return B.d.mm(B.f.ia(a,16),2,"0")}, +$S:111} +A.C.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.C&&b.gm(b)===s.gm(s)}, +gt(a){return B.f.gt(this.gm(this))}, +i(a){return"Color(0x"+B.d.mm(B.f.ia(this.gm(this),16),8,"0")+")"}, +gm(a){return this.a}} +A.KU.prototype={ +F(){return"StrokeCap."+this.b}} +A.aav.prototype={ +F(){return"StrokeJoin."+this.b}} +A.IJ.prototype={ +F(){return"PaintingStyle."+this.b}} +A.mT.prototype={ +F(){return"BlendMode."+this.b}} +A.pL.prototype={ +F(){return"Clip."+this.b}} +A.Vn.prototype={ +F(){return"BlurStyle."+this.b}} +A.x8.prototype={ +j(a,b){if(b==null)return!1 +return b instanceof A.x8&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"MaskFilter.blur("+this.a.i(0)+", "+B.c.R(this.b,1)+")"}} +A.nk.prototype={ +F(){return"FilterQuality."+this.b}} +A.amv.prototype={} +A.ql.prototype={ +F(){return"ImageByteFormat."+this.b}} +A.a6d.prototype={ +F(){return"PixelFormat."+this.b}} +A.lZ.prototype={ +bf(a,b){return new A.lZ(this.a,this.b.ac(0,b),this.c*b)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.lZ&&b.a.j(0,s.a)&&b.b.j(0,s.b)&&b.c===s.c}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"TextShadow("+this.a.i(0)+", "+this.b.i(0)+", "+A.h(this.c)+")"}} +A.li.prototype={ +gu(a){return this.b}} +A.a6g.prototype={} +A.le.prototype={ +i(a){var s,r=A.t(this).i(0),q=this.a,p=A.cR(q[2],0),o=q[1],n=A.cR(o,0),m=q[4],l=A.cR(m,0),k=A.cR(q[3],0) +o=A.cR(o,0) +s=q[0] +return r+"(buildDuration: "+(A.h((p.a-n.a)*0.001)+"ms")+", rasterDuration: "+(A.h((l.a-k.a)*0.001)+"ms")+", vsyncOverhead: "+(A.h((o.a-A.cR(s,0).a)*0.001)+"ms")+", totalSpan: "+(A.h((A.cR(m,0).a-A.cR(s,0).a)*0.001)+"ms")+", layerCacheCount: "+q[6]+", layerCacheBytes: "+q[7]+", pictureCacheCount: "+q[8]+", pictureCacheBytes: "+q[9]+", frameNumber: "+B.b.gT(q)+")"}} +A.hB.prototype={ +F(){return"AppLifecycleState."+this.b}} +A.uE.prototype={ +F(){return"AppExitResponse."+this.b}} +A.lx.prototype={ +gop(a){var s=this.a,r=B.b1.k(0,s) +return r==null?s:r}, +gwc(){var s=this.c,r=B.bd.k(0,s) +return r==null?s:r}, +j(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +s=!1 +if(b instanceof A.lx)if(b.gop(0)===this.gop(0))s=b.gwc()==this.gwc() +return s}, +gt(a){return A.P(this.gop(0),null,this.gwc(),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return this.a5I("_")}, +a5I(a){var s=this.gop(0) +if(this.c!=null)s+=a+A.h(this.gwc()) +return s.charCodeAt(0)==0?s:s}} +A.Xm.prototype={ +F(){return"DartPerformanceMode."+this.b}} +A.rl.prototype={ +i(a){return"SemanticsActionEvent("+this.a.i(0)+", view: "+this.b+", node: "+this.c+")"}} +A.acg.prototype={ +F(){return"ViewFocusState."+this.b}} +A.LC.prototype={ +F(){return"ViewFocusDirection."+this.b}} +A.jU.prototype={ +F(){return"PointerChange."+this.b}} +A.iS.prototype={ +F(){return"PointerDeviceKind."+this.b}} +A.qS.prototype={ +F(){return"PointerSignalKind."+this.b}} +A.hk.prototype={ +l6(a){var s=this.p4 +if(s!=null)s.$1$allowPlatformDefault(a)}, +i(a){return"PointerData(viewId: "+this.a+", x: "+A.h(this.x)+", y: "+A.h(this.y)+")"}} +A.lI.prototype={} +A.cq.prototype={ +i(a){return"SemanticsAction."+this.b}} +A.c3.prototype={ +i(a){return"SemanticsFlag."+this.b}} +A.a9z.prototype={} +A.lH.prototype={ +F(){return"PlaceholderAlignment."+this.b}} +A.h8.prototype={ +i(a){var s=B.Hc.k(0,this.a) +s.toString +return s}} +A.iC.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.iC&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"FontVariation('"+this.a+"', "+A.h(this.b)+")"}} +A.iD.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.iD&&s.a.j(0,b.a)&&s.b.j(0,b.b)&&s.c===b.c}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"Glyph("+this.a.i(0)+", textRange: "+this.b.i(0)+", direction: "+this.c.i(0)+")"}} +A.k6.prototype={ +F(){return"TextAlign."+this.b}} +A.m4.prototype={ +F(){return"TextBaseline."+this.b}} +A.zI.prototype={ +j(a,b){if(b==null)return!1 +return b instanceof A.zI&&b.a===this.a}, +gt(a){return B.f.gt(this.a)}, +i(a){var s,r=this.a +if(r===0)return"TextDecoration.none" +s=A.b([],t.s) +if((r&1)!==0)s.push("underline") +if((r&2)!==0)s.push("overline") +if((r&4)!==0)s.push("lineThrough") +if(s.length===1)return"TextDecoration."+s[0] +return"TextDecoration.combine(["+B.b.bD(s,", ")+"])"}} +A.aaV.prototype={ +F(){return"TextDecorationStyle."+this.b}} +A.L6.prototype={ +F(){return"TextLeadingDistribution."+this.b}} +A.L3.prototype={ +j(a,b){var s +if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +s=!1 +if(b instanceof A.L3)s=b.c===this.c +return s}, +gt(a){return A.P(!0,!0,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"TextHeightBehavior(applyHeightToFirstAscent: true, applyHeightToLastDescent: true, leadingDistribution: "+this.c.i(0)+")"}} +A.j1.prototype={ +F(){return"TextDirection."+this.b}} +A.eh.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.eh&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=this +return"TextBox.fromLTRBD("+B.c.R(s.a,1)+", "+B.c.R(s.b,1)+", "+B.c.R(s.c,1)+", "+B.c.R(s.d,1)+", "+s.e.i(0)+")"}} +A.zF.prototype={ +F(){return"TextAffinity."+this.b}} +A.ap.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.ap&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return A.t(this).i(0)+"(offset: "+this.a+", affinity: "+this.b.i(0)+")"}} +A.cj.prototype={ +gmi(){return this.a>=0&&this.b>=0}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.cj&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(B.f.gt(this.a),B.f.gt(this.b),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"TextRange(start: "+this.a+", end: "+this.b+")"}} +A.lF.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.lF&&b.a===this.a}, +gt(a){return B.c.gt(this.a)}, +i(a){return A.t(this).i(0)+"(width: "+A.h(this.a)+")"}} +A.Ew.prototype={ +F(){return"BoxHeightStyle."+this.b}} +A.Vs.prototype={ +F(){return"BoxWidthStyle."+this.b}} +A.Le.prototype={ +F(){return"TileMode."+this.b}} +A.XQ.prototype={} +A.EA.prototype={ +F(){return"Brightness."+this.b}} +A.VM.prototype={ +j(a,b){if(b==null)return!1 +return this===b}, +gt(a){return A.J.prototype.gt.call(this,0)}} +A.GE.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.GE}, +gt(a){return A.P(null,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"GestureSettings(physicalTouchSlop: null, physicalDoubleTapSlop: null)"}} +A.V5.prototype={ +tH(a){var s,r,q +if(A.kc(a,0,null).gQs())return A.SO(B.im,a,B.a3,!1) +s=this.b +if(s==null){s=self.window.document.querySelector("meta[name=assetBase]") +r=s==null?null:s.content +s=r==null +if(!s)self.window.console.warn("The `assetBase` meta tag is now deprecated.\nUse engineInitializer.initializeEngine(config) instead.\nSee: https://docs.flutter.dev/development/platform-integration/web/initialization") +q=this.b=s?"":r +s=q}return A.SO(B.im,s+"assets/"+a,B.a3,!1)}} +A.uS.prototype={ +F(){return"BrowserEngine."+this.b}} +A.jN.prototype={ +F(){return"OperatingSystem."+this.b}} +A.Vw.prototype={ +gq9(){var s=this.b +if(s===$){s=self.window.navigator.userAgent +this.b!==$&&A.a0() +this.b=s}return s}, +gbx(){var s,r,q,p=this,o=p.d +if(o===$){s=self.window.navigator.vendor +r=p.gq9() +q=p.qQ(s,r.toLowerCase()) +p.d!==$&&A.a0() +p.d=q +o=q}s=o +return s}, +qQ(a,b){if(a==="Google Inc.")return B.bJ +else if(a==="Apple Computer, Inc.")return B.P +else if(B.d.p(b,"Edg/"))return B.bJ +else if(a===""&&B.d.p(b,"firefox"))return B.b8 +A.uk("WARNING: failed to detect current browser engine. Assuming this is a Chromium-compatible browser.") +return B.bJ}, +gbZ(){var s,r,q=this,p=q.f +if(p===$){s=q.aay() +q.f!==$&&A.a0() +q.f=s +p=s}r=p +return r}, +aay(){var s,r,q=null,p=self.window +p=p.navigator.platform +if(p==null)p=q +p.toString +s=p +if(B.d.bW(s,"Mac")){p=self.window +p=p.navigator.maxTouchPoints +if(p==null)p=q +p=p==null?q:B.c.P(p) +r=p +if((r==null?0:r)>2)return B.an +return B.b2}else if(B.d.p(s.toLowerCase(),"iphone")||B.d.p(s.toLowerCase(),"ipad")||B.d.p(s.toLowerCase(),"ipod"))return B.an +else{p=this.gq9() +if(B.d.p(p,"Android"))return B.fc +else if(B.d.bW(s,"Linux"))return B.iM +else if(B.d.bW(s,"Win"))return B.r7 +else return B.I9}}, +gadw(){return B.jf.p(0,this.gbZ())}} +A.akn.prototype={ +$1(a){return this.T6(a)}, +$0(){return this.$1(null)}, +$C:"$1", +$R:0, +$D(){return[null]}, +T6(a){var s=0,r=A.z(t.H) +var $async$$1=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:s=2 +return A.B(A.akQ(a),$async$$1) +case 2:return A.x(null,r)}}) +return A.y($async$$1,r)}, +$S:309} +A.ako.prototype={ +$0(){var s=0,r=A.z(t.H),q=this +var $async$$0=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:q.a.$0() +s=2 +return A.B(A.aoq(),$async$$0) +case 2:q.b.$0() +return A.x(null,r)}}) +return A.y($async$$0,r)}, +$S:12} +A.VA.prototype={ +Gh(a){return $.auR.bk(0,a,new A.VB(a))}} +A.VB.prototype={ +$0(){return A.bb(this.a)}, +$S:69} +A.a_B.prototype={ +Co(a){var s=new A.a_E(a) +A.bW(self.window,"popstate",B.kc.Gh(s),null) +return new A.a_D(this,s)}, +Ty(){var s=self.window.location.hash +if(s.length===0||s==="#")return"/" +return B.d.fh(s,1)}, +Gk(a){return A.aqo(self.window.history)}, +RC(a){var s,r=a.length===0||a==="/"?"":"#"+a,q=self.window.location.pathname +if(q==null)q=null +q.toString +s=self.window.location.search +if(s==null)s=null +s.toString +return q+s+r}, +RQ(a,b,c,d){var s=this.RC(d),r=self.window.history,q=A.a5(b) +if(q==null)q=t.K.a(q) +r.pushState(q,c,s)}, +mv(a,b,c,d){var s,r=this.RC(d),q=self.window.history +if(b==null)s=null +else{s=A.a5(b) +if(s==null)s=t.K.a(s)}q.replaceState(s,c,r)}, +tT(a,b){var s=self.window.history +s.go(b) +return this.a8a()}, +a8a(){var s=new A.a8($.ae,t.V),r=A.bk("unsubscribe") +r.b=this.Co(new A.a_C(r,new A.b1(s,t.h))) +return s}} +A.a_E.prototype={ +$1(a){var s=t.e.a(a).state +if(s==null)s=null +else{s=A.aof(s) +s.toString}this.a.$1(s)}, +$S:310} +A.a_D.prototype={ +$0(){var s=this.b +A.cB(self.window,"popstate",B.kc.Gh(s),null) +$.auR.A(0,s) +return null}, +$S:0} +A.a_C.prototype={ +$1(a){this.a.aP().$0() +this.b.eW(0)}, +$S:10} +A.a6n.prototype={} +A.Ei.prototype={ +gu(a){return a.length}} +A.Ej.prototype={ +a9(a,b){return A.hz(a.get(b))!=null}, +k(a,b){return A.hz(a.get(b))}, +W(a,b){var s,r,q=a.entries() +for(;!0;){s=q.next() +r=s.done +r.toString +if(r)return +r=s.value[0] +r.toString +b.$2(r,A.hz(s.value[1]))}}, +gbr(a){var s=A.b([],t.s) +this.W(a,new A.V9(s)) +return s}, +gaI(a){var s=A.b([],t.n4) +this.W(a,new A.Va(s)) +return s}, +gu(a){var s=a.size +s.toString +return s}, +gM(a){var s=a.size +s.toString +return s===0}, +gbd(a){var s=a.size +s.toString +return s!==0}, +n(a,b,c){throw A.c(A.a1("Not supported"))}, +bk(a,b,c){throw A.c(A.a1("Not supported"))}, +A(a,b){throw A.c(A.a1("Not supported"))}, +$iaA:1} +A.V9.prototype={ +$2(a,b){return this.a.push(a)}, +$S:19} +A.Va.prototype={ +$2(a,b){return this.a.push(b)}, +$S:19} +A.Ek.prototype={ +gu(a){return a.length}} +A.kP.prototype={} +A.Ib.prototype={ +gu(a){return a.length}} +A.Ma.prototype={} +A.uZ.prototype={ +gCx(a){var s=this.x +return s.a/s.b}, +CY(a,b,c,d,e,f,g,h,i){var s=this,r=g==null?s.a:g,q=i==null?s.x:i,p=h==null?s.b:h,o=c==null?s.z:c,n=e==null?s.Q:e,m=d==null?s.as:d,l=f==null?s.at:f,k=b==null?s.ax:b,j=a==null?s.CW:a +return A.azU(j,k,null,o,m,s.y,n,l,r,!1,!1,!1,!1,p,s.ay,s.r,q,s.ch)}, +CT(a){var s=null +return this.CY(s,s,s,s,s,s,s,a,s)}, +aa5(a,b,c,d,e,f,g){return this.CY(a,null,b,c,d,e,f,null,g)}, +a9Q(a){var s=null +return this.CY(s,a,s,s,s,s,s,s,s)}, +i(a){var s=this +return"CameraValue(isRecordingVideo: false, isInitialized: "+s.a+", errorDescription: "+A.h(s.w)+", previewSize: "+A.h(s.x)+", isStreamingImages: false, flashMode: "+s.y.i(0)+", exposureMode: "+s.z.i(0)+", focusMode: "+s.Q.i(0)+", exposurePointSupported: "+s.as+", focusPointSupported: "+s.at+", deviceOrientation: "+s.ax.i(0)+", lockedCaptureOrientation: "+A.h(s.ay)+", recordingOrientation: "+A.h(s.ch)+", isPreviewPaused: false, previewPausedOrientation: "+A.h(s.r)+", description: "+s.CW.i(0)+")"}} +A.EH.prototype={ +il(a){return this.a3J(a)}, +a3J(a2){var s=0,r=A.z(t.H),q=1,p,o=[],n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1 +var $async$il=A.A(function(a3,a4){if(a3===1){p=a4 +s=q}while(true)switch(s){case 0:if(n.z)throw A.c(A.fq("Disposed CameraController","initialize was called on a disposed CameraController")) +j=$.ae +m=new A.b1(new A.a8(j,t.V),t.h) +n.as=m.a +q=3 +l=new A.b1(new A.a8(j,t.x_),t.gM) +if(n.at==null)n.at=$.mM().Ro().hZ(new A.VP(n)) +s=6 +return A.B($.mM().lR(a2,n.w),$async$il) +case 6:j=a4 +n.y=j +$.mM().Rn(j).gI(0).b_(0,new A.VQ(l),t.H) +j=$.mM() +i=n.y +s=7 +return A.B(j.oi(i,B.CD),$async$il) +case 7:j=n.a +s=8 +return A.B(l.a.b_(0,new A.VR(),t.tW),$async$il) +case 8:i=a4 +s=9 +return A.B(l.a.b_(0,new A.VS(),t.Xx),$async$il) +case 9:h=a4 +s=10 +return A.B(l.a.b_(0,new A.VT(),t.b3),$async$il) +case 10:g=a4 +f=t.X7 +c=j +b=a2 +a=h +s=11 +return A.B(l.a.b_(0,new A.VU(),f),$async$il) +case 11:a0=a4 +a1=g +s=12 +return A.B(l.a.b_(0,new A.VV(),f),$async$il) +case 12:n.sm(0,c.aa5(b,a,a0,a1,a4,!0,i)) +o.push(5) +s=4 +break +case 3:q=2 +d=p +j=A.a9(d) +if(j instanceof A.fK){k=j +j=A.fq(k.a,k.b) +throw A.c(j)}else throw d +o.push(5) +s=4 +break +case 2:o=[1] +case 4:q=1 +J.apl(m) +s=o.pop() +break +case 5:return A.x(null,r) +case 1:return A.w(p,r)}}) +return A.y($async$il,r)}, +jM(){var s=0,r=A.z(t.rx),q,p=2,o,n=this,m,l,k,j,i +var $async$jM=A.A(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:n.MW("takePicture") +k=n.a +if(k.b)throw A.c(A.fq("Previous capture has not returned yet.","takePicture was called before the previous capture returned.")) +p=4 +n.sm(0,k.CT(!0)) +s=7 +return A.B($.mM().tp(n.y),$async$jM) +case 7:m=b +n.sm(0,n.a.CT(!1)) +q=m +s=1 +break +p=2 +s=6 +break +case 4:p=3 +i=o +k=A.a9(i) +if(k instanceof A.fK){l=k +n.sm(0,n.a.CT(!1)) +throw A.c(A.fq(l.a,l.b))}else throw i +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$jM,r)}, +a8W(){var s,r,q +this.MW("buildPreview") +try{r=$.mM().Oq(this.y) +return r}catch(q){r=A.a9(q) +if(r instanceof A.fK){s=r +throw A.c(A.fq(s.a,s.b))}else throw q}}, +l(){var s=0,r=A.z(t.H),q,p=this,o +var $async$l=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:if(p.z){s=1 +break}o=p.at +if(o!=null)o.aA(0) +p.z=!0 +p.dt() +o=p.as +s=o!=null?3:4 +break +case 3:s=5 +return A.B(o,$async$l) +case 5:s=6 +return A.B($.mM().hc(p.y),$async$l) +case 6:case 4:case 1:return A.x(q,r)}}) +return A.y($async$l,r)}, +MW(a){if(!this.a.a)throw A.c(A.fq("Uninitialized CameraController",a+"() was called on an uninitialized CameraController.")) +if(this.z)throw A.c(A.fq("Disposed CameraController",a+"() was called on a disposed CameraController."))}, +H(a,b){if(!this.z)this.UU(0,b)}} +A.VP.prototype={ +$1(a){var s=this.a +s.sm(0,s.a.a9Q(a.a))}, +$S:312} +A.VQ.prototype={ +$1(a){this.a.cA(0,a)}, +$S:105} +A.VR.prototype={ +$1(a){return new A.K(a.b,a.c)}, +$S:315} +A.VS.prototype={ +$1(a){return a.d}, +$S:316} +A.VT.prototype={ +$1(a){return a.e}, +$S:319} +A.VU.prototype={ +$1(a){return a.f}, +$S:107} +A.VV.prototype={ +$1(a){return a.r}, +$S:107} +A.EJ.prototype={ +K(a){var s=null,r=this.c +return r.a.a?new A.kd(r,new A.W6(this),s,s,t.BU):A.d6(s,s,s,s,s,s,s,s,s)}, +a8i(a){return a}, +a0L(){var s=this.c.a +s=s.ax +return s}} +A.W6.prototype={ +$3(a,b,c){var s=null,r=this.a,q=B.b.p(A.b([B.hL,B.hM],t.UW),r.a0L()),p=r.c,o=p.a +q=q?J.apn(o):1/J.apn(o) +p=r.a8i(p.a8W()) +return new A.px(q,A.oF(B.b5,A.b([p,c==null?A.d6(s,s,s,s,s,s,s,s,s):c],t.D),B.LL),s)}, +$S:322} +A.dJ.prototype={ +j(a,b){var s +if(b==null)return!1 +if(this!==b)s=b instanceof A.dJ&&A.t(this)===A.t(b)&&this.a===b.a +else s=!0 +return s}, +gt(a){return B.f.gt(this.a)}} +A.du.prototype={ +i9(){var s=this +return A.an(["cameraId",s.a,"previewWidth",s.b,"previewHeight",s.c,"exposureMode",A.aKm(s.d),"exposurePointSupported",s.f,"focusMode",A.aKn(s.e),"focusPointSupported",s.r],t.N,t.K)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=r.p7(0,b)&&b instanceof A.du&&A.t(r)===A.t(b)&&r.b===b.b&&r.c===b.c&&r.d===b.d&&r.f===b.f&&r.e===b.e&&r.r===b.r +else s=!0 +return s}, +gt(a){var s=this +return A.P(A.dJ.prototype.gt.call(s,0),s.b,s.c,s.d,s.f,s.e,s.r,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.uY.prototype={ +i9(){return A.an(["cameraId",this.a,"captureWidth",this.b,"captureHeight",this.c],t.N,t.K)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=b instanceof A.uY&&r.p7(0,b)&&A.t(r)===A.t(b)&&r.b===b.b&&r.c===b.c +else s=!0 +return s}, +gt(a){return A.P(A.dJ.prototype.gt.call(this,0),this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.pF.prototype={ +i9(){return A.an(["cameraId",this.a],t.N,t.K)}, +j(a,b){var s +if(b==null)return!1 +if(this!==b)s=this.p7(0,b)&&b instanceof A.pF&&A.t(this)===A.t(b) +else s=!0 +return s}, +gt(a){return A.dJ.prototype.gt.call(this,0)}} +A.kV.prototype={ +i9(){return A.an(["cameraId",this.a,"description",this.b],t.N,t.K)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=r.p7(0,b)&&b instanceof A.kV&&A.t(r)===A.t(b)&&r.b===b.b +else s=!0 +return s}, +gt(a){return A.P(A.dJ.prototype.gt.call(this,0),this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.rS.prototype={ +i9(){var s,r=this.b.c +r===$&&A.a() +s=this.c +s=s==null?null:B.f.c9(s.a,1000) +return A.an(["cameraId",this.a,"path",r,"maxVideoDuration",s],t.N,t.X)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=r.p7(0,b)&&b instanceof A.rS&&A.t(r)===A.t(b)&&J.e(r.c,b.c) +else s=!0 +return s}, +gt(a){return A.P(A.dJ.prototype.gt.call(this,0),this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.vy.prototype={} +A.h4.prototype={ +i9(){return A.an(["orientation",A.aKl(this.a)],t.N,t.K)}, +j(a,b){var s +if(b==null)return!1 +if(this!==b)s=b instanceof A.h4&&A.t(this)===A.t(b)&&this.a===b.a +else s=!0 +return s}, +gt(a){return A.f8(this.a)}} +A.a4s.prototype={ +Yt(){B.Hz.j0(new A.a4v(this))}, +Ik(a){var s=this.b,r=A.o(s).h("c0<1>") +return new A.pb(new A.a4t(a),new A.c0(s,r),r.h("pb"))}, +it(){var s=0,r=A.z(t.RI),q,p=2,o,n,m,l,k,j +var $async$it=A.A(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:p=4 +s=7 +return A.B(B.dH.ado("availableCameras",t.f),$async$it) +case 7:n=b +if(n==null){l=A.b([],t.X5) +q=l +s=1 +break}l=J.kJ(n,new A.a4u(),t.F6) +l=A.a7(l,!0,l.$ti.h("aD.E")) +q=l +s=1 +break +p=2 +s=6 +break +case 4:p=3 +j=o +l=A.a9(j) +if(l instanceof A.fK){m=l +throw A.c(A.fq(m.a,m.b))}else throw j +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$it,r)}, +lR(a,b){return this.aab(a,b)}, +aab(a,b){var s=0,r=A.z(t.S),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e +var $async$lR=A.A(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:p=4 +j=b.a +m=j +i=m!=null?n.a6I(j):null +h=t.N +g=t.z +s=7 +return A.B(B.dH.mg("create",A.an(["cameraName",a.a,"resolutionPreset",i,"fps",b.b,"videoBitrate",b.c,"audioBitrate",b.d,"enableAudio",!1],h,g),h,g),$async$lR) +case 7:l=d +g=l +g.toString +g=J.b5(g,"cameraId") +g.toString +A.cl(g) +q=g +s=1 +break +p=2 +s=6 +break +case 4:p=3 +e=o +i=A.a9(e) +if(i instanceof A.fK){k=i +throw A.c(A.fq(k.a,k.b))}else throw e +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$lR,r)}, +oi(a,b){var s,r,q,p +this.a.bk(0,a,new A.a4x(this,a)) +s=new A.a8($.ae,t.V) +r=new A.b1(s,t.h) +A.acj(this.Ik(a),t.OY,t.AX).gI(0).b_(0,new A.a4y(r),t.P) +q=t.N +p=t.z +B.dH.mg("initialize",A.an(["cameraId",a,"imageFormatGroup",A.aC8(b)],q,p),q,p).ku(new A.a4z(r)) +return s}, +hc(a){return this.aaN(a)}, +aaN(a){var s=0,r=A.z(t.H),q=this,p,o +var $async$hc=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=q.a +if(o.a9(0,a)){p=o.k(0,a) +if(p!=null)p.j0(null) +o.A(0,a)}s=2 +return A.B(B.dH.dv("dispose",A.an(["cameraId",a],t.N,t.z),!1,t.H),$async$hc) +case 2:return A.x(null,r)}}) +return A.y($async$hc,r)}, +Rn(a){return A.acj(this.Ik(a),t.OY,t.AX)}, +Ro(){var s=this.c +return A.acj(new A.c0(s,A.o(s).h("c0<1>")),t.BS,t.x1)}, +tp(a){return this.afJ(a)}, +afJ(a){var s=0,r=A.z(t.rx),q,p,o +var $async$tp=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:p=t.N +s=3 +return A.B(B.dH.dv("takePicture",A.an(["cameraId",a],p,t.z),!1,p),$async$tp) +case 3:o=c +if(o==null)throw A.c(A.fq("INVALID_PATH",'The platform "'+A.el().i(0)+'" did not return a path while reporting success. The platform should always return a valid path or report an error.')) +q=A.Aa(o,null,null,null,null) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$tp,r)}, +Oq(a){return new A.La(a,null)}, +a6I(a){switch(a.a){case 5:return"max" +case 4:return"ultraHigh" +case 3:return"veryHigh" +case 2:return"high" +case 1:return"medium" +case 0:return"low"}}, +E2(a){return this.abK(a)}, +abK(a){var s=0,r=A.z(t.z),q=this,p +var $async$E2=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:switch(a.a){case"orientation_changed":p=J.kI(t.F.a(a.b),t.N,t.X).k(0,"orientation") +p.toString +q.c.D(0,new A.h4(A.aJl(A.by(p)))) +break +default:throw A.c(A.a4P(null))}return A.x(null,r)}}) +return A.y($async$E2,r)}, +E1(a,b){return this.abI(a,b)}, +abI(a,b){var s=0,r=A.z(t.z),q=this,p,o,n,m,l,k,j +var $async$E1=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:switch(a.a){case"initialized":p=J.kI(t.F.a(a.b),t.N,t.X) +o=p.k(0,"previewWidth") +o.toString +A.bD(o) +n=p.k(0,"previewHeight") +n.toString +A.bD(n) +m=p.k(0,"exposureMode") +m.toString +m=A.aJm(A.by(m)) +l=p.k(0,"exposurePointSupported") +l.toString +A.kt(l) +k=p.k(0,"focusMode") +k.toString +k=A.aJn(A.by(k)) +j=p.k(0,"focusPointSupported") +j.toString +q.b.D(0,new A.du(o,n,m,k,l,A.kt(j),b)) +break +case"resolution_changed":p=J.kI(t.F.a(a.b),t.N,t.X) +o=p.k(0,"captureWidth") +o.toString +A.bD(o) +n=p.k(0,"captureHeight") +n.toString +q.b.D(0,new A.uY(o,A.bD(n),b)) +break +case"camera_closing":q.b.D(0,new A.pF(b)) +break +case"video_recorded":p=J.kI(t.F.a(a.b),t.N,t.X) +o=p.k(0,"path") +o.toString +o=A.Aa(A.by(o),null,null,null,null) +if(p.k(0,"maxVideoDuration")!=null){n=p.k(0,"maxVideoDuration") +n.toString +n=A.cR(0,A.cl(n))}else n=null +q.b.D(0,new A.rS(o,n,b)) +break +case"error":o=J.kI(t.F.a(a.b),t.N,t.X).k(0,"description") +o.toString +q.b.D(0,new A.kV(A.by(o),b)) +break +default:throw A.c(A.a4P(null))}return A.x(null,r)}}) +return A.y($async$E1,r)}} +A.a4v.prototype={ +$1(a){return this.a.E2(a)}, +$S:46} +A.a4t.prototype={ +$1(a){return a.a===this.a}, +$S:121} +A.a4u.prototype={ +$1(a){var s,r=J.ax(a),q=r.k(a,"name") +q.toString +A.by(q) +s=r.k(a,"lensFacing") +s.toString +s=A.aKd(A.by(s)) +r=r.k(a,"sensorOrientation") +r.toString +return new A.it(q,s,A.cl(r))}, +$S:338} +A.a4x.prototype={ +$0(){var s=this.b,r=new A.dy("flutter.io/cameraPlugin/camera"+s,B.ai) +r.j0(new A.a4w(this.a,s)) +return r}, +$S:340} +A.a4w.prototype={ +$1(a){return this.a.E1(a,this.b)}, +$S:46} +A.a4y.prototype={ +$1(a){this.a.eW(0)}, +$S:105} +A.a4z.prototype={ +$2(a,b){if(!(a instanceof A.fK))throw A.c(a) +this.a.lO(new A.mV(a.a,a.b),b)}, +$S:38} +A.VX.prototype={} +A.uW.prototype={ +F(){return"CameraLensDirection."+this.b}} +A.it.prototype={ +j(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=b instanceof A.it&&A.t(r)===A.t(b)&&r.a===b.a&&r.b===b.b +else s=!0 +return s}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"CameraDescription("+this.a+", "+this.b.i(0)+", "+this.c+")"}} +A.mV.prototype={ +i(a){return"CameraException("+this.a+", "+A.h(this.b)+")"}, +$ibQ:1} +A.nb.prototype={ +F(){return"ExposureMode."+this.b}} +A.Zj.prototype={ +F(){return"FlashMode."+this.b}} +A.nn.prototype={ +F(){return"FocusMode."+this.b}} +A.a0n.prototype={ +F(){return"ImageFormatGroup."+this.b}} +A.HK.prototype={ +j(a,b){var s +if(b==null)return!1 +if(b===this)return!0 +if(J.T(b)!==A.t(this))return!1 +if(b instanceof A.HK)s=this.a===b.a +else s=!1 +return s}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,!1,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=this +return"MediaSettings{resolutionPreset: "+s.a.i(0)+", fps: "+A.h(s.b)+", videoBitrate: "+A.h(s.c)+", audioBitrate: "+A.h(s.d)+", enableAudio: false}"}} +A.a81.prototype={ +F(){return"ResolutionPreset."+this.b}} +A.EG.prototype={ +hk(a){var s=0,r=A.z(t.H),q=this,p,o,n,m,l,k +var $async$hk=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:k=q.a +s=2 +return A.B(q.as.mE(q.b,k),$async$hk) +case 2:q.f=c +p=self +o=p.document.createElement("video") +q.d!==$&&A.bz() +q.d=o +n=p.document.createElement("div") +n.style.setProperty("object-fit","cover") +n.style.setProperty("height","100%") +n.style.setProperty("width","100%") +n.append(o) +q.e!==$&&A.bz() +q.e=n +$.apk() +$.DQ().xV("plugins.flutter.io/camera_"+k,new A.Wa(q),!0) +o.autoplay=!1 +o.muted=!0 +o.srcObject=q.f +o.setAttribute("playsinline","") +q.Gb() +k=o.style +k.transformOrigin="center" +k.pointerEvents="none" +k.width="100%" +k.height="100%" +k.objectFit="cover" +m=q.f.getVideoTracks() +m=t.Lc.b(m)?m:new A.bL(m,A.a_(m).h("bL<1,U>")) +k=J.ax(m) +if(k.gbd(m)){l=k.gI(m) +q.w=A.oY(l,"ended",new A.Wb(q,l),!1,t.m)}return A.x(null,r)}}) +return A.y($async$hk,r)}, +t9(a){var s=0,r=A.z(t.H),q=this,p,o +var $async$t9=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=q.d +o===$&&A.a() +s=o.srcObject==null?2:3 +break +case 2:s=4 +return A.B(q.as.mE(q.b,q.a),$async$t9) +case 4:p=c +q.f=p +o.srcObject=p +case 3:s=5 +return A.B(A.cF(o.play(),t.X),$async$t9) +case 5:return A.x(null,r)}}) +return A.y($async$t9,r)}, +es(a){var s,r,q=this,p=q.f.getVideoTracks(),o=t.Lc +p=o.b(p)?p:new A.bL(p,A.a_(p).h("bL<1,U>")) +s=J.ax(p) +if(s.gbd(p))q.r.D(0,s.gI(p)) +s=q.f +if(s==null)r=null +else{s=s.getTracks() +r=o.b(s)?s:new A.bL(s,A.a_(s).h("bL<1,U>"))}if(r!=null)for(o=J.al(r);o.q();)o.gG(o).stop() +o=q.d +o===$&&A.a() +o.srcObject=null +q.f=null}, +jM(){var s=0,r=A.z(t.rx),q,p=this,o,n,m,l,k,j,i +var $async$jM=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:i=p.d +i===$&&A.a() +o=i.videoWidth +n=i.videoHeight +m=self +l=m.document.createElement("canvas") +l.width=o +l.height=n +p.Gb() +k=l.getContext("2d") +if(k==null)k=t.m.a(k) +A.b9(k,"drawImage",[i,0,0,o,n]) +i=new A.a8($.ae,t.XC) +l.toBlob(A.bb(new A.Wd(new A.b1(i,t.m_))),"image/jpeg") +s=3 +return A.B(i,$async$jM) +case 3:j=b +q=A.Aa(m.URL.createObjectURL(j),null,null,null,null) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$jM,r)}, +TI(){var s,r,q=this.d +q===$&&A.a() +q=q.srcObject +if(q==null)s=null +else{q=q.getVideoTracks() +q=t.Lc.b(q)?q:new A.bL(q,A.a_(q).h("bL<1,U>")) +s=q}if(s==null)s=A.b([],t.E5) +q=J.ax(s) +if(q.gM(s))return B.C +r=q.gI(s).getSettings() +return new A.K(r.width,r.height)}, +Gb(){var s,r,q=this.d +q===$&&A.a() +q=q.srcObject +if(q==null)s=null +else{q=q.getVideoTracks() +q=t.Lc.b(q)?q:new A.bL(q,A.a_(q).h("bL<1,U>")) +s=q}if(s==null)s=A.b([],t.E5) +q=J.ax(s) +if(q.gM(s))return null +r=q.gI(s).getSettings().facingMode +if(r!=null&&r.length!==0)return this.as.Ra(r) +else return null}, +l(){var s=0,r=A.z(t.H),q=this,p,o +var $async$l=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:q.es(0) +s=2 +return A.B(q.dx.aM(0),$async$l) +case 2:p=q.d +p===$&&A.a() +p.srcObject=null +p.load() +p=q.w +p=p==null?null:p.aA(0) +o=t.H +s=3 +return A.B(t.uz.b(p)?p:A.fe(p,o),$async$l) +case 3:q.w=null +s=4 +return A.B(q.r.aM(0),$async$l) +case 4:p=A.fe(null,o) +s=5 +return A.B(p,$async$l) +case 5:q.z=null +s=6 +return A.B(q.y.aM(0),$async$l) +case 6:return A.x(null,r)}}) +return A.y($async$l,r)}} +A.Wc.prototype={ +$1(a){return self.MediaRecorder.isTypeSupported(a)}, +$S:29} +A.W9.prototype={ +$2(a,b){return new self.Blob(a,{type:b})}, +$S:341} +A.Wa.prototype={ +$1(a){var s=this.a.e +s===$&&A.a() +return s}, +$S:342} +A.Wb.prototype={ +$1(a){this.a.r.D(0,this.b)}, +$S:14} +A.Wd.prototype={ +$1(a){this.a.cA(0,a)}, +$S:44} +A.W7.prototype={ +mE(a,b){return this.Tp(a,b)}, +Ge(a){return this.mE(a,0)}, +Tp(a,b){var s=0,r=A.z(t.m),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e +var $async$mE=A.A(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:f=n.a.navigator.mediaDevices +p=4 +l=a.b +k=t.N +j=t.K +i=A.E(k,j) +h=l.b +if(h!=null)i.n(0,"width",h.i9()) +h=l.c +if(h!=null)i.n(0,"height",h.i9()) +h=l.a +if(h!=null)i.n(0,"facingMode",h.i9()) +l=l.d +if(l!=null)i.n(0,"deviceId",A.an(["exact",l],k,j)) +l=A.a5(i) +l.toString +s=7 +return A.B(A.cF(f.getUserMedia({video:l,audio:a.a.a}),t.m),$async$mE) +case 7:l=d +q=l +s=1 +break +p=2 +s=6 +break +case 4:p=3 +e=o +l=A.a9(e) +if(t.m.b(l)){m=l +switch(m.name){case"NotFoundError":case"DevicesNotFoundError":throw A.c(A.kW(b,B.zK,"No camera found for the given camera options.")) +case"NotReadableError":case"TrackStartError":throw A.c(A.kW(b,B.zL,"The camera is not readable due to a hardware error that prevented access to the device.")) +case"OverconstrainedError":case"ConstraintNotSatisfiedError":throw A.c(A.kW(b,B.zM,"The camera options are impossible to satisfy.")) +case"NotAllowedError":case"PermissionDeniedError":throw A.c(A.kW(b,B.zJ,"The camera cannot be used or the permission to access the camera is not granted.")) +case"TypeError":throw A.c(A.kW(b,B.zO,"The camera options are incorrect or attempted to access the media input from an insecure context.")) +case"AbortError":throw A.c(A.kW(b,B.kH,"Some problem occurred that prevented the camera from being used.")) +case"SecurityError":throw A.c(A.kW(b,B.zN,"The user media support is disabled in the current browser.")) +default:throw A.c(A.kW(b,B.kI,u.O))}}else{l=A.kW(b,B.kI,u.O) +throw A.c(l)}s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$mE,r)}, +Tj(a){var s,r,q +if(!this.a.navigator.mediaDevices.getSupportedConstraints().facingMode)return null +s=a.getSettings().facingMode +if(s==null||s.length===0){if(!("getCapabilities" in a))return null +r=a.getCapabilities().facingMode +r=t.yp.b(r)?r:new A.bL(r,A.a_(r).h("bL<1,r>")) +r=J.kJ(r,new A.W8(),t.N) +q=A.a7(r,!0,r.$ti.h("aD.E")) +if(q.length!==0)return B.b.gI(q) +else return null}return s}, +Ra(a){switch(a){case"user":return B.kJ +case"environment":return B.kK +case"left":case"right":default:return B.hr}}, +ae0(a){switch(a){case"user":return B.kL +case"environment":return B.zW +case"left":case"right":default:return B.kL}}, +ae2(a){switch(a.a){case 5:case 4:return B.Lq +case 3:return B.Lp +case 2:return B.Lo +case 1:return B.Lt +case 0:return B.wV}return B.wV}, +ae1(a){switch(a){case"portrait-primary":return B.ey +case"landscape-primary":return B.hL +case"portrait-secondary":return B.lc +case"landscape-secondary":return B.hM +default:return B.ey}}} +A.W8.prototype={ +$1(a){return a}, +$S:84} +A.VY.prototype={ +ZE(a){var s=this.e,r=A.o(s).h("c0<1>") +return new A.pb(new A.VZ(a),new A.c0(s,r),r.h("pb"))}, +it(){var s=0,r=A.z(t.RI),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2 +var $async$it=A.A(function(b3,b4){if(b3===1){o=b4 +s=p}while(true)switch(s){case 0:p=4 +m=n.as.navigator.mediaDevices +l=A.b([],t.X5) +a3=n.a +s=7 +return A.B(a3.Ge(B.zU),$async$it) +case 7:k=b4 +a4=k.getVideoTracks() +a5=t.Lc +a4=a5.b(a4)?a4:new A.bL(a4,A.a_(a4).h("bL<1,U>")) +J.mN(a4,new A.W_()) +s=8 +return A.B(A.cF(m.enumerateDevices(),t.ef),$async$it) +case 8:a6=b4 +j=a5.b(a6)?a6:new A.bL(a6,A.a_(a6).h("bL<1,U>")) +a4=J.alA(j,new A.W0()) +i=new A.aF(a4,new A.W1(),a4.$ti.h("aF")) +a4=i,a7=J.al(a4.a),a4=new A.mb(a7,a4.b),a8=n.d +case 9:if(!a4.q()){s=10 +break}h=a7.gG(a7) +a9=h.deviceId +s=11 +return A.B(a3.Ge(new A.pG(B.h6,new A.rQ(null,null,null,a9))),$async$it) +case 11:g=b4 +b0=g.getVideoTracks() +f=a5.b(b0)?b0:new A.bL(b0,A.a_(b0).h("bL<1,U>")) +if(J.fY(f)){e=a3.Tj(J.ip(f)) +d=e!=null?a3.Ra(e):B.hr +c=new A.it(h.label,d,0) +b=new A.uX(h.deviceId,e) +J.em(l,c) +a8.n(0,c,b) +for(a9=J.al(f);a9.q();){a=a9.gG(a9) +a.stop()}}else{s=9 +break}s=9 +break +case 10:q=l +s=1 +break +p=2 +s=6 +break +case 4:p=3 +b2=o +a3=A.a9(b2) +if(t.m.b(a3)){a0=a3 +throw A.c(A.fq(A.I(a0,"name"),A.I(a0,"message")))}else if(a3 instanceof A.fK){a1=a3 +throw A.c(A.fq(a1.a,a1.b))}else if(a3 instanceof A.mX){a2=a3 +n.zj(a2) +throw A.c(A.fq(a2.b.a,a2.c))}else throw b2 +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$it,r)}, +lR(a,b){return this.aaa(a,b)}, +aaa(a,b){var s=0,r=A.z(t.S),q,p=this,o,n,m,l,k,j,i,h,g,f +var $async$lR=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:try{i=p.d +if(!i.a9(0,a)){i=A.jT("cameraMissingMetadata",null,"Missing camera metadata. Make sure to call `availableCameras` before creating a camera.",null) +throw A.c(i)}o=p.c++ +i=i.k(0,a) +i.toString +n=i +if(n.b!=null){i=n.b +i.toString +h=p.a.ae0(i)}else h=null +m=h +i=p.a +g=b.a +l=i.ae2(g) +g=m!=null?new A.Gi(m):null +g=A.azS(new A.uI(!1),new A.rQ(g,new A.A4(B.c.P(l.a)),new A.A4(B.c.P(l.b)),n.a)) +k=A.azQ(i,g,new A.BG(b.d,b.c),o) +p.b.n(0,o,k) +q=o +s=1 +break}catch(e){i=A.a9(e) +if(i instanceof A.fK){j=i +throw A.c(A.fq(j.a,j.b))}else throw e}case 1:return A.x(q,r)}}) +return A.y($async$lR,r)}, +oi(a,b){return this.ad1(a,b)}, +ad1(a,b){var s=0,r=A.z(t.H),q=1,p,o=this,n,m,l,k,j,i,h,g +var $async$oi=A.A(function(c,d){if(c===1){p=d +s=q}while(true)switch(s){case 0:q=3 +n=o.tL(a) +s=6 +return A.B(J.alx(n),$async$oi) +case 6:j=n.d +j===$&&A.a() +i=t.Ds.c +o.r.n(0,a,A.oY(j,"error",new A.W2(o,n,a),!1,i)) +j=n.d +j===$&&A.a() +o.x.n(0,a,A.oY(j,"error",new A.W3(o,a),!1,i)) +s=7 +return A.B(J.aze(n),$async$oi) +case 7:i=n.r +o.y.n(0,a,new A.c0(i,A.o(i).h("c0<1>")).hZ(new A.W4(o,a))) +m=n.TI() +o.e.D(0,new A.du(m.a,m.b,B.hT,B.hY,!1,!1,a)) +q=1 +s=5 +break +case 3:q=2 +g=p +j=A.a9(g) +if(t.m.b(j)){l=j +throw A.c(A.jT(A.I(l,"name"),null,A.I(l,"message"),null))}else if(j instanceof A.mX){k=j +o.zj(k) +throw A.c(A.jT(k.b.a,null,k.c,null))}else throw g +s=5 +break +case 2:s=1 +break +case 5:return A.x(null,r) +case 1:return A.w(p,r)}}) +return A.y($async$oi,r)}, +Rn(a){return A.acj(this.ZE(a),t.OY,t.AX)}, +Ro(){var s=this.as.screen.orientation,r=t.m,q=A.cm(new self.Event("change"),r),p=A.aEN(q,q.$ti.c) +q=p.$ti +p=new A.t0(p,null,null,$.ae,q.h("t0")) +p.e=new A.t1(p.ga4M(),p.ga4C(),q.h("t1")) +r=A.aAo(p,new A.mi(s,"change",!1,t.Sc),r) +return new A.Ba(new A.W5(this,s),r,A.o(r).h("Ba"))}, +tp(a){var s,r,q,p,o=null +try{q=this.tL(a).jM() +return q}catch(p){q=A.a9(p) +if(t.m.b(q)){s=q +throw A.c(A.jT(A.I(s,"name"),o,A.I(s,"message"),o))}else if(q instanceof A.mX){r=q +this.zj(r) +throw A.c(A.jT(r.b.a,o,r.c,o))}else throw p}}, +Oq(a){return new A.GO("plugins.flutter.io/camera_"+this.tL(a).a,null)}, +hc(a){return this.aaM(a)}, +aaM(a){var s=0,r=A.z(t.H),q=1,p,o=this,n,m,l,k,j,i,h,g,f +var $async$hc=A.A(function(b,c){if(b===1){p=c +s=q}while(true)switch(s){case 0:q=3 +s=6 +return A.B(o.tL(a).l(),$async$hc) +case 6:m=o.r +l=m.k(0,a) +l=l==null?null:l.aA(0) +k=t.H +j=t.uz +s=7 +return A.B(j.b(l)?l:A.fe(l,k),$async$hc) +case 7:l=o.x +i=l.k(0,a) +i=i==null?null:i.aA(0) +s=8 +return A.B(j.b(i)?i:A.fe(i,k),$async$hc) +case 8:i=o.y +h=i.k(0,a) +h=h==null?null:h.aA(0) +s=9 +return A.B(j.b(h)?h:A.fe(h,k),$async$hc) +case 9:o.z.k(0,a) +k=A.fe(null,k) +s=10 +return A.B(k,$async$hc) +case 10:o.b.A(0,a) +m.A(0,a) +l.A(0,a) +i.A(0,a) +q=1 +s=5 +break +case 3:q=2 +f=p +m=A.a9(f) +if(t.m.b(m)){n=m +throw A.c(A.jT(A.I(n,"name"),null,A.I(n,"message"),null))}else throw f +s=5 +break +case 2:s=1 +break +case 5:return A.x(null,r) +case 1:return A.w(p,r)}}) +return A.y($async$hc,r)}, +tL(a){var s=this.b.k(0,a) +if(s==null)throw A.c(A.jT("cameraNotFound",null,"No camera found for the given camera id "+a+".",null)) +return s}, +zj(a){this.e.D(0,new A.kV("Error code: "+a.b.i(0)+", error message: "+a.c,a.a))}} +A.VZ.prototype={ +$1(a){return a.a===this.a}, +$S:121} +A.W_.prototype={ +$1(a){return a.stop()}, +$S:14} +A.W0.prototype={ +$1(a){return J.e(a.kind,"videoinput")}, +$S:168} +A.W1.prototype={ +$1(a){return J.cs(a.deviceId)!==0}, +$S:168} +A.W2.prototype={ +$1(a){var s,r,q,p=this.b.d +p===$&&A.a() +p=p.error +p.toString +s=p +r=A.azR(s) +q=!J.e(s.message,"")?s.message:"No further diagnostic information can be determined or provided." +this.a.e.D(0,new A.kV("Error code: "+A.h(r)+", error message: "+A.h(q),this.c))}, +$S:14} +A.W3.prototype={ +$1(a){this.a.e.D(0,new A.kV("Error code: "+B.kH.i(0)+", error message: The video element's source has not fully loaded.",this.b))}, +$S:14} +A.W4.prototype={ +$1(a){this.a.e.D(0,new A.pF(this.b))}, +$S:14} +A.W5.prototype={ +$1(a){return new A.h4(this.a.a.ae1(this.b.type))}, +$S:354} +A.a16.prototype={} +A.eq.prototype={ +i(a){return this.a}} +A.uX.prototype={ +j(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.uX&&b.a===this.a&&b.b==this.b}, +gt(a){return A.P(B.d.gt(this.a),J.u(this.b),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.pG.prototype={ +j(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.pG&&b.a.j(0,this.a)&&b.b.j(0,this.b)}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.uI.prototype={ +j(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.uI&&b.a===this.a}, +gt(a){return this.a?519018:218159}} +A.rQ.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.rQ&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&b.d==s.d}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.EK.prototype={ +F(){return"CameraType."+this.b}, +i(a){return this.c}} +A.Gi.prototype={ +i9(){var s=A.E(t.N,t.K) +s.n(0,"ideal",this.a.c) +return s}, +j(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +if(b instanceof A.Gi)s=b.a===this.a +else s=!1 +return s}, +gt(a){return A.P(this.a,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.A4.prototype={ +i9(){var s=A.E(t.N,t.z) +s.n(0,"ideal",this.b) +return s}, +j(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +s=!1 +if(b instanceof A.A4)s=b.b===this.b +return s}, +gt(a){return A.P(null,this.b,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.mX.prototype={ +i(a){return"CameraWebException("+this.a+", "+this.b.i(0)+", "+this.c+")"}, +$ibQ:1} +A.aas.prototype={ +gG(a){var s=this,r=s.d +return r==null?s.d=B.d.ak(s.a,s.b,s.c):r}, +q(){return this.Z3(1,this.c)}, +Z3(a,b){var s,r,q,p,o,n,m,l,k,j=this +if(a>0){s=j.c +for(r=j.a,q=r.length,p=176;ss;){p=k.c=q-1 +o=r.charCodeAt(p) +if((o&64512)!==56320){p=k.d=j.charCodeAt(k.d&240|A.Dy(o)) +if(((p>=208?k.d=A.aou(r,s,k.c,p):p)&1)===0)return q +continue}n=2 +if(p>=s){m=r.charCodeAt(p-1) +if((m&64512)===55296){n=A.mJ(m,o) +p=--k.c}}l=k.d=j.charCodeAt(k.d&240|n) +if(((l>=208?k.d=A.aou(r,s,p,l):l)&1)===0)return q}p=k.d=j.charCodeAt(k.d&240|15) +if(((p>=208?k.d=A.aou(r,s,q,p):p)&1)===0)return k.c +return-1}} +A.Fz.prototype={} +A.mA.prototype={ +kD(a,b){var s,r,q,p,o +if(a===b)return!0 +s=this.a +r=A.fx(s.gab6(),s.gacD(s),s.gadF(),A.o(this).h("mA.E"),t.S) +for(s=J.al(a),q=0;s.q();){p=s.gG(s) +o=r.k(0,p) +r.n(0,p,(o==null?0:o)+1);++q}for(s=J.al(b);s.q();){p=s.gG(s) +o=r.k(0,p) +if(o==null||o===0)return!1 +r.n(0,p,o-1);--q}return q===0}, +hV(a,b){var s,r,q +for(s=J.al(b),r=this.a,q=0;s.q();)q=q+r.hV(0,s.gG(s))&2147483647 +q=q+(q<<3>>>0)&2147483647 +q^=q>>>11 +return q+(q<<15>>>0)&2147483647}} +A.rP.prototype={} +A.rn.prototype={} +A.tu.prototype={ +gt(a){var s=this.a +return 3*s.a.hV(0,this.b)+7*s.b.hV(0,this.c)&2147483647}, +j(a,b){var s +if(b==null)return!1 +if(b instanceof A.tu){s=this.a +s=s.a.kD(this.b,b.b)&&s.b.kD(this.c,b.c)}else s=!1 +return s}} +A.x6.prototype={ +kD(a,b){var s,r,q,p,o,n,m +if(a===b)return!0 +s=J.ax(a) +r=J.ax(b) +if(s.gu(a)!==r.gu(b))return!1 +q=A.fx(null,null,null,t.PJ,t.S) +for(p=J.al(s.gbr(a));p.q();){o=p.gG(p) +n=new A.tu(this,o,s.k(a,o)) +m=q.k(0,n) +q.n(0,n,(m==null?0:m)+1)}for(s=J.al(r.gbr(b));s.q();){o=s.gG(s) +n=new A.tu(this,o,r.k(b,o)) +m=q.k(0,n) +if(m==null||m===0)return!1 +q.n(0,n,m-1)}return!0}, +hV(a,b){var s,r,q,p,o,n,m,l,k +for(s=J.dg(b),r=J.al(s.gbr(b)),q=this.a,p=this.b,o=this.$ti.y[1],n=0;r.q();){m=r.gG(r) +l=q.hV(0,m) +k=s.k(b,m) +n=n+3*l+7*p.hV(0,k==null?o.a(k):k)&2147483647}n=n+(n<<3>>>0)&2147483647 +n^=n>>>11 +return n+(n<<15>>>0)&2147483647}} +A.Fx.prototype={ +kD(a,b){var s,r=this,q=t.Ro +if(q.b(a))return q.b(b)&&new A.rn(r,t.n5).kD(a,b) +q=t.f +if(q.b(a))return q.b(b)&&new A.x6(r,r,t.Dx).kD(a,b) +q=t.JY +if(q.b(a)){s=t.j +if(s.b(a)!==s.b(b))return!1 +return q.b(b)&&new A.rP(r,t.N2).kD(a,b)}return J.e(a,b)}, +hV(a,b){var s=this +if(t.Ro.b(b))return new A.rn(s,t.n5).hV(0,b) +if(t.f.b(b))return new A.x6(s,s,t.Dx).hV(0,b) +if(t.JY.b(b))return new A.rP(s,t.N2).hV(0,b) +return J.u(b)}, +adG(a){return!0}} +A.GK.prototype={ +uA(a){var s=this.b[a] +this.$ti.c.a(null) +s=null +return s}, +gu(a){return this.c}, +i(a){var s=this.b +return A.ar8(A.hr(s,0,A.eQ(this.c,"count",t.S),A.a_(s).c),"(",")")}, +Zo(a,b){var s,r,q,p,o,n,m,l,k,j,i=this,h=b*2+2 +for(s=i.b,r=i.a,q=i.$ti.c;p=i.c,h0){s[b]=j +b=o}}s[b]=a}} +A.LN.prototype={ +or(a){throw A.c(A.cc(".length() has not been implemented."))}} +A.dc.prototype={ +a_r(a,b){var s=t.vs +return b==null?new self.Blob(A.b([a],s)):new self.Blob(A.b([a],s),{type:b})}, +gus(){var s=0,r=A.z(t.m),q,p=this,o,n,m,l,k +var $async$gus=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:k=p.f +if(k!=null){q=k +s=1 +break}k=self +o=!1 +if(J.e(k.window.navigator.vendor,"Apple Computer, Inc.")){n=p.d +if(n!=null)o=n>=4294967296}if(o)throw A.c(A.c2("Safari cannot handle XFiles larger than 4GB.")) +o=new A.a8($.ae,t.XC) +m=new A.b1(o,t.m_) +l=A.bk("request") +k=new k.XMLHttpRequest() +n=p.c +n===$&&A.a() +k.open("get",n,!0) +k.responseType="blob" +n=t.m +A.oY(k,"load",new A.acq(m,l),!1,n) +A.oY(k,"error",new A.acr(m),!1,n) +k.send() +l.b=k +q=o +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$gus,r)}, +tf(){var s=0,r=A.z(t.H3),q,p=this +var $async$tf=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:q=p.gus().b_(0,p.gZl(),t.H3) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$tf,r)}, +or(a){var s=0,r=A.z(t.S),q,p=this,o +var $async$or=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.d +s=o==null?3:5 +break +case 3:s=6 +return A.B(p.gus(),$async$or) +case 6:c=c.size +s=4 +break +case 5:c=o +case 4:q=c +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$or,r)}, +ut(a){return this.Zm(a)}, +Zm(a){var s=0,r=A.z(t.H3),q,p,o,n +var $async$ut=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:n=new self.FileReader() +n.readAsArrayBuffer(a) +s=3 +return A.B(new A.mi(n,"loadend",!1,t.Sc).gI(0),$async$ut) +case 3:p=t.W8.a(n.result) +o=p==null?null:A.d2(p,0,null) +if(o==null)throw A.c(A.c2("Cannot read bytes from Blob. Is it still available?")) +q=o +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ut,r)}} +A.acq.prototype={ +$1(a){var s=this.b.aP().response +s.toString +this.a.cA(0,t.m.a(s))}, +$S:14} +A.acr.prototype={ +$1(a){if(J.e(a.type,"error"))this.a.jk(new A.AL("Could not load Blob from its URL. Has it been revoked?"))}, +$S:14} +A.E_.prototype={ +K(a){var s,r=null,q=t.w,p=t.D,o=A.d6(r,A.iW(A.b([A.qk("images/logo-ddn.png",r,r,A.bY(a,r,q).w.a.a-80)],p),B.V,B.a8,B.aM),r,r,r,r,r,B.BY,r),n=A.d6(r,B.A1,r,r,r,r,r,B.BZ,r),m=A.d6(r,new A.xd(new A.UC(),B.aD,B.R5,208,44,r),r,r,r,r,r,B.C0,r),l=A.bY(a,r,q).w +l=A.d6(r,A.n1(A.b([new A.cf(B.lk,A.lk(!1,r,!0,A.eg("Dynamsoft Document Normalizer overview >",r,r,A.fb(r,r,B.aD,r,r,r,r,r,r,r,r,16,r,r,r,r,r,!0,r,r,r,r,r,r,r,r)),r,!0,r,r,r,r,r,r,r,r,r,new A.UD(),r,r,r,r),r),A.d6(r,r,B.aS,r,r,1,r,r,r),new A.cf(B.lk,A.lk(!1,r,!0,A.eg("Contact us >",r,r,A.fb(r,r,B.aD,r,r,r,r,r,r,r,r,16,r,r,r,r,r,!0,r,r,r,r,r,r,r,r)),r,!0,r,r,r,r,r,r,r,r,r,new A.UE(),r,r,r,r),r)],p),B.bM,B.a8),r,r,B.ee,r,r,B.BU,l.a.a-30) +s=A.bY(a,r,q).w +s=A.d6(r,A.iW(A.b([B.R0,A.q3(A.d6(r,r,r,r,r,r,r,r,r)),A.eg("1.0.2",r,r,A.fb(r,r,B.AC,r,r,r,r,r,r,r,r,15,r,r,r,r,r,!0,r,r,r,r,r,r,r,r))],p),B.V,B.a8,B.aM),r,r,B.ee,49,r,B.ll,s.a.a-30) +q=A.bY(a,r,q).w +q=A.d6(r,A.iW(A.b([A.lk(!1,r,!0,B.R_,r,!0,r,r,r,r,r,r,r,r,r,new A.UF(),r,r,r,r),A.q3(A.d6(r,r,r,r,r,r,r,r,r))],p),B.V,B.a8,B.aM),r,r,B.ee,49,r,B.ll,q.a.a-30) +return A.re(A.Ed(r,B.aS,!0,r,A.eg("About",r,r,A.fb(r,r,B.hG,r,r,r,r,r,r,r,r,22,r,r,r,r,r,!0,r,r,r,r,r,r,r,r))),A.asx(A.n1(A.b([o,n,m,new A.cf(B.BO,l,r),new A.cf(B.BP,s,r),new A.cf(B.BQ,q,r)],p),B.V,B.a8),r,B.aj,r,r,B.aw),r,r)}} +A.UC.prototype={ +$0(){A.uh("https://www.dynamsoft.com/document-normalizer/downloads/1000023-confirmation/")}, +$S:0} +A.UD.prototype={ +$0(){A.uh("https://www.dynamsoft.com/document-normalizer/docs/core/introduction/?ver=latest&ver=latest")}, +$S:0} +A.UE.prototype={ +$0(){A.uh("https://www.dynamsoft.com/company/about/")}, +$S:0} +A.UF.prototype={ +$0(){A.uh("https://github.com/yushulx/flutter-document-scanner")}, +$S:0} +A.VW.prototype={ +uk(){var s=0,r=A.z(t.H),q,p=this,o +var $async$uk=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:if(p.c.length===1){s=1 +break}p.w=!0 +s=3 +return A.B(p.tF(),$async$uk) +case 3:o=p.b +if(o!=null)o.l() +p.b=null +o=p.y===0?1:0 +p.y=o +p.mw(o) +case 1:return A.x(q,r)}}) +return A.y($async$uk,r)}, +tF(){var s=0,r=A.z(t.H),q=this,p +var $async$tF=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p=t.z +case 2:if(!!0){s=3 +break}if(!q.Q){s=3 +break}s=4 +return A.B(A.qe(B.Bu,null,p),$async$tF) +case 4:s=2 +break +case 3:return A.x(null,r)}}) +return A.y($async$tF,r)}, +u8(){var s=0,r=A.z(t.H),q,p=this,o +var $async$u8=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p.w=!0 +s=3 +return A.B(p.tF(),$async$u8) +case 3:o=p.b +if(o==null){s=1 +break}o.l() +p.b=null +p.x=null +case 1:return A.x(q,r)}}) +return A.y($async$u8,r)}, +mA(){var s=0,r=A.z(t.H),q=this,p,o,n,m,l,k,j,i +var $async$mA=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:q.Q=!0 +p=t.Wr +o=t.n3 +case 2:if(!!0){s=3 +break}if(!!(q.b==null||q.w||J.e(q.ay.$0(),!1))){s=3 +break}n=q.b +n=n==null?null:n.jM() +if(!o.b(n)){m=new A.a8($.ae,p) +m.a=8 +m.c=n +n=m}s=4 +return A.B(n,$async$mA) +case 4:l=b +s=l!=null?5:6 +break +case 5:$.kH() +n=l.c +n===$&&A.a() +s=7 +return A.B($.kG().hb(n),$async$mA) +case 7:k=b +if(!q.ay.$0()){s=3 +break}q.f=k +case 6:q.ax.$0() +s=q.z&&q.f!=null?8:9 +break +case 8:s=!q.w?10:11 +break +case 10:q.w=!0 +i=A +s=13 +return A.B(l.tf(),$async$mA) +case 13:s=12 +return A.B(i.ue(b),$async$mA) +case 12:j=b +n=q.f +n.toString +q.ch.$1(new A.vG(j,n)) +case 11:case 9:s=2 +break +case 3:q.Q=!1 +return A.x(null,r)}}) +return A.y($async$mA,r)}, +yS(){var s=0,r=A.z(t.H),q=this +var $async$yS=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:q.f=null +q.w=!1 +q.ax.$0() +q.mA() +return A.x(null,r)}}) +return A.y($async$yS,r)}, +x0(){var s=0,r=A.z(t.H),q,p=2,o,n=this,m,l,k,j,i,h,g,f +var $async$x0=A.A(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:p=4 +if($.ai==null)A.ath() +$.ai.toString +s=7 +return A.B(A.ao9(),$async$x0) +case 7:m=b +for(j=J.al(m),i=n.c;j.q();){l=j.gG(j) +A.aox(l.a) +h=l.a +if(A.aoF(h.toLowerCase(),"front",0)){if(n.as)continue +n.as=!0 +i.push(l)}else{h=l.a +if(A.aoF(h.toLowerCase(),"back",0)){if(n.at)continue +n.at=!0 +i.push(l)}else i.push(l)}}j=i.length +if(j===0){s=1 +break}if(j>1){n.y=1 +n.mw(1)}else n.mw(n.y) +p=2 +s=6 +break +case 4:p=3 +f=o +j=A.a9(f) +if(j instanceof A.mV){k=j +A.uk(k)}else throw f +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$x0,r)}, +TA(){var s=null,r=this.b +if(r==null||!r.a.a||this.w)return A.eg("No camera available!",s,s,s) +r.toString +return new A.EJ(r,s)}, +mw(a){return this.afS(a)}, +afS(a){var s=0,r=A.z(t.H),q=1,p,o=this,n,m,l,k,j,i +var $async$mw=A.A(function(b,c){if(b===1){p=c +s=q}while(true)switch(s){case 0:k=o.c[a] +j=new A.EH(new A.HK(B.Jo,null,null,null,!1),new A.uZ(!1,!1,!1,!1,!1,!1,null,null,null,B.C9,B.hT,B.hY,!1,!1,B.ey,null,null,k),$.aM()) +o.b=j +q=3 +s=6 +return A.B(j.il(k),$async$mw) +case 6:if(o.ay.$0()){o.d=o.b.a.x +o.yS()}q=1 +s=5 +break +case 3:q=2 +i=p +k=A.a9(i) +if(k instanceof A.mV){n=k +switch(n.a){case"CameraAccessDenied":k=o.a.a7(t.Pu) +k.toString +k.f.k_(A.oE(null,null,null,null,null,B.Z,null,A.eg("You have denied camera access.",null,null,null),null,B.br,null,null,null,null,null,null,null,null,null)) +break +case"CameraAccessDeniedWithoutPrompt":k=o.a.a7(t.Pu) +k.toString +k.f.k_(A.oE(null,null,null,null,null,B.Z,null,A.eg("Please go to Settings app to enable camera access.",null,null,null),null,B.br,null,null,null,null,null,null,null,null,null)) +break +case"CameraAccessRestricted":k=o.a.a7(t.Pu) +k.toString +k.f.k_(A.oE(null,null,null,null,null,B.Z,null,A.eg("Camera access is restricted.",null,null,null),null,B.br,null,null,null,null,null,null,null,null,null)) +break +case"AudioAccessDenied":k=o.a.a7(t.Pu) +k.toString +k.f.k_(A.oE(null,null,null,null,null,B.Z,null,A.eg("You have denied audio access.",null,null,null),null,B.br,null,null,null,null,null,null,null,null,null)) +break +case"AudioAccessDeniedWithoutPrompt":k=o.a.a7(t.Pu) +k.toString +k.f.k_(A.oE(null,null,null,null,null,B.Z,null,A.eg("Please go to Settings app to enable audio access.",null,null,null),null,B.br,null,null,null,null,null,null,null,null,null)) +break +case"AudioAccessRestricted":k=o.a.a7(t.Pu) +k.toString +k.f.k_(A.oE(null,null,null,null,null,B.Z,null,A.eg("Audio access is restricted.",null,null,null),null,B.br,null,null,null,null,null,null,null,null,null)) +break +default:k=n +j=k.a +k=k.b +j="Error: "+j +A.uk(j+(k==null?"":"\nError Message: "+k)) +l=o.a.a7(t.Pu) +l.toString +l.f.k_(A.oE(null,null,null,null,null,B.Z,null,A.eg(j+"\n"+A.h(k),null,null,null),null,B.br,null,null,null,null,null,null,null,null,null)) +break}}else throw i +s=5 +break +case 2:s=1 +break +case 5:return A.x(null,r) +case 1:return A.w(p,r)}}) +return A.y($async$mw,r)}} +A.mW.prototype={ +ai(){return new A.Al()}} +A.Al.prototype={ +an(){var s,r=this +r.aJ() +$.ai.cd$.push(r) +s=r.c +s.toString +s=new A.VW(s,A.b([],t.X5),r.gaf9(),r.gadC(),r.gaeh(r)) +r.d=s +s.x0()}, +aei(a,b){var s=this.c +s.toString +A.arG(s,A.xe(new A.adH(b),null,t.z))}, +afa(){this.ah(new A.adI())}, +adD(){return this.c!=null}, +l(){$.ai.tg(this) +var s=this.d +s===$&&A.a() +s.u8() +this.aB()}, +qR(a){var s,r=this.d +r===$&&A.a() +s=r.b +if(s==null||!s.a.a)return +if(a===B.cR)s.l() +else if(a===B.b6)r.mw(0)}, +aa9(){var s,r,q,p,o=null,n=this.d +n===$&&A.a() +s=n.b!=null&&n.d!=null +r=t.D +if(s){s=n.d +q=s.a +p=s.b +return A.b([A.i4(n.TA(),p,q),A.J0(0,A.l3(o,o,o,new A.qL(o,this.d.f,o),B.C),o,o,0,0,0,o)],r)}else return A.b([B.en],r)}, +K(a){var s=this,r=null,q=A.lk(!1,r,!0,A.qk("images/icon-capture.png",r,80,80),r,!0,r,r,r,r,r,r,r,r,r,new A.adE(s),r,r,r,r),p=A.Ed(r,B.o,r,B.eF,B.QU),o=A.b([],t.D),n=s.d +n===$&&A.a() +if(n.b!=null&&n.d!=null)o.push(A.J0(0,A.amc(A.oF(B.b5,s.aa9(),B.c7),B.ha),r,r,0,0,0,r)) +o.push(B.vQ) +o.push(A.J0(80,q,r,r,155,155,r,r)) +return new A.rX(A.re(p,A.oF(B.b5,o,B.c7),r,A.arL(A.aBx(B.o,B.Cu,!1,new A.adF(s)),0.5)),new A.adG(),r)}} +A.adH.prototype={ +$1(a){return new A.la(this.a,null)}, +$S:162} +A.adI.prototype={ +$0(){}, +$S:0} +A.adE.prototype={ +$0(){var s=this.a.d +s===$&&A.a() +s.z=!0}, +$S:0} +A.adG.prototype={ +$0(){var s=0,r=A.z(t.y),q +var $async$$0=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:q=!0 +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$$0,r)}, +$S:55} +A.adF.prototype={ +$0(){var s=this.a.d +s===$&&A.a() +s.uk()}, +$S:0} +A.T0.prototype={} +A.vG.prototype={} +A.la.prototype={ +ai(){return new A.Nx()}} +A.Nx.prototype={ +aad(){var s,r=null,q=this.a.c,p=q.a,o=q.b +q=p.gbb(p) +s=p.gaH(p) +return A.amc(A.i4(A.qg(r,A.l3(r,r,r,new A.qL(p,o,r),B.C),B.aj,!1,r,r,r,r,r,r,r,r,r,new A.aeu(this,p,o),r,r,r,r,r,r,r,r,r,r,r),s,q),B.h9)}, +K(a){var s=null,r=A.EC(s,s,s,new A.cr(B.aS,t.rc),s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s),q=t.D +return new A.rX(A.re(A.Ed(A.b([new A.cf(B.lj,A.aqE(A.iW(A.b([A.aqY(B.Co,B.aD,s),B.Lv,A.eg("Next",s,s,A.fb(s,s,B.aD,s,s,s,s,s,s,s,s,22,s,s,s,s,s,!0,s,s,s,s,s,s,s,s))],q),B.V,B.a8,B.dD),new A.aer(this,a),r),s)],q),B.aS,s,B.eF,B.QW),A.oF(B.b5,A.b([A.amT(0,this.aad()),B.vQ],q),B.c7),s,s),new A.aes(),s)}} +A.aeu.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k,j=a.e,i=j.a,h=!0 +if(!(i<0)){s=j.b +if(!(s<0)){h=this.b +h=i>h.gbb(h)||s>h.gaH(h)}}if(h)return +for(h=this.c,s=J.ax(h),j=j.b,r=this.a,q=0;q") +return A.re(p,new A.zE(o,B.Ek,p),A.i4(new A.zD(A.a7(new A.aw(s,new A.aiO(q),r),!0,r.h("aD.E")),o,B.dE,new A.aiP(q),p),83,p),p)}} +A.aiP.prototype={ +$1(a){var s=this.a +s.ah(new A.aiN(s,a))}, +$S:16} +A.aiN.prototype={ +$0(){this.a.f=this.b}, +$S:0} +A.aiO.prototype={ +$1(a){var s=this.a +return new A.nX(a,B.b.jv(s.e,a)===s.f,null)}, +$S:437} +A.nX.prototype={ +K(a){var s=null,r=this.d,q=this.c,p=A.qk(r?q.c:q.b,s,32,48) +return new A.KX(A.n1(A.b([p,A.eg(q.a,B.aW,s,A.fb(s,s,r?B.aD:B.d3,s,s,s,s,s,s,s,s,9,s,s,s,s,s,!0,s,s,s,s,s,s,s,s))],t.D),B.V,B.dC),s)}} +A.l5.prototype={} +A.TD.prototype={ +l(){var s=this,r=s.dU$ +if(r!=null)r.H(0,s.gnx()) +s.dU$=null +s.aB()}, +bI(){this.dL() +this.d3() +this.ny()}} +A.h_.prototype={ +F(){return"AnimationStatus."+this.b}, +gfF(){var s,r=this +$label0$0:{if(B.cg===r||B.bo===r){s=!0 +break $label0$0}if(B.X===r||B.y===r){s=!1 +break $label0$0}s=null}return s}, +grC(){var s,r=this +$label0$0:{if(B.cg===r||B.X===r){s=!0 +break $label0$0}if(B.bo===r||B.y===r){s=!1 +break $label0$0}s=null}return s}} +A.ct.prototype={ +gfF(){return this.gaF(this).gfF()}, +i(a){return"#"+A.b4(this)+"("+this.yc()+")"}, +yc(){switch(this.gaF(this).a){case 1:var s="\u25b6" +break +case 2:s="\u25c0" +break +case 3:s="\u23ed" +break +case 0:s="\u23ee" +break +default:s=null}return s}} +A.rZ.prototype={ +F(){return"_AnimationDirection."+this.b}} +A.E9.prototype={ +F(){return"AnimationBehavior."+this.b}} +A.pv.prototype={ +gm(a){var s=this.x +s===$&&A.a() +return s}, +sm(a,b){var s=this +s.es(0) +s.B0(b) +s.ae() +s.pn()}, +geN(){var s=this.r +if(!(s!=null&&s.a!=null))return 0 +s=this.w +s.toString +return s.ed(0,this.y.a/1e6)}, +B0(a){var s=this,r=s.a,q=s.b,p=s.x=A.N(a,r,q) +if(p===r)s.Q=B.y +else if(p===q)s.Q=B.X +else{switch(s.z.a){case 0:r=B.cg +break +case 1:r=B.bo +break +default:r=null}s.Q=r}}, +gfF(){var s=this.r +return s!=null&&s.a!=null}, +gaF(a){var s=this.Q +s===$&&A.a() +return s}, +ma(a,b){var s=this +s.z=B.aq +if(b!=null)s.sm(0,b) +return s.I4(s.b)}, +bY(a){return this.ma(0,null)}, +Sq(a,b){this.z=B.fM +return this.I4(this.a)}, +dd(a){return this.Sq(0,null)}, +k7(a,b,c){var s,r,q,p,o,n,m,l,k,j=this,i=j.d +$label0$0:{s=B.h1===i +if(s){r=$.Kk.wB$ +r===$&&A.a() +q=(r.a&4)!==0 +r=q}else r=!1 +if(r){r=0.05 +break $label0$0}if(s||B.h2===i){r=1 +break $label0$0}r=null}if(c==null){p=j.b-j.a +if(isFinite(p)){o=j.x +o===$&&A.a() +n=Math.abs(a-o)/p}else n=1 +if(j.z===B.fM&&j.f!=null){o=j.f +o.toString +m=o}else{o=j.e +o.toString +m=o}l=new A.aP(B.c.a2(m.a*n))}else{o=j.x +o===$&&A.a() +l=a===o?B.q:c}j.es(0) +o=l.a +if(o===B.q.a){r=j.x +r===$&&A.a() +if(r!==a){j.x=A.N(a,j.a,j.b) +j.ae()}j.Q=j.z===B.aq?B.X:B.y +j.pn() +return A.ano()}k=j.x +k===$&&A.a() +return j.vs(new A.afZ(o*r/1e6,k,a,b,B.bj))}, +I4(a){return this.k7(a,B.a4,null)}, +Sc(a){var s,r,q=this,p=q.a,o=q.b,n=q.e +q.es(0) +s=q.x +s===$&&A.a() +r=n.a/1e6 +s=o===p?0:(A.N(s,p,o)-p)/(o-p)*r +return q.vs(new A.ahD(p,o,!1,q.ga_S(),r,s,B.bj))}, +a_T(a){this.z=a +this.Q=a===B.aq?B.cg:B.bo +this.pn()}, +Q0(a){var s,r,q,p,o,n,m=this,l=$.ay8(),k=a<0 +m.z=k?B.fM:B.aq +s=k?m.a-0.01:m.b+0.01 +r=m.d +$label0$0:{q=B.h1===r +if(q){k=$.Kk.wB$ +k===$&&A.a() +p=(k.a&4)!==0 +k=p}else k=!1 +if(k){k=200 +break $label0$0}if(q||B.h2===r){k=1 +break $label0$0}k=null}o=m.x +o===$&&A.a() +n=new A.zs(s,A.tR(l,o-s,a*k),B.bj) +n.a=B.Rc +m.es(0) +return m.vs(n)}, +vs(a){var s,r=this +r.w=a +r.y=B.q +r.x=A.N(a.dr(0,0),r.a,r.b) +s=r.r.mX(0) +r.Q=r.z===B.aq?B.cg:B.bo +r.pn() +return s}, +p6(a,b){this.y=this.w=null +this.r.p6(0,b)}, +es(a){return this.p6(0,!0)}, +l(){var s=this +s.r.l() +s.r=null +s.bL$.J(0) +s.cb$.J(0) +s.yY()}, +pn(){var s=this,r=s.Q +r===$&&A.a() +if(s.as!==r){s.as=r +s.t0(r)}}, +Z7(a){var s,r=this +r.y=a +s=a.a/1e6 +r.x=A.N(r.w.dr(0,s),r.a,r.b) +if(r.w.kS(s)){r.Q=r.z===B.aq?B.X:B.y +r.p6(0,!1)}r.ae() +r.pn()}, +yc(){var s,r=this.r,q=r==null,p=!q&&r.a!=null?"":"; paused" +if(q)s="; DISPOSED" +else s=r.b?"; silenced":"" +r=this.yX() +q=this.x +q===$&&A.a() +return r+" "+B.c.R(q,3)+p+s}} +A.afZ.prototype={ +dr(a,b){var s,r=this,q=A.N(b/r.b,0,1) +$label0$0:{if(0===q){s=r.c +break $label0$0}if(1===q){s=r.d +break $label0$0}s=r.c +s+=(r.d-s)*r.e.a8(0,q) +break $label0$0}return s}, +ed(a,b){return(this.dr(0,b+0.001)-this.dr(0,b-0.001))/0.002}, +kS(a){return a>this.b}} +A.ahD.prototype={ +dr(a,b){var s=this,r=b+s.r,q=s.f,p=B.c.bp(r/q,1) +B.c.eR(r,q) +s.e.$1(B.aq) +q=A.V(s.b,s.c,p) +q.toString +return q}, +ed(a,b){return(this.c-this.b)/this.f}, +kS(a){return!1}} +A.M_.prototype={} +A.M0.prototype={} +A.M1.prototype={} +A.Ea.prototype={ +j(a,b){var s,r,q=this +if(b==null)return!1 +if(q===b)return!0 +if(J.T(b)!==A.t(q))return!1 +s=!1 +if(b instanceof A.Ea){r=b.b +if(r.a===q.b.a){r=b.d +s=r.a===q.d.a}}return s}, +gt(a){return A.P(null,this.b,null,this.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.M2.prototype={} +A.LV.prototype={ +Y(a,b){}, +H(a,b){}, +ea(a){}, +c7(a){}, +gaF(a){return B.X}, +gm(a){return 1}, +i(a){return"kAlwaysCompleteAnimation"}} +A.LW.prototype={ +Y(a,b){}, +H(a,b){}, +ea(a){}, +c7(a){}, +gaF(a){return B.y}, +gm(a){return 0}, +i(a){return"kAlwaysDismissedAnimation"}} +A.kM.prototype={ +Y(a,b){return this.gct(this).Y(0,b)}, +H(a,b){return this.gct(this).H(0,b)}, +ea(a){return this.gct(this).ea(a)}, +c7(a){return this.gct(this).c7(a)}, +gaF(a){var s=this.gct(this) +return s.gaF(s)}} +A.of.prototype={ +sct(a,b){var s,r=this,q=r.c +if(b==q)return +if(q!=null){r.a=q.gaF(q) +q=r.c +r.b=q.gm(q) +if(r.kF$>0)r.wo()}r.c=b +if(b!=null){if(r.kF$>0)r.wn() +q=r.b +s=r.c +s=s.gm(s) +if(q==null?s!=null:q!==s)r.ae() +q=r.a +s=r.c +if(q!==s.gaF(s)){q=r.c +r.t0(q.gaF(q))}r.b=r.a=null}}, +wn(){var s=this,r=s.c +if(r!=null){r.Y(0,s.gcf()) +s.c.ea(s.gRm())}}, +wo(){var s=this,r=s.c +if(r!=null){r.H(0,s.gcf()) +s.c.c7(s.gRm())}}, +gaF(a){var s=this.c +if(s!=null)s=s.gaF(s) +else{s=this.a +s.toString}return s}, +gm(a){var s=this.c +if(s!=null)s=s.gm(s) +else{s=this.b +s.toString}return s}, +i(a){var s=this.c +if(s==null)return"ProxyAnimation(null; "+this.yX()+" "+B.c.R(this.gm(0),3)+")" +return s.i(0)+"\u27a9ProxyAnimation"}} +A.fO.prototype={ +Y(a,b){this.bm() +this.a.Y(0,b)}, +H(a,b){this.a.H(0,b) +this.m_()}, +wn(){this.a.ea(this.gns())}, +wo(){this.a.c7(this.gns())}, +vt(a){this.t0(this.LX(a))}, +gaF(a){var s=this.a +return this.LX(s.gaF(s))}, +gm(a){var s=this.a +return 1-s.gm(s)}, +LX(a){var s +switch(a.a){case 1:s=B.bo +break +case 2:s=B.cg +break +case 3:s=B.y +break +case 0:s=B.X +break +default:s=null}return s}, +i(a){return this.a.i(0)+"\u27aaReverseAnimation"}} +A.n5.prototype={ +Ng(a){var s +if(a.gfF()){s=this.d +if(s==null)s=a}else s=null +this.d=s}, +gNH(){if(this.c!=null){var s=this.d +if(s==null){s=this.a +s=s.gaF(s)}s=s!==B.bo}else s=!0 +return s}, +l(){this.a.c7(this.gnw())}, +gm(a){var s=this,r=s.gNH()?s.b:s.c,q=s.a,p=q.gm(q) +if(r==null)return p +if(p===0||p===1)return p +return r.a8(0,p)}, +i(a){var s=this,r=s.c +if(r==null)return s.a.i(0)+"\u27a9"+s.b.i(0) +if(s.gNH())return s.a.i(0)+"\u27a9"+s.b.i(0)+"\u2092\u2099/"+r.i(0) +return s.a.i(0)+"\u27a9"+s.b.i(0)+"/"+r.i(0)+"\u2092\u2099"}, +gct(a){return this.a}} +A.Sp.prototype={ +F(){return"_TrainHoppingMode."+this.b}} +A.oP.prototype={ +vt(a){if(a!==this.e){this.ae() +this.e=a}}, +gaF(a){var s=this.a +return s.gaF(s)}, +a87(){var s,r,q,p=this,o=p.b +if(o!=null){switch(p.c.a){case 0:o=o.gm(o) +s=p.a +s=o<=s.gm(s) +o=s +break +case 1:o=o.gm(o) +s=p.a +s=o>=s.gm(s) +o=s +break +default:o=null}if(o){s=p.a +r=p.gns() +s.c7(r) +s.H(0,p.gCa()) +s=p.b +p.a=s +p.b=null +s.ea(r) +r=p.a +p.vt(r.gaF(r))}q=o}else q=!1 +o=p.a +o=o.gm(o) +if(o!==p.f){p.ae() +p.f=o}if(q&&p.d!=null)p.d.$0()}, +gm(a){var s=this.a +return s.gm(s)}, +l(){var s,r,q=this +q.a.c7(q.gns()) +s=q.gCa() +q.a.H(0,s) +q.a=null +r=q.b +if(r!=null)r.H(0,s) +q.b=null +q.cb$.J(0) +q.bL$.J(0) +q.yY()}, +i(a){var s=this +if(s.b!=null)return A.h(s.a)+"\u27a9TrainHoppingAnimation(next: "+A.h(s.b)+")" +return A.h(s.a)+"\u27a9TrainHoppingAnimation(no next)"}} +A.pQ.prototype={ +wn(){var s,r=this,q=r.a,p=r.gL2() +q.Y(0,p) +s=r.gL3() +q.ea(s) +q=r.b +q.Y(0,p) +q.ea(s)}, +wo(){var s,r=this,q=r.a,p=r.gL2() +q.H(0,p) +s=r.gL3() +q.c7(s) +q=r.b +q.H(0,p) +q.c7(s)}, +gaF(a){var s=this.b +if(s.gaF(s).gfF())s=s.gaF(s) +else{s=this.a +s=s.gaF(s)}return s}, +i(a){return"CompoundAnimation("+this.a.i(0)+", "+this.b.i(0)+")"}, +a4k(a){var s=this +if(s.gaF(0)!==s.c){s.c=s.gaF(0) +s.t0(s.gaF(0))}}, +a4j(){var s=this +if(!J.e(s.gm(s),s.d)){s.d=s.gm(s) +s.ae()}}} +A.uA.prototype={ +gm(a){var s,r=this.a +r=r.gm(r) +s=this.b +s=s.gm(s) +return Math.min(A.fV(r),A.fV(s))}} +A.Aq.prototype={} +A.Ar.prototype={} +A.As.prototype={} +A.N2.prototype={} +A.Qc.prototype={} +A.Qd.prototype={} +A.Qe.prototype={} +A.QZ.prototype={} +A.R_.prototype={} +A.Sm.prototype={} +A.Sn.prototype={} +A.So.prototype={} +A.xO.prototype={ +a8(a,b){return this.jO(b)}, +jO(a){throw A.c(A.cc(null))}, +i(a){return"ParametricCurve"}} +A.es.prototype={ +a8(a,b){if(b===0||b===1)return b +return this.VF(0,b)}} +A.B7.prototype={ +jO(a){return a}} +A.yN.prototype={ +jO(a){a*=this.a +return a-(a<0?Math.ceil(a):Math.floor(a))}, +i(a){return"SawTooth("+this.a+")"}} +A.dl.prototype={ +jO(a){var s=this.a +a=A.N((a-s)/(this.b-s),0,1) +if(a===0||a===1)return a +return this.c.a8(0,a)}, +i(a){var s=this,r=s.c +if(!(r instanceof A.B7))return"Interval("+A.h(s.a)+"\u22ef"+A.h(s.b)+")\u27a9"+r.i(0) +return"Interval("+A.h(s.a)+"\u22ef"+A.h(s.b)+")"}} +A.zR.prototype={ +jO(a){return a"))}} +A.b0.prototype={ +gm(a){var s=this.a +return this.b.a8(0,s.gm(s))}, +i(a){var s=this.a,r=this.b +return s.i(0)+"\u27a9"+r.i(0)+"\u27a9"+A.h(r.a8(0,s.gm(s)))}, +yc(){return this.yX()+" "+this.b.i(0)}, +gct(a){return this.a}} +A.id.prototype={ +a8(a,b){return this.b.a8(0,this.a.a8(0,b))}, +i(a){return this.a.i(0)+"\u27a9"+this.b.i(0)}} +A.aR.prototype={ +ej(a){var s=this.a +return A.o(this).h("aR.T").a(J.ayS(s,J.ayT(J.ayU(this.b,s),a)))}, +a8(a,b){var s,r=this +if(b===0){s=r.a +return s==null?A.o(r).h("aR.T").a(s):s}if(b===1){s=r.b +return s==null?A.o(r).h("aR.T").a(s):s}return r.ej(b)}, +i(a){return"Animatable("+A.h(this.a)+" \u2192 "+A.h(this.b)+")"}, +sCB(a){return this.a=a}, +snX(a,b){return this.b=b}} +A.yI.prototype={ +ej(a){return this.c.ej(1-a)}} +A.iv.prototype={ +ej(a){return A.q(this.a,this.b,a)}} +A.ye.prototype={ +ej(a){return A.asb(this.a,this.b,a)}} +A.ll.prototype={ +ej(a){var s,r=this.a +r.toString +s=this.b +s.toString +return B.c.a2(r+(s-r)*a)}} +A.h3.prototype={ +a8(a,b){if(b===0||b===1)return b +return this.a.a8(0,b)}, +i(a){return"CurveTween(curve: "+this.a.i(0)+")"}} +A.D5.prototype={} +A.A1.prototype={ +YC(a,b){var s,r,q,p,o,n,m,l=this.a +B.b.L(l,a) +for(s=l.length,r=0,q=0;q=n&&b"}} +A.eX.prototype={ +gm(a){return this.b.a}, +gpJ(){var s=this +return!s.e.j(0,s.f)||!s.x.j(0,s.y)||!s.r.j(0,s.w)||!s.z.j(0,s.Q)}, +gpH(){var s=this +return!s.e.j(0,s.r)||!s.f.j(0,s.w)||!s.x.j(0,s.z)||!s.y.j(0,s.Q)}, +gpI(){var s=this +return!s.e.j(0,s.x)||!s.f.j(0,s.y)||!s.r.j(0,s.z)||!s.w.j(0,s.Q)}, +iT(a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=this,a2=null +if(a1.gpJ()){s=a3.a7(t.ri) +r=s==null?a2:s.w.c.glJ() +if(r==null){r=A.d9(a3,B.xG) +r=r==null?a2:r.e}q=r==null?B.a7:r}else q=B.a7 +if(a1.gpI())a3.a7(t.H5) +if(a1.gpH()){r=A.d9(a3,B.xE) +r=r==null?a2:r.as +p=r===!0}else p=!1 +$label0$0:{o=B.a7===q +n=o +m=q +l=a2 +k=a2 +j=a2 +i=a2 +r=!1 +if(n){l=!0 +k=B.aF +h=!0 +if(h){j=!p +r=j +i=p}g=h}else{g=!1 +h=!1}if(r){r=a1.e +break $label0$0}f=a2 +r=!1 +if(o){if(n){e=l +d=n}else{l=!0 +d=!0 +k=B.aF +n=!0 +e=!0}if(e){if(h)r=i +else{r=p +i=r +h=!0}f=!0===r +r=f}}else{d=n +e=!1}if(r){r=a1.r +break $label0$0}c=a2 +r=!1 +if(o){if(n)b=k +else{k=B.aF +n=!0 +b=B.aF}c=B.hK===b +b=c +if(b)if(g)r=j +else{if(h)r=i +else{r=p +i=r +h=!0}j=!1===r +r=j +g=!0}}if(r){r=a1.x +break $label0$0}r=!1 +if(o)if(c)if(e)r=f +else{if(h)r=i +else{r=p +i=r +h=!0}f=!0===r +r=f +e=!0}if(r){r=a1.z +break $label0$0}a=B.a6===m +r=a +b=!1 +if(r){if(d)r=l +else{if(n)r=k +else{k=B.aF +n=!0 +r=B.aF}l=B.aF===r +r=l +d=!0}if(r)if(g)r=j +else{if(h)r=i +else{r=p +i=r +h=!0}j=!1===r +r=j +g=!0}else r=b}else r=b +if(r){r=a1.f +break $label0$0}r=!1 +if(a){if(d)b=l +else{if(n)b=k +else{k=B.aF +n=!0 +b=B.aF}l=B.aF===b +b=l}if(b)if(e)r=f +else{if(h)r=i +else{r=p +i=r +h=!0}f=!0===r +r=f +e=!0}}if(r){r=a1.w +break $label0$0}r=!1 +if(a){if(o){b=c +a0=o}else{if(n)b=k +else{k=B.aF +n=!0 +b=B.aF}c=B.hK===b +b=c +a0=!0}if(b)if(g)r=j +else{if(h)r=i +else{r=p +i=r +h=!0}j=!1===r +r=j}}else a0=o +if(r){r=a1.y +break $label0$0}r=!1 +if(a){if(a0)b=c +else{c=B.hK===(n?k:B.aF) +b=c}if(b)if(e)r=f +else{f=!0===(h?i:p) +r=f}}if(r){r=a1.Q +break $label0$0}r=a2}return new A.eX(r,a1.c,a2,a1.e,a1.f,a1.r,a1.w,a1.x,a1.y,a1.z,a1.Q,0)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.eX&&b.b.a===s.b.a&&b.e.j(0,s.e)&&b.f.j(0,s.f)&&b.r.j(0,s.r)&&b.w.j(0,s.w)&&b.x.j(0,s.x)&&b.y.j(0,s.y)&&b.z.j(0,s.z)&&b.Q.j(0,s.Q)}, +gt(a){var s=this +return A.P(s.b.a,s.e,s.f,s.r,s.x,s.y,s.w,s.Q,s.z,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=this,r=new A.Xa(s),q=A.b([r.$2("color",s.e)],t.s) +if(s.gpJ())q.push(r.$2("darkColor",s.f)) +if(s.gpH())q.push(r.$2("highContrastColor",s.r)) +if(s.gpJ()&&s.gpH())q.push(r.$2("darkHighContrastColor",s.w)) +if(s.gpI())q.push(r.$2("elevatedColor",s.x)) +if(s.gpJ()&&s.gpI())q.push(r.$2("darkElevatedColor",s.y)) +if(s.gpH()&&s.gpI())q.push(r.$2("highContrastElevatedColor",s.z)) +if(s.gpJ()&&s.gpH()&&s.gpI())q.push(r.$2("darkHighContrastElevatedColor",s.Q)) +r=s.c +if(r==null)r="CupertinoDynamicColor" +q=B.b.bD(q,", ") +return r+"("+q+", resolved by: UNRESOLVED)"}} +A.Xa.prototype={ +$2(a,b){var s=b.j(0,this.a.b)?"*":"" +return s+a+" = "+b.i(0)+s}, +$S:466} +A.MW.prototype={} +A.Fm.prototype={ +X(a,b){var s=this.f,r=s instanceof A.eX?s.iT(b):s +return J.e(r,s)?this:this.fw(r)}, +qH(a,b,c,d,e,f,g,h,i){var s=this,r=h==null?s.a:h,q=c==null?s.b:c,p=i==null?s.c:i,o=d==null?s.d:d,n=f==null?s.e:f,m=b==null?s.f:b,l=e==null?s.gdk(0):e,k=g==null?s.w:g +return A.apX(a==null?s.x:a,m,q,o,l,n,k,r,p)}, +fw(a){var s=null +return this.qH(s,a,s,s,s,s,s,s,s)}} +A.MX.prototype={} +A.Fo.prototype={ +F(){return"CupertinoUserInterfaceLevelData."+this.b}} +A.MY.prototype={ +EF(a){return a.gop(0)==="en"}, +jE(a,b){return new A.ci(B.yx,t.u4)}, +yP(a){return!1}, +i(a){return"DefaultCupertinoLocalizations.delegate(en_US)"}} +A.Fy.prototype={$iXb:1} +A.Xd.prototype={ +$0(){return this.a.gjz()}, +$S:39} +A.Xc.prototype={ +$0(){return this.a.gQN()}, +$S:39} +A.Xe.prototype={ +$0(){var s=this.a +s=A.fF.prototype.gaeM.call(s) +return s}, +$S:39} +A.Xf.prototype={ +$0(){return A.aAr(this.a)}, +$S(){return this.b.h("Aw<0>()")}} +A.vl.prototype={ +ai(){return new A.MZ()}} +A.MZ.prototype={ +an(){this.aJ() +this.Mp()}, +aG(a){var s,r=this +r.b0(a) +s=r.a +if(a.d!==s.d||a.e!==s.e||a.f!==s.f){r.Ja() +r.Mp()}}, +l(){this.Ja() +this.aB()}, +Ja(){var s=this,r=s.r +if(r!=null)r.l() +r=s.w +if(r!=null)r.l() +r=s.x +if(r!=null)r.l() +s.x=s.w=s.r=null}, +Mp(){var s,r,q=this,p=q.a +if(!p.f){q.r=A.cZ(B.kC,p.d,new A.q6(B.kC)) +q.w=A.cZ(B.l5,q.a.e,B.B0) +q.x=A.cZ(B.l5,q.a.d,null)}p=q.r +if(p==null)p=q.a.d +s=$.ayo() +r=t.q +q.d=new A.b0(r.a(p),s,s.$ti.h("b0")) +s=q.w +p=s==null?q.a.e:s +s=$.ayh() +q.e=new A.b0(r.a(p),s,s.$ti.h("b0")) +s=q.x +p=s==null?q.a.d:s +s=$.axC() +q.f=new A.b0(r.a(p),s,A.o(s).h("b0"))}, +K(a){var s,r,q,p=this,o=a.a7(t.I) +o.toString +s=o.w +o=p.e +o===$&&A.a() +r=p.d +r===$&&A.a() +q=p.f +q===$&&A.a() +return A.an9(A.an9(new A.Fu(q,p.a.c,q,null),r,s,!0),o,s,!1)}} +A.t7.prototype={ +ai(){return new A.t8(this.$ti.h("t8<1>"))}, +aaX(){return this.d.$0()}, +aeA(){return this.e.$0()}} +A.t8.prototype={ +an(){var s,r=this +r.aJ() +s=A.ams(r,null) +s.ch=r.ga6e() +s.CW=r.ga6g() +s.cx=r.ga6c() +s.cy=r.ga1W() +r.e=s}, +l(){var s=this,r=s.e +r===$&&A.a() +r.p2.J(0) +r.pa() +if(s.d!=null)$.ai.p2$.push(new A.adU(s)) +s.aB()}, +a6f(a){this.d=this.a.aeA()}, +a6h(a){var s,r,q=this.d +q.toString +s=a.c +s.toString +s=this.IU(s/this.c.gv(0).a) +q=q.a +r=q.x +r===$&&A.a() +q.sm(0,r-s)}, +a6d(a){var s=this,r=s.d +r.toString +r.PA(s.IU(a.a.a.a/s.c.gv(0).a)) +s.d=null}, +a1X(){var s=this.d +if(s!=null)s.PA(0) +this.d=null}, +a6j(a){var s +if(this.a.aaX()){s=this.e +s===$&&A.a() +s.Cn(a)}}, +IU(a){var s=this.c.a7(t.I) +s.toString +switch(s.w.a){case 0:s=-a +break +case 1:s=a +break +default:s=null}return s}, +K(a){var s=null,r=a.a7(t.I) +r.toString +switch(r.w.a){case 0:r=A.bY(a,B.bH,t.w).w.r.c +break +case 1:r=A.bY(a,B.bH,t.w).w.r.a +break +default:r=s}return A.oF(B.b5,A.b([this.a.c,new A.J1(0,0,0,Math.max(r,20),A.x2(B.dc,s,s,this.ga6i(),s,s,s),s)],t.D),B.LM)}} +A.adU.prototype={ +$1(a){var s=this.a,r=s.d,q=r==null,p=q?null:r.b.c!=null +if(p===!0)if(!q)r.b.qV() +s.d=null}, +$S:6} +A.Aw.prototype={ +PA(a){var s,r,q,p,o=this,n=o.d.$0() +if(!n)s=o.c.$0() +else if(Math.abs(a)>=1)s=a<=0 +else{r=o.a.x +r===$&&A.a() +s=r>0.5}if(s){r=o.a +q=r.x +q===$&&A.a() +q=A.V(800,0,q) +q.toString +q=A.cR(0,Math.min(B.c.d0(q),300)) +r.z=B.aq +r.k7(1,B.l7,q)}else{if(n)o.b.fM() +r=o.a +q=r.r +if(q!=null&&q.a!=null){q=r.x +q===$&&A.a() +q=A.V(0,800,q) +q.toString +q=A.cR(0,B.c.d0(q)) +r.z=B.fM +r.k7(0,B.l7,q)}}q=r.r +if(q!=null&&q.a!=null){p=A.bk("animationStatusCallback") +p.b=new A.adT(o,p) +q=p.aP() +r.bm() +r=r.bL$ +r.b=!0 +r.a.push(q)}else o.b.qV()}} +A.adT.prototype={ +$1(a){var s=this.a +s.b.qV() +s.a.c7(this.b.aP())}, +$S:7} +A.ie.prototype={ +cH(a,b){var s +if(a instanceof A.ie){s=A.adV(a,this,b) +s.toString +return s}s=A.adV(null,this,b) +s.toString +return s}, +cI(a,b){var s +if(a instanceof A.ie){s=A.adV(this,a,b) +s.toString +return s}s=A.adV(this,null,b) +s.toString +return s}, +wd(a){return new A.adY(this,a)}, +j(a,b){var s,r +if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +if(b instanceof A.ie){s=b.a +r=this.a +r=s==null?r==null:s===r +s=r}else s=!1 +return s}, +gt(a){return J.u(this.a)}} +A.adW.prototype={ +$1(a){var s=A.q(null,a,this.a) +s.toString +return s}, +$S:136} +A.adX.prototype={ +$1(a){var s=A.q(null,a,1-this.a) +s.toString +return s}, +$S:136} +A.adY.prototype={ +t5(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this.b.a +if(f==null)return +s=c.e +r=s.a +q=0.05*r +p=s.b +o=q/(f.length-1) +switch(c.d.a){case 0:s=new A.au(1,b.a+r) +break +case 1:s=new A.au(-1,b.a) +break +default:s=null}n=s.a +m=null +l=s.b +m=l +k=n +for(s=b.b,r=s+p,j=0,i=0;ip){o=B.d.EK(r,s) +if(o===q-p&&o>2&&B.d.ak(r,o-2,o)===": "){n=B.d.ak(r,0,o-2) +m=B.d.jv(n," Failed assertion:") +if(m>=0)n=B.d.ak(n,0,m)+"\n"+B.d.fh(n,m+1) +l=B.d.yd(s)+"\n"+n}}}if(l==null)l=r}else if(!(typeof l=="string"))l=t.Lt.b(l)||t.VI.b(l)?J.en(l):" "+A.h(l) +l=B.d.yd(l) +return l.length===0?" ":l}, +gUI(){return A.aq5(new A.Zy(this).$0(),!0)}, +cg(){return"Exception caught by "+this.c}, +i(a){A.aFO(null,B.Bk,this) +return""}} +A.Zy.prototype={ +$0(){return J.azr(this.a.aba().split("\n")[0])}, +$S:50} +A.nl.prototype={ +gRh(a){return this.i(0)}, +cg(){return"FlutterError"}, +i(a){var s,r,q=new A.dq(this.a,t.ow) +if(!q.gM(0)){s=q.gI(0) +r=J.dg(s) +s=A.iw.prototype.gm.call(r,s) +s.toString +s=J.app(s)}else s="FlutterError" +return s}, +$imQ:1} +A.Zz.prototype={ +$1(a){return A.bm(a)}, +$S:498} +A.ZA.prototype={ +$1(a){return a+1}, +$S:126} +A.ZB.prototype={ +$1(a){return a+1}, +$S:126} +A.akx.prototype={ +$1(a){return B.d.p(a,"StackTrace.current")||B.d.p(a,"dart-sdk/lib/_internal")||B.d.p(a,"dart:sdk_internal")}, +$S:29} +A.FG.prototype={} +A.NR.prototype={} +A.NT.prototype={} +A.NS.prototype={} +A.Er.prototype={ +eF(){}, +me(){}, +adY(a){var s;++this.c +s=a.$0() +s.hs(new A.Vk(this)) +return s}, +FS(){}, +i(a){return""}} +A.Vk.prototype={ +$0(){var s,r,q,p=this.a +if(--p.c<=0)try{p.XO() +if(p.k1$.c!==0)p.Ji()}catch(q){s=A.a9(q) +r=A.aK(q) +p=A.bm("while handling pending events") +A.dk(new A.bF(s,r,"foundation",p,null,!1))}}, +$S:40} +A.af.prototype={} +A.fr.prototype={ +Y(a,b){var s,r,q,p,o=this +if(o.gcL(o)===o.gc2().length){s=t.Nw +if(o.gcL(o)===0)o.sc2(A.bc(1,null,!1,s)) +else{r=A.bc(o.gc2().length*2,null,!1,s) +for(q=0;q0){r.gc2()[s]=null +r.ski(r.gki()+1)}else r.LF(s) +break}}, +l(){this.sc2($.aM()) +this.scL(0,0)}, +ae(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +if(f.gcL(f)===0)return +f.sjb(f.gjb()+1) +p=f.gcL(f) +for(s=0;s0){l=f.gcL(f)-f.gki() +if(l*2<=f.gc2().length){k=A.bc(l,null,!1,t.Nw) +for(j=0,s=0;s#"+A.b4(this)+"("+A.h(this.a)+")"}} +A.vA.prototype={ +F(){return"DiagnosticLevel."+this.b}} +A.jt.prototype={ +F(){return"DiagnosticsTreeStyle."+this.b}} +A.agG.prototype={} +A.d_.prototype={ +tt(a,b){return this.bA(0)}, +i(a){return this.tt(0,B.ar)}} +A.iw.prototype={ +gm(a){this.a4g() +return this.at}, +a4g(){return}} +A.vB.prototype={} +A.FF.prototype={} +A.ad.prototype={ +cg(){return"#"+A.b4(this)}, +tt(a,b){var s=this.cg() +return s}, +i(a){return this.tt(0,B.ar)}} +A.Xz.prototype={ +cg(){return"#"+A.b4(this)}} +A.hI.prototype={ +i(a){return this.Sy(B.hN).bA(0)}, +cg(){return"#"+A.b4(this)}, +afM(a,b){return A.alV(a,b,this)}, +Sy(a){return this.afM(null,a)}} +A.vC.prototype={} +A.Nf.prototype={} +A.ea.prototype={} +A.Hw.prototype={} +A.rN.prototype={ +i(a){return"[#"+A.b4(this)+"]"}} +A.dS.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return A.o(this).h("dS").b(b)&&J.e(b.a,this.a)}, +gt(a){return A.P(A.t(this),this.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=A.o(this),r=s.h("dS.T"),q=this.a,p=A.bU(r)===B.RH?"<'"+A.h(q)+"'>":"<"+A.h(q)+">" +if(A.t(this)===A.bU(s.h("dS")))return"["+p+"]" +return"["+A.bU(r).i(0)+" "+p+"]"}} +A.anN.prototype={} +A.he.prototype={} +A.wZ.prototype={} +A.bh.prototype={ +gva(){var s,r=this,q=r.c +if(q===$){s=A.cC(r.$ti.c) +r.c!==$&&A.a0() +r.c=s +q=s}return q}, +A(a,b){this.b=!0 +this.gva().J(0) +return B.b.A(this.a,b)}, +J(a){this.b=!1 +B.b.J(this.a) +this.gva().J(0)}, +p(a,b){var s=this,r=s.a +if(r.length<3)return B.b.p(r,b) +if(s.b){s.gva().L(0,r) +s.b=!1}return s.gva().p(0,b)}, +ga0(a){var s=this.a +return new J.c1(s,s.length,A.a_(s).h("c1<1>"))}, +gM(a){return this.a.length===0}, +gbd(a){return this.a.length!==0}, +dn(a,b){var s=this.a,r=A.a_(s) +return b?A.b(s.slice(0),r):J.lp(s.slice(0),r.c)}, +dm(a){return this.dn(0,!0)}} +A.lg.prototype={ +D(a,b){var s=this.a,r=s.k(0,b) +s.n(0,b,(r==null?0:r)+1)}, +A(a,b){var s=this.a,r=s.k(0,b) +if(r==null)return!1 +if(r===1)s.A(0,b) +else s.n(0,b,r-1) +return!0}, +p(a,b){return this.a.a9(0,b)}, +ga0(a){var s=this.a +return A.hf(s,s.r)}, +gM(a){return this.a.a===0}, +gbd(a){return this.a.a!==0}} +A.y_.prototype={ +aeW(a,b,c){var s=this.a,r=s==null?$.DT():s,q=r.iS(0,0,b,A.f8(b),c) +if(q===s)return this +return new A.y_(q)}, +k(a,b){var s=this.a +return s==null?null:s.jR(0,0,b,J.u(b))}} +A.aiZ.prototype={} +A.O1.prototype={ +iS(a,b,c,d,e){var s,r,q,p,o=B.f.nr(d,b)&31,n=this.a,m=n[o] +if(m==null)m=$.DT() +s=m.iS(0,b+5,c,d,e) +if(s===m)n=this +else{r=n.length +q=A.bc(r,null,!1,t.X) +for(p=0;p>>0,a1=c.a,a2=(a1&a0-1)>>>0,a3=a2-(a2>>>1&1431655765) +a3=(a3&858993459)+(a3>>>2&858993459) +a3=a3+(a3>>>4)&252645135 +a3+=a3>>>8 +s=a3+(a3>>>16)&63 +if((a1&a0)>>>0!==0){a=c.b +a2=2*s +r=a[a2] +q=a2+1 +p=a[q] +if(r==null){o=J.azf(p,a5+5,a6,a7,a8) +if(o===p)return c +a2=a.length +n=A.bc(a2,b,!1,t.X) +for(m=0;m>>1&1431655765) +a3=(a3&858993459)+(a3>>>2&858993459) +a3=a3+(a3>>>4)&252645135 +a3+=a3>>>8 +i=a3+(a3>>>16)&63 +if(i>=16){a1=c.a3E(a5) +a1.a[a]=$.DT().iS(0,a5+5,a6,a7,a8) +return a1}else{h=2*s +g=2*i +f=A.bc(g+2,b,!1,t.X) +for(a=c.b,e=0;e>>0,f)}}}, +jR(a,b,c,d){var s,r,q,p,o=1<<(B.f.nr(d,b)&31)>>>0,n=this.a +if((n&o)>>>0===0)return null +n=(n&o-1)>>>0 +s=n-(n>>>1&1431655765) +s=(s&858993459)+(s>>>2&858993459) +s=s+(s>>>4)&252645135 +s+=s>>>8 +n=this.b +r=2*(s+(s>>>16)&63) +q=n[r] +p=n[r+1] +if(q==null)return p.jR(0,b+5,c,d) +if(c===q)return p +return null}, +a3E(a){var s,r,q,p,o,n,m,l=A.bc(32,null,!1,t.X) +for(s=this.a,r=a+5,q=this.b,p=0,o=0;o<32;++o)if((B.f.nr(s,o)&1)!==0){n=q[p] +m=p+1 +if(n==null)l[o]=q[m] +else l[o]=$.DT().iS(0,r,n,J.u(n),q[m]) +p+=2}return new A.O1(l)}} +A.AY.prototype={ +iS(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j=this,i=j.a +if(d===i){s=j.Kz(c) +if(s!==-1){i=j.b +r=s+1 +q=i[r] +if(q==null?e==null:q===e)i=j +else{q=i.length +p=A.bc(q,null,!1,t.X) +for(o=0;o>>0,k).iS(0,b,c,d,e)}, +jR(a,b,c,d){var s=this.Kz(c) +return s<0?null:this.b[s+1]}, +Kz(a){var s,r,q=this.b,p=q.length +for(s=J.kB(a),r=0;r=s.a.length)s.Bu(q) +B.W.e1(s.a,s.b,q,a) +s.b+=r}, +pi(a,b,c){var s=this,r=c==null?s.e.length:c,q=s.b+(r-b) +if(q>=s.a.length)s.Bu(q) +B.W.e1(s.a,s.b,q,a) +s.b=q}, +YP(a){return this.pi(a,0,null)}, +Bu(a){var s=this.a,r=s.length,q=a==null?0:a,p=Math.max(q,r*2),o=new Uint8Array(p) +B.W.e1(o,0,r,s) +this.a=o}, +a63(){return this.Bu(null)}, +ih(a){var s=B.f.bp(this.b,a) +if(s!==0)this.pi($.axv(),0,a-s)}, +ky(){var s,r=this +if(r.c)throw A.c(A.R("done() must not be called more than once on the same "+A.t(r).i(0)+".")) +s=A.ey(r.a.buffer,0,r.b) +r.a=new Uint8Array(0) +r.c=!0 +return s}} +A.yd.prototype={ +mJ(a){return this.a.getUint8(this.b++)}, +yq(a){var s=this.b,r=$.di() +B.f9.Ga(this.a,s,r)}, +mK(a){var s=this.a,r=A.d2(s.buffer,s.byteOffset+this.b,a) +this.b+=a +return r}, +yr(a){var s +this.ih(8) +s=this.a +B.r2.Oe(s.buffer,s.byteOffset+this.b,a)}, +ih(a){var s=this.b,r=B.f.bp(s,a) +if(r!==0)this.b=s+(a-r)}} +A.i5.prototype={ +gt(a){var s=this +return A.P(s.b,s.d,s.f,s.r,s.w,s.x,s.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.i5&&b.b===s.b&&b.d===s.d&&b.f===s.f&&b.r===s.r&&b.w===s.w&&b.x===s.x&&b.a===s.a}, +i(a){var s=this +return"StackFrame(#"+s.b+", "+s.c+":"+s.d+"/"+s.e+":"+s.f+":"+s.r+", className: "+s.w+", method: "+s.x+")"}} +A.aac.prototype={ +$1(a){return a.length!==0}, +$S:29} +A.ci.prototype={ +nH(a,b){return new A.a8($.ae,this.$ti.h("a8<1>"))}, +ku(a){return this.nH(a,null)}, +en(a,b,c,d){var s=b.$1(this.a) +if(d.h("a6<0>").b(s))return s +return new A.ci(s,d.h("ci<0>"))}, +b_(a,b,c){return this.en(0,b,null,c)}, +hs(a){var s,r,q,p,o,n=this +try{s=a.$0() +if(t.L0.b(s)){p=J.aly(s,new A.aaE(n),n.$ti.c) +return p}return n}catch(o){r=A.a9(o) +q=A.aK(o) +p=A.a_4(r,q,n.$ti.c) +return p}}, +$ia6:1} +A.aaE.prototype={ +$1(a){return this.a.a}, +$S(){return this.a.$ti.h("1(@)")}} +A.GD.prototype={ +F(){return"GestureDisposition."+this.b}} +A.cI.prototype={} +A.qf.prototype={ +X(a,b){this.a.lD(this.b,this.c,b)}} +A.tj.prototype={ +i(a){var s=this,r=s.a +r=r.length===0?""+"":""+new A.aw(r,new A.afk(s),A.a_(r).h("aw<1,r>")).bD(0,", ") +if(s.b)r+=" [open]" +if(s.c)r+=" [held]" +if(s.d)r+=" [hasPendingSweep]" +return r.charCodeAt(0)==0?r:r}} +A.afk.prototype={ +$1(a){if(a===this.a.e)return a.i(0)+" (eager winner)" +return a.i(0)}, +$S:178} +A.a_a.prototype={ +nA(a,b,c){this.a.bk(0,b,new A.a_c()).a.push(c) +return new A.qf(this,b,c)}, +a9p(a,b){var s=this.a.k(0,b) +if(s==null)return +s.b=!1 +this.N2(b,s)}, +HK(a){var s,r=this.a,q=r.k(0,a) +if(q==null)return +if(q.c){q.d=!0 +return}r.A(0,a) +r=q.a +if(r.length!==0){B.b.gI(r).fp(a) +for(s=1;s")),p=n.r,q=q.y[1];r.q();){o=r.a;(o==null?q.a(o):o).agt(0,p)}s.J(0) +n.c=B.q +s=n.y +if(s!=null)s.aA(0)}} +A.wq.prototype={ +a2B(a){var s,r,q,p,o=this +try{o.aV$.L(0,A.aDk(a.a,o.ga_M())) +if(o.c<=0)o.An()}catch(q){s=A.a9(q) +r=A.aK(q) +p=A.bm("while handling a pointer data packet") +A.dk(new A.bF(s,r,"gestures library",p,null,!1))}}, +a_N(a){var s +if($.az().gc_().b.k(0,a)==null)s=null +else{s=$.br().d +if(s==null){s=self.window.devicePixelRatio +if(s===0)s=1}}return s}, +a98(a){var s=this.aV$ +if(s.b===s.c&&this.c<=0)A.e6(this.ga0C()) +s.vK(A.arV(0,0,0,0,0,B.dP,!1,0,a,B.h,1,1,0,0,0,0,0,0,B.q,0))}, +An(){for(var s=this.aV$;!s.gM(0);)this.Eb(s.oC())}, +Eb(a){this.gLO().es(0) +this.Kn(a)}, +Kn(a){var s,r=this,q=!t.pY.b(a) +if(!q||t.ks.b(a)||t.XA.b(a)||t.w5.b(a)){s=A.amr() +r.wY(s,a.gbN(a),a.goQ()) +if(!q||t.w5.b(a))r.Z$.n(0,a.gbj(),s)}else if(t.oN.b(a)||t.Ko.b(a)||t.WQ.b(a))s=r.Z$.A(0,a.gbj()) +else s=a.gwt()||t.DB.b(a)?r.Z$.k(0,a.gbj()):null +if(s!=null||t.ge.b(a)||t.PB.b(a)){q=r.CW$ +q.toString +q.ag6(a,t.n2.b(a)?null:s) +r.Vd(0,a,s)}}, +wY(a,b,c){a.D(0,new A.iE(this,t.AL))}, +aaJ(a,b,c){var s,r,q,p,o,n,m,l,k,j,i="gesture library" +if(c==null){try{this.bw$.St(b)}catch(p){s=A.a9(p) +r=A.aK(p) +A.dk(A.aBF(A.bm("while dispatching a non-hit-tested pointer event"),b,s,null,new A.a_f(b),i,r))}return}for(n=c.a,m=n.length,l=0;l#"+A.b4(this)+"("+this.a.i(0)+")"}} +A.tW.prototype={} +A.Bf.prototype={ +cs(a,b){return this.a.rZ(b)}} +A.tA.prototype={ +cs(a,b){var s,r,q,p,o=new Float64Array(16),n=new A.bj(o) +n.bc(b) +s=this.a +r=s.a +q=s.b +s=o[0] +p=o[3] +o[0]=s+r*p +o[1]=o[1]+q*p +o[2]=o[2]+0*p +o[3]=p +p=o[4] +s=o[7] +o[4]=p+r*s +o[5]=o[5]+q*s +o[6]=o[6]+0*s +o[7]=s +s=o[8] +p=o[11] +o[8]=s+r*p +o[9]=o[9]+q*p +o[10]=o[10]+0*p +o[11]=p +p=o[12] +s=o[15] +o[12]=p+r*s +o[13]=o[13]+q*s +o[14]=o[14]+0*s +o[15]=s +return n}} +A.jB.prototype={ +a1l(){var s,r,q,p,o=this.c +if(o.length===0)return +s=this.b +r=B.b.gT(s) +for(q=o.length,p=0;p":B.b.bD(s,", "))+")"}} +A.hU.prototype={ +f0(a){var s,r=this +switch(a.gdA(a)){case 1:s=!1 +if(r.p1==null)if(r.p2==null)s=r.R8==null +if(s)return!1 +break +case 2:return!1 +case 4:return!1 +default:return!1}return r.p9(a)}, +Dk(){var s,r=this +r.X(0,B.bO) +r.k2=!0 +s=r.CW +s.toString +r.Hn(s) +r.ZN()}, +Qm(a){var s,r=this +if(!a.gpg()){if(t.pY.b(a)){s=new A.ia(a.gcm(a),A.bc(20,null,!1,t.av)) +r.E=s +s.vM(a.gjN(a),a.gek())}if(t.n2.b(a)){s=r.E +s.toString +s.vM(a.gjN(a),a.gek())}}if(t.oN.b(a)){if(r.k2)r.ZL(a) +else r.X(0,B.aG) +r.B7()}else if(t.Ko.b(a)){r.Ir() +r.B7()}else if(t.pY.b(a)){r.k3=new A.hW(a.gek(),a.gbN(a)) +r.k4=a.gdA(a) +r.ZK(a)}else if(t.n2.b(a))if(a.gdA(a)!==r.k4&&!r.k2){r.X(0,B.aG) +s=r.CW +s.toString +r.fT(s)}else if(r.k2)r.ZM(a)}, +ZK(a){this.k3.toString +this.e.k(0,a.gbj()).toString +switch(this.k4){case 1:break +case 2:break +case 4:break}}, +Ir(){var s,r=this +if(r.ch===B.eE)switch(r.k4){case 1:s=r.p1 +if(s!=null)r.dX("onLongPressCancel",s) +break +case 2:break +case 4:break}}, +ZN(){switch(this.k4){case 1:var s=this.p2 +if(s!=null)this.dX("onLongPress",s) +break +case 2:break +case 4:break}}, +ZM(a){a.gbN(a) +a.gek() +a.gbN(a).ad(0,this.k3.b) +a.gek().ad(0,this.k3.a) +switch(this.k4){case 1:break +case 2:break +case 4:break}}, +ZL(a){var s,r=this +r.E.tS() +a.gbN(a) +a.gek() +r.E=null +switch(r.k4){case 1:s=r.R8 +if(s!=null)r.dX("onLongPressUp",s) +break +case 2:break +case 4:break}}, +B7(){var s=this +s.k2=!1 +s.E=s.k4=s.k3=null}, +X(a,b){var s=this +if(b===B.aG)if(s.k2)s.B7() +else s.Ir() +s.Hh(0,b)}, +fp(a){}} +A.ks.prototype={ +k(a,b){return this.c[b+this.a]}, +ac(a,b){var s,r,q,p,o,n,m +for(s=this.b,r=this.c,q=this.a,p=b.c,o=b.a,n=0,m=0;m"),q=A.lo(A.a7(new A.aw(s,new A.a6D(),r),!0,r.h("aD.E")),"[","]") +r=this.b +r===$&&A.a() +return"PolynomialFit("+q+", confidence: "+B.c.R(r,3)+")"}} +A.a6D.prototype={ +$1(a){return B.c.afQ(a,3)}, +$S:185} +A.Hn.prototype={ +GL(a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this.a,a5=a4.length +if(a6>a5)return null +s=a6+1 +r=new A.a6C(new Float64Array(s)) +q=s*a5 +p=new Float64Array(q) +for(o=this.c,n=0*a5,m=0;m=0;--c){p[c]=new A.ks(c*a5,a5,q).ac(0,d) +for(i=c*s,k=l;k>c;--k)p[c]=p[c]-n[i+k]*p[k] +p[c]=p[c]/n[i+c]}for(b=0,m=0;mr){r=p +s=q}}else{r.toString +if(p0:b.b>0,o=q?b.a:b.b,n=this.a16(a,p) +if(n===c)return o +else{n.toString +s=this.AA(a,n,p) +r=this.AA(a,c,p) +if(p){q=r+o +if(q>s)return q-s +else return 0}else{q=r+o +if(q")),r=r.y[1],q=n;s.q();){p=s.a +if(p==null)p=r.a(p) +q=o?q+p.a:q+p.b}return q/m}, +kO(a){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(!a.gpg())s=t.pY.b(a)||t.n2.b(a)||t.w5.b(a)||t.DB.b(a) +else s=!1 +if(s){$label0$0:{if(t.w5.b(a)){s=B.h +break $label0$0}if(t.DB.b(a)){s=a.gFo(a) +break $label0$0}s=a.gek() +break $label0$0}r=h.p2.k(0,a.gbj()) +r.toString +r.vM(a.gjN(a),s)}s=t.n2.b(a) +if(s&&a.gdA(a)!==h.k3){h.AD(a.gbj()) +return}if((s||t.DB.b(a))&&h.a6X(a.gbj())){q=s?a.gwk():t.DB.a(a).gRx() +p=s?a.gR3():t.DB.a(a).gR4() +if(s)o=a.gbN(a) +else{r=a.gbN(a) +t.DB.a(a) +o=r.a4(0,a.gFo(a))}n=s?a.gek():a.gek().a4(0,t.DB.a(a).gEN()) +h.k1=new A.hW(n,o) +m=h.a66(a.gbj(),p) +$label1$1:{l=h.fy +if(B.bn===l||B.xz===l){s=h.id +s===$&&A.a() +h.id=s.a4(0,new A.hW(p,q)) +h.k2=a.gjN(a) +h.k4=a.gbE(a) +k=h.pA(p) +if(a.gbE(a)==null)j=null +else{s=a.gbE(a) +s.toString +j=A.HG(s)}s=h.ok +s===$&&A.a() +r=A.a6v(j,null,k,n).gd8() +i=h.pD(k) +h.ok=s+r*J.dH(i==null?1:i) +s=a.gcm(a) +r=h.b +if(h.AW(s,r==null?null:r.a)){h.p1=!0 +if(B.b.p(h.RG,a.gbj()))h.Iq(a.gbj()) +else h.X(0,B.bO)}break $label1$1}if(B.e9===l){s=a.gjN(a) +h.Iu(h.pA(m),o,n,h.pD(m),s)}}h.a5Q(a.gbj(),p)}if(t.oN.b(a)||t.Ko.b(a)||t.WQ.b(a))h.AD(a.gbj())}, +fp(a){var s=this +s.RG.push(a) +s.rx=a +if(!s.fr||s.p1)s.Iq(a)}, +f8(a){this.AD(a)}, +Do(a){var s,r=this +switch(r.fy.a){case 0:break +case 1:r.X(0,B.aG) +s=r.cy +if(s!=null)r.dX("onCancel",s) +break +case 2:r.ZJ(a) +break}r.p1=!1 +r.p2.J(0) +r.k3=null +r.fy=B.bn}, +AD(a){var s,r,q,p=this +p.fT(a) +s=p.RG +if(!B.b.A(s,a)){r=p.f +q=r.k(0,a) +if(q!=null){r.A(0,a) +q.X(0,B.aG)}}p.p3.A(0,a) +if(p.rx===a)p.rx=s.length!==0?B.b.gI(s):null}, +a4q(){var s,r=this +if(r.ay!=null){s=r.go +s===$&&A.a() +r.dX("onDown",new A.Y7(r,new A.jv(s.b)))}}, +Iq(a){var s,r,q,p,o,n,m,l,k=this +if(k.fy===B.e9)return +k.fy=B.e9 +s=k.id +s===$&&A.a() +r=k.k2 +q=k.k4 +switch(k.at.a){case 1:p=k.go +p===$&&A.a() +k.go=p.a4(0,s) +o=B.h +break +case 0:o=k.pA(s.a) +break +default:o=null}k.id=B.r4 +k.k4=k.k2=null +k.ZO(r,a) +if(!J.e(o,B.h)&&k.CW!=null){n=q!=null?A.HG(q):null +s=k.go +s===$&&A.a() +m=A.a6v(n,null,o,s.a.a4(0,o)) +l=k.go.a4(0,new A.hW(o,m)) +k.Iu(o,l.b,l.a,k.pD(o),r)}k.X(0,B.bO)}, +ZO(a,b){var s,r,q=this +if(q.ch!=null){s=q.go +s===$&&A.a() +r=q.e.k(0,b) +r.toString +q.dX("onStart",new A.Yc(q,new A.hL(a,s.b,r)))}}, +Iu(a,b,c,d,e){if(this.CW!=null)this.dX("onUpdate",new A.Yd(this,new A.hM(e,a,d,b,c)))}, +ZJ(a){var s,r,q,p,o,n=this,m={} +if(n.cx==null)return +s=n.p2.k(0,a) +r=s.tS() +m.a=null +if(r==null){q=new A.Y8() +p=null}else{o=m.a=n.zW(r,s.a) +q=o!=null?new A.Y9(m,r):new A.Ya(r) +p=o}if(p==null){p=n.k1 +p===$&&A.a() +m.a=new A.eZ(B.cJ,0,p.b)}n.adm("onEnd",new A.Yb(m,n),q)}, +l(){this.p2.J(0) +this.pa()}} +A.Y7.prototype={ +$0(){return this.a.ay.$1(this.b)}, +$S:0} +A.Yc.prototype={ +$0(){return this.a.ch.$1(this.b)}, +$S:0} +A.Yd.prototype={ +$0(){return this.a.CW.$1(this.b)}, +$S:0} +A.Y8.prototype={ +$0(){return"Could not estimate velocity."}, +$S:50} +A.Y9.prototype={ +$0(){return this.b.i(0)+"; fling at "+this.a.a.a.i(0)+"."}, +$S:50} +A.Ya.prototype={ +$0(){return this.a.i(0)+"; judged to not be a fling."}, +$S:50} +A.Yb.prototype={ +$0(){var s,r=this.b.cx +r.toString +s=this.a.a +s.toString +return r.$1(s)}, +$S:0} +A.fT.prototype={ +zW(a,b){var s,r,q,p,o=this,n=o.dx +if(n==null)n=50 +s=o.db +if(s==null)s=A.Ua(b,o.b) +r=a.a.b +if(!(Math.abs(r)>n&&Math.abs(a.d.b)>s))return null +q=o.dy +if(q==null)q=8000 +p=A.N(r,-q,q) +r=o.k1 +r===$&&A.a() +return new A.eZ(new A.ht(new A.m(0,p)),p,r.b)}, +AW(a,b){var s=this.ok +s===$&&A.a() +return Math.abs(s)>A.Ua(a,this.b)}, +pA(a){return new A.m(0,a.b)}, +pD(a){return a.b}, +Az(){return B.cO}} +A.fy.prototype={ +zW(a,b){var s,r,q,p,o=this,n=o.dx +if(n==null)n=50 +s=o.db +if(s==null)s=A.Ua(b,o.b) +r=a.a.a +if(!(Math.abs(r)>n&&Math.abs(a.d.a)>s))return null +q=o.dy +if(q==null)q=8000 +p=A.N(r,-q,q) +r=o.k1 +r===$&&A.a() +return new A.eZ(new A.ht(new A.m(p,0)),p,r.b)}, +AW(a,b){var s=this.ok +s===$&&A.a() +return Math.abs(s)>A.Ua(a,this.b)}, +pA(a){return new A.m(a.a,0)}, +pD(a){return a.a}, +Az(){return B.cN}} +A.hY.prototype={ +zW(a,b){var s,r,q,p,o,n=this,m=n.dx +if(m==null)m=50 +s=n.db +if(s==null)s=A.Ua(b,n.b) +r=a.a +if(!(r.gDu()>m*m&&a.d.gDu()>s*s))return null +q=n.dx +if(q==null)q=50 +p=n.dy +if(p==null)p=8000 +o=new A.ht(r).a9j(q,p) +p=n.k1 +p===$&&A.a() +return new A.eZ(o,null,p.b)}, +AW(a,b){var s=this.ok +s===$&&A.a() +return Math.abs(s)>A.aIV(a,this.b)}, +pA(a){return a}, +pD(a){return null}} +A.Nt.prototype={ +F(){return"_DragDirection."+this.b}} +A.MT.prototype={ +a4U(){this.a=!0}} +A.tU.prototype={ +fT(a){if(this.r){this.r=!1 +$.dY.bw$.S9(this.b,a)}}, +QY(a,b){return a.gbN(a).ad(0,this.d).gd8()<=b}} +A.hK.prototype={ +f0(a){var s,r,q=this +if(q.y==null){s=q.r==null +if(s)return!1}r=q.p9(a) +if(!r)q.lz() +return r}, +hF(a){var s=this,r=s.y +if(r!=null)if(!r.QY(a,100))return +else{r=s.y +if(!r.f.a||a.gdA(a)!==r.e){s.lz() +return s.N1(a)}}s.N1(a)}, +N1(a){var s,r,q,p,o,n,m=this +m.ME() +s=$.dY.bn$.nA(0,a.gbj(),m) +r=a.gbj() +q=a.gbN(a) +p=a.gdA(a) +o=new A.MT() +A.c7(B.BC,o.ga4T()) +n=new A.tU(r,s,q,p,o) +m.z.n(0,a.gbj(),n) +o=a.gbE(a) +if(!n.r){n.r=!0 +$.dY.bw$.O1(r,m.gv9(),o)}}, +a4s(a){var s,r=this,q=r.z,p=q.k(0,a.gbj()) +p.toString +if(t.oN.b(a)){s=r.y +if(s==null){if(r.x==null)r.x=A.c7(B.bb,r.ga4t()) +s=p.b +$.dY.bn$.wZ(s) +p.fT(r.gv9()) +q.A(0,s) +r.IB() +r.y=p}else{s=s.c +s.a.lD(s.b,s.c,B.bO) +s=p.c +s.a.lD(s.b,s.c,B.bO) +p.fT(r.gv9()) +q.A(0,p.b) +q=r.r +if(q!=null)r.dX("onDoubleTap",q) +r.lz()}}else if(t.n2.b(a)){if(!p.QY(a,18))r.pY(p)}else if(t.Ko.b(a))r.pY(p)}, +fp(a){}, +f8(a){var s,r=this,q=r.z.k(0,a) +if(q==null){s=r.y +s=s!=null&&s.b===a}else s=!1 +if(s)q=r.y +if(q!=null)r.pY(q)}, +pY(a){var s,r=this,q=r.z +q.A(0,a.b) +s=a.c +s.a.lD(s.b,s.c,B.aG) +a.fT(r.gv9()) +s=r.y +if(s!=null)if(a===s)r.lz() +else{r.Io() +if(q.a===0)r.lz()}}, +l(){this.lz() +this.H3()}, +lz(){var s,r=this +r.ME() +if(r.y!=null){if(r.z.a!==0)r.Io() +s=r.y +s.toString +r.y=null +r.pY(s) +$.dY.bn$.afe(0,s.b)}r.IB()}, +IB(){var s=this.z.gaI(0) +B.b.W(A.a7(s,!0,A.o(s).h("j.E")),this.ga5T())}, +ME(){var s=this.x +if(s!=null){s.aA(0) +this.x=null}}, +Io(){}} +A.a6x.prototype={ +O1(a,b,c){J.fW(this.a.bk(0,a,new A.a6z()),b,c)}, +S9(a,b){var s,r=this.a,q=r.k(0,a) +q.toString +s=J.bK(q) +s.A(q,b) +if(s.gM(q))r.A(0,a)}, +a_V(a,b,c){var s,r,q,p,o +a=a +try{a=a.aS(c) +b.$1(a)}catch(p){s=A.a9(p) +r=A.aK(p) +q=null +o=A.bm("while routing a pointer event") +A.dk(new A.bF(s,r,"gesture library",o,q,!1))}}, +St(a){var s=this,r=s.a.k(0,a.gbj()),q=s.b,p=t.Ld,o=t.iD,n=A.lv(q,p,o) +if(r!=null)s.J7(a,r,A.lv(r,p,o)) +s.J7(a,q,n)}, +J7(a,b,c){c.W(0,new A.a6y(this,b,a))}} +A.a6z.prototype={ +$0(){return A.E(t.Ld,t.iD)}, +$S:187} +A.a6y.prototype={ +$2(a,b){if(J.ur(this.b,a))this.a.a_V(this.c,a,b)}, +$S:188} +A.a6A.prototype={ +S1(a,b,c){if(this.a!=null)return +this.b=b +this.a=c}, +X(a,b){var s,r,q,p,o,n=this,m=n.a +if(m==null){b.l6(!0) +return}try{p=n.b +p.toString +m.$1(p)}catch(o){s=A.a9(o) +r=A.aK(o) +q=null +m=A.bm("while resolving a PointerSignalEvent") +A.dk(new A.bF(s,r,"gesture library",m,q,!1))}n.b=n.a=null}} +A.G_.prototype={ +F(){return"DragStartBehavior."+this.b}} +A.HW.prototype={ +F(){return"MultitouchDragStrategy."+this.b}} +A.cJ.prototype={ +Cj(a){}, +Cn(a){var s=this +s.e.n(0,a.gbj(),a.gcm(a)) +if(s.f0(a))s.hF(a) +else s.oe(a)}, +hF(a){}, +oe(a){}, +f0(a){var s=this.c +return(s==null||s.p(0,a.gcm(a)))&&this.d.$1(a.gdA(a))}, +ED(a){var s=this.c +return s==null||s.p(0,a.gcm(a))}, +l(){}, +QL(a,b,c){var s,r,q,p,o,n=null +try{n=b.$0()}catch(p){s=A.a9(p) +r=A.aK(p) +q=null +o=A.bm("while handling a gesture") +A.dk(new A.bF(s,r,"gesture",o,q,!1))}return n}, +dX(a,b){return this.QL(a,b,null,t.z)}, +adm(a,b,c){return this.QL(a,b,c,t.z)}} +A.ce.prototype={ +hF(a){this.u7(a.gbj(),a.gbE(a))}, +oe(a){this.X(0,B.aG)}, +fp(a){}, +f8(a){}, +X(a,b){var s,r=this.f,q=A.a7(r.gaI(0),!0,t.d) +r.J(0) +for(r=q.length,s=0;s")),r=r.c;q.q();){p=q.d +if(p==null)p=r.a(p) +o=$.dY.bw$ +n=k.grp() +o=o.a +m=o.k(0,p) +m.toString +l=J.bK(m) +l.A(m,n) +if(l.gM(m))o.A(0,p)}s.J(0) +k.H3()}, +u7(a,b){var s,r=this +$.dY.bw$.O1(a,r.grp(),b) +r.r.D(0,a) +s=r.w +s=s==null?null:s.nA(0,a,r) +if(s==null)s=$.dY.bn$.nA(0,a,r) +r.f.n(0,a,s)}, +fT(a){var s=this.r +if(s.p(0,a)){$.dY.bw$.S9(a,this.grp()) +s.A(0,a) +if(s.a===0)this.Do(a)}}, +GN(a){if(t.oN.b(a)||t.Ko.b(a)||t.WQ.b(a))this.fT(a.gbj())}} +A.wr.prototype={ +F(){return"GestureRecognizerState."+this.b}} +A.qV.prototype={ +hF(a){var s=this +s.z7(a) +if(s.ch===B.bP){s.ch=B.eE +s.CW=a.gbj() +s.cx=new A.hW(a.gek(),a.gbN(a)) +s.db=A.c7(s.at,new A.a6H(s,a))}}, +oe(a){if(!this.cy)this.VA(a)}, +kO(a){var s,r,q,p=this +if(p.ch===B.eE&&a.gbj()===p.CW){if(!p.cy)s=p.JI(a)>18 +else s=!1 +if(p.cy){r=p.ay +q=r!=null&&p.JI(a)>r}else q=!1 +if(t.n2.b(a))r=s||q +else r=!1 +if(r){p.X(0,B.aG) +r=p.CW +r.toString +p.fT(r)}else p.Qm(a)}p.GN(a)}, +Dk(){}, +fp(a){if(a===this.CW){this.nt() +this.cy=!0}}, +f8(a){var s=this +if(a===s.CW&&s.ch===B.eE){s.nt() +s.ch=B.Cj}}, +Do(a){var s=this +s.nt() +s.ch=B.bP +s.cx=null +s.cy=!1}, +l(){this.nt() +this.pa()}, +nt(){var s=this.db +if(s!=null){s.aA(0) +this.db=null}}, +JI(a){return a.gbN(a).ad(0,this.cx.b).gd8()}} +A.a6H.prototype={ +$0(){this.a.Dk() +return null}, +$S:0} +A.hW.prototype={ +a4(a,b){return new A.hW(this.a.a4(0,b.a),this.b.a4(0,b.b))}, +ad(a,b){return new A.hW(this.a.ad(0,b.a),this.b.ad(0,b.b))}, +i(a){return"OffsetPair(local: "+this.a.i(0)+", global: "+this.b.i(0)+")"}} +A.O5.prototype={} +A.rC.prototype={} +A.m3.prototype={} +A.Eq.prototype={ +hF(a){var s=this +if(s.ch===B.bP){if(s.k4!=null&&s.ok!=null)s.pZ() +s.k4=a}if(s.k4!=null)s.VJ(a)}, +u7(a,b){this.VB(a,b)}, +Qm(a){var s,r,q=this +if(t.oN.b(a)){q.ok=a +q.It()}else if(t.Ko.b(a)){q.X(0,B.aG) +if(q.k2){s=q.k4 +s.toString +q.wV(a,s,"")}q.pZ()}else{s=a.gdA(a) +r=q.k4 +if(s!==r.gdA(r)){q.X(0,B.aG) +s=q.CW +s.toString +q.fT(s)}}}, +X(a,b){var s,r=this +if(r.k3&&b===B.aG){s=r.k4 +s.toString +r.wV(null,s,"spontaneous") +r.pZ()}r.Hh(0,b)}, +Dk(){this.Ip()}, +fp(a){var s=this +s.Hn(a) +if(a===s.CW){s.Ip() +s.k3=!0 +s.It()}}, +f8(a){var s,r=this +r.VK(a) +if(a===r.CW){if(r.k2){s=r.k4 +s.toString +r.wV(null,s,"forced")}r.pZ()}}, +Ip(){var s,r=this +if(r.k2)return +s=r.k4 +s.toString +r.Qo(s) +r.k2=!0}, +It(){var s,r,q=this +if(!q.k3||q.ok==null)return +s=q.k4 +s.toString +r=q.ok +r.toString +q.Qp(s,r) +q.pZ()}, +pZ(){var s=this +s.k3=s.k2=!1 +s.k4=s.ok=null}} +A.fa.prototype={ +f0(a){var s=this +switch(a.gdA(a)){case 1:if(s.a5==null&&s.bw==null&&s.aV==null&&s.bn==null)return!1 +break +case 2:if(s.E==null&&s.Z==null&&s.a3==null&&s.al==null)return!1 +break +case 4:return!1 +default:return!1}return s.p9(a)}, +Qo(a){var s,r=this,q=a.gbN(a),p=a.gek() +r.e.k(0,a.gbj()).toString +s=new A.rC(q,p) +switch(a.gdA(a)){case 1:if(r.a5!=null)r.dX("onTapDown",new A.aaL(r,s)) +break +case 2:if(r.Z!=null)r.dX("onSecondaryTapDown",new A.aaM(r,s)) +break +case 4:break}}, +Qp(a,b){var s,r,q=this +b.gcm(b) +b.gbN(b) +b.gek() +s=new A.m3() +switch(a.gdA(a)){case 1:if(q.aV!=null)q.dX("onTapUp",new A.aaN(q,s)) +r=q.bw +if(r!=null)q.dX("onTap",r) +break +case 2:if(q.a3!=null)q.dX("onSecondaryTapUp",new A.aaO(q,s)) +if(q.E!=null)q.dX("onSecondaryTap",new A.aaP(q)) +break +case 4:break}}, +wV(a,b,c){var s,r=this,q=c===""?c:c+" " +switch(b.gdA(b)){case 1:s=r.bn +if(s!=null)r.dX(q+"onTapCancel",s) +break +case 2:s=r.al +if(s!=null)r.dX(q+"onSecondaryTapCancel",s) +break +case 4:break}}} +A.aaL.prototype={ +$0(){return this.a.a5.$1(this.b)}, +$S:0} +A.aaM.prototype={ +$0(){return this.a.Z.$1(this.b)}, +$S:0} +A.aaN.prototype={ +$0(){return this.a.aV.$1(this.b)}, +$S:0} +A.aaO.prototype={ +$0(){return this.a.a3.$1(this.b)}, +$S:0} +A.aaP.prototype={ +$0(){return this.a.E.$0()}, +$S:0} +A.MA.prototype={ +X(a,b){this.a.a7j(this.b,b)}, +$iqf:1} +A.oW.prototype={ +fp(a){var s,r,q,p,o=this +o.MN() +if(o.e==null){s=o.a.b +o.e=s==null?o.b[0]:s}for(s=o.b,r=s.length,q=0;qb*b)return new A.ht(s.ds(0,s.gd8()).ac(0,b)) +if(r40)return B.jG +s=t.n +r=A.b([],s) +q=A.b([],s) +p=A.b([],s) +o=A.b([],s) +n=this.d +s=this.c +m=s[n] +if(m==null)return null +l=m.a.a +k=m +j=k +i=0 +do{h=s[n] +if(h==null)break +g=h.a.a +f=(l-g)/1000 +if(f>100||Math.abs(g-j.a.a)/1000>40)break +e=h.b +r.push(e.a) +q.push(e.b) +p.push(1) +o.push(-f) +n=(n===0?20:n)-1;++i +if(i<20){k=h +j=k +continue}else{k=h +break}}while(!0) +if(i>=3){d=new A.Hn(o,r,p).GL(2) +if(d!=null){c=new A.Hn(o,q,p).GL(2) +if(c!=null){s=d.a[1] +g=c.a[1] +b=d.b +b===$&&A.a() +a=c.b +a===$&&A.a() +return new A.ma(new A.m(s*1000,g*1000),b*a,new A.aP(l-k.a.a),m.b.ad(0,k.b))}}}return new A.ma(B.h,1,new A.aP(l-k.a.a),m.b.ad(0,k.b))}} +A.nz.prototype={ +vM(a,b){var s,r=this +r.glF().mX(0) +r.glF().eK(0) +s=(r.d+1)%20 +r.d=s +r.e[s]=new A.BC(a,b)}, +nm(a){var s,r,q=this.d+a,p=B.f.bp(q,20),o=B.f.bp(q-1,20) +q=this.e +s=q[p] +r=q[o] +if(s==null||r==null)return B.h +q=s.a.a-r.a.a +return q>0?s.b.ad(0,r.b).ac(0,1000).ds(0,q/1000):B.h}, +tS(){var s,r,q,p,o,n,m=this +if(m.glF().gDB()>40)return B.jG +s=m.nm(-2).ac(0,0.6).a4(0,m.nm(-1).ac(0,0.35)).a4(0,m.nm(0).ac(0,0.05)) +r=m.e +q=m.d +p=r[q] +for(o=null,n=1;n<=20;++n){o=r[B.f.bp(q+n,20)] +if(o!=null)break}if(o==null||p==null)return B.xr +else return new A.ma(s,1,new A.aP(p.a.a-o.a.a),p.b.ad(0,o.b))}} +A.qA.prototype={ +tS(){var s,r,q,p,o,n,m=this +if(m.glF().gDB()>40)return B.jG +s=m.nm(-2).ac(0,0.15).a4(0,m.nm(-1).ac(0,0.65)).a4(0,m.nm(0).ac(0,0.2)) +r=m.e +q=m.d +p=r[q] +for(o=null,n=1;n<=20;++n){o=r[B.f.bp(q+n,20)] +if(o!=null)break}if(o==null||p==null)return B.xr +else return new A.ma(s,1,new A.aP(p.a.a-o.a.a),p.b.ad(0,o.b))}} +A.LR.prototype={ +K(a){var s=this +return A.amt(s.e,s.c,null,new A.acs(s,a),s.f,s.AB(a))}} +A.acs.prototype={ +$0(){this.a.Bi(this.b)}, +$S:0} +A.rY.prototype={ +K(a){var s,r,q,p +a.a7(t.vH) +s=A.aa(a) +r=this.c.$1(s.p4) +if(r!=null)return r.$1(a) +q=this.d.$1(a) +p=null +switch(A.el().a){case 0:s=A.nP(a,B.bG,t.c4) +s.toString +p=this.e.$1(s) +break +case 1:case 3:case 5:case 2:case 4:break}return A.aqY(q,null,p)}} +A.Eo.prototype={ +K(a){return new A.rY(new A.Vc(),new A.Vd(),new A.Ve(),null)}} +A.Vc.prototype={ +$1(a){return a==null?null:a.a}, +$S:71} +A.Vd.prototype={ +$1(a){return B.Cn}, +$S:72} +A.Ve.prototype={ +$1(a){return"Back"}, +$S:73} +A.En.prototype={ +Bi(a){return A.arF(a)}, +AB(a){A.nP(a,B.bG,t.c4).toString +return"Back"}} +A.G1.prototype={ +K(a){return new A.rY(new A.Yf(),new A.Yg(),new A.Yh(),null)}} +A.Yf.prototype={ +$1(a){return a==null?null:a.c}, +$S:71} +A.Yg.prototype={ +$1(a){return B.lw}, +$S:72} +A.Yh.prototype={ +$1(a){return"Open navigation menu"}, +$S:73} +A.G0.prototype={ +Bi(a){var s,r,q=A.yS(a),p=q.e +if(p.gbv()!=null){s=q.x +r=s.y +s=r==null?A.o(s).h("bJ.T").a(r):r}else s=!1 +if(s)p.gbv().aM(0) +q=q.d.gbv() +if(q!=null)q.aeC(0) +return null}, +AB(a){A.nP(a,B.bG,t.c4).toString +return"Open navigation menu"}} +A.G6.prototype={ +K(a){return new A.rY(new A.YC(),new A.YD(),new A.YE(),null)}} +A.YC.prototype={ +$1(a){return a==null?null:a.d}, +$S:71} +A.YD.prototype={ +$1(a){return B.lw}, +$S:72} +A.YE.prototype={ +$1(a){return"Open navigation menu"}, +$S:73} +A.G5.prototype={ +Bi(a){var s,r,q=A.yS(a),p=q.d +if(p.gbv()!=null){s=q.w +r=s.y +s=r==null?A.o(s).h("bJ.T").a(r):r}else s=!1 +if(s)p.gbv().aM(0) +q=q.e.gbv() +if(q!=null)q.aeC(0) +return null}, +AB(a){A.nP(a,B.bG,t.c4).toString +return"Open navigation menu"}} +A.pr.prototype={ +gt(a){var s=this +return A.bO([s.a,s.b,s.c,s.d])}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.pr}} +A.LT.prototype={} +A.abA.prototype={ +F(){return"ThemeMode."+this.b}} +A.xb.prototype={ +ai(){return new A.Bb()}} +A.a1O.prototype={ +$2(a,b){return new A.qB(a,b)}, +$S:193} +A.a4f.prototype={ +hv(a){return A.aa(a).w}, +vW(a,b,c){switch(A.aX(c.a).a){case 0:return b +case 1:switch(A.aa(a).w.a){case 3:case 4:case 5:return new A.Ke(b,c.b,null) +case 0:case 1:case 2:return b}break}}, +vU(a,b,c){A.aa(a) +switch(A.aa(a).w.a){case 2:case 3:case 4:case 5:return b +case 0:switch(0){case 0:return new A.zy(c.a,c.d,b,null)}case 1:break}return A.aqS(c.a,b,A.aa(a).ax.y)}} +A.Bb.prototype={ +an(){this.aJ() +this.d=A.aCD()}, +l(){var s=this.d +s===$&&A.a() +s.l() +this.aB()}, +ga44(){var s=A.b([],t.a9) +this.a.toString +s.push(B.zB) +s.push(B.zw) +return s}, +a4d(a,b){var s,r,q,p,o,n,m,l,k,j=this,i=null +j.a.toString +s=A.d9(a,B.xG) +r=s==null?i:s.e +if(r==null)r=B.a7 +q=r===B.a6 +s=A.d9(a,B.xE) +s=s==null?i:s.as +p=s===!0 +if(q)if(p)j.a.toString +if(q)j.a.toString +if(p)j.a.toString +o=j.a.db +s=o.ef +n=s.b +if(n==null){m=o.ax.b +n=A.Z(102,m.gm(m)>>>16&255,m.gm(m)>>>8&255,m.gm(m)&255)}l=s.a +if(l==null)l=o.ax.b +k=b==null?B.ju:b +j.a.toString +$.aoK() +k=new A.uw(o,k,B.a4,B.a0,i,i) +return new A.yQ(A.Xr(k,l,i,i,n),i)}, +ZA(a){var s,r,q=this,p=null,o=q.a,n=o.db +n=n.fr +s=n +if(s==null)s=B.dE +n=o.e +o=o.cx +r=q.ga44() +q.a.toString +return new A.A7(p,p,p,new A.agf(),p,p,p,p,p,n,B.Hj,p,p,p,B.F4,q.ga4c(),o,p,B.PP,s,p,r,p,p,B.lK,!1,!1,p,p,p,new A.nu(q,t.bT))}, +K(a){var s,r=null,q=A.q8(!1,!1,this.ZA(a),r,r,r,r,!0,r,r,r,new A.agg(),r,r) +this.a.toString +s=this.d +s===$&&A.a() +return A.aEh(B.z0,new A.nx(s,q,r))}} +A.agf.prototype={ +$1$2(a,b,c){return A.xe(b,a,c)}, +$2(a,b){return this.$1$2(a,b,t.z)}, +$S:195} +A.agg.prototype={ +$2(a,b){if(!(b instanceof A.jI)&&!(b instanceof A.qx)||!b.b.j(0,B.dr))return B.df +return A.aFf()?B.de:B.df}, +$S:174} +A.aiW.prototype={ +tM(a){return a.Sw(this.b)}, +mI(a){return new A.K(a.b,this.b)}, +tP(a,b){return new A.m(0,a.b-b.b)}, +mR(a){return this.b!==a.b}} +A.Qa.prototype={} +A.uD.prototype={ +a0V(a){var s=this.cy +if(s==null)s=a.R8.y +return s==null?new A.UU(this,a).$0():s}, +ai(){return new A.Af()}, +$iy6:1, +kX(a){return A.DC().$1(a)}, +gmo(){return this.fx}} +A.UU.prototype={ +$0(){switch(this.b.w.a){case 0:case 1:case 3:case 5:return!1 +case 2:case 4:return!0}}, +$S:39} +A.Af.prototype={ +bi(){var s,r=this +r.d_() +s=r.d +if(s!=null)s.H(0,r.gzu()) +s=r.c.a7(t.yd) +s=s==null?null:s.f +r.d=s +if(s!=null){s=s.d +s.AZ(s.c,new A.mo(r.gzu()),!1)}}, +l(){var s=this,r=s.d +if(r!=null){r.H(0,s.gzu()) +s.d=null}s.aB()}, +Zb(a){var s,r,q,p=this +if(a instanceof A.hm&&p.a.kX(a)){s=p.e +r=a.a +switch(r.e.a){case 0:q=p.e=Math.max(r.gfG()-r.gcz(),0)>0 +break +case 2:q=p.e=Math.max(r.gcz()-r.gfH(),0)>0 +break +case 1:case 3:q=s +break +default:q=s}if(q!==s)p.ah(new A.acF())}}, +LQ(a,b,c,d){var s=t._,r=A.ib(b,a,s) +s=r==null?A.ib(c,a,s):r +return s==null?A.ib(d,a,t.n8):s}, +K(b9){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1=this,b2=null,b3=A.aa(b9),b4=A.aqZ(b9),b5=A.aa(b9).R8,b6=new A.acE(b9,b2,b2,0,3,b2,b2,b2,b2,b2,b2,16,64,b2,b2,b2),b7=b9.rj(t.Np),b8=A.HS(b9,t.X) +b9.a7(t.N8) +s=A.ay(t.EK) +r=b1.e +if(r)s.D(0,B.jH) +r=b7==null +if(r)q=b2 +else{b7.a.toString +q=!1}if(r)b7=b2 +else{b7.a.toString +b7=!1}r=b1.a +r.toString +p=b5.Q +if(p==null)p=56 +o=b5.a +n=b1.LQ(s,r.ax,o,b6.gbK(0)) +r=b1.a.ax +m=A.aa(b9).ax +l=m.p4 +k=b1.LQ(s,r,o,l==null?m.k2:l) +j=s.p(0,B.jH)?k:n +b1.a.toString +i=b5.b +h=i==null?b6.gcG():i +b1.a.toString +g=b5.c +if(g==null){r=b6.c +r.toString +g=r}if(s.p(0,B.jH)){b1.a.toString +s=b5.d +if(s==null)s=b6.d +f=s==null?g:s}else f=g +s=b1.a.ch +e=s==null?b5.w:s +if(e==null)e=b6.gog().fw(h) +s=b1.a +s.toString +r=b5.x +s=r==null?s.ch:r +if(s==null)s=b5.w +if(s==null){s=b6.gnz().fw(i) +d=s}else d=s +if(d==null)d=e +b1.a.toString +c=b5.as +if(c==null){s=b6.gtw() +c=s==null?b2:s.fw(h)}b1.a.toString +b=b5.at +if(b==null){s=b6.gtr() +b=s==null?b2:s.fw(h)}b1.a.toString +a=b2 +if(q===!0){s=e.a +a=new A.G0(B.Br,b2,b2,A.wB(b2,b2,b2,b2,b2,b2,b2,b2,b2,s==null?24:s,b2,b2,b2,b2),b2)}else{if(b8==null)s=b2 +else s=b8.gEi()||b8.wC$>0 +if(s===!0)a=B.xY}if(a!=null){if(e.j(0,b6.gog()))a0=b4 +else{a1=A.wB(b2,b2,b2,b2,b2,b2,e.f,b2,b2,e.a,b2,b2,b2,b2) +s=b4.a +a0=new A.nB(s==null?b2:s.OX(a1.c,a1.as,a1.d))}a=A.amu(a,a0) +b1.a.toString +a=new A.h2(A.eo(b2,56),a,b2)}s=b1.a +a2=s.e +a3=new A.M5(a2,b2) +a4=b3.w +$label0$0:{r=b2 +if(B.as===a4||B.bg===a4||B.bh===a4||B.bi===a4){r=!0 +break $label0$0}if(B.at===a4||B.b4===a4)break $label0$0}a2=A.cN(b2,b2,a3,!1,b2,!1,b2,b2,!0,b2,b2,b2,b2,r,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2) +b.toString +a2=A.aCN(A.n7(a2,b2,B.aW,!1,b,b2,b2,B.aC),1.34) +s=s.f +if(s!=null)a5=A.iW(s,B.V,B.a8,B.dD) +else if(b7===!0){b7=e.a +a5=new A.G5(B.C4,b2,b2,A.wB(b2,b2,b2,b2,b2,b2,b2,b2,b2,b7==null?24:b7,b2,b2,b2,b2),b2)}else a5=b2 +if(a5!=null){if(d.j(0,b6.gnz()))a6=b4 +else{a7=A.wB(b2,b2,b2,b2,b2,b2,d.f,b2,b2,d.a,b2,b2,b2,b2) +b7=b4.a +a6=new A.nB(b7==null?b2:b7.OX(a7.c,a7.as,a7.d))}a5=A.amu(A.wC(a5,d),a6)}b7=b1.a.a0V(b3) +b1.a.toString +s=b5.z +if(s==null)s=16 +c.toString +a8=A.WG(new A.l4(new A.aiW(p),A.wC(A.n7(new A.I4(a,a2,a5,b7,s,b2),b2,B.c8,!0,c,b2,b2,B.aC),e),b2),B.Z,b2) +a8=A.an_(!1,a8,!0) +b7=A.Lc(j) +a9=b7===B.a6?B.Mw:B.Mv +b0=new A.j0(b2,b2,b2,b2,B.Q,a9.f,a9.r,a9.w) +b1.a.toString +b7=b5.e +if(b7==null)b7=b6.gbU(0) +b1.a.toString +s=b5.f +if(s==null){s=b3.ax +r=s.aY +s=r==null?s.b:r}r=b5.r +if(r==null)r=b6.r +return A.cN(b2,b2,new A.uB(b0,A.xa(B.a0,A.cN(b2,b2,new A.fl(B.xS,b2,b2,a8,b2),!1,b2,!0,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2),B.A,j,f,b2,b7,r,s,b2,B.cr),b2,t.ph),!0,b2,!1,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2)}} +A.acF.prototype={ +$0(){}, +$S:0} +A.M5.prototype={ +av(a){var s=a.a7(t.I) +s.toString +s=new A.Qy(B.a2,s.w,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){var s=a.a7(t.I) +s.toString +b.sbS(s.w)}} +A.Qy.prototype={ +bQ(a){var s=a.CU(1/0),r=this.C$ +return a.b4(r.az(B.z,s,r.gbF()))}, +d6(a,b){var s,r,q=this,p=a.CU(1/0),o=q.C$ +if(o==null)return null +s=o.fb(p,b) +if(s==null)return null +r=o.az(B.z,p,o.gbF()) +return s+q.gSj().hG(t.o.a(q.az(B.z,a,q.gbF()).ad(0,r))).b}, +be(){var s=this,r=t.k,q=r.a(A.G.prototype.gN.call(s)).CU(1/0) +s.C$.bV(q,!0) +s.id=r.a(A.G.prototype.gN.call(s)).b4(s.C$.gv(0)) +s.Cr()}} +A.acE.prototype={ +gMU(){var s,r=this,q=r.ch +if(q===$){s=A.aa(r.ay) +r.ch!==$&&A.a0() +r.ch=s +q=s}return q}, +guo(){var s,r=this,q=r.CW +if(q===$){s=r.gMU() +r.CW!==$&&A.a0() +q=r.CW=s.ax}return q}, +gMT(){var s,r=this,q=r.cx +if(q===$){s=r.gMU() +r.cx!==$&&A.a0() +q=r.cx=s.p2}return q}, +gbK(a){return this.guo().k2}, +gcG(){return this.guo().k3}, +gbU(a){return B.Q}, +gci(){return B.Q}, +gog(){var s=null +return new A.cD(24,s,s,s,s,this.guo().k3,s,s,s)}, +gnz(){var s=null,r=this.guo(),q=r.rx +return new A.cD(24,s,s,s,s,q==null?r.k3:q,s,s,s)}, +gtw(){return this.gMT().z}, +gtr(){return this.gMT().r}} +A.pw.prototype={ +gt(a){var s=this +return A.P(s.gbK(s),s.gcG(),s.c,s.d,s.gbU(s),s.gci(),s.r,s.gog(),s.gnz(),s.y,s.z,s.Q,s.gtw(),s.gtr(),s.ax,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.pw)if(J.e(b.gbK(b),r.gbK(r)))if(J.e(b.gcG(),r.gcG()))if(b.c==r.c)if(b.d==r.d)if(J.e(b.gbU(b),r.gbU(r)))if(J.e(b.gci(),r.gci()))if(J.e(b.r,r.r))if(J.e(b.gog(),r.gog()))if(J.e(b.gnz(),r.gnz()))if(b.z==r.z)if(b.Q==r.Q)if(J.e(b.gtw(),r.gtw()))s=J.e(b.gtr(),r.gtr()) +return s}, +gbK(a){return this.a}, +gcG(){return this.b}, +gbU(a){return this.e}, +gci(){return this.f}, +gog(){return this.w}, +gnz(){return this.x}, +gtw(){return this.as}, +gtr(){return this.at}} +A.M4.prototype={} +A.xf.prototype={ +ja(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=g.a +f.toString +s=g.b +s.toString +r=s.ad(0,f) +q=Math.abs(r.a) +p=Math.abs(r.b) +o=r.gd8() +n=s.a +m=f.b +l=new A.m(n,m) +k=new A.a4d(g,o) +if(q>2&&p>2){j=o*o +i=f.a +h=s.b +if(q0){k=c2.e +if(k!=null){b2=c2.f +if(b2!=null)if(k!==s)if(b2.gm(b2)!==p.gm(p)){q=c2.f +q=(q.gm(q)>>>24&255)/255===1&&(p.gm(p)>>>24&255)/255<1&&s===0}}}if(q){q=c2.d +if(!J.e(q==null?c3:q.e,a)){q=c2.d +if(q!=null)q.l() +q=A.cG(c3,a,c3,c3,c2) +q.bm() +k=q.bL$ +k.b=!0 +k.a.push(new A.ado(c2)) +c2.d=q}p=c2.f +c2.d.sm(0,0) +c2.d.bY(0)}c2.e=s +c2.f=p +a1.toString +b3=new A.cf(b1,new A.fl(a1,1,1,a5!=null?a5.$3(c7,c2.gcZ().a,c2.a.as):c2.a.as,c3),c3) +if(a4!=null)b3=a4.$3(c7,c2.gcZ().a,b3) +s.toString +q=r==null?c3:r.fw(o) +k=d.lP(e) +b2=p==null?B.dF:B.f8 +b4=c2.a +b5=b4.c +b6=b4.d +b7=b4.e +b8=b4.x +b4=b4.f +b9=d.lP(e) +c0=c2.gcZ() +q=A.xa(a,A.lk(!1,c3,!0,A.wC(b3,new A.cD(f,c3,c3,c3,c3,g==null?o:g,c3,c3,c3)),b9,a0,c3,b8,B.Q,c3,new A.P1(new A.adp(c5)),b4,c3,b7,b6,b5,new A.bl(new A.adq(c5),t.b),c3,a3,c0),a6,p,s,c3,n,k,m,q,b2) +switch(b.a){case 0:c1=new A.K(48+c4,48+a9) +break +case 1:c1=B.C +break +default:c1=c3}c2.a.toString +return A.cN(!0,c3,new A.Or(c1,new A.h2(a7,q,c3),c3),!0,!0,!1,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3)}} +A.adB.prototype={ +$0(){}, +$S:0} +A.ady.prototype={ +$1$1(a,b){var s=a.$1(this.a),r=a.$1(this.b),q=a.$1(this.c),p=s==null?r:s +return p==null?q:p}, +$1(a){return this.$1$1(a,t.z)}, +$S:202} +A.adz.prototype={ +$1$1(a,b){return this.b.$1$1(new A.adA(this.a,a,b),b)}, +$1(a){return this.$1$1(a,t.z)}, +$S:203} +A.adA.prototype={ +$1(a){var s=this.b.$1(a) +return s==null?null:J.apq(s,this.a.gcZ().a)}, +$S(){return this.c.h("0?(be?)")}} +A.ad9.prototype={ +$1(a){return a==null?null:a.gcv(a)}, +$S:104} +A.ada.prototype={ +$1(a){return a==null?null:a.gi8()}, +$S:205} +A.adb.prototype={ +$1(a){return a==null?null:a.gbK(a)}, +$S:42} +A.adm.prototype={ +$1(a){return a==null?null:a.gcG()}, +$S:42} +A.adr.prototype={ +$1(a){return a==null?null:a.gbU(a)}, +$S:42} +A.ads.prototype={ +$1(a){return a==null?null:a.gci()}, +$S:42} +A.adt.prototype={ +$1(a){return a==null?null:a.gc6(a)}, +$S:207} +A.adu.prototype={ +$1(a){return a==null?null:a.gi1()}, +$S:65} +A.adv.prototype={ +$1(a){return a==null?null:a.y}, +$S:65} +A.adw.prototype={ +$1(a){return a==null?null:a.gi0()}, +$S:65} +A.adx.prototype={ +$1(a){return a==null?null:a.Q}, +$S:42} +A.adc.prototype={ +$1(a){return a==null?null:a.geg()}, +$S:104} +A.add.prototype={ +$1(a){return a==null?null:a.gic()}, +$S:209} +A.ade.prototype={ +$1(a){return a==null?null:a.gbq(a)}, +$S:210} +A.adp.prototype={ +$1(a){return this.a.$1$1(new A.ad7(a),t.Pb)}, +$S:211} +A.ad7.prototype={ +$1(a){var s +if(a==null)s=null +else{s=a.gi2() +s=s==null?null:s.X(0,this.a)}return s}, +$S:212} +A.adq.prototype={ +$1(a){return this.a.$1$1(new A.ad6(a),t.n8)}, +$S:45} +A.ad6.prototype={ +$1(a){var s +if(a==null)s=null +else{s=a.gcn() +s=s==null?null:s.X(0,this.a)}return s}, +$S:214} +A.adf.prototype={ +$1(a){return a==null?null:a.ge_()}, +$S:215} +A.adg.prototype={ +$1(a){return a==null?null:a.gi7()}, +$S:216} +A.adh.prototype={ +$1(a){return a==null?null:a.cx}, +$S:217} +A.adi.prototype={ +$1(a){return a==null?null:a.cy}, +$S:218} +A.adj.prototype={ +$1(a){return a==null?null:a.db}, +$S:219} +A.adk.prototype={ +$1(a){return a==null?null:a.gdI()}, +$S:220} +A.adl.prototype={ +$1(a){return a==null?null:a.dy}, +$S:95} +A.adn.prototype={ +$1(a){return a==null?null:a.fr}, +$S:95} +A.ado.prototype={ +$1(a){if(a===B.X)this.a.ah(new A.ad8())}, +$S:7} +A.ad8.prototype={ +$0(){}, +$S:0} +A.P1.prototype={ +X(a,b){var s=this.a.$1(b) +s.toString +return s}, +glT(){return"ButtonStyleButton_MouseCursor"}} +A.Or.prototype={ +av(a){var s=new A.BQ(this.e,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sEW(this.e)}} +A.BQ.prototype={ +sEW(a){if(this.B.j(0,a))return +this.B=a +this.a6()}, +aU(a){var s=this.C$ +if(s!=null)return Math.max(s.az(B.ac,a,s.gbl()),this.B.a) +return 0}, +aT(a){var s=this.C$ +if(s!=null)return Math.max(s.az(B.av,a,s.gbu()),this.B.b) +return 0}, +Ij(a,b){var s,r,q=this.C$ +if(q!=null){s=b.$2(q,a) +q=s.a +r=this.B +return a.b4(new A.K(Math.max(q,r.a),Math.max(s.b,r.b)))}return B.C}, +bQ(a){return this.Ij(a,A.jj())}, +d6(a,b){var s,r,q=this.C$ +if(q==null)return null +s=q.fb(a,b) +if(s==null)return null +r=q.az(B.z,a,q.gbF()) +return s+B.a2.hG(t.o.a(this.az(B.z,a,this.gbF()).ad(0,r))).b}, +be(){var s,r=this +r.id=r.Ij(t.k.a(A.G.prototype.gN.call(r)),A.pi()) +s=r.C$ +if(s!=null){s=s.b +s.toString +t.W.a(s).a=B.a2.hG(t.o.a(r.gv(0).ad(0,r.C$.gv(0))))}}, +c5(a,b){var s +if(this.j6(a,b))return!0 +s=this.C$.gv(0).hH(B.h) +return a.Cq(new A.ahw(this,s),s,A.art(s))}} +A.ahw.prototype={ +$2(a,b){return this.a.C$.c5(a,this.b)}, +$S:24} +A.D6.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.uV.prototype={ +F(){return"ButtonTextTheme."+this.b}} +A.VG.prototype={ +F(){return"ButtonBarLayoutBehavior."+this.b}} +A.ED.prototype={ +gc6(a){var s=this.e +if(s==null)switch(this.c.a){case 0:s=B.da +break +case 1:s=B.da +break +case 2:s=B.lm +break +default:s=null}return s}, +gbq(a){var s,r=this.f +if(r==null){s=this.c +$label0$0:{if(B.ka===s||B.yr===s){r=B.vZ +break $label0$0}if(B.ys===s){r=B.j0 +break $label0$0}r=null}}return r}, +G4(a){var s=this.at.a +return s}, +G9(a){var s,r=this +return a.y +if(A.t(a)===B.Rv)return null +s=r.w +if(s!=null)return s +switch(r.c.a){case 0:case 1:s=r.at.b +return s +case 2:s=r.at.b +return s}}, +yw(a){var s,r=this +switch(r.c.a){case 0:return r.G4(a)===B.a6?B.i:B.G +case 1:return r.at.y +case 2:s=r.G9(a) +return(s!=null?A.Lc(s)===B.a6:r.G4(a)===B.a6)?B.i:B.o}}, +Tw(a){var s=this.e +if(s==null)switch(this.c.a){case 0:s=B.da +break +case 1:s=B.da +break +case 2:s=B.lm +break +default:s=null}return s}, +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.ED&&b.c===s.c&&b.a===s.a&&b.b===s.b&&b.gc6(0).j(0,s.gc6(0))&&b.gbq(0).j(0,s.gbq(0))&&J.e(b.w,s.w)&&J.e(b.y,s.y)&&J.e(b.z,s.z)&&J.e(b.at,s.at)&&b.ax==s.ax}, +gt(a){var s=this +return A.P(s.c,s.a,s.b,s.gc6(0),s.gbq(0),!1,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Mp.prototype={} +A.v0.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.v0&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&b.e==s.e&&J.e(b.f,s.f)&&J.e(b.r,s.r)}} +A.Ms.prototype={} +A.v1.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.v1&&b.b==s.b&&b.c==s.c&&b.d==s.d&&b.e==s.e&&J.e(b.w,s.w)&&J.e(b.x,s.x)}} +A.Mu.prototype={} +A.v2.prototype={ +gt(a){var s=this +return A.bO([s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy,s.db,s.dx,s.dy])}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.v2&&b.a==s.a&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&J.e(b.f,s.f)&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&J.e(b.x,s.x)&&b.y==s.y&&J.e(b.z,s.z)&&J.e(b.Q,s.Q)&&J.e(b.as,s.as)&&J.e(b.at,s.at)&&J.e(b.ax,s.ax)&&J.e(b.ay,s.ay)&&J.e(b.ch,s.ch)&&b.CW==s.CW&&b.cx==s.cx&&b.cy==s.cy&&J.e(b.db,s.db)&&J.e(b.dx,s.dx)&&J.e(b.dy,s.dy)}} +A.Mw.prototype={} +A.Yi.prototype={ +F(){return"DynamicSchemeVariant."+this.b}} +A.pN.prototype={ +j(a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=this +if(a2==null)return!1 +if(a0===a2)return!0 +if(J.T(a2)!==A.t(a0))return!1 +s=!1 +if(a2 instanceof A.pN)if(a2.a===a0.a){r=a2.b +q=a0.b +if(r.j(0,q)){p=a2.c +o=a0.c +if(p.j(0,o)){n=a2.d +if(n==null)n=r +m=a0.d +if(n.j(0,m==null?q:m)){n=a2.e +if(n==null)n=p +m=a0.e +if(n.j(0,m==null?o:m)){n=a2.f +if(n==null)n=r +m=a0.f +if(n.j(0,m==null?q:m)){n=a2.r +if(n==null)n=r +m=a0.r +if(n.j(0,m==null?q:m)){n=a2.w +if(n==null)n=p +m=a0.w +if(n.j(0,m==null?o:m)){n=a2.x +if(n==null)n=p +m=a0.x +if(n.j(0,m==null?o:m)){n=a2.y +m=a0.y +if(n.j(0,m)){l=a2.z +k=a0.z +if(l.j(0,k)){j=a2.Q +if(j==null)j=n +i=a0.Q +if(j.j(0,i==null?m:i)){j=a2.as +if(j==null)j=l +i=a0.as +if(j.j(0,i==null?k:i)){j=a2.at +if(j==null)j=n +i=a0.at +if(j.j(0,i==null?m:i)){j=a2.ax +if(j==null)j=n +i=a0.ax +if(j.j(0,i==null?m:i)){j=a2.ay +if(j==null)j=l +i=a0.ay +if(j.j(0,i==null?k:i)){j=a2.ch +if(j==null)j=l +i=a0.ch +if(j.j(0,i==null?k:i)){j=a2.CW +i=j==null +h=i?n:j +g=a0.CW +f=g==null +if(h.j(0,f?m:g)){h=a2.cx +e=h==null +d=e?l:h +c=a0.cx +b=c==null +if(d.j(0,b?k:c)){d=a2.cy +if(d==null)d=i?n:j +a=a0.cy +if(a==null)a=f?m:g +if(d.j(0,a)){d=a2.db +if(d==null)d=e?l:h +a=a0.db +if(a==null)a=b?k:c +if(d.j(0,a)){d=a2.dx +if(d==null)d=i?n:j +a=a0.dx +if(a==null)a=f?m:g +if(d.j(0,a)){d=a2.dy +if(d==null)n=i?n:j +else n=d +j=a0.dy +if(j==null)m=f?m:g +else m=j +if(n.j(0,m)){n=a2.fr +if(n==null)n=e?l:h +m=a0.fr +if(m==null)m=b?k:c +if(n.j(0,m)){n=a2.fx +if(n==null)n=e?l:h +m=a0.fx +if(m==null)m=b?k:c +if(n.j(0,m)){n=a2.fy +m=a0.fy +if(n.j(0,m)){l=a2.go +k=a0.go +if(l.j(0,k)){j=a2.id +n=j==null?n:j +j=a0.id +if(n.j(0,j==null?m:j)){n=a2.k1 +if(n==null)n=l +m=a0.k1 +if(n.j(0,m==null?k:m)){n=a2.k2 +m=a0.k2 +if(n.j(0,m)){l=a2.k3 +k=a0.k3 +if(l.j(0,k)){j=a2.ok +if(j==null)j=n +i=a0.ok +if(j.j(0,i==null?m:i)){j=a2.p1 +if(j==null)j=n +i=a0.p1 +if(j.j(0,i==null?m:i)){j=a2.p2 +if(j==null)j=n +i=a0.p2 +if(j.j(0,i==null?m:i)){j=a2.p3 +if(j==null)j=n +i=a0.p3 +if(j.j(0,i==null?m:i)){j=a2.p4 +if(j==null)j=n +i=a0.p4 +if(j.j(0,i==null?m:i)){j=a2.R8 +if(j==null)j=n +i=a0.R8 +if(j.j(0,i==null?m:i)){j=a2.RG +if(j==null)j=n +i=a0.RG +if(j.j(0,i==null?m:i)){j=a2.rx +if(j==null)j=l +i=a0.rx +if(j.j(0,i==null?k:i)){j=a2.ry +if(j==null){j=a2.a5 +if(j==null)j=l}i=a0.ry +if(i==null){i=a0.a5 +if(i==null)i=k}if(j.j(0,i)){j=a2.to +if(j==null){j=a2.a5 +if(j==null)j=l}i=a0.to +if(i==null){i=a0.a5 +if(i==null)i=k}if(j.j(0,i)){j=a2.x1 +if(j==null)j=B.o +i=a0.x1 +if(j.j(0,i==null?B.o:i)){j=a2.x2 +if(j==null)j=B.o +i=a0.x2 +if(j.j(0,i==null?B.o:i)){j=a2.xr +if(j==null)j=l +i=a0.xr +if(j.j(0,i==null?k:i)){j=a2.y1 +if(j==null)j=n +i=a0.y1 +if(j.j(0,i==null?m:i)){j=a2.y2 +p=j==null?p:j +j=a0.y2 +if(p.j(0,j==null?o:j)){p=a2.aY +r=p==null?r:p +p=a0.aY +if(r.j(0,p==null?q:p)){r=a2.by +if(r==null)r=n +q=a0.by +if(r.j(0,q==null?m:q)){r=a2.a5 +if(r==null)r=l +q=a0.a5 +if(r.j(0,q==null?k:q)){s=a2.k4 +if(s==null)s=n +r=a0.k4 +s=s.j(0,r==null?m:r)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s}, +gt(d1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7=this,c8=c7.b,c9=c7.c,d0=c7.d +if(d0==null)d0=c8 +s=c7.e +if(s==null)s=c9 +r=c7.y +q=c7.z +p=c7.Q +if(p==null)p=r +o=c7.as +if(o==null)o=q +n=c7.CW +m=n==null +l=m?r:n +k=c7.cx +j=k==null +i=j?q:k +h=c7.cy +if(h==null)h=m?r:n +g=c7.db +if(g==null)g=j?q:k +f=c7.fy +e=c7.go +d=c7.id +if(d==null)d=f +c=c7.k1 +if(c==null)c=e +b=c7.k2 +a=c7.k3 +a0=c7.ok +if(a0==null)a0=b +a1=c7.p1 +if(a1==null)a1=b +a2=c7.p2 +if(a2==null)a2=b +a3=c7.p3 +if(a3==null)a3=b +a4=c7.p4 +if(a4==null)a4=b +a5=c7.R8 +if(a5==null)a5=b +a6=c7.RG +if(a6==null)a6=b +a7=c7.rx +if(a7==null)a7=a +a8=c7.ry +if(a8==null){a8=c7.a5 +if(a8==null)a8=a}a9=c7.to +if(a9==null){a9=c7.a5 +if(a9==null)a9=a}b0=c7.x1 +if(b0==null)b0=B.o +b1=c7.x2 +if(b1==null)b1=B.o +b2=c7.xr +if(b2==null)b2=a +b3=c7.y1 +if(b3==null)b3=b +b4=c7.y2 +if(b4==null)b4=c9 +b5=c7.aY +if(b5==null)b5=c8 +b6=c7.f +if(b6==null)b6=c8 +b7=c7.r +if(b7==null)b7=c8 +b8=c7.w +if(b8==null)b8=c9 +b9=c7.x +if(b9==null)b9=c9 +c0=c7.at +if(c0==null)c0=r +c1=c7.ax +if(c1==null)c1=r +c2=c7.ay +if(c2==null)c2=q +c3=c7.ch +if(c3==null)c3=q +c4=c7.dx +if(c4==null)c4=m?r:n +c5=c7.dy +if(c5==null){if(m)n=r}else n=c5 +m=c7.fr +if(m==null)m=j?q:k +c5=c7.fx +if(c5==null){if(j)k=q}else k=c5 +j=c7.by +if(j==null)j=b +c5=c7.a5 +if(c5==null)c5=a +c6=c7.k4 +return A.P(c7.a,c8,c9,d0,s,r,q,p,o,l,i,h,g,f,e,d,c,A.P(b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,A.P(b6,b7,b8,b9,c0,c1,c2,c3,c4,n,m,k,j,c5,c6==null?b:c6,B.a,B.a,B.a,B.a,B.a),B.a),B.a,B.a)}} +A.Mz.prototype={} +A.HD.prototype={} +A.vs.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.vs)if(J.e(b.a,r.a))if(b.b==r.b)if(b.c==r.c)if(b.d==r.d)if(J.e(b.e,r.e))if(b.f==r.f)if(b.r==r.r)if(J.e(b.w,r.w))if(b.x==r.x)if(b.y==r.y)if(b.z==r.z)s=b.Q==r.Q +return s}} +A.N4.prototype={} +A.vt.prototype={ +gt(a){var s=this +return A.bO([s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy,s.db,s.dx,s.dy,s.fr,s.fx,s.fy,s.go,s.id,s.k1,s.k2,s.k3,s.k4,s.ok,s.p1,s.p2,s.p3,s.p4,s.R8])}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +s=!1 +if(b instanceof A.vt)if(J.e(b.a,r.a))if(b.b==r.b)if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.r,r.r))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.y,r.y))if(J.e(b.z,r.z))if(b.Q==r.Q)if(b.as==r.as)if(b.at==r.at)if(b.ax==r.ax)if(b.ay==r.ay)if(b.ch==r.ch)if(J.e(b.CW,r.CW))if(J.e(b.cx,r.cx))if(b.cy==r.cy)if(b.db==r.db)if(b.dx==r.dx)if(J.e(b.dy,r.dy))if(b.fr==r.fr)if(J.e(b.fx,r.fx))if(J.e(b.fy,r.fy))if(J.e(b.go,r.go))if(J.e(b.id,r.id))if(J.e(b.k1,r.k1))if(J.e(b.k2,r.k2))if(J.e(b.k3,r.k3))if(J.e(b.k4,r.k4))if(b.ok==r.ok)if(J.e(b.p1,r.p1))if(J.e(b.p3,r.p3))s=J.e(b.p4,r.p4) +return s}} +A.N6.prototype={} +A.vD.prototype={ +gt(a){var s=this +return A.bO([s.a,s.b,s.c,s.d,s.e,s.f,s.y,s.r,s.w,s.x,s.z,s.Q,s.as])}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.vD)if(J.e(b.a,r.a))if(b.b==r.b)if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.y,r.y))if(J.e(b.r,r.r))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.z,r.z))s=J.e(b.Q,r.Q) +return s}} +A.Ng.prototype={} +A.vF.prototype={ +gt(a){var s=this +return A.P(s.gab(s),s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.vF&&J.e(b.gab(b),s.gab(s))&&b.b==s.b&&b.c==s.c&&b.d==s.d&&b.e==s.e}, +gab(a){return this.a}} +A.Nk.prototype={} +A.vN.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.vN)if(J.e(b.a,r.a))if(J.e(b.b,r.b))if(b.c==r.c)if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.r,r.r))s=b.w==r.w +return s}} +A.Nu.prototype={} +A.vO.prototype={ +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.vO)if(J.e(b.a,r.a))s=J.e(b.c,r.c) +return s}} +A.Nv.prototype={} +A.G3.prototype={ +Pe(a){var s=null +A.aa(a) +A.aa(a) +return new A.NB(a,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,B.a0,!0,B.a2,s,s,s)}, +Sv(a){var s +a.a7(t.dq) +s=A.aa(a) +return s.E.a}} +A.NB.prototype={ +gka(){var s,r=this,q=r.fy +if(q===$){s=A.aa(r.fx) +r.fy!==$&&A.a0() +q=r.fy=s.ax}return q}, +gi8(){return new A.cr(A.aa(this.fx).p2.as,t.ha)}, +gbK(a){return new A.bl(new A.aev(this),t.b)}, +gcG(){return new A.bl(new A.aex(this),t.b)}, +gcn(){return new A.bl(new A.aez(this),t.b)}, +gbU(a){var s=this.gka().x1 +if(s==null)s=B.o +return new A.cr(s,t.De)}, +gci(){return B.bl}, +gcv(a){return new A.bl(new A.aew(),t.N5)}, +gc6(a){return new A.cr(A.aIj(this.fx),t.mD)}, +gi1(){return B.Sr}, +gi0(){return B.e3}, +gbq(a){return B.e2}, +gi2(){return new A.bl(new A.aey(),t.B_)}, +ge_(){return A.aa(this.fx).Q}, +gi7(){return A.aa(this.fx).f}, +gdI(){return A.aa(this.fx).y}} +A.aev.prototype={ +$1(a){var s,r +if(a.p(0,B.D)){s=this.a.gka().k3.a +return A.Z(31,s>>>16&255,s>>>8&255,s&255)}s=this.a.gka() +r=s.p3 +return r==null?s.k2:r}, +$S:8} +A.aex.prototype={ +$1(a){var s +if(a.p(0,B.D)){s=this.a.gka().k3.a +return A.Z(97,s>>>16&255,s>>>8&255,s&255)}return this.a.gka().b}, +$S:8} +A.aez.prototype={ +$1(a){var s +if(a.p(0,B.I)){s=this.a.gka().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=this.a.gka().b +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=this.a.gka().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}return null}, +$S:45} +A.aew.prototype={ +$1(a){if(a.p(0,B.D))return 0 +if(a.p(0,B.I))return 1 +if(a.p(0,B.K))return 3 +if(a.p(0,B.R))return 1 +return 1}, +$S:97} +A.aey.prototype={ +$1(a){if(a.p(0,B.D))return B.bf +return B.cG}, +$S:41} +A.vV.prototype={ +gt(a){return J.u(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.vV&&J.e(b.a,this.a)}} +A.NC.prototype={} +A.kj.prototype={} +A.w9.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.w9)if(J.e(b.a,r.a))if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.r,r.r))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.y,r.y))s=J.e(b.z,r.z) +return s}} +A.NH.prototype={} +A.wd.prototype={ +gt(a){return J.u(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.wd&&J.e(b.a,this.a)}} +A.NL.prototype={} +A.wh.prototype={ +bT(a){var s=this,r=!0 +if(s.f===a.f)if(s.r===a.r)if(s.w===a.w)r=s.x!==a.x +return r}} +A.ae7.prototype={ +i(a){return""}} +A.AP.prototype={ +F(){return"_FloatingActionButtonType."+this.b}} +A.Gq.prototype={ +K(a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=null,a1=A.aa(a6),a2=a1.al,a3=a.k1,a4=new A.aeF(a6,a3,!0,a0,a0,a0,a0,a0,6,6,8,a0,6,a0,!0,a0,B.yj,B.yi,B.yl,B.ym,8,a0,a0,a0),a5=a2.a +if(a5==null)a5=a4.gcG() +s=a.f +r=s==null?a2.b:s +if(r==null)r=a4.gbK(0) +q=a2.c +if(q==null)q=a4.gm9() +p=a2.d +if(p==null)p=a4.gmd() +o=a2.e +if(o==null)o=a4.gp5() +n=a2.f +if(n==null){s=a4.f +s.toString +n=s}m=a2.r +if(m==null){s=a4.r +s.toString +m=s}l=a2.w +if(l==null){s=a4.w +s.toString +l=s}s=a2.x +k=s==null?a4.x:s +if(k==null)k=n +j=a2.y +if(j==null){s=a4.y +s.toString +j=s}i=a2.Q +if(i==null){s=a4.Q +s.toString +i=s}h=a2.as +if(h==null)h=a4.geg() +s=a2.cy +if(s==null){s=a4.gr7() +s.toString}g=s.fw(a5) +f=a2.z +if(f==null)f=a4.gbq(0) +s=a.c +e=A.wC(s,new A.cD(h,a0,a0,a0,a0,a0,a0,a0,a0)) +switch(a3.a){case 0:d=a2.at +if(d==null){a3=a4.at +a3.toString +d=a3}break +case 1:d=a2.ax +if(d==null){a3=a4.ax +a3.toString +d=a3}break +case 2:d=a2.ay +if(d==null){a3=a4.ay +a3.toString +d=a3}break +case 3:d=a2.ch +if(d==null){a3=a4.ch +a3.toString +d=a3}c=a2.cx +if(c==null)c=a4.gr6() +a3=A.b([],t.D) +a3.push(s) +e=new A.Mv(new A.cf(c,A.iW(a3,B.V,B.a8,B.dD),a0),a0) +break +default:d=a0}b=A.asa(B.a0,!1,e,B.A,d,k,n,i,r,q,m,a0,a0,j,p,l,a1.f,new A.Nz(a0,a2.db),a0,a0,a.z,B.ak,f,o,g,B.cL) +b=A.aqU(b,B.zy,!1) +return new A.xk(b,a0)}} +A.Nz.prototype={ +X(a,b){var s=A.ib(this.a,b,t.WV) +if(s==null)s=null +return s==null?B.ck.X(0,b):s}, +glT(){return"MaterialStateMouseCursor(FloatActionButton)"}} +A.Mv.prototype={ +av(a){var s=a.a7(t.I) +s.toString +s=new A.Qz(B.a2,s.w,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){var s=a.a7(t.I) +s.toString +b.sbS(s.w)}} +A.Qz.prototype={ +bQ(a){var s=this.C$,r=a.a,q=a.b,p=a.c,o=a.d +if(s!=null){s=s.az(B.z,B.ed,s.gbF()) +return new A.K(Math.max(r,Math.min(q,s.a)),Math.max(p,Math.min(o,s.b)))}else return new A.K(A.N(1/0,r,q),A.N(1/0,p,o))}, +be(){var s=this,r=t.k.a(A.G.prototype.gN.call(s)),q=s.C$,p=r.a,o=r.b,n=r.c,m=r.d +if(q!=null){q.bV(B.ed,!0) +s.id=new A.K(Math.max(p,Math.min(o,s.C$.gv(0).a)),Math.max(n,Math.min(m,s.C$.gv(0).b))) +s.Cr()}else s.id=new A.K(A.N(1/0,p,o),A.N(1/0,n,m))}} +A.aeF.prototype={ +gpz(){var s,r=this,q=r.fx +if(q===$){s=A.aa(r.dx) +r.fx!==$&&A.a0() +q=r.fx=s.ax}return q}, +gcG(){var s=this.gpz(),r=s.e +return r==null?s.c:r}, +gbK(a){var s=this.gpz(),r=s.d +return r==null?s.b:r}, +gp5(){var s=this.gpz(),r=s.e +s=r==null?s.c:r +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}, +gm9(){var s=this.gpz(),r=s.e +s=r==null?s.c:r +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}, +gmd(){var s=this.gpz(),r=s.e +s=r==null?s.c:r +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}, +gbq(a){var s +switch(this.dy.a){case 0:s=B.w_ +break +case 1:s=B.Jq +break +case 2:s=B.Jr +break +case 3:s=B.w_ +break +default:s=null}return s}, +geg(){var s=24 +switch(this.dy.a){case 0:break +case 1:break +case 2:s=36 +break +case 3:break +default:s=null}return s}, +gr6(){return new A.f_(this.fr&&this.dy===B.T_?16:20,0,20,0)}, +gr7(){var s,r=this,q=r.fy +if(q===$){s=A.aa(r.dx) +r.fy!==$&&A.a0() +q=r.fy=s.p2}return q.as}} +A.Zo.prototype={ +i(a){return"FloatingActionButtonLocation"}} +A.aad.prototype={ +adA(){return!1}, +Gf(a){var s=this.adA()?4:0 +return new A.m(this.Tt(a,s),this.Tu(a,s))}} +A.Z9.prototype={ +Tu(a,b){var s=a.c,r=a.b.b,q=a.a.b,p=a.w.b,o=s-q-Math.max(16,a.f.d-(a.r.b-s)+16) +if(p>0)o=Math.min(o,s-p-q-16) +return(r>0?Math.min(o,s-r-q/2):o)+b}} +A.Z8.prototype={ +Tt(a,b){var s +switch(a.y.a){case 0:s=16+a.e.a-b +break +case 1:s=A.aEL(a,b) +break +default:s=null}return s}} +A.aeA.prototype={ +i(a){return"FloatingActionButtonLocation.endFloat"}} +A.Zn.prototype={ +i(a){return"FloatingActionButtonAnimator"}} +A.ai9.prototype={ +Ts(a,b,c){if(c<0.5)return a +else return b}} +A.Ae.prototype={ +gm(a){var s=this,r=s.w.x +r===$&&A.a() +if(r>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}if(b.p(0,B.K)){s=r.c +s=r.a +s=s==null?q:A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}if(b.p(0,B.R)){s=r.b +s=r.a +s=s==null?q:A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}}if(b.p(0,B.I)){s=r.d +s=r.a +s=s==null?q:A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}if(b.p(0,B.K)){s=r.c +s=r.a +s=s==null?q:A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}if(b.p(0,B.R)){s=r.b +s=r.a +s=s==null?q:A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}return q}, +i(a){return"{hovered: "+A.h(this.c)+", focused: "+A.h(this.b)+", pressed: "+A.h(this.d)+", otherwise: null}"}} +A.Og.prototype={ +X(a,b){if(b.p(0,B.D))return this.b +return this.a}} +A.Oi.prototype={ +gaD(){var s,r=this,q=r.go +if(q===$){s=A.aa(r.fx) +r.go!==$&&A.a0() +q=r.go=s.ax}return q}, +gbK(a){return B.Sq}, +gcG(){return new A.bl(new A.afG(this),t.b)}, +gcn(){return new A.bl(new A.afI(this),t.b)}, +gcv(a){return B.fF}, +gbU(a){return B.bl}, +gci(){return B.bl}, +gc6(a){return B.fI}, +gi1(){return B.fH}, +gi0(){return B.e3}, +geg(){return B.fG}, +gic(){return null}, +gbq(a){return B.e2}, +gi2(){return new A.bl(new A.afH(),t.B_)}, +ge_(){return B.cL}, +gi7(){return A.aa(this.fx).f}, +gdI(){return A.aa(this.fx).y}} +A.afG.prototype={ +$1(a){var s,r +if(a.p(0,B.D)){s=this.a.gaD().k3.a +return A.Z(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.N))return this.a.gaD().b +s=this.a.gaD() +r=s.rx +return r==null?s.k3:r}, +$S:8} +A.afI.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.N)){if(a.p(0,B.I)){s=q.a.gaD().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=q.a.gaD().b +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=q.a.gaD().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}}if(a.p(0,B.I)){s=q.a.gaD() +r=s.rx +s=r==null?s.k3:r +s=s.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.K)){s=q.a.gaD() +r=s.rx +s=(r==null?s.k3:r).a +return A.Z(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.R)){s=q.a.gaD() +r=s.rx +s=r==null?s.k3:r +s=s.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}return B.Q}, +$S:8} +A.afH.prototype={ +$1(a){if(a.p(0,B.D))return B.bf +return B.cG}, +$S:41} +A.NM.prototype={ +gaD(){var s,r=this,q=r.go +if(q===$){s=A.aa(r.fx) +r.go!==$&&A.a0() +q=r.go=s.ax}return q}, +gbK(a){return new A.bl(new A.aeG(this),t.b)}, +gcG(){return new A.bl(new A.aeH(this),t.b)}, +gcn(){return new A.bl(new A.aeJ(this),t.b)}, +gcv(a){return B.fF}, +gbU(a){return B.bl}, +gci(){return B.bl}, +gc6(a){return B.fI}, +gi1(){return B.fH}, +gi0(){return B.e3}, +geg(){return B.fG}, +gic(){return null}, +gbq(a){return B.e2}, +gi2(){return new A.bl(new A.aeI(),t.B_)}, +ge_(){return B.cL}, +gi7(){return A.aa(this.fx).f}, +gdI(){return A.aa(this.fx).y}} +A.aeG.prototype={ +$1(a){var s,r +if(a.p(0,B.D)){s=this.a.gaD().k3.a +return A.Z(31,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.N))return this.a.gaD().b +s=this.a +if(s.fy){s=s.gaD() +r=s.RG +return r==null?s.k2:r}return s.gaD().b}, +$S:8} +A.aeH.prototype={ +$1(a){var s +if(a.p(0,B.D)){s=this.a.gaD().k3.a +return A.Z(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.N))return this.a.gaD().c +s=this.a +if(s.fy)return s.gaD().b +return s.gaD().c}, +$S:8} +A.aeJ.prototype={ +$1(a){var s,r=this +if(a.p(0,B.N)){if(a.p(0,B.I)){s=r.a.gaD().c +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=r.a.gaD().c +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=r.a.gaD().c +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}}s=r.a +if(s.fy){if(a.p(0,B.I)){s=s.gaD().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=s.gaD().b +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=s.gaD().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}}if(a.p(0,B.I)){s=s.gaD().c +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=s.gaD().c +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=s.gaD().c +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}return B.Q}, +$S:8} +A.aeI.prototype={ +$1(a){if(a.p(0,B.D))return B.bf +return B.cG}, +$S:41} +A.NN.prototype={ +gaD(){var s,r=this,q=r.go +if(q===$){s=A.aa(r.fx) +r.go!==$&&A.a0() +q=r.go=s.ax}return q}, +gbK(a){return new A.bl(new A.aeK(this),t.b)}, +gcG(){return new A.bl(new A.aeL(this),t.b)}, +gcn(){return new A.bl(new A.aeN(this),t.b)}, +gcv(a){return B.fF}, +gbU(a){return B.bl}, +gci(){return B.bl}, +gc6(a){return B.fI}, +gi1(){return B.fH}, +gi0(){return B.e3}, +geg(){return B.fG}, +gic(){return null}, +gbq(a){return B.e2}, +gi2(){return new A.bl(new A.aeM(),t.B_)}, +ge_(){return B.cL}, +gi7(){return A.aa(this.fx).f}, +gdI(){return A.aa(this.fx).y}} +A.aeK.prototype={ +$1(a){var s,r +if(a.p(0,B.D)){s=this.a.gaD().k3.a +return A.Z(31,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.N)){s=this.a.gaD() +r=s.Q +return r==null?s.y:r}s=this.a +if(s.fy){s=s.gaD() +r=s.RG +return r==null?s.k2:r}s=s.gaD() +r=s.Q +return r==null?s.y:r}, +$S:8} +A.aeL.prototype={ +$1(a){var s,r +if(a.p(0,B.D)){s=this.a.gaD().k3.a +return A.Z(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.N)){s=this.a.gaD() +r=s.as +return r==null?s.z:r}s=this.a +if(s.fy){s=s.gaD() +r=s.rx +return r==null?s.k3:r}s=s.gaD() +r=s.as +return r==null?s.z:r}, +$S:8} +A.aeN.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.N)){if(a.p(0,B.I)){s=q.a.gaD() +r=s.as +s=r==null?s.z:r +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=q.a.gaD() +r=s.as +s=r==null?s.z:r +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=q.a.gaD() +r=s.as +s=r==null?s.z:r +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}}s=q.a +if(s.fy){if(a.p(0,B.I)){s=s.gaD() +r=s.rx +s=r==null?s.k3:r +s=s.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.K)){s=s.gaD() +r=s.rx +s=(r==null?s.k3:r).a +return A.Z(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.R)){s=s.gaD() +r=s.rx +s=r==null?s.k3:r +s=s.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}}if(a.p(0,B.I)){s=s.gaD() +r=s.as +s=r==null?s.z:r +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=s.gaD() +r=s.as +s=r==null?s.z:r +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=s.gaD() +r=s.as +s=r==null?s.z:r +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}return B.Q}, +$S:8} +A.aeM.prototype={ +$1(a){if(a.p(0,B.D))return B.bf +return B.cG}, +$S:41} +A.Pn.prototype={ +gaD(){var s,r=this,q=r.go +if(q===$){s=A.aa(r.fx) +r.go!==$&&A.a0() +q=r.go=s.ax}return q}, +gbK(a){return new A.bl(new A.agI(this),t.b)}, +gcG(){return new A.bl(new A.agJ(this),t.b)}, +gcn(){return new A.bl(new A.agL(this),t.b)}, +gcv(a){return B.fF}, +gbU(a){return B.bl}, +gci(){return B.bl}, +gc6(a){return B.fI}, +gi1(){return B.fH}, +gi0(){return B.e3}, +geg(){return B.fG}, +gic(){return new A.bl(new A.agM(this),t.bZ)}, +gbq(a){return B.e2}, +gi2(){return new A.bl(new A.agK(),t.B_)}, +ge_(){return B.cL}, +gi7(){return A.aa(this.fx).f}, +gdI(){return A.aa(this.fx).y}} +A.agI.prototype={ +$1(a){var s,r +if(a.p(0,B.D)){if(a.p(0,B.N)){s=this.a.gaD().k3.a +return A.Z(31,s>>>16&255,s>>>8&255,s&255)}return B.Q}if(a.p(0,B.N)){s=this.a.gaD() +r=s.xr +return r==null?s.k3:r}return B.Q}, +$S:8} +A.agJ.prototype={ +$1(a){var s,r +if(a.p(0,B.D)){s=this.a.gaD().k3.a +return A.Z(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.N)){s=this.a.gaD() +r=s.y1 +return r==null?s.k2:r}s=this.a.gaD() +r=s.rx +return r==null?s.k3:r}, +$S:8} +A.agL.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.N)){if(a.p(0,B.I)){s=q.a.gaD() +r=s.y1 +s=r==null?s.k2:r +s=s.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.K)){s=q.a.gaD() +r=s.y1 +s=(r==null?s.k2:r).a +return A.Z(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.R)){s=q.a.gaD() +r=s.y1 +s=(r==null?s.k2:r).a +return A.Z(20,s>>>16&255,s>>>8&255,s&255)}}if(a.p(0,B.I)){s=q.a.gaD().k3.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.K)){s=q.a.gaD() +r=s.rx +s=(r==null?s.k3:r).a +return A.Z(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.R)){s=q.a.gaD() +r=s.rx +s=(r==null?s.k3:r).a +return A.Z(20,s>>>16&255,s>>>8&255,s&255)}return B.Q}, +$S:8} +A.agM.prototype={ +$1(a){var s,r +if(a.p(0,B.N))return null +else{if(a.p(0,B.D)){s=this.a.gaD().k3.a +return new A.cA(A.Z(31,s>>>16&255,s>>>8&255,s&255),1,B.a5,-1)}s=this.a.gaD() +r=s.ry +if(r==null){r=s.a5 +s=r==null?s.k3:r}else s=r +return new A.cA(s,1,B.a5,-1)}}, +$S:225} +A.agK.prototype={ +$1(a){if(a.p(0,B.D))return B.bf +return B.cG}, +$S:41} +A.Ta.prototype={} +A.nB.prototype={ +gt(a){return J.u(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.nB&&J.e(b.a,this.a)}} +A.wA.prototype={ +mB(a,b,c){return A.amu(c,this.w)}, +bT(a){return!this.w.j(0,a.w)}} +A.Ok.prototype={} +A.lj.prototype={ +a1p(a){var s +if(a===B.y&&!this.CW){s=this.ch +s===$&&A.a() +s.l() +this.k5()}}, +l(){var s=this.ch +s===$&&A.a() +s.l() +this.k5()}, +Lg(a,b,c){var s,r,q=this +a.c8(0) +s=q.f +if(s!=null)a.hJ(0,s.hu(b,q.ax)) +switch(q.z.a){case 1:s=b.gaR() +r=q.Q +a.dS(s,r==null?35:r,c) +break +case 0:s=q.as +if(!s.j(0,B.ah))a.dh(A.Jb(b,s.c,s.d,s.a,s.b),c) +else a.cS(b,c) +break}a.bH(0)}, +Fn(a,b){var s,r,q,p=this,o=$.am().b8(),n=p.e,m=p.ay +m===$&&A.a() +s=m.a +o.sab(0,A.Z(m.b.a8(0,s.gm(s)),n.gm(n)>>>16&255,n.gm(n)>>>8&255,n.gm(n)&255)) +r=A.a4o(b) +n=p.at +if(n!=null)q=n.$0() +else{n=p.b.gv(0) +q=new A.D(0,0,0+n.a,0+n.b)}if(r==null){a.c8(0) +a.a8(0,b.a) +p.Lg(a,q,o) +a.bH(0)}else p.Lg(a,q.cY(r),o)}} +A.ajZ.prototype={ +$0(){var s=this.a.gv(0) +return new A.D(0,0,0+s.a,0+s.b)}, +$S:99} +A.afX.prototype={ +P_(a,b,c,d,e,f,g,a0,a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h=null +if(a1==null){if(a2!=null){s=a2.$0() +r=new A.K(s.c-s.a,s.d-s.b)}else r=a3.gv(0) +s=Math.max(r.On(0,B.h).gd8(),new A.m(0+r.a,0).ad(0,new A.m(0,0+r.b)).gd8())/2}else s=a1 +q=new A.wL(a0,B.ah,s,A.aHJ(a3,d,a2),a4,c,f,e,a3,g) +p=e.B +o=A.cG(h,B.hS,h,h,p) +n=e.gel() +o.bm() +m=o.cb$ +m.b=!0 +m.a.push(n) +o.bY(0) +q.cx=o +m=c.gm(c) +l=t.q +k=t.gD +q.CW=new A.b0(l.a(o),new A.ll(0,m>>>24&255),k.h("b0")) +m=A.cG(h,B.ez,h,h,p) +m.bm() +o=m.cb$ +o.b=!0 +o.a.push(n) +m.bY(0) +q.ch=m +o=t.H7 +j=$.awm() +i=o.h("id") +q.ay=new A.b0(l.a(m),new A.id(j,new A.aR(s*0.3,s+5,o),i),i.h("b0")) +p=A.cG(h,B.li,h,h,p) +p.bm() +i=p.cb$ +i.b=!0 +i.a.push(n) +p.bm() +n=p.bL$ +n.b=!0 +n.a.push(q.ga3K()) +q.db=p +n=c.gm(c) +i=$.awn() +k=k.h("id") +q.cy=new A.b0(l.a(p),new A.id(i,new A.ll(n>>>24&255,0),k),k.h("b0")) +e.Cl(q) +return q}} +A.wL.prototype={ +qC(a){var s=this.ch +s===$&&A.a() +s.e=B.Bz +s.bY(0) +s=this.cx +s===$&&A.a() +s.bY(0) +s=this.db +s===$&&A.a() +s.z=B.aq +s.k7(1,B.a4,B.li)}, +aA(a){var s,r=this,q=r.cx +q===$&&A.a() +q.es(0) +q=r.cx.x +q===$&&A.a() +s=1-q +q=r.db +q===$&&A.a() +q.sm(0,s) +if(s<1){q=r.db +q.z=B.aq +q.k7(1,B.a4,B.hS)}}, +a3L(a){if(a===B.X)this.l()}, +l(){var s=this,r=s.ch +r===$&&A.a() +r.l() +r=s.cx +r===$&&A.a() +r.l() +r=s.db +r===$&&A.a() +r.l() +s.k5()}, +Fn(a,b){var s,r,q,p,o,n,m=this,l=m.cx +l===$&&A.a() +l=l.r +if(l!=null&&l.a!=null){l=m.CW +l===$&&A.a() +s=l.a +r=l.b.a8(0,s.gm(s))}else{l=m.cy +l===$&&A.a() +s=l.a +r=l.b.a8(0,s.gm(s))}q=$.am().b8() +l=m.e +q.sab(0,A.Z(r,l.gm(l)>>>16&255,l.gm(l)>>>8&255,l.gm(l)&255)) +l=m.at +if(l!=null)p=l.$0() +else p=null +s=p!=null?p.gaR():m.b.gv(0).hH(B.h) +o=m.ch +o===$&&A.a() +o=o.x +o===$&&A.a() +o=A.xE(m.z,s,B.ay.a8(0,o)) +o.toString +s=m.ay +s===$&&A.a() +n=s.a +n=s.b.a8(0,n.gm(n)) +m.Rv(m.Q,a,o,l,m.f,q,n,m.ax,b)}} +A.ajY.prototype={ +$0(){var s=this.a.gv(0) +return new A.D(0,0,0+s.a,0+s.b)}, +$S:99} +A.afY.prototype={ +P_(a,b,c,d,e,f,g,h,i,j,k,a0){var s,r,q=null,p=i==null?A.aHM(k,d,j,h):i,o=new A.wM(h,B.ah,p,A.aHI(k,d,j),!d,a0,c,f,e,k,g),n=e.B,m=A.cG(q,B.ez,q,q,n),l=e.gel() +m.bm() +s=m.cb$ +s.b=!0 +s.a.push(l) +m.bY(0) +o.CW=m +s=t.H7 +r=t.q +o.ch=new A.b0(r.a(m),new A.aR(0,p,s),s.h("b0")) +n=A.cG(q,B.a0,q,q,n) +n.bm() +s=n.cb$ +s.b=!0 +s.a.push(l) +n.bm() +l=n.bL$ +l.b=!0 +l.a.push(o.ga3M()) +o.cy=n +l=c.gm(c) +o.cx=new A.b0(r.a(n),new A.ll(l>>>24&255,0),t.gD.h("b0")) +e.Cl(o) +return o}} +A.wM.prototype={ +qC(a){var s=B.c.d0(this.as/1),r=this.CW +r===$&&A.a() +r.e=A.cR(0,s) +r.bY(0) +this.cy.bY(0)}, +aA(a){var s=this.cy +if(s!=null)s.bY(0)}, +a3N(a){if(a===B.X)this.l()}, +l(){var s=this,r=s.CW +r===$&&A.a() +r.l() +s.cy.l() +s.cy=null +s.k5()}, +Fn(a,b){var s,r,q=this,p=$.am().b8(),o=q.e,n=q.cx +n===$&&A.a() +s=n.a +p.sab(0,A.Z(n.b.a8(0,s.gm(s)),o.gm(o)>>>16&255,o.gm(o)>>>8&255,o.gm(o)&255)) +r=q.z +if(q.ax){o=q.b.gv(0).hH(B.h) +n=q.CW +n===$&&A.a() +n=n.x +n===$&&A.a() +r=A.xE(r,o,n)}r.toString +o=q.ch +o===$&&A.a() +n=o.a +n=o.b.a8(0,n.gm(n)) +q.Rv(q.Q,a,r,q.at,q.f,p,n,q.ay,b)}} +A.lm.prototype={ +qC(a){}, +aA(a){}, +sab(a,b){if(b.j(0,this.e))return +this.e=b +this.a.ao()}, +sD7(a){if(J.e(a,this.f))return +this.f=a +this.a.ao()}, +Rv(a,b,c,d,e,f,g,h,i){var s,r=A.a4o(i) +b.c8(0) +if(r==null)b.a8(0,i.a) +else b.au(0,r.a,r.b) +if(d!=null){s=d.$0() +if(e!=null)b.hJ(0,e.hu(s,h)) +else if(!a.j(0,B.ah))b.lN(A.Jb(s,a.c,a.d,a.a,a.b)) +else b.kv(s)}b.dS(c,g,f) +b.bH(0)}} +A.qt.prototype={} +A.By.prototype={ +bT(a){return this.f!==a.f}} +A.wK.prototype={ +TC(a){return null}, +K(a){var s=this,r=a.a7(t.sZ),q=r==null?null:r.f +return new A.B3(s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.Q,s.z,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy,s.db,s.dx,s.dy,s.fr,s.fx,s.fy,s.go,s.id,!1,s.k2,!1,s.k4,s.ok,q,s.gTB(),s.p1,s.p2,null)}} +A.B3.prototype={ +ai(){return new A.B2(A.E(t.R9,t.Pr),new A.bh(A.b([],t.IR),t.yw),null)}} +A.mj.prototype={ +F(){return"_HighlightType."+this.b}} +A.B2.prototype={ +gacJ(){var s=this.r.gaI(0) +return!new A.aF(s,new A.afV(),A.o(s).h("aF")).gM(0)}, +EQ(a,b){var s,r=this.y,q=r.a,p=q.length +if(b){r.b=!0 +q.push(a)}else r.A(0,a) +s=q.length!==0 +if(s!==(p!==0)){r=this.a.p1 +if(r!=null)r.EQ(this,s)}}, +a8m(a){var s=this,r=s.z +if(r!=null)r.aA(0) +s.z=null +r=s.c +r.toString +s.MC(r) +r=s.e +if(r!=null)r.qC(0) +s.e=null +r=s.a +if(r.d!=null){if(r.id){r=s.c +r.toString +A.Zf(r)}r=s.a.d +if(r!=null)r.$0()}s.z=A.c7(B.aT,new A.afR(s))}, +GI(a){var s=this.c +s.toString +this.MC(s) +this.wU()}, +Ur(){return this.GI(null)}, +Ed(){this.ah(new A.afU())}, +gcZ(){var s=this.a.p4 +if(s==null){s=this.x +s.toString}return s}, +rv(){var s,r,q=this +if(q.a.p4==null)q.x=A.anu(null) +s=q.gcZ() +r=q.a +r.toString +s.ep(0,B.D,!(q.fm(r)||q.fo(r))) +q.gcZ().Y(0,q.gmb())}, +an(){this.Y4() +this.rv() +$.ai.ag$.d.a.f.D(0,this.gQj())}, +aG(a){var s,r,q,p,o=this +o.b0(a) +s=a.p4 +if(o.a.p4!=s){if(s!=null)s.H(0,o.gmb()) +if(o.a.p4!=null){s=o.x +if(s!=null){s.O$=$.aM() +s.S$=0}o.x=null}o.rv()}s=o.a +if(s.cx==a.cx){s=s.CW +s=s!==a.CW}else s=!0 +if(s){s=o.r +r=s.k(0,B.cP) +if(r!=null){q=r.ch +q===$&&A.a() +q.l() +r.k5() +o.FX(B.cP,!1,o.f)}p=s.k(0,B.xC) +if(p!=null){s=p.ch +s===$&&A.a() +s.l() +p.k5()}}if(!J.e(o.a.db,a.db))o.a7J() +s=o.a +s.toString +s=o.fm(s)||o.fo(s) +if(s!==(o.fm(a)||o.fo(a))){s=o.gcZ() +q=o.a +q.toString +s.ep(0,B.D,!(o.fm(q)||o.fo(q))) +s=o.a +s.toString +if(!(o.fm(s)||o.fo(s))){o.gcZ().ep(0,B.I,!1) +r=o.r.k(0,B.cP) +if(r!=null){s=r.ch +s===$&&A.a() +s.l() +r.k5()}}o.FX(B.cP,!1,o.f)}o.FW()}, +l(){var s,r=this +$.ai.ag$.d.a.f.A(0,r.gQj()) +r.gcZ().H(0,r.gmb()) +s=r.x +if(s!=null){s.O$=$.aM() +s.S$=0}s=r.z +if(s!=null)s.aA(0) +r.z=null +r.aB()}, +goR(){if(!this.gacJ()){var s=this.d +s=s!=null&&s.a!==0}else s=!0 +return s}, +Tk(a){switch(a.a){case 0:return B.a0 +case 1:case 2:this.a.toString +return B.hR}}, +FX(a,b,c){var s,r,q,p,o,n,m,l,k,j,i=this,h=null,g=i.r,f=g.k(0,a),e=a.a +switch(e){case 0:i.gcZ().ep(0,B.I,c) +break +case 1:if(b)i.gcZ().ep(0,B.K,c) +break +case 2:break}if(a===B.cf){s=i.a.p1 +if(s!=null)s.EQ(i,c)}s=f==null +if(c===(!s&&f.CW))return +if(c)if(s){s=i.a.fx +r=s==null?h:s.X(0,i.gcZ().a) +if(r==null){switch(e){case 0:s=i.a.fr +if(s==null){s=i.c +s.toString +s=A.aa(s).cy}break +case 2:s=i.a.dx +if(s==null){s=i.c +s.toString +s=A.aa(s).cx}break +case 1:s=i.a.dy +if(s==null){s=i.c +s.toString +s=A.aa(s).dx}break +default:s=h}r=s}s=i.c.gU() +s.toString +t.x.a(s) +q=i.c +q.toString +q=A.amF(q,t.zd) +q.toString +p=i.a +p.toString +p=i.fm(p)||i.fo(p)?r:A.Z(0,r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255) +o=i.a +n=o.CW +m=o.cx +l=o.db +o=o.p2.$1(s) +k=i.c.a7(t.I) +k.toString +j=i.Tk(a) +s=new A.lj(n,m,B.ah,o,k.w,p,l,q,s,new A.afW(i,a)) +j=A.cG(h,j,h,h,q.B) +j.bm() +p=j.cb$ +p.b=!0 +p.a.push(q.gel()) +j.bm() +p=j.bL$ +p.b=!0 +p.a.push(s.ga1o()) +j.bY(0) +s.ch=j +p=s.e +p=p.gm(p) +s.ay=new A.b0(t.q.a(j),new A.ll(0,p>>>24&255),t.gD.h("b0")) +q.Cl(s) +g.n(0,a,s) +i.oO()}else{f.CW=!0 +g=f.ch +g===$&&A.a() +g.bY(0)}else{f.CW=!1 +g=f.ch +g===$&&A.a() +g.dd(0)}switch(e){case 0:g=i.a.at +if(g!=null)g.$1(c) +break +case 1:if(b){g=i.a.ax +if(g!=null)g.$1(c)}break +case 2:break}}, +jP(a,b){return this.FX(a,!0,b)}, +a7J(){var s,r,q,p=this +for(s=p.r.gaI(0),r=A.o(s),s=new A.bt(J.al(s.a),s.b,r.h("bt<1,2>")),r=r.y[1];s.q();){q=s.a +if(q==null)q=r.a(q) +if(q!=null)q.sD7(p.a.db)}s=p.e +if(s!=null)s.sD7(p.a.db) +s=p.d +if(s!=null&&s.a!==0)for(r=A.o(s),s=new A.ff(s,s.nb(),r.h("ff<1>")),r=r.c;s.q();){q=s.d +if(q==null)q=r.a(q) +q.sD7(p.a.db)}}, +a_C(a){var s,r,q,p,o,n,m,l,k,j,i=this,h={},g=i.c +g.toString +g=A.amF(g,t.zd) +g.toString +s=i.c.gU() +s.toString +t.x.a(s) +r=s.lf(a) +q=i.a.fx +q=q==null?null:q.X(0,i.gcZ().a) +p=q==null?i.a.fy:q +if(p==null){q=i.c +q.toString +p=A.aa(q).k2}q=i.a +o=q.ch?q.p2.$1(s):null +q=i.a +n=q.cy +m=q.db +h.a=null +q=q.go +if(q==null){q=i.c +q.toString +q=A.aa(q).y}l=i.a +k=l.ch +l=l.cx +j=i.c.a7(t.I) +j.toString +return h.a=q.P_(0,n,p,k,g,m,new A.afQ(h,i),r,l,o,s,j.w)}, +abN(a){if(this.c==null)return +this.ah(new A.afT(this))}, +ga6W(){var s,r=this,q=r.c +q.toString +q=A.d9(q,B.fP) +s=q==null?null:q.ch +$label0$0:{if(B.dI===s||s==null){q=r.a +q.toString +q=(r.fm(q)||r.fo(q))&&r.Q +break $label0$0}if(B.fa===s){q=r.Q +break $label0$0}q=null}return q}, +FW(){var s=$.ai.ag$.d.a.b +switch((s==null?A.tn():s).a){case 0:s=!1 +break +case 1:s=this.ga6W() +break +default:s=null}this.jP(B.xC,s)}, +abP(a){var s,r=this +r.Q=a +r.gcZ().ep(0,B.R,a) +r.FW() +s=r.a.k2 +if(s!=null)s.$1(a)}, +Qf(a){if(this.y.a.length!==0)return +this.a7c(a)}, +acs(a){this.Qf(a) +this.a.toString}, +acu(a){this.a.toString}, +ack(a){this.Qf(a) +this.a.toString}, +acm(a){this.a.toString}, +MD(a,b){var s,r,q,p,o=this +if(a!=null){s=a.gU() +s.toString +t.x.a(s) +r=s.gv(0) +r=new A.D(0,0,0+r.a,0+r.b).gaR() +q=A.bI(s.aW(0,null),r)}else q=b.a +o.gcZ().ep(0,B.I,!0) +p=o.a_C(q) +s=o.d;(s==null?o.d=A.cC(t.nQ):s).D(0,p) +s=o.e +if(s!=null)s.aA(0) +o.e=p +o.oO() +o.jP(B.cf,!0)}, +a7c(a){return this.MD(null,a)}, +MC(a){return this.MD(a,null)}, +wU(){var s=this,r=s.e +if(r!=null)r.qC(0) +s.e=null +s.jP(B.cf,!1) +r=s.a +if(r.d!=null){if(r.id){r=s.c +r.toString +A.Zf(r)}r=s.a.d +if(r!=null)r.$0()}}, +acq(){var s=this,r=s.e +if(r!=null)r.aA(0) +s.e=null +s.a.toString +s.jP(B.cf,!1)}, +acg(){var s=this,r=s.e +if(r!=null)r.qC(0) +s.e=null +s.jP(B.cf,!1) +s.a.toString}, +aci(){var s=this,r=s.e +if(r!=null)r.aA(0) +s.e=null +s.a.toString +s.jP(B.cf,!1)}, +cQ(){var s,r,q,p,o,n,m,l=this,k=l.d +if(k!=null){l.d=null +for(s=A.o(k),k=new A.ff(k,k.nb(),s.h("ff<1>")),s=s.c;k.q();){r=k.d;(r==null?s.a(r):r).l()}l.e=null}for(k=l.r,s=A.hf(k,k.r);s.q();){r=s.d +q=k.k(0,r) +if(q!=null){p=q.ch +p===$&&A.a() +p.r.l() +p.r=null +o=p.bL$ +o.b=!1 +B.b.J(o.a) +n=o.c +if(n===$){m=A.cC(o.$ti.c) +o.c!==$&&A.a0() +o.c=m +n=m}if(n.a>0){n.b=n.c=n.d=n.e=null +n.a=0}o=p.cb$ +o.b=!1 +B.b.J(o.a) +n=o.c +if(n===$){m=A.cC(o.$ti.c) +o.c!==$&&A.a0() +o.c=m +n=m}if(n.a>0){n.b=n.c=n.d=n.e=null +n.a=0}p.yY() +q.k5()}k.n(0,r,null)}k=l.a.p1 +if(k!=null)k.EQ(l,!1) +l.Y3()}, +fm(a){return a.d!=null}, +fo(a){return!1}, +ac1(a){var s=this,r=s.f=!0,q=s.a +q.toString +if(!s.fm(q)?s.fo(q):r)s.jP(B.cP,s.f)}, +ac3(a){this.f=!1 +this.jP(B.cP,!1)}, +gZG(){var s,r=this,q=r.c +q.toString +q=A.d9(q,B.fP) +s=q==null?null:q.ch +$label0$0:{if(B.dI===s||s==null){q=r.a +q.toString +q=(r.fm(q)||r.fo(q))&&r.a.ok +break $label0$0}if(B.fa===s){q=!0 +break $label0$0}q=null}return q}, +K(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=null +d.yZ(a) +s=new A.afS(d,a) +for(r=d.r,q=A.hf(r,r.r);q.q();){p=q.d +o=r.k(0,p) +if(o!=null)o.sab(0,s.$1(p))}r=d.e +if(r!=null){q=d.a.fx +q=q==null?c:q.X(0,d.gcZ().a) +if(q==null)q=d.a.fy +r.sab(0,q==null?A.aa(a).k2:q)}r=d.a.ay +if(r==null)r=B.ck +n=A.ib(r,d.gcZ().a,t.Pb) +m=d.w +if(m===$){r=d.ga8l() +q=t.ot +p=t.wS +l=A.an([B.xl,new A.kU(r,new A.bh(A.b([],q),p),t.wY),B.Rg,new A.kU(r,new A.bh(A.b([],q),p),t.nz)],t.u,t.od) +d.w!==$&&A.a0() +d.w=l +m=l}r=d.a.k4 +q=d.gZG() +p=d.a +o=p.d +o=o==null?c:d.gUq() +p=d.fm(p)?d.gacr():c +k=d.a +k.toString +k=d.fm(k)?d.gact():c +j=d.a +j.toString +j=d.fm(j)?d.gEe():c +i=d.a +i.toString +i=d.fm(i)?d.gacp():c +h=d.a +h.toString +h=d.fo(h)?d.gacj():c +g=d.a +g.toString +g=d.fo(g)?d.gacl():c +f=d.a +f.toString +f=d.fo(f)?d.gacf():c +e=d.a +e.toString +e=d.fo(e)?d.gach():c +return new A.By(d,A.E4(m,A.q8(!1,q,A.HT(A.aAA(A.cN(c,c,A.qg(B.ae,d.a.c,B.aj,!0,c,c,c,c,c,c,c,c,c,c,f,e,h,g,j,i,p,k,c,c,c),!1,c,!1,c,c,c,c,c,c,c,c,c,c,c,o,c,c,c,c,c,c,c,c),n),n,c,d.gac0(),d.gac2(),c),c,c,c,r,!0,c,d.gabO(),c,c,c,c)),c)}, +$ianH:1} +A.afV.prototype={ +$1(a){return a!=null}, +$S:235} +A.afR.prototype={ +$0(){this.a.jP(B.cf,!1)}, +$S:0} +A.afU.prototype={ +$0(){}, +$S:0} +A.afW.prototype={ +$0(){var s=this.a +s.r.n(0,this.b,null) +s.oO()}, +$S:0} +A.afQ.prototype={ +$0(){var s,r=this.b,q=r.d +if(q!=null){s=this.a +q.A(0,s.a) +if(r.e==s.a)r.e=null +r.oO()}}, +$S:0} +A.afT.prototype={ +$0(){this.a.FW()}, +$S:0} +A.afS.prototype={ +$1(a){var s,r,q=this,p=null,o=A.aa(q.b) +switch(a.a){case 0:s=q.a +r=s.a.fx +r=r==null?p:r.X(0,B.Km) +s=r==null?s.a.fr:r +if(s==null)s=o.cy +break +case 2:s=q.a +r=s.a.fx +r=r==null?p:r.X(0,B.Kn) +s=r==null?s.a.dx:r +if(s==null)s=o.cx +break +case 1:s=q.a +r=s.a.fx +r=r==null?p:r.X(0,B.Kk) +s=r==null?s.a.dy:r +if(s==null)s=o.dx +break +default:s=p}return s}, +$S:236} +A.H3.prototype={} +A.Dd.prototype={ +an(){this.aJ() +if(this.goR())this.pv()}, +cQ(){var s=this.fC$ +if(s!=null){s.ae() +s.dt() +this.fC$=null}this.pe()}} +A.Zp.prototype={ +F(){return"FloatingLabelBehavior."+this.b}} +A.Gr.prototype={ +gt(a){return B.f.gt(-1)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.Gr}, +i(a){return A.aBA(-1)}} +A.H4.prototype={ +gt(a){var s=null +return A.P(s,s,s,s,s,s,s,B.Cb,B.hm,!1,s,!1,s,s,s,s,s,s,!1,A.P(s,s,s,s,s,s,s,s,s,s,s,!1,s,s,B.a,B.a,B.a,B.a,B.a,B.a))}, +j(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +s=!1 +if(b instanceof A.H4){s=B.hm.j(0,B.hm) +s}return s}} +A.Oq.prototype={} +A.x1.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.x1)if(J.e(b.b,r.b))if(b.c==r.c)if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.r,r.r))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.f,r.f))if(J.e(b.y,r.y))if(J.e(b.z,r.z))if(J.e(b.Q,r.Q))if(b.as==r.as)if(b.at==r.at)if(b.ax==r.ax)s=b.ay==r.ay +return s}} +A.nM.prototype={ +gqL(a){return this.w}, +mB(a,b,c){var s=null,r=this.w,q=r.a,p=r.b,o=r.c,n=r.d,m=r.e,l=r.f,k=r.y,j=r.z,i=r.Q,h=r.ch,g=r.as,f=r.at +r=r.ax +return A.arl(c,A.amD(k,q,h,g,m,s,r,s,f,s,n,i,p,o,s,l,j,s,s,s),s)}, +bT(a){return!this.gqL(0).j(0,a.gqL(0))}} +A.a1F.prototype={ +$1(a){var s,r,q,p=this,o=a.a7(t.NJ),n=o==null?null:o.gqL(0) +if(n==null)n=A.aa(a).S +s=p.d +if(s==null)s=n.c +r=p.w +if(r==null)r=n.r +q=p.z +if(q==null)q=n.y +return A.arl(p.dx,A.amD(q,n.a,n.ch,n.as,n.e,n.x,n.ax,n.ay,n.at,n.CW,n.d,n.Q,n.b,s,n.w,n.f,n.z,n.cy,r,n.cx),p.a)}, +$S:237} +A.OJ.prototype={} +A.nS.prototype={ +F(){return"MaterialType."+this.b}} +A.x9.prototype={ +ai(){return new A.OQ(new A.bv("ink renderer",t.A),null,null)}} +A.OQ.prototype={ +K(a){var s,r,q,p,o,n,m,l=this,k=null,j=A.aa(a),i=l.a,h=i.f +if(h==null){s=i.d +$label0$0:{h=k +if(B.cr===s){r=j.as +break $label0$0}if(B.iE===s){r=j.at +break $label0$0}if(B.f8===s||B.qX===s||B.dF===s){r=h +break $label0$0}r=h}h=r}q=i.r +if(q==null){r=j.ax.x1 +if(r==null)r=B.o +q=r}p=i.c +r=i.x +if(r==null){i=A.aa(a).p2.z +i.toString}else i=r +r=l.a +p=A.apw(p,r.as,i) +i=r +r=i.d +o=r===B.dF +p=new A.cL(new A.agw(l),new A.Op(h,l,!o,p,l.d),k,t.Tm) +n=i.y +if(r===B.cr&&n==null){h.toString +m=A.aqF(h,i.w,i.e) +i=l.a +r=i.as +return new A.uv(p,i.Q,i.e,m,!1,q,B.aE,r,k,k)}if(n==null){$label1$1:{if(B.qX===r){r=B.A4 +break $label1$1}if(B.cr===r||B.dF===r){r=B.Jp +break $label1$1}if(B.iE===r||B.f8===r){r=B.vZ +break $label1$1}r=k}n=r}if(o){i=A.dX(a) +return A.aAa(new A.Ck(p,n,!0,k),l.a.Q,new A.oy(n,i,k))}h.toString +return new A.Bc(p,n,!0,i.Q,i.e,h,q,i.w,B.aE,i.as,k,k)}} +A.agw.prototype={ +$1(a){var s,r=$.ai.ag$.x.k(0,this.a.d).gU() +r.toString +t.zd.a(r) +s=r.bM +s=s==null?null:s.length!==0 +if(s===!0)r.ao() +return!1}, +$S:238} +A.BP.prototype={ +Cl(a){var s=this.bM;(s==null?this.bM=A.b([],t.VB):s).push(a) +this.ao()}, +iG(a){return this.am}, +aE(a,b){var s,r,q,p,o,n=this.bM +if(n!=null&&n.length!==0){s=a.gbP(0) +s.c8(0) +s.au(0,b.a,b.b) +r=this.gv(0) +s.kv(new A.D(0,0,0+r.a,0+r.b)) +for(r=n.length,q=0;q#"+A.b4(this)}} +A.oz.prototype={ +ej(a){return A.d5(this.a,this.b,a)}} +A.Bc.prototype={ +ai(){return new A.ON(null,null)}} +A.ON.prototype={ +rm(a){var s,r,q=this +q.CW=t.ir.a(a.$3(q.CW,q.a.z,new A.agh())) +s=t.YJ +q.cy=s.a(a.$3(q.cy,q.a.as,new A.agi())) +r=q.a.at +q.cx=r!=null?s.a(a.$3(q.cx,r,new A.agj())):null +q.db=t.TZ.a(a.$3(q.db,q.a.w,new A.agk()))}, +K(a){var s,r,q,p,o,n=this,m=null,l=n.db +l.toString +l=l.a8(0,n.gfW().gm(0)) +l.toString +s=n.CW +s.toString +r=s.a8(0,n.gfW().gm(0)) +A.aa(a) +s=n.a.Q +q=n.cx +p=A.aqF(s,q==null?m:q.a8(0,n.gfW().gm(0)),r) +s=n.cy +s.toString +s=s.a8(0,n.gfW().gm(0)) +s.toString +q=A.dX(a) +o=n.a +return new A.IR(new A.oy(l,q,m),o.y,r,p,s,new A.Ck(o.r,l,!0,m),m)}} +A.agh.prototype={ +$1(a){return new A.aR(A.bD(a),null,t.H7)}, +$S:106} +A.agi.prototype={ +$1(a){return new A.iv(t.n8.a(a),null)}, +$S:60} +A.agj.prototype={ +$1(a){return new A.iv(t.n8.a(a),null)}, +$S:60} +A.agk.prototype={ +$1(a){return new A.oz(t.RY.a(a),null)}, +$S:241} +A.Ck.prototype={ +K(a){var s=A.dX(a) +return A.l3(this.c,new A.Rq(this.d,s,null),null,null,B.C)}} +A.Rq.prototype={ +aE(a,b){this.b.iM(a,new A.D(0,0,0+b.a,0+b.b),this.c)}, +hx(a){return!a.b.j(0,this.b)}} +A.Td.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.xd.prototype={ +K(a){var s,r,q,p,o,n,m,l,k,j=this,i=null,h=A.aa(a) +a.a7(t.Xj) +s=A.aa(a) +r=s.x2 +if(r.at==null){q=r.at +if(q==null)q=s.ax +p=r.gc6(0) +o=r.gbq(0) +r=A.apM(!1,r.w,q,r.x,r.y,r.b,r.Q,r.z,r.d,r.ax,r.a,p,o,r.as,r.c)}q=r.G9(j) +p=h.p2.as +p.toString +p=p.fw(r.yw(j)) +o=r.y +if(o==null){o=r.yw(j) +o=A.Z(31,o.gm(o)>>>16&255,o.gm(o)>>>8&255,o.gm(o)&255)}n=r.z +if(n==null){n=r.yw(j) +n=A.Z(10,n.gm(n)>>>16&255,n.gm(n)>>>8&255,n.gm(n)&255)}m=r.Tw(j) +l=new A.aq(r.a,1/0,r.b,1/0).OV(j.k4,j.k3) +k=r.gbq(0) +return A.asa(B.a0,!1,j.dx,B.A,l,0,2,!0,q,o,4,i,h.cy,8,n,4,h.f,i,i,i,j.c,m,k,h.k2,p,h.Q)}} +A.OO.prototype={ +EF(a){return a.gop(0)==="en"}, +jE(a,b){return new A.ci(B.yy,t.az)}, +yP(a){return!1}, +i(a){return"DefaultMaterialLocalizations.delegate(en_US)"}} +A.FA.prototype={$inQ:1} +A.HF.prototype={ +SL(a,b){return new A.a4i(this,a,b)}, +SK(a){return this.SL(a,null)}, +a8s(a){if(this.o4$.D(0,a))this.ah(new A.a4g())}, +xZ(a){if(this.o4$.A(0,a))this.ah(new A.a4h())}} +A.a4i.prototype={ +$1(a){var s=this.a,r=this.b +if(s.o4$.p(0,r)===a)return +if(a)s.a8s(r) +else s.xZ(r)}, +$S:13} +A.a4g.prototype={ +$0(){}, +$S:0} +A.a4h.prototype={ +$0(){}, +$S:0} +A.HL.prototype={} +A.xj.prototype={ +gt(a){return J.u(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.xj&&J.e(b.a,this.a)}} +A.OS.prototype={} +A.HM.prototype={ +gt(a){var s=this +return A.bO([s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as])}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.HM)if(b.a==r.a)if(b.b==r.b)if(b.c==r.c)if(b.d==r.d)if(b.e==r.e)if(b.f==r.f)if(b.r==r.r)if(b.w==r.w)if(b.x==r.x)if(b.y==r.y)s=J.e(b.as,r.as) +return s}} +A.OU.prototype={} +A.qC.prototype={ +gt(a){return J.u(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.qC&&J.e(b.a,this.a)}} +A.OV.prototype={} +A.xv.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.xv)if(b.a==r.a)if(J.e(b.b,r.b))if(b.c==r.c)if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.r,r.r))if(b.w==r.w)if(b.x==r.x)s=b.z==r.z +return s}} +A.P7.prototype={} +A.xw.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.xw&&b.a==s.a&&J.e(b.b,s.b)&&b.c==s.c&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&J.e(b.f,s.f)&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&b.x==s.x&&b.y==s.y}} +A.P8.prototype={} +A.xx.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.xx&&J.e(b.a,s.a)&&b.b==s.b&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&J.e(b.f,s.f)&&b.r==s.r&&J.e(b.y,s.y)&&J.e(b.z,s.z)&&b.Q==s.Q&&b.as==s.as}} +A.P9.prototype={} +A.xG.prototype={ +gt(a){return J.u(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.xG&&J.e(b.a,this.a)}} +A.Pm.prototype={} +A.fE.prototype={ +glU(){return A.dR.prototype.glU.call(this)+"("+A.h(this.b.a)+")"}, +grQ(){return!0}} +A.HE.prototype={ +gFQ(a){return B.bb}, +gOl(){return null}, +gOm(){return null}, +CG(a){return a instanceof A.fE}, +Op(a,b,c){var s=null +return A.cN(s,s,this.cV.$1(a),!1,s,!0,s,s,s,s,s,s,s,s,s,s,s,s,s,!0,s,s,s,s,s,s)}, +Ot(a,b,c,d){A.aa(a) +return new A.tC(B.qV,this,b,c,d,null,this.$ti.h("tC<1>"))}} +A.Bd.prototype={} +A.SZ.prototype={ +K(a){var s=this +return new A.pX(s.c,new A.ajs(s),new A.ajt(s),new A.pX(new A.fO(s.d,new A.bh(A.b([],t.G),t.Q),0),new A.aju(s),new A.ajv(s),s.f,null),null)}} +A.ajs.prototype={ +$3(a,b,c){return new A.mC(b,c,this.a.e,!1,null)}, +$C:"$3", +$R:3, +$S:108} +A.ajt.prototype={ +$3(a,b,c){return new A.mD(b,this.a.e,!0,c,null)}, +$C:"$3", +$R:3, +$S:109} +A.aju.prototype={ +$3(a,b,c){return new A.mC(b,c,this.a.e,!0,null)}, +$C:"$3", +$R:3, +$S:108} +A.ajv.prototype={ +$3(a,b,c){return new A.mD(b,this.a.e,!1,c,null)}, +$C:"$3", +$R:3, +$S:109} +A.mC.prototype={ +ai(){return new A.SX(new A.zp($.aM()),$,$)}} +A.SX.prototype={ +gG0(){return!1}, +pT(){var s,r=this,q=r.a,p=q.f +if(p)s=B.cY +else{s=$.axP() +s=new A.b0(q.c,s,s.$ti.h("b0"))}r.jp$=s +p=p?$.axQ():$.axR() +q=q.c +r.kJ$=new A.b0(q,p,p.$ti.h("b0")) +q.Y(0,r.gow()) +r.a.c.ea(r.gov())}, +an(){var s,r,q,p,o=this +o.pT() +s=o.a +r=s.f +q=o.jp$ +q===$&&A.a() +p=o.kJ$ +p===$&&A.a() +o.d=A.aud(s.c,q,r,p) +o.aJ()}, +aG(a){var s,r,q,p=this,o=p.a +if(a.f!==o.f||a.c!==o.c){o=a.c +o.H(0,p.gow()) +o.c7(p.gov()) +p.pT() +o=p.d +o===$&&A.a() +o.l() +o=p.a +s=o.f +r=p.jp$ +r===$&&A.a() +q=p.kJ$ +q===$&&A.a() +p.d=A.aud(o.c,r,s,q)}p.b0(a)}, +l(){var s,r=this +r.a.c.H(0,r.gow()) +r.a.c.c7(r.gov()) +s=r.d +s===$&&A.a() +s.l() +r.Yg()}, +K(a){var s=this.d +s===$&&A.a() +return A.asM(!0,this.a.d,this.m7$,B.wZ,s)}} +A.mD.prototype={ +ai(){return new A.SY(new A.zp($.aM()),$,$)}} +A.SY.prototype={ +gG0(){return!1}, +pT(){var s,r=this,q=r.a,p=q.e +if(p){s=$.axT() +s=new A.b0(q.c,s,s.$ti.h("b0"))}else s=B.cY +r.jp$=s +p=p?$.axU():$.axV() +q=q.c +r.kJ$=new A.b0(q,p,p.$ti.h("b0")) +q.Y(0,r.gow()) +r.a.c.ea(r.gov())}, +an(){var s,r,q,p,o=this +o.pT() +s=o.a +r=s.e +q=o.jp$ +q===$&&A.a() +p=o.kJ$ +p===$&&A.a() +o.d=A.aue(s.c,q,r,p) +o.aJ()}, +aG(a){var s,r,q,p=this,o=p.a +if(a.e!==o.e||a.c!==o.c){o=a.c +o.H(0,p.gow()) +o.c7(p.gov()) +p.pT() +o=p.d +o===$&&A.a() +o.l() +o=p.a +s=o.e +r=p.jp$ +r===$&&A.a() +q=p.kJ$ +q===$&&A.a() +p.d=A.aue(o.c,r,s,q)}p.b0(a)}, +l(){var s,r=this +r.a.c.H(0,r.gow()) +r.a.c.c7(r.gov()) +s=r.d +s===$&&A.a() +s.l() +r.Yh()}, +K(a){var s=this.d +s===$&&A.a() +return A.asM(!0,this.a.f,this.m7$,B.wZ,s)}} +A.jP.prototype={} +A.LO.prototype={ +Os(a,b,c,d,e){return new A.SZ(c,d,!0,e,!0,null)}} +A.Fn.prototype={ +Os(a,b,c,d,e,f){return A.aAs(a,b,c,d,e,f)}} +A.Im.prototype={ +Z5(a){var s=t.Tr +return A.a7(new A.aw(B.F9,new A.a5U(a),s),!0,s.h("aD.E"))}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +if(b instanceof A.Im)return!0 +return!1}, +gt(a){return A.bO(this.Z5(B.qV))}} +A.a5U.prototype={ +$1(a){return this.a.k(0,a)}, +$S:244} +A.tC.prototype={ +ai(){return new A.Bx(this.$ti.h("Bx<1>"))}} +A.Bx.prototype={ +K(a){var s,r,q=this,p=A.aa(a).w,o=q.a +if(o.d.a.cx.a){s=q.d +if(s==null)q.d=p +else p=s}else q.d=null +r=o.c.k(0,p) +if(r==null){$label0$0:{if(B.at===p){o=B.hb +break $label0$0}if(B.as===p||B.bg===p||B.bi===p||B.b4===p||B.bh===p){o=B.kE +break $label0$0}o=null}r=o}o=q.a +return r.Os(o.d,a,o.e,o.f,o.r,q.$ti.c)}} +A.u_.prototype={ +aet(){var s,r=this,q=r.kJ$ +q===$&&A.a() +s=q.a +if(J.e(q.b.a8(0,s.gm(s)),1)){q=r.jp$ +q===$&&A.a() +if(!J.e(q.gm(q),0)){q=r.jp$ +q=J.e(q.gm(q),1)}else q=!0}else q=!1 +s=r.m7$ +if(q)s.sCs(!1) +else{r.gG0() +s.sCs(!1)}}, +aes(a){if(a.gfF())this.gG0() +this.m7$.sCs(!1)}} +A.D3.prototype={ +Bj(a){this.ae()}, +Je(a,b,c){var s,r,q,p,o +if(!this.r){s=this.w +s=s.gaF(s)!==B.X}else s=!1 +if(s){s=this.w +s=$.axS().a8(0,s.gm(s)) +s.toString +r=s}else r=0 +if(r>0){s=a.gbP(0) +q=b.a +p=b.b +o=$.am().b8() +o.sab(0,A.Z(B.c.a2(255*r),0,0,0)) +s.cS(new A.D(q,p,q+c.a,p+c.b),o)}}, +t6(a,b,c,d){var s,r,q,p=this +if(!p.w.gfF())return d.$2(a,b) +p.Je(a,b,c) +s=p.z +r=p.x +q=r.a +A.av0(s,r.b.a8(0,q.gm(q)),c) +q=p.as +q.saQ(0,a.xQ(!0,b,s,new A.ajq(p,d),q.a))}, +Rw(a,b,c,d,e,f){var s,r,q +this.Je(a,b,c) +s=this.x +r=s.a +q=this.y +A.aus(a,d,s.b.a8(0,r.gm(r)),q.gm(q),f)}, +l(){var s=this,r=s.w,q=s.gcf() +r.H(0,q) +r.c7(s.gpS()) +s.x.a.H(0,q) +s.y.H(0,q) +s.Q.saQ(0,null) +s.as.saQ(0,null) +s.dt()}, +hx(a){var s,r,q,p,o=this,n=!0 +if(a.r===o.r){s=a.w +r=o.w +if(J.e(s.gm(s),r.gm(r))){s=a.x +r=s.a +q=o.x +p=q.a +if(J.e(s.b.a8(0,r.gm(r)),q.b.a8(0,p.gm(p)))){n=a.y +s=o.y +s=!J.e(n.gm(n),s.gm(s)) +n=s}}}return n}} +A.ajq.prototype={ +$2(a,b){var s=this.a,r=s.Q +s=s.y +r.saQ(0,a.RP(b,B.c.a2(s.gm(s)*255),this.b,r.a))}, +$S:25} +A.D4.prototype={ +Bj(a){this.ae()}, +Rw(a,b,c,d,e,f){var s=this.w,r=s.a,q=this.x +A.aus(a,d,s.b.a8(0,r.gm(r)),q.gm(q),f)}, +t6(a,b,c,d){var s,r,q,p=this +if(!p.y.gfF())return d.$2(a,b) +s=p.z +r=p.w +q=r.a +A.av0(s,r.b.a8(0,q.gm(q)),c) +q=p.as +q.saQ(0,a.xQ(!0,b,s,new A.ajr(p,d),q.a))}, +hx(a){var s,r,q,p=!0 +if(a.r===this.r){s=a.x +r=this.x +if(J.e(s.gm(s),r.gm(r))){p=a.w +s=p.a +r=this.w +q=r.a +q=!J.e(p.b.a8(0,s.gm(s)),r.b.a8(0,q.gm(q))) +p=q}}return p}, +l(){var s,r=this +r.Q.saQ(0,null) +r.as.saQ(0,null) +s=r.gcf() +r.w.a.H(0,s) +r.x.H(0,s) +r.y.c7(r.gpS()) +r.dt()}} +A.ajr.prototype={ +$2(a,b){var s=this.a,r=s.Q +s=s.x +r.saQ(0,a.RP(b,B.c.a2(s.gm(s)*255),this.b,r.a))}, +$S:25} +A.Ps.prototype={} +A.Dj.prototype={ +l(){var s=this.m7$ +s.O$=$.aM() +s.S$=0 +this.aB()}} +A.Dk.prototype={ +l(){var s=this.m7$ +s.O$=$.aM() +s.S$=0 +this.aB()}} +A.y4.prototype={} +A.OT.prototype={ +av(a){var s=new A.QG(this.e,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.B=this.e}} +A.QG.prototype={ +bQ(a){var s=this.C$ +s=s==null?null:s.az(B.z,a,s.gbF()) +return s==null?B.C:s}, +d6(a,b){var s=this.C$ +return s==null?null:s.fb(a,b)}, +be(){var s,r=this,q=r.C$ +if(q==null)r.id=B.C +else{s=t.k +q.bV(s.a(A.G.prototype.gN.call(r)),!0) +r.id=s.a(A.G.prototype.gN.call(r)).b4(r.C$.gv(0)) +s=r.C$.b +s.toString +t.W.a(s).a=B.h}q=r.gv(0) +r.B.$1(q)}} +A.oc.prototype={ +ai(){var s=this.$ti +return new A.qT(s.h("@<1>").bg(s).h("qT<1,2>"))}} +A.qT.prototype={ +wU(){var s,r=this.c +r.toString +s=this.a.d +A.iO(r,!1).xL(s) +this.a.toString}, +K(a){var s,r,q,p,o,n,m=null +A.aa(a) +s=A.arX(a) +r=A.atG(a) +q=A.ay(t.EK) +this.a.toString +p=s.w +if(p==null)p=m +else{p=p.X(0,q) +p.toString}if(p==null){q=r.grK().X(0,q) +q.toString +o=q}else o=p +q=this.a +n=A.apw(A.d6(B.xQ,q.Q,m,new A.aq(0,1/0,48,1/0),m,m,m,B.BN,m),B.a0,o) +return new A.xk(A.cN(!0,m,A.lk(!1,m,!0,A.aCx(n,B.ak,m,o),m,!0,m,m,m,m,new A.Ny(m,s.y),m,m,m,m,this.gEe(),m,m,m,m),!1,!0,!1,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m),m)}} +A.tG.prototype={ +ai(){return new A.BE(B.EV,this.$ti.h("BE<1>"))}} +A.BE.prototype={ +an(){this.aJ() +this.Mm()}, +aG(a){var s,r +this.b0(a) +s=this.a +r=a.d.k2 +s=s.d.k2 +if(r!=s)this.Mm()}, +Mm(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this +for(s=g.d,r=s.length,q=0;q0){m.b=m.c=m.d=m.e=null +m.a=0}if(B.b.A(n.a,p.gnw()))o.m_()}k=A.b([],t.Ug) +g.a.toString +j=0 +while(!0){s=g.a +s.toString +if(!(j<2))break;++j +i=j*0.2857142857142857 +h=A.N(i+0.42857142857142855,0,1) +s=s.d.k2 +p=new A.n5(s,new A.dl(i,h,B.a4),null) +r=s.gaF(0) +if(!r.gfF())r=null +p.d=r +s.bm() +s=s.bL$ +s.b=!0 +s.a.push(p.gnw()) +k.push(p)}g.d=k}, +l(){var s,r,q,p,o,n,m,l +for(s=this.d,r=s.length,q=0;q0){m.b=m.c=m.d=m.e=null +m.a=0}if(B.b.A(n.a,p.gnw()))o.m_()}this.aB()}, +K(a){var s,r,q,p,o,n,m,l,k=this,j=null +k.a.toString +s=A.b([],t.D) +A.aa(a) +r=A.arX(a) +q=A.atG(a) +p=0 +while(!0){o=k.a +o.toString +if(!(p<2))break +n=k.d[p] +m=o.d.cF[p] +s.push(new A.OT(new A.ahf(k,p),new A.ni(n,m,o.c[p]),j));++p}l=r.c +if(l==null)l=q.grX() +o=A.cN(j,j,A.asx(new A.Hq(s,j),j,B.aj,l,j,B.aw),!1,j,!0,j,j,j,j,j,o.e,j,!0,j,j,j,j,j,!0,j,j,j,j,j,j) +l=k.a.d.k2 +l.toString +return A.pt(l,new A.ahg(k,new A.h3(B.CU),r,q,new A.h3(new A.dl(0,0.2857142857142857,B.a4)),new A.h3(new A.dl(0,0.5714285714285714,B.a4))),new A.h2(B.yn,new A.H5(56,o,j),j))}} +A.ahf.prototype={ +$1(a){this.a.a.d.cV[this.b]=a}, +$S:246} +A.ahg.prototype={ +$2(a,b){var s,r,q,p,o,n,m=this,l=null,k=m.b,j=m.a,i=j.a.d.k2 +i.toString +s=m.c +r=s.b +if(r==null){r=m.d +r=r.gbq(r)}q=j.a +p=q.d.jt +q=q.r +o=s.d +if(o==null){o=m.d.d +o.toString}n=s.e +if(n==null){n=m.d +n=n.gbU(n)}j.a.toString +s=s.f +if(s==null)s=m.d.gci() +return A.Zb(A.xa(B.a0,new A.fl(B.xP,m.e.a8(0,j.a.d.k2.gm(0)),m.f.a8(0,j.a.d.k2.gm(0)),b,l),q,p,o,l,n,r,s,l,B.iE),l,new A.b0(i,k,A.o(k).h("b0")))}, +$S:247} +A.ahc.prototype={ +tM(a){return A.Vq(new A.K(A.N(1/0,a.a,a.b),A.N(1/0,a.c,a.d))).wj(B.ln.a4(0,this.f))}, +tP(a,b){var s,r,q,p,o,n,m=this,l=m.b,k=l.b,j=l.a,i=l.c +if(j>i)s=a.a-i-b.a +else if(ji-8-r)s=i-j-8-r}j=l.b +if(ki-8-l)k=i-j-8-l}return new A.m(s,k)}, +a_0(a,b){var s,r,q,p,o,n,m,l,k,j=B.b.gI(a) +for(s=a.length,r=b.a,q=b.b,p=0;p"))),null),a,!0,!0,!0,!0)}, +l(){var s=this.DH +if(s!=null)s.l() +this.WM()}, +gOm(){return this.abh}} +A.ahe.prototype={ +$1(a){var s=this.a.ba,r=this.b,q=s[r] +if($.ai.ag$.x.k(0,q)!=null){s=s[r] +s=$.ai.ag$.x.k(0,s) +s.toString +A.asu(s,0,B.JC,B.ay,B.q)}}, +$S:6} +A.ahd.prototype={ +$1(a){var s,r,q=this,p=q.b,o=q.a.a,n=a.a7(t.I) +n.toString +s=q.c +r=A.aAN(s) +return new A.l4(new A.ahc(p.bM,p.cV,o,n.w,s.r,A.ew(r,r.$ti.h("j.E"))),new A.Mr(p.abl.a,q.d,null),null)}, +$S:248} +A.Ny.prototype={ +X(a,b){var s=A.ib(this.a,b,t.WV) +if(s==null)s=null +return s==null?B.ck.X(0,b):s}, +glT(){return"MaterialStateMouseCursor(PopupMenuItemState)"}} +A.aha.prototype={ +gLt(){var s,r=this,q=r.ax +if(q===$){s=A.aa(r.at) +r.ax!==$&&A.a0() +r.ax=s +q=s}return q}, +gve(){var s,r=this,q=r.ay +if(q===$){s=r.gLt() +r.ay!==$&&A.a0() +q=r.ay=s.ax}return q}, +grK(){return new A.bl(new A.ahb(this),t.Hw)}, +gab(a){var s=this.gve(),r=s.p4 +return r==null?s.k2:r}, +gbU(a){var s=this.gve().x1 +return s==null?B.o:s}, +gci(){return B.Q}, +gbq(a){return B.j0}, +grX(){return B.BM}} +A.ahb.prototype={ +$1(a){var s,r=this.a,q=r.ch +if(q===$){s=r.gLt() +r.ch!==$&&A.a0() +q=r.ch=s.p2}s=q.as +s.toString +if(a.p(0,B.D)){r=r.gve().k3.a +return s.O8(A.Z(97,r>>>16&255,r>>>8&255,r&255))}return s.O8(r.gve().k3)}, +$S:249} +A.qU.prototype={ +gt(a){var s=this +return A.P(s.gab(s),s.gbq(s),s.grX(),s.d,s.gbU(s),s.gci(),s.gi8(),s.grK(),s.x,s.y,s.z,s.Q,s.as,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.qU&&J.e(b.gab(b),s.gab(s))&&J.e(b.gbq(b),s.gbq(s))&&J.e(b.grX(),s.grX())&&b.d==s.d&&J.e(b.gbU(b),s.gbU(s))&&J.e(b.gci(),s.gci())&&J.e(b.gi8(),s.gi8())&&b.grK()==s.grK()&&J.e(b.Q,s.Q)&&b.as==s.as}, +gab(a){return this.a}, +gbq(a){return this.b}, +grX(){return this.c}, +gbU(a){return this.e}, +gci(){return this.f}, +gi8(){return this.r}, +grK(){return this.w}} +A.Q9.prototype={} +A.acu.prototype={ +F(){return"_ActivityIndicatorType."+this.b}} +A.J9.prototype={} +A.Mx.prototype={ +aE(a,b){var s,r,q,p,o,n,m=this,l=$.am(),k=l.b8() +k.sab(0,m.c) +s=m.x +k.sdK(s) +k.scp(0,B.Y) +r=s/2*-m.y +q=r*2 +p=b.a-q +q=b.b-q +o=m.b +if(o!=null){n=l.b8() +n.sab(0,o) +n.sdK(s) +n.scp(0,B.Y) +a.Dy(new A.D(r,r,r+p,r+q),0,6.282185307179586,!1,n)}k.syU(B.x_) +a.Dy(new A.D(r,r,r+p,r+q),m.z,m.Q,!1,k)}, +hx(a){var s=this,r=!0 +if(J.e(a.b,s.b))if(a.c.j(0,s.c))if(a.e===s.e)if(a.f===s.f)if(a.r===s.r)if(a.w===s.w)if(a.x===s.x)r=a.y!==s.y +return r}} +A.v3.prototype={ +ai(){return new A.My(null,null)}} +A.My.prototype={ +an(){var s,r=this +r.aJ() +s=A.cG(null,B.BA,null,null,r) +r.d=s +r.a.toString +s.Sc(0)}, +aG(a){var s,r +this.b0(a) +this.a.toString +s=this.d +s===$&&A.a() +r=s.r +r=!(r!=null&&r.a!=null) +if(r)s.Sc(0)}, +l(){var s=this.d +s===$&&A.a() +s.l() +this.XZ()}, +Zr(a,b,c,d,e){var s,r,q,p,o=null +A.aa(a) +this.a.toString +s=A.as6(a) +this.a.toString +r=new A.adL(a,o,o,o,o,o).gab(0) +q=A.as6(a).a +r=q==null?r:q +this.a.toString +q=c*3/2*3.141592653589793 +p=Math.max(b*3/2*3.141592653589793-q,0.001) +s=A.d6(o,A.l3(o,o,o,new A.Mx(s.d,r,o,b,c,d,e,4,0,-1.5707963267948966+q+e*3.141592653589793*2+d*0.5*3.141592653589793,p,o,o),B.C),o,B.yk,o,o,o,o,o) +return A.cN(o,o,s,!1,o,!1,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o)}, +Zp(){var s=this.d +s===$&&A.a() +return A.pt(s,new A.adM(this),null)}, +K(a){this.a.toString +switch(0){case 0:return this.Zp()}}} +A.adM.prototype={ +$2(a,b){var s=this.a,r=$.axz(),q=s.d +q===$&&A.a() +return s.Zr(a,r.a8(0,q.gm(0)),$.axA().a8(0,s.d.gm(0)),$.axx().a8(0,s.d.gm(0)),$.axy().a8(0,s.d.gm(0)))}, +$S:74} +A.adL.prototype={ +gLw(){var s,r=this,q=r.r +if(q===$){s=A.aa(r.f) +r.r!==$&&A.a0() +q=r.r=s.ax}return q}, +gab(a){return this.gLw().b}, +gw0(){var s=this.gLw(),r=s.Q +return r==null?s.y:r}} +A.D8.prototype={ +l(){var s=this,r=s.dU$ +if(r!=null)r.H(0,s.gnx()) +s.dU$=null +s.aB()}, +bI(){this.dL() +this.d3() +this.ny()}} +A.qX.prototype={ +gt(a){var s=this +return A.P(s.gab(s),s.b,s.c,s.gw0(),s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.qX&&J.e(b.gab(b),s.gab(s))&&J.e(b.b,s.b)&&b.c==s.c&&J.e(b.gw0(),s.gw0())&&J.e(b.e,s.e)}, +gab(a){return this.a}, +gw0(){return this.d}} +A.Qb.prototype={} +A.ahm.prototype={ +F(){return"_RadioType."+this.b}} +A.qY.prototype={ +ai(){return new A.tH(new A.Qf($.aM()),$,$,$,$,$,$,$,$,B.aT,$,null,!1,!1,null,null,this.$ti.h("tH<1>"))}} +A.tH.prototype={ +a1E(a){var s +if(a==null){this.a.e.$1(null) +return}if(a){s=this.a +s.e.$1(s.c)}}, +aG(a){var s,r,q=this +q.b0(a) +s=q.a +if(s.c===s.d!==(a.c===a.d)){q.gSF() +s=q.gm(0) +r=q.DN$ +if(s){r===$&&A.a() +r.bY(0)}else{r===$&&A.a() +r.dd(0)}}}, +l(){this.d.l() +this.Y6()}, +gfJ(){this.a.toString +return this.ga1D()}, +gSF(){this.a.toString +return!1}, +gm(a){var s=this.a +return s.c===s.d}, +gNO(){return new A.bl(new A.ahk(this),t.b)}, +K(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=this,a4=null +a3.a.toString +switch(0){case 0:break}a5.a7(t._R) +s=A.aa(a5).ag +A.aa(a5) +r=new A.ahh(a5,a4,a4,a4,a4,a4,a4) +a3.a.toString +q=r.grS() +a3.a.toString +p=r.ge_() +switch(q.a){case 0:o=B.Lr +break +case 1:o=B.wW +break +default:o=a4}n=o.a4(0,new A.m(p.a,p.b).ac(0,4)) +m=a3.gj5() +m.D(0,B.N) +l=a3.gj5() +l.A(0,B.N) +a3.a.toString +k=a3.gNO().a.$1(m) +if(k==null){o=s.b +k=o==null?a4:o.X(0,m)}o=k==null +if(o){j=r.goa().a.$1(m) +j.toString +i=j}else i=k +a3.a.toString +h=a3.gNO().a.$1(l) +if(h==null){j=s.b +h=j==null?a4:j.X(0,l)}j=h==null +if(j){g=r.goa().a.$1(l) +g.toString +f=g}else f=h +e=a3.gj5() +e.D(0,B.R) +a3.a.toString +g=s.c +d=g==null?a4:g.X(0,e) +c=d +if(c==null){d=r.gcn().a.$1(e) +d.toString +c=d}b=a3.gj5() +b.D(0,B.K) +a3.a.toString +d=g==null?a4:g.X(0,b) +a=d +if(a==null){d=r.gcn().a.$1(b) +d.toString +a=d}m.D(0,B.I) +a3.a.toString +d=g==null?a4:g.X(0,m) +if(d==null){o=o?a4:A.Z(31,k.gm(k)>>>16&255,k.gm(k)>>>8&255,k.gm(k)&255) +a0=o}else a0=d +if(a0==null){o=r.gcn().a.$1(m) +o.toString +a0=o}l.D(0,B.I) +a3.a.toString +o=g==null?a4:g.X(0,l) +if(o==null){o=j?a4:A.Z(31,h.gm(h)>>>16&255,h.gm(h)>>>8&255,h.gm(h)&255) +a1=o}else a1=o +if(a1==null){o=r.gcn().a.$1(l) +o.toString +a1=o}if(a3.rd$!=null){a=a3.gj5().p(0,B.N)?a0:a1 +c=a3.gj5().p(0,B.N)?a0:a1}a2=a4 +switch(A.el().a){case 0:case 1:case 3:case 5:break +case 2:case 4:o=a3.a +a2=o.c===o.d +break}o=a3.a +j=o.c +o=o.d +g=a3.d +d=a3.DO$ +d===$&&A.a() +g.sbN(0,d) +d=a3.DP$ +d===$&&A.a() +g.saf_(d) +d=a3.DS$ +d===$&&A.a() +g.saf1(d) +d=a3.DQ$ +d===$&&A.a() +g.saf2(d) +g.sacU(a1) +g.saf0(a0) +g.smd(a) +g.sm9(c) +a3.a.toString +d=s.d +g.sUA(d==null?20:d) +g.saaR(a3.rd$) +g.sadx(a3.gj5().p(0,B.R)) +g.sady(a3.gj5().p(0,B.K)) +g.sa8n(i) +g.sacT(f) +return A.cN(a4,j===o,a3.a8Y(!1,a4,new A.bl(new A.ahl(a3,s),t.tR),g,n),!1,a4,!1,a4,a4,a4,a4,!0,a4,a4,a4,a4,a4,a4,a4,a4,a4,a2,a4,a4,a4,a4,a4)}} +A.ahk.prototype={ +$1(a){if(a.p(0,B.D))return null +if(a.p(0,B.N))return this.a.a.w +return null}, +$S:45} +A.ahl.prototype={ +$1(a){var s +this.a.a.toString +s=A.ib(null,a,t.WV) +if(s==null)s=null +return s==null?A.ib(B.ck,a,t.Pb):s}, +$S:251} +A.Qf.prototype={ +aE(a,b){var s,r,q,p,o,n,m=this,l=b.hH(B.h) +if(m.b.gaF(0)!==B.y||m.c.gaF(0)!==B.y||m.d.gaF(0)!==B.y){s=$.am().b8() +r=m.r +r.toString +q=m.w +q.toString +q=A.q(r,q,m.a.gm(0)) +r=m.x +r.toString +r=A.q(q,r,m.d.gm(0)) +q=m.y +q.toString +q=A.q(r,q,m.c.gm(0)) +q.toString +s.sab(0,q) +q=m.z +q.toString +r=m.as +r.toString +if(!r){r=m.at +r.toString}else r=!0 +if(r)p=q +else p=new A.aR(0,q,t.H7).a8(0,m.b.gm(0)) +if(p>0)a.dS(l.a4(0,B.h),p,s)}o=new A.D(0,0,0+b.a,0+b.b).gaR() +n=$.am().b8() +l=m.f +l.toString +r=m.e +r.toString +r=A.q(l,r,m.a.gm(0)) +r.toString +n.sab(0,r) +n.scp(0,B.Y) +n.sdK(2) +a.dS(o,8,n) +if(m.a.gaF(0)!==B.y){n.scp(0,B.aN) +a.dS(o,4.5*m.a.gm(0),n)}}} +A.ahh.prototype={ +gBp(){var s,r=this,q=r.w +if(q===$){s=A.aa(r.r) +r.w!==$&&A.a0() +r.w=s +q=s}return q}, +ge6(){var s,r=this,q=r.x +if(q===$){s=r.gBp() +r.x!==$&&A.a0() +q=r.x=s.ax}return q}, +goa(){return new A.bl(new A.ahi(this),t.mN)}, +gcn(){return new A.bl(new A.ahj(this),t.mN)}, +grS(){return this.gBp().f}, +ge_(){return this.gBp().Q}} +A.ahi.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.N)){if(a.p(0,B.D)){s=q.a.ge6().k3.a +return A.Z(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.I))return q.a.ge6().b +if(a.p(0,B.K))return q.a.ge6().b +if(a.p(0,B.R))return q.a.ge6().b +return q.a.ge6().b}if(a.p(0,B.D)){s=q.a.ge6().k3.a +return A.Z(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.I))return q.a.ge6().k3 +if(a.p(0,B.K))return q.a.ge6().k3 +if(a.p(0,B.R))return q.a.ge6().k3 +s=q.a.ge6() +r=s.rx +return r==null?s.k3:r}, +$S:8} +A.ahj.prototype={ +$1(a){var s,r=this +if(a.p(0,B.N)){if(a.p(0,B.I)){s=r.a.ge6().k3.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.K)){s=r.a.ge6().b +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=r.a.ge6().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}return B.Q}if(a.p(0,B.I)){s=r.a.ge6().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=r.a.ge6().k3.a +return A.Z(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.R)){s=r.a.ge6().k3.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}return B.Q}, +$S:8} +A.u0.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.u1.prototype={ +an(){var s,r,q=this,p=null +q.aJ() +s=q.a +r=A.cG(p,B.a0,p,s.c!==s.d?0:1,q) +q.DN$=r +q.DO$=A.cZ(B.d7,r,B.AZ) +r=A.cG(p,q.abk$,p,p,q) +q.wF$=r +q.DP$=A.cZ(B.aE,r,p) +s=A.cG(p,B.hR,p,q.rf$||q.re$?1:0,q) +q.DR$=s +q.DQ$=A.cZ(B.aE,s,p) +s=A.cG(p,B.hR,p,q.rf$||q.re$?1:0,q) +q.DT$=s +q.DS$=A.cZ(B.aE,s,p)}, +l(){var s=this,r=s.DN$ +r===$&&A.a() +r.l() +r=s.DO$ +r===$&&A.a() +r.l() +r=s.wF$ +r===$&&A.a() +r.l() +r=s.DP$ +r===$&&A.a() +r.l() +r=s.DR$ +r===$&&A.a() +r.l() +r=s.DQ$ +r===$&&A.a() +r.l() +r=s.DT$ +r===$&&A.a() +r.l() +r=s.DS$ +r===$&&A.a() +r.l() +s.Y5()}} +A.qZ.prototype={ +gt(a){var s=this +return A.P(s.a,s.goa(),s.gcn(),s.d,s.grS(),s.ge_(),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.qZ&&b.goa()==s.goa()&&b.gcn()==s.gcn()&&b.d==s.d&&b.grS()==s.grS()&&J.e(b.ge_(),s.ge_())}, +goa(){return this.b}, +gcn(){return this.c}, +grS(){return this.e}, +ge_(){return this.f}} +A.Qg.prototype={} +A.fh.prototype={ +F(){return"_ScaffoldSlot."+this.b}} +A.yQ.prototype={ +ai(){var s=null +return new A.yR(A.jK(t.Np),A.lw(s,t.nY),A.lw(s,t.BL),s,s)}} +A.yR.prototype={ +bi(){var s,r,q=this,p=q.c +p.toString +s=A.bY(p,B.jQ,t.w).w.z +p=q.y +r=!1 +if(p===!0)if(!s){p=q.x +p=p!=null&&p.b==null}else p=r +else p=r +if(p)q.Ep(B.wY) +q.y=s +q.d_()}, +C2(){var s,r,q,p,o,n +for(s=this.d,r=A.dr(s,s.r,A.o(s).c),q=t.Np,p=r.$ti.c;r.q();){o=r.d +if(o==null)o=p.a(o) +n=o.c.rj(q) +if(n==null||!s.p(0,n)){o.ND() +o.Np()}}}, +a3U(a){var s=a.c.rj(t.Np) +return s==null||!this.d.p(0,s)}, +k_(a){var s,r,q,p,o=this,n=o.w +if(n==null){n=A.cG("SnackBar",B.lh,null,null,o) +n.bm() +r=n.bL$ +r.b=!0 +r.a.push(o.ga34()) +o.w=n}r=o.r +if(r.b===r.c)n.bY(0) +s=A.bk("controller") +n=o.w +n.toString +r=new A.rN() +q=a.a +r=q==null?r:q +s.b=new A.yP(A.oE(a.Q,a.as,n,a.d,a.z,a.cy,a.ax,a.c,a.cx,a.ay,a.e,a.y,r,a.f,a.CW,a.r,a.x,a.at,a.w),new A.b1(new A.a8($.ae,t.dH),t.fO),new A.a8w(o),t.BL) +try{o.ah(new A.a8x(o,s)) +o.C2()}catch(p){throw p}return s.aP()}, +a35(a){var s=this +switch(a.a){case 0:s.ah(new A.a8s(s)) +s.C2() +if(!s.r.gM(0))s.w.bY(0) +break +case 3:s.ah(new A.a8t()) +s.C2() +break +case 1:case 2:break}}, +S5(a){var s,r=this,q=r.r +if(q.b===q.c)return +s=q.gI(0).b +if((s.a.a&30)===0)s.cA(0,a) +q=r.x +if(q!=null)q.aA(0) +r.x=null +r.w.sm(0,0)}, +Ep(a){var s,r,q=this,p=q.r +if(p.b===p.c||q.w.gaF(0)===B.y)return +s=p.gI(0).b +p=q.y +p.toString +r=q.w +if(p){r.sm(0,0) +s.cA(0,a)}else r.dd(0).b_(0,new A.a8v(s,a),t.H) +p=q.x +if(p!=null)p.aA(0) +q.x=null}, +acI(){return this.Ep(B.LD)}, +K(a){var s,r,q,p=this +p.y=A.bY(a,B.jQ,t.w).w.z +s=p.r +if(!s.gM(0)){r=A.HS(a,t.X) +if(r==null||r.gjz())if(p.w.gaF(0)===B.X&&p.x==null){q=s.gI(0).a +p.x=A.c7(q.ay,new A.a8u(p,q,a))}}return new A.C4(p,p.a.c,null)}, +l(){var s=this,r=s.w +if(r!=null)r.l() +r=s.x +if(r!=null)r.aA(0) +s.x=null +s.Xz()}} +A.a8w.prototype={ +$0(){this.a.acI()}, +$S:0} +A.a8x.prototype={ +$0(){this.a.r.dM(0,this.b.aP())}, +$S:0} +A.a8s.prototype={ +$0(){this.a.r.oC()}, +$S:0} +A.a8t.prototype={ +$0(){}, +$S:0} +A.a8v.prototype={ +$1(a){var s=this.a +if((s.a.a&30)===0)s.cA(0,this.b)}, +$S:21} +A.a8u.prototype={ +$0(){this.a.Ep(B.wY)}, +$S:0} +A.C4.prototype={ +bT(a){return this.f!==a.f}} +A.a8y.prototype={} +A.JW.prototype={ +a9Y(a,b){var s=a==null?this.a:a +return new A.JW(s,b==null?this.b:b)}} +A.R8.prototype={ +NF(a,b,c){var s=this +s.b=c==null?s.b:c +s.c=s.c.a9Y(a,b) +s.ae()}, +NE(a){return this.NF(null,null,a)}, +a83(a,b){return this.NF(a,b,null)}} +A.Ai.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(!s.US(0,b))return!1 +return b instanceof A.Ai&&b.r===s.r&&b.e===s.e&&b.f===s.f}, +gt(a){var s=this +return A.P(A.aq.prototype.gt.call(s,0),s.r,s.e,s.f,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Mh.prototype={ +K(a){return this.c}} +A.ai7.prototype={ +xH(a7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=this,a3=A.Vq(a7),a4=a7.a,a5=a3.afL(a4),a6=a7.b +if(a2.b.k(0,B.fS)!=null){s=a2.d9(B.fS,a5).b +a2.eJ(B.fS,B.h) +r=s}else{r=0 +s=0}if(a2.b.k(0,B.fX)!=null){q=0+a2.d9(B.fX,a5).b +p=Math.max(0,a6-q) +a2.eJ(B.fX,new A.m(0,p))}else{q=0 +p=null}if(a2.b.k(0,B.jY)!=null){q+=a2.d9(B.jY,new A.aq(0,a5.b,0,Math.max(0,a6-q-r))).b +a2.eJ(B.jY,new A.m(0,Math.max(0,a6-q)))}if(a2.b.k(0,B.fW)!=null){o=a2.d9(B.fW,a5) +a2.eJ(B.fW,new A.m(0,s)) +if(!a2.ay)r+=o.b}else o=B.C +n=a2.f +m=Math.max(0,a6-Math.max(n.d,q)) +if(a2.b.k(0,B.fR)!=null){l=Math.max(0,m-r) +k=a2.d +if(k)l=A.N(l+q,0,a3.d-r) +k=k?q:0 +a2.d9(B.fR,new A.Ai(k,s,o.b,0,a5.b,0,l)) +a2.eJ(B.fR,new A.m(0,r))}if(a2.b.k(0,B.fU)!=null){a2.d9(B.fU,new A.aq(0,a5.b,0,m)) +a2.eJ(B.fU,B.h)}j=a2.b.k(0,B.cQ)!=null&&!a2.at?a2.d9(B.cQ,a5):B.C +if(a2.b.k(0,B.fV)!=null){i=a2.d9(B.fV,new A.aq(0,a5.b,0,Math.max(0,m-r))) +a2.eJ(B.fV,new A.m((a4-i.a)/2,m-i.b))}else i=B.C +h=A.bk("floatingActionButtonRect") +if(a2.b.k(0,B.fY)!=null){g=a2.d9(B.fY,a3) +f=new A.a8y(g,i,m,s,n,a2.r,a7,j,a2.w) +e=a2.z.Gf(f) +d=a2.as.Ts(a2.y.Gf(f),e,a2.Q) +a2.eJ(B.fY,d) +k=d.a +c=d.b +h.b=new A.D(k,c,k+g.a,c+g.b)}if(a2.b.k(0,B.cQ)!=null){k=a2.ax +b=k!=null&&k") +m=t.G +l=t.Q +k=t.i +j=A.atk(new A.fO(new A.b0(r,new A.h3(new A.q6(B.lz)),n),new A.bh(A.b([],m),l),0),new A.b0(r,new A.h3(B.lz),n),r,0.5,k) +r=f.a.d +i=$.axH() +o.a(r) +h=$.axI() +g=A.atk(new A.b0(r,i,i.$ti.h("b0")),new A.fO(new A.b0(r,h,A.o(h).h("b0")),new A.bh(A.b([],m),l),0),r,0.5,k) +f.a.toString +r=f.e +r.toString +f.w=A.apx(j,r,k) +r=f.r +r.toString +f.y=A.apx(j,r,k) +f.x=A.anq(new A.b0(d,new A.aR(1,1,s),s.h("b0")),g,e) +f.Q=A.anq(new A.b0(q,p,p.$ti.h("b0")),g,e) +d=f.y +f.z=new A.b0(o.a(d),new A.h3(B.CR),n) +n=f.ga4R() +d.bm() +d=d.cb$ +d.b=!0 +d.a.push(n) +d=f.w +d.bm() +d=d.cb$ +d.b=!0 +d.a.push(n)}, +a2Q(a){this.ah(new A.aeO(this,a))}, +K(a){var s,r,q=this,p=A.b([],t.D),o=q.d +o===$&&A.a() +if(o.gaF(0)!==B.y){o=q.w +s=q.as +o===$&&A.a() +r=q.x +r===$&&A.a() +p.push(A.asq(A.asn(s,r),o))}o=q.a +s=q.y +o=o.c +s===$&&A.a() +r=q.Q +r===$&&A.a() +p.push(A.asq(A.asn(o,r),s)) +return A.oF(B.k3,p,B.c7)}, +a4S(){var s,r=this.w +r===$&&A.a() +r=r.gm(r) +s=this.y +s===$&&A.a() +s=s.gm(s) +s=Math.max(A.fV(r),A.fV(s)) +this.a.f.NE(s)}} +A.aeO.prototype={ +$0(){var s=this.a.a +if(s.c!=null&&this.b===B.y)s.r.bY(0)}, +$S:0} +A.yO.prototype={ +ai(){var s=null,r=t.jk,q=t.A,p=$.aM() +return new A.rf(new A.bv(s,r),new A.bv(s,r),new A.bv(s,q),new A.yF(!1,p),new A.yF(!1,p),A.b([],t.Z4),new A.bv(s,q),B.o,s,A.E(t.yb,t.M),s,!0,s,s,s)}} +A.rf.prototype={ +gdc(){this.a.toString +return null}, +jL(a,b){var s=this +s.oA(s.w,"drawer_open") +s.oA(s.x,"end_drawer_open")}, +ND(){var s=this,r=!s.y.r.gM(0)?s.y.r.gI(0):null +if(s.z!=r)s.ah(new A.a8A(s,r))}, +Np(){var s=this,r=!s.y.e.gM(0)?s.y.e.gI(0):null +if(s.Q!=r)s.ah(new A.a8z(s,r))}, +a4f(){this.a.toString}, +a38(){var s,r=this.c +r.toString +s=A.J6(r) +if(s!=null&&s.f.length!==0)s.is(0,B.B2,B.ez)}, +glC(){this.a.toString +return!0}, +an(){var s,r=this,q=null +r.aJ() +s=r.c +s.toString +r.dx=new A.R8(s,B.Ju,$.aM()) +r.a.toString +r.cy=B.hq +r.CW=B.zD +r.cx=B.hq +r.ch=A.cG(q,new A.aP(4e5),q,1,r) +r.db=A.cG(q,B.a0,q,q,r)}, +aG(a){this.XC(a) +this.a.toString}, +bi(){var s,r=this,q=r.c.a7(t.Pu),p=q==null?null:q.f,o=r.y,n=o==null +if(!n)s=p==null||o!==p +else s=!1 +if(s)if(!n)o.d.A(0,r) +r.y=p +if(p!=null){p.d.D(0,r) +if(p.a3U(r)){if(!p.r.gM(0))r.ND() +if(!p.e.gM(0))r.Np()}}r.a4f() +r.XB()}, +l(){var s=this,r=s.dx +r===$&&A.a() +r.O$=$.aM() +r.S$=0 +r=s.ch +r===$&&A.a() +r.l() +r=s.db +r===$&&A.a() +r.l() +r=s.y +if(r!=null)r.d.A(0,s) +s.w.l() +s.x.l() +s.XD()}, +zm(a,b,c,d,e,f,g,h,i){var s,r=this.c +r.toString +s=A.bY(r,null,t.w).w.S7(f,g,h,i) +if(e)s=s.afj(!0) +if(d&&s.f.d!==0)s=s.CV(s.r.CS(s.w.d)) +if(b!=null)a.push(A.a1z(A.xh(b,s),c))}, +YV(a,b,c,d,e,f,g,h){return this.zm(a,b,c,!1,d,e,f,g,h)}, +pj(a,b,c,d,e,f,g){return this.zm(a,b,c,!1,!1,d,e,f,g)}, +zl(a,b,c,d,e,f,g,h){return this.zm(a,b,c,d,!1,e,f,g,h)}, +Ih(a,b){this.a.toString}, +Ig(a,b){this.a.toString}, +K(a){var s,r,q,p,o,n,m,l,k,j=this,i=null,h={},g=A.aa(a),f=a.a7(t.I) +f.toString +s=f.w +r=A.b([],t.s9) +f=j.a +q=f.f +p=f.e +f=f.CW +j.glC() +j.YV(r,new A.Mh(new A.iI(q,j.f),!1,!1,i),B.fR,!0,f!=null,!1,!1,p!=null) +if(j.dy)j.pj(r,A.arx(!0,i,j.fr,!1,i,i,i),B.fU,!0,!0,!0,!0) +if(j.a.e!=null){f=A.bY(a,B.bH,t.w).w +f=j.r=A.azA(a,j.a.e.fx)+f.r.b +q=j.a.e +q.toString +j.pj(r,new A.h2(new A.aq(0,1/0,0,f),new A.wh(1,f,f,f,i,i,q,i),i),B.fS,!0,!1,!1,!1)}h.a=!1 +h.b=null +if(j.at!=null||j.as.length!==0){f=A.a7(j.as,!0,t.l7) +q=j.at +if(q!=null)f.push(q.a) +o=A.oF(B.xR,f,B.c7) +j.glC() +j.pj(r,o,B.fV,!0,!1,!1,!0)}f=j.z +if(f!=null){h.a=!1 +h.b=g.iB.w +f=f.a +q=j.a.CW +j.glC() +j.zl(r,f,B.cQ,!1,q!=null,!1,!1,!0)}h.c=!1 +if(j.Q!=null){a.a7(t.iB) +f=A.aa(a) +q=j.Q +if(q!=null){q=q.a +q.gcv(q)}n=f.rx.f +h.c=(n==null?0:n)!==0 +f=j.Q +f=f==null?i:f.a +q=j.a.e +j.glC() +j.zl(r,f,B.fW,!1,!0,!1,!1,q!=null)}f=j.a +f=f.CW +if(f!=null){j.glC() +j.zl(r,f,B.fX,!1,!1,!1,!1,!0)}f=j.ch +f===$&&A.a() +q=j.CW +q===$&&A.a() +p=j.dx +p===$&&A.a() +m=j.db +m===$&&A.a() +j.pj(r,new A.AN(j.a.r,f,q,p,m,i),B.fY,!0,!0,!0,!0) +switch(g.w.a){case 2:case 4:j.pj(r,A.qg(B.ae,i,B.aj,!0,i,i,i,i,i,i,i,i,i,i,i,i,i,i,j.ga37(),i,i,i,i,i,i),B.fT,!0,!1,!1,!0) +break +case 0:case 1:case 3:case 5:break}f=j.x +q=f.y +if(q==null?A.o(f).h("bJ.T").a(q):q){j.Ig(r,s) +j.Ih(r,s)}else{j.Ih(r,s) +j.Ig(r,s)}f=t.w +q=A.bY(a,B.bH,f).w +j.glC() +p=A.bY(a,B.jS,f).w +l=q.r.CS(p.f.d) +q=A.bY(a,B.T4,f).w +j.glC() +f=A.bY(a,B.jS,f).w +f=f.f.d!==0?0:i +k=q.w.CS(f) +if(l.d<=0)j.a.toString +j.a.toString +return new A.R9(!1,new A.yX(A.xa(B.a0,A.pt(j.ch,new A.a8B(h,j,!1,l,k,s,r),i),B.A,g.go,0,i,i,i,i,i,B.cr),i),i)}} +A.a8A.prototype={ +$0(){this.a.z=this.b}, +$S:0} +A.a8z.prototype={ +$0(){this.a.Q=this.b}, +$S:0} +A.a8B.prototype={ +$2(a,b){var s,r,q,p,o,n,m,l=this,k=A.an([B.xm,new A.Ni(a,new A.bh(A.b([],t.ot),t.wS))],t.u,t.od),j=l.b +j.a.toString +s=j.cy +s.toString +r=j.ch +r===$&&A.a() +r=r.x +r===$&&A.a() +q=j.CW +q===$&&A.a() +p=j.dx +p===$&&A.a() +j=j.cx +j.toString +o=l.a +n=o.a +m=o.c +return A.E4(k,new A.vq(new A.ai7(l.c,!1,l.d,l.e,l.f,p,j,s,r,q,n,o.b,m),l.r,null))}, +$S:252} +A.Ni.prototype={ +jA(a,b){var s=this.e,r=A.yS(s).w,q=r.y +if(!(q==null?A.o(r).h("bJ.T").a(q):q)){s=A.yS(s).x +r=s.y +s=r==null?A.o(s).h("bJ.T").a(r):r}else s=!0 +return s}, +eG(a){var s=this.e +A.yS(s).a.toString +A.yS(s).a.toString}} +A.yP.prototype={} +A.R9.prototype={ +bT(a){return this.f!==a.f}} +A.ai8.prototype={ +$2(a,b){if(!a.a)a.H(0,b)}, +$S:52} +A.C5.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.C6.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.C7.prototype={ +aG(a){this.b0(a) +this.qX()}, +bi(){var s,r,q,p,o=this +o.d_() +s=o.bC$ +r=o.goI() +q=o.c +q.toString +q=A.r8(q) +o.he$=q +p=o.nv(q,r) +if(r){o.jL(s,o.eD$) +o.eD$=!1}if(p)if(s!=null)s.l()}, +l(){var s,r=this +r.hd$.W(0,new A.ai8()) +s=r.bC$ +if(s!=null)s.l() +r.bC$=null +r.XA()}} +A.Db.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.Ke.prototype={ +K(a){var s=this,r=null +if(A.aa(a).w===B.at)return new A.pU(8,B.dQ,s.c,s.d,!1,B.Jb,3,r,B.lh,B.Bv,A.DC(),r,r,r) +return new A.tw(s.c,s.d,r,r,r,r,B.bb,B.d9,A.DC(),r,r,r)}} +A.tw.prototype={ +ai(){var s=null +return new A.OP(new A.bv(s,t.A),new A.bv(s,t.LZ),s,s)}} +A.OP.prototype={ +gmU(){var s=this.a.e +if(s==null){s=this.id +s===$&&A.a() +s=s.a +s=s==null?null:s.X(0,this.gq2())}return s==null?!1:s}, +gm0(){this.a.toString +var s=this.id +s===$&&A.a() +s=s.d +if(s==null){s=this.k1 +s===$&&A.a() +s=!s}return s}, +gvw(){return new A.bl(new A.agp(this),t.Dm)}, +gq2(){var s=A.ay(t.EK) +if(this.fx)s.D(0,B.xt) +if(this.fy)s.D(0,B.K) +return s}, +ga7l(){var s,r,q,p,o,n,m,l=this,k=l.go +k===$&&A.a() +s=k.k3 +r=A.bk("dragColor") +q=A.bk("hoverColor") +p=A.bk("idleColor") +switch(k.a.a){case 1:k=s.a +o=k>>>16&255 +n=k>>>8&255 +k&=255 +r.b=A.Z(153,o,n,k) +q.b=A.Z(B.c.a2(127.5),o,n,k) +m=l.k1 +m===$&&A.a() +if(m){k=l.c +k.toString +k=A.aa(k).cy.a +k=A.Z(255,k>>>16&255,k>>>8&255,k&255)}else k=A.Z(B.c.a2(25.5),o,n,k) +p.b=k +break +case 0:k=s.a +o=k>>>16&255 +n=k>>>8&255 +k&=255 +r.b=A.Z(191,o,n,k) +q.b=A.Z(166,o,n,k) +m=l.k1 +m===$&&A.a() +if(m){k=l.c +k.toString +k=A.aa(k).cy.a +k=A.Z(255,k>>>16&255,k>>>8&255,k&255)}else k=A.Z(B.c.a2(76.5),o,n,k) +p.b=k +break}return new A.bl(new A.agm(l,r,q,p),t.mN)}, +ga7t(){var s=this.go +s===$&&A.a() +return new A.bl(new A.ago(this,s.a,s.k3),t.mN)}, +ga7s(){var s=this.go +s===$&&A.a() +return new A.bl(new A.agn(this,s.a,s.k3),t.mN)}, +ga7k(){return new A.bl(new A.agl(this),t.N5)}, +an(){var s,r=this +r.Hr() +s=r.fr=A.cG(null,B.a0,null,null,r) +s.bm() +s=s.cb$ +s.b=!0 +s.a.push(new A.agv(r))}, +bi(){var s,r=this,q=r.c +q.toString +s=A.aa(q) +r.go=s.ax +q=r.c +q.a7(t.NF) +q=A.aa(q) +r.id=q.x +switch(s.w.a){case 0:r.k1=!0 +break +case 2:case 3:case 1:case 4:case 5:r.k1=!1 +break}r.VO()}, +tB(){var s,r=this,q=r.CW +q===$&&A.a() +q.sab(0,r.ga7l().a.$1(r.gq2())) +q.sSC(r.ga7t().a.$1(r.gq2())) +q.sSB(r.ga7s().a.$1(r.gq2())) +s=r.c.a7(t.I) +s.toString +q.sbS(s.w) +q.sFK(r.ga7k().a.$1(r.gq2())) +s=r.a.r +if(s==null){s=r.id +s===$&&A.a() +s=s.e}if(s==null){s=r.k1 +s===$&&A.a() +s=s?null:B.Ja}q.std(s) +s=r.id +s===$&&A.a() +s=s.x +if(s==null){s=r.k1 +s===$&&A.a() +s=s?0:2}q.sD5(s) +s=r.id.y +q.sEP(s==null?0:s) +s=r.id.z +q.sEV(0,s==null?48:s) +s=r.c +s.toString +q.sc6(0,A.bY(s,B.bH,t.w).w.r) +q.syD(r.a.db) +q.sQA(!r.gm0())}, +wX(a){this.Hq(a) +this.ah(new A.agu(this))}, +wW(a,b){this.Hp(a,b) +this.ah(new A.agt(this))}, +E6(a){var s,r=this +r.VP(a) +if(r.QR(a.gbN(a),a.gcm(a),!0)){r.ah(new A.agr(r)) +s=r.fr +s===$&&A.a() +s.bY(0)}else if(r.fy){r.ah(new A.ags(r)) +s=r.fr +s===$&&A.a() +s.dd(0)}}, +E7(a){var s,r=this +r.VQ(a) +r.ah(new A.agq(r)) +s=r.fr +s===$&&A.a() +s.dd(0)}, +l(){var s=this.fr +s===$&&A.a() +s.l() +this.Ho()}} +A.agp.prototype={ +$1(a){var s=this.a,r=s.a.Q +s=s.id +s===$&&A.a() +s=s.c +s=s==null?null:s.X(0,a) +return s==null?!1:s}, +$S:254} +A.agm.prototype={ +$1(a){var s,r,q,p=this,o=null +if(a.p(0,B.xt)){s=p.a.id +s===$&&A.a() +s=s.f +s=s==null?o:s.X(0,a) +return s==null?p.b.aP():s}s=p.a +if(s.gvw().a.$1(a)){s=s.id +s===$&&A.a() +s=s.f +s=s==null?o:s.X(0,a) +return s==null?p.c.aP():s}r=s.id +r===$&&A.a() +r=r.f +r=r==null?o:r.X(0,a) +if(r==null)r=p.d.aP() +q=s.id.f +q=q==null?o:q.X(0,a) +if(q==null)q=p.c.aP() +s=s.fr +s===$&&A.a() +s=s.x +s===$&&A.a() +s=A.q(r,q,s) +s.toString +return s}, +$S:8} +A.ago.prototype={ +$1(a){var s=this,r=s.a +if(r.gmU()&&r.gvw().a.$1(a)){r=r.id +r===$&&A.a() +r=r.r +r=r==null?null:r.X(0,a) +if(r==null)switch(s.b.a){case 1:r=s.c.a +r=A.Z(8,r>>>16&255,r>>>8&255,r&255) +break +case 0:r=s.c.a +r=A.Z(13,r>>>16&255,r>>>8&255,r&255) +break +default:r=null}return r}return B.Q}, +$S:8} +A.agn.prototype={ +$1(a){var s=this,r=s.a +if(r.gmU()&&r.gvw().a.$1(a)){r=r.id +r===$&&A.a() +r=r.w +r=r==null?null:r.X(0,a) +if(r==null)switch(s.b.a){case 1:r=s.c.a +r=A.Z(B.c.a2(25.5),r>>>16&255,r>>>8&255,r&255) +break +case 0:r=s.c.a +r=A.Z(64,r>>>16&255,r>>>8&255,r&255) +break +default:r=null}return r}return B.Q}, +$S:8} +A.agl.prototype={ +$1(a){var s,r +if(a.p(0,B.K)&&this.a.gvw().a.$1(a)){s=this.a +r=s.a.w +if(r==null){s=s.id +s===$&&A.a() +s=s.b +s=s==null?null:s.X(0,a)}else s=r +return s==null?12:s}s=this.a +r=s.a.w +if(r==null){r=s.id +r===$&&A.a() +r=r.b +r=r==null?null:r.X(0,a)}if(r==null){s=s.k1 +s===$&&A.a() +r=8/(s?2:1) +s=r}else s=r +return s}, +$S:97} +A.agv.prototype={ +$0(){this.a.tB()}, +$S:0} +A.agu.prototype={ +$0(){this.a.fx=!0}, +$S:0} +A.agt.prototype={ +$0(){this.a.fx=!1}, +$S:0} +A.agr.prototype={ +$0(){this.a.fy=!0}, +$S:0} +A.ags.prototype={ +$0(){this.a.fy=!1}, +$S:0} +A.agq.prototype={ +$0(){this.a.fy=!1}, +$S:0} +A.z2.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.z2&&b.a==s.a&&b.b==s.b&&b.c==s.c&&b.d==s.d&&J.e(b.e,s.e)&&b.f==s.f&&b.r==s.r&&b.w==s.w&&b.x==s.x&&b.y==s.y&&b.z==s.z}} +A.Rd.prototype={} +A.z3.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.z3)if(b.a==r.a)if(b.b==r.b)if(b.c==r.c)if(b.d==r.d)if(b.e==r.e)if(b.f==r.f)if(b.r==r.r)if(b.w==r.w)if(b.x==r.x)if(b.y==r.y)s=J.e(b.z,r.z) +return s}} +A.Re.prototype={} +A.z4.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.z4&&J.e(b.a,s.a)&&b.b==s.b&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&b.f==s.f&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&J.e(b.x,s.x)&&J.e(b.y,s.y)}} +A.Rf.prototype={} +A.z5.prototype={ +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +if(b instanceof A.z5)s=J.e(b.a,this.a) +else s=!1 +return s}} +A.Rg.prototype={} +A.zn.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.r,s.f,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.CW,s.cx,s.cy,A.P(s.db,s.dx,s.dy,s.fr,s.fx,s.fy,s.go,s.id,s.k1,s.k2,s.k3,s.k4,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a))}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.zn)if(b.a==r.a)if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.r,r.r))if(J.e(b.f,r.f))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.y,r.y))if(J.e(b.z,r.z))if(J.e(b.Q,r.Q))if(J.e(b.as,r.as))if(J.e(b.at,r.at))if(J.e(b.ax,r.ax))if(J.e(b.ay,r.ay))if(J.e(b.ch,r.ch))if(J.e(b.id,r.id))s=b.k1==r.k1 +return s}} +A.RC.prototype={} +A.iZ.prototype={ +F(){return"SnackBarClosedReason."+this.b}} +A.oD.prototype={ +ai(){return new A.Cn()}} +A.Cn.prototype={ +an(){var s,r=this +r.aJ() +s=r.a.ch +s.bm() +s=s.bL$ +s.b=!0 +s.a.push(r.gBh()) +r.Mf()}, +aG(a){var s,r,q=this +q.b0(a) +s=a.ch +if(q.a.ch!=s){r=q.gBh() +s.c7(r) +s=q.a.ch +s.bm() +s=s.bL$ +s.b=!0 +s.a.push(r) +q.J9() +q.Mf()}}, +Mf(){var s=this,r=s.a.ch +r.toString +s.e=A.cZ(B.aE,r,null) +r=s.a.ch +r.toString +s.f=A.cZ(B.CL,r,null) +r=s.a.ch +r.toString +s.r=A.cZ(B.CP,r,null) +r=s.a.ch +r.toString +s.w=A.cZ(B.CW,r,B.xh) +r=s.a.ch +r.toString +s.x=A.cZ(B.B3,r,B.xh)}, +J9(){var s=this,r=s.e +if(r!=null)r.l() +r=s.f +if(r!=null)r.l() +r=s.r +if(r!=null)r.l() +r=s.w +if(r!=null)r.l() +r=s.x +if(r!=null)r.l() +s.x=s.w=s.r=s.f=s.e=null}, +l(){var s=this +s.a.ch.c7(s.gBh()) +s.J9() +s.aB()}, +a4B(a){if(a===B.X){this.a.toString +this.d=!0}}, +K(a7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=null,a1=t.w,a2=A.bY(a7,B.jQ,a1).w,a3=A.aa(a7),a4=a3.iB,a5=new A.ait(a7,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0),a6=a4.d +if(a6==null)a6=a5.gqE() +a.a.toString +s=a5.gqs() +a.a.toString +r=a4.w +a5.gp_() +q=s===B.LA +p=q?16:24 +o=a.a.r +o=new A.f_(p,0,p,0) +n=A.abr(a0,a0,1,a0,A.zP(a0,A.aa(a7).p2.as,""),B.aP,B.p,a0,B.ag,B.aC) +n.EL() +m=n.b +l=m.c +m=m.a.c +m.gaH(m) +a.a.toString +n.l() +a.a.toString +k=a4.x +m=k==null +if(m)k=a5.grz() +a.a.toString +j=A.bY(a7,B.xD,a1).w.a.a-(k.a+k.c) +a.a.toString +i=a4.Q +if(i==null)i=a5.gqb() +h=(l+0+0)/j>i +a1=t.D +l=A.b([],a1) +g=a.a +g=A.b([A.q3(A.d6(a0,A.n7(g.c,a0,B.c8,!0,a6,a0,a0,B.aC),a0,a0,a0,a0,a0,B.BJ,a0))],a1) +if(!h)B.b.L(g,l) +if(h)g.push(A.i4(a0,a0,j*0.4)) +a1=A.b([A.iW(g,B.V,B.a8,B.aM)],a1) +if(h)a1.push(new A.cf(B.BG,A.iW(l,B.V,B.qL,B.aM),a0)) +f=new A.cf(o,new A.LM(a1,a0),a0) +if(!q)f=A.an_(!0,f,!1) +a.a.toString +e=a4.e +if(e==null)e=a5.gcv(0) +a.a.toString +d=a4.a +if(d==null)d=a5.gbK(0) +a.a.toString +c=a4.f +if(c==null)c=q?a5.gbq(0):a0 +a1=a.a +l=a1.cy +f=A.xa(B.a0,new A.k7(a3,f,a0),l,d,e,a0,a0,c,a0,a0,B.cr) +if(q)f=A.an_(!1,r!=null?A.d6(a0,f,a0,a0,a0,a0,new A.aJ(0,k.b,0,k.d),a0,r):new A.cf(k,f,a0),!1) +l=a1.y +m=!m?B.bs:B.ae +f=A.cN(a0,a0,new A.vE(f,new A.aip(a7),B.le,a0,m,B.Sf),!0,a0,!1,a0,a0,a0,a0,a0,a0,!0,a0,new A.aiq(a7),a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0) +if(a2.z)b=f +else{a2=t.j3 +if(q){m=a.r +m.toString +l=a.x +l.toString +b=A.Zb(new A.kd(l,new A.air(),f,a0,a2),a0,m)}else{m=a.e +m.toString +b=new A.kd(m,new A.ais(),f,a0,a2)}}a1=a1.c.i(0) +return A.aqU(A.WG(b,a.a.cy,a0),"",!0)}} +A.aiq.prototype={ +$0(){var s=this.a.a7(t.Pu) +s.toString +s.f.S5(B.LB)}, +$S:0} +A.aip.prototype={ +$1(a){var s=this.a.a7(t.Pu) +s.toString +s.f.S5(B.LC)}, +$S:255} +A.air.prototype={ +$3(a,b,c){return new A.fl(B.xU,null,b,c,null)}, +$S:112} +A.ais.prototype={ +$3(a,b,c){return new A.fl(B.b5,null,b,c,null)}, +$S:112} +A.ait.prototype={ +gje(){var s,r=this,q=r.CW +if(q===$){q=r.ch +if(q===$){s=A.aa(r.ay) +r.ch!==$&&A.a0() +r.ch=s +q=s}r.CW!==$&&A.a0() +q=r.CW=q.ax}return q}, +gbK(a){var s=this.gje(),r=s.xr +return r==null?s.k3:r}, +gvG(){return A.anT(new A.aiu(this))}, +gwq(){var s=this.gje(),r=s.y2 +return r==null?s.c:r}, +gqE(){var s,r,q=A.aa(this.ay).p2.z +q.toString +s=this.gje() +r=s.y1 +return q.fw(r==null?s.k2:r)}, +gcv(a){return 6}, +gbq(a){return B.j0}, +gqs(){return B.Lz}, +grz(){return B.BR}, +gp_(){return!1}, +gw5(){var s=this.gje(),r=s.y1 +return r==null?s.k2:r}, +gqb(){return 0.25}} +A.aiu.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.D)){s=q.a.gje() +r=s.y2 +return r==null?s.c:r}if(a.p(0,B.I)){s=q.a.gje() +r=s.y2 +return r==null?s.c:r}if(a.p(0,B.K)){s=q.a.gje() +r=s.y2 +return r==null?s.c:r}if(a.p(0,B.R)){s=q.a.gje() +r=s.y2 +return r==null?s.c:r}s=q.a.gje() +r=s.y2 +return r==null?s.c:r}, +$S:8} +A.KI.prototype={ +F(){return"SnackBarBehavior."+this.b}} +A.ru.prototype={ +gt(a){var s=this +return A.P(s.gbK(s),s.gvG(),s.gwq(),s.gqE(),s.gcv(s),s.gbq(s),s.gqs(),s.w,s.grz(),s.gp_(),s.gw5(),s.gqb(),s.as,s.at,s.ax,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.ru)if(J.e(b.gbK(b),r.gbK(r)))if(J.e(b.gvG(),r.gvG()))if(J.e(b.gwq(),r.gwq()))if(J.e(b.gqE(),r.gqE()))if(b.gcv(b)==r.gcv(r))if(J.e(b.gbq(b),r.gbq(r)))if(b.gqs()==r.gqs())if(b.w==r.w)if(J.e(b.grz(),r.grz()))if(b.gp_()==r.gp_())if(J.e(b.gw5(),r.gw5()))if(b.gqb()==r.gqb())if(J.e(b.as,r.as))s=J.e(b.at,r.at) +return s}, +gbK(a){return this.a}, +gvG(){return this.b}, +gwq(){return this.c}, +gqE(){return this.d}, +gcv(a){return this.e}, +gbq(a){return this.f}, +gqs(){return this.r}, +grz(){return this.x}, +gp_(){return null}, +gw5(){return this.z}, +gqb(){return this.Q}} +A.RJ.prototype={} +A.zA.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.zA)if(b.a==r.a)if(b.b==r.b)if(b.c==r.c)if(b.d==r.d)if(b.r==r.r)s=b.w==r.w +return s}} +A.RX.prototype={} +A.rB.prototype={ +gt(a){var s=this +return A.P(s.a,s.grt(),s.c,s.gqY(),s.gqZ(),s.grI(),s.r,s.grJ(),s.gtz(),s.gtA(),s.gcn(),s.gdI(),s.as,s.gtn(),s.ax,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.rB)if(J.e(b.a,r.a))if(J.e(b.grt(),r.grt()))if(b.c==r.c)if(J.e(b.gqY(),r.gqY()))if(b.gqZ()==r.gqZ())if(J.e(b.grI(),r.grI()))if(J.e(b.r,r.r))if(J.e(b.grJ(),r.grJ()))if(J.e(b.gtz(),r.gtz()))if(J.e(b.gtA(),r.gtA()))if(b.gcn()==r.gcn())if(b.gdI()==r.gdI())s=b.gtn()==r.gtn() +return s}, +grt(){return this.b}, +gqY(){return this.d}, +gqZ(){return this.e}, +grI(){return this.f}, +grJ(){return this.w}, +gtz(){return this.x}, +gtA(){return this.y}, +gcn(){return this.z}, +gdI(){return this.Q}, +gtn(){return this.at}} +A.S0.prototype={} +A.KY.prototype={ +gbJ(a){var s=this.a +return s==null?null:s}, +In(a,b,c){var s,r=this,q=r.d +if(a===q||r.c<2)return +r.e=q +r.d=a +q=c!=null&&c.a>0 +s=r.f+1 +if(q){r.f=s +r.ae() +q=r.a +q.toString +s=r.d +b.toString +q.z=B.aq +q.k7(s,b,c).SR(new A.aaK(r))}else{r.f=s +r.a.sm(0,a);--r.f +r.ae()}}, +Im(a){return this.In(a,null,null)}, +skY(a,b){var s,r=this.a,q=r.x +q===$&&A.a() +s=this.d +if(b===q-s)return +r.sm(0,b+s)}, +gu(a){return this.c}} +A.aaK.prototype={ +$0(){var s=this.a +if(s.a!=null){--s.f +s.ae()}}, +$S:0} +A.m9.prototype={ +cH(a,b){var s,r +if(a instanceof A.m9){s=A.aG(a.b,this.b,b) +r=A.d0(a.c,this.c,b) +r.toString +return new A.m9(null,s,r)}return this.GW(a,b)}, +cI(a,b){var s,r +if(a instanceof A.m9){s=A.aG(this.b,a.b,b) +r=A.d0(this.c,a.c,b) +r.toString +return new A.m9(null,s,r)}return this.GX(a,b)}, +wd(a){return new A.aj2(this,this.a,a)}, +KB(a,b){var s=this.c.X(0,b).Dd(a),r=s.a,q=this.b.b,p=s.d-q +return new A.D(r,p,r+(s.c-r),p+q)}} +A.aj2.prototype={ +t5(a,b,c){var s,r,q,p=c.e,o=b.a,n=b.b,m=new A.D(o,n,o+p.a,n+p.b) +p=c.d +p.toString +o=this.c +n=this.b +s=n.b +if(o!=null){r=$.am().b8() +r.sab(0,s.a) +q=n.KB(m,p) +p=o.a +n=o.b +s=o.d +a.dh(A.Jb(q,o.c,s,p,n),r)}else{r=s.iX() +r.syU(B.x_) +q=n.KB(m,p).eh(-(s.b/2)) +p=q.d +a.hN(new A.m(q.a,p),new A.m(q.c,p),r)}}} +A.aaJ.prototype={ +F(){return"TabBarIndicatorSize."+this.b}} +A.aaI.prototype={ +F(){return"TabAlignment."+this.b}} +A.KX.prototype={ +Zq(){return this.d}, +K(a){var s=this.Zq() +return A.i4(A.EO(s,null,1),46,null)}, +gmo(){return B.Lu}, +$iy6:1} +A.S4.prototype={ +a67(a){var s,r,q,p,o,n=this,m=null,l={} +A.aa(a) +s=A.aa(a).cw +r=t.q.a(n.c) +q=n.x +if(q==null){q=s.w +q=q==null?m:q.b +p=q}else p=q +if(p==null)p=n.z.grI() +l.a=p +l.b=null +if(p instanceof A.CV){l.b=p.c.$1(B.jg) +l.a=p.c.$1(B.wt)}else{q=s.x +if(q==null)q=m +if(q==null){q=s.y +q=q==null?m:q.b +o=q}else o=q +if(o==null){q=n.z.gtz() +q.toString +o=q}l.b=o}return A.anT(new A.aiQ(l,r))}, +K(a){var s,r,q,p=this,o=null,n=A.aa(a).cw,m=t.q.a(p.c),l=p.r,k=l?B.wt:B.jg,j=p.e,i=n.w +if(i==null){i=p.z.grJ() +i.toString}s=i.OP(!0) +i=n.y +j=i==null?j:i +if(j==null){j=p.z.gtA() +j.toString}r=j.OP(!0) +if(l){l=A.aW(s,r,m.gm(m)) +l.toString +q=l}else{l=A.aW(r,s,m.gm(m)) +l.toString +q=l}l=p.a67(a).c.$1(k) +j=q.fw(l) +return A.n7(A.wC(p.Q,new A.cD(24,o,o,o,o,l,o,o,o)),o,B.c8,!0,j,o,o,B.aC)}} +A.aiQ.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.N)){s=q.a +r=q.b +r=A.q(s.a,s.b,r.gm(r)) +r.toString +return r}s=q.a +r=q.b +r=A.q(s.b,s.a,r.gm(r)) +r.toString +return r}, +$S:8} +A.S2.prototype={ +be(){var s,r,q,p,o=this +o.VV() +s=o.V$ +r=A.b([],t.n) +for(q=t.US;s!=null;){p=s.b +p.toString +q.a(p) +r.push(p.a.a) +s=p.a1$}switch(o.aq.a){case 0:B.b.jw(r,0,o.gv(0).a) +break +case 1:r.push(o.gv(0).a) +break}q=o.aq +q.toString +p=o.gv(0) +o.jt.$3(r,q,p.a)}} +A.S1.prototype={ +av(a){var s=this,r=s.yn(a) +r.toString +return A.aGl(s.w,s.e,s.f,s.r,s.ax,r,s.y)}, +aC(a,b){this.Vb(a,b) +b.jt=this.ax}} +A.B0.prototype={ +ao(){this.ay=!0}, +l(){var s=this.ax +if(s!=null)s.l()}, +QD(a,b){var s,r,q,p,o,n,m,l,k,j,i=this +switch(i.as.a){case 0:s=i.Q +s=new A.au(s[b+1],s[b]) +break +case 1:s=i.Q +s=new A.au(s[b],s[b+1]) +break +default:s=null}r=s.a +q=s.b +if(i.d===B.x2){s=i.f[b] +p=$.ai.ag$.x.k(0,s).gv(0).a +o=i.r[b].X(0,i.as) +r+=(q-r-(p+o.gbR()))/2+o.a +q=r+p}o=i.e +s=r+(q-r) +n=0+a.b +m=new A.D(r,0,s,n) +l=o.gbR() +k=o.gb3(0) +j=o.gb6(0) +if(!(s-r>=l&&n>=k+j))throw A.c(A.jx("indicatorPadding insets should be less than Tab Size\nRect Size : "+m.gv(0).i(0)+", Insets: "+o.i(0))) +return o.Dd(m)}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=null,f=h.ay=!1 +if(h.ax==null)h.ax=h.c.wd(h.gel()) +s=h.b +r=s.d +s=s.gbJ(0).x +s===$&&A.a() +q=r>s +p=q?B.c.d0(s):B.c.d4(s) +o=B.f.hI(p,0,h.Q.length-2) +p=q?o+1:o-1 +n=B.f.hI(p,0,h.Q.length-2) +s=h.at=A.asb(h.QD(b,o),h.QD(b,n),Math.abs(s-o)) +switch(h.d.a){case 1:s.toString +s=h.Zg(s) +break +case 0:break +default:s=g}h.at=s +p=s.c +m=s.a +l=s.d +s=s.b +k=h.as +if(h.y){f=h.x +f.toString +f=f>0}if(f){j=$.am().b8() +f=h.w +f.toString +j.sab(0,f) +f=h.x +f.toString +j.sdK(f) +f=b.b +a.hN(new A.m(0,f-j.gdK()/2),new A.m(b.a,f-j.gdK()/2),j)}f=h.ax +f.toString +i=h.at +f.t5(a,new A.m(i.a,i.b),new A.qn(g,h.z,g,k,new A.K(p-m,l-s),g))}, +Zg(a){var s,r,q,p,o,n,m,l,k,j,i=this,h=i.b +if(h.gbJ(0).gaF(0)===B.X)return a +s=h.d +r=h.gbJ(0).x +r===$&&A.a() +q=A.bk("tabChangeProgress") +p=Math.abs(s-r) +if(h.f!==0){o=Math.abs(h.d-h.e) +q.b=1-A.N(o!==0?p/o:p,0,1)}else q.b=p +if(J.e(q.aP(),1))return a +h=a.c +r=a.a +n=i.ch +if(n===$){m=t.H7 +l=t.Ns +k=A.at4(A.b([new A.k8(new A.aR(0,1,m),20,l),new A.k8(new A.aR(1,0,m),80,l)],t.x0),t.i) +i.ch!==$&&A.a0() +i.ch=k +n=k}j=(h-r)*n.a8(0,q.aP())/2 +return new A.D(r-j,a.b,h+j,a.d)}, +hx(a){var s=this +return s.ay||s.b!==a.b||!s.c.j(0,a.c)||s.f.length!==a.f.length||!A.ds(s.Q,a.Q)||s.as!=a.as}} +A.Mt.prototype={ +gct(a){var s=this.a.gbJ(0) +s.toString +return s}, +c7(a){if(this.a.gbJ(0)!=null)this.GS(a)}, +H(a,b){if(this.a.gbJ(0)!=null)this.GR(0,b)}, +gm(a){return A.aHP(this.a)}} +A.tc.prototype={ +gct(a){var s=this.a.gbJ(0) +s.toString +return s}, +c7(a){if(this.a.gbJ(0)!=null)this.GS(a)}, +H(a,b){if(this.a.gbJ(0)!=null)this.GR(0,b)}, +gm(a){var s=this.a,r=s.gbJ(0).x +r===$&&A.a() +return A.N(Math.abs(A.N(r,0,s.c-1)-this.b),0,1)}} +A.aiE.prototype={} +A.zD.prototype={ +gmo(){var s,r,q,p,o,n +for(s=this.c,r=s.length,q=t.ZQ,p=46,o=0;o>>") +q.x=A.a7(new A.aw(s,new A.aiJ(),r),!0,r.h("aD.E")) +q.y=A.bc(q.a.c.length,B.ak,!0,t.A0)}, +gfl(){var s=null,r=this.c +r.toString +A.aa(r) +this.a.toString +r=this.c +r.toString +return new A.aiR(r,!1,s,s,B.x2,s,s,s,s,s,s,s,s,s,s,s,s)}, +a12(a){var s,r,q,p,o,n=this,m=null,l=n.c +l.toString +A.aa(l) +l=n.c +l.toString +s=A.aa(l).cw +n.a.toString +l=s.a +if(l!=null)return l +r=s.b +if(r==null)r=n.gfl().grt() +n.a.toString +l=r.gm(r) +q=n.c +q.toString +q=A.amF(q,t.zd) +if(q==null)q=m +else{q=q.a_ +q=q==null?m:q.gm(q)}q=l===q +l=q +if(l)r=B.i +n.a.toString +switch(!0){case!0:l=A.aGm(a) +break +case!1:l=2 +break +default:l=m}p=Math.max(2,A.fV(l)) +switch(a.a){case 1:l=!0 +break +case 0:l=!1 +break +default:l=m}o=l?new A.cH(new A.aU(p,p),new A.aU(p,p),B.B,B.B):m +return new A.m9(o,new A.cA(r,p,B.a5,-1),B.ak)}, +glt(){var s=this.e +return(s==null?null:s.gbJ(0))!=null}, +q7(){var s,r=this,q=r.a.d +if(q===r.e)return +if(r.glt()){r.e.gbJ(0).H(0,r.glx()) +r.e.H(0,r.gAR())}r.e=q +s=q.gbJ(0) +s.bm() +s=s.cb$ +s.b=!0 +s.a.push(r.glx()) +r.e.Y(0,r.gAR()) +r.r=r.e.d}, +AX(){var s,r,q,p,o,n,m,l,k,j=this,i=j.c +i.toString +A.aa(i) +i=j.c +i.toString +s=A.aa(i).cw +j.a.toString +r=s.c +if(r==null){i=j.gfl().c +i.toString +r=i}q=j.f +if(!j.glt())i=null +else{i=j.e +i.toString +p=j.a12(r) +j.a.toString +o=j.x +o===$&&A.a() +n=j.y +n===$&&A.a() +m=s.d +if(m==null)m=j.gfl().gqY() +j.a.toString +l=j.gfl().gqZ() +j.a.toString +k=j.c +k.toString +i=new A.B0(i,p,r,B.ak,o,n,m,l,!0,A.bY(k,B.ea,t.w).w.b,i.gbJ(0)) +if(q!=null){p=q.Q +o=q.as +i.Q=p +i.as=o}}j.f=i +if(q!=null)q.l()}, +bi(){this.d_() +this.q7() +this.AX()}, +aG(a){var s,r,q,p,o,n,m,l=this +l.b0(a) +if(l.a.d!==a.d){l.q7() +l.AX() +s=l.d +if(s!=null&&s.f.length!==0){r=B.b.gap(s.f) +if(r instanceof A.aiE)r.O=!0}}else{s=!0 +s=B.ak.j(0,B.ak) +if(s)l.a.toString +s=!s +if(s)l.AX()}s=l.a.c.length +q=l.x +q===$&&A.a() +p=q.length +if(s>p){o=s-p +n=J.H6(o,t.yi) +for(s=t.A,m=0;m0){k=p-1 +p=a5.e +p.toString +n=A.b([],t.G) +q[k]=a5.pl(q[k],!1,new A.fO(new A.tc(p,k),new A.bh(n,t.Q),0),a5.gfl())}p=a5.r +p.toString +if(p0||r.d.f===0)return +s=r.d.d +if(s!==r.r){r.r=s +r.a8e()}}, +a8e(){var s,r,q,p=this +if(p.c!=null){s=t.gQ.a(B.b.gap(p.e.f)).gt4(0) +r=p.r +r.toString +r=s===r +s=r}else s=!0 +if(s)return +s=p.r +s.toString +r=p.d +q=r.e +r=r.b +if(Math.abs(s-q)===1)p.vD(r) +else p.vE(r)}, +vD(a){return this.a8d(a)}, +a8d(a){var s=0,r=A.z(t.H),q,p=this,o +var $async$vD=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.r +s=a.a===B.q.a?3:5 +break +case 3:o.toString +p.uV(o) +s=4 +break +case 5:o.toString +s=6 +return A.B(p.pk(o,B.ay,a),$async$vD) +case 6:case 4:if(p.c!=null)p.ah(new A.aiK(p)) +q=A.cm(null,t.H) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$vD,r)}, +vE(a){return this.a8f(a)}, +a8f(a){var s=0,r=A.z(t.H),q=this,p,o,n +var $async$vE=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=q.d.e +n=q.r +n.toString +p=n>o?n-1:n+1 +q.ah(new A.aiL(q,p,o)) +q.uV(p) +n=q.r +s=a.a===B.q.a?2:4 +break +case 2:n.toString +q.uV(n) +s=3 +break +case 4:n.toString +s=5 +return A.B(q.pk(n,B.ay,a),$async$vE) +case 5:case 3:if(q.c!=null)q.ah(new A.aiM(q)) +return A.x(null,r)}}) +return A.y($async$vE,r)}, +MH(){var s,r=this.d +r.toString +s=t.gQ.a(B.b.gap(this.e.f)).gt4(0) +s.toString +r.skY(0,A.N(s-this.d.d,-1,1))}, +a7i(a){var s,r,q=this +if(q.w>0||q.x>0)return!1 +if(a.ee$!==0)return!1 +if(!q.glt())return!1;++q.x +s=t.gQ.a(B.b.gap(q.e.f)).gt4(0) +s.toString +if(a instanceof A.hm&&q.d.f===0){r=q.d +if(Math.abs(s-r.d)>1){r.Im(B.c.a2(s)) +q.r=q.d.d}q.MH()}else if(a instanceof A.k2){r=q.d +r.toString +r.Im(B.c.a2(s)) +s=q.d +q.r=s.d +if(s.f===0)q.MH()}--q.x +return!1}, +K(a){var s,r,q,p=this +p.a.toString +s=p.e +r=B.ra.iu(B.A5) +q=p.f +q===$&&A.a() +return new A.cL(p.ga7h(),new A.xK(s,new A.qO(r),new A.aa1(q,A.an([null,0],t.LO,t.S)),B.aj,B.Z,null),null,t.WA)}} +A.aiK.prototype={ +$0(){var s=this.a +s.f=A.a1t(s.a.d)}, +$S:0} +A.aiL.prototype={ +$0(){var s,r,q,p=this.a,o=p.f +o===$&&A.a() +o=p.f=A.a7(o,!1,t.l7) +s=this.b +r=o[s] +q=this.c +o[s]=o[q] +B.b.n(p.f,q,r)}, +$S:0} +A.aiM.prototype={ +$0(){var s=this.a +s.f=A.a1t(s.a.d)}, +$S:0} +A.aiR.prototype={ +gip(){var s,r=this,q=r.ch +if(q===$){s=A.aa(r.ay) +r.ch!==$&&A.a0() +q=r.ch=s.ax}return q}, +gMK(){var s,r=this,q=r.CW +if(q===$){s=A.aa(r.ay) +r.CW!==$&&A.a0() +q=r.CW=s.p2}return q}, +gqY(){var s=this.gip(),r=s.to +if(r==null){r=s.a5 +s=r==null?s.k3:r}else s=r +return s}, +gqZ(){return 1}, +grt(){return this.gip().b}, +grI(){return this.gip().b}, +grJ(){return this.gMK().x}, +gtz(){var s=this.gip(),r=s.rx +return r==null?s.k3:r}, +gtA(){return this.gMK().x}, +gcn(){return new A.bl(new A.aiS(this),t.b)}, +gdI(){return A.aa(this.ay).y}, +gtn(){return B.x1}} +A.aiS.prototype={ +$1(a){var s,r=this +if(a.p(0,B.N)){if(a.p(0,B.I)){s=r.a.gip().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=r.a.gip().b +return A.Z(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.R)){s=r.a.gip().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}return null}if(a.p(0,B.I)){s=r.a.gip().b +return A.Z(B.c.a2(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.K)){s=r.a.gip().k3.a +return A.Z(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.R)){s=r.a.gip().k3.a +return A.Z(B.c.a2(25.5),s>>>16&255,s>>>8&255,s&255)}return null}, +$S:45} +A.T1.prototype={} +A.T4.prototype={} +A.zG.prototype={ +gt(a){return J.u(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.zG&&J.e(b.a,this.a)}} +A.S5.prototype={} +A.zO.prototype={ +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.zO&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)}} +A.S7.prototype={} +A.db.prototype={ +ce(b3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1=this,b2=null +if(b3==null)return b1 +s=b1.a +r=s==null?b2:s.ce(b3.a) +if(r==null)r=b3.a +q=b1.b +p=q==null?b2:q.ce(b3.b) +if(p==null)p=b3.b +o=b1.c +n=o==null?b2:o.ce(b3.c) +if(n==null)n=b3.c +m=b1.d +l=m==null?b2:m.ce(b3.d) +if(l==null)l=b3.d +k=b1.e +j=k==null?b2:k.ce(b3.e) +if(j==null)j=b3.e +i=b1.f +h=i==null?b2:i.ce(b3.f) +if(h==null)h=b3.f +g=b1.r +f=g==null?b2:g.ce(b3.r) +if(f==null)f=b3.r +e=b1.w +d=e==null?b2:e.ce(b3.w) +if(d==null)d=b3.w +c=b1.x +b=c==null?b2:c.ce(b3.x) +if(b==null)b=b3.x +a=b1.y +a0=a==null?b2:a.ce(b3.y) +if(a0==null)a0=b3.y +a1=b1.z +a2=a1==null?b2:a1.ce(b3.z) +if(a2==null)a2=b3.z +a3=b1.Q +a4=a3==null?b2:a3.ce(b3.Q) +if(a4==null)a4=b3.Q +a5=b1.as +a6=a5==null?b2:a5.ce(b3.as) +if(a6==null)a6=b3.as +a7=b1.at +a8=a7==null?b2:a7.ce(b3.at) +if(a8==null)a8=b3.at +a9=b1.ax +b0=a9==null?b2:a9.ce(b3.ax) +if(b0==null)b0=b3.ax +s=r==null?s:r +r=p==null?q:p +q=n==null?o:n +p=l==null?m:l +o=j==null?k:j +n=h==null?i:h +m=f==null?g:f +l=d==null?e:d +k=b==null?c:b +j=a0==null?a:a0 +i=a2==null?a1:a2 +h=a4==null?a3:a4 +g=a6==null?a5:a6 +f=a8==null?a7:a8 +return A.anl(j,i,h,s,r,q,p,o,n,g,f,b0==null?a9:b0,m,l,k)}, +a8F(a,b,a0,a1,a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this,d=null,c=e.a +c=c==null?d:c.eb(a0,d,b,d,a1,a2,0,1,a3) +s=e.b +s=s==null?d:s.eb(a0,d,b,d,a1,a2,0,1,a3) +r=e.c +r=r==null?d:r.eb(a0,d,b,d,a1,a2,0,1,a3) +q=e.d +q=q==null?d:q.eb(a0,d,b,d,a1,a2,0,1,a3) +p=e.e +p=p==null?d:p.eb(a0,d,b,d,a1,a2,0,1,a3) +o=e.f +o=o==null?d:o.eb(a,d,b,d,a1,a2,0,1,a3) +n=e.r +n=n==null?d:n.eb(a,d,b,d,a1,a2,0,1,a3) +m=e.w +m=m==null?d:m.eb(a,d,b,d,a1,a2,0,1,a3) +l=e.x +l=l==null?d:l.eb(a,d,b,d,a1,a2,0,1,a3) +k=e.y +k=k==null?d:k.eb(a,d,b,d,a1,a2,0,1,a3) +j=e.z +j=j==null?d:j.eb(a,d,b,d,a1,a2,0,1,a3) +i=e.Q +i=i==null?d:i.eb(a0,d,b,d,a1,a2,0,1,a3) +h=e.as +h=h==null?d:h.eb(a,d,b,d,a1,a2,0,1,a3) +g=e.at +g=g==null?d:g.eb(a,d,b,d,a1,a2,0,1,a3) +f=e.ax +return A.anl(k,j,i,c,s,r,q,p,o,h,g,f==null?d:f.eb(a,d,b,d,a1,a2,0,1,a3),n,m,l)}, +O9(a,b,c){return this.a8F(a,b,c,null,null,null)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.db&&J.e(s.a,b.a)&&J.e(s.b,b.b)&&J.e(s.c,b.c)&&J.e(s.d,b.d)&&J.e(s.e,b.e)&&J.e(s.f,b.f)&&J.e(s.r,b.r)&&J.e(s.w,b.w)&&J.e(s.x,b.x)&&J.e(s.y,b.y)&&J.e(s.z,b.z)&&J.e(s.Q,b.Q)&&J.e(s.as,b.as)&&J.e(s.at,b.at)&&J.e(s.ax,b.ax)}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,B.a,B.a,B.a,B.a,B.a)}} +A.S9.prototype={} +A.k7.prototype={ +K(a){var s,r,q,p,o,n,m=this,l=null,k=a.a7(t.ri),j=k==null?l:k.w.c +if(j==null){j=B.bN.a +s=B.bN.b +r=B.bN.c +q=B.bN.d +p=B.bN.e +o=B.bN.f +n=B.bN.r +n=new A.HC(m.c,new A.xz(j,s,r,q,p,o,n),B.jO,j,s,r,q,p,o,n) +j=n}j=A.aCG(j.ay,j.ch.iT(a)) +s=a.a7(t.Uf) +if(s==null)s=B.d8 +r=m.c +q=r.ef +p=q.b +if(p==null)p=s.x +q=q.a +s=q==null?s.w:q +return new A.B1(m,new A.vn(j,A.a0d(A.Xr(m.d,s,l,l,p),r.k4,l),l),l)}} +A.B1.prototype={ +mB(a,b,c){return new A.k7(this.w.c,c,null)}, +bT(a){return!this.w.c.j(0,a.w.c)}} +A.oL.prototype={ +ej(a){var s,r=this.a +r.toString +s=this.b +s.toString +return A.aF7(r,s,a)}} +A.uw.prototype={ +ai(){return new A.LZ(null,null)}} +A.LZ.prototype={ +rm(a){var s=a.$3(this.CW,this.a.r,new A.acC()) +s.toString +this.CW=t.ZM.a(s)}, +K(a){var s=this.CW +s.toString +return new A.k7(s.a8(0,this.gfW().gm(0)),this.a.w,null)}} +A.acC.prototype={ +$1(a){return new A.oL(t.we.a(a),null)}, +$S:261} +A.nR.prototype={ +F(){return"MaterialTapTargetSize."+this.b}} +A.hs.prototype={ +OY(d3,d4,d5,d6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7=this,c8=null,c9=d3==null?c7.ax:d3,d0=c9.b,d1=c9.c,d2=c9.d +if(d2==null)d2=d0 +s=c9.e +if(s==null)s=d1 +r=c9.f +if(r==null)r=d0 +q=c9.r +if(q==null)q=d0 +p=c9.w +if(p==null)p=d1 +o=c9.x +if(o==null)o=d1 +n=c9.y +m=c9.z +l=c9.Q +if(l==null)l=n +k=c9.as +if(k==null)k=m +j=c9.at +if(j==null)j=n +i=c9.ax +if(i==null)i=n +h=c9.ay +if(h==null)h=m +g=c9.ch +if(g==null)g=m +f=c9.CW +e=f==null?n:f +d=c9.cx +c=d==null?m:d +b=c9.cy +if(b==null)b=f==null?n:f +a=c9.db +if(a==null)a=d==null?m:d +a0=c9.dx +if(a0==null)a0=f==null?n:f +a1=c9.dy +if(a1==null){if(f==null)f=n}else f=a1 +a1=c9.fr +if(a1==null)a1=d==null?m:d +a2=c9.fx +if(a2==null){if(d==null)d=m}else d=a2 +a2=c9.fy +a3=c9.go +a4=c9.id +if(a4==null)a4=a2 +a5=c9.k1 +if(a5==null)a5=a3 +a6=c9.k2 +a7=c9.k3 +a8=c9.ok +if(a8==null)a8=a6 +a9=c9.p1 +if(a9==null)a9=a6 +b0=c9.p2 +if(b0==null)b0=a6 +b1=c9.p3 +if(b1==null)b1=a6 +b2=c9.p4 +if(b2==null)b2=a6 +b3=c9.R8 +if(b3==null)b3=a6 +b4=c9.RG +if(b4==null)b4=a6 +b5=c9.rx +if(b5==null)b5=a7 +b6=c9.ry +if(b6==null){b6=c9.a5 +if(b6==null)b6=a7}b7=c9.to +if(b7==null){b7=c9.a5 +if(b7==null)b7=a7}b8=c9.x1 +if(b8==null)b8=B.o +b9=c9.x2 +if(b9==null)b9=B.o +c0=c9.xr +if(c0==null)c0=a7 +c1=c9.y1 +if(c1==null)c1=a6 +c2=c9.y2 +if(c2==null)c2=d1 +c3=c9.aY +if(c3==null)c3=d0 +c4=c9.by +if(c4==null)c4=a6 +c5=c9.a5 +if(c5==null)c5=a7 +c6=c9.k4 +if(c6==null)c6=a6 +f=A.WS(c4,c9.a,a2,a4,c2,c0,c5,a3,a5,c1,d1,s,p,o,m,k,h,g,a7,b5,c,a,a1,d,b6,b7,d0,d2,r,q,b9,n,l,j,i,b8,a6,a9,b2,b3,b4,b1,b0,a8,c3,c6,e,b,a0,f) +c9=d6==null?c7.k3:d6 +d0=d4==null?c7.p1:d4 +d1=d5==null?c7.p2:d5 +return A.anm(c7.p4,c7.d,c7.R8,c7.a,c7.RG,c7.rx,c7.ry,c7.to,c7.x1,c7.kK,c7.x2,c7.as,c7.at,c7.xr,c7.y1,c7.y2,f,c7.b,c7.aY,c7.by,c7.ay,c7.a5,c7.ch,c7.CW,c7.aV,c7.bw,c7.bn,c7.E,c7.Z,c7.c,c7.a3,c7.al,c7.cx,c7.cy,c7.db,c7.dx,c7.aq,c7.k4,c7.dy,c7.e,c7.S,c7.f,c7.O,c7.af,c7.ar,c7.bX,c7.c4,c7.hS,c7.eZ,c7.r,c7.w,c7.C,c7.fr,c7.fx,c7.fy,c7.ok,d0,c7.dV,c7.ag,c7.go,c7.x,c7.hi,c7.cd,c7.id,c7.dW,c7.k1,c7.hT,c7.iB,c7.k2,c7.y,c7.m8,c7.cw,c7.dE,c7.ef,d1,c7.o6,c7.o7,c7.jr,c7.p3,c9,!0,c7.Q)}, +aa2(a,b){return this.OY(null,a,b,null)}, +CX(a){return this.OY(null,null,null,a)}, +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.hs&&A.Ug(b.d,s.d)&&b.a===s.a&&A.Ug(b.c,s.c)&&b.e.j(0,s.e)&&b.f===s.f&&b.r.j(0,s.r)&&b.w===s.w&&b.x.j(0,s.x)&&b.y===s.y&&b.Q.j(0,s.Q)&&b.as.j(0,s.as)&&b.at.j(0,s.at)&&b.ax.j(0,s.ax)&&b.ay.j(0,s.ay)&&b.ch.j(0,s.ch)&&b.CW.j(0,s.CW)&&b.cx.j(0,s.cx)&&b.cy.j(0,s.cy)&&b.db.j(0,s.db)&&b.dx.j(0,s.dx)&&b.dy.j(0,s.dy)&&b.fr.j(0,s.fr)&&b.fx.j(0,s.fx)&&b.fy.j(0,s.fy)&&b.go.j(0,s.go)&&b.id.j(0,s.id)&&b.k1.j(0,s.k1)&&b.k2.j(0,s.k2)&&b.k3.j(0,s.k3)&&b.k4.j(0,s.k4)&&b.ok.j(0,s.ok)&&b.p1.j(0,s.p1)&&b.p2.j(0,s.p2)&&b.p3.j(0,s.p3)&&J.e(b.p4,s.p4)&&b.R8.j(0,s.R8)&&b.RG.j(0,s.RG)&&b.rx.j(0,s.rx)&&b.ry.j(0,s.ry)&&b.to.j(0,s.to)&&b.x1.j(0,s.x1)&&b.x2.j(0,s.x2)&&b.xr.j(0,s.xr)&&b.y1.j(0,s.y1)&&b.y2.j(0,s.y2)&&b.aY.j(0,s.aY)&&b.by.j(0,s.by)&&b.a5.j(0,s.a5)&&b.aV.j(0,s.aV)&&b.bw.j(0,s.bw)&&b.bn.j(0,s.bn)&&b.E.j(0,s.E)&&b.Z.j(0,s.Z)&&b.a3.j(0,s.a3)&&b.al.j(0,s.al)&&b.aq.j(0,s.aq)&&b.S.j(0,s.S)&&b.O.j(0,s.O)&&b.af.j(0,s.af)&&b.ar.j(0,s.ar)&&b.bX.j(0,s.bX)&&b.c4.j(0,s.c4)&&b.hS.j(0,s.hS)&&b.eZ.j(0,s.eZ)&&b.C.j(0,s.C)&&b.dV.j(0,s.dV)&&b.ag.j(0,s.ag)&&b.hi.j(0,s.hi)&&b.cd.j(0,s.cd)&&b.dW.j(0,s.dW)&&b.hT.j(0,s.hT)&&b.iB.j(0,s.iB)&&b.m8.j(0,s.m8)&&b.cw.j(0,s.cw)&&b.dE.j(0,s.dE)&&b.ef.j(0,s.ef)&&b.o6.j(0,s.o6)&&b.o7.j(0,s.o7)&&b.jr.j(0,s.jr)&&b.kK.j(0,s.kK)}, +gt(a){var s=this,r=s.d,q=A.a7(new A.aZ(r,A.o(r).h("aZ<1>")),!0,t.X) +B.b.L(q,r.gaI(0)) +q.push(s.a) +q.push(s.b) +r=s.c +B.b.L(q,r.gbr(r)) +B.b.L(q,r.gaI(r)) +q.push(s.e) +q.push(s.f) +q.push(s.r) +q.push(s.w) +q.push(s.x) +q.push(s.y) +q.push(!0) +q.push(s.Q) +q.push(s.as) +q.push(s.at) +q.push(s.ax) +q.push(s.ay) +q.push(s.ch) +q.push(s.CW) +q.push(s.cx) +q.push(s.cy) +q.push(s.db) +q.push(s.dx) +q.push(s.dy) +q.push(s.fr) +q.push(s.fx) +q.push(s.fy) +q.push(s.go) +q.push(s.id) +q.push(s.k1) +q.push(s.k2) +q.push(s.k3) +q.push(s.k4) +q.push(s.ok) +q.push(s.p1) +q.push(s.p2) +q.push(s.p3) +q.push(s.p4) +q.push(s.R8) +q.push(s.RG) +q.push(s.rx) +q.push(s.ry) +q.push(s.to) +q.push(s.x1) +q.push(s.x2) +q.push(s.xr) +q.push(s.y1) +q.push(s.y2) +q.push(s.aY) +q.push(s.by) +q.push(s.a5) +q.push(s.aV) +q.push(s.bw) +q.push(s.bn) +q.push(s.E) +q.push(s.Z) +q.push(s.a3) +q.push(s.al) +q.push(s.aq) +q.push(s.S) +q.push(s.O) +q.push(s.af) +q.push(s.ar) +q.push(s.bX) +q.push(s.c4) +q.push(s.hS) +q.push(s.eZ) +q.push(s.C) +q.push(s.dV) +q.push(s.ag) +q.push(s.hi) +q.push(s.cd) +q.push(s.dW) +q.push(s.hT) +q.push(s.iB) +q.push(s.m8) +q.push(s.cw) +q.push(s.dE) +q.push(s.ef) +q.push(s.o6) +q.push(s.o7) +q.push(s.jr) +q.push(s.kK) +return A.bO(q)}} +A.abz.prototype={ +$0(){var s=this.a,r=this.b +return s.aa2(r.ce(s.p1),r.ce(s.p2))}, +$S:262} +A.abx.prototype={ +$2(a,b){return new A.bw(a,b.agX(this.a.c.k(0,a),this.b),t.sw)}, +$S:263} +A.aby.prototype={ +$1(a){return!this.a.c.a9(0,a.a)}, +$S:264} +A.HC.prototype={ +glJ(){var s=this.ch.a +return s==null?this.ay.ax.a:s}, +giQ(){var s=this.ch.b +return s==null?this.ay.ax.b:s}, +gmp(){var s=this.ch.c +return s==null?this.ay.ax.c:s}, +gmM(){var s=this.ch.f +return s==null?this.ay.go:s}} +A.alT.prototype={} +A.to.prototype={ +gt(a){return(A.pj(this.a)^A.pj(this.b))>>>0}, +j(a,b){if(b==null)return!1 +return b instanceof A.to&&b.a===this.a&&b.b===this.b}} +A.NI.prototype={ +bk(a,b,c){var s,r=this.a,q=r.k(0,b) +if(q!=null)return q +if(r.a===this.b)r.A(0,new A.aZ(r,A.o(r).h("aZ<1>")).gI(0)) +s=c.$0() +r.n(0,b,s) +return s}} +A.ke.prototype={ +PE(a){var s=this.a,r=this.b,q=A.N(a.a+new A.m(s,r).ac(0,4).a,0,a.b) +return a.OV(A.N(a.c+new A.m(s,r).ac(0,4).b,0,a.d),q)}, +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.ke&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +cg(){return this.V6()+"(h: "+A.ij(this.a)+", v: "+A.ij(this.b)+")"}} +A.Sd.prototype={} +A.ST.prototype={} +A.zT.prototype={ +gqM(){var s=this.e +if(s==null)return s +return A.anT(new A.abC(this))}, +gt(a){var s=this +return A.bO([s.a,s.b,s.c,s.d,s.gqM(),s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy,s.db,s.dx,s.dy,s.fr])}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.zT&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.gqM(),s.gqM())&&J.e(b.f,s.f)&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&J.e(b.x,s.x)&&J.e(b.y,s.y)&&J.e(b.z,s.z)&&J.e(b.Q,s.Q)&&b.as==s.as&&J.e(b.at,s.at)&&J.e(b.ax,s.ax)&&J.e(b.ay,s.ay)&&J.e(b.ch,s.ch)&&J.e(b.CW,s.CW)&&J.e(b.cx,s.cx)&&J.e(b.db,s.db)&&J.e(b.dx,s.dx)&&b.dy==s.dy&&b.fr==s.fr}} +A.abC.prototype={ +$1(a){var s +if(a.p(0,B.N)){s=this.a.e +return s==null?t.n8.a(s):s}return B.Q}, +$S:8} +A.Sf.prototype={} +A.zU.prototype={ +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.y,s.x,s.z,s.Q,s.as,s.ax,s.at,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.zU&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&J.e(b.f,s.f)&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&J.e(b.y,s.y)&&J.e(b.x,s.x)&&J.e(b.z,s.z)&&J.e(b.Q,s.Q)&&J.e(b.as,s.as)&&J.e(b.ax,s.ax)&&b.at==s.at}} +A.Sh.prototype={} +A.NG.prototype={ +av(a){var s=new A.QB(!0,this.e,null,this.r,B.cZ,B.ae,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}} +A.QB.prototype={ +c5(a,b){var s,r=this,q=$.anJ +$.anJ=!1 +if(r.gv(0).p(0,b)){s=r.cW(a,b)||r.B===B.ae +if((s||r.B===B.dc)&&!$.anI){$.anI=!0 +a.D(0,new A.kS(b,r))}}else s=!1 +if(q){$.anJ=!0 +$.anI=!1}return s}} +A.zY.prototype={ +ai(){return new A.m6(new A.a5M(),A.ay(t.S),B.y,null,null)}} +A.m6.prototype={ +ga6Z(){this.a.toString +this.f===$&&A.a() +return B.Bx}, +ga0c(){this.a.toString +this.f===$&&A.a() +return!0}, +gBQ(){var s=this.a.c +return s==null?null.ahc():s}, +gkl(){var s,r=this,q=r.w +if(q==null){q=A.cG(null,B.Bw,B.hS,null,r) +q.bm() +s=q.bL$ +s.b=!0 +s.a.push(r.ga39()) +r.w=q}return q}, +a3a(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=null +$label0$0:{s=f.as===B.y +r=a===B.y +q=!s +p=q +if(p){o=r +n=o +m=n}else{n=e +m=n +o=!1}if(o){B.b.A($.oO,f) +o=f.d +l=o.a +if(l!=null)l.acH() +else o.b=null +break $label0$0}k=!0===s +o=k +j=e +if(o){if(p){i=n +h=p}else{i=r +n=i +h=!0}j=!1===i +i=j}else{h=p +i=!1}if(i){o=f.d +l=o.a +g=$.amP+1 +if(l!=null){$.amP=g +l.Up(0,g)}else o.b=$.amP=g +$.oO.push(f) +A.a9x(f.gBQ()) +break $label0$0}if(k)if(p){i=m +p=h}else{if(h){i=n +p=h}else{i=r +n=i +p=!0}m=!0===i +i=m}else{p=h +i=!1}if(!i)if(q)if(o)o=j +else{j=!1===(p?n:r) +o=j}else o=!1 +else o=!0 +if(o)break $label0$0}f.as=a}, +a6t(a,b){var s,r=this,q=new A.abJ(r,a) +if(r.gkl().gaF(0)===B.y&&b.a>0){s=r.r +if(s!=null)s.aA(0) +r.r=A.c7(b,q)}else q.$0()}, +M4(a){return this.a6t(null,a)}, +q0(a){var s=this,r=s.r +if(r!=null)r.aA(0) +s.r=null +r=s.w +r=r==null?null:r.gaF(0).grC() +if(r===!0)if(a.a>0){r=s.gkl() +s.r=A.c7(a,r.gSp(r))}else s.gkl().dd(0)}, +a7r(a){var s,r=this +r.a.toString +r.f===$&&A.a() +switch(1){case 1:s=r.y +if(s==null)s=r.y=A.aro(r,B.Kr) +s.p1=r.ga3g() +s.p2=r.ga2o() +s.R8=r.ga2N() +s.Cn(a) +break}}, +a2f(a){var s=this,r=s.z +r=r==null?null:r.CW +if(r!==a.gbj()){r=s.y +r=r==null?null:r.CW +r=r===a.gbj()}else r=!0 +if(r)return +if(s.r==null&&s.gkl().gaF(0)===B.y||!t.pY.b(a))return +s.Kw()}, +Kw(){this.a.toString +this.q0(B.q) +this.Q.J(0)}, +a2p(){var s,r=this,q=r.e +q===$&&A.a() +if(!q)return +s=r.gkl().gaF(0)===B.y +if(s)r.ga0c() +if(s){q=r.c +q.toString +A.aBs(q)}r.a.toString +r.M4(B.q)}, +a2O(){if(this.Q.a!==0)return +this.q0(this.ga6Z())}, +a2q(a){var s,r,q,p=this +p.Q.D(0,a.ghL(a)) +s=A.a_($.oO).h("aF<1>") +r=A.a7(new A.aF($.oO,new A.abI(),s),!0,s.h("j.E")) +for(s=r.length,q=0;q=10===k?!0:k)?Math.min(n,l):Math.max(m,10) +p=b.a +r=a.a-p +return new A.m(r<=20?r/2:A.N(q.a-p/2,10,r-10),s)}, +mR(a){var s +if(this.b.j(0,a.b))s=this.c!==a.c +else s=!0 +return s}} +A.Si.prototype={ +K(a){var s,r=this,q=null,p=A.aa(a).p2.z +p.toString +s=A.Zb(new A.h2(new A.aq(0,1/0,r.d,1/0),A.n7(A.cN(q,q,A.d6(q,A.EO(new A.cW(q,r.c,r.w,r.x,q,q,q),1,1),q,q,r.r,q,r.f,r.e,q),!0,q,!1,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q),q,B.c8,!0,p,q,q,B.aC),q),q,r.y) +s=A.atr(s,r.at,r.ax) +p=A.d9(a,B.jS) +p=p==null?q:p.f +p=p==null?q:p.d +if(p==null)p=0 +return A.amT(p,new A.l4(new A.aiY(r.z,r.Q,!0),s,q))}} +A.CK.prototype={ +l(){var s=this,r=s.dU$ +if(r!=null)r.H(0,s.gnx()) +s.dU$=null +s.aB()}, +bI(){this.dL() +this.d3() +this.ny()}} +A.zZ.prototype={ +gt(a){var s=this,r=null +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,r,r,r,r,r,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.zZ)if(b.a==r.a)if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(b.d==r.d)if(J.e(b.r,r.r)){s=J.e(b.w,r.w) +s}return s}} +A.Sj.prototype={} +A.a8K.prototype={ +F(){return"ScriptCategory."+this.b}} +A.rL.prototype={ +T8(a){var s +switch(a.a){case 0:s=this.c +break +case 1:s=this.d +break +case 2:s=this.e +break +default:s=null}return s}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.rL&&b.a.j(0,s.a)&&b.b.j(0,s.b)&&b.c.j(0,s.c)&&b.d.j(0,s.d)&&b.e.j(0,s.e)}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.SI.prototype={} +A.mO.prototype={ +i(a){var s=this +if(s.gii(s)===0)return A.alF(s.giq(),s.gir()) +if(s.giq()===0)return A.alE(s.gii(s),s.gir()) +return A.alF(s.giq(),s.gir())+" + "+A.alE(s.gii(s),0)}, +j(a,b){var s=this +if(b==null)return!1 +return b instanceof A.mO&&b.giq()===s.giq()&&b.gii(b)===s.gii(s)&&b.gir()===s.gir()}, +gt(a){var s=this +return A.P(s.giq(),s.gii(s),s.gir(),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.dI.prototype={ +giq(){return this.a}, +gii(a){return 0}, +gir(){return this.b}, +ad(a,b){return new A.dI(this.a-b.a,this.b-b.b)}, +a4(a,b){return new A.dI(this.a+b.a,this.b+b.b)}, +ac(a,b){return new A.dI(this.a*b,this.b*b)}, +hG(a){var s=a.a/2,r=a.b/2 +return new A.m(s+this.a*s,r+this.b*r)}, +Et(a,b){var s=b.a,r=a.a,q=(b.c-s-r)/2,p=b.b,o=a.b,n=(b.d-p-o)/2 +s=s+q+this.a*q +p=p+n+this.b*n +return new A.D(s,p,s+r,p+o)}, +X(a,b){return this}, +i(a){return A.alF(this.a,this.b)}} +A.e7.prototype={ +giq(){return 0}, +gii(a){return this.a}, +gir(){return this.b}, +ad(a,b){return new A.e7(this.a-b.a,this.b-b.b)}, +a4(a,b){return new A.e7(this.a+b.a,this.b+b.b)}, +ac(a,b){return new A.e7(this.a*b,this.b*b)}, +X(a,b){var s,r=this +switch(b.a){case 0:s=new A.dI(-r.a,r.b) +break +case 1:s=new A.dI(r.a,r.b) +break +default:s=null}return s}, +i(a){return A.alE(this.a,this.b)}} +A.P_.prototype={ +ac(a,b){return new A.P_(this.a*b,this.b*b,this.c*b)}, +X(a,b){var s,r=this +switch(b.a){case 0:s=new A.dI(r.a-r.b,r.c) +break +case 1:s=new A.dI(r.a+r.b,r.c) +break +default:s=null}return s}, +giq(){return this.a}, +gii(a){return this.b}, +gir(){return this.c}} +A.yk.prototype={ +F(){return"RenderComparison."+this.b}} +A.Em.prototype={ +F(){return"Axis."+this.b}} +A.ac9.prototype={ +F(){return"VerticalDirection."+this.b}} +A.pA.prototype={ +F(){return"AxisDirection."+this.b}} +A.II.prototype={ +QI(a,b,c,d){var s=$.am(),r=a.a +r.toString +return s.iH(r,!1,c,d)}, +adc(a){return this.QI(a,!1,null,null)}, +QJ(a,b){return A.Dw(a,b)}, +adf(a){return this.QJ(a,null)}} +A.RZ.prototype={ +ae(){var s,r,q +for(s=this.a,s=A.dr(s,s.r,A.o(s).c),r=s.$ti.c;s.q();){q=s.d;(q==null?r.a(q):q).$0()}}, +Y(a,b){this.a.D(0,b)}, +H(a,b){this.a.A(0,b)}} +A.uL.prototype={ +yW(a){var s=this +return new A.Bi(s.ge7().ad(0,a.ge7()),s.gh1().ad(0,a.gh1()),s.gfY().ad(0,a.gfY()),s.ghA().ad(0,a.ghA()),s.ge8().ad(0,a.ge8()),s.gh0().ad(0,a.gh0()),s.ghB().ad(0,a.ghB()),s.gfX().ad(0,a.gfX()))}, +D(a,b){var s=this +return new A.Bi(s.ge7().a4(0,b.ge7()),s.gh1().a4(0,b.gh1()),s.gfY().a4(0,b.gfY()),s.ghA().a4(0,b.ghA()),s.ge8().a4(0,b.ge8()),s.gh0().a4(0,b.gh0()),s.ghB().a4(0,b.ghB()),s.gfX().a4(0,b.gfX()))}, +i(a){var s,r,q,p,o=this +if(o.ge7().j(0,o.gh1())&&o.gh1().j(0,o.gfY())&&o.gfY().j(0,o.ghA()))if(!o.ge7().j(0,B.B))s=o.ge7().a===o.ge7().b?"BorderRadius.circular("+B.c.R(o.ge7().a,1)+")":"BorderRadius.all("+o.ge7().i(0)+")" +else s=null +else{r=""+"BorderRadius.only(" +q=!o.ge7().j(0,B.B) +if(q)r+="topLeft: "+o.ge7().i(0) +if(!o.gh1().j(0,B.B)){if(q)r+=", " +r+="topRight: "+o.gh1().i(0) +q=!0}if(!o.gfY().j(0,B.B)){if(q)r+=", " +r+="bottomLeft: "+o.gfY().i(0) +q=!0}if(!o.ghA().j(0,B.B)){if(q)r+=", " +r+="bottomRight: "+o.ghA().i(0)}r+=")" +s=r.charCodeAt(0)==0?r:r}if(o.ge8().j(0,o.gh0())&&o.gh0().j(0,o.gfX())&&o.gfX().j(0,o.ghB()))if(!o.ge8().j(0,B.B))p=o.ge8().a===o.ge8().b?"BorderRadiusDirectional.circular("+B.c.R(o.ge8().a,1)+")":"BorderRadiusDirectional.all("+o.ge8().i(0)+")" +else p=null +else{r=""+"BorderRadiusDirectional.only(" +q=!o.ge8().j(0,B.B) +if(q)r+="topStart: "+o.ge8().i(0) +if(!o.gh0().j(0,B.B)){if(q)r+=", " +r+="topEnd: "+o.gh0().i(0) +q=!0}if(!o.ghB().j(0,B.B)){if(q)r+=", " +r+="bottomStart: "+o.ghB().i(0) +q=!0}if(!o.gfX().j(0,B.B)){if(q)r+=", " +r+="bottomEnd: "+o.gfX().i(0)}r+=")" +p=r.charCodeAt(0)==0?r:r}r=s==null +if(!r&&p!=null)return A.h(s)+" + "+p +r=r?p:s +return r==null?"BorderRadius.zero":r}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.uL&&b.ge7().j(0,s.ge7())&&b.gh1().j(0,s.gh1())&&b.gfY().j(0,s.gfY())&&b.ghA().j(0,s.ghA())&&b.ge8().j(0,s.ge8())&&b.gh0().j(0,s.gh0())&&b.ghB().j(0,s.ghB())&&b.gfX().j(0,s.gfX())}, +gt(a){var s=this +return A.P(s.ge7(),s.gh1(),s.gfY(),s.ghA(),s.ge8(),s.gh0(),s.ghB(),s.gfX(),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.cH.prototype={ +ge7(){return this.a}, +gh1(){return this.b}, +gfY(){return this.c}, +ghA(){return this.d}, +ge8(){return B.B}, +gh0(){return B.B}, +ghB(){return B.B}, +gfX(){return B.B}, +eo(a){var s=this,r=s.a.h7(0,B.B),q=s.b.h7(0,B.B) +return A.Jb(a,s.c.h7(0,B.B),s.d.h7(0,B.B),r,q)}, +yW(a){if(a instanceof A.cH)return this.ad(0,a) +return this.UR(a)}, +D(a,b){if(b instanceof A.cH)return this.a4(0,b) +return this.UQ(0,b)}, +ad(a,b){var s=this +return new A.cH(s.a.ad(0,b.a),s.b.ad(0,b.b),s.c.ad(0,b.c),s.d.ad(0,b.d))}, +a4(a,b){var s=this +return new A.cH(s.a.a4(0,b.a),s.b.a4(0,b.b),s.c.a4(0,b.c),s.d.a4(0,b.d))}, +ac(a,b){var s=this +return new A.cH(s.a.ac(0,b),s.b.ac(0,b),s.c.ac(0,b),s.d.ac(0,b))}, +X(a,b){return this}} +A.Bi.prototype={ +ac(a,b){var s=this +return new A.Bi(s.a.ac(0,b),s.b.ac(0,b),s.c.ac(0,b),s.d.ac(0,b),s.e.ac(0,b),s.f.ac(0,b),s.r.ac(0,b),s.w.ac(0,b))}, +X(a,b){var s=this +switch(b.a){case 0:return new A.cH(s.a.a4(0,s.f),s.b.a4(0,s.e),s.c.a4(0,s.w),s.d.a4(0,s.r)) +case 1:return new A.cH(s.a.a4(0,s.e),s.b.a4(0,s.f),s.c.a4(0,s.r),s.d.a4(0,s.w))}}, +ge7(){return this.a}, +gh1(){return this.b}, +gfY(){return this.c}, +ghA(){return this.d}, +ge8(){return this.e}, +gh0(){return this.f}, +ghB(){return this.r}, +gfX(){return this.w}} +A.Eu.prototype={ +F(){return"BorderStyle."+this.b}} +A.cA.prototype={ +bf(a,b){var s=Math.max(0,this.b*b),r=b<=0?B.a9:this.c +return new A.cA(this.a,s,r,-1)}, +iX(){switch(this.c.a){case 1:var s=$.am().b8() +s.sab(0,this.a) +s.sdK(this.b) +s.scp(0,B.Y) +return s +case 0:s=$.am().b8() +s.sab(0,B.Q) +s.sdK(0) +s.scp(0,B.Y) +return s}}, +gdJ(){return this.b*(1-(1+this.d)/2)}, +gmZ(){return this.b*(1+this.d)/2}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.cA&&b.a.j(0,s.a)&&b.b===s.b&&b.c===s.c&&b.d===s.d}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +cg(){return"BorderSide"}} +A.bT.prototype={ +h2(a,b,c){return null}, +D(a,b){return this.h2(0,b,!1)}, +a4(a,b){var s=this.D(0,b) +if(s==null)s=b.h2(0,this,!0) +return s==null?new A.hw(A.b([b,this],t.N_)):s}, +cH(a,b){if(a==null)return this.bf(0,b) +return null}, +cI(a,b){if(a==null)return this.bf(0,1-b) +return null}, +i(a){return"ShapeBorder()"}} +A.da.prototype={ +gnS(){var s=Math.max(this.a.gdJ(),0) +return new A.aJ(s,s,s,s)}, +cH(a,b){if(a==null)return this.bf(0,b) +return null}, +cI(a,b){if(a==null)return this.bf(0,1-b) +return null}} +A.hw.prototype={ +gnS(){return B.b.abB(this.a,B.ak,new A.adP())}, +h2(a,b,c){var s,r,q,p=b instanceof A.hw +if(!p){s=this.a +r=c?B.b.gT(s):B.b.gI(s) +q=r.h2(0,b,c) +if(q==null)q=b.h2(0,r,!c) +if(q!=null){p=A.a7(s,!0,t.RY) +p[c?p.length-1:0]=q +return new A.hw(p)}}s=A.b([],t.N_) +if(c)B.b.L(s,this.a) +if(p)B.b.L(s,b.a) +else s.push(b) +if(!c)B.b.L(s,this.a) +return new A.hw(s)}, +D(a,b){return this.h2(0,b,!1)}, +bf(a,b){var s=this.a,r=A.a_(s).h("aw<1,bT>") +return new A.hw(A.a7(new A.aw(s,new A.adQ(b),r),!0,r.h("aD.E")))}, +cH(a,b){return A.ato(a,this,b)}, +cI(a,b){return A.ato(this,a,b)}, +hu(a,b){return B.b.gI(this.a).hu(a,b)}, +iM(a,b,c){var s,r,q,p +for(s=this.a,r=s.length,q=0;q") +return new A.aw(new A.co(s,r),new A.adR(),r.h("aw")).bD(0," + ")}} +A.adP.prototype={ +$2(a,b){return a.D(0,b.gnS())}, +$S:269} +A.adQ.prototype={ +$1(a){return a.bf(0,this.a)}, +$S:270} +A.adR.prototype={ +$1(a){return a.i(0)}, +$S:271} +A.Mi.prototype={} +A.Ez.prototype={ +F(){return"BoxShape."+this.b}} +A.Ev.prototype={ +h2(a,b,c){return null}, +D(a,b){return this.h2(0,b,!1)}, +hu(a,b){var s=$.am().dC() +s.vN(a) +return s}} +A.dV.prototype={ +gnS(){var s,r=this +if(r.gNQ()){s=r.a.gdJ() +return new A.aJ(s,s,s,s)}return new A.aJ(r.d.gdJ(),r.a.gdJ(),r.b.gdJ(),r.c.gdJ())}, +grF(){var s,r=this,q=r.a,p=q.a,o=r.d,n=!1 +if(o.a.j(0,p)&&r.c.a.j(0,p)&&r.b.a.j(0,p))if(r.gNQ())if(r.gq3()){s=q.d +q=o.d===s&&r.c.d===s&&r.b.d===s}else q=n +else q=n +else q=n +return q}, +gNQ(){var s=this,r=s.a.b +return s.d.b===r&&s.c.b===r&&s.b.b===r}, +gq3(){var s=this,r=s.a.c +return s.d.c===r&&s.c.c===r&&s.b.c===r}, +h2(a,b,c){var s=this +if(b instanceof A.dV&&A.jo(s.a,b.a)&&A.jo(s.b,b.b)&&A.jo(s.c,b.c)&&A.jo(s.d,b.d))return new A.dV(A.hD(s.a,b.a),A.hD(s.b,b.b),A.hD(s.c,b.c),A.hD(s.d,b.d)) +return null}, +D(a,b){return this.h2(0,b,!1)}, +bf(a,b){var s=this +return new A.dV(s.a.bf(0,b),s.b.bf(0,b),s.c.bf(0,b),s.d.bf(0,b))}, +cH(a,b){if(a instanceof A.dV)return A.alJ(a,this,b) +return this.HC(a,b)}, +cI(a,b){if(a instanceof A.dV)return A.alJ(this,a,b) +return this.HD(a,b)}, +xC(a,b,c,d,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this +if(e.grF()){s=e.a +switch(s.c.a){case 0:return +case 1:switch(d.a){case 1:A.apE(a,b,s) +break +case 0:if(c!=null&&!c.j(0,B.ah)){A.apF(a,b,s,c) +return}A.apG(a,b,s) +break}return}}if(e.gq3()&&e.a.c===B.a9)return +s=A.ay(t.n8) +r=e.a +q=r.c +p=q===B.a9 +if(!p)s.D(0,r.a) +o=e.b +n=o.c +m=n===B.a9 +if(!m)s.D(0,o.a) +l=e.c +k=l.c +j=k===B.a9 +if(!j)s.D(0,l.a) +i=e.d +h=i.c +g=h===B.a9 +if(!g)s.D(0,i.a) +f=!0 +if(!(q===B.a5&&r.b===0))if(!(n===B.a5&&o.b===0)){if(!(k===B.a5&&l.b===0))q=h===B.a5&&i.b===0 +else q=f +f=q}q=!1 +if(s.a===1)if(!f)if(d!==B.k9)q=c!=null&&!c.j(0,B.ah) +else q=!0 +if(q){if(p)r=B.v +q=m?B.v:o +p=j?B.v:l +o=g?B.v:i +A.apI(a,b,c,p,s.gI(0),o,q,d,a0,r) +return}A.avM(a,b,l,i,o,r)}, +iM(a,b,c){return this.xC(a,b,null,B.b7,c)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.dV&&b.a.j(0,s.a)&&b.b.j(0,s.b)&&b.c.j(0,s.c)&&b.d.j(0,s.d)}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s,r,q=this +if(q.grF())return"Border.all("+q.a.i(0)+")" +s=A.b([],t.s) +r=q.a +if(!r.j(0,B.v))s.push("top: "+r.i(0)) +r=q.b +if(!r.j(0,B.v))s.push("right: "+r.i(0)) +r=q.c +if(!r.j(0,B.v))s.push("bottom: "+r.i(0)) +r=q.d +if(!r.j(0,B.v))s.push("left: "+r.i(0)) +return"Border("+B.b.bD(s,", ")+")"}} +A.e8.prototype={ +gnS(){var s,r=this +if(r.grF()){s=r.a.gdJ() +return new A.f_(s,s,s,s)}return new A.f_(r.b.gdJ(),r.a.gdJ(),r.c.gdJ(),r.d.gdJ())}, +grF(){var s,r,q=this,p=q.a,o=p.a,n=q.b,m=!1 +if(n.a.j(0,o)&&q.d.a.j(0,o)&&q.c.a.j(0,o)){s=p.b +if(n.b===s&&q.d.b===s&&q.c.b===s)if(q.gq3()){r=p.d +p=n.d===r&&q.d.d===r&&q.c.d===r}else p=m +else p=m}else p=m +return p}, +gq3(){var s=this,r=s.a.c +return s.b.c===r&&s.d.c===r&&s.c.c===r}, +h2(a,b,c){var s,r,q,p=this,o=null +if(b instanceof A.e8){s=p.a +r=b.a +if(A.jo(s,r)&&A.jo(p.b,b.b)&&A.jo(p.c,b.c)&&A.jo(p.d,b.d))return new A.e8(A.hD(s,r),A.hD(p.b,b.b),A.hD(p.c,b.c),A.hD(p.d,b.d)) +return o}if(b instanceof A.dV){s=b.a +r=p.a +if(!A.jo(s,r)||!A.jo(b.c,p.d))return o +q=p.b +if(!q.j(0,B.v)||!p.c.j(0,B.v)){if(!b.d.j(0,B.v)||!b.b.j(0,B.v))return o +return new A.e8(A.hD(s,r),q,p.c,A.hD(b.c,p.d))}return new A.dV(A.hD(s,r),b.b,A.hD(b.c,p.d),b.d)}return o}, +D(a,b){return this.h2(0,b,!1)}, +bf(a,b){var s=this +return new A.e8(s.a.bf(0,b),s.b.bf(0,b),s.c.bf(0,b),s.d.bf(0,b))}, +cH(a,b){if(a instanceof A.e8)return A.alI(a,this,b) +return this.HC(a,b)}, +cI(a,b){if(a instanceof A.e8)return A.alI(this,a,b) +return this.HD(a,b)}, +xC(a,b,a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this +if(c.grF()){s=c.a +switch(s.c.a){case 0:return +case 1:switch(a1.a){case 1:A.apE(a,b,s) +break +case 0:if(a0!=null&&!a0.j(0,B.ah)){A.apF(a,b,s,a0) +return}A.apG(a,b,s) +break}return}}if(c.gq3()&&c.a.c===B.a9)return +switch(a2.a){case 0:s=new A.au(c.c,c.b) +break +case 1:s=new A.au(c.b,c.c) +break +default:s=null}r=s.a +q=null +p=s.b +q=p +o=r +s=A.ay(t.n8) +n=c.a +m=n.c +l=m===B.a9 +if(!l)s.D(0,n.a) +k=c.c +j=k.c +if(j!==B.a9)s.D(0,k.a) +i=c.d +h=i.c +g=h===B.a9 +if(!g)s.D(0,i.a) +f=c.b +e=f.c +if(e!==B.a9)s.D(0,f.a) +d=!0 +if(!(m===B.a5&&n.b===0))if(!(j===B.a5&&k.b===0)){if(!(h===B.a5&&i.b===0))m=e===B.a5&&f.b===0 +else m=d +d=m}m=!1 +if(s.a===1)if(!d)if(a1!==B.k9)m=a0!=null&&!a0.j(0,B.ah) +else m=!0 +if(m){if(l)n=B.v +m=q.c===B.a9?B.v:q +l=g?B.v:i +k=o.c===B.a9?B.v:o +A.apI(a,b,a0,l,s.gI(0),k,m,a1,a2,n) +return}A.avM(a,b,i,o,q,n)}, +iM(a,b,c){return this.xC(a,b,null,B.b7,c)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.e8&&b.a.j(0,s.a)&&b.b.j(0,s.b)&&b.c.j(0,s.c)&&b.d.j(0,s.d)}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=this,r=A.b([],t.s),q=s.a +if(!q.j(0,B.v))r.push("top: "+q.i(0)) +q=s.b +if(!q.j(0,B.v))r.push("start: "+q.i(0)) +q=s.c +if(!q.j(0,B.v))r.push("end: "+q.i(0)) +q=s.d +if(!q.j(0,B.v))r.push("bottom: "+q.i(0)) +return"BorderDirectional("+B.b.bD(r,", ")+")"}} +A.fo.prototype={ +gc6(a){var s=this.c +s=s==null?null:s.gnS() +return s==null?B.ak:s}, +bf(a,b){var s=this,r=null,q=A.q(r,s.a,b),p=A.aq2(r,s.b,b),o=A.apH(r,s.c,b),n=A.ir(r,s.d,b),m=A.apL(r,s.e,b) +return new A.fo(q,p,o,n,m,r,s.w)}, +gEB(){return this.e!=null}, +cH(a,b){if(a==null)return this.bf(0,b) +if(a instanceof A.fo)return A.apJ(a,this,b) +return this.GW(a,b)}, +cI(a,b){if(a==null)return this.bf(0,1-b) +if(a instanceof A.fo)return A.apJ(this,a,b) +return this.GX(a,b)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.fo)if(J.e(b.a,r.a))if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(A.ds(b.e,r.e))s=b.w===r.w +return s}, +gt(a){var s=this,r=s.e +r=r==null?null:A.bO(r) +return A.P(s.a,s.b,s.c,s.d,r,s.f,null,s.w,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +Qv(a,b,c){var s +switch(this.w.a){case 0:s=this.d +if(s!=null)return s.X(0,c).eo(new A.D(0,0,0+a.a,0+a.b)).p(0,b) +return!0 +case 1:return b.ad(0,a.hH(B.h)).gd8()<=Math.min(a.a,a.b)/2}}, +wd(a){return new A.ad_(this,a)}} +A.ad_.prototype={ +Ld(a,b,c,d){var s=this.b +switch(s.w.a){case 1:a.dS(b.gaR(),b.gfR()/2,c) +break +case 0:s=s.d +if(s==null||s.j(0,B.ah))a.cS(b,c) +else a.dh(s.X(0,d).eo(b),c) +break}}, +a5e(a,b,c){var s,r,q,p,o,n,m=this.b.e +if(m==null)return +for(s=m.length,r=0;r0?n*0.57735+0.5:0)) +o=b.cY(q.b) +n=q.d +this.Ld(a,new A.D(o.a-n,o.b-n,o.c+n,o.d+n),p,c)}}, +a5a(a,b,c){var s,r,q=this,p=q.b,o=p.b +if(o==null)return +if(q.e==null)q.e=o.D1(q.a) +s=null +switch(p.w.a){case 1:r=A.r3(b.gaR(),b.gfR()/2) +s=$.am().dC() +s.Cm(r) +break +case 0:p=p.d +if(p!=null){s=$.am().dC() +s.h3(p.X(0,c.d).eo(b))}break}q.e.t6(a,b,s,c)}, +l(){var s=this.e +if(s!=null)s.l() +this.UT()}, +t5(a,b,c){var s,r=this,q=c.e,p=b.a,o=b.b,n=new A.D(p,o,p+q.a,o+q.b),m=c.d +r.a5e(a,n,m) +q=r.b +p=q.a +if(p!=null){o=r.c +if(o==null){s=$.am().b8() +s.sab(0,p) +r.c=s +p=s}else p=o +p.toString +r.Ld(a,n,p,m)}r.a5a(a,n,c) +p=q.c +if(p!=null){o=q.d +o=o==null?null:o.X(0,m) +p.xC(a,n,o,q.w,m)}}, +i(a){return"BoxPainter for "+this.b.i(0)}} +A.uR.prototype={ +F(){return"BoxFit."+this.b}} +A.Gn.prototype={} +A.jq.prototype={ +bf(a,b){var s=this +return new A.jq(s.d*b,s.e,s.a,s.b.ac(0,b),s.c*b)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +if(b instanceof A.jq)if(b.a.j(0,s.a))b.b.j(0,s.b) +return!1}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=this +return"BoxShadow("+s.a.i(0)+", "+s.b.i(0)+", "+A.ij(s.c)+", "+A.ij(s.d)+", "+A.h(s.e)+")"}} +A.dv.prototype={ +bf(a,b){return new A.dv(this.b,this.a.bf(0,b))}, +cH(a,b){var s,r +if(a instanceof A.dv){s=A.aG(a.a,this.a,b) +r=A.V(a.b,this.b,b) +r.toString +return new A.dv(A.N(r,0,1),s)}return this.n1(a,b)}, +cI(a,b){var s,r +if(a instanceof A.dv){s=A.aG(this.a,a.a,b) +r=A.V(this.b,a.b,b) +r.toString +return new A.dv(A.N(r,0,1),s)}return this.n2(a,b)}, +hu(a,b){var s=$.am().dC() +s.Cm(this.Ix(a)) +return s}, +lP(a){var s=a==null?this.a:a +return new A.dv(this.b,s)}, +iM(a,b,c){var s,r=this.a +switch(r.c.a){case 0:break +case 1:s=r.b*r.d +if(this.b===0)a.dS(b.gaR(),(b.gfR()+s)/2,r.iX()) +else a.r_(this.Ix(b).eh(s/2),r.iX()) +break}}, +Ix(a){var s,r,q,p,o,n,m,l=this.b +if(l===0||a.c-a.a===a.d-a.b)return A.r3(a.gaR(),a.gfR()/2) +s=a.c +r=a.a +q=s-r +p=a.d +o=a.b +n=p-o +l=1-l +if(q").b(b)&&A.Ug(b.b,s.b)}, +gt(a){return A.P(A.t(this),this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"ColorSwatch(primary value: "+this.UW(0)+")"}} +A.hH.prototype={ +cg(){return"Decoration"}, +gc6(a){return B.ak}, +gEB(){return!1}, +cH(a,b){return null}, +cI(a,b){return null}, +Qv(a,b,c){return!0}} +A.Ex.prototype={ +l(){}} +A.N8.prototype={} +A.qo.prototype={ +F(){return"ImageRepeat."+this.b}} +A.Mg.prototype={ +D1(a){var s,r=this.a +r=r==null?null:r.D1(a) +s=this.b +s=s==null?null:s.D1(a) +return new A.acZ(r,s,this.c)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.Mg&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&b.c===s.c}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"_BlendedDecorationImage("+A.h(this.a)+", "+A.h(this.b)+", "+A.h(this.c)+")"}} +A.acZ.prototype={ +Fm(a,b,c,d,e,f){var s,r,q=this +a.fP(null,$.am().b8()) +s=q.a +r=s==null +if(!r)s.Fm(a,b,c,d,e*(1-q.c),f) +s=q.b +if(s!=null){r=!r?B.y4:f +s.Fm(a,b,c,d,e*q.c,r)}a.bH(0)}, +t6(a,b,c,d){return this.Fm(a,b,c,d,1,B.cT)}, +l(){var s=this.a +if(s!=null)s.l() +s=this.b +if(s!=null)s.l()}, +i(a){return"_BlendedDecorationImagePainter("+A.h(this.a)+", "+A.h(this.b)+", "+A.h(this.c)+")"}} +A.cS.prototype={ +gbR(){var s=this +return s.gdN(s)+s.gdO(s)+s.geU(s)+s.geS()}, +a8z(a){var s,r=this +switch(a.a){case 0:s=r.gbR() +break +case 1:s=r.gb3(r)+r.gb6(r) +break +default:s=null}return s}, +D(a,b){var s=this +return new A.mp(s.gdN(s)+b.gdN(b),s.gdO(s)+b.gdO(b),s.geU(s)+b.geU(b),s.geS()+b.geS(),s.gb3(s)+b.gb3(b),s.gb6(s)+b.gb6(b))}, +hI(a,b,c){var s=this +return new A.mp(A.N(s.gdN(s),b.a,c.a),A.N(s.gdO(s),b.c,c.b),A.N(s.geU(s),0,c.c),A.N(s.geS(),0,c.d),A.N(s.gb3(s),b.b,c.e),A.N(s.gb6(s),b.d,c.f))}, +i(a){var s=this +if(s.geU(s)===0&&s.geS()===0){if(s.gdN(s)===0&&s.gdO(s)===0&&s.gb3(s)===0&&s.gb6(s)===0)return"EdgeInsets.zero" +if(s.gdN(s)===s.gdO(s)&&s.gdO(s)===s.gb3(s)&&s.gb3(s)===s.gb6(s))return"EdgeInsets.all("+B.c.R(s.gdN(s),1)+")" +return"EdgeInsets("+B.c.R(s.gdN(s),1)+", "+B.c.R(s.gb3(s),1)+", "+B.c.R(s.gdO(s),1)+", "+B.c.R(s.gb6(s),1)+")"}if(s.gdN(s)===0&&s.gdO(s)===0)return"EdgeInsetsDirectional("+B.c.R(s.geU(s),1)+", "+B.c.R(s.gb3(s),1)+", "+B.c.R(s.geS(),1)+", "+B.c.R(s.gb6(s),1)+")" +return"EdgeInsets("+B.c.R(s.gdN(s),1)+", "+B.c.R(s.gb3(s),1)+", "+B.c.R(s.gdO(s),1)+", "+B.c.R(s.gb6(s),1)+") + EdgeInsetsDirectional("+B.c.R(s.geU(s),1)+", 0.0, "+B.c.R(s.geS(),1)+", 0.0)"}, +j(a,b){var s=this +if(b==null)return!1 +return b instanceof A.cS&&b.gdN(b)===s.gdN(s)&&b.gdO(b)===s.gdO(s)&&b.geU(b)===s.geU(s)&&b.geS()===s.geS()&&b.gb3(b)===s.gb3(s)&&b.gb6(b)===s.gb6(s)}, +gt(a){var s=this +return A.P(s.gdN(s),s.gdO(s),s.geU(s),s.geS(),s.gb3(s),s.gb6(s),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.aJ.prototype={ +gdN(a){return this.a}, +gb3(a){return this.b}, +gdO(a){return this.c}, +gb6(a){return this.d}, +geU(a){return 0}, +geS(){return 0}, +Dd(a){var s=this +return new A.D(a.a+s.a,a.b+s.b,a.c-s.c,a.d-s.d)}, +D(a,b){if(b instanceof A.aJ)return this.a4(0,b) +return this.H_(0,b)}, +hI(a,b,c){var s=this +return new A.aJ(A.N(s.a,b.a,c.a),A.N(s.b,b.b,c.e),A.N(s.c,b.c,c.b),A.N(s.d,b.d,c.f))}, +ad(a,b){var s=this +return new A.aJ(s.a-b.a,s.b-b.b,s.c-b.c,s.d-b.d)}, +a4(a,b){var s=this +return new A.aJ(s.a+b.a,s.b+b.b,s.c+b.c,s.d+b.d)}, +ac(a,b){var s=this +return new A.aJ(s.a*b,s.b*b,s.c*b,s.d*b)}, +X(a,b){return this}, +lQ(a,b,c,d){var s=this,r=b==null?s.a:b,q=d==null?s.b:d,p=c==null?s.c:c +return new A.aJ(r,q,p,a==null?s.d:a)}, +a9X(a,b){return this.lQ(a,null,null,b)}, +a9Z(a,b){return this.lQ(null,a,b,null)}, +CS(a){return this.lQ(a,null,null,null)}} +A.f_.prototype={ +geU(a){return this.a}, +gb3(a){return this.b}, +geS(){return this.c}, +gb6(a){return this.d}, +gdN(a){return 0}, +gdO(a){return 0}, +D(a,b){if(b instanceof A.f_)return this.a4(0,b) +return this.H_(0,b)}, +ad(a,b){var s=this +return new A.f_(s.a-b.a,s.b-b.b,s.c-b.c,s.d-b.d)}, +a4(a,b){var s=this +return new A.f_(s.a+b.a,s.b+b.b,s.c+b.c,s.d+b.d)}, +ac(a,b){var s=this +return new A.f_(s.a*b,s.b*b,s.c*b,s.d*b)}, +X(a,b){var s,r=this +switch(b.a){case 0:s=new A.aJ(r.c,r.b,r.a,r.d) +break +case 1:s=new A.aJ(r.a,r.b,r.c,r.d) +break +default:s=null}return s}} +A.mp.prototype={ +ac(a,b){var s=this +return new A.mp(s.a*b,s.b*b,s.c*b,s.d*b,s.e*b,s.f*b)}, +X(a,b){var s,r=this +switch(b.a){case 0:s=new A.aJ(r.d+r.a,r.e,r.c+r.b,r.f) +break +case 1:s=new A.aJ(r.c+r.a,r.e,r.d+r.b,r.f) +break +default:s=null}return s}, +gdN(a){return this.a}, +gdO(a){return this.b}, +geU(a){return this.c}, +geS(){return this.d}, +gb3(a){return this.e}, +gb6(a){return this.f}} +A.a0h.prototype={ +J(a){var s,r,q,p +for(s=this.b,r=s.gaI(0),q=A.o(r),r=new A.bt(J.al(r.a),r.b,q.h("bt<1,2>")),q=q.y[1];r.q();){p=r.a;(p==null?q.a(p):p).l()}s.J(0) +for(s=this.a,r=s.gaI(0),q=A.o(r),r=new A.bt(J.al(r.a),r.b,q.h("bt<1,2>")),q=q.y[1];r.q();){p=r.a +if(p==null)p=q.a(p) +p.a.H(0,p.b)}s.J(0) +this.f=0}, +ab9(a){var s,r,q,p=this,o=p.c.A(0,a) +if(o!=null){s=o.a +r=o.d +r===$&&A.a() +if(s.x)A.ab(A.R(u.V)) +B.b.A(s.y,r) +o.HH()}q=p.a.A(0,a) +if(q!=null){q.a.H(0,q.b) +return!0}o=p.b.A(0,a) +if(o!=null){s=p.f +r=o.b +r.toString +p.f=s-r +o.l() +return!0}return!1}, +N0(a,b,c){var s,r=this,q=b.b +if(q!=null)s=q<=104857600 +else s=!1 +if(s){s=r.f +q.toString +r.f=s+q +r.b.n(0,a,b) +r.ZI(c)}else b.l()}, +BR(a,b,c){var s=this.c.bk(0,a,new A.a0j(this,b,a)) +if(s.b==null)s.b=c}, +RS(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=null,j={},i=l.a,h=i.k(0,b),g=h==null?k:h.a +j.a=g +if(g!=null)return g +h=l.b +q=h.A(0,b) +if(q!=null){j=q.a +l.BR(b,j,q.b) +h.n(0,b,q) +return j}p=l.c.k(0,b) +if(p!=null){j=p.a +i=p.b +if(j.x)A.ab(A.R(u.V)) +h=new A.qp(j) +h.um(j) +l.N0(b,new A.Ak(j,i,h),k) +return j}try{g=j.a=c.$0() +l.BR(b,g,k) +h=g}catch(o){s=A.a9(o) +r=A.aK(o) +d.$2(s,r) +return k}j.b=!1 +n=A.bk("pendingImage") +m=new A.hS(new A.a0k(j,l,b,!0,k,n),k,k) +n.b=new A.Pu(h,m) +i.n(0,b,n.aP()) +j.a.Y(0,m) +return j.a}, +ZI(a){var s,r,q,p,o,n=this,m=n.b,l=A.o(m).h("aZ<1>") +while(!0){if(!(n.f>104857600||m.a>1000))break +s=new A.aZ(m,l).ga0(0) +if(!s.q())A.ab(A.bB()) +r=s.gG(0) +q=m.k(0,r) +p=n.f +o=q.b +o.toString +n.f=p-o +q.l() +m.A(0,r)}}} +A.a0j.prototype={ +$0(){return A.aFV(this.b,new A.a0i(this.a,this.c))}, +$S:272} +A.a0i.prototype={ +$0(){this.a.c.A(0,this.b)}, +$S:0} +A.a0k.prototype={ +$2(a,b){var s,r,q,p,o,n=this +if(a!=null){s=a.a +r=s.gaH(s)*s.gbb(s)*4 +s.l()}else r=null +s=n.a +q=s.a +if(q.x)A.ab(A.R(u.V)) +p=new A.qp(q) +p.um(q) +o=new A.Ak(q,r,p) +p=n.b +q=n.c +p.BR(q,s.a,r) +if(n.d)p.N0(q,o,n.e) +else o.l() +p.a.A(0,q) +if(!s.b){q=n.f.aP() +q.a.H(0,q.b)}s.b=!0}, +$S:273} +A.Mq.prototype={ +l(){$.bC.p2$.push(new A.adD(this))}} +A.adD.prototype={ +$1(a){var s=this.a,r=s.c +if(r!=null)r.l() +s.c=null}, +$S:6} +A.Ak.prototype={} +A.tt.prototype={ +YE(a,b,c){var s=new A.agb(this,b) +this.d=s +if(a.x)A.ab(A.R(u.V)) +a.y.push(s)}, +i(a){return"#"+A.b4(this)}} +A.agb.prototype={ +$0(){var s,r,q +this.b.$0() +s=this.a +r=s.a +q=s.d +q===$&&A.a() +if(r.x)A.ab(A.R(u.V)) +B.b.A(r.y,q) +s.HH()}, +$S:0} +A.Pu.prototype={} +A.qn.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.qn&&b.a==s.a&&b.b==s.b&&J.e(b.c,s.c)&&b.d==s.d&&J.e(b.e,s.e)&&b.f==s.f}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.e,s.f,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=this,r=""+"ImageConfiguration(",q=s.a,p=q!=null +if(p)r+="bundle: "+q.i(0) +q=s.b +if(q!=null){if(p)r+=", " +q=r+("devicePixelRatio: "+B.c.R(q,1)) +r=q +p=!0}q=s.c +if(q!=null){if(p)r+=", " +q=r+("locale: "+q.i(0)) +r=q +p=!0}q=s.d +if(q!=null){if(p)r+=", " +q=r+("textDirection: "+q.i(0)) +r=q +p=!0}q=s.e +if(q!=null){if(p)r+=", " +q=r+("size: "+q.i(0)) +r=q +p=!0}q=s.f +if(q!=null){if(p)r+=", " +q=r+("platform: "+q.b) +r=q}r+=")" +return r.charCodeAt(0)==0?r:r}} +A.fz.prototype={ +X(a,b){var s=new A.a0I() +this.a_v(b,new A.a0B(this,b,s),new A.a0C(this,s)) +return s}, +a_v(a,b,c){var s,r,q,p,o,n={} +n.a=null +n.b=!1 +s=new A.a0y(n,c) +r=null +try{r=this.xq(a)}catch(o){q=A.a9(o) +p=A.aK(o) +s.$2(q,p) +return}J.aly(r,new A.a0x(n,this,b,s),t.H).ku(s)}, +tj(a,b,c,d){var s,r +if(b.a!=null){s=$.jQ.o1$ +s===$&&A.a() +s.RS(0,c,new A.a0z(b),d) +return}s=$.jQ.o1$ +s===$&&A.a() +r=s.RS(0,c,new A.a0A(this,c),d) +if(r!=null)b.Gw(r)}, +rO(a,b){return A.atj()}, +rP(a,b){return A.atj()}, +i(a){return"ImageConfiguration()"}} +A.a0B.prototype={ +$2(a,b){this.a.tj(this.b,this.c,a,b)}, +$S(){return A.o(this.a).h("~(fz.T,~(J,cg?))")}} +A.a0C.prototype={ +$3(a,b,c){return this.T1(a,b,c)}, +T1(a,b,c){var s=0,r=A.z(t.H),q=this,p +var $async$$3=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:p=A.fe(null,t.P) +s=2 +return A.B(p,$async$$3) +case 2:p=q.b +if(p.a==null)p.Gw(new A.aeC(A.b([],t.XZ),A.b([],t.SM),A.b([],t.c))) +p=p.a +p.toString +p.y3(A.bm("while resolving an image"),b,null,!0,c) +return A.x(null,r)}}) +return A.y($async$$3,r)}, +$S(){return A.o(this.a).h("a6<~>(fz.T?,J,cg?)")}} +A.a0y.prototype={ +T0(a,b){var s=0,r=A.z(t.H),q,p=this,o +var $async$$2=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:o=p.a +if(o.b){s=1 +break}o.b=!0 +p.b.$3(o.a,a,b) +case 1:return A.x(q,r)}}) +return A.y($async$$2,r)}, +$2(a,b){return this.T0(a,b)}, +$S:274} +A.a0x.prototype={ +$1(a){var s,r,q,p=this +p.a.a=a +try{p.c.$2(a,p.d)}catch(q){s=A.a9(q) +r=A.aK(q) +p.d.$2(s,r)}}, +$S(){return A.o(this.b).h("aT(fz.T)")}} +A.a0z.prototype={ +$0(){var s=this.a.a +s.toString +return s}, +$S:115} +A.a0A.prototype={ +$0(){var s=this.a,r=this.b,q=s.rP(r,$.jQ.gade()) +return q instanceof A.LP?s.rO(r,$.jQ.gadb()):q}, +$S:115} +A.LP.prototype={} +A.iq.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.iq&&b.a===s.a&&b.b===s.b&&b.c===s.c}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"AssetBundleImageKey(bundle: "+this.a.i(0)+', name: "'+this.b+'", scale: '+A.h(this.c)+")"}} +A.Eg.prototype={ +rP(a,b){return A.a57(this.hC(a,b),a.b,null,a.c)}, +rO(a,b){return A.a57(this.hC(a,b),a.b,null,a.c)}, +hC(a,b){return this.a40(a,b)}, +a40(a,b){var s=0,r=A.z(t.hP),q,p=2,o,n,m,l,k +var $async$hC=A.A(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:l=null +p=4 +s=7 +return A.B(a.a.xa(a.b),$async$hC) +case 7:l=d +p=2 +s=6 +break +case 4:p=3 +k=o +if(A.a9(k) instanceof A.nl){m=$.jQ.o1$ +m===$&&A.a() +m.ab9(a) +throw k}else throw k +s=6 +break +case 3:s=2 +break +case 6:q=b.$1(l) +s=1 +break +case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$hC,r)}} +A.lz.prototype={ +xq(a){return new A.ci(this,t.Q6)}, +rO(a,b){return A.a57(this.hC(a,b),"MemoryImage("+("#"+A.b4(a.a))+")",null,a.b)}, +rP(a,b){return A.a57(this.hC(a,b),"MemoryImage("+("#"+A.b4(a.a))+")",null,a.b)}, +hC(a,b){return this.a41(a,b)}, +a41(a,b){var s=0,r=A.z(t.hP),q,p=this,o +var $async$hC=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:o=b +s=3 +return A.B(A.H0(p.a),$async$hC) +case 3:q=o.$1(d) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$hC,r)}, +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.lz&&b.a===this.a&&b.b===this.b}, +gt(a){return A.P(A.f8(this.a),this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"MemoryImage("+("#"+A.b4(this.a))+", scale: "+B.f.R(this.b,1)+")"}} +A.aeC.prototype={} +A.uH.prototype={ +goo(){return this.a}, +xq(a){var s,r={},q=a.a +if(q==null)q=$.Uz() +r.a=r.b=null +s=t.P +A.aBO(A.azB(q).b_(0,new A.V3(r,this,a,q),s),new A.V4(r),s,t.K) +s=r.a +if(s!=null)return s +s=new A.a8($.ae,t.Lv) +r.b=new A.b1(s,t.JL) +return s}, +ZS(a,b,c){var s,r,q,p,o +if(c==null||c.length===0||b.b==null)return new A.kO(null,a) +s=A.ana(t.i,t.pR) +for(r=c.length,q=0;q(r+q)/2){s=a.k(0,q) +s.toString +return s}else{s=a.k(0,r) +s.toString +return s}}, +j(a,b){var s +if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +if(b instanceof A.uH)s=b.goo()===this.goo() +else s=!1 +return s}, +gt(a){return A.P(this.goo(),this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"AssetImage(bundle: "+A.h(this.b)+', name: "'+this.goo()+'")'}} +A.V3.prototype={ +$1(a){var s,r,q=this,p=q.b,o=a.Tb(p.goo()),n=p.ZS(p.goo(),q.c,o) +p=n.a +if(p==null)p=1 +s=new A.iq(q.d,n.b,p) +p=q.a +r=p.b +if(r!=null)r.cA(0,s) +else p.a=new A.ci(s,t.WT)}, +$S:276} +A.V4.prototype={ +$2(a,b){this.a.b.lO(a,b)}, +$S:38} +A.hR.prototype={ +d5(a){return new A.hR(this.a.d5(0),this.b,this.c)}, +i(a){var s=this.c +s=s!=null?s+" ":"" +return s+this.a.i(0)+" @ "+A.ij(this.b)+"x"}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.hR&&b.a===s.a&&b.b===s.b&&b.c==s.c}} +A.hS.prototype={ +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.hS&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)}, +aew(a,b){return this.a.$2(a,b)}} +A.a0I.prototype={ +Gw(a){var s,r=this +r.a=a +s=r.b +if(s!=null){r.b=null +a.r=!0 +B.b.W(s,a.gvL(a)) +r.a.r=!1}}, +Y(a,b){var s=this.a +if(s!=null)return s.Y(0,b) +s=this.b;(s==null?this.b=A.b([],t.XZ):s).push(b)}, +H(a,b){var s,r=this.a +if(r!=null)return r.H(0,b) +for(s=0;r=this.b,s")),t.kE),!0,t.CF) +n=i.b +B.b.L(o,n) +B.b.J(n) +s=!1 +for(n=o.length,m=0;m=s.a}else r=!0 +if(r){s=p.ax +p.Jh(new A.hR(s.geE(s).d5(0),p.as,p.e)) +p.ay=a +s=p.ax +p.ch=s.gPD(s) +s=p.ax +s.geE(s).l() +p.ax=null +q=B.f.eR(p.CW,p.Q.grn()) +if(p.Q.gy0()===-1||q<=p.Q.gy0())p.nf() +return}s.toString +r=p.ay +r===$&&A.a() +p.cx=A.c7(new A.aP(B.f.a2(s.a-(a.a-r.a))),new A.a58(p))}, +nf(){var s=0,r=A.z(t.H),q,p=2,o,n=this,m,l,k,j,i +var $async$nf=A.A(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:j=n.ax +if(j!=null)j.geE(j).l() +n.ax=null +p=4 +s=7 +return A.B(n.Q.fO(),$async$nf) +case 7:n.ax=b +p=2 +s=6 +break +case 4:p=3 +i=o +m=A.a9(i) +l=A.aK(i) +n.y3(A.bm("resolving an image frame"),m,n.at,!0,l) +s=1 +break +s=6 +break +case 3:s=2 +break +case 6:if(n.Q.grn()===1){if(n.a.length===0){s=1 +break}j=n.ax +n.Jh(new A.hR(j.geE(j).d5(0),n.as,n.e)) +j=n.ax +j.geE(j).l() +n.ax=null +s=1 +break}n.M_() +case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$nf,r)}, +M_(){if(this.cy)return +this.cy=!0 +$.bC.yC(this.ga1s())}, +Jh(a){this.U5(a);++this.CW}, +Y(a,b){var s,r=this,q=!1 +if(r.a.length===0){s=r.Q +if(s!=null)q=r.c==null||s.grn()>1}if(q)r.nf() +r.Vh(0,b)}, +H(a,b){var s,r=this +r.Vi(0,b) +if(r.a.length===0){s=r.cx +if(s!=null)s.aA(0) +r.cx=null}}, +v3(){this.Vg() +if(this.x)this.z=null}} +A.a59.prototype={ +$2(a,b){this.a.y3(A.bm("resolving an image codec"),a,this.b,!0,b)}, +$S:38} +A.a58.prototype={ +$0(){this.a.M_()}, +$S:0} +A.On.prototype={} +A.Om.prototype={} +A.E3.prototype={} +A.qs.prototype={ +j(a,b){var s +if(b==null)return!1 +s=!1 +if(b instanceof A.qs)if(b.a===this.a)if(b.b==this.b)s=A.ds(b.f,this.f) +return s}, +gt(a){return A.P(this.a,this.b,this.c,!1,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"InlineSpanSemanticsInformation{text: "+this.a+", semanticsLabel: "+A.h(this.b)+", recognizer: "+A.h(this.c)+"}"}} +A.jF.prototype={ +TF(a){var s={} +s.a=null +this.bo(new A.a0S(s,a,new A.E3())) +return s.a}, +oK(a){var s,r=new A.ch("") +this.OI(r,!0,a) +s=r.a +return s.charCodeAt(0)==0?s:s}, +nJ(a,b){var s={} +if(b<0)return null +s.a=null +this.bo(new A.a0R(s,b,new A.E3())) +return s.a}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.rH&&J.e(b.a,this.a)}, +gt(a){return J.u(this.a)}} +A.a0S.prototype={ +$1(a){var s=a.TG(this.b,this.c) +this.a.a=s +return s==null}, +$S:88} +A.a0R.prototype={ +$1(a){var s=a.a9s(this.b,this.c) +this.a.a=s +return s==null}, +$S:88} +A.d4.prototype={ +bf(a,b){var s=this.a.bf(0,b) +return new A.d4(this.b.ac(0,b),s)}, +cH(a,b){var s,r,q=this +if(a instanceof A.d4){s=A.aG(a.a,q.a,b) +r=A.ir(a.b,q.b,b) +r.toString +return new A.d4(r,s)}if(a instanceof A.dv){s=A.aG(a.a,q.a,b) +return new A.ei(q.b,1-b,a.b,s)}return q.n1(a,b)}, +cI(a,b){var s,r,q=this +if(a instanceof A.d4){s=A.aG(q.a,a.a,b) +r=A.ir(q.b,a.b,b) +r.toString +return new A.d4(r,s)}if(a instanceof A.dv){s=A.aG(q.a,a.a,b) +return new A.ei(q.b,b,a.b,s)}return q.n2(a,b)}, +lP(a){var s=a==null?this.a:a +return new A.d4(this.b,s)}, +hu(a,b){var s=$.am().dC() +s.h3(this.b.X(0,b).eo(a)) +return s}, +iM(a,b,c){var s,r,q,p,o=this.a +switch(o.c.a){case 0:break +case 1:s=this.b +if(o.b===0)a.dh(s.X(0,c).eo(b),o.iX()) +else{r=$.am().b8() +r.sab(0,o.a) +q=s.X(0,c).eo(b) +p=q.eh(-o.gdJ()) +a.nT(q.eh(o.gmZ()),p,r)}break}}, +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.d4&&b.a.j(0,this.a)&&b.b.j(0,this.b)}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"RoundedRectangleBorder("+this.a.i(0)+", "+this.b.i(0)+")"}} +A.ei.prototype={ +bf(a,b){var s=this.a.bf(0,b) +return new A.ei(this.b.ac(0,b),b,this.d,s)}, +cH(a,b){var s,r,q,p=this +if(a instanceof A.d4){s=A.aG(a.a,p.a,b) +r=A.ir(a.b,p.b,b) +r.toString +return new A.ei(r,p.c*b,p.d,s)}if(a instanceof A.dv){s=A.aG(a.a,p.a,b) +r=p.c +return new A.ei(p.b,r+(1-r)*(1-b),a.b,s)}if(a instanceof A.ei){s=A.aG(a.a,p.a,b) +r=A.ir(a.b,p.b,b) +r.toString +q=A.V(a.c,p.c,b) +q.toString +return new A.ei(r,q,p.d,s)}return p.n1(a,b)}, +cI(a,b){var s,r,q,p=this +if(a instanceof A.d4){s=A.aG(p.a,a.a,b) +r=A.ir(p.b,a.b,b) +r.toString +return new A.ei(r,p.c*(1-b),p.d,s)}if(a instanceof A.dv){s=A.aG(p.a,a.a,b) +r=p.c +return new A.ei(p.b,r+(1-r)*b,a.b,s)}if(a instanceof A.ei){s=A.aG(p.a,a.a,b) +r=A.ir(p.b,a.b,b) +r.toString +q=A.V(p.c,a.c,b) +q.toString +return new A.ei(r,q,p.d,s)}return p.n2(a,b)}, +HZ(a){var s,r,q,p,o,n,m,l,k=this.c +if(k===0||a.c-a.a===a.d-a.b)return a +s=a.c +r=a.a +q=s-r +p=a.d +o=a.b +n=p-o +m=1-this.d +if(q>>0)+r+-56613888 +break $label0$0}if(56320===s){r=r.nJ(0,a-1) +r.toString +r=(r<<10>>>0)+q+-56613888 +break $label0$0}r=q +break $label0$0}return r}, +a72(a,b){var s,r=this.a_1(b?a-1:a),q=b?a:a-1,p=this.a.nJ(0,q) +if(!(r==null||p==null||A.anv(r)||A.anv(p))){q=A.i_("[\\p{Space_Separator}\\p{Punctuation}]",!0,!0) +s=A.dN(r) +q=!q.b.test(s)}else q=!0 +return q}} +A.aj3.prototype={ +fc(a){var s +if(a<0)return null +s=this.b.fc(a) +return s==null||this.a.$2(s,!1)?s:this.fc(s-1)}, +fd(a){var s=this.b.fd(Math.max(a,0)) +return s==null||this.a.$2(s,!0)?s:this.fd(s)}} +A.aiT.prototype={ +G7(a){var s +switch(a.a){case 0:s=this.c +s=s.gqh(s) +break +case 1:s=this.c +s=s.gQz(s) +break +default:s=null}return s}, +a_7(){var s,r,q,p,o,n,m=this,l=m.b.gxK(),k=m.c.gEZ() +k=m.c.ys(k-1) +k.toString +s=l.charCodeAt(l.length-1) +$label0$0:{r=9===s||12288===s||32===s +if(r)break $label0$0 +break $label0$0}q=k.gnG() +p=A.aty("lastGlyph",new A.aiU(m,l)) +o=null +if(r&&p.pW()!=null){n=p.pW().a +k=m.a +switch(k.a){case 1:r=n.c +break +case 0:r=n.a +break +default:r=o}o=r}else{r=m.a +switch(r.a){case 1:k=k.gdY(k)+k.gbb(k) +break +case 0:k=k.gdY(k) +break +default:k=o}o=k +k=r}return new A.tr(new A.m(o,q),k)}, +zY(a,b,c){var s +switch(c.a){case 1:s=A.N(this.c.gR6(),a,b) +break +case 0:s=A.N(this.c.got(),a,b) +break +default:s=null}return s}} +A.aiU.prototype={ +$0(){return this.a.c.yo(this.b.length-1)}, +$S:281} +A.S6.prototype={ +gfL(){var s,r,q=this.d +if(q===0)return B.h +s=this.a +r=s.c +if(!isFinite(r.gbb(r)))return B.I8 +r=this.c +s=s.c +return new A.m(q*(r-s.gbb(s)),0)}, +a64(a,b,c){var s,r,q,p=this,o=p.c +if(b===o&&a===o){p.c=p.a.zY(a,b,c) +return!0}if(!isFinite(p.gfL().a)){o=p.a.c +o=!isFinite(o.gbb(o))&&isFinite(a)}else o=!1 +if(o)return!1 +o=p.a +s=o.c.got() +if(b!==p.b){r=o.c +q=r.gbb(r)-s>-1e-10&&b-s>-1e-10}else q=!0 +if(q){p.c=o.zY(a,b,c) +return!0}return!1}} +A.tr.prototype={} +A.rG.prototype={ +a6(){var s=this.b +if(s!=null)s.a.c.l() +this.b=null}, +soJ(a,b){var s,r,q,p=this +if(J.e(p.e,b))return +s=p.e +s=s==null?null:s.a +r=b==null +if(!J.e(s,r?null:b.a)){s=p.ch +if(s!=null)s.l() +p.ch=null}if(r)q=B.c5 +else{s=p.e +s=s==null?null:s.b9(0,b) +q=s==null?B.c5:s}p.e=b +p.f=null +s=q.a +if(s>=3)p.a6() +else if(s>=2)p.c=!0}, +gxK(){var s=this.f +if(s==null){s=this.e +s=s==null?null:s.oK(!1) +this.f=s}return s==null?"":s}, +sy5(a,b){if(this.r===b)return +this.r=b +this.a6()}, +sbS(a){var s,r=this +if(r.w==a)return +r.w=a +r.a6() +s=r.ch +if(s!=null)s.l() +r.ch=null}, +sdl(a){var s,r=this +if(a.j(0,r.x))return +r.x=a +r.a6() +s=r.ch +if(s!=null)s.l() +r.ch=null}, +sPI(a){if(this.y==a)return +this.y=a +this.a6()}, +sxe(a,b){if(J.e(this.z,b))return +this.z=b +this.a6()}, +sxl(a){if(this.Q==a)return +this.Q=a +this.a6()}, +syV(a){return}, +sy7(a){if(this.at===a)return +this.at=a}, +sy6(a){return}, +gad2(){var s,r,q,p=this.b +if(p==null)return null +s=p.gfL() +if(!isFinite(s.a)||!isFinite(s.b))return A.b([],t.Lx) +r=p.e +if(r==null)r=p.e=p.a.c.tI() +if(s.j(0,B.h))return r +q=A.a_(r).h("aw<1,eh>") +return A.a7(new A.aw(r,new A.abu(s),q),!1,q.h("aD.E"))}, +mP(a){if(a==null||a.length===0||A.ds(a,this.ay))return +this.ay=a +this.a6()}, +J_(a){var s,r,q,p,o=this,n=o.e,m=n==null?null:n.a +if(m==null)m=B.xg +n=a==null?o.r:a +s=o.w +r=o.x +q=o.Q +p=o.ax +return m.Tx(o.y,o.z,q,o.as,n,s,p,r)}, +a_y(){return this.J_(null)}, +lw(){var s,r,q=this,p=q.ch +if(p==null){p=q.J_(B.e0) +s=$.am().wg(p) +p=q.e +if(p==null)r=null +else{p=p.a +r=p==null?null:p.Gl(q.x)}if(r!=null)s.xO(r) +s.qf(" ") +p=s.bt() +p.ho(B.Ij) +q.ch=p}return p}, +IZ(a){var s=this,r=s.a_y(),q=$.am().wg(r) +r=s.x +a.Oo(q,s.ay,r) +s.c=!1 +return q.bt()}, +oq(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=h.b,f=g==null +if(!f&&g.a64(b,a,h.at))return +s=h.e +if(s==null)throw A.c(A.R("TextPainter.text must be set to a non-null value before using the TextPainter.")) +r=h.w +if(r==null)throw A.c(A.R("TextPainter.textDirection must be set to a non-null value before using the TextPainter.")) +q=A.asU(h.r,r) +if(!(!isFinite(a)&&q!==0))p=a +else p=f?null:g.a.c.got() +o=p==null +n=o?a:p +m=f?null:g.a.c +if(m==null)m=h.IZ(s) +m.ho(new A.lF(n)) +l=new A.aiT(r,h,m) +k=l.zY(b,a,h.at) +if(o&&isFinite(b)){j=l.c.got() +m.ho(new A.lF(j)) +i=new A.S6(l,j,k,q)}else i=new A.S6(l,n,k,q) +h.b=i}, +EL(){return this.oq(1/0,0)}, +aE(a,b){var s,r,q,p=this,o=p.b +if(o==null)throw A.c(A.R("TextPainter.paint called when text geometry was not yet calculated.\nPlease call layout() before paint() to position the text before painting it.")) +if(!isFinite(o.gfL().a)||!isFinite(o.gfL().b))return +if(p.c){s=o.a +r=s.c +q=p.e +q.toString +q=p.IZ(q) +q.ho(new A.lF(o.b)) +s.c=q +r.l()}a.kB(o.a.c,b.a4(0,o.gfL()))}, +tN(a,b){var s,r,q,p,o,n,m,l,k=this,j=k.b +j.toString +s=k.zR(a) +if(s==null){r=k.r +q=k.w +q.toString +p=A.asU(r,q) +return new A.m(p===0?0:p*j.c,0)}$label0$0:{o=s.b +n=B.p===o +if(n)m=s.a +else m=null +if(n){l=m +r=l +break $label0$0}n=B.T===o +if(n){m=s.a +r=m +r=r instanceof A.m}else r=!1 +if(r){l=n?m:s.a +r=new A.m(l.a-(b.c-b.a),l.b) +break $label0$0}r=null}return new A.m(A.N(r.a+j.gfL().a,0,j.c),r.b+j.gfL().b)}, +zR(a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=null,a1=a.b,a2=a1.a +if(a2.c.gEZ()<1||a.gxK().length===0)return a0 +$label0$0:{s=a3.a +if(0===s){r=B.Jd +break $label0$0}q=a0 +r=!1 +q=a3.b +r=B.n===q +if(r){r=new A.au(s,!0) +break $label0$0}p=a0 +r=!1 +p=B.ap===q +o=p +if(o){r=s-1 +r=0<=r&&r") +r=A.a7(new A.aw(s,new A.abt(p),r),!1,r.h("aD.E"))}return r}, +Tg(a){var s=this.b,r=s.a.c.G6(a.ad(0,s.gfL())) +if(r==null||s.gfL().j(0,B.h))return r +return new A.iD(r.a.cY(s.gfL()),r.b,r.c)}, +w6(){var s,r,q=this.b,p=q.gfL() +if(!isFinite(p.a)||!isFinite(p.b))return B.F1 +s=q.f +if(s==null){s=q.a.c.w6() +q.f=s}if(p.j(0,B.h))r=s +else{r=A.a_(s).h("aw<1,lu>") +r=A.a7(new A.aw(s,new A.abs(p),r),!1,r.h("aD.E"))}return r}, +l(){var s=this,r=s.ch +if(r!=null)r.l() +s.ch=null +r=s.b +if(r!=null)r.a.c.l() +s.e=s.b=null}} +A.abu.prototype={ +$1(a){return A.asV(a,this.a)}, +$S:118} +A.abt.prototype={ +$1(a){return A.asV(a,this.a)}, +$S:118} +A.abs.prototype={ +$1(a){var s=this.a,r=a.gQq(),q=a.gOh(),p=a.gPh(),o=a.gSG(),n=a.gaH(a),m=a.gbb(a),l=a.gdY(a),k=a.gnG(),j=a.gEM(a) +return $.am().P2(q,k+s.b,p,r,n,l+s.a,j,o,m)}, +$S:283} +A.ig.prototype={ +j(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.ig&&b.a===this.a}, +gt(a){return B.c.gt(this.a)}, +i(a){var s=this.a +return s===1?"no scaling":"linear ("+A.h(s)+"x)"}} +A.rH.prototype={ +gnN(a){return this.e}, +gyh(){return!0}, +iD(a,b){}, +Oo(a,b,c){var s,r,q,p,o,n=this.a,m=n!=null +if(m)a.xO(n.Gl(c)) +n=this.b +if(n!=null)try{a.qf(n)}catch(q){n=A.a9(q) +if(n instanceof A.fm){s=n +r=A.aK(q) +A.dk(new A.bF(s,r,"painting library",A.bm("while building a TextSpan"),null,!0)) +a.qf("\ufffd")}else throw q}p=this.c +if(p!=null)for(o=0;o<1;++o)p[o].Oo(a,b,c) +if(m)a.fM()}, +bo(a){var s,r +if(this.b!=null&&!a.$1(this))return!1 +s=this.c +if(s!=null)for(r=0;r<1;++r)if(!s[r].bo(a))return!1 +return!0}, +ag9(a){var s,r=this.c +if(r!=null)for(s=0;s<1;++s)if(!a.$1(r[s]))return!1 +return!0}, +TG(a,b){var s,r,q,p,o,n=this.b +if(n==null||n.length===0)return null +s=a.b +r=a.a +q=b.a +p=q+n.length +o=!0 +if(!(q===r&&s===B.n))if(!(q0?q:B.dS +if(p===B.c5)return p}else p=B.dS +s=n.c +if(s!=null)for(r=b.c,o=0;o<1;++o){q=s[o].b9(0,r[o]) +if(q.a>p.a)p=q +if(p===B.c5)return p}return p}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +if(!s.Vk(0,b))return!1 +return b instanceof A.rH&&b.b==s.b&&s.e.j(0,b.e)&&A.ds(b.c,s.c)}, +gt(a){var s=this,r=null,q=A.jF.prototype.gt.call(s,0),p=s.c +p=p==null?r:A.bO(p) +return A.P(q,s.b,r,r,r,r,s.e,p,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +cg(){return"TextSpan"}, +$iak:1, +$ihh:1, +gF5(){return null}, +gF6(){return null}} +A.n.prototype={ +goc(){return this.e}, +glv(a){return this.d}, +w9(a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=b9==null?a.a:b9,a1=a.ay +if(a1==null&&b7==null)s=a4==null?a.b:a4 +else s=null +r=a.ch +if(r==null&&a2==null)q=a3==null?a.c:a3 +else q=null +p=b3==null?a.r:b3 +o=b6==null?a.w:b6 +n=c1==null?a.y:c1 +m=c7==null?a.z:c7 +l=c6==null?a.Q:c6 +k=b8==null?a.as:b8 +j=c0==null?a.at:c0 +a1=b7==null?a1:b7 +r=a2==null?r:a2 +i=c5==null?a.dy:c5 +h=b5==null?a.fx:b5 +g=a6==null?a.CW:a6 +f=a7==null?a.cx:a7 +e=a8==null?a.cy:a8 +d=a9==null?a.db:a9 +c=b0==null?a.glv(0):b0 +b=b1==null?a.e:b1 +return A.fb(r,q,s,null,g,f,e,d,c,b,a.fr,p,a.x,h,o,a1,k,a0,j,n,a.ax,a.fy,a.f,i,l,m)}, +aa4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){return this.w9(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,null,r,s,a0,a1,a2,a3,a4,a5)}, +fw(a){var s=null +return this.w9(s,s,a,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s)}, +OU(a,b){var s=null +return this.w9(s,s,a,s,s,s,s,s,s,s,s,b,s,s,s,s,s,s,s,s,s,s,s,s,s,s)}, +OP(a){var s=null +return this.w9(s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,a,s,s,s,s,s,s,s,s)}, +eb(a,b,c,d,e,a0,a1,a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=null,f=h.ay +if(f==null)s=a==null?h.b:a +else s=g +r=h.ch +if(r==null)q=h.c +else q=g +p=h.glv(0) +o=h.r +o=o==null?g:o*a2+a1 +n=h.w +n=n==null?g:B.lN[B.f.hI(n.a,0,8)] +m=h.y +m=m==null?g:m+0 +l=h.z +l=l==null?g:l+0 +k=h.as +if(!(k==null||k===0)){k.toString +k+=0}j=c==null?h.cx:c +i=h.db +i=i==null?g:i+0 +return A.fb(r,q,s,g,h.CW,j,h.cy,i,p,h.e,h.fr,o,h.x,h.fx,n,f,k,h.a,h.at,m,h.ax,h.fy,h.f,h.dy,h.Q,l)}, +O8(a){var s=null +return this.eb(a,s,s,s,s,s,0,1,s)}, +ce(a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3 +if(a4==null)return this +if(!a4.a)return a4 +s=a4.b +r=a4.c +q=a4.r +p=a4.w +o=a4.x +n=a4.y +m=a4.z +l=a4.Q +k=a4.as +j=a4.at +i=a4.ax +h=a4.ay +g=a4.ch +f=a4.dy +e=a4.fr +d=a4.fx +c=a4.CW +b=a4.cx +a=a4.cy +a0=a4.db +a1=a4.glv(0) +a2=a4.e +a3=a4.f +return this.aa4(g,r,s,null,c,b,a,a0,a1,a2,e,q,o,d,p,h,k,j,n,i,a4.fy,a3,f,l,m)}, +Gl(a){var s,r,q,p,o,n,m,l=this,k=l.r +$label0$0:{s=null +if(k==null)break $label0$0 +r=a.j(0,B.ag) +if(r){s=k +break $label0$0}r=k*a.a +s=r +break $label0$0}r=l.goc() +q=l.ch +p=l.c +$label1$1:{o=t.Q2 +if(o.b(q)){n=q==null?o.a(q):q +o=n +break $label1$1}if(p instanceof A.C){m=p==null?t.n8.a(p):p +o=$.am().b8() +o.sab(0,m) +break $label1$1}o=null +break $label1$1}return A.asW(o,l.b,l.CW,l.cx,l.cy,l.db,l.d,r,l.fr,s,l.x,l.fx,l.w,l.ay,l.as,l.at,l.y,l.ax,l.dy,l.Q,l.z)}, +Tx(a,b,c,d,e,f,g,h){var s=this,r=s.at,q=r==null?null:new A.L3(r),p=s.r +if(p==null)p=14 +return A.arR(a,s.d,p*h.a,s.x,s.w,s.as,b,c,null,e,f,q)}, +b9(a,b){var s,r=this +if(r===b)return B.dS +s=!0 +if(r.a===b.a)if(r.d==b.d)if(r.r==b.r)if(r.w==b.w)if(r.y==b.y)if(r.z==b.z)if(r.Q==b.Q)if(r.as==b.as)if(r.at==b.at)if(r.ay==b.ay)if(r.ch==b.ch)if(A.ds(r.dy,b.dy))if(A.ds(r.fr,b.fr))if(A.ds(r.fx,b.fx)){s=A.ds(r.goc(),b.goc()) +s=!s}if(s)return B.c5 +if(!J.e(r.b,b.b)||!J.e(r.c,b.c)||!J.e(r.CW,b.CW)||!J.e(r.cx,b.cx)||r.cy!=b.cy||r.db!=b.db)return B.Jn +return B.dS}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.n)if(b.a===r.a)if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(b.r==r.r)if(b.w==r.w)if(b.y==r.y)if(b.z==r.z)if(b.Q==r.Q)if(b.as==r.as)if(b.at==r.at)if(b.ay==r.ay)if(b.ch==r.ch)if(A.ds(b.dy,r.dy))if(A.ds(b.fr,r.fr))if(A.ds(b.fx,r.fx))if(J.e(b.CW,r.CW))if(J.e(b.cx,r.cx))if(b.cy==r.cy)if(b.db==r.db)if(b.d==r.d)s=A.ds(b.goc(),r.goc()) +return s}, +gt(a){var s,r=this,q=null,p=r.goc(),o=p==null?q:A.bO(p),n=A.P(r.cy,r.db,r.d,o,r.f,r.fy,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a),m=r.dy,l=r.fx +o=m==null?q:A.bO(m) +s=l==null?q:A.bO(l) +return A.P(r.a,r.b,r.c,r.r,r.w,r.x,r.y,r.z,r.Q,r.as,r.at,r.ax,r.ay,r.ch,o,q,s,r.CW,r.cx,n)}, +cg(){return"TextStyle"}} +A.S8.prototype={} +A.GA.prototype={ +Yn(a,b,c,d,e){var s=this +s.r=A.auM(new A.a__(s),s.gDA(s),0,10,0)}, +dr(a,b){var s,r,q=this +if(b>q.r)return q.gwG() +s=q.e +r=q.c +return q.d+s*Math.pow(q.b,b)/r-s/r-q.f/2*b*b}, +ed(a,b){var s=this +if(b>s.r)return 0 +return s.e*Math.pow(s.b,b)-s.f*b}, +gwG(){var s=this +if(s.f===0)return s.d-s.e/s.c +return s.dr(0,s.r)}, +Sx(a){var s,r=this,q=r.d +if(a===q)return 0 +s=r.e +if(s!==0)if(s>0)q=ar.gwG() +else q=a>q||a")),r=r.y[1],q=!1;s.q();){p=s.a +if(p==null)p=r.a(p) +q=q||p.C$!=null +o=p.go +n=$.br() +m=n.d +if(m==null){l=self.window.devicePixelRatio +m=l===0?1:l}l=o.at +if(l==null){l=o.ch.CO() +o.at=l}l=A.atc(o.Q,new A.K(l.a/m,l.b/m)) +o=l.a*m +k=l.b*m +j=l.c*m +l=l.d*m +i=n.d +if(i==null){n=self.window.devicePixelRatio +i=n===0?1:n}p.sw8(new A.A6(new A.aq(o/i,k/i,j/i,l/i),new A.aq(o,k,j,l),i))}if(q)this.TQ()}, +Ef(){}, +Ea(){}, +ad0(){var s,r=this.CW$ +if(r!=null){r.O$=$.aM() +r.S$=0}r=t.S +s=$.aM() +this.CW$=new A.HU(new A.a7Y(this),new A.a4Y(B.bf,A.E(r,t.ZA)),A.E(r,t.xg),s)}, +a3A(a){B.Hy.dv("first-frame",null,!1,t.H)}, +a2x(a){this.Dz() +this.a6r()}, +a6r(){$.bC.p2$.push(new A.a7X(this))}, +O6(){--this.fr$ +if(!this.fx$)this.Gt()}, +Dz(){var s,r,q=this,p=q.db$ +p===$&&A.a() +p.Q4() +q.db$.Q2() +q.db$.Q5() +if(q.fx$||q.fr$===0){for(p=q.dx$.gaI(0),s=A.o(p),p=new A.bt(J.al(p.a),p.b,s.h("bt<1,2>")),s=s.y[1];p.q();){r=p.a;(r==null?s.a(r):r).a9z()}q.db$.Q6() +q.fx$=!0}}} +A.a7Z.prototype={ +$0(){var s=this.a.gxJ().e +if(s!=null)s.tX()}, +$S:0} +A.a80.prototype={ +$1(a){var s=this.a.gxJ().e +if(s!=null)s.go.gGu().ag5(a)}, +$S:119} +A.a8_.prototype={ +$0(){var s=this.a.gxJ().e +if(s!=null)s.lM()}, +$S:0} +A.a7Y.prototype={ +$2(a,b){var s=A.amr() +this.a.wY(s,a,b) +return s}, +$S:285} +A.a7X.prototype={ +$1(a){this.a.CW$.ag1()}, +$S:6} +A.Mf.prototype={} +A.N9.prototype={} +A.QY.prototype={ +Fs(){if(this.Z)return +this.W6() +this.Z=!0}, +tX(){this.lM() +this.VZ()}, +l(){this.saK(null)}} +A.aq.prototype={ +qF(a,b,c,d){var s=this,r=d==null?s.a:d,q=b==null?s.b:b,p=c==null?s.c:c +return new A.aq(r,q,p,a==null?s.d:a)}, +aa0(a,b){return this.qF(null,a,null,b)}, +aa_(a,b){return this.qF(a,null,b,null)}, +OV(a,b){return this.qF(null,null,a,b)}, +CU(a){return this.qF(a,null,null,null)}, +a9T(a){return this.qF(null,a,null,null)}, +wj(a){var s=this,r=a.gbR(),q=a.gb3(0)+a.gb6(0),p=Math.max(0,s.a-r),o=Math.max(0,s.c-q) +return new A.aq(p,Math.max(p,s.b-r),o,Math.max(o,s.d-q))}, +o_(a){var s=this,r=a.a,q=a.b,p=a.c,o=a.d +return new A.aq(A.N(s.a,r,q),A.N(s.b,r,q),A.N(s.c,p,o),A.N(s.d,p,o))}, +y8(a,b){var s,r,q=this,p=b==null,o=q.a,n=p?o:A.N(b,o,q.b),m=q.b +p=p?m:A.N(b,o,m) +o=a==null +m=q.c +s=o?m:A.N(a,m,q.d) +r=q.d +return new A.aq(n,p,s,o?r:A.N(a,m,r))}, +Sw(a){return this.y8(a,null)}, +afL(a){return this.y8(null,a)}, +gQ1(){var s=this +return new A.aq(s.c,s.d,s.a,s.b)}, +b4(a){var s=this +return new A.K(A.N(a.a,s.a,s.b),A.N(a.b,s.c,s.d))}, +qD(a){var s,r,q,p,o,n=this,m=n.a,l=n.b +if(m>=l&&n.c>=n.d)return new A.K(A.N(0,m,l),A.N(0,n.c,n.d)) +s=a.a +r=a.b +q=s/r +if(s>l){r=l/q +s=l}p=n.d +if(r>p){s=p*q +r=p}if(s=s.b&&s.c>=s.d}, +ac(a,b){var s=this +return new A.aq(s.a*b,s.b*b,s.c*b,s.d*b)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.aq&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s,r=this,q=r.a,p=!1 +if(q>=0)if(q<=r.b){p=r.c +p=p>=0&&p<=r.d}s=p?"":"; NOT NORMALIZED" +if(q===1/0&&r.c===1/0)return"BoxConstraints(biggest"+s+")" +if(q===0&&r.b===1/0&&r.c===0&&r.d===1/0)return"BoxConstraints(unconstrained"+s+")" +p=new A.Vr() +return"BoxConstraints("+p.$3(q,r.b,"w")+", "+p.$3(r.c,r.d,"h")+s+")"}} +A.Vr.prototype={ +$3(a,b,c){if(a===b)return c+"="+B.c.R(a,1) +return B.c.R(a,1)+"<="+c+"<="+B.c.R(b,1)}, +$S:114} +A.kT.prototype={ +O4(a,b,c){if(c!=null){c=A.HG(A.amS(c)) +if(c==null)return!1}return this.Cq(a,b,c)}, +nB(a,b,c){var s,r=b==null,q=r?c:c.ad(0,b) +r=!r +if(r)this.c.push(new A.tA(new A.m(-b.a,-b.b))) +s=a.$2(this,q) +if(r)this.xM() +return s}, +Cq(a,b,c){var s,r=c==null,q=r?b:A.bI(c,b) +r=!r +if(r)this.c.push(new A.Bf(c)) +s=a.$2(this,q) +if(r)this.xM() +return s}, +O3(a,b,c){var s,r=this +if(b!=null)r.c.push(new A.tA(new A.m(-b.a,-b.b))) +else{c.toString +c=A.HG(A.amS(c)) +c.toString +r.c.push(new A.Bf(c))}s=a.$1(r) +r.xM() +return s}, +a8w(a,b){return this.O3(a,null,b)}, +a8v(a,b){return this.O3(a,b,null)}} +A.kS.prototype={ +i(a){return"#"+A.b4(this.a)+"@"+this.c.i(0)}} +A.ep.prototype={ +i(a){return"offset="+this.a.i(0)}} +A.vi.prototype={} +A.aeo.prototype={ +f2(a,b,c){var s=a.b +if(s==null)s=a.b=A.E(t.k,t.FW) +return s.bk(0,b,new A.aep(c,b))}} +A.aep.prototype={ +$0(){return this.a.$1(this.b)}, +$S:286} +A.acX.prototype={ +f2(a,b,c){var s +switch(b.b){case B.l:s=a.c +if(s==null){s=A.E(t.k,t.PM) +a.c=s}break +case B.H:s=a.d +if(s==null){s=A.E(t.k,t.PM) +a.d=s}break +default:s=null}return s.bk(0,b.a,new A.acY(c,b))}} +A.acY.prototype={ +$0(){return this.a.$1(this.b)}, +$S:287} +A.B4.prototype={ +F(){return"_IntrinsicDimension."+this.b}, +f2(a,b,c){var s=a.a +if(s==null)s=a.a=A.E(t.Yr,t.i) +return s.bk(0,new A.au(this,b),new A.ag_(c,b))}} +A.ag_.prototype={ +$0(){return this.a.$1(this.b)}, +$S:117} +A.aN.prototype={} +A.H.prototype={ +e2(a){if(!(a.b instanceof A.ep))a.b=new A.ep(B.h)}, +a_b(a,b,c){var s=a.f2(this.fx,b,c) +return s}, +az(a,b,c){return this.a_b(a,b,c,t.K,t.z)}, +aU(a){return 0}, +aT(a){return 0}, +a_6(a){return this.bQ(a)}, +bQ(a){return B.C}, +fb(a,b){return this.az(B.cj,new A.au(a,b),this.gpq())}, +a_5(a){return this.d6(a.a,a.b)}, +d6(a,b){return null}, +gv(a){var s=this.id +return s==null?A.ab(A.R("RenderBox was not laid out: "+A.t(this).i(0)+"#"+A.b4(this))):s}, +glh(){var s=this.gv(0) +return new A.D(0,0,0+s.a,0+s.b)}, +G8(a,b){var s=null +try{s=this.mD(a)}finally{}return s}, +mD(a){return this.az(B.cj,new A.au(t.k.a(A.G.prototype.gN.call(this)),a),new A.a7e(this))}, +h8(a){return null}, +gN(){return t.k.a(A.G.prototype.gN.call(this))}, +a6(){var s=this,r=null,q=s.fx,p=q.b,o=p==null,n=o?r:p.a!==0,m=!0 +if(n!==!0){n=q.a +n=n==null?r:n.a!==0 +if(n!==!0){n=q.c +n=n==null?r:n.a!==0 +if(n!==!0){n=q.d +n=n==null?r:n.a!==0 +n=n===!0}else n=m +m=n}}if(m){if(!o)p.J(0) +p=q.a +if(p!=null)p.J(0) +p=q.c +if(p!=null)p.J(0) +q=q.d +if(q!=null)q.J(0)}if(m&&s.d!=null){s.xi() +return}s.VY()}, +oz(){this.id=this.bQ(t.k.a(A.G.prototype.gN.call(this)))}, +be(){}, +c5(a,b){var s=this +if(s.id.p(0,b))if(s.cW(a,b)||s.iG(b)){a.D(0,new A.kS(b,s)) +return!0}return!1}, +iG(a){return!1}, +cW(a,b){return!1}, +cP(a,b){var s,r=a.b +r.toString +s=t.W.a(r).a +b.au(0,s.a,s.b)}, +lf(a){var s,r,q,p,o,n=this.aW(0,null) +if(n.dB(n)===0)return B.h +s=new A.fS(new Float64Array(3)) +s.mQ(0,0,1) +r=new A.fS(new Float64Array(3)) +r.mQ(0,0,0) +q=n.xI(r) +r=new A.fS(new Float64Array(3)) +r.mQ(0,0,1) +p=n.xI(r).ad(0,q) +r=new A.fS(new Float64Array(3)) +r.mQ(a.a,a.b,0) +o=n.xI(r) +r=o.ad(0,p.TO(s.Py(o)/s.Py(p))).a +return new A.m(r[0],r[1])}, +giN(){var s=this.gv(0) +return new A.D(0,0,0+s.a,0+s.b)}, +iD(a,b){this.VX(a,b)}} +A.a7e.prototype={ +$1(a){return this.a.h8(a.b)}, +$S:120} +A.cM.prototype={ +Pc(a){var s,r,q,p=this.V$ +for(s=A.o(this).h("cM.1");p!=null;){r=p.b +r.toString +s.a(r) +q=p.mD(a) +if(q!=null)return q+r.a.b +p=r.a1$}return null}, +Db(a){var s,r,q,p,o,n=this.V$ +for(s=A.o(this).h("cM.1"),r=null;n!=null;){q=n.b +q.toString +s.a(q) +p=n.mD(a) +o=q.a +r=A.pB(r,p==null?null:p+o.b) +n=q.a1$}return r}, +qN(a,b){var s,r,q={},p=q.a=this.cj$ +for(s=A.o(this).h("cM.1");p!=null;p=r){p=p.b +p.toString +s.a(p) +if(a.nB(new A.a7d(q),p.a,b))return!0 +r=p.bG$ +q.a=r}return!1}, +lW(a,b){var s,r,q,p,o,n=this.V$ +for(s=A.o(this).h("cM.1"),r=b.a,q=b.b;n!=null;){p=n.b +p.toString +s.a(p) +o=p.a +a.fK(n,new A.m(o.a+r,o.b+q)) +n=p.a1$}}} +A.a7d.prototype={ +$2(a,b){return this.a.a.c5(a,b)}, +$S:24} +A.Au.prototype={ +aa(a){this.uc(0)}} +A.hi.prototype={ +i(a){return this.z_(0)+"; id="+A.h(this.e)}} +A.a54.prototype={ +d9(a,b){var s=this.b.k(0,a) +s.bV(b,!0) +return s.gv(0)}, +eJ(a,b){var s=this.b.k(0,a).b +s.toString +t.Wz.a(s).a=b}, +ZC(a,b){var s,r,q,p,o,n=this,m=n.b +try{n.b=A.E(t.K,t.x) +s=b +for(q=t.Wz;s!=null;){p=s.b +p.toString +r=q.a(p) +p=n.b +p.toString +o=r.e +o.toString +p.n(0,o,s) +s=r.a1$}n.xH(a)}finally{n.b=m}}, +i(a){return"MultiChildLayoutDelegate"}} +A.yl.prototype={ +e2(a){if(!(a.b instanceof A.hi))a.b=new A.hi(null,null,B.h)}, +sDe(a){var s=this.E +if(s===a)return +if(A.t(a)!==A.t(s)||a.mR(s))this.a6() +this.E=a}, +aj(a){this.X9(a)}, +aa(a){this.Xa(0)}, +aU(a){var s=A.uQ(a,1/0),r=s.b4(new A.K(A.N(1/0,s.a,s.b),A.N(1/0,s.c,s.d))).a +if(isFinite(r))return r +return 0}, +aT(a){var s=A.uQ(1/0,a),r=s.b4(new A.K(A.N(1/0,s.a,s.b),A.N(1/0,s.c,s.d))).b +if(isFinite(r))return r +return 0}, +bQ(a){return a.b4(new A.K(A.N(1/0,a.a,a.b),A.N(1/0,a.c,a.d)))}, +be(){var s=this,r=t.k.a(A.G.prototype.gN.call(s)) +s.id=r.b4(new A.K(A.N(1/0,r.a,r.b),A.N(1/0,r.c,r.d))) +s.E.ZC(s.gv(0),s.V$)}, +aE(a,b){this.lW(a,b)}, +cW(a,b){return this.qN(a,b)}} +A.BN.prototype={ +aj(a){var s,r,q +this.eu(a) +s=this.V$ +for(r=t.Wz;s!=null;){s.aj(a) +q=s.b +q.toString +s=r.a(q).a1$}}, +aa(a){var s,r,q +this.e5(0) +s=this.V$ +for(r=t.Wz;s!=null;){s.aa(0) +q=s.b +q.toString +s=r.a(q).a1$}}} +A.QA.prototype={} +A.Fp.prototype={ +Y(a,b){var s=this.a +return s==null?null:s.Y(0,b)}, +H(a,b){var s=this.a +return s==null?null:s.H(0,b)}, +gtY(){return null}, +yO(a){return this.hx(a)}, +rs(a){return null}, +i(a){var s=A.b4(this),r=this.a +r=r==null?null:r.i(0) +if(r==null)r="" +return"#"+s+"("+r+")"}} +A.ym.prototype={ +sxD(a){var s=this.B +if(s==a)return +this.B=a +this.J5(a,s)}, +sQ9(a){var s=this.a_ +if(s==a)return +this.a_=a +this.J5(a,s)}, +J5(a,b){var s=this,r=a==null +if(r)s.ao() +else if(b==null||A.t(a)!==A.t(b)||a.hx(b))s.ao() +if(s.y!=null){if(b!=null)b.H(0,s.gel()) +if(!r)a.Y(0,s.gel())}if(r){if(s.y!=null)s.b1()}else if(b==null||A.t(a)!==A.t(b)||a.yO(b))s.b1()}, +smo(a){if(this.am.j(0,a))return +this.am=a +this.a6()}, +aU(a){var s +if(this.C$==null){s=this.am.a +return isFinite(s)?s:0}return this.zc(a)}, +aT(a){var s +if(this.C$==null){s=this.am.b +return isFinite(s)?s:0}return this.zb(a)}, +aj(a){var s,r=this +r.pf(a) +s=r.B +if(s!=null)s.Y(0,r.gel()) +s=r.a_ +if(s!=null)s.Y(0,r.gel())}, +aa(a){var s=this,r=s.B +if(r!=null)r.H(0,s.gel()) +r=s.a_ +if(r!=null)r.H(0,s.gel()) +s.n5(0)}, +cW(a,b){var s=this.a_ +if(s!=null){s=s.rs(b) +s=s===!0}else s=!1 +if(s)return!0 +return this.ug(a,b)}, +iG(a){var s=this.B +if(s!=null){s=s.rs(a) +s=s!==!1}else s=!1 +return s}, +be(){this.uh() +this.b1()}, +qB(a){return a.b4(this.am)}, +Lk(a,b,c){A.bk("debugPreviousCanvasSaveCount") +a.c8(0) +if(!b.j(0,B.h))a.au(0,b.a,b.b) +c.aE(a,this.gv(0)) +a.bH(0)}, +aE(a,b){var s,r,q=this +if(q.B!=null){s=a.gbP(0) +r=q.B +r.toString +q.Lk(s,b,r) +q.Mo(a)}q.fV(a,b) +if(q.a_!=null){s=a.gbP(0) +r=q.a_ +r.toString +q.Lk(s,b,r) +q.Mo(a)}}, +Mo(a){}, +dR(a){var s,r=this +r.fi(a) +s=r.B +r.ba=s==null?null:s.gtY() +s=r.a_ +r.cV=s==null?null:s.gtY() +a.a=!1}, +qp(a,b,c){var s,r,q,p,o=this +o.f_=A.asg(o.f_,B.lQ) +o.fD=A.asg(o.fD,B.lQ) +s=o.f_ +r=s!=null&&!s.gM(s) +s=o.fD +q=s!=null&&!s.gM(s) +s=A.b([],t.QF) +if(r){p=o.f_ +p.toString +B.b.L(s,p)}B.b.L(s,c) +if(q){p=o.fD +p.toString +B.b.L(s,p)}o.Hu(a,b,s)}, +lM(){this.za() +this.fD=this.f_=null}} +A.Xn.prototype={} +A.yo.prototype={ +Yx(a){var s,r,q,p,o=this +try{r=o.E +if(r!==""){q=$.ax2() +s=$.am().wg(q) +s.xO($.ax3()) +s.qf(r) +r=s.bt() +o.Z!==$&&A.bz() +o.Z=r}else{o.Z!==$&&A.bz() +o.Z=null}}catch(p){}}, +aU(a){return 1e5}, +aT(a){return 1e5}, +gj3(){return!0}, +iG(a){return!0}, +bQ(a){return a.b4(B.Ln)}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j=this +try{p=a.gbP(0) +o=j.gv(0) +n=b.a +m=b.b +l=$.am().b8() +l.sab(0,$.ax1()) +p.cS(new A.D(n,m,n+o.a,m+o.b),l) +p=j.Z +p===$&&A.a() +if(p!=null){s=j.gv(0).a +r=0 +q=0 +if(s>328){s-=128 +r+=64}p.ho(new A.lF(s)) +o=j.gv(0) +if(o.b>96+p.gaH(p)+12)q+=96 +o=a.gbP(0) +o.kB(p,b.a4(0,new A.m(r,q)))}}catch(k){}}} +A.ag9.prototype={} +A.Zk.prototype={ +F(){return"FlexFit."+this.b}} +A.dL.prototype={ +i(a){return this.z_(0)+"; flex="+A.h(this.e)+"; fit="+A.h(this.f)}} +A.Hz.prototype={ +F(){return"MainAxisSize."+this.b}} +A.ly.prototype={ +F(){return"MainAxisAlignment."+this.b}, +py(a,b,c){var s,r,q,p=this +$label0$0:{if(B.a8===p){s=c?new A.au(a,0):B.Jc +break $label0$0}if(B.qL===p){s=B.a8.py(a,b,!c) +break $label0$0}r=B.H9===p +if(r&&b<2){s=B.a8.py(a,b,c) +break $label0$0}q=B.Ha===p +if(q&&b===0){s=B.a8.py(a,b,c) +break $label0$0}if(B.dC===p){s=new A.au(a/2,0) +break $label0$0}if(r){s=new A.au(0,a/(b-1)) +break $label0$0}if(q){s=a/b +s=new A.au(s/2,s) +break $label0$0}if(B.qM===p){s=a/(b+1) +s=new A.au(s,s) +break $label0$0}s=null}return s}} +A.n4.prototype={ +F(){return"CrossAxisAlignment."+this.b}, +Av(a,b){var s,r=this +$label0$0:{if(B.ev===r||B.ew===r){s=0 +break $label0$0}if(B.bM===r){s=b?a:0 +break $label0$0}if(B.V===r){s=a/2 +break $label0$0}if(B.d6===r){s=B.bM.Av(a,!b) +break $label0$0}s=null}return s}} +A.oi.prototype={ +e2(a){if(!(a.b instanceof A.dL))a.b=new A.dL(null,null,B.h)}, +JN(a,b,c){var s,r,q,p,o,n,m,l=this,k=l.E +if(k===c){s=l.V$ +k=A.o(l).h("ac.1") +r=t.US +q=0 +p=0 +o=0 +while(s!=null){n=s.b +n.toString +m=r.a(n).e +if(m==null)m=0 +q+=m +if(m>0)o=Math.max(o,a.$2(s,b)/m) +else p+=a.$2(s,b) +n=s.b +n.toString +s=k.a(n).a1$}return o*q+p}else{switch(k.a){case 0:k=!0 +break +case 1:k=!1 +break +default:k=null}r=k?new A.aq(0,b,0,1/0):new A.aq(0,1/0,0,b) +return l.uw(r,A.ui(),new A.a7g(k,a)).a.b}}, +aU(a){return this.JN(new A.a7j(),a,B.aH)}, +aT(a){return this.JN(new A.a7i(),a,B.aw)}, +h8(a){var s +switch(this.E.a){case 0:s=this.Db(a) +break +case 1:s=this.Pc(a) +break +default:s=null}return s}, +gKQ(){var s,r=this.al +$label0$1:{s=!1 +if(B.ew===r){switch(this.E.a){case 0:s=!0 +break +case 1:break +default:s=null}break $label0$1}if(B.bM===r||B.V===r||B.d6===r||B.ev===r)break $label0$1 +s=null}return s}, +a0Q(a){var s +switch(this.E.a){case 0:s=a.b +break +case 1:s=a.a +break +default:s=null}return s}, +JP(a){var s +switch(this.E.a){case 0:s=a.a +break +case 1:s=a.b +break +default:s=null}return s}, +gJw(){var s,r=this,q=!1 +if(r.V$!=null)switch(r.E.a){case 0:s=r.aq +$label0$1:{if(s==null||B.p===s)break $label0$1 +if(B.T===s){q=!0 +break $label0$1}q=null}break +case 1:switch(r.S.a){case 1:break +case 0:q=!0 +break +default:q=null}break +default:q=null}return q}, +gJv(){var s,r=this,q=!1 +if(r.V$!=null)switch(r.E.a){case 1:s=r.aq +$label0$1:{if(s==null||B.p===s)break $label0$1 +if(B.T===s){q=!0 +break $label0$1}q=null}break +case 0:switch(r.S.a){case 1:break +case 0:q=!0 +break +default:q=null}break +default:q=null}return q}, +IQ(a){var s,r,q=null,p=this.al +$label0$0:{if(B.ev===p){s=!0 +break $label0$0}if(B.bM===p||B.V===p||B.d6===p||B.ew===p){s=!1 +break $label0$0}s=q}switch(this.E.a){case 0:r=a.d +s=s?A.eo(r,q):new A.aq(0,1/0,0,r) +break +case 1:r=a.b +s=s?A.eo(q,r):new A.aq(0,r,0,1/0) +break +default:s=q}return s}, +IP(a,b,c){var s,r,q=a.b +q.toString +q=t.US.a(q).f +switch((q==null?B.hW:q).a){case 0:q=c +break +case 1:q=0 +break +default:q=null}s=this.al +$label0$1:{if(B.ev===s){r=!0 +break $label0$1}if(B.bM===s||B.V===s||B.d6===s||B.ew===s){r=!1 +break $label0$1}r=null}switch(this.E.a){case 0:r=r?b.d:0 +r=new A.aq(q,c,r,b.d) +q=r +break +case 1:r=r?b.b:0 +q=new A.aq(r,b.b,q,c) +break +default:q=null}return q}, +d6(a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=this,a3=null,a4=a2.uw(a5,A.ui(),A.jj()) +if(a2.gKQ())return a4.c +s=new A.a7h(a2,a4,a5,a2.IQ(a5)) +r=a3 +switch(a2.E.a){case 1:q=a4.b +p=Math.max(0,q) +o=a2.gJw() +n=a2.Z.py(p,a2.di$,o) +m=n.a +l=a3 +k=n.b +l=k +j=m +i=o?j+(a2.di$-1)*l+(a4.a.a-q):j +h=o?-1:1 +g=a2.V$ +q=A.o(a2).h("ac.1") +while(!0){if(!(r==null&&g!=null))break +f=s.$1(g) +e=g.gbF() +d=g.fx +c=B.z.f2(d,f,e) +b=B.cj.f2(d,new A.au(f,a6),g.gpq()) +a=o?-c.b:0 +a2=b==null?a3:b+i +a2=a2==null?a3:a2+a +i+=h*(l+c.b) +e=g.b +e.toString +g=q.a(e).a1$ +r=a2}break +case 0:a0=a2.gJv() +g=a2.V$ +q=A.o(a2).h("ac.1") +e=a4.a.b +while(g!=null){f=s.$1(g) +d=g.gpq() +a1=g.fx +c=B.cj.f2(a1,new A.au(f,a6),d) +b=B.z.f2(a1,f,g.gbF()) +d=a2.al.Av(e-b.b,a0) +r=A.pB(r,c==null?a3:c+d) +d=g.b +d.toString +g=q.a(d).a1$}break}return r}, +bQ(a){return A.acS(this.uw(a,A.ui(),A.jj()).a,this.E)}, +uw(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=this,a=null,a0=b.JP(new A.K(A.N(1/0,a3.a,a3.b),A.N(1/0,a3.c,a3.d))),a1=isFinite(a0),a2=b.IQ(a3) +if(b.gKQ())A.ab(A.jx('To use CrossAxisAlignment.baseline, you must also specify which baseline to use using the "textBaseline" argument.')) +s=b.V$ +r=A.o(b).h("ac.1") +q=t.US +p=a +o=p +n=0 +m=B.C +while(s!=null){if(a1){l=s.b +l.toString +k=q.a(l).e +if(k==null)k=0 +l=k>0}else{k=a +l=!1}if(l){n+=k +if(o==null)o=s}else{j=A.acS(a5.$2(s,a2),b.E) +j=new A.K(m.a+j.a,Math.max(m.b,j.b)) +p=A.atl(p,a) +m=j}l=s.b +l.toString +s=r.a(l).a1$}i=Math.max(0,a0-m.a)/n +s=o +while(!0){if(!(s!=null&&n>0))break +c$0:{l=s.b +l.toString +k=q.a(l).e +if(k==null)k=0 +if(k===0)break c$0 +n-=k +j=A.acS(a5.$2(s,b.IP(s,a3,i*k)),b.E) +j=new A.K(m.a+j.a,Math.max(m.b,j.b)) +p=A.atl(p,a) +m=j}l=s.b +l.toString +s=r.a(l).a1$}$label0$1:{r=p==null +if(r){q=B.C +break $label0$1}h=a +g=a +f=p.a +h=p.b +g=f +j=new A.K(0,g+A.bD(h)) +q=j +break $label0$1 +q=a}m=A.aFD(m,q) +e=b.a3 +$label1$2:{d=B.aM===e +if(d&&a1){q=a0 +break $label1$2}if(d||B.dD===e){q=m.a +break $label1$2}q=a}c=A.aFE(new A.K(q,m.b),a3,b.E) +r=r?a:p.a +q=o==null?a:i +return new A.ag9(c,c.a-m.a,r,q)}, +be(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=this,a4=null,a5="Pattern matching error",a6="RenderBox was not laid out: ",a7=a3.uw(t.k.a(A.G.prototype.gN.call(a3)),A.avD(),A.pi()),a8=a7.a,a9=a8.b +a3.id=A.acS(a8,a3.E) +a8=a7.b +a3.af=Math.max(0,-a8) +s=Math.max(0,a8) +r=a3.gJw() +q=a3.gJv() +p=a3.Z.py(s,a3.di$,r) +o=p.a +n=a4 +m=p.b +n=m +l=o +k=r?new A.au(a3.gw_(),a3.cj$):new A.au(a3.gvZ(),a3.V$) +j=k.a +a8=t.xP.b(j) +i=a4 +if(a8){h=k.b +i=h +g=j}else g=a4 +if(!a8)throw A.c(A.R(a5)) +f=a7.c +for(a8=t.US,e=f!=null,d=i,c=l;d!=null;d=g.$1(d)){if(e){b=a3.O +b.toString +a=d.G8(b,!0) +a0=a!=null}else{a=a4 +a0=!1}if(a0){a.toString +a1=f-a}else{b=a3.al +a2=d.id +a1=b.Av(a9-a3.a0Q(a2==null?A.ab(A.R(a6+A.t(d).i(0)+"#"+A.b4(d))):a2),q)}b=d.b +b.toString +a8.a(b) +switch(a3.E.a){case 0:a2=new A.m(c,a1) +break +case 1:a2=new A.m(a1,c) +break +default:a2=a4}b.a=a2 +a2=d.id +c+=a3.JP(a2==null?A.ab(A.R(a6+A.t(d).i(0)+"#"+A.b4(d))):a2)+n}}, +cW(a,b){return this.qN(a,b)}, +aE(a,b){var s,r,q,p=this +if(!(p.af>1e-10)){p.lW(a,b) +return}if(p.gv(0).gM(0))return +s=p.bX +r=p.cx +r===$&&A.a() +q=p.gv(0) +s.saQ(0,a.l4(r,b,new A.D(0,0,0+q.a,0+q.b),p.gPd(),p.ar,s.a))}, +l(){this.bX.saQ(0,null) +this.Xb()}, +lY(a){var s +switch(this.ar.a){case 0:return null +case 1:case 2:case 3:if(this.af>1e-10){s=this.gv(0) +s=new A.D(0,0,0+s.a,0+s.b)}else s=null +return s}}, +cg(){return this.W_()}} +A.a7g.prototype={ +$2(a,b){var s,r,q=this.a,p=q?b.b:b.d +if(isFinite(p))s=p +else s=q?a.az(B.ac,1/0,a.gbl()):a.az(B.av,1/0,a.gbu()) +r=this.b +return q?new A.K(s,r.$2(a,s)):new A.K(r.$2(a,s),s)}, +$S:62} +A.a7j.prototype={ +$2(a,b){return a.az(B.ac,b,a.gbl())}, +$S:122} +A.a7i.prototype={ +$2(a,b){return a.az(B.av,b,a.gbu())}, +$S:122} +A.a7h.prototype={ +$1(a){var s,r,q=this,p=q.b.d +if(p!=null){s=A.aDY(a) +r=s>0}else{s=null +r=!1}return r?q.a.IP(a,q.c,s*p):q.d}, +$S:292} +A.QC.prototype={ +aj(a){var s,r,q +this.eu(a) +s=this.V$ +for(r=t.US;s!=null;){s.aj(a) +q=s.b +q.toString +s=r.a(q).a1$}}, +aa(a){var s,r,q +this.e5(0) +s=this.V$ +for(r=t.US;s!=null;){s.aa(0) +q=s.b +q.toString +s=r.a(q).a1$}}} +A.QD.prototype={} +A.BO.prototype={ +l(){var s,r,q +for(s=this.PT$,r=s.length,q=0;q>")) +this.fE(new A.Ec(s,c.h("Ec<0>")),b,!0,c) +return s.length===0?null:B.b.gI(s).a}, +Z_(a){var s,r=this +if(!r.w&&r.x!=null){s=r.x +s.toString +a.O0(s) +return}r.h4(a) +r.w=!1}, +cg(){var s=this.V7() +return s+(this.y==null?" DETACHED":"")}} +A.Hj.prototype={ +saQ(a,b){var s=this.a +if(b==s)return +if(s!=null)if(--s.f===0)s.l() +this.a=b +if(b!=null)++b.f}, +i(a){var s=this.a +return"LayerHandle("+(s!=null?s.i(0):"DISPOSED")+")"}} +A.a68.prototype={ +sRz(a){var s +this.eI() +s=this.ay +if(s!=null)s.l() +this.ay=a}, +l(){this.sRz(null) +this.H6()}, +h4(a){var s=this.ay +s.toString +a.NZ(B.h,s,this.ch,this.CW)}, +fE(a,b,c){return!1}} +A.abw.prototype={ +h4(a){var s=this.ax,r=s.a,q=s.b +a.O2(this.ay,this.CW,!1,s.d-q,new A.m(r,q),s.c-r)}, +fE(a,b,c){return!1}} +A.a6j.prototype={ +uj(){return!1}, +h4(a){var s=this.ax,r=s.a,q=s.b +a.O_(this.ay,s.d-q,new A.m(r,q),s.c-r)}} +A.Fg.prototype={ +px(a){var s +this.Vm(a) +if(!a)return +s=this.ax +for(;s!=null;){s.px(!0) +s=s.Q}}, +uj(){for(var s=this.ay;s!=null;s=s.as)if(!s.uj())return!1 +return!0}, +Or(a){var s=this +s.yg() +s.h4(a) +if(s.b>0)s.px(!0) +s.w=!1 +return a.bt()}, +l(){this.FD() +this.a.J(0) +this.H6()}, +yg(){var s,r=this +r.Vp() +s=r.ax +for(;s!=null;){s.yg() +r.w=r.w||s.w +s=s.Q}}, +fE(a,b,c,d){var s,r,q +for(s=this.ay,r=a.a;s!=null;s=s.as){if(s.fE(a,b,!0,d))return!0 +q=r.length +if(q!==0)return!1}return!1}, +aj(a){var s +this.Vn(a) +s=this.ax +for(;s!=null;){s.aj(a) +s=s.Q}}, +aa(a){var s +this.Vo(0) +s=this.ax +for(;s!=null;){s.aa(0) +s=s.Q}this.px(!1)}, +qi(a,b){var s,r=this +r.eI() +s=b.b +if(s!==0)r.C6(s) +b.r=r +s=r.y +if(s!=null)b.aj(s) +r.mt(b) +s=b.as=r.ay +if(s!=null)s.Q=b +r.ay=b +if(r.ax==null)r.ax=b +b.e.saQ(0,b)}, +f7(){var s,r,q=this.ax +for(;q!=null;){s=q.z +r=this.z +if(s<=r){q.z=r+1 +q.f7()}q=q.Q}}, +mt(a){var s=a.z,r=this.z +if(s<=r){a.z=r+1 +a.f7()}}, +KV(a){var s +this.eI() +s=a.b +if(s!==0)this.C6(-s) +a.r=null +if(this.y!=null)a.aa(0)}, +FD(){var s,r=this,q=r.ax +for(;q!=null;q=s){s=q.Q +q.Q=q.as=null +r.KV(q) +q.e.saQ(0,null)}r.ay=r.ax=null}, +h4(a){this.ko(a)}, +ko(a){var s=this.ax +for(;s!=null;){s.Z_(a) +s=s.Q}}} +A.iP.prototype={ +skY(a,b){if(!b.j(0,this.k3))this.eI() +this.k3=b}, +fE(a,b,c,d){return this.p8(a,b.ad(0,this.k3),!0,d)}, +h4(a){var s=this,r=s.k3 +s.siy(a.Fw(r.a,r.b,t.Ff.a(s.x))) +s.ko(a) +a.fM()}, +afO(a,b){var s,r=$.am().D3(),q=A.a4k(b,b,1),p=a.a,o=this.k3,n=a.b +q.au(0,-(p+o.a),-(n+o.b)) +r.RR(q.a) +s=this.Or(r) +try{p=s.ts(B.c.d4(b*(a.c-p)),B.c.d4(b*(a.d-n))) +return p}finally{s.l()}}} +A.vc.prototype={ +fE(a,b,c,d){if(!this.k3.p(0,b))return!1 +return this.p8(a,b,!0,d)}, +h4(a){var s=this,r=s.k3 +r.toString +s.siy(a.RM(r,s.k4,t.e4.a(s.x))) +s.ko(a) +a.fM()}} +A.F5.prototype={ +fE(a,b,c,d){if(!this.k3.p(0,b))return!1 +return this.p8(a,b,!0,d)}, +h4(a){var s=this,r=s.k3 +r.toString +s.siy(a.RL(r,s.k4,t.cW.a(s.x))) +s.ko(a) +a.fM()}} +A.F3.prototype={ +fE(a,b,c,d){if(!this.k3.p(0,b))return!1 +return this.p8(a,b,!0,d)}, +h4(a){var s=this,r=s.k3 +r.toString +s.siy(a.RJ(r,s.k4,t.L5.a(s.x))) +s.ko(a) +a.fM()}} +A.wE.prototype={ +h4(a){var s=this +s.siy(a.RN(s.aY,s.k3,t.C6.a(s.x))) +s.ko(a) +a.fM()}} +A.m7.prototype={ +sbE(a,b){var s=this +if(b.j(0,s.aY))return +s.aY=b +s.aV=!0 +s.eI()}, +h4(a){var s,r,q=this +q.by=q.aY +if(!q.k3.j(0,B.h)){s=q.k3 +s=A.a4l(s.a,s.b,0) +r=q.by +r.toString +s.cs(0,r) +q.by=s}q.siy(a.xP(q.by.a,t.qf.a(q.x))) +q.ko(a) +a.fM()}, +a7u(a){var s,r=this +if(r.aV){s=r.aY +s.toString +r.a5=A.HG(A.amS(s)) +r.aV=!1}s=r.a5 +if(s==null)return null +return A.bI(s,a)}, +fE(a,b,c,d){var s=this.a7u(b) +if(s==null)return!1 +return this.Vz(a,s,!0,d)}} +A.Ig.prototype={ +sCt(a,b){var s=this,r=s.aY +if(b!=r){if(b===255||r===255)s.siy(null) +s.aY=b +s.eI()}}, +h4(a){var s,r,q,p=this +if(p.ax==null){p.siy(null) +return}s=p.aY +s.toString +r=p.k3 +q=p.x +if(s<255)p.siy(a.RO(s,r,t.Zr.a(q))) +else p.siy(a.Fw(r.a,r.b,t.Ff.a(q))) +p.ko(a) +a.fM()}} +A.Eb.prototype={ +fE(a,b,c,d){var s,r,q=this,p=q.p8(a,b,!0,d),o=a.a,n=o.length +if(n!==0)return p +n=q.k4 +if(n!=null){s=q.ok +r=s.a +s=s.b +n=!new A.D(r,s,r+n.a,s+n.b).p(0,b)}else n=!1 +if(n)return p +if(A.bU(q.$ti.c)===A.bU(d))o.push(new A.uC(d.a(q.k3),b.ad(0,q.ok),d.h("uC<0>"))) +return p}} +A.OB.prototype={} +A.iJ.prototype={} +A.yt.prototype={ +e2(a){if(!(a.b instanceof A.iJ))a.b=new A.iJ(null,null,B.h)}, +sez(a){if(this.E===a)return +this.E=a +this.a6()}, +d6(a,b){var s,r,q,p,o,n,m,l,k=this,j=null +switch(k.E.a){case 1:case 3:s=A.eo(a.gER(a),j) +r=k.V$ +q=A.o(k).h("ac.1") +p=j +while(r!=null){o=r.gpq() +n=B.cj.f2(r.fx,new A.au(s,b),o) +p=A.pB(p,n) +o=r.b +o.toString +r=q.a(o).a1$}return p +case 0:r=k.cj$ +m=k.gw_() +break +case 2:r=k.V$ +m=k.gvZ() +break +default:m=j +r=m}s=A.eo(j,a.grU(a)) +for(l=0;r!=null;r=m.$1(r)){q=r.gpq() +o=r.fx +n=B.cj.f2(o,new A.au(s,b),q) +if(n!=null)return n+l +n=B.z.f2(o,s,r.gbF()) +l+=n.b}return j}, +bQ(a){var s,r,q,p,o,n,m=this,l=m.V$ +switch(m.E.a){case 1:case 3:s=a.d +r=A.eo(s,null) +for(q=A.o(m).h("ac.1"),p=0;l!=null;){o=l.gbF() +n=B.z.f2(l.fx,r,o) +p+=n.a +o=l.b +o.toString +l=q.a(o).a1$}return a.b4(new A.K(p,s)) +case 0:case 2:s=a.b +r=A.eo(null,s) +for(q=A.o(m).h("ac.1"),p=0;l!=null;){o=l.gbF() +n=B.z.f2(l.fx,r,o) +p+=n.b +o=l.b +o.toString +l=q.a(o).a1$}return a.b4(new A.K(s,p))}}, +be(){var s,r,q,p,o,n,m,l=this,k=null,j="RenderBox was not laid out: ",i=t.k.a(A.G.prototype.gN.call(l)),h=l.V$ +switch(l.E.a){case 1:s=i.d +r=A.eo(s,k) +for(q=t.U9,p=0;h!=null;){h.bV(r,!0) +o=h.b +o.toString +q.a(o) +o.a=new A.m(p,0) +n=h.id +p+=(n==null?A.ab(A.R(j+A.t(h).i(0)+"#"+A.b4(h))):n).a +h=o.a1$}l.id=i.b4(new A.K(p,s)) +break +case 3:s=i.d +r=A.eo(s,k) +for(q=t.U9,p=0;h!=null;){h.bV(r,!0) +o=h.b +o.toString +q.a(o) +n=h.id +p+=(n==null?A.ab(A.R(j+A.t(h).i(0)+"#"+A.b4(h))):n).a +h=o.a1$}h=l.V$ +for(m=0;h!=null;){o=h.b +o.toString +q.a(o) +n=h.id +m+=(n==null?A.ab(A.R(j+A.t(h).i(0)+"#"+A.b4(h))):n).a +o.a=new A.m(p-m,0) +h=o.a1$}l.id=i.b4(new A.K(p,s)) +break +case 2:s=i.b +r=A.eo(k,s) +for(q=t.U9,p=0;h!=null;){h.bV(r,!0) +o=h.b +o.toString +q.a(o) +o.a=new A.m(0,p) +n=h.id +p+=(n==null?A.ab(A.R(j+A.t(h).i(0)+"#"+A.b4(h))):n).b +h=o.a1$}l.id=i.b4(new A.K(s,p)) +break +case 0:s=i.b +r=A.eo(k,s) +for(q=t.U9,p=0;h!=null;){h.bV(r,!0) +o=h.b +o.toString +q.a(o) +n=h.id +p+=(n==null?A.ab(A.R(j+A.t(h).i(0)+"#"+A.b4(h))):n).b +h=o.a1$}h=l.V$ +for(m=0;h!=null;){o=h.b +o.toString +q.a(o) +n=h.id +m+=(n==null?A.ab(A.R(j+A.t(h).i(0)+"#"+A.b4(h))):n).b +o.a=new A.m(0,p-m) +h=o.a1$}l.id=i.b4(new A.K(s,p)) +break}}, +JL(a){var s,r,q,p=this.V$ +for(s=t.U9,r=0;p!=null;){r=Math.max(r,A.fV(a.$1(p))) +q=p.b +q.toString +p=s.a(q).a1$}return r}, +JM(a){var s,r,q,p=this.V$ +for(s=t.U9,r=0;p!=null;){r+=a.$1(p) +q=p.b +q.toString +p=s.a(q).a1$}return r}, +aU(a){var s +switch(A.aX(this.E).a){case 0:s=this.JM(new A.a7p(a)) +break +case 1:s=this.JL(new A.a7q(a)) +break +default:s=null}return s}, +aT(a){var s +switch(A.aX(this.E).a){case 0:s=this.JM(new A.a7n(a)) +break +case 1:s=this.JL(new A.a7o(a)) +break +default:s=null}return s}, +h8(a){return this.Pc(a)}, +aE(a,b){this.lW(a,b)}, +cW(a,b){return this.qN(a,b)}} +A.a7p.prototype={ +$1(a){return a.az(B.ac,this.a,a.gbl())}, +$S:33} +A.a7q.prototype={ +$1(a){return a.az(B.ac,this.a,a.gbl())}, +$S:33} +A.a7n.prototype={ +$1(a){return a.az(B.av,this.a,a.gbu())}, +$S:33} +A.a7o.prototype={ +$1(a){return a.az(B.av,this.a,a.gbu())}, +$S:33} +A.QE.prototype={ +aj(a){var s,r,q +this.eu(a) +s=this.V$ +for(r=t.U9;s!=null;){s.aj(a) +q=s.b +q.toString +s=r.a(q).a1$}}, +aa(a){var s,r,q +this.e5(0) +s=this.V$ +for(r=t.U9;s!=null;){s.aa(0) +q=s.b +q.toString +s=r.a(q).a1$}}} +A.QF.prototype={} +A.P3.prototype={ +afq(a){var s=this.a +this.a=a +return s}, +i(a){var s="#",r=A.b4(this.b),q=this.a.a +return s+A.b4(this)+"("+("latestEvent: "+(s+r))+", "+("annotations: [list of "+q+"]")+")"}} +A.P4.prototype={ +ghL(a){var s=this.c +return s.ghL(s)}} +A.HU.prototype={ +Ky(a){var s,r,q,p,o,n,m=t._h,l=A.jJ(m,t.xV) +for(s=a.a,r=s.length,q=0;q") +this.b.abJ(a.ghL(0),a.d,A.HB(new A.aZ(s,r),new A.a50(),r.h("j.E"),t.Pb))}, +ag6(a,b){var s,r,q,p,o,n=this,m={} +if(a.gcm(a)!==B.cD&&a.gcm(a)!==B.fg)return +if(t.ks.b(a))return +m.a=null +if(t.PB.b(a))m.a=A.amr() +else{s=a.goQ() +m.a=b==null?n.a.$2(a.gbN(a),s):b}r=a.ghL(a) +q=n.c +p=q.k(0,r) +if(!A.aCV(p,a))return +o=q.a +new A.a53(m,n,p,a,r).$0() +if(o!==0!==(q.a!==0))n.ae()}, +ag1(){new A.a51(this).$0()}} +A.a50.prototype={ +$1(a){return a.gnN(a)}, +$S:294} +A.a53.prototype={ +$0(){var s=this +new A.a52(s.a,s.b,s.c,s.d,s.e).$0()}, +$S:0} +A.a52.prototype={ +$0(){var s,r,q,p,o,n=this,m=n.c +if(m==null){s=n.d +if(t.PB.b(s))return +n.b.c.n(0,n.e,new A.P3(A.jJ(t._h,t.xV),s))}else{s=n.d +if(t.PB.b(s))n.b.c.A(0,s.ghL(s))}r=n.b +q=r.c.k(0,n.e) +if(q==null){m.toString +q=m}p=q.b +q.b=s +o=t.PB.b(s)?A.jJ(t._h,t.xV):r.Ky(n.a.a) +r.K8(new A.P4(q.afq(o),o,p,s))}, +$S:0} +A.a51.prototype={ +$0(){var s,r,q,p,o,n,m +for(s=this.a,r=s.c.gaI(0),q=A.o(r),r=new A.bt(J.al(r.a),r.b,q.h("bt<1,2>")),q=q.y[1];r.q();){p=r.a +if(p==null)p=q.a(p) +o=p.b +n=s.a0t(p) +m=p.a +p.a=n +s.K8(new A.P4(m,n,o,null))}}, +$S:0} +A.a4Z.prototype={ +$2(a,b){var s +if(a.gyh()&&!this.a.a9(0,a)){s=a.gF6(a) +if(s!=null)s.$1(this.b.aS(this.c.k(0,a)))}}, +$S:295} +A.a5_.prototype={ +$1(a){return!this.a.a9(0,a)}, +$S:296} +A.Tf.prototype={} +A.ca.prototype={ +aa(a){}, +i(a){return""}} +A.jR.prototype={ +fK(a,b){var s,r=this +if(a.gdj()){r.lk() +if(!a.cy){s=a.ay +s===$&&A.a() +s=!s}else s=!0 +if(s)A.arQ(a,!0) +else if(a.db)A.aDb(a) +s=a.ch.a +s.toString +t.gY.a(s) +s.skY(0,b) +s.i6(0) +r.a.qi(0,s)}else{s=a.ay +s===$&&A.a() +if(s){a.ch.saQ(0,null) +a.Bl(r,b)}else a.Bl(r,b)}}, +gbP(a){var s +if(this.e==null)this.BH() +s=this.e +s.toString +return s}, +BH(){var s,r,q=this +q.c=new A.a68(q.b,A.E(t.S,t.M),A.aj()) +$.iU.toString +s=$.am() +r=s.P6() +q.d=r +$.iU.toString +q.e=s.P0(r,null) +r=q.c +r.toString +q.a.qi(0,r)}, +lk(){var s,r=this +if(r.e==null)return +s=r.c +s.toString +s.sRz(r.d.m2()) +r.e=r.d=r.c=null}, +GB(){if(this.c==null)this.BH() +var s=this.c +if(!s.ch){s.ch=!0 +s.eI()}}, +tc(a,b,c,d){var s +if(a.ax!=null)a.FD() +this.lk() +a.i6(0) +this.a.qi(0,a) +s=new A.jR(a,d==null?this.b:d) +b.$2(s,c) +s.lk()}, +Fv(a,b,c){return this.tc(a,b,c,null)}, +l4(a,b,c,d,e,f){var s,r,q=this +if(e===B.A){d.$2(q,b) +return null}s=c.cY(b) +if(a){r=f==null?new A.vc(B.Z,A.E(t.S,t.M),A.aj()):f +if(!s.j(0,r.k3)){r.k3=s +r.eI()}if(e!==r.k4){r.k4=e +r.eI()}q.tc(r,d,b,s) +return r}else{q.a9o(s,e,s,new A.a5Y(q,d,b)) +return null}}, +aeU(a,b,c,d,e,f,g){var s,r,q,p=this +if(f===B.A){e.$2(p,b) +return null}s=c.cY(b) +r=d.cY(b) +if(a){q=g==null?new A.F5(B.hs,A.E(t.S,t.M),A.aj()):g +if(!r.j(0,q.k3)){q.k3=r +q.eI()}if(f!==q.k4){q.k4=f +q.eI()}p.tc(q,e,b,s) +return q}else{p.a9n(r,f,s,new A.a5X(p,e,b)) +return null}}, +RK(a,b,c,d,e,f,g){var s,r,q,p=this +if(f===B.A){e.$2(p,b) +return null}s=c.cY(b) +r=d.cY(b) +if(a){q=g==null?new A.F3(B.hs,A.E(t.S,t.M),A.aj()):g +if(r!==q.k3){q.k3=r +q.eI()}if(f!==q.k4){q.k4=f +q.eI()}p.tc(q,e,b,s) +return q}else{p.a9l(r,f,s,new A.a5W(p,e,b)) +return null}}, +xQ(a,b,c,d,e){var s,r=this,q=b.a,p=b.b,o=A.a4l(q,p,0) +o.cs(0,c) +o.au(0,-q,-p) +if(a){s=e==null?A.at3(null):e +s.sbE(0,o) +r.tc(s,d,b,A.aru(o,r.b)) +return s}else{q=r.gbP(0) +q.c8(0) +q.a8(0,o.a) +d.$2(r,b) +r.gbP(0).bH(0) +return null}}, +RP(a,b,c,d){var s=d==null?A.amN():d +s.sCt(0,b) +s.skY(0,a) +this.Fv(s,c,B.h) +return s}, +i(a){return"PaintingContext#"+A.f8(this)+"(layer: "+this.a.i(0)+", canvas bounds: "+this.b.i(0)+")"}} +A.a5Y.prototype={ +$0(){return this.b.$2(this.a,this.c)}, +$S:0} +A.a5X.prototype={ +$0(){return this.b.$2(this.a,this.c)}, +$S:0} +A.a5W.prototype={ +$0(){return this.b.$2(this.a,this.c)}, +$S:0} +A.X4.prototype={} +A.jS.prototype={ +oH(){var s=this.cx +if(s!=null)s.a.DG()}, +sFH(a){var s=this.e +if(s==a)return +if(s!=null)s.aa(0) +this.e=a +if(a!=null)a.aj(this)}, +Q4(){var s,r,q,p,o,n,m,l,k,j,i,h=this +try{for(o=t.TT;n=h.r,n.length!==0;){s=n +h.r=A.b([],o) +J.aps(s,new A.a6a()) +for(r=0;r")) +i.zf(m,l,k,j.c) +B.b.L(n,i) +break}}q=J.b5(s,r) +if(q.z&&q.y===h)q.a3Y()}h.f=!1}for(o=h.CW,o=A.dr(o,o.r,A.o(o).c),n=o.$ti.c;o.q();){m=o.d +p=m==null?n.a(m):m +p.Q4()}}finally{h.f=!1}}, +a0d(a){try{a.$0()}finally{this.f=!0}}, +Q2(){var s,r,q,p,o=this.z +B.b.er(o,new A.a69()) +for(s=o.length,r=0;r=m){l=q.d +if(l==null)l=A.ab(A.jx(A.h(a1)+" and "+d.i(0)+b)) +if(o==null){o=A.b([d],s) +k=o}else k=o +k.push(l) +q=l}if(n<=m){j=r.d +if(j==null)j=A.ab(A.jx(A.h(a1)+" and "+d.i(0)+b)) +if(p==null){a1.toString +p=A.b([a1],s) +k=p}else k=p +k.push(j) +r=j}}if(o!=null){i=new A.bj(new Float64Array(16)) +i.dH() +s=o.length +h=a?s-2:s-1 +for(g=h;g>0;g=f){f=g-1 +o[g].cP(o[f],i)}}else i=c +if(p==null){if(i==null){a=new A.bj(new Float64Array(16)) +a.dH()}else a=i +return a}e=new A.bj(new Float64Array(16)) +e.dH() +for(g=p.length-1;g>0;g=f){f=g-1 +p[g].cP(p[f],e)}if(e.dB(e)===0)return new A.bj(new Float64Array(16)) +if(i==null)a=c +else{i.cs(0,e) +a=i}return a==null?e:a}, +lY(a){return null}, +Df(a){return null}, +tX(){this.y.ch.D(0,this) +this.y.oH()}, +dR(a){}, +tZ(a){var s,r +if(this.y.at==null)return +s=this.fr +if(s!=null)r=!(s.ch!=null&&s.y) +else r=!1 +if(r)s.U0(a) +else{s=this.d +if(s!=null)s.tZ(a)}}, +gvp(){var s,r=this +if(r.dx==null){s=A.lX() +r.dx=s +r.dR(s)}s=r.dx +s.toString +return s}, +lM(){this.dy=!0 +this.fr=null +this.bo(new A.a7w())}, +b1(){var s,r,q,p,o,n=this,m=n.y +if(m==null||m.at==null){n.dx=null +return}if(n.fr!=null){m=n.dx +m=m==null?null:m.a +s=m===!0}else s=!1 +m=n.dx +r=(m==null?null:m.k2)!=null||n.gvp().k2!=null +n.dx=null +q=n.gvp().a&&s +p=n +while(!0){o=p.d +if(o!=null)m=r||!q +else m=!1 +if(!m)break +if(p!==n&&p.dy)break +p.dy=!0 +if(q)r=!1 +if(o.dx==null){m=A.lX() +o.dx=m +o.dR(m)}q=o.dx.a +if(q&&o.fr==null)return +p=o}if(p!==n&&n.fr!=null&&n.dy)n.y.ch.A(0,n) +if(!p.dy){p.dy=!0 +m=n.y +if(m!=null){m.ch.D(0,p) +n.y.oH()}}}, +a7X(){var s,r,q,p,o,n,m,l=this,k=null +if(l.z)return +s=l.fr +r=s==null +q=k +if(!r){p=s.ch +if(!(p==null))if(!p.Q)q=p.ch!=null&&p.y +else q=!0}s=r?k:s.z +o=t.pp.a(l.JX(s===!0,q===!0)) +s=t.QF +n=A.b([],s) +m=A.b([],s) +s=l.fr +r=s==null +q=r?k:s.f +p=r?k:s.r +s=r?k:s.w +o.nK(s==null?0:s,p,q,n,m)}, +JX(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e={},d=f.gvp() +e.a=d.d +e.b=!d.e&&!d.a +s=a||d.b +r=b||d.R8 +q=A.b([],t.q1) +p=d.c||f.d==null +o=d.k2 +n=t.pp +m=A.E(t.ZX,n) +l=t.CZ +k=A.b([],l) +j=A.b([],t.i1) +i=d.a3 +i=i==null?null:i.a!==0 +f.fN(new A.a7r(e,f,r,s,q,k,j,d,i===!0,o,m)) +if(p)for(n=k.length,h=0;h"))) +for(i=g.b,h=0;!1;++h)j.push(i[h].f1(0,new A.a7t(f,m),n).dm(0))}n=f.dy=!1 +if(f.d==null){f.v0(k,!0) +B.b.W(j,f.gL_()) +n=e.a +g=new A.R1(A.b([],l),A.b([f],t.TT),n)}else if(e.b){n=e.a +g=new A.MD(j,A.b([],l),n)}else{f.v0(k,!0) +B.b.W(j,f.gL_()) +i=e.a +g=new A.p8(b,d,j,A.b([],l),A.b([f],t.TT),i) +if(a?!d.b:n){g.uB() +g.f.b=!0}if(d.a)g.z=!0}g.L(0,k) +return g}, +v0(a,b){var s,r,q,p,o,n,m,l=this,k=A.ay(t.pp) +for(s=J.ax(a),r=0;r#"+A.b4(this)}, +i(a){return this.cg()}, +ff(a,b,c,d){var s=this.d +if(s instanceof A.G)s.ff(a,b==null?this:b,c,d)}, +p0(){return this.ff(B.ay,null,B.q,null)}, +mT(a,b){return this.ff(B.ay,a,B.q,b)}, +$iak:1} +A.a7u.prototype={ +$0(){var s=A.b([],t.E),r=this.a +s.push(A.alV("The following RenderObject was being processed when the exception was fired",B.Bi,r)) +s.push(A.alV("RenderObject",B.Bj,r)) +return s}, +$S:22} +A.a7x.prototype={ +$0(){this.b.$1(this.c.a(this.a.gN()))}, +$S:0} +A.a7v.prototype={ +$1(a){var s +a.Nf() +s=a.cx +s===$&&A.a() +if(s)this.a.cx=!0}, +$S:35} +A.a7w.prototype={ +$1(a){a.lM()}, +$S:35} +A.a7r.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=a.JX(f.d,f.c) +if(e.a){B.b.J(f.e) +B.b.J(f.f) +B.b.J(f.r) +if(!f.w.a)f.a.a=!0}for(s=e.gRg(),r=s.length,q=f.f,p=f.y!=null,o=f.x,n=f.b,m=f.w,l=f.e,k=f.z,j=0;j1){b=new A.Rn() +b.IO(a3,a4,c)}else b=a2 +c=b.c +c===$&&A.a() +a=b.d +a===$&&A.a() +a0=A.e_(c,a) +e=e==null?a2:e.kE(a0) +if(e==null)e=a0 +c=b.b +if(c!=null){a1=A.e_(b.c,c) +f=f==null?a2:f.cX(a1) +if(f==null)f=a1}c=b.a +if(c!=null){a1=A.e_(b.c,c) +g=g==null?a2:g.cX(a1) +if(g==null)g=a1}d=d.c +if(d!=null)l.L(0,d)}}if(h!=null)j=!(e.a>=e.c||e.b>=e.d) +else j=!1 +if(j){if(i==null||a6.p(0,i.b))i=A.Km(a2,B.b.gI(o).gmS()) +a6.D(0,i.b) +i.dy=l +if(!i.e.j(0,e)){i.e=e +i.h_()}if(!A.amJ(i.d,a2)){i.d=null +i.h_()}i.f=f +i.r=g +for(k=k.ga0(m);k.q();){j=k.gG(k) +if(j.gfu()!=null)B.b.gI(j.b).fr=i}i.SO(0,h) +a5.push(i)}}}, +nK(a,b,a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=null,d=A.ay(t.S),c=f.y +for(s=f.x,r=s.length,q=0;q");s.q();){n=s.gG(s) +if(n instanceof A.p8){if(n.z){m=n.b +m=B.b.gI(m).fr!=null&&d.p(0,B.b.gI(m).fr.b)}else m=!1 +if(m)B.b.gI(n.b).fr=null}m=n.b +l=new A.i7(r,1,e,p) +l.zf(r,1,e,o) +B.b.L(m,l) +n.nK(a+f.f.aY,b,a0,a1,a2)}return}s=f.b +k=s.length>1?A.aGh(s,b,a0):e +r=!f.e +if(r){if(k==null)p=e +else{p=k.d +p===$&&A.a() +if(!p.gM(0)){p=k.c +p===$&&A.a() +p=p.QZ()}else p=!0}p=p===!0}else p=!1 +if(p)return +p=B.b.gI(s) +j=p.fr +if(j==null)j=p.fr=A.Km(e,B.b.gI(s).gmS()) +j.dy=f.c +j.w=a +if(a!==0){f.uB() +p=f.f +p.scv(0,p.aY+a)}if(k!=null){p=k.d +p===$&&A.a() +j.saZ(0,p) +p=k.c +p===$&&A.a() +j.sbE(0,p) +j.f=k.b +j.r=k.a +if(r&&k.e){f.uB() +f.f.b7(B.je,!0)}}r=t.QF +i=A.b([],r) +f.L4(j.f,j.r,a2,d) +for(p=J.al(c);p.q();){o=p.gG(p) +if(o instanceof A.p8){if(o.z){n=o.b +n=B.b.gI(n).fr!=null&&d.p(0,B.b.gI(n).fr.b)}else n=!1 +if(n)B.b.gI(o.b).fr=null}h=A.b([],r) +n=j.f +o.nK(0,j.r,n,i,h) +B.b.L(a2,h)}r=f.f +if(r.a)B.b.gI(s).qp(j,f.f,i) +else j.lb(0,i,r) +a1.push(j) +for(s=a2.length,r=t.g3,q=0;q0;){r=c[s];--s +q=c[s] +A.aGi(r,q,g.c) +if(r===q.d)g.IJ(r,q,g.b,g.a) +else{p=A.b([q],e) +o=q.d +while(!0){n=o==null +m=!n +if(!(m&&o.fr==null))break +p.push(o) +o=o.d}if(n)l=f +else{l=o.fr +l=l==null?f:l.r}g.a=l +if(n)n=f +else{n=o.fr +n=n==null?f:n.f}g.b=n +if(m)for(k=p.length-1,j=o;k>=0;--k){g.IJ(j,p[k],g.b,g.a) +j=p[k]}}}i=B.b.gI(c) +e=g.b +e=e==null?f:e.cX(i.glh()) +if(e==null)e=i.glh() +g.d=e +n=g.a +if(n!=null){h=n.cX(e) +e=h.gM(0)&&!g.d.gM(0) +g.e=e +if(!e)g.d=h}}, +IJ(a,b,c,d){var s,r,q,p=$.axJ() +p.dH() +a.cP(b,p) +s=a.lY(b) +r=A.atL(A.atK(s,d),p) +this.a=r +if(r==null)this.b=null +else{q=a.Df(b) +this.b=A.atL(q==null?A.atK(c,s):q,p)}}} +A.Px.prototype={} +A.QH.prototype={} +A.m5.prototype={ +aa(a){this.a=this.b=null +this.XL(0)}, +i(a){var s=A.h(this.b),r=this.a +r=r==null?"not laid out":"offset: "+r.i(0) +return"widget: "+s+", "+r}} +A.a7l.prototype={ +e2(a){if(!(a.b instanceof A.m5))a.b=new A.m5(null,null)}, +rN(a,b,c){var s,r=new A.aq(0,a,0,1/0),q=A.b([],t.tZ),p=this.V$,o=A.o(this).h("ac.1") +while(p!=null){q.push(A.aDZ(p,r,b,c)) +s=p.b +s.toString +p=o.a(s).a1$}return q}, +aeN(a){var s,r,q,p,o,n,m=this.V$ +for(s=a.length,r=t.tq,q=A.o(this).h("ac.1"),p=0;p"),g=new A.i7(e,1,a8,h),g.zf(e,1,a8,i.c),g=new A.bR(g,g.gu(0),h.h("bR")),h=h.h("aD.E");g.q();){i=g.d +if(i==null)i=h.a(i) +d=d.kE(new A.D(i.a,i.b,i.c,i.d)) +c=i.e}i=d.a +h=Math.max(0,i) +g=d.b +f=Math.max(0,g) +i=Math.min(d.c-i,p.a(A.G.prototype.gN.call(a7)).b) +g=Math.min(d.d-g,p.a(A.G.prototype.gN.call(a7)).d) +b=Math.floor(h)-4 +a=Math.floor(f)-4 +i=Math.ceil(h+i)+4 +g=Math.ceil(f+g)+4 +a0=new A.D(b,a,i,g) +a1=A.lX() +a2=n+1 +a1.k3=new A.qJ(n,a8) +a1.e=!0 +a1.a5=o +f=k.b +b1=f==null?b1:f +a1.ry=new A.cQ(b1,k.f) +$label0$1:{break $label0$1}b1=b2.r +if(b1!=null){a3=b1.cX(a0) +if(a3.a>=a3.c||a3.b>=a3.d)b1=!(b>=i||a>=g) +else b1=!1 +a1.b7(B.je,b1)}b1=a7.C +i=b1==null?a8:b1.a!==0 +if(i===!0){b1.toString +a4=new A.aZ(b1,A.o(b1).h("aZ<1>")).ga0(0) +if(!a4.q())A.ab(A.bB()) +b1=b1.A(0,a4.gG(0)) +b1.toString +a5=b1}else{a6=new A.rN() +a5=A.Km(a6,a7.a_B(a6))}a5.SO(0,a1) +if(!a5.e.j(0,a0)){a5.e=a0 +a5.h_()}b1=a5.a +b1.toString +s.n(0,b1,a5) +a9.push(a5) +n=a2 +o=c}a7.C=s +b2.lb(0,a9,b3)}, +a_B(a){return new A.a7y(this,a)}, +lM(){this.za() +this.C=null}} +A.a7A.prototype={ +$1(a){return a.z=null}, +$S:302} +A.a7B.prototype={ +$1(a){var s=a.x +s===$&&A.a() +return s.c!==B.bA}, +$S:303} +A.a7z.prototype={ +$2(a,b){return new A.K(a.az(B.ac,1/0,a.gbl()),0)}, +$S:62} +A.a7y.prototype={ +$0(){var s=this.a,r=s.C.k(0,this.b) +r.toString +s.mT(s,r.e)}, +$S:0} +A.jc.prototype={ +gm(a){var s=this.x +s===$&&A.a() +return s}, +a5h(){var s=this,r=s.JW(),q=s.x +q===$&&A.a() +if(q.j(0,r))return +s.x=r +s.ae()}, +JW(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=f.d +if(e==null||f.e==null)return B.wa +s=e.a +r=f.e.a +e=f.b +q=e.pC(new A.ap(s,B.n)) +p=s===r?q:e.pC(new A.ap(r,B.n)) +o=e.E +n=o.w +n.toString +m=s>r!==(B.T===n) +l=A.zN(B.n,s,r,!1) +k=A.b([],t.AO) +for(e=e.tK(l),n=e.length,j=0;jr!==s>r){p=sr?a.a:d}else if(e!=null)p=c.ar +if(s!==r&&n!==s>r){o=b.$1(e) +m.e=n?o.a:o.b}}p=null}return p==null?c:p}, +Nx(a,b,c,d,e){var s,r,q,p,o,n,m,l=this +if(a!=null)if(l.f&&d!=null&&e!=null){s=c.a +r=d.a +q=e.a +if(s!==r&&r>q!==sr?a.a:e}else if(d!=null)p=c.ae.a +if(m!==s=p&&m.a.a>p}else s=!0}else s=!1 +if(s)m=null +l=k.d2(c?k.Nx(m,b,n,j,i):k.NA(m,b,n,j,i)) +if(c)k.e=l +else k.d=l +s=l.a +p=k.a +if(s===p.b)return B.u +if(s===p.a)return B.w +return A.za(k.gfn(),q)}, +a7S(a,b){var s,r,q,p,o,n,m=this +if(b)m.e=null +else m.d=null +s=m.b +r=s.aW(0,null) +r.dB(r) +q=A.bI(r,a) +if(m.gfn().gM(0))return A.za(m.gfn(),q) +p=m.gfn() +o=s.E.w +o.toString +n=m.d2(s.df(A.z9(p,q,o))) +if(b)m.e=n +else m.d=n +s=n.a +p=m.a +if(s===p.b)return B.u +if(s===p.a)return B.w +return A.za(m.gfn(),q)}, +C4(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +if(f.f&&d!=null&&e!=null){s=e.a +r=s>=d.a +if(b){q=f.c +p=a.$2(c,q) +o=a.$2(r?new A.ap(s-1,e.b):e,q) +n=r?o.a.a:o.b.a +s=c.a +q=s>n +if(sj&&p.a.a>j)return B.u +k=k.a +if(l=s.a){s=o.b.a +if(l>=s)return B.x +if(lq)return B.u}}else{i=f.d2(c) +s=r?new A.ap(s-1,e.b):e +o=a.$2(s,f.c) +if(r&&i.a===f.a.a){f.d=i +return B.w}s=!r +if(s&&i.a===f.a.b){f.d=i +return B.u}if(r&&i.a===f.a.b){f.e=f.d2(o.b) +f.d=i +return B.u}if(s&&i.a===f.a.a){f.e=f.d2(o.a) +f.d=i +return B.w}}}else{s=f.b.iY(c) +q=f.c +h=B.d.ak(q,s.a,s.b)===$.DU() +if(!b||h)return null +if(e!=null){p=a.$2(c,q) +s=d==null +g=!0 +if(!(s&&e.a===f.a.a))if(!(J.e(d,e)&&e.a===f.a.a)){s=!s&&d.a>e.a +g=s}s=p.b +q=s.a +l=f.a +k=l.a +j=ql&&p.a.a>l){f.d=new A.ap(l,B.n) +return B.u}if(g){s=p.a +q=s.a +if(q<=l){f.d=f.d2(s) +return B.x}if(q>l){f.d=new A.ap(l,B.n) +return B.u}}else{f.d=f.d2(s) +if(j)return B.w +if(q>=k)return B.x}}}return null}, +C3(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +if(f.f&&d!=null&&e!=null){s=e.a +r=d.a +q=s>=r +if(b){s=f.c +p=a.$2(c,s) +o=a.$2(q?d:new A.ap(r-1,d.b),s) +n=q?o.b.a:o.a.a +s=c.a +r=sn)m=p.a +else m=q?e:d +if(!q!==r)f.d=f.d2(q?o.a:o.b) +s=f.d2(m) +f.e=s +r=f.d.a +l=p.b.a +k=f.a +j=k.b +if(l>j&&p.a.a>j)return B.u +k=k.a +if(l=r){s=p.a.a +r=o.a.a +if(s<=r)return B.x +if(s>r)return B.u}else{s=o.b.a +if(l>=s)return B.x +if(le.a +g=s}s=p.b +r=s.a +l=f.a +k=l.a +j=rl&&p.a.a>l){f.e=new A.ap(l,B.n) +return B.u}if(g){f.e=f.d2(s) +if(j)return B.w +if(r>=k)return B.x}else{s=p.a +r=s.a +if(r<=l){f.e=f.d2(s) +return B.x}if(r>l){f.e=new A.ap(l,B.n) +return B.u}}}}return null}, +a7W(a6,a7,a8,a9,b0,b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this,a5=null +if(a4.f&&b0!=null&&b1!=null){s=b1.a>=b0.a +r=a4.JQ() +q=a4.b +if(r===q)return a4.C4(a6,a8,a9,b0,b1) +p=r.aW(0,a5) +p.dB(p) +o=A.bI(p,a7) +n=r.gv(0) +m=new A.D(0,0,0+n.a,0+n.b).p(0,o) +l=r.df(o) +if(m){k=r.E.e.oK(!1) +j=a6.$2(l,k) +i=a6.$2(a4.kd(r),k) +h=s?i.a.a:i.b.a +q=l.a +n=q>h +if(qe&&j.a.a>e)return B.u +if(d=q.a){q=j.a.a +n=i.a.a +if(q<=n)return B.x +if(q>n)return B.u}else{q=i.b.a +if(d>=q)return B.x +if(d=n){a4.d=new A.ap(a4.a.b,B.n) +return B.u}if(s&&c.a>=n){a4.e=b0 +a4.d=new A.ap(a4.a.b,B.n) +return B.u}if(f&&c.a<=q){a4.e=b0 +a4.d=new A.ap(a4.a.a,B.n) +return B.w}}}else{if(a8)return a4.C4(a6,!0,a9,b0,b1) +if(b1!=null){b=a4.JR(a7) +if(b==null)return a5 +a=b.b +a0=a.df(b.a) +a1=a.E.e.oK(!1) +q=a.iY(a0) +if(B.d.ak(a1,q.a,q.b)===$.DU())return a5 +q=b0==null +a2=!0 +if(!(q&&b1.a===a4.a.a))if(!(J.e(b0,b1)&&b1.a===a4.a.a)){q=!q&&b0.a>b1.a +a2=q}a3=a6.$2(a0,a1) +q=a4.kd(a).a +n=q+$.uq() +f=a3.b.a +e=fn&&a3.a.a>n){a4.d=new A.ap(a4.a.b,B.n) +return B.u}if(a2){if(a3.a.a<=n){a4.d=new A.ap(a4.a.b,B.n) +return B.x}a4.d=new A.ap(a4.a.b,B.n) +return B.u}else{if(f>=q){a4.d=new A.ap(a4.a.a,B.n) +return B.x}if(e){a4.d=new A.ap(a4.a.a,B.n) +return B.w}}}}return a5}, +a7V(a6,a7,a8,a9,b0,b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this,a5=null +if(a4.f&&b0!=null&&b1!=null){s=b1.a>=b0.a +r=a4.JQ() +q=a4.b +if(r===q)return a4.C3(a6,a8,a9,b0,b1) +p=r.aW(0,a5) +p.dB(p) +o=A.bI(p,a7) +n=r.gv(0) +m=new A.D(0,0,0+n.a,0+n.b).p(0,o) +l=r.df(o) +if(m){k=r.E.e.oK(!1) +j=a6.$2(l,k) +i=a6.$2(a4.kd(r),k) +h=s?i.b.a:i.a.a +q=l.a +n=qh?j.a:b1 +if(!s!==n)a4.d=b1 +q=a4.d2(g) +a4.e=q +n=a4.d.a +f=a4.kd(r).a +e=f+$.uq() +d=j.b.a +if(d>e&&j.a.a>e)return B.u +if(d=n){q=j.a.a +n=i.a.a +if(q<=n)return B.x +if(q>n)return B.u}else{q=i.b.a +if(d>=q)return B.x +if(d=n){a4.d=b1 +a4.e=new A.ap(a4.a.b,B.n) +return B.u}if(s&&c.a>=n){a4.e=new A.ap(a4.a.b,B.n) +return B.u}if(f&&c.a<=q){a4.e=new A.ap(a4.a.a,B.n) +return B.w}}}else{if(a8)return a4.C3(a6,!0,a9,b0,b1) +if(b0!=null){b=a4.JR(a7) +if(b==null)return a5 +a=b.b +a0=a.df(b.a) +a1=a.E.e.oK(!1) +q=a.iY(a0) +if(B.d.ak(a1,q.a,q.b)===$.DU())return a5 +q=b1==null +a2=!0 +if(!(q&&b0.a===a4.a.b))if(!(b0.j(0,b1)&&b0.a===a4.a.b)){q=!q&&b0.a>b1.a +a2=q}a3=a6.$2(a0,a1) +q=a4.kd(a).a +n=q+$.uq() +f=a3.b.a +e=fn&&a3.a.a>n){a4.e=new A.ap(a4.a.b,B.n) +return B.u}if(a2){if(f>=q){a4.e=new A.ap(a4.a.a,B.n) +return B.x}if(e){a4.e=new A.ap(a4.a.a,B.n) +return B.w}}else{if(a3.a.a<=n){a4.e=new A.ap(a4.a.b,B.n) +return B.x}a4.e=new A.ap(a4.a.b,B.n) +return B.u}}}return a5}, +a7T(a,b,c,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=f.d,d=f.e +if(a0)f.e=null +else f.d=null +s=f.b +r=s.aW(0,null) +r.dB(r) +q=A.bI(r,a) +if(f.gfn().gM(0))return A.za(f.gfn(),q) +p=f.gfn() +o=s.E +n=o.w +n.toString +m=A.z9(p,q,n) +n=s.gv(0) +o=o.w +o.toString +l=A.z9(new A.D(0,0,0+n.a,0+n.b),q,o) +k=s.df(m) +j=s.df(l) +if(f.a3T())if(a0){s=s.gv(0) +i=f.a7V(c,a,new A.D(0,0,0+s.a,0+s.b).p(0,q),j,e,d)}else{s=s.gv(0) +i=f.a7W(c,a,new A.D(0,0,0+s.a,0+s.b).p(0,q),j,e,d)}else if(a0){s=s.gv(0) +i=f.C3(c,new A.D(0,0,0+s.a,0+s.b).p(0,q),j,e,d)}else{s=s.gv(0) +i=f.C4(c,new A.D(0,0,0+s.a,0+s.b).p(0,q),j,e,d)}if(i!=null)return i +h=f.Zn(q)?b.$1(k):null +if(h!=null){s=h.b.a +p=f.a +o=p.a +if(!(s=p&&h.a.a>p}else s=!0}else s=!1 +if(s)h=null +g=f.d2(a0?f.Nx(h,b,k,e,d):f.NA(h,b,k,e,d)) +if(a0)f.e=g +else f.d=g +s=g.a +p=f.a +if(s===p.b)return B.u +if(s===p.a)return B.w +return A.za(f.gfn(),q)}, +IC(a,b){var s=b.a,r=a.b,q=a.a +return Math.abs(s-r.a)=p&&a.a.a>p)return B.u}s.d=r +s.e=a.a +s.f=!0 +return B.x}, +zs(a,b){var s=A.bk("start"),r=A.bk("end"),q=b.a,p=a.b +if(q>p){q=new A.ap(q,B.n) +r.scr(q) +s.scr(q)}else{s.scr(new A.ap(a.a,B.n)) +r.scr(new A.ap(p,B.ap))}q=s.aP() +return new A.Qp(r.aP(),q)}, +a3_(a){var s=this,r=s.b,q=r.df(r.lf(a)) +if(s.a5A(q)&&!J.e(s.d,s.e))return B.x +return s.a2Z(s.K0(q))}, +K0(a){return this.zs(this.b.iY(a),a)}, +kd(a){var s=this.b +return a.df(A.bI(s.aW(0,a),new A.m(0,0+(0+s.gv(0).b)/2)))}, +a1a(a,b){var s,r=new A.xM(b),q=a.a,p=b.length,o=r.fc(q===p||a.b===B.ap?q-1:q) +if(o==null)o=0 +s=r.fd(q) +return this.zs(new A.cj(o,s==null?p:s),a)}, +a0O(a){var s,r,q=this.c,p=new A.xM(q),o=a.a,n=q.length,m=p.fc(o===n||a.b===B.ap?o-1:o) +if(m==null)m=0 +s=p.fd(o) +n=s==null?n:s +q=this.a +r=q.a +if(mo)m=o}s=q.b +if(n>s)n=s +else if(ns){i=J.az4(q) +break}}if(b&&i===l.length-1)p=new A.ap(n.a.b,B.ap) +else if(!b&&i===0)p=new A.ap(n.a.a,B.n) +else p=n.d2(m.df(new A.m(c,l[b?i+1:i-1].gnG()))) +m=p.a +j=n.a +if(m===j.a)o=B.w +else o=m===j.b?B.u:B.x +return new A.bw(p,o,t.UH)}, +a5A(a){var s,r,q,p,o=this +if(o.d==null||o.e==null)return!1 +s=A.bk("currentStart") +r=A.bk("currentEnd") +q=o.d +q.toString +p=o.e +p.toString +if(A.anL(q,p)>0){s.b=q +r.b=p}else{s.b=p +r.b=q}return A.anL(s.aP(),a)>=0&&A.anL(r.aP(),a)<=0}, +aW(a,b){return this.b.aW(0,b)}, +iR(a,b){if(this.b.y==null)return}, +gji(){var s,r,q,p,o,n,m,l=this +if(l.y==null){s=l.b +r=l.a +q=r.a +p=s.tK(A.zN(B.n,q,r.b,!1)) +r=t.AO +if(p.length!==0){l.y=A.b([],r) +for(s=p.length,o=0;o)")}} +A.BA.prototype={ +YF(a,b){var s,r=this,q=new A.a_d(A.E(t.S,t.EG)) +q.b=r +r.w=q +q=r.ch +s=A.o(q).h("hN<1,ce>") +r.CW=A.ew(new A.hN(q,new A.agX(r),s),s.h("j.E")) +r.at=a}, +ga2E(){var s=this.at +s===$&&A.a() +return s}, +hF(a){var s,r,q +this.z7(a) +s=this.CW +s===$&&A.a() +s=A.dr(s,s.r,A.o(s).c) +r=s.$ti.c +for(;s.q();){q=s.d +if(q==null)q=r.a(q) +q.e.n(0,a.gbj(),a.gcm(a)) +if(q.f0(a))q.hF(a) +else q.oe(a)}}, +Do(a){}, +kO(a){var s,r=this +if(!r.ay.p(0,a.gbj())){s=r.ax +if(!s.a9(0,a.gbj()))s.n(0,a.gbj(),A.b([],t.Y2)) +s.k(0,a.gbj()).push(a)}else r.a2F(a) +r.GN(a)}, +fp(a){var s,r=this.ax.A(0,a) +if(r!=null){s=this.at +s===$&&A.a() +J.mN(r,s)}this.ay.D(0,a)}, +f8(a){this.Hi(a) +this.ay.A(0,a) +this.ax.A(0,a)}, +fT(a){this.Hi(a) +this.ay.A(0,a)}, +a2F(a){return this.ga2E().$1(a)}} +A.agX.prototype={ +$1(a){var s=a.CP() +s.sahb(this.a.w) +s.gjH() +return s}, +$S:306} +A.IX.prototype={ +sCQ(a,b){var s=this,r=s.E +if(r===b)return +s.E=b +s.ao() +if(r.a!==b.a)s.b1()}, +gj3(){return!0}, +gkr(){return!0}, +gdj(){return!0}, +bQ(a){return new A.K(A.N(1/0,a.a,a.b),A.N(1/0,a.c,a.d))}, +aE(a,b){var s=this.gv(0),r=b.a,q=b.b +s=new A.a6j(new A.D(r,q,r+s.a,q+s.b),this.E.a,A.E(t.S,t.M),A.aj()) +a.lk() +s.i6(0) +a.a.qi(0,s)}, +dR(a){this.fi(a) +a.a=!0 +a.saeL(this.E.a)}, +$ihh:1} +A.agW.prototype={ +sQw(a){var s=this +if(a!==s.rh$){s.rh$=a +if(s.y!=null)s.ao()}}, +Nm(a,b){var s=this,r=s.o5$ +r=r==null?null:r.ch +if(A.aHy(a,r,t.qt))return +r=s.o5$ +if(r!=null)r.l() +s.o5$=A.aG2(b,a) +s.PV$=b}, +c5(a,b){var s=this +if(s.rh$===B.vM||!s.gv(0).p(0,b))return!1 +a.D(0,new A.kS(b,s)) +return s.rh$===B.vL}, +iG(a){return this.rh$!==B.vM}, +gF5(a){return null}, +gF6(a){return null}, +gnN(a){return B.zC}, +gyh(){return!0}, +iD(a,b){var s +if(t.pY.b(a))this.o5$.Cn(a) +if(t.XA.b(a)){s=this.PV$ +if(s!=null)s.$1(a)}}} +A.PB.prototype={ +aa(a){var s=this.o5$,r=s.ay +r.W(0,A.ce.prototype.gGO.call(s)) +r.J(0) +r=s.ax +new A.aZ(r,A.o(r).h("aZ<1>")).W(0,A.ce.prototype.gGO.call(s)) +r.J(0) +s.X(0,B.aG) +this.e5(0)}, +l(){var s=this.o5$ +if(s!=null)s.l() +this.fj()}} +A.JB.prototype={} +A.f9.prototype={ +e2(a){if(!(a.b instanceof A.ca))a.b=new A.ca()}, +aU(a){var s=this.C$ +s=s==null?null:s.az(B.ac,a,s.gbl()) +return s==null?0:s}, +aT(a){var s=this.C$ +s=s==null?null:s.az(B.av,a,s.gbu()) +return s==null?0:s}, +d6(a,b){var s=this.C$ +return s==null?null:s.fb(a,b)}, +bQ(a){var s=this.C$ +s=s==null?null:s.az(B.z,a,s.gbF()) +return s==null?this.qB(a):s}, +be(){var s=this,r=s.C$ +if(r==null)r=null +else r.bV(t.k.a(A.G.prototype.gN.call(s)),!0) +r=r==null?null:r.gv(0) +s.id=r==null?s.qB(t.k.a(A.G.prototype.gN.call(s))):r +return}, +qB(a){return new A.K(A.N(0,a.a,a.b),A.N(0,a.c,a.d))}, +cW(a,b){var s=this.C$ +s=s==null?null:s.c5(a,b) +return s===!0}, +cP(a,b){}, +aE(a,b){var s=this.C$ +if(s==null)return +a.fK(s,b)}} +A.wx.prototype={ +F(){return"HitTestBehavior."+this.b}} +A.yy.prototype={ +c5(a,b){var s,r=this +if(r.gv(0).p(0,b)){s=r.cW(a,b)||r.B===B.ae +if(s||r.B===B.dc)a.D(0,new A.kS(b,r))}else s=!1 +return s}, +iG(a){return this.B===B.ae}} +A.oh.prototype={ +sO5(a){if(this.B.j(0,a))return +this.B=a +this.a6()}, +aU(a){var s,r=this.B,q=r.b +if(q<1/0&&r.a>=q)return r.a +s=this.zc(a) +r=this.B +q=r.a +if(!(q>=1/0))return A.N(s,q,r.b) +return s}, +aT(a){var s,r=this.B,q=r.d +if(q<1/0&&r.c>=q)return r.c +s=this.zb(a) +r=this.B +q=r.c +if(!(q>=1/0))return A.N(s,q,r.d) +return s}, +d6(a,b){var s=this.C$ +return s==null?null:s.fb(this.B.o_(a),b)}, +be(){var s=this,r=t.k.a(A.G.prototype.gN.call(s)),q=s.C$,p=s.B +if(q!=null){q.bV(p.o_(r),!0) +s.id=s.C$.gv(0)}else s.id=p.o_(r).b4(B.C)}, +bQ(a){var s=this.C$ +s=s==null?null:s.az(B.z,this.B.o_(a),s.gbF()) +return s==null?this.B.o_(a).b4(B.C):s}} +A.Jv.prototype={ +srU(a,b){if(this.B===b)return +this.B=b +this.a6()}, +sER(a,b){if(this.a_===b)return +this.a_=b +this.a6()}, +KW(a){var s,r,q=a.a,p=a.b +p=p<1/0?p:A.N(this.B,q,p) +s=a.c +r=a.d +return new A.aq(q,p,s,r<1/0?r:A.N(this.a_,s,r))}, +pr(a,b){var s=this.C$ +if(s!=null)return a.b4(b.$2(s,this.KW(a))) +return this.KW(a).b4(B.C)}, +bQ(a){return this.pr(a,A.jj())}, +be(){this.id=this.pr(t.k.a(A.G.prototype.gN.call(this)),A.pi())}} +A.yj.prototype={ +sCx(a,b){if(this.B===b)return +this.B=b +this.a6()}, +aU(a){var s +if(isFinite(a))return a*this.B +s=this.C$ +s=s==null?null:s.az(B.ac,a,s.gbl()) +return s==null?0:s}, +aT(a){var s +if(isFinite(a))return a/this.B +s=this.C$ +s=s==null?null:s.az(B.av,a,s.gbu()) +return s==null?0:s}, +Zc(a){var s,r,q,p,o=a.a,n=a.b +if(o>=n&&a.c>=a.d)return new A.K(A.N(0,o,n),A.N(0,a.c,a.d)) +s=this.B +if(isFinite(n)){r=n/s +q=n}else{r=a.d +q=r*s}if(q>n)r=n/s +else n=q +p=a.d +if(r>p){n=p*s +r=p}if(n=b.b?null:A.amW(a.az(B.ac,b.d,a.gbl()),this.B) +return b.y8(null,s)}, +pr(a,b){var s=this.C$ +return s==null?new A.K(A.N(0,a.a,a.b),A.N(0,a.c,a.d)):b.$2(s,this.Iv(s,a))}, +bQ(a){return this.pr(a,A.jj())}, +d6(a,b){var s=this.C$ +return s==null?null:s.fb(this.Iv(s,a),b)}, +be(){this.id=this.pr(t.k.a(A.G.prototype.gN.call(this)),A.pi())}} +A.Jx.prototype={ +gkr(){return this.C$!=null&&this.B>0}, +gdj(){return this.C$!=null&&this.B>0}, +sdk(a,b){var s,r,q,p,o=this +if(o.a_===b)return +s=o.C$!=null +r=s&&o.B>0 +q=o.B +o.a_=b +p=B.c.a2(A.N(b,0,1)*255) +o.B=p +if(r!==(s&&p>0))o.iJ() +o.Rb() +s=o.B +if(q!==0!==(s!==0))o.b1()}, +svR(a){return}, +l0(a){return this.B>0}, +oN(a){var s=a==null?A.amN():a +s.sCt(0,this.B) +return s}, +aE(a,b){if(this.C$==null||this.B===0)return +this.fV(a,b)}, +fN(a){var s,r=this.C$ +if(r!=null){s=this.B +s=s!==0}else s=!1 +if(s){r.toString +a.$1(r)}}} +A.yh.prototype={ +gdj(){if(this.C$!=null){var s=this.DL$ +s.toString}else s=!1 +return s}, +oN(a){var s=a==null?A.amN():a +s.sCt(0,this.o2$) +return s}, +sdk(a,b){var s=this,r=s.o3$ +if(r===b)return +if(s.y!=null&&r!=null)r.H(0,s.gvy()) +s.o3$=b +if(s.y!=null)b.Y(0,s.gvy()) +s.C_()}, +svR(a){if(!1===this.DM$)return +this.DM$=!1 +this.b1()}, +C_(){var s,r=this,q=r.o2$,p=r.o3$ +p=r.o2$=B.c.a2(A.N(p.gm(p),0,1)*255) +if(q!==p){s=r.DL$ +p=p>0 +r.DL$=p +if(r.C$!=null&&s!==p)r.iJ() +r.Rb() +if(q===0||r.o2$===0)r.b1()}}, +l0(a){var s=this.o3$ +return s.gm(s)>0}, +fN(a){var s,r=this.C$ +if(r!=null)if(this.o2$===0){s=this.DM$ +s.toString}else s=!0 +else s=!1 +if(s){r.toString +a.$1(r)}}} +A.Jn.prototype={} +A.vp.prototype={ +Y(a,b){var s=this.a +return s==null?null:s.a.Y(0,b)}, +H(a,b){var s=this.a +return s==null?null:s.a.H(0,b)}, +Ta(a){return new A.D(0,0,0+a.a,0+a.b)}, +i(a){return"CustomClipper"}} +A.oy.prototype={ +Tf(a){return this.b.hu(new A.D(0,0,0+a.a,0+a.b),this.c)}, +Un(a){if(A.t(a)!==B.RF)return!0 +t.jH.a(a) +return!a.b.j(0,this.b)||a.c!=this.c}} +A.tJ.prototype={ +sqy(a){var s,r=this,q=r.B +if(q==a)return +r.B=a +s=a==null +if(s||q==null||A.t(a)!==A.t(q)||a.Un(q))r.v_() +if(r.y!=null){if(q!=null)q.H(0,r.guZ()) +if(!s)a.Y(0,r.guZ())}}, +aj(a){var s +this.pf(a) +s=this.B +if(s!=null)s.Y(0,this.guZ())}, +aa(a){var s=this.B +if(s!=null)s.H(0,this.guZ()) +this.n5(0)}, +v_(){this.a_=null +this.ao() +this.b1()}, +snI(a){if(a!==this.am){this.am=a +this.ao()}}, +be(){var s=this,r=s.id!=null?s.gv(0):null +s.uh() +if(!J.e(r,s.gv(0)))s.a_=null}, +km(){var s,r=this +if(r.a_==null){s=r.B +s=s==null?null:s.Tf(r.gv(0)) +r.a_=s==null?r.guy():s}}, +lY(a){var s,r=this +switch(r.am.a){case 0:return null +case 1:case 2:case 3:s=r.B +s=s==null?null:s.Ta(r.gv(0)) +if(s==null){s=r.gv(0) +s=new A.D(0,0,0+s.a,0+s.b)}return s}}, +l(){this.cF=null +this.fj()}} +A.Jq.prototype={ +guy(){var s=this.gv(0) +return new A.D(0,0,0+s.a,0+s.b)}, +c5(a,b){var s=this +if(s.B!=null){s.km() +if(!s.a_.p(0,b))return!1}return s.j6(a,b)}, +aE(a,b){var s,r,q=this,p=q.C$ +if(p!=null){s=q.ch +if(q.am!==B.A){q.km() +p=q.cx +p===$&&A.a() +r=q.a_ +r.toString +s.saQ(0,a.l4(p,b,r,A.f9.prototype.giL.call(q),q.am,t.EM.a(s.a)))}else{a.fK(p,b) +s.saQ(0,null)}}else q.ch.saQ(0,null)}} +A.Jp.prototype={ +guy(){var s=$.am().dC(),r=this.gv(0) +s.vN(new A.D(0,0,0+r.a,0+r.b)) +return s}, +c5(a,b){var s=this +if(s.B!=null){s.km() +if(!s.a_.p(0,b))return!1}return s.j6(a,b)}, +aE(a,b){var s,r,q,p=this,o=p.C$ +if(o!=null){s=p.ch +if(p.am!==B.A){p.km() +o=p.cx +o===$&&A.a() +r=p.gv(0) +q=p.a_ +q.toString +s.saQ(0,a.RK(o,b,new A.D(0,0,0+r.a,0+r.b),q,A.f9.prototype.giL.call(p),p.am,t.JG.a(s.a)))}else{a.fK(o,b) +s.saQ(0,null)}}else p.ch.saQ(0,null)}} +A.BU.prototype={ +scv(a,b){if(this.cD===b)return +this.cD=b +this.ao()}, +sbU(a,b){if(this.fB.j(0,b))return +this.fB=b +this.ao()}, +sab(a,b){if(this.hQ.j(0,b))return +this.hQ=b +this.ao()}, +dR(a){this.fi(a) +a.scv(0,this.cD)}} +A.Jy.prototype={ +sbq(a,b){if(this.bG===b)return +this.bG=b +this.v_()}, +sa8U(a,b){if(J.e(this.a1,b))return +this.a1=b +this.v_()}, +guy(){var s,r,q=this.gv(0),p=0+q.a +q=0+q.b +switch(this.bG.a){case 0:s=this.a1 +if(s==null)s=B.ah +q=s.eo(new A.D(0,0,p,q)) +break +case 1:s=p/2 +r=q/2 +r=new A.hZ(0,0,p,q,s,r,s,r,s,r,s,r,s===r) +q=r +break +default:q=null}return q}, +c5(a,b){var s=this +if(s.B!=null){s.km() +if(!s.a_.p(0,b))return!1}return s.j6(a,b)}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j=this +if(j.C$==null){j.ch.saQ(0,null) +return}j.km() +s=j.a_.cY(b) +r=$.am() +q=r.dC() +q.h3(s) +p=a.gbP(0) +o=j.cD +if(o!==0){n=j.fB +m=j.hQ +p.nV(q,n,o,(m.gm(m)>>>24&255)!==255)}l=j.am===B.cl +if(!l){r=r.b8() +r.sab(0,j.hQ) +p.dh(s,r)}r=j.cx +r===$&&A.a() +o=j.gv(0) +n=j.a_ +n.toString +m=j.ch +k=t.xs.a(m.a) +m.saQ(0,a.aeU(r,b,new A.D(0,0,0+o.a,0+o.b),n,new A.a7C(j,l),j.am,k))}} +A.a7C.prototype={ +$2(a,b){var s,r +if(this.b){s=a.gbP(0) +r=$.am().b8() +r.sab(0,this.a.hQ) +s.nU(r)}this.a.fV(a,b)}, +$S:25} +A.Jz.prototype={ +guy(){var s=$.am().dC(),r=this.gv(0) +s.vN(new A.D(0,0,0+r.a,0+r.b)) +return s}, +c5(a,b){var s=this +if(s.B!=null){s.km() +if(!s.a_.p(0,b))return!1}return s.j6(a,b)}, +aE(a,b){var s,r,q,p,o,n,m,l,k=this +if(k.C$==null){k.ch.saQ(0,null) +return}k.km() +s=k.a_.cY(b) +r=a.gbP(0) +q=k.cD +if(q!==0){p=k.fB +o=k.hQ +r.nV(s,p,q,(o.gm(o)>>>24&255)!==255)}n=k.am===B.cl +if(!n){q=$.am().b8() +q.sab(0,k.hQ) +r.dT(s,q)}q=k.cx +q===$&&A.a() +p=k.gv(0) +o=k.a_ +o.toString +m=k.ch +l=t.JG.a(m.a) +m.saQ(0,a.RK(q,b,new A.D(0,0,0+p.a,0+p.b),o,new A.a7D(k,n),k.am,l))}} +A.a7D.prototype={ +$2(a,b){var s,r +if(this.b){s=a.gbP(0) +r=$.am().b8() +r.sab(0,this.a.hQ) +s.nU(r)}this.a.fV(a,b)}, +$S:25} +A.Fv.prototype={ +F(){return"DecorationPosition."+this.b}} +A.Jr.prototype={ +saao(a){var s,r=this +if(a.j(0,r.a_))return +s=r.B +if(s!=null)s.l() +r.B=null +r.a_=a +r.ao()}, +sbN(a,b){if(b===this.am)return +this.am=b +this.ao()}, +sw8(a){if(a.j(0,this.bM))return +this.bM=a +this.ao()}, +aa(a){var s=this,r=s.B +if(r!=null)r.l() +s.B=null +s.n5(0) +s.ao()}, +l(){var s=this.B +if(s!=null)s.l() +this.fj()}, +iG(a){return this.a_.Qv(this.gv(0),a,this.bM.d)}, +aE(a,b){var s,r,q,p=this +if(p.B==null)p.B=p.a_.wd(p.gel()) +s=p.bM +r=p.gv(0) +q=new A.qn(s.a,s.b,s.c,s.d,r,s.f) +if(p.am===B.ex){s=p.B +s.toString +s.t5(a.gbP(0),b,q) +if(p.a_.gEB())a.GB()}p.fV(a,b) +if(p.am===B.Bd){s=p.B +s.toString +s.t5(a.gbP(0),b,q) +if(p.a_.gEB())a.GB()}}} +A.JJ.prototype={ +sRu(a,b){return}, +sfq(a){var s=this +if(J.e(s.a_,a))return +s.a_=a +s.ao() +s.b1()}, +sbS(a){var s=this +if(s.am==a)return +s.am=a +s.ao() +s.b1()}, +gkr(){return this.C$!=null&&this.ba!=null}, +sbE(a,b){var s,r=this +if(J.e(r.cF,b))return +s=new A.bj(new Float64Array(16)) +s.bc(b) +r.cF=s +r.ao() +r.b1()}, +skL(a){var s,r,q=this,p=q.ba +if(p==a)return +s=q.C$!=null +r=s&&p!=null +q.ba=a +if(r!==(s&&a!=null))q.iJ() +q.ao()}, +gAc(){var s,r,q,p,o,n=this,m=n.a_,l=m==null?null:m.X(0,n.am) +if(l==null)return n.cF +s=new A.bj(new Float64Array(16)) +s.dH() +m=n.gv(0) +r=m.a/2 +q=m.b/2 +m=r+l.a*r +p=q+l.b*q +o=new A.m(m,p) +s.au(0,m,p) +m=n.cF +m.toString +s.cs(0,m) +s.au(0,-o.a,-o.b) +return s}, +c5(a,b){return this.cW(a,b)}, +cW(a,b){var s=this.bM?this.gAc():null +return a.O4(new A.a7S(this),b,s)}, +aE(a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=this +if(a1.C$!=null){s=a1.gAc() +s.toString +if(a1.ba==null){r=A.a4o(s) +if(r==null){q=s.a +p=q[0] +o=q[5] +n=q[1] +m=q[4] +l=p*o-n*m +k=q[6] +j=q[2] +i=p*k-j*m +h=q[7] +g=q[3] +f=p*h-g*m +e=n*k-j*o +d=n*h-g*o +c=j*h-g*k +k=q[8] +g=q[9] +h=q[10] +j=q[11] +b=-(g*c-h*d+j*e)*q[12]+(k*c-h*f+j*i)*q[13]-(k*d-g*f+j*l)*q[14]+(k*e-g*i+h*l)*q[15] +if(b===0||!isFinite(b)){a1.ch.saQ(0,null) +return}q=a1.cx +q===$&&A.a() +p=A.f9.prototype.giL.call(a1) +o=a1.ch +n=o.a +o.saQ(0,a2.xQ(q,a3,s,p,n instanceof A.m7?n:null))}else{a1.fV(a2,a3.a4(0,r)) +a1.ch.saQ(0,null)}}else{q=a3.a +p=a3.b +a=A.a4l(q,p,0) +a.cs(0,s) +a.au(0,-q,-p) +p=a1.ba +p.toString +a0=$.am().P4(a.a,p) +s=a1.ch +q=s.a +if(q instanceof A.wE){if(!a0.j(0,q.aY)){q.aY=a0 +q.eI()}}else s.saQ(0,new A.wE(a0,B.h,A.E(t.S,t.M),A.aj())) +s=s.a +s.toString +a2.Fv(s,A.f9.prototype.giL.call(a1),a3)}}}, +cP(a,b){var s=this.gAc() +s.toString +b.cs(0,s)}} +A.a7S.prototype={ +$2(a,b){return this.a.ug(a,b)}, +$S:24} +A.yp.prototype={ +Ju(a){switch(a.a){case 6:return!0 +case 1:case 2:case 0:case 4:case 3:case 5:return!1}}, +sDW(a){var s=this,r=s.a_ +if(r===a)return +s.a_=a +if(s.Ju(r)||s.Ju(a))s.a6() +else{s.ba=s.cF=null +s.ao()}}, +sfq(a){var s=this +if(s.am.j(0,a))return +s.am=a +s.B=s.ba=s.cF=null +s.ao()}, +sbS(a){var s=this +if(s.bM==a)return +s.bM=a +s.B=s.ba=s.cF=null +s.ao()}, +bQ(a){var s=this.C$ +if(s!=null){s=s.az(B.z,B.ed,s.gbF()) +switch(this.a_.a){case 6:return a.b4(new A.aq(0,a.b,0,a.d).qD(s)) +case 1:case 2:case 0:case 4:case 3:case 5:return a.qD(s)}}else return new A.K(A.N(0,a.a,a.b),A.N(0,a.c,a.d))}, +be(){var s,r,q=this,p=q.C$ +if(p!=null){p.bV(B.ed,!0) +switch(q.a_.a){case 6:p=t.k +s=p.a(A.G.prototype.gN.call(q)) +r=new A.aq(0,s.b,0,s.d).qD(q.C$.gv(0)) +q.id=p.a(A.G.prototype.gN.call(q)).b4(r) +break +case 1:case 2:case 0:case 4:case 3:case 5:q.id=t.k.a(A.G.prototype.gN.call(q)).qD(q.C$.gv(0)) +break}q.ba=q.cF=null}else{p=t.k.a(A.G.prototype.gN.call(q)) +q.id=new A.K(A.N(0,p.a,p.b),A.N(0,p.c,p.d))}}, +C0(){var s,r,q,p,o,n,m,l,k,j,i=this +if(i.ba!=null)return +s=i.C$ +if(s==null){i.cF=!1 +s=new A.bj(new Float64Array(16)) +s.dH() +i.ba=s}else{r=i.B +if(r==null)r=i.B=i.am +q=s.gv(0) +p=A.av3(i.a_,q,i.gv(0)) +s=p.b +o=p.a +n=q.a +m=q.b +l=r.Et(o,new A.D(0,0,0+n,0+m)) +k=i.gv(0) +j=r.Et(s,new A.D(0,0,0+k.a,0+k.b)) +k=l.a +i.cF=l.c-k")) +s.am.saQ(0,p) +a.Fv(p,A.f9.prototype.giL.call(s),b)}, +l(){this.am.saQ(0,null) +this.fj()}, +gkr(){return!0}} +A.Qx.prototype={ +aj(a){var s=this +s.pf(a) +s.o3$.Y(0,s.gvy()) +s.C_()}, +aa(a){this.o3$.H(0,this.gvy()) +this.n5(0)}, +aE(a,b){if(this.o2$===0)return +this.fV(a,b)}} +A.BV.prototype={ +aj(a){var s +this.eu(a) +s=this.C$ +if(s!=null)s.aj(a)}, +aa(a){var s +this.e5(0) +s=this.C$ +if(s!=null)s.aa(0)}} +A.BW.prototype={ +h8(a){var s=this.C$ +s=s==null?null:s.mD(a) +return s==null?this.Hs(a):s}} +A.lV.prototype={ +F(){return"SelectionResult."+this.b}} +A.dB.prototype={$iaf:1} +A.Ki.prototype={ +smu(a){var s=this,r=s.o0$ +if(a==r)return +if(a==null)s.H(0,s.gNy()) +else if(r==null)s.Y(0,s.gNy()) +s.LM() +s.o0$=a +s.Nz()}, +Nz(){var s=this +if(s.o0$==null){s.m6$=!1 +return}if(s.m6$&&!s.gm(0).e){s.o0$.A(0,s) +s.m6$=!1}else if(!s.m6$&&s.gm(0).e){s.o0$.D(0,s) +s.m6$=!0}}, +LM(){var s=this +if(s.m6$){s.o0$.A(0,s) +s.m6$=!1}}} +A.ot.prototype={ +F(){return"SelectionEventType."+this.b}} +A.oJ.prototype={ +F(){return"TextGranularity."+this.b}} +A.a9b.prototype={} +A.vb.prototype={} +A.z7.prototype={} +A.rj.prototype={ +F(){return"SelectionExtendDirection."+this.b}} +A.z8.prototype={ +F(){return"SelectionStatus."+this.b}} +A.lU.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.lU&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&b.d===s.d&&b.c===s.c&&b.e===s.e}, +gt(a){var s=this +return A.P(s.a,s.b,s.d,s.c,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.ou.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.ou&&b.a.j(0,s.a)&&b.b===s.b&&b.c===s.c}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.L7.prototype={ +F(){return"TextSelectionHandleType."+this.b}} +A.Rk.prototype={} +A.r5.prototype={ +aU(a){var s=this.C$ +s=s==null?null:s.az(B.ac,a,s.gbl()) +return s==null?0:s}, +aT(a){var s=this.C$ +s=s==null?null:s.az(B.av,a,s.gbu()) +return s==null?0:s}, +h8(a){var s,r,q=this.C$ +if(q!=null){s=q.mD(a) +r=q.b +r.toString +t.W.a(r) +if(s!=null)s+=r.a.b}else s=this.Hs(a) +return s}, +aE(a,b){var s,r=this.C$ +if(r!=null){s=r.b +s.toString +a.fK(r,t.W.a(s).a.a4(0,b))}}, +cW(a,b){var s,r=this.C$ +if(r!=null){s=r.b +s.toString +return a.nB(new A.a7E(r),t.W.a(s).a,b)}return!1}} +A.a7E.prototype={ +$2(a,b){return this.a.c5(a,b)}, +$S:24} +A.yw.prototype={ +gq_(){var s=this,r=s.B +return r==null?s.B=s.a_.X(0,s.am):r}, +sc6(a,b){var s=this +if(s.a_.j(0,b))return +s.a_=b +s.B=null +s.a6()}, +sbS(a){var s=this +if(s.am==a)return +s.am=a +s.B=null +s.a6()}, +aU(a){var s=this.gq_(),r=this.C$ +if(r!=null)return r.az(B.ac,Math.max(0,a-(s.gb3(0)+s.gb6(0))),r.gbl())+s.gbR() +return s.gbR()}, +aT(a){var s=this.gq_(),r=this.C$ +if(r!=null)return r.az(B.av,Math.max(0,a-s.gbR()),r.gbu())+(s.gb3(0)+s.gb6(0)) +return s.gb3(0)+s.gb6(0)}, +bQ(a){var s,r,q=this.gq_() +if(this.C$==null)return a.b4(new A.K(q.gbR(),q.gb3(0)+q.gb6(0))) +s=a.wj(q) +r=this.C$ +r=r.az(B.z,s,r.gbF()) +return a.b4(new A.K(q.gbR()+r.a,q.gb3(0)+q.gb6(0)+r.b))}, +d6(a,b){var s,r=this.C$ +if(r==null)return null +s=this.gq_() +return A.apz(r.fb(a.wj(s),b),s.b)}, +be(){var s,r,q=this,p=t.k.a(A.G.prototype.gN.call(q)),o=q.gq_() +if(q.C$==null){q.id=p.b4(new A.K(o.gbR(),o.gb3(0)+o.gb6(0))) +return}s=p.wj(o) +q.C$.bV(s,!0) +r=q.C$.b +r.toString +t.W.a(r).a=new A.m(o.a,o.b) +q.id=p.b4(new A.K(o.gbR()+q.C$.gv(0).a,o.gb3(0)+o.gb6(0)+q.C$.gv(0).b))}} +A.Jm.prototype={ +gSj(){var s=this,r=s.B +return r==null?s.B=s.a_.X(0,s.am):r}, +sfq(a){var s=this +if(s.a_.j(0,a))return +s.a_=a +s.B=null +s.a6()}, +sbS(a){var s=this +if(s.am==a)return +s.am=a +s.B=null +s.a6()}, +Cr(){var s=this,r=s.C$.b +r.toString +t.W.a(r).a=s.gSj().hG(t.o.a(s.gv(0).ad(0,s.C$.gv(0))))}} +A.yx.prototype={ +sagc(a){if(this.cT==a)return +this.cT=a +this.a6()}, +sacF(a){if(this.cU==a)return +this.cU=a +this.a6()}, +aU(a){var s=this.W5(a),r=this.cT +return s*(r==null?1:r)}, +aT(a){var s=this.W4(a),r=this.cU +return s*(r==null?1:r)}, +bQ(a){var s,r,q=this,p=q.cT!=null||a.b===1/0,o=q.cU!=null||a.d===1/0,n=q.C$ +if(n!=null){n=n.az(B.z,new A.aq(0,a.b,0,a.d),n.gbF()) +if(p){s=n.a +r=q.cT +s*=r==null?1:r}else s=1/0 +if(o){n=n.b +r=q.cU +n*=r==null?1:r}else n=1/0 +return a.b4(new A.K(s,n))}n=p?0:1/0 +return a.b4(new A.K(n,o?0:1/0))}, +be(){var s,r,q=this,p=t.k.a(A.G.prototype.gN.call(q)),o=q.cT!=null||p.b===1/0,n=q.cU!=null||p.d===1/0,m=q.C$ +if(m!=null){m.bV(new A.aq(0,p.b,0,p.d),!0) +if(o){m=q.C$.gv(0) +s=q.cT +if(s==null)s=1 +s=m.a*s +m=s}else m=1/0 +if(n){s=q.C$.gv(0) +r=q.cU +if(r==null)r=1 +r=s.b*r +s=r}else s=1/0 +q.id=p.b4(new A.K(m,s)) +q.Cr()}else{m=o?0:1/0 +q.id=p.b4(new A.K(m,n?0:1/0))}}} +A.a9R.prototype={ +mI(a){return new A.K(A.N(1/0,a.a,a.b),A.N(1/0,a.c,a.d))}} +A.yn.prototype={ +sDe(a){var s=this.B +if(s===a)return +if(A.t(a)!==A.t(s)||a.mR(s))this.a6() +this.B=a}, +aj(a){this.Xf(a)}, +aa(a){this.Xg(0)}, +aU(a){var s=A.uQ(a,1/0),r=s.b4(this.B.mI(s)).a +if(isFinite(r))return r +return 0}, +aT(a){var s=A.uQ(1/0,a),r=s.b4(this.B.mI(s)).b +if(isFinite(r))return r +return 0}, +bQ(a){return a.b4(this.B.mI(a))}, +d6(a,b){var s,r,q,p,o,n,m=this.C$ +if(m==null)return null +s=this.B.tM(a) +r=m.fb(s,b) +if(r==null)return null +q=this.B +p=a.b4(q.mI(a)) +o=s.a +n=s.b +return r+q.tP(p,o>=n&&s.c>=s.d?new A.K(A.N(0,o,n),A.N(0,s.c,s.d)):m.az(B.z,s,m.gbF())).b}, +be(){var s,r,q,p,o,n=this,m=t.k,l=m.a(A.G.prototype.gN.call(n)) +n.id=l.b4(n.B.mI(l)) +if(n.C$!=null){s=n.B.tM(m.a(A.G.prototype.gN.call(n))) +m=n.C$ +m.toString +l=s.a +r=s.b +q=l>=r +m.bV(s,!(q&&s.c>=s.d)) +m=n.C$.b +m.toString +t.W.a(m) +p=n.B +o=n.gv(0) +m.a=p.tP(o,q&&s.c>=s.d?new A.K(A.N(0,l,r),A.N(0,s.c,s.d)):n.C$.gv(0))}}} +A.BX.prototype={ +aj(a){var s +this.eu(a) +s=this.C$ +if(s!=null)s.aj(a)}, +aa(a){var s +this.e5(0) +s=this.C$ +if(s!=null)s.aa(0)}} +A.KE.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(!(b instanceof A.KE))return!1 +return b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d}, +i(a){var s=this +return"scrollOffset: "+A.h(s.a)+" precedingScrollExtent: "+A.h(s.b)+" viewportMainAxisExtent: "+A.h(s.c)+" crossAxisExtent: "+A.h(s.d)}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.GI.prototype={ +F(){return"GrowthDirection."+this.b}} +A.m1.prototype={ +gQW(){return!1}, +Od(a,b){var s=this.w +switch(A.aX(this.a).a){case 0:return new A.aq(b,a,s,s) +case 1:return new A.aq(s,s,b,a)}}, +a8J(){return this.Od(1/0,0)}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(!(b instanceof A.m1))return!1 +return b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e&&b.f===s.f&&b.r===s.r&&b.w===s.w&&b.x===s.x&&b.y===s.y&&b.Q===s.Q&&b.z===s.z}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.Q,s.z,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=this,r=A.b([s.a.i(0),s.b.i(0),s.c.i(0),"scrollOffset: "+B.c.R(s.d,1),"precedingScrollExtent: "+B.c.R(s.e,1),"remainingPaintExtent: "+B.c.R(s.r,1)],t.s),q=s.f +if(q!==0)r.push("overlap: "+B.c.R(q,1)) +r.push("crossAxisExtent: "+B.c.R(s.w,1)) +r.push("crossAxisDirection: "+s.x.i(0)) +r.push("viewportMainAxisExtent: "+B.c.R(s.y,1)) +r.push("remainingCacheExtent: "+B.c.R(s.Q,1)) +r.push("cacheOrigin: "+B.c.R(s.z,1)) +return"SliverConstraints("+B.b.bD(r,", ")+")"}} +A.KC.prototype={ +cg(){return"SliverGeometry"}} +A.rs.prototype={} +A.KD.prototype={ +i(a){return A.t(this.a).i(0)+"@(mainAxis: "+A.h(this.c)+", crossAxis: "+A.h(this.d)+")"}} +A.zo.prototype={ +i(a){var s=this.a +return"layoutOffset="+(s==null?"None":B.c.R(s,1))}} +A.m2.prototype={ +i(a){return"paintOffset="+this.a.i(0)}} +A.k5.prototype={} +A.cn.prototype={ +gN(){return t.p.a(A.G.prototype.gN.call(this))}, +glh(){return this.giN()}, +giN(){var s=this,r=t.p +switch(A.aX(r.a(A.G.prototype.gN.call(s)).a).a){case 0:return new A.D(0,0,0+s.fx.c,0+r.a(A.G.prototype.gN.call(s)).w) +case 1:return new A.D(0,0,0+r.a(A.G.prototype.gN.call(s)).w,0+s.fx.c)}}, +oz(){}, +Qu(a,b,c){var s,r=this +if(c>=0&&c=0&&b0){r=a/s +q=B.c.a2(r) +if(Math.abs(r*s-q*s)<1e-10)return q +return B.c.d0(r)}return 0}, +Gd(a,b){var s,r,q +this.grH() +s=this.grG() +s.toString +if(s>0){r=a/s-1 +q=B.c.a2(r) +if(Math.abs(r*s-q*s)<1e-10)return Math.max(0,q) +return Math.max(0,B.c.d4(r))}return 0}, +a9E(a,b){var s,r +this.grH() +s=this.grG() +s.toString +r=this.a5.gqx() +return r*s}, +uG(a){var s +this.grH() +s=this.grG() +s.toString +return t.p.a(A.G.prototype.gN.call(this)).Od(s,s)}, +be(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=this,a4=null,a5=t.p.a(A.G.prototype.gN.call(a3)),a6=a3.a5 +a6.R8=!1 +s=a5.d +r=s+a5.z +q=r+a5.Q +a3.kK=new A.KE(s,a5.e,a5.y,a5.w) +p=a3.Tq(r,-1) +o=isFinite(q)?a3.Gd(q,-1):a4 +if(a3.V$!=null){n=a3.a94(p) +a3.qz(n,o!=null?a3.a95(o):0)}else a3.qz(0,0) +if(a3.V$==null)if(!a3.NX(p,a3.kR(-1,p))){m=p<=0?0:a3.a9E(a5,-1) +a3.fx=A.iY(a4,!1,a4,a4,m,0,0,m,a4) +a6.qS() +return}l=a3.V$ +l.toString +l=l.b +l.toString +k=t.U +l=k.a(l).b +l.toString +j=l-1 +i=a4 +for(;j>=p;--j){h=a3.ad7(a3.uG(j)) +if(h==null){a3.fx=A.iY(a4,!1,a4,a4,0,0,0,0,a3.kR(-1,j)) +return}l=h.b +l.toString +k.a(l).a=a3.kR(-1,j) +if(i==null)i=h}if(i==null){l=a3.V$ +l.toString +g=l.b +g.toString +g=k.a(g).b +g.toString +l.ho(a3.uG(g)) +g=a3.V$.b +g.toString +k.a(g).a=a3.kR(-1,p) +i=a3.V$}l=i.b +l.toString +l=k.a(l).b +l.toString +j=l+1 +l=A.o(a3).h("ac.1") +g=o!=null +while(!0){if(!(!g||j<=o)){f=1/0 +break}e=i.b +e.toString +h=l.a(e).a1$ +if(h!=null){e=h.b +e.toString +e=k.a(e).b +e.toString +e=e!==j}else e=!0 +if(e){h=a3.ad6(a3.uG(j),i) +if(h==null){f=a3.kR(-1,j) +break}}else h.ho(a3.uG(j)) +e=h.b +e.toString +k.a(e) +d=e.b +d.toString +e.a=a3.kR(-1,d);++j +i=h}l=a3.cj$ +l.toString +l=l.b +l.toString +l=k.a(l).b +l.toString +c=a3.kR(-1,p) +b=a3.kR(-1,l+1) +f=Math.min(f,a6.PP(a5,p,l,c,b)) +a=a3.vX(a5,c,b) +a0=a3.CF(a5,c,b) +a1=s+a5.r +a2=isFinite(a1)?a3.Gd(a1,-1):a4 +a3.fx=A.iY(a0,a2!=null&&l>=a2||s>0,a4,a4,f,a,0,f,a4) +if(f===b)a6.R8=!0 +a6.qS()}} +A.JG.prototype={ +be(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=this,a4=null,a5={},a6=t.p.a(A.G.prototype.gN.call(a3)),a7=a3.a5 +a7.R8=!1 +s=a6.d +r=s+a6.z +q=r+a6.Q +p=a6.a8J() +if(a3.V$==null)if(!a3.NW()){a3.fx=B.wX +a7.qS() +return}a5.a=null +o=a3.V$ +n=o.b +n.toString +m=t.U +if(m.a(n).a==null){n=A.o(a3).h("ac.1") +l=0 +while(!0){if(o!=null){k=o.b +k.toString +k=m.a(k).a==null}else k=!1 +if(!k)break +k=o.b +k.toString +o=n.a(k).a1$;++l}a3.qz(l,0) +if(a3.V$==null)if(!a3.NW()){a3.fx=B.wX +a7.qS() +return}}o=a3.V$ +n=o.b +n.toString +n=m.a(n).a +n.toString +j=n +i=a4 +for(;j>r;j=h,i=o){o=a3.Ew(p,!0) +if(o==null){n=a3.V$ +k=n.b +k.toString +m.a(k).a=0 +if(r===0){n.bV(p,!0) +o=a3.V$ +if(a5.a==null)a5.a=o +i=o +break}else{a3.fx=A.iY(a4,!1,a4,a4,0,0,0,0,-r) +return}}n=a3.V$ +n.toString +h=j-a3.mn(n) +if(h<-1e-10){a3.fx=A.iY(a4,!1,a4,a4,0,0,0,0,-h) +a7=a3.V$.b +a7.toString +m.a(a7).a=0 +return}n=o.b +n.toString +m.a(n).a=h +if(a5.a==null)a5.a=o}if(r<1e-10)while(!0){n=a3.V$ +n.toString +n=n.b +n.toString +m.a(n) +k=n.b +k.toString +if(!(k>0))break +n=n.a +n.toString +o=a3.Ew(p,!0) +k=a3.V$ +k.toString +h=n-a3.mn(k) +k=a3.V$.b +k.toString +m.a(k).a=0 +if(h<-1e-10){a3.fx=A.iY(a4,!1,a4,a4,0,0,0,0,-h) +return}}if(i==null){o.bV(p,!0) +a5.a=o}a5.b=!0 +a5.c=o +n=o.b +n.toString +m.a(n) +k=n.b +k.toString +a5.d=k +n=n.a +n.toString +a5.e=n+a3.mn(o) +g=new A.a7J(a5,a3,p) +for(f=0;a5.es+a6.r||s>0,a4,a4,a,a1,0,a,a4) +if(a===n)a7.R8=!0 +a7.qS()}} +A.a7J.prototype={ +$0(){var s,r,q,p=this.a,o=p.c,n=p.a +if(o==n)p.b=!1 +s=this.b +o=o.b +o.toString +r=p.c=A.o(s).h("ac.1").a(o).a1$ +o=r==null +if(o)p.b=!1 +q=++p.d +if(!p.b){if(!o){o=r.b +o.toString +o=t.U.a(o).b +o.toString +q=o!==q +o=q}else o=!0 +q=this.c +if(o){r=s.QH(q,n,!0) +p.c=r +if(r==null)return!1}else r.bV(q,!0) +o=p.a=p.c}else o=r +n=o.b +n.toString +t.U.a(n) +q=p.e +n.a=q +p.e=q+s.mn(o) +return!0}, +$S:39} +A.iG.prototype={$ica:1} +A.a7N.prototype={ +e2(a){}} +A.fP.prototype={ +i(a){var s=this.b,r=this.rb$?"keepAlive; ":"" +return"index="+A.h(s)+"; "+r+this.WF(0)}} +A.lP.prototype={ +e2(a){if(!(a.b instanceof A.fP))a.b=new A.fP(!1,null,null)}, +kq(a){var s +this.Ht(a) +s=a.b +s.toString +if(!t.U.a(s).c)this.a5.Dh(t.x.a(a))}, +Eu(a,b,c){this.z0(0,b,c)}, +xp(a,b){var s,r=this,q=a.b +q.toString +t.U.a(q) +if(!q.c){r.V_(a,b) +r.a5.Dh(a) +r.a6()}else{s=r.aV +if(s.k(0,q.b)===a)s.A(0,q.b) +r.a5.Dh(a) +q=q.b +q.toString +s.n(0,q,a)}}, +A(a,b){var s=b.b +s.toString +t.U.a(s) +if(!s.c){this.V1(0,b) +return}this.aV.A(0,s.b) +this.r0(b)}, +A2(a,b){this.Ez(new A.a7K(this,a,b),t.p)}, +J2(a){var s,r=this,q=a.b +q.toString +t.U.a(q) +if(q.rb$){r.A(0,a) +s=q.b +s.toString +r.aV.n(0,s,a) +a.b=q +r.Ht(a) +q.c=!0}else r.a5.S4(a)}, +aj(a){var s,r,q +this.Xh(a) +for(s=this.aV.gaI(0),r=A.o(s),s=new A.bt(J.al(s.a),s.b,r.h("bt<1,2>")),r=r.y[1];s.q();){q=s.a;(q==null?r.a(q):q).aj(a)}}, +aa(a){var s,r,q +this.Xi(0) +for(s=this.aV.gaI(0),r=A.o(s),s=new A.bt(J.al(s.a),s.b,r.h("bt<1,2>")),r=r.y[1];s.q();){q=s.a;(q==null?r.a(q):q).aa(0)}}, +f7(){this.V0() +this.aV.gaI(0).W(0,this.gS0())}, +bo(a){this.GV(a) +this.aV.gaI(0).W(0,a)}, +fN(a){this.GV(a)}, +NX(a,b){var s +this.A2(a,null) +s=this.V$ +if(s!=null){s=s.b +s.toString +t.U.a(s).a=b +return!0}this.a5.R8=!0 +return!1}, +NW(){return this.NX(0,0)}, +Ew(a,b){var s,r,q,p=this,o=p.V$ +o.toString +o=o.b +o.toString +s=t.U +o=s.a(o).b +o.toString +r=o-1 +p.A2(r,null) +o=p.V$ +o.toString +q=o.b +q.toString +q=s.a(q).b +q.toString +if(q===r){o.bV(a,b) +return p.V$}p.a5.R8=!0 +return null}, +ad7(a){return this.Ew(a,!1)}, +QH(a,b,c){var s,r,q,p=b.b +p.toString +s=t.U +p=s.a(p).b +p.toString +r=p+1 +this.A2(r,b) +p=b.b +p.toString +q=A.o(this).h("ac.1").a(p).a1$ +if(q!=null){p=q.b +p.toString +p=s.a(p).b +p.toString +p=p===r}else p=!1 +if(p){q.bV(a,c) +return q}this.a5.R8=!0 +return null}, +ad6(a,b){return this.QH(a,b,!1)}, +a94(a){var s,r=this.V$,q=A.o(this).h("ac.1"),p=t.U,o=0 +while(!0){if(r!=null){s=r.b +s.toString +s=p.a(s).b +s.toString +s=sa}else s=!1 +if(!s)break;++o +s=r.b +s.toString +r=q.a(s).bG$}return o}, +qz(a,b){var s={} +s.a=a +s.b=b +this.Ez(new A.a7M(s,this),t.p)}, +mn(a){var s +switch(A.aX(t.p.a(A.G.prototype.gN.call(this)).a).a){case 0:s=a.gv(0).a +break +case 1:s=a.gv(0).b +break +default:s=null}return s}, +Eq(a,b,c){var s,r,q=this.cj$,p=A.apK(a) +for(s=A.o(this).h("ac.1");q!=null;){if(this.acM(p,q,b,c))return!0 +r=q.b +r.toString +q=s.a(r).bG$}return!1}, +CK(a){var s=a.b +s.toString +return t.U.a(s).a}, +l0(a){var s=t.MR.a(a.b) +return(s==null?null:s.b)!=null&&!this.aV.a9(0,s.b)}, +cP(a,b){if(!this.l0(a))b.u4() +else this.a8H(a,b)}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=null +if(d.V$==null)return +s=t.p +r=!0 +switch(A.mG(s.a(A.G.prototype.gN.call(d)).a,s.a(A.G.prototype.gN.call(d)).b).a){case 0:q=b.a4(0,new A.m(0,d.fx.c)) +p=B.r5 +o=B.dJ +break +case 1:q=b +p=B.dJ +o=B.fb +r=!1 +break +case 2:q=b +p=B.fb +o=B.dJ +r=!1 +break +case 3:q=b.a4(0,new A.m(d.fx.c,0)) +p=B.r6 +o=B.fb +break +default:r=c +q=r +o=q +p=o}n=d.V$ +for(m=A.o(d).h("ac.1"),l=t.U;n!=null;){k=n.b +k.toString +k=l.a(k).a +k.toString +j=k-s.a(A.G.prototype.gN.call(d)).d +k=q.a +i=p.a +k=k+i*j+o.a*0 +h=q.b +g=p.b +h=h+g*j+o.b*0 +f=new A.m(k,h) +if(r){e=d.mn(n) +f=new A.m(k+i*e,h+g*e)}if(j0)a.fK(n,f) +k=n.b +k.toString +n=m.a(k).a1$}}} +A.a7K.prototype={ +$1(a){var s=this.a,r=s.aV,q=this.b,p=this.c +if(r.a9(0,q)){r=r.A(0,q) +r.toString +q=r.b +q.toString +t.U.a(q) +s.r0(r) +r.b=q +s.z0(0,r,p) +q.c=!1}else s.a5.aac(q,p)}, +$S:130} +A.a7M.prototype={ +$1(a){var s,r,q +for(s=this.a,r=this.b;s.a>0;){q=r.V$ +q.toString +r.J2(q);--s.a}for(;s.b>0;){q=r.cj$ +q.toString +r.J2(q);--s.b}s=r.aV.gaI(0) +q=A.o(s).h("aF") +B.b.W(A.a7(new A.aF(s,new A.a7L(),q),!0,q.h("j.E")),r.a5.gafi())}, +$S:130} +A.a7L.prototype={ +$1(a){var s=a.b +s.toString +return!t.U.a(s).rb$}, +$S:311} +A.BZ.prototype={ +aj(a){var s,r,q +this.eu(a) +s=this.V$ +for(r=t.U;s!=null;){s.aj(a) +q=s.b +q.toString +s=r.a(q).a1$}}, +aa(a){var s,r,q +this.e5(0) +s=this.V$ +for(r=t.U;s!=null;){s.aa(0) +q=s.b +q.toString +s=r.a(q).a1$}}} +A.QN.prototype={} +A.QO.prototype={} +A.RG.prototype={ +aa(a){this.uc(0)}} +A.RH.prototype={} +A.yA.prototype={ +gCA(){var s=this,r=t.p +switch(A.mG(r.a(A.G.prototype.gN.call(s)).a,r.a(A.G.prototype.gN.call(s)).b).a){case 0:r=s.geL().d +break +case 1:r=s.geL().a +break +case 2:r=s.geL().b +break +case 3:r=s.geL().c +break +default:r=null}return r}, +ga8x(){var s=this,r=t.p +switch(A.mG(r.a(A.G.prototype.gN.call(s)).a,r.a(A.G.prototype.gN.call(s)).b).a){case 0:r=s.geL().b +break +case 1:r=s.geL().c +break +case 2:r=s.geL().d +break +case 3:r=s.geL().a +break +default:r=null}return r}, +gaaj(){switch(A.aX(t.p.a(A.G.prototype.gN.call(this)).a).a){case 0:var s=this.geL() +s=s.gb3(0)+s.gb6(0) +break +case 1:s=this.geL().gbR() +break +default:s=null}return s}, +e2(a){if(!(a.b instanceof A.m2))a.b=new A.m2(B.h)}, +be(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=this,a3=null,a4=t.p,a5=a4.a(A.G.prototype.gN.call(a2)),a6=new A.a7G(a2,a5),a7=new A.a7F(a2,a5),a8=a2.geL() +a8.toString +s=a2.gCA() +a2.ga8x() +r=a2.geL() +r.toString +q=r.a8z(A.aX(a4.a(A.G.prototype.gN.call(a2)).a)) +p=a2.gaaj() +if(a2.C$==null){o=a6.$2$from$to(0,q) +a2.fx=A.iY(a7.$2$from$to(0,q),!1,a3,a3,q,Math.min(o,a5.r),0,q,a3) +return}n=a6.$2$from$to(0,s) +m=a5.f +if(m>0)m=Math.max(0,m-n) +a4=a2.C$ +a4.toString +r=Math.max(0,a5.d-s) +l=Math.min(0,a5.z+s) +k=a5.r +j=a6.$2$from$to(0,s) +i=a5.Q +h=a7.$2$from$to(0,s) +g=Math.max(0,a5.w-p) +f=a5.a +e=a5.b +a4.bV(new A.m1(f,e,a5.c,r,s+a5.e,m,k-j,g,a5.x,a5.y,l,i-h),!0) +d=a2.C$.fx +a4=d.y +if(a4!=null){a2.fx=A.iY(a3,!1,a3,a3,0,0,0,0,a4) +return}c=d.a +b=a7.$2$from$to(0,s) +a4=s+c +r=q+c +a=a7.$2$from$to(a4,r) +a0=a6.$2$from$to(a4,r) +a1=n+a0 +a4=d.c +l=d.d +o=Math.min(n+Math.max(a4,l+a0),k) +k=d.b +l=Math.min(a1+l,o) +i=Math.min(b+a+d.z,i) +j=d.e +a4=Math.max(a1+a4,n+d.r) +a2.fx=A.iY(i,d.x,a4,l,q+j,o,k,r,a3) +switch(A.mG(f,e).a){case 0:a4=a6.$2$from$to(a8.d+c,a8.gb3(0)+a8.gb6(0)+c) +break +case 3:a4=a6.$2$from$to(a8.c+c,a8.gbR()+c) +break +case 1:a4=a6.$2$from$to(0,a8.a) +break +case 2:a4=a6.$2$from$to(0,a8.b) +break +default:a4=a3}r=a2.C$.b +r.toString +t.jB.a(r) +switch(A.aX(f).a){case 0:a4=new A.m(a4,a8.b) +break +case 1:a4=new A.m(a8.a,a4) +break +default:a4=a3}r.a=a4}, +Eq(a,b,c){var s,r,q,p,o=this,n=o.C$ +if(n!=null&&n.fx.r>0){n=n.b +n.toString +t.jB.a(n) +s=o.vX(t.p.a(A.G.prototype.gN.call(o)),0,o.gCA()) +r=o.C$ +r.toString +r=o.a9f(r) +n=n.a +q=o.C$.gacL() +a.c.push(new A.tA(new A.m(-n.a,-n.b))) +p=q.$3$crossAxisPosition$mainAxisPosition(a,b-r,c-s) +a.xM() +return p}return!1}, +a9f(a){var s +switch(A.aX(t.p.a(A.G.prototype.gN.call(this)).a).a){case 0:s=this.geL().b +break +case 1:s=this.geL().a +break +default:s=null}return s}, +CK(a){return this.gCA()}, +cP(a,b){var s=a.b +s.toString +s=t.jB.a(s).a +b.au(0,s.a,s.b)}, +aE(a,b){var s,r=this.C$ +if(r!=null&&r.fx.w){s=r.b +s.toString +a.fK(r,b.a4(0,t.jB.a(s).a))}}} +A.a7G.prototype={ +$2$from$to(a,b){return this.a.vX(this.b,a,b)}, +$S:131} +A.a7F.prototype={ +$2$from$to(a,b){return this.a.CF(this.b,a,b)}, +$S:131} +A.JH.prototype={ +geL(){return this.cw}, +a75(){if(this.cw!=null)return +this.cw=this.dE}, +sc6(a,b){var s=this +if(s.dE.j(0,b))return +s.dE=b +s.cw=null +s.a6()}, +sbS(a){var s=this +if(s.ef===a)return +s.ef=a +s.cw=null +s.a6()}, +be(){this.a75() +this.HA()}} +A.QL.prototype={ +aj(a){var s +this.eu(a) +s=this.C$ +if(s!=null)s.aj(a)}, +aa(a){var s +this.e5(0) +s=this.C$ +if(s!=null)s.aa(0)}} +A.Jk.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.Jk&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){var s=this +return"RelativeRect.fromLTRB("+B.c.R(s.a,1)+", "+B.c.R(s.b,1)+", "+B.c.R(s.c,1)+", "+B.c.R(s.d,1)+")"}} +A.dP.prototype={ +gmh(){var s=this,r=!0 +if(s.e==null)if(s.f==null)if(s.r==null)if(s.w==null){r=s.x +r=r!=null}return r}, +Fr(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=null,d=f.w,c=f.f +$label0$0:{s=d!=null +r=e +q=e +p=!1 +if(s){o=d==null +if(o)A.bD(d) +q=o?A.bD(d):d +p=c!=null +if(p)if(c==null)A.bD(c) +r=c}if(p){n=s?r:c +if(n==null)n=A.bD(n) +p=a.a-n-q +break $label0$0}p=f.x +break $label0$0}m=f.e +l=f.r +$label1$1:{k=m!=null +j=e +i=e +o=!1 +if(k){h=m==null +if(h)A.bD(m) +i=h?A.bD(m):m +o=l!=null +if(o)if(l==null)A.bD(l) +j=l}if(o){g=k?j:l +if(g==null)g=A.bD(g) +o=a.b-g-i +break $label1$1}o=f.y +break $label1$1}p=p==null?e:Math.max(0,p) +return A.eo(o==null?e:Math.max(0,o),p)}, +i(a){var s=this,r=A.b([],t.s),q=s.e +if(q!=null)r.push("top="+A.ij(q)) +q=s.f +if(q!=null)r.push("right="+A.ij(q)) +q=s.r +if(q!=null)r.push("bottom="+A.ij(q)) +q=s.w +if(q!=null)r.push("left="+A.ij(q)) +q=s.x +if(q!=null)r.push("width="+A.ij(q)) +if(r.length===0)r.push("not positioned") +r.push(s.z_(0)) +return B.b.bD(r,"; ")}} +A.zv.prototype={ +F(){return"StackFit."+this.b}} +A.yB.prototype={ +e2(a){if(!(a.b instanceof A.dP))a.b=new A.dP(null,null,B.h)}, +gMz(){var s=this,r=s.Z +return r==null?s.Z=s.a3.X(0,s.al):r}, +sfq(a){var s=this +if(s.a3.j(0,a))return +s.a3=a +s.Z=null +s.a6()}, +sbS(a){var s=this +if(s.al==a)return +s.al=a +s.Z=null +s.a6()}, +aU(a){return A.a7Q(this.V$,new A.a7P(a))}, +aT(a){return A.a7Q(this.V$,new A.a7O(a))}, +h8(a){return this.Db(a)}, +d6(a,b){var s,r,q,p,o,n,m,l=this +switch(l.aq.a){case 0:s=a.agY() +break +case 1:s=A.kR(a.gqt()) +break +case 2:s=a +break +default:s=null}r=l.gMz() +q=l.az(B.z,a,l.gbF()) +p=l.V$ +o=A.o(l).h("ac.1") +n=null +while(p!=null){n=A.pB(n,A.aE1(p,q,s,r,b)) +m=p.b +m.toString +p=o.a(m).a1$}return n}, +bQ(a){return this.My(a,A.jj())}, +My(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(this.di$===0){s=a.a +r=a.b +q=A.N(1/0,s,r) +p=a.c +o=a.d +n=A.N(1/0,p,o) +return isFinite(q)&&isFinite(n)?new A.K(A.N(1/0,s,r),A.N(1/0,p,o)):new A.K(A.N(0,s,r),A.N(0,p,o))}m=a.a +l=a.c +switch(this.aq.a){case 0:s=new A.aq(0,a.b,0,a.d) +break +case 1:s=A.kR(new A.K(A.N(1/0,m,a.b),A.N(1/0,l,a.d))) +break +case 2:s=a +break +default:s=null}k=this.V$ +for(r=t.B,j=l,i=m,h=!1;k!=null;){q=k.b +q.toString +r.a(q) +if(!q.gmh()){g=b.$2(k,s) +i=Math.max(i,g.a) +j=Math.max(j,g.b) +h=!0}k=q.a1$}return h?new A.K(i,j):new A.K(A.N(1/0,m,a.b),A.N(1/0,l,a.d))}, +be(){var s,r,q,p,o,n,m,l=this,k="RenderBox was not laid out: ",j=t.k.a(A.G.prototype.gN.call(l)) +l.E=!1 +l.id=l.My(j,A.pi()) +s=l.gMz() +r=l.V$ +for(q=t.B,p=t.o;r!=null;){o=r.b +o.toString +q.a(o) +if(!o.gmh()){n=l.id +if(n==null)n=A.ab(A.R(k+A.t(l).i(0)+"#"+A.b4(l))) +m=r.id +o.a=s.hG(p.a(n.ad(0,m==null?A.ab(A.R(k+A.t(r).i(0)+"#"+A.b4(r))):m)))}else{n=l.id +l.E=A.asi(r,o,n==null?A.ab(A.R(k+A.t(l).i(0)+"#"+A.b4(l))):n,s)||l.E}r=o.a1$}}, +cW(a,b){return this.qN(a,b)}, +aeJ(a,b){this.lW(a,b)}, +aE(a,b){var s,r=this,q=r.S!==B.A&&r.E,p=r.O +if(q){q=r.cx +q===$&&A.a() +s=r.gv(0) +p.saQ(0,a.l4(q,b,new A.D(0,0,0+s.a,0+s.b),r.gaeI(),r.S,p.a))}else{p.saQ(0,null) +r.lW(a,b)}}, +l(){this.O.saQ(0,null) +this.fj()}, +lY(a){var s +switch(this.S.a){case 0:return null +case 1:case 2:case 3:if(this.E){s=this.gv(0) +s=new A.D(0,0,0+s.a,0+s.b)}else s=null +return s}}} +A.a7P.prototype={ +$1(a){return a.az(B.ac,this.a,a.gbl())}, +$S:33} +A.a7O.prototype={ +$1(a){return a.az(B.av,this.a,a.gbu())}, +$S:33} +A.QP.prototype={ +aj(a){var s,r,q +this.eu(a) +s=this.V$ +for(r=t.B;s!=null;){s.aj(a) +q=s.b +q.toString +s=r.a(q).a1$}}, +aa(a){var s,r,q +this.e5(0) +s=this.V$ +for(r=t.B;s!=null;){s.aa(0) +q=s.b +q.toString +s=r.a(q).a1$}}} +A.QQ.prototype={} +A.Lb.prototype={ +gj3(){return!0}, +gkr(){return!0}, +gdj(){return!0}, +bQ(a){return new A.K(A.N(1/0,a.a,a.b),A.N(1/0,a.c,a.d))}, +iG(a){return!0}, +aE(a,b){var s=this,r=b.a,q=b.b +q=new A.abw(new A.D(r,q,r+s.gv(0).a,q+s.gv(0).b),s.E,!1,s.a3,A.E(t.S,t.M),A.aj()) +a.lk() +q.i6(0) +a.a.qi(0,q)}} +A.A6.prototype={ +Uo(a){if(A.t(a)!==A.t(this))return!0 +return a.c!==this.c}, +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.A6&&b.a.j(0,s.a)&&b.b.j(0,s.b)&&b.c===s.c}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return this.a.i(0)+" at "+A.ij(this.c)+"x"}} +A.oj.prototype={ +Yy(a,b,c){this.saK(a)}, +sw8(a){var s,r,q,p=this +if(J.e(p.fy,a))return +s=p.fy +p.fy=a +if(p.k1==null)return +if(s==null||a.Uo(s)){r=p.Nq() +q=p.ch +q.a.aa(0) +q.saQ(0,r) +p.ao()}p.a6()}, +gN(){var s=this.fy +if(s==null)throw A.c(A.R("Constraints are not available because RenderView has not been given a configuration yet.")) +return s.a}, +Fs(){var s=this +s.Q=s +s.y.r.push(s) +s.ch.saQ(0,s.Nq()) +s.y.Q.push(s)}, +Nq(){var s,r=this.fy.c +r=A.a4k(r,r,1) +this.k1=r +s=A.at3(r) +s.aj(this) +return s}, +oz(){}, +be(){var s=this,r=s.gN(),q=!(r.a>=r.b&&r.c>=r.d) +r=s.C$ +if(r!=null)r.bV(s.gN(),q) +if(q&&s.C$!=null)r=s.C$.gv(0) +else{r=s.gN() +r=new A.K(A.N(0,r.a,r.b),A.N(0,r.c,r.d))}s.fx=r}, +gdj(){return!0}, +aE(a,b){var s=this.C$ +if(s!=null)a.fK(s,b)}, +cP(a,b){var s=this.k1 +s.toString +b.cs(0,s) +this.VW(a,b)}, +a9z(){var s,r,q,p,o,n,m=this +try{$.iU.toString +s=$.am().D3() +r=m.ch.a.Or(s) +m.a81() +q=m.go +p=m.fy +o=m.fx +p=p.b.b4(o.ac(0,p.c)) +o=$.br().d +if(o==null){o=self.window.devicePixelRatio +if(o===0)o=1}n=p.ds(0,o) +o=q.gcu().a.style +A.l(o,"width",A.h(n.a)+"px") +A.l(o,"height",A.h(n.b)+"px") +q.zU() +q.b.y_(r,q) +r.l()}finally{}}, +a81(){var s,r,q,p,o,n=null,m=this.giN(),l=m.gaR(),k=m.gaR(),j=this.ch,i=t.ew,h=j.a.PY(0,new A.m(l.a,0),i),g=n +switch(A.el().a){case 0:g=j.a.PY(0,new A.m(k.a,m.d-1),i) +break +case 1:case 2:case 3:case 4:case 5:break}l=h==null +if(l&&g==null)return +if(!l&&g!=null){l=h.f +k=h.r +j=h.e +i=h.w +A.asR(new A.j0(g.a,g.b,g.c,g.d,j,l,k,i)) +return}s=A.el()===B.as +r=l?g:h +l=r.f +k=r.r +j=r.e +i=r.w +q=s?r.a:n +p=s?r.b:n +o=s?r.c:n +A.asR(new A.j0(q,p,o,s?r.d:n,j,l,k,i))}, +giN(){var s=this.fx.ac(0,this.fy.c) +return new A.D(0,0,0+s.a,0+s.b)}, +glh(){var s,r=this.k1 +r.toString +s=this.fx +return A.e_(r,new A.D(0,0,0+s.a,0+s.b))}} +A.QR.prototype={ +aj(a){var s +this.eu(a) +s=this.C$ +if(s!=null)s.aj(a)}, +aa(a){var s +this.e5(0) +s=this.C$ +if(s!=null)s.aa(0)}} +A.EF.prototype={ +F(){return"CacheExtentStyle."+this.b}} +A.r9.prototype={ +i(a){return"RevealedOffset(offset: "+A.h(this.a)+", rect: "+this.b.i(0)+")"}} +A.r6.prototype={ +dR(a){this.fi(a) +a.Cp(B.ws)}, +fN(a){var s=this.gOA() +new A.aF(s,new A.a7U(),A.a_(s).h("aF<1>")).W(0,a)}, +sez(a){if(a===this.E)return +this.E=a +this.a6()}, +saai(a){if(a===this.Z)return +this.Z=a +this.a6()}, +skY(a,b){var s=this,r=s.a3 +if(b===r)return +if(s.y!=null)r.H(0,s.gxh()) +s.a3=b +if(s.y!=null)b.Y(0,s.gxh()) +s.a6()}, +sa92(a){if(a==null)a=250 +if(a===this.al)return +this.al=a +this.a6()}, +sa93(a){if(a===this.S)return +this.S=a +this.a6()}, +snI(a){var s=this +if(a!==s.O){s.O=a +s.ao() +s.b1()}}, +aj(a){this.Xk(a) +this.a3.Y(0,this.gxh())}, +aa(a){this.a3.H(0,this.gxh()) +this.Xl(0)}, +aU(a){return 0}, +aT(a){return 0}, +gdj(){return!0}, +R2(a,b,c,d,e,f,g,h,a0,a1,a2){var s,r,q,p,o,n,m,l,k=this,j=A.aIx(k.a3.k4,e),i=f+h +for(s=f,r=0;c!=null;){q=a2<=0?0:a2 +p=Math.max(b,-q) +o=b-p +c.bV(new A.m1(k.E,e,j,q,r,i-s,Math.max(0,a1-s+f),d,k.Z,g,p,Math.max(0,a0+o)),!0) +n=c.fx +m=n.y +if(m!=null)return m +l=s+n.b +if(n.w||a2>0)k.SI(c,l,e) +else k.SI(c,-a2+f,e) +i=Math.max(l+n.c,i) +m=n.a +a2-=m +r+=m +s+=n.d +m=n.z +if(m!==0){a0-=m-o +b=Math.min(p+m,0)}k.ag4(e,n) +c=a.$1(c)}return 0}, +lY(a){var s,r,q,p,o,n +switch(this.O.a){case 0:return null +case 1:case 2:case 3:break}s=this.gv(0) +r=0+s.a +q=0+s.b +s=t.p +if(s.a(A.G.prototype.gN.call(a)).f===0||!isFinite(s.a(A.G.prototype.gN.call(a)).y))return new A.D(0,0,r,q) +p=s.a(A.G.prototype.gN.call(a)).y-s.a(A.G.prototype.gN.call(a)).r+s.a(A.G.prototype.gN.call(a)).f +o=0 +n=0 +switch(A.mG(this.E,s.a(A.G.prototype.gN.call(a)).b).a){case 2:n=0+p +break +case 0:q-=p +break +case 1:o=0+p +break +case 3:r-=p +break}return new A.D(o,n,r,q)}, +Df(a){var s,r,q,p,o=this +if(o.aq==null){s=o.gv(0) +return new A.D(0,0,0+s.a,0+s.b)}switch(A.aX(o.E).a){case 1:o.gv(0) +o.gv(0) +s=o.aq +s.toString +r=o.gv(0) +q=o.gv(0) +p=o.aq +p.toString +return new A.D(0,0-s,0+r.a,0+q.b+p) +case 0:o.gv(0) +s=o.aq +s.toString +o.gv(0) +r=o.gv(0) +q=o.aq +q.toString +return new A.D(0-s,0,0+r.a+q,0+o.gv(0).b)}}, +aE(a,b){var s,r,q,p=this +if(p.V$==null)return +s=p.gacC()&&p.O!==B.A +r=p.af +if(s){s=p.cx +s===$&&A.a() +q=p.gv(0) +r.saQ(0,a.l4(s,b,new A.D(0,0,0+q.a,0+q.b),p.ga5c(),p.O,r.a))}else{r.saQ(0,null) +p.Lf(a,b)}}, +l(){this.af.saQ(0,null) +this.fj()}, +Lf(a,b){var s,r,q,p,o,n,m +for(s=this.gOA(),r=s.length,q=b.a,p=b.b,o=0;o0}, +$S:313} +A.a7T.prototype={ +$1(a){var s=this,r=s.c,q=s.a,p=s.b.a9D(r,q.b) +return r.Qu(s.d,q.a,p)}, +$S:129} +A.yC.prototype={ +e2(a){if(!(a.b instanceof A.k5))a.b=new A.k5(null,null,B.h)}, +sa8B(a){if(a===this.js)return +this.js=a +this.a6()}, +saR(a){if(a==this.dF)return +this.dF=a +this.a6()}, +gj3(){return!0}, +bQ(a){return new A.K(A.N(1/0,a.a,a.b),A.N(1/0,a.c,a.d))}, +be(){var s,r,q,p,o,n,m,l,k,j,i,h=this +switch(A.aX(h.E).a){case 1:h.a3.qo(h.gv(0).b) +break +case 0:h.a3.qo(h.gv(0).a) +break}if(h.dF==null){h.o9=h.o8=0 +h.jt=!1 +h.a3.qk(0,0) +return}switch(A.aX(h.E).a){case 1:s=new A.au(h.gv(0).b,h.gv(0).a) +break +case 0:s=new A.au(h.gv(0).a,h.gv(0).b) +break +default:s=null}r=s.a +q=null +p=s.b +q=p +o=r +h.dF.toString +n=10*h.di$ +m=0 +do{s=h.a3.at +s.toString +l=h.Zj(o,q,s+0) +if(l!==0)h.a3.CZ(l) +else{s=h.a3 +k=h.o8 +k===$&&A.a() +j=h.js +k=Math.min(0,k+o*j) +i=h.o9 +i===$&&A.a() +if(s.qk(k,Math.max(0,i-o*(1-j))))break}++m}while(m=a?s:r +f=e.aq +f.toString +return e.R2(e.gvZ(),A.N(s,-f,0),q,b,B.lu,j,a,o,k,p,h)}, +gacC(){return this.jt}, +ag4(a,b){var s,r=this +switch(a.a){case 0:s=r.o9 +s===$&&A.a() +r.o9=s+b.a +break +case 1:s=r.o8 +s===$&&A.a() +r.o8=s-b.a +break}if(b.x)r.jt=!0}, +SI(a,b,c){var s=a.b +s.toString +t.jB.a(s).a=this.a9A(a,b,c)}, +aeH(a){var s=a.b +s.toString +return t.jB.a(s).a}, +TV(a,b){var s,r,q,p,o=this +switch(t.p.a(A.G.prototype.gN.call(a)).b.a){case 0:s=o.dF +for(r=A.o(o).h("ac.1"),q=0;s!==a;){q+=s.fx.a +p=s.b +p.toString +s=r.a(p).a1$}return q+b +case 1:r=o.dF.b +r.toString +p=A.o(o).h("ac.1") +s=p.a(r).bG$ +for(q=0;s!==a;){q-=s.fx.a +r=s.b +r.toString +s=p.a(r).bG$}return q-b}}, +ae6(a){var s,r,q,p=this +switch(t.p.a(A.G.prototype.gN.call(a)).b.a){case 0:s=p.dF +for(r=A.o(p).h("ac.1");s!==a;){s.fx.toString +q=s.b +q.toString +s=r.a(q).a1$}return 0 +case 1:r=p.dF.b +r.toString +q=A.o(p).h("ac.1") +s=q.a(r).bG$ +for(;s!==a;){s.fx.toString +r=s.b +r.toString +s=q.a(r).bG$}return 0}}, +cP(a,b){var s=a.b +s.toString +s=t.jB.a(s).a +b.au(0,s.a,s.b)}, +a9D(a,b){var s,r=a.b +r.toString +s=t.jB.a(r).a +r=t.p +switch(A.mG(r.a(A.G.prototype.gN.call(a)).a,r.a(A.G.prototype.gN.call(a)).b).a){case 2:r=b-s.b +break +case 1:r=b-s.a +break +case 0:r=a.fx.c-(b-s.b) +break +case 3:r=a.fx.c-(b-s.a) +break +default:r=null}return r}, +gOA(){var s,r,q=this,p=A.b([],t.Ry),o=q.V$ +if(o==null)return p +for(s=A.o(q).h("ac.1");o!=q.dF;){o.toString +p.push(o) +r=o.b +r.toString +o=s.a(r).a1$}o=q.cj$ +for(;!0;){o.toString +p.push(o) +if(o===q.dF)return p +r=o.b +r.toString +o=s.a(r).bG$}}, +ga9g(){var s,r,q,p=this,o=A.b([],t.Ry) +if(p.V$==null)return o +s=p.dF +for(r=A.o(p).h("ac.1");s!=null;){o.push(s) +q=s.b +q.toString +s=r.a(q).a1$}q=p.dF.b +q.toString +s=r.a(q).bG$ +for(;s!=null;){o.push(s) +q=s.b +q.toString +s=r.a(q).bG$}return o}} +A.ja.prototype={ +aj(a){var s,r,q +this.eu(a) +s=this.V$ +for(r=A.o(this).h("ja.0");s!=null;){s.aj(a) +q=s.b +q.toString +s=r.a(q).a1$}}, +aa(a){var s,r,q +this.e5(0) +s=this.V$ +for(r=A.o(this).h("ja.0");s!=null;){s.aa(0) +q=s.b +q.toString +s=r.a(q).a1$}}} +A.yW.prototype={ +F(){return"ScrollDirection."+this.b}} +A.fd.prototype={ +rY(a,b,c,d){var s=d.a===B.q.a +if(s){this.eH(b) +return A.cm(null,t.H)}else return this.is(b,c,d)}, +i(a){var s=this,r=A.b([],t.s) +s.Wy(r) +r.push(A.t(s.w).i(0)) +r.push(s.r.i(0)) +r.push(A.h(s.fr)) +r.push(s.k4.i(0)) +return"#"+A.b4(s)+"("+B.b.bD(r,", ")+")"}, +cB(a){var s=this.at +if(s!=null)a.push("offset: "+B.c.R(s,1))}} +A.mc.prototype={ +F(){return"WrapAlignment."+this.b}, +uz(a,b,c,d){var s,r,q=this +$label0$0:{if(B.cd===q){s=new A.au(d?a:0,b) +break $label0$0}if(B.St===q){s=B.cd.uz(a,b,c,!d) +break $label0$0}r=B.Sv===q +if(r&&c<2){s=B.cd.uz(a,b,c,d) +break $label0$0}if(B.Su===q){s=new A.au(a/2,b) +break $label0$0}if(r){s=new A.au(0,a/(c-1)+b) +break $label0$0}if(B.Sw===q){s=a/c +s=new A.au(s/2,s+b) +break $label0$0}if(B.Sx===q){s=a/(c+1) +s=new A.au(s,s+b) +break $label0$0}s=null}return s}} +A.A9.prototype={ +F(){return"WrapCrossAlignment."+this.b}, +ga0y(){switch(this.a){case 0:var s=B.Sy +break +case 1:s=B.jN +break +case 2:s=B.Sz +break +default:s=null}return s}, +gZ4(){switch(this.a){case 0:var s=0 +break +case 1:s=1 +break +case 2:s=0.5 +break +default:s=null}return s}} +A.tM.prototype={ +ag_(a,b,c,d,e){var s=this,r=s.a +if(r.a+b.a+d-e>1e-10)return new A.tM(b,a) +else{s.a=A.acR(r,A.acR(b,new A.K(d,0)));++s.b +if(c)s.c=a +return null}}} +A.j6.prototype={} +A.yD.prototype={ +swp(a,b){if(this.E===b)return +this.E=b +this.a6()}, +sfq(a){if(this.Z===a)return +this.Z=a +this.a6()}, +sUz(a,b){if(this.a3===b)return +this.a3=b +this.a6()}, +safB(a){if(this.al===a)return +this.al=a +this.a6()}, +safF(a){if(this.aq===a)return +this.aq=a +this.a6()}, +saah(a){if(this.S===a)return +this.S=a +this.a6()}, +e2(a){if(!(a.b instanceof A.j6))a.b=new A.j6(null,null,B.h)}, +aU(a){var s,r,q,p,o,n=this +switch(n.E.a){case 0:s=n.V$ +for(r=A.o(n).h("ac.1"),q=0;s!=null;){p=s.gbl() +o=B.ac.f2(s.fx,1/0,p) +q+=o +p=s.b +p.toString +s=r.a(p).a1$}return q +case 1:return n.az(B.z,new A.aq(0,1/0,0,a),n.gbF()).a}}, +aT(a){var s,r,q,p,o,n=this +switch(n.E.a){case 0:return n.az(B.z,new A.aq(0,a,0,1/0),n.gbF()).b +case 1:s=n.V$ +for(r=A.o(n).h("ac.1"),q=0;s!=null;){p=s.gbu() +o=B.av.f2(s.fx,1/0,p) +q+=o +p=s.b +p.toString +s=r.a(p).a1$}return q}}, +h8(a){return this.Db(a)}, +a15(a){var s +switch(this.E.a){case 0:s=a.a +break +case 1:s=a.b +break +default:s=null}return s}, +a0P(a){var s +switch(this.E.a){case 0:s=a.b +break +case 1:s=a.a +break +default:s=null}return s}, +a17(a,b){var s +switch(this.E.a){case 0:s=new A.m(a,b) +break +case 1:s=new A.m(b,a) +break +default:s=null}return s}, +gIb(){var s,r=this.O +switch((r==null?B.p:r).a){case 1:r=!1 +break +case 0:r=!0 +break +default:r=null}switch(this.af.a){case 1:s=!1 +break +case 0:s=!0 +break +default:s=null}switch(this.E.a){case 0:r=new A.au(r,s) +break +case 1:r=new A.au(s,r) +break +default:r=null}return r}, +d6(a,b){var s,r,q,p,o,n,m,l,k=this,j=null,i={} +if(k.V$==null)return j +switch(k.E.a){case 0:s=new A.aq(0,a.grU(a),0,1/0) +break +case 1:s=new A.aq(0,1/0,0,a.gER(a)) +break +default:s=j}r=k.IN(a,A.jj()) +q=r.a +p=j +o=!1 +n=r.b +o=t.EE.b(n) +if(o)p=n +m=q +if(!o)throw A.c(A.R("Pattern matching error")) +l=A.atm(m,a,k.E) +i.a=null +k.Lu(p,m,l,new A.a7V(i,s,b),new A.a7W(s)) +return i.a}, +bQ(a){return this.a8h(a)}, +a8h(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=null +switch(d.E.a){case 0:s=a.b +s=new A.au(new A.aq(0,s,0,1/0),s) +break +case 1:s=a.d +s=new A.au(new A.aq(0,1/0,0,s),s) +break +default:s=c}r=s.a +q=c +p=s.b +q=p +o=r +n=d.V$ +for(s=A.o(d).h("ac.1"),m=0,l=0,k=0,j=0,i=0;n!=null;){h=A.apN(n,o) +g=d.a15(h) +f=d.a0P(h) +if(i>0&&k+g+d.a3>q){m=Math.max(m,k) +l+=j+d.aq +k=0 +j=0 +i=0}k+=g +j=Math.max(j,f) +if(i>0)k+=d.a3;++i +e=n.b +e.toString +n=s.a(e).a1$}l+=j +m=Math.max(m,k) +switch(d.E.a){case 0:s=new A.K(m,l) +break +case 1:s=new A.K(l,m) +break +default:s=c}return a.b4(s)}, +be(){var s,r,q,p,o,n,m,l,k=this,j=t.k.a(A.G.prototype.gN.call(k)) +if(k.V$==null){k.id=new A.K(A.N(0,j.a,j.b),A.N(0,j.c,j.d)) +k.bX=!1 +return}s=k.IN(j,A.pi()) +r=s.a +q=null +p=!1 +o=s.b +p=t.EE.b(o) +if(p)q=o +n=r +if(!p)throw A.c(A.R("Pattern matching error")) +p=k.E +m=A.atm(n,j,p) +k.id=A.anx(m,p) +p=m.a-n.a +l=m.b-n.b +k.bX=p<0||l<0 +k.Lu(q,new A.K(p,l),m,A.aKO(),A.aKN())}, +IN(a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this,b=null,a="Pattern matching error" +switch(c.E.a){case 0:s=a0.b +s=new A.au(new A.aq(0,s,0,1/0),s) +break +case 1:s=a0.d +s=new A.au(new A.aq(0,1/0,0,s),s) +break +default:s=b}r=s.a +q=b +p=s.b +q=p +o=r +n=c.gIb().a +m=n +l=c.a3 +k=A.b([],t.M6) +j=c.V$ +s=A.o(c).h("ac.1") +i=b +h=B.C +while(j!=null){g=A.anx(a1.$2(j,o),c.E) +f=i==null +e=f?new A.tM(g,j):i.ag_(j,g,m,l,q) +if(e!=null){k.push(e) +if(f)f=b +else{f=i.a +g=new A.K(f.b,f.a) +f=g}if(f==null)f=B.C +g=new A.K(h.a+f.a,Math.max(h.b,f.b)) +h=g +i=e}f=j.b +f.toString +j=s.a(f).a1$}s=c.aq +f=k.length +d=i.a +h=A.acR(h,A.acR(new A.K(s*(f-1),0),new A.K(d.b,d.a))) +return new A.au(new A.K(h.b,h.a),k)}, +Lu(b3,b4,b5,b6,b7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5=this,a6=null,a7=a5.a3,a8=Math.max(0,b4.b),a9=a5.gIb(),b0=a9.a,b1=a6,b2=a9.b +b1=b2 +s=a5.S +if(b1)s=s.ga0y() +r=a5.al.uz(a8,a5.aq,b3.length,b1) +q=r.a +p=a6 +o=r.b +p=o +n=b0?a5.gw_():a5.gvZ() +for(m=J.al(b1?new A.co(b3,A.a_(b3).h("co<1>")):b3),l=b5.a,k=q;m.q();){j=m.gG(m) +i=j.a +h=i.b +g=j.b +f=Math.max(0,l-i.a) +e=a5.Z.uz(f,a7,g,b0) +d=e.a +c=a6 +b=e.b +c=b +a=j.b +a0=j.c +a1=d +while(!0){if(!(a0!=null&&a>0))break +a2=A.anx(b7.$1(a0),a5.E) +a3=a6 +a4=a2.b +a3=a4 +b6.$2(a5.a17(a1,k+s.gZ4()*(h-a3)),a0) +a1+=a2.a+c +a0=n.$1(a0);--a}k+=h+p}}, +cW(a,b){return this.qN(a,b)}, +aE(a,b){var s,r=this,q=r.bX&&r.ar!==B.A,p=r.c4 +if(q){q=r.cx +q===$&&A.a() +s=r.gv(0) +p.saQ(0,a.l4(q,b,new A.D(0,0,0+s.a,0+s.b),r.gPd(),r.ar,p.a))}else{p.saQ(0,null) +r.lW(a,b)}}, +l(){this.c4.saQ(0,null) +this.fj()}} +A.a7V.prototype={ +$2(a,b){var s=this.a +s.a=A.pB(s.a,A.apz(b.fb(this.b,this.c),a.b))}, +$S:132} +A.a7W.prototype={ +$1(a){return a.az(B.z,this.a,a.gbF())}, +$S:173} +A.QS.prototype={ +aj(a){var s,r,q +this.eu(a) +s=this.V$ +for(r=t.Qy;s!=null;){s.aj(a) +q=s.b +q.toString +s=r.a(q).a1$}}, +aa(a){var s,r,q +this.e5(0) +s=this.V$ +for(r=t.Qy;s!=null;){s.aa(0) +q=s.b +q.toString +s=r.a(q).a1$}}} +A.QT.prototype={} +A.th.prototype={} +A.on.prototype={ +F(){return"SchedulerPhase."+this.b}} +A.a63.prototype={} +A.iX.prototype={ +Sa(a){var s=this.fy$ +B.b.A(s,a) +if(s.length===0){s=$.az() +s.dy=null +s.fr=$.ae}}, +a0l(a){var s,r,q,p,o,n,m,l,k,j=this.fy$,i=A.a7(j,!0,t.xt) +for(o=i.length,n=0;n0)return!1 +if(h)A.ab(A.R(j)) +s=i.uA(0) +h=s.gRF() +if(k.id$.$2$priority$scheduler(h,k)){try{if(i.c===0)A.ab(A.R(j));++i.d +i.uA(0) +o=i.c-1 +n=i.uA(o) +i.b[o]=null +i.c=o +if(o>0)i.Zo(n,0) +s.ah9()}catch(m){r=A.a9(m) +q=A.aK(m) +p=null +h=A.bm("during a task callback") +l=p==null?null:new A.a8F(p) +A.dk(new A.bF(r,q,"scheduler library",h,l,!1))}return i.c!==0}return!0}, +tW(a,b){var s,r=this +r.j_() +s=++r.k3$ +r.k4$.n(0,s,new A.th(a)) +return r.k3$}, +yC(a){return this.tW(a,!1)}, +gab_(){var s=this +if(s.p3$==null){if(s.R8$===B.cF)s.j_() +s.p3$=new A.b1(new A.a8($.ae,t.V),t.h) +s.p2$.push(new A.a8D(s))}return s.p3$.a}, +gQc(){return this.RG$}, +Mj(a){if(this.RG$===a)return +this.RG$=a +if(a)this.j_()}, +PO(){var s=$.az() +if(s.ax==null){s.ax=this.ga1y() +s.ay=$.ae}if(s.ch==null){s.ch=this.ga21() +s.CW=$.ae}}, +DG(){switch(this.R8$.a){case 0:case 4:this.j_() +return +case 1:case 2:case 3:return}}, +j_(){var s,r=this +if(!r.p4$)s=!(A.iX.prototype.gQc.call(r)&&r.dE$) +else s=!0 +if(s)return +r.PO() +$.az().j_() +r.p4$=!0}, +TQ(){if(this.p4$)return +this.PO() +$.az().j_() +this.p4$=!0}, +Gt(){var s,r=this +if(r.rx$||r.R8$!==B.cF)return +r.rx$=!0 +s=r.p4$ +$.az() +A.c7(B.q,new A.a8G(r)) +A.c7(B.q,new A.a8H(r,s)) +r.adY(new A.a8I(r))}, +HY(a){var s=this.ry$ +return A.cR(B.c.a2((s==null?B.q:new A.aP(a.a-s.a)).a/1)+this.to$.a,0)}, +a1z(a){if(this.rx$){this.y2$=!0 +return}this.Qg(a)}, +a22(){var s=this +if(s.y2$){s.y2$=!1 +s.p2$.push(new A.a8C(s)) +return}s.Qi()}, +Qg(a){var s,r,q=this +if(q.ry$==null)q.ry$=a +r=a==null +q.x2$=q.HY(r?q.x1$:a) +if(!r)q.x1$=a +q.p4$=!1 +try{q.R8$=B.Jv +s=q.k4$ +q.k4$=A.E(t.S,t.h1) +J.mN(s,new A.a8E(q)) +q.ok$.J(0)}finally{q.R8$=B.Jw}}, +aft(a){var s=this,r=s.by$,q=r==null +if(!q&&r!==a)return null +if(r===a)++s.a5$ +else if(q){s.by$=a +s.a5$=1}return new A.a63(s.ga00())}, +a01(){if(--this.a5$===0){this.by$=null +$.az()}}, +Qi(){var s,r,q,p,o,n,m,l,k=this +try{k.R8$=B.j2 +for(p=t.Vu,o=A.a7(k.p1$,!0,p),n=o.length,m=0;m0&&r<4){s=s.x2$ +s.toString +q.c=s}s=q.a +s.toString +return s}, +p6(a,b){var s=this,r=s.a +if(r==null)return +s.c=s.a=null +s.FT() +if(b)r.MX(s) +else r.MY()}, +es(a){return this.p6(0,!1)}, +a7o(a){var s,r=this +r.e=null +s=r.c +if(s==null)s=r.c=a +r.d.$1(new A.aP(a.a-s.a)) +if(!r.b&&r.a!=null&&r.e==null)r.e=$.bC.tW(r.gBO(),!0)}, +FT(){var s,r=this.e +if(r!=null){s=$.bC +s.k4$.A(0,r) +s.ok$.D(0,r) +this.e=null}}, +l(){var s=this,r=s.a +if(r!=null){s.a=null +s.FT() +r.MX(s)}}, +i(a){var s=""+"Ticker()" +return s.charCodeAt(0)==0?s:s}} +A.oM.prototype={ +MY(){this.c=!0 +this.a.eW(0) +var s=this.b +if(s!=null)s.eW(0)}, +MX(a){var s +this.c=!1 +s=this.b +if(s!=null)s.jk(new A.zS(a))}, +SR(a){var s,r,q=this,p=new A.abB(a) +if(q.b==null){s=q.b=new A.b1(new A.a8($.ae,t.V),t.h) +r=q.c +if(r!=null)if(r)s.eW(0) +else s.jk(B.R9)}q.b.a.en(0,p,p,t.H)}, +nH(a,b){return this.a.a.nH(a,b)}, +ku(a){return this.nH(a,null)}, +en(a,b,c,d){return this.a.a.en(0,b,c,d)}, +b_(a,b,c){return this.en(0,b,null,c)}, +hs(a){return this.a.a.hs(a)}, +i(a){var s=A.b4(this),r=this.c +if(r==null)r="active" +else r=r?"complete":"canceled" +return"#"+s+"("+r+")"}, +$ia6:1} +A.abB.prototype={ +$1(a){this.a.$0()}, +$S:17} +A.zS.prototype={ +i(a){var s=this.a +if(s!=null)return"This ticker was canceled: "+s.i(0) +return'The ticker was canceled before the "orCancel" property was first used.'}, +$ibQ:1} +A.Kj.prototype={ +gvq(){var s,r,q=this.PS$ +if(q===$){s=$.az().c +r=$.aM() +q!==$&&A.a0() +q=this.PS$=new A.eL(s.c,r)}return q}, +ab2(){++this.DI$ +this.gvq().sm(0,!0) +return new A.a9n(this.ga_O())}, +a_P(){--this.DI$ +this.gvq().sm(0,this.DI$>0)}, +Kr(){var s,r=this +if($.az().c.c){if(r.wA$==null)r.wA$=r.ab2()}else{s=r.wA$ +if(s!=null)s.a.$0() +r.wA$=null}}, +a32(a){var s,r,q=a.d +if(t.V4.b(q)){s=B.ab.eB(q) +if(J.e(s,B.ky))s=q +r=new A.rl(a.a,a.b,a.c,s)}else r=a +s=this.dx$.k(0,r.b) +if(s!=null){s=s.y +if(s!=null){s=s.at +if(s!=null)s.aeK(r.c,r.a,r.d)}}}} +A.a9n.prototype={} +A.ow.prototype={ +i(a){return"SemanticsTag("+this.a+")"}} +A.cQ.prototype={ +a4(a,b){var s,r,q,p,o,n,m,l=this.a,k=l.length +if(k===0)return b +s=b.a +if(s.length===0)return this +r=A.a7(this.b,!0,t.u1) +q=b.b +p=q.length +if(p!==0)for(o=0;o=0;--o)r[o]=n[q-o-1].b}n=a2.fy +m=n.length +if(m!==0){l=new Int32Array(m) +for(o=0;o0?r[n-1].p3:null +if(n!==0){k=J.T(l)===J.T(o) +if(k)if(l!=null)o.toString}else k=!0 +if(!k&&p.length!==0){if(o!=null)B.b.hy(p) +B.b.L(q,p) +B.b.J(p)}p.push(new A.kq(m,l,n))}if(o!=null)B.b.hy(p) +B.b.L(q,p) +s=t.rB +return A.a7(new A.aw(q,new A.a9p(),s),!0,s.h("aD.E"))}, +U0(a){if(this.ay==null)return +B.cS.li(0,a.yb(this.b))}, +cg(){return"SemanticsNode#"+this.b}, +Sy(a){return new A.Rm(this)}} +A.a9r.prototype={ +$1(a){var s,r,q,p=this.a +p.a=p.a|a.fr +s=p.b +r=a.z +q=a.dx +p.b=s|(r?q&$.Uv():q) +if(p.y==null)p.y=a.p2 +p.Q=a.p4 +if(p.as==null)p.as=a.RG +if(p.at==null)p.at=a.rx +if(p.ax==null)p.ax=a.ry +if(p.ay==null)p.ay=a.to +if(p.ch==null)p.ch=a.x1 +if(p.CW==null)p.CW=a.x2 +p.cx=a.xr +p.cy=a.y1 +p.db=a.y2 +if(p.c==="")p.c=a.fx +if(p.e.a==="")p.e=a.go +if(p.f.a==="")p.f=a.id +if(p.r.a==="")p.r=a.k1 +if(p.x==="")p.x=a.k3 +s=a.dy +if(s!=null){r=p.z;(r==null?p.z=A.ay(t.g3):r).L(0,s)}for(s=this.b.db,s=A.hf(s,s.r),r=this.c;s.q();)r.D(0,A.aq0(s.d)) +s=p.d +r=p.y +p.d=A.ajK(a.fy,a.p2,s,r) +r=p.w +s=p.y +p.w=A.ajK(a.k2,a.p2,r,s) +p.dx=Math.max(p.dx,a.ok+a.k4) +return!0}, +$S:78} +A.a9p.prototype={ +$1(a){return a.a}, +$S:321} +A.kf.prototype={ +b9(a,b){return B.c.b9(this.b,b.b)}, +$icv:1} +A.ii.prototype={ +b9(a,b){return B.c.b9(this.a,b.a)}, +Uy(){var s,r,q,p,o,n,m,l,k,j=A.b([],t.TV) +for(s=this.c,r=s.length,q=0;q") +return A.a7(new A.hO(n,new A.aio(),s),!0,s.h("j.E"))}, +Ux(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=this.c,a4=a3.length +if(a4<=1)return a3 +s=t.S +r=A.E(s,t.bu) +q=A.E(s,s) +for(p=this.b,o=p===B.T,p=p===B.p,n=a4,m=0;m2.356194490192345 +else a0=!1 +if(a||a0)q.n(0,l.b,f.b)}}a1=A.b([],t.t) +a2=A.b(a3.slice(0),A.a_(a3)) +B.b.er(a2,new A.aik()) +new A.aw(a2,new A.ail(),A.a_(a2).h("aw<1,p>")).W(0,new A.ain(A.ay(s),q,a1)) +a3=t.qn +a3=A.a7(new A.aw(a1,new A.aim(r),a3),!0,a3.h("aD.E")) +a4=A.a_(a3).h("co<1>") +return A.a7(new A.co(a3,a4),!0,a4.h("aD.E"))}, +$icv:1} +A.aio.prototype={ +$1(a){return a.Ux()}, +$S:137} +A.aik.prototype={ +$2(a,b){var s,r,q=a.e,p=A.pf(a,new A.m(q.a,q.b)) +q=b.e +s=A.pf(b,new A.m(q.a,q.b)) +r=B.c.b9(p.b,s.b) +if(r!==0)return-r +return-B.c.b9(p.a,s.a)}, +$S:77} +A.ain.prototype={ +$1(a){var s=this,r=s.a +if(r.p(0,a))return +r.D(0,a) +r=s.b +if(r.a9(0,a)){r=r.k(0,a) +r.toString +s.$1(r)}s.c.push(a)}, +$S:16} +A.ail.prototype={ +$1(a){return a.b}, +$S:324} +A.aim.prototype={ +$1(a){var s=this.a.k(0,a) +s.toString +return s}, +$S:325} +A.ajD.prototype={ +$1(a){return a.Uy()}, +$S:137} +A.kq.prototype={ +b9(a,b){var s,r=this.b +if(r==null||b.b==null)return this.c-b.c +r.toString +s=b.b +s.toString +return r.b9(0,s)}, +$icv:1} +A.Ko.prototype={ +l(){var s=this +s.b.J(0) +s.c.J(0) +s.d.J(0) +s.dt()}, +U1(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=g.b +if(f.a===0)return +s=A.ay(t.S) +r=A.b([],t.QF) +for(q=A.o(f).h("aF<1>"),p=q.h("j.E"),o=g.d;f.a!==0;){n=A.a7(new A.aF(f,new A.a9u(g),q),!0,p) +f.J(0) +o.J(0) +B.b.er(n,new A.a9v()) +B.b.L(r,n) +for(m=n.length,l=0;l#"+A.b4(this)}} +A.a9u.prototype={ +$1(a){return!this.a.d.p(0,a)}, +$S:78} +A.a9v.prototype={ +$2(a,b){return a.CW-b.CW}, +$S:77} +A.a9w.prototype={ +$2(a,b){return a.CW-b.CW}, +$S:77} +A.a9t.prototype={ +$1(a){if(a.cy.a9(0,this.b)){this.a.a=a +return!1}return!0}, +$S:78} +A.lW.prototype={ +ln(a,b){var s=this +s.f.n(0,a,b) +s.r=s.r|a.a +s.e=!0}, +ev(a,b){this.ln(a,new A.a9c(b))}, +skZ(a){a.toString +this.ev(B.fs,a) +this.w=a}, +sjH(a){a.toString +this.ev(B.wd,a)}, +sxy(a){this.ev(B.dW,a)}, +sxu(a){this.ev(B.JU,a)}, +sxz(a){this.ev(B.dX,a)}, +sxA(a){this.ev(B.dU,a)}, +sxx(a){this.ev(B.dV,a)}, +sF7(a){this.ev(B.we,a)}, +sF2(a){this.ev(B.wc,a)}, +sF0(a,b){this.ev(B.JV,b)}, +sF1(a,b){this.ev(B.JZ,b)}, +sFe(a,b){this.ev(B.JQ,b)}, +sFc(a){this.ln(B.JX,new A.a9g(a))}, +sFa(a){this.ln(B.K_,new A.a9e(a))}, +sFd(a){this.ln(B.JY,new A.a9h(a))}, +sFb(a){this.ln(B.JP,new A.a9f(a))}, +sFj(a){this.ln(B.JR,new A.a9i(a))}, +sFk(a){this.ln(B.JS,new A.a9j(a))}, +sF3(a){this.ev(B.jb,a)}, +sF4(a){this.ev(B.jc,a)}, +sxv(a,b){this.ev(B.JW,b)}, +sTT(a){if(a==this.ok)return +this.ok=a +this.e=!0}, +sTU(a){if(a==this.p1)return +this.p1=a +this.e=!0}, +saeL(a){if(a===this.p2)return +this.p2=a +this.e=!0}, +sES(a){return}, +sD6(a){return}, +scv(a,b){if(b===this.aY)return +this.aY=b +this.e=!0}, +sEo(a){this.aV=a +this.e=!0}, +Cp(a){var s=this.a3;(s==null?this.a3=A.ay(t.g3):s).D(0,a)}, +b7(a,b){var s=this,r=s.al,q=a.a +if(b)s.al=r|q +else s.al=r&~q +s.e=!0}, +QQ(a){var s=this +if(a==null||!a.e||!s.e)return!0 +if((s.r&a.r)!==0)return!1 +if((s.al&a.al)!==0)return!1 +if(s.p2!=null&&a.p2!=null)return!1 +if(s.to.a.length!==0&&a.to.a.length!==0)return!1 +return!0}, +kn(a){var s,r,q,p=this +if(!a.e)return +s=a.f +if(a.b)s.W(0,new A.a9d(p)) +else p.f.L(0,s) +s=p.r +r=a.b +q=a.r +p.r=s|(r?q&$.Uv():q) +p.RG.L(0,a.RG) +p.al=p.al|a.al +p.bw=a.bw +if(p.bn==null)p.bn=a.bn +if(p.E==null)p.E=a.E +if(p.Z==null)p.Z=a.Z +if(p.y2==null)p.y2=a.y2 +if(p.k4==null)p.k4=a.k4 +if(p.p1==null)p.p1=a.p1 +if(p.ok==null)p.ok=a.ok +if(p.p2==null)p.p2=a.p2 +p.p3=a.p3 +p.p4=a.p4 +s=p.a5 +if(s==null){s=p.a5=a.a5 +p.e=!0}if(p.k3==null)p.k3=a.k3 +if(p.rx==="")p.rx=a.rx +r=p.ry +p.ry=A.ajK(a.ry,a.a5,r,s) +if(p.to.a==="")p.to=a.to +if(p.x1.a==="")p.x1=a.x1 +if(p.x2.a==="")p.x2=a.x2 +s=p.xr +r=p.a5 +p.xr=A.ajK(a.xr,a.a5,s,r) +if(p.y1==="")p.y1=a.y1 +p.by=Math.max(p.by,a.by+a.aY) +p.e=p.e||a.e}, +a9O(){var s=this,r=A.lX() +r.a=s.a +r.c=s.c +r.d=s.d +r.e=s.e +r.R8=s.R8 +r.a5=s.a5 +r.k3=s.k3 +r.rx=s.rx +r.ry=s.ry +r.x1=s.x1 +r.to=s.to +r.x2=s.x2 +r.xr=s.xr +r.y2=s.y2 +r.y1=s.y1 +r.aY=s.aY +r.by=s.by +r.al=s.al +r.a3=s.a3 +r.bw=s.bw +r.bn=s.bn +r.E=s.E +r.Z=s.Z +r.r=s.r +r.k4=s.k4 +r.p1=s.p1 +r.ok=s.ok +r.p2=s.p2 +r.p3=s.p3 +r.p4=s.p4 +r.f.L(0,s.f) +r.RG.L(0,s.RG) +r.b=s.b +r.aV=s.aV +return r}} +A.a9c.prototype={ +$1(a){this.a.$0()}, +$S:10} +A.a9g.prototype={ +$1(a){a.toString +this.a.$1(A.kt(a))}, +$S:10} +A.a9e.prototype={ +$1(a){a.toString +this.a.$1(A.kt(a))}, +$S:10} +A.a9h.prototype={ +$1(a){a.toString +this.a.$1(A.kt(a))}, +$S:10} +A.a9f.prototype={ +$1(a){a.toString +this.a.$1(A.kt(a))}, +$S:10} +A.a9i.prototype={ +$1(a){var s,r,q +a.toString +s=J.kI(t.f.a(a),t.N,t.S) +r=s.k(0,"base") +r.toString +q=s.k(0,"extent") +q.toString +this.a.$1(A.zN(B.n,r,q,!1))}, +$S:10} +A.a9j.prototype={ +$1(a){a.toString +this.a.$1(A.by(a))}, +$S:10} +A.a9d.prototype={ +$2(a,b){if(($.Uv()&a.a)>0)this.a.f.n(0,a,b)}, +$S:327} +A.Xo.prototype={ +F(){return"DebugSemanticsDumpOrder."+this.b}} +A.rm.prototype={ +b9(a,b){var s=this.aaP(b) +return s}, +$icv:1} +A.qJ.prototype={ +aaP(a){var s=a.b,r=this.b +if(s===r)return 0 +return B.f.b9(r,s)}} +A.Rl.prototype={} +A.Ro.prototype={} +A.Rp.prototype={} +A.a9l.prototype={ +yb(a){var s=A.an(["type",this.a,"data",this.oU()],t.N,t.z) +if(a!=null)s.n(0,"nodeId",a) +return s}, +afP(){return this.yb(null)}, +i(a){var s,r,q=A.b([],t.s),p=this.oU(),o=p.gbr(p),n=A.a7(o,!0,A.o(o).h("j.E")) +B.b.hy(n) +for(o=n.length,s=0;s#"+A.b4(this)+"()"}} +A.VI.prototype={ +mk(a,b){if(b)return this.a.bk(0,a,new A.VJ(this,a)) +return this.GT(a,!0)}, +adX(a,b,c){var s,r=this,q={},p=r.b +if(p.a9(0,a)){q=p.k(0,a) +q.toString +return c.h("a6<0>").a(q)}q.a=q.b=null +r.mk(a,!1).b_(0,b,c).en(0,new A.VK(q,r,a,c),new A.VL(q,r,a),t.H) +s=q.a +if(s!=null)return s +s=new A.a8($.ae,c.h("a8<0>")) +q.b=new A.b1(s,c.h("b1<0>")) +p.n(0,a,s) +return q.b.a}} +A.VJ.prototype={ +$0(){return this.a.GT(this.b,!0)}, +$S:328} +A.VK.prototype={ +$1(a){var s=this,r=new A.ci(a,s.d.h("ci<0>")),q=s.a +q.a=r +s.b.b.n(0,s.c,r) +q=q.b +if(q!=null)q.cA(0,a)}, +$S(){return this.d.h("aT(0)")}} +A.VL.prototype={ +$2(a,b){this.b.b.A(0,this.c) +this.a.b.lO(a,b)}, +$S:38} +A.a6e.prototype={ +jE(a,b){var s,r=B.bq.d7(A.aj4(null,A.SO(B.im,b,B.a3,!1),null).e),q=$.ee.r9$ +q===$&&A.a() +s=q.yG(0,"flutter/assets",A.alK(r)).b_(0,new A.a6f(b),t.V4) +return s}, +xa(a){return this.adT(a)}, +adT(a){var s=0,r=A.z(t.SG),q,p=this,o,n +var $async$xa=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=A +n=A +s=3 +return A.B(p.jE(0,a),$async$xa) +case 3:q=o.H0(n.abX(c,0,null)) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$xa,r)}} +A.a6f.prototype={ +$1(a){if(a==null)throw A.c(A.Gs(A.b([A.aHu(this.a),A.bm("The asset does not exist or has empty data.")],t.E))) +return a}, +$S:329} +A.V7.prototype={ +$1(a){return this.SZ(a)}, +SZ(a){var s=0,r=A.z(t.CL),q +var $async$$1=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:q=new A.oT(t.F.a(B.ab.eB(A.alK(B.eg.d7(A.by(B.aQ.eA(0,a)))))),A.E(t.N,t.Rk)) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$$1,r)}, +$S:330} +A.oT.prototype={ +Tb(a){var s,r,q,p=this.b +if(!p.a9(0,a)){s=this.a +r=J.ax(s) +if(r.k(s,a)==null)return null +q=r.k(s,a) +if(q==null)q=[] +q=J.pn(t.VG.a(q),t.F) +p.n(0,a,q.f1(q,new A.acG(a),t.pR).dm(0)) +r.A(s,a)}p=p.k(0,a) +p.toString +return p}, +$iV6:1} +A.acG.prototype={ +$1(a){var s,r=J.ax(a),q=r.k(a,"asset") +q.toString +A.by(q) +s=r.k(a,"dpr") +r=r.k(a,"asset") +r.toString +A.by(r) +return new A.kO(A.aGQ(s),r)}, +$S:331} +A.kO.prototype={} +A.Vj.prototype={} +A.zd.prototype={ +a3F(){var s,r,q=this,p=t.v3,o=new A.a_A(A.E(p,t.r),A.ay(t.SQ),A.b([],t.sA)) +q.r8$!==$&&A.bz() +q.r8$=o +s=$.aoW() +r=A.b([],t.K0) +q.wy$!==$&&A.bz() +q.wy$=new A.He(o,s,r,A.ay(p)) +p=q.r8$ +p===$&&A.a() +p.ul().b_(0,new A.a9D(q),t.P)}, +rq(){var s=$.Uz() +s.a.J(0) +s.b.J(0) +s.c.J(0)}, +kQ(a){return this.acn(a)}, +acn(a){var s=0,r=A.z(t.H),q,p=this +var $async$kQ=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:switch(A.by(J.b5(t.a.a(a),"type"))){case"memoryPressure":p.rq() +break}s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$kQ,r)}, +YX(){var s=A.bk("controller") +s.scr(A.and(new A.a9C(s),!1,t.hz)) +return J.az5(s.aP())}, +af4(){if(this.go$==null)$.az() +return}, +AL(a){return this.a2n(a)}, +a2n(a){var s=0,r=A.z(t.ob),q,p=this,o,n +var $async$AL=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:a.toString +o=A.aEu(a) +n=p.go$ +o.toString +B.b.W(p.a0I(n,o),p.gabF()) +q=null +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$AL,r)}, +a0I(a,b){var s,r,q,p +if(a===b)return B.F_ +s=A.b([],t.QP) +if(a==null)s.push(b) +else{r=B.b.jv(B.dp,a) +q=B.b.jv(B.dp,b) +if(b===B.ch){for(p=r+1;p<5;++p)s.push(B.dp[p]) +s.push(B.ch)}else if(r>q)for(p=q;p") +r=A.ew(new A.aZ(c,s),s.h("j.E")) +q=A.b([],t.K0) +p=c.k(0,b) +o=$.ee.x1$ +n=a0.a +if(n==="")n=d +m=e.a_k(a0) +if(a0 instanceof A.lN)if(p==null){l=new A.jI(b,a,n,o,!1) +r.D(0,b)}else l=A.arf(n,m,p,b,o) +else if(p==null)l=d +else{l=A.arg(m,p,b,!1,o) +r.A(0,b)}for(s=e.c.d,k=A.o(s).h("aZ<1>"),j=k.h("j.E"),i=r.hM(A.ew(new A.aZ(s,k),j)),i=i.ga0(i),h=e.e;i.q();){g=i.gG(i) +if(g.j(0,b))q.push(new A.nJ(g,a,d,o,!0)) +else{f=c.k(0,g) +f.toString +h.push(new A.nJ(g,f,d,o,!0))}}for(c=A.ew(new A.aZ(s,k),j).hM(r),c=c.ga0(c);c.q();){k=c.gG(c) +j=s.k(0,k) +j.toString +h.push(new A.jI(k,j,d,o,!0))}if(l!=null)h.push(l) +B.b.L(h,q)}} +A.Oz.prototype={} +A.a1s.prototype={} +A.f.prototype={ +gt(a){return B.f.gt(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.f&&b.a===this.a}} +A.a1H.prototype={ +$1(a){var s=$.awp().k(0,a) +return s==null?A.bZ([a],t.r):s}, +$S:337} +A.k.prototype={ +gt(a){return B.f.gt(this.a)}, +j(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.k&&b.a===this.a}} +A.OA.prototype={} +A.hV.prototype={ +i(a){return"MethodCall("+this.a+", "+A.h(this.b)+")"}} +A.fK.prototype={ +i(a){var s=this +return"PlatformException("+s.a+", "+A.h(s.b)+", "+A.h(s.c)+", "+A.h(s.d)+")"}, +$ibQ:1} +A.xl.prototype={ +i(a){return"MissingPluginException("+A.h(this.a)+")"}, +$ibQ:1} +A.aat.prototype={ +eB(a){if(a==null)return null +return B.a3.eA(0,A.abX(a,0,null))}, +bB(a){if(a==null)return null +return A.alK(B.bq.d7(a))}} +A.a1_.prototype={ +bB(a){if(a==null)return null +return B.hp.bB(B.aQ.DE(a))}, +eB(a){var s +if(a==null)return a +s=B.hp.eB(a) +s.toString +return B.aQ.eA(0,s)}} +A.a11.prototype={ +hP(a){var s=B.bK.bB(A.an(["method",a.a,"args",a.b],t.N,t.X)) +s.toString +return s}, +h9(a){var s,r,q,p=null,o=B.bK.eB(a) +if(!t.f.b(o))throw A.c(A.bG("Expected method call Map, got "+A.h(o),p,p)) +s=J.ax(o) +r=s.k(o,"method") +q=s.k(o,"args") +if(typeof r=="string")return new A.hV(r,q) +throw A.c(A.bG("Invalid method call: "+A.h(o),p,p))}, +Pa(a){var s,r,q,p=null,o=B.bK.eB(a) +if(!t.j.b(o))throw A.c(A.bG("Expected envelope List, got "+A.h(o),p,p)) +s=J.ax(o) +if(s.gu(o)===1)return s.k(o,0) +r=!1 +if(s.gu(o)===3)if(typeof s.k(o,0)=="string")r=s.k(o,1)==null||typeof s.k(o,1)=="string" +if(r){r=A.by(s.k(o,0)) +q=A.cO(s.k(o,1)) +throw A.c(A.jT(r,s.k(o,2),q,p))}r=!1 +if(s.gu(o)===4)if(typeof s.k(o,0)=="string")if(s.k(o,1)==null||typeof s.k(o,1)=="string")r=s.k(o,3)==null||typeof s.k(o,3)=="string" +if(r){r=A.by(s.k(o,0)) +q=A.cO(s.k(o,1)) +throw A.c(A.jT(r,s.k(o,2),q,A.cO(s.k(o,3))))}throw A.c(A.bG("Invalid envelope: "+A.h(o),p,p))}, +r2(a){var s=B.bK.bB([a]) +s.toString +return s}, +m1(a,b,c){var s=B.bK.bB([a,c,b]) +s.toString +return s}, +PK(a,b){return this.m1(a,null,b)}} +A.aaf.prototype={ +bB(a){var s +if(a==null)return null +s=A.acp(64) +this.dq(0,s,a) +return s.ky()}, +eB(a){var s,r +if(a==null)return null +s=new A.yd(a) +r=this.hp(0,s) +if(s.b=b.a.byteLength)throw A.c(B.aI) +return this.jK(b.mJ(0),b)}, +jK(a,b){var s,r,q,p,o,n,m,l,k=this +switch(a){case 0:return null +case 1:return!0 +case 2:return!1 +case 3:s=b.b +r=$.di() +q=b.a.getInt32(s,B.aa===r) +b.b+=4 +return q +case 4:return b.yq(0) +case 6:b.ih(8) +s=b.b +r=$.di() +q=b.a.getFloat64(s,B.aa===r) +b.b+=8 +return q +case 5:case 7:p=k.dZ(b) +return B.cI.d7(b.mK(p)) +case 8:return b.mK(k.dZ(b)) +case 9:p=k.dZ(b) +b.ih(4) +s=b.a +o=A.arC(s.buffer,s.byteOffset+b.b,p) +b.b=b.b+4*p +return o +case 10:return b.yr(k.dZ(b)) +case 14:p=k.dZ(b) +b.ih(4) +s=b.a +r=s.buffer +s=s.byteOffset+b.b +A.Dm(r,s,p) +o=new Float32Array(r,s,p) +b.b=b.b+4*p +return o +case 11:p=k.dZ(b) +b.ih(8) +s=b.a +o=A.arA(s.buffer,s.byteOffset+b.b,p) +b.b=b.b+8*p +return o +case 12:p=k.dZ(b) +n=A.bc(p,null,!1,t.X) +for(s=b.a,m=0;m=s.byteLength)A.ab(B.aI) +b.b=r+1 +n[m]=k.jK(s.getUint8(r),b)}return n +case 13:p=k.dZ(b) +s=t.X +n=A.E(s,s) +for(s=b.a,m=0;m=s.byteLength)A.ab(B.aI) +b.b=r+1 +r=k.jK(s.getUint8(r),b) +l=b.b +if(l>=s.byteLength)A.ab(B.aI) +b.b=l+1 +n.n(0,r,k.jK(s.getUint8(l),b))}return n +default:throw A.c(B.aI)}}, +eO(a,b){var s,r +if(b<254)a.dP(0,b) +else{s=a.d +if(b<=65535){a.dP(0,254) +r=$.di() +s.setUint16(0,b,B.aa===r) +a.pi(a.e,0,2)}else{a.dP(0,255) +r=$.di() +s.setUint32(0,b,B.aa===r) +a.pi(a.e,0,4)}}}, +dZ(a){var s,r,q=a.mJ(0) +$label0$0:{if(254===q){s=a.b +r=$.di() +q=a.a.getUint16(s,B.aa===r) +a.b+=2 +s=q +break $label0$0}if(255===q){s=a.b +r=$.di() +q=a.a.getUint32(s,B.aa===r) +a.b+=4 +s=q +break $label0$0}s=q +break $label0$0}return s}} +A.aag.prototype={ +$2(a,b){var s=this.a,r=this.b +s.dq(0,r,a) +s.dq(0,r,b)}, +$S:54} +A.aaj.prototype={ +hP(a){var s=A.acp(64) +B.ab.dq(0,s,a.a) +B.ab.dq(0,s,a.b) +return s.ky()}, +h9(a){var s,r,q +a.toString +s=new A.yd(a) +r=B.ab.hp(0,s) +q=B.ab.hp(0,s) +if(typeof r=="string"&&s.b>=a.byteLength)return new A.hV(r,q) +else throw A.c(B.lq)}, +r2(a){var s=A.acp(64) +s.dP(0,0) +B.ab.dq(0,s,a) +return s.ky()}, +m1(a,b,c){var s=A.acp(64) +s.dP(0,1) +B.ab.dq(0,s,a) +B.ab.dq(0,s,c) +B.ab.dq(0,s,b) +return s.ky()}, +PK(a,b){return this.m1(a,null,b)}, +Pa(a){var s,r,q,p,o,n +if(a.byteLength===0)throw A.c(B.Ci) +s=new A.yd(a) +if(s.mJ(0)===0)return B.ab.hp(0,s) +r=B.ab.hp(0,s) +q=B.ab.hp(0,s) +p=B.ab.hp(0,s) +o=s.b=a.byteLength +else n=!1 +if(n)throw A.c(A.jT(r,p,A.cO(q),o)) +else throw A.c(B.Ch)}} +A.a4Y.prototype={ +abJ(a,b,c){var s,r,q,p,o +if(t.PB.b(b)){this.b.A(0,a) +return}s=this.b +r=s.k(0,a) +q=A.aFM(c) +if(q==null)q=this.a +p=r==null +if(J.e(p?null:r.gnN(r),q))return +o=q.qK(a) +s.n(0,a,o) +if(!p)r.l() +o.bI()}} +A.qD.prototype={ +gnN(a){return this.a}} +A.c9.prototype={ +i(a){var s=this.glT() +return s}} +A.Nd.prototype={ +qK(a){throw A.c(A.cc(null))}, +glT(){return"defer"}} +A.Pd.prototype={ +bI(){var s=0,r=A.z(t.H) +var $async$bI=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:return A.x(null,r)}}) +return A.y($async$bI,r)}, +l(){}} +A.Pc.prototype={ +qK(a){return new A.Pd(this,a)}, +glT(){return"uncontrolled"}} +A.S_.prototype={ +gnN(a){return t.ZC.a(this.a)}, +bI(){return B.Ia.ei("activateSystemCursor",A.an(["device",this.b,"kind",t.ZC.a(this.a).a],t.N,t.z),t.H)}, +l(){}} +A.j_.prototype={ +glT(){return"SystemMouseCursor("+this.a+")"}, +qK(a){return new A.S_(this,a)}, +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.j_&&b.a===this.a}, +gt(a){return B.d.gt(this.a)}} +A.P2.prototype={} +A.kQ.prototype={ +gqu(){var s=$.ee.r9$ +s===$&&A.a() +return s}, +li(a,b){return this.U_(0,b,this.$ti.h("1?"))}, +U_(a,b,c){var s=0,r=A.z(c),q,p=this,o,n,m +var $async$li=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:o=p.b +n=p.gqu().yG(0,p.a,o.bB(b)) +m=o +s=3 +return A.B(t.T8.b(n)?n:A.fe(n,t.CD),$async$li) +case 3:q=m.eB(e) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$li,r)}, +u0(a){this.gqu().GC(this.a,new A.Vi(this,a))}} +A.Vi.prototype={ +$1(a){return this.T_(a)}, +T_(a){var s=0,r=A.z(t.CD),q,p=this,o,n +var $async$$1=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.a.b +n=o +s=3 +return A.B(p.b.$1(o.eB(a)),$async$$1) +case 3:q=n.bB(c) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$$1,r)}, +$S:140} +A.dy.prototype={ +gqu(){var s=$.ee.r9$ +s===$&&A.a() +return s}, +dv(a,b,c,d){return this.a3S(a,b,c,d,d.h("0?"))}, +a3S(a,b,c,d,e){var s=0,r=A.z(e),q,p=this,o,n,m,l,k +var $async$dv=A.A(function(f,g){if(f===1)return A.w(g,r) +while(true)switch(s){case 0:o=p.b +n=o.hP(new A.hV(a,b)) +m=p.a +l=p.gqu().yG(0,m,n) +s=3 +return A.B(t.T8.b(l)?l:A.fe(l,t.CD),$async$dv) +case 3:k=g +if(k==null){if(c){q=null +s=1 +break}throw A.c(A.a4P("No implementation found for method "+a+" on channel "+m))}q=d.h("0?").a(o.Pa(k)) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$dv,r)}, +ei(a,b,c){return this.dv(a,b,!1,c)}, +ol(a,b,c){return this.adp(a,b,c,c.h("O<0>?"))}, +ado(a,b){return this.ol(a,null,b)}, +adp(a,b,c,d){var s=0,r=A.z(d),q,p=this,o +var $async$ol=A.A(function(e,f){if(e===1)return A.w(f,r) +while(true)switch(s){case 0:s=3 +return A.B(p.ei(a,b,t.j),$async$ol) +case 3:o=f +q=o==null?null:J.pn(o,c) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ol,r)}, +mg(a,b,c,d){return this.adq(a,b,c,d,c.h("@<0>").bg(d).h("aA<1,2>?"))}, +QM(a,b,c){return this.mg(a,null,b,c)}, +adq(a,b,c,d,e){var s=0,r=A.z(e),q,p=this,o +var $async$mg=A.A(function(f,g){if(f===1)return A.w(g,r) +while(true)switch(s){case 0:s=3 +return A.B(p.ei(a,b,t.f),$async$mg) +case 3:o=g +q=o==null?null:J.kI(o,c,d) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$mg,r)}, +j0(a){var s=this.gqu(),r=a==null?null:new A.a4J(this,a) +s.GC(this.a,r)}, +uL(a,b){return this.a1u(a,b)}, +a1u(a,b){var s=0,r=A.z(t.CD),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e +var $async$uL=A.A(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:h=n.b +g=h.h9(a) +p=4 +e=h +s=7 +return A.B(b.$1(g),$async$uL) +case 7:k=e.r2(d) +q=k +s=1 +break +p=2 +s=6 +break +case 4:p=3 +f=o +k=A.a9(f) +if(k instanceof A.fK){m=k +k=m.a +i=m.b +q=h.m1(k,m.c,i) +s=1 +break}else if(k instanceof A.xl){q=null +s=1 +break}else{l=k +h=h.PK("error",J.en(l)) +q=h +s=1 +break}s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$uL,r)}} +A.a4J.prototype={ +$1(a){return this.a.uL(a,this.b)}, +$S:140} +A.hX.prototype={ +ei(a,b,c){return this.adr(a,b,c,c.h("0?"))}, +x5(a,b){return this.ei(a,null,b)}, +adr(a,b,c,d){var s=0,r=A.z(d),q,p=this +var $async$ei=A.A(function(e,f){if(e===1)return A.w(f,r) +while(true)switch(s){case 0:q=p.Vr(a,b,!0,c) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ei,r)}} +A.a6p.prototype={} +A.o2.prototype={} +A.zz.prototype={ +F(){return"SwipeEdge."+this.b}} +A.J2.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.J2&&J.e(s.a,b.a)&&s.b===b.b&&s.c===b.c}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"PredictiveBackEvent{touchOffset: "+A.h(this.a)+", progress: "+A.h(this.b)+", swipeEdge: "+this.c.i(0)+"}"}} +A.nK.prototype={ +F(){return"KeyboardSide."+this.b}} +A.fG.prototype={ +F(){return"ModifierKey."+this.b}} +A.yb.prototype={ +gaed(){var s,r,q=A.E(t.xS,t.Di) +for(s=0;s<9;++s){r=B.lT[s] +if(this.adB(r))q.n(0,r,B.co)}return q}} +A.k_.prototype={} +A.a6Q.prototype={ +$0(){var s,r,q,p=this.b,o=J.ax(p),n=A.cO(o.k(p,"key")),m=n==null +if(!m){s=n.length +s=s!==0&&s===1}else s=!1 +if(s)this.a.a=n +s=A.cO(o.k(p,"code")) +if(s==null)s="" +m=m?"":n +r=A.Dl(o.k(p,"location")) +if(r==null)r=0 +q=A.Dl(o.k(p,"metaState")) +if(q==null)q=0 +p=A.Dl(o.k(p,"keyCode")) +return new A.Je(s,m,r,q,p==null?0:p)}, +$S:339} +A.lN.prototype={} +A.r1.prototype={} +A.a6T.prototype={ +acc(a){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(a instanceof A.lN){o=a.c +h.d.n(0,o.gi4(),o.gEO())}else if(a instanceof A.r1)h.d.A(0,a.c.gi4()) +h.a7g(a) +for(o=h.a,n=A.a7(o,!0,t.iS),m=n.length,l=0;l")),e),a0=a1 instanceof A.lN +if(a0)a.D(0,g.gi4()) +for(s=g.a,r=null,q=0;q<9;++q){p=B.lT[q] +o=$.ax0() +n=o.k(0,new A.cy(p,B.bc)) +if(n==null)continue +m=B.qW.k(0,s) +if(n.p(0,m==null?new A.k(98784247808+B.d.gt(s)):m))r=p +if(f.k(0,p)===B.co){c.L(0,n) +if(n.jg(0,a.gjl(a)))continue}l=f.k(0,p)==null?A.ay(e):o.k(0,new A.cy(p,f.k(0,p))) +if(l==null)continue +for(o=A.o(l),m=new A.mn(l,l.r,o.h("mn<1>")),m.c=l.e,o=o.c;m.q();){k=m.d +if(k==null)k=o.a(k) +j=$.ax_().k(0,k) +j.toString +d.n(0,k,j)}}i=b.k(0,B.c3)!=null&&!J.e(b.k(0,B.c3),B.ds) +for(e=$.aoV(),e=A.hf(e,e.r);e.q();){a=e.d +h=i&&a.j(0,B.c3) +if(!c.p(0,a)&&!h)b.A(0,a)}b.A(0,B.dL) +b.L(0,d) +if(a0&&r!=null&&!b.a9(0,g.gi4())){e=g.gi4().j(0,B.cC) +if(e)b.n(0,g.gi4(),g.gEO())}}} +A.cy.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.cy&&b.a===this.a&&b.b==this.b}, +gt(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Qi.prototype={} +A.Qh.prototype={} +A.Je.prototype={ +gi4(){var s=this.a,r=B.qW.k(0,s) +return r==null?new A.k(98784247808+B.d.gt(s)):r}, +gEO(){var s,r=this.b,q=B.Hb.k(0,r),p=q==null?null:q[this.c] +if(p!=null)return p +s=B.Ho.k(0,r) +if(s!=null)return s +if(r.length===1)return new A.f(r.toLowerCase().charCodeAt(0)) +return new A.f(B.d.gt(this.a)+98784247808)}, +adB(a){var s,r=this +$label0$0:{if(B.cs===a){s=(r.d&4)!==0 +break $label0$0}if(B.ct===a){s=(r.d&1)!==0 +break $label0$0}if(B.cu===a){s=(r.d&2)!==0 +break $label0$0}if(B.cv===a){s=(r.d&8)!==0 +break $label0$0}if(B.iH===a){s=(r.d&16)!==0 +break $label0$0}if(B.iG===a){s=(r.d&32)!==0 +break $label0$0}if(B.iI===a){s=(r.d&64)!==0 +break $label0$0}if(B.iJ===a||B.qZ===a){s=!1 +break $label0$0}s=null}return s}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.Je&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e}, +gt(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.yH.prototype={ +gafz(){var s=this +if(s.c)return new A.ci(s.a,t.hr) +if(s.b==null){s.b=new A.b1(new A.a8($.ae,t.X6),t.EZ) +s.uK()}return s.b.a}, +uK(){var s=0,r=A.z(t.H),q,p=this,o +var $async$uK=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:s=3 +return A.B(B.iO.x5("get",t.F),$async$uK) +case 3:o=b +if(p.b==null){s=1 +break}p.Lm(o) +case 1:return A.x(q,r)}}) +return A.y($async$uK,r)}, +Lm(a){var s,r=a==null +if(!r){s=J.b5(a,"enabled") +s.toString +A.kt(s)}else s=!1 +this.ace(r?null:t.nc.a(J.b5(a,"data")),s)}, +ace(a,b){var s,r,q=this,p=q.c&&b +q.d=p +if(p)$.bC.p2$.push(new A.a88(q)) +s=q.a +if(b){p=q.a_F(a) +r=t.N +if(p==null){p=t.X +p=A.E(p,p)}r=new A.cV(p,q,null,"root",A.E(r,t.z4),A.E(r,t.I1)) +p=r}else p=null +q.a=p +q.c=!0 +r=q.b +if(r!=null)r.cA(0,p) +q.b=null +if(q.a!=s){q.ae() +if(s!=null)s.l()}}, +B9(a){return this.a4o(a)}, +a4o(a){var s=0,r=A.z(t.H),q=this,p +var $async$B9=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:p=a.a +switch(p){case"push":q.Lm(t.F.a(a.b)) +break +default:throw A.c(A.cc(p+" was invoked but isn't implemented by "+A.t(q).i(0)))}return A.x(null,r)}}) +return A.y($async$B9,r)}, +a_F(a){if(a==null)return null +return t.J1.a(B.ab.eB(A.ey(a.buffer,a.byteOffset,a.byteLength)))}, +TR(a){var s=this +s.r.D(0,a) +if(!s.f){s.f=!0 +$.bC.p2$.push(new A.a89(s))}}, +Jb(){var s,r,q,p,o,n=this +if(!n.f)return +n.f=!1 +for(s=n.r,r=A.dr(s,s.r,A.o(s).c),q=r.$ti.c;r.q();){p=r.d;(p==null?q.a(p):p).w=!1}s.J(0) +o=B.ab.bB(n.a.a) +B.iO.ei("put",A.d2(o.buffer,o.byteOffset,o.byteLength),t.H)}, +Q3(){if($.bC.p4$)return +this.Jb()}} +A.a88.prototype={ +$1(a){this.a.d=!1}, +$S:6} +A.a89.prototype={ +$1(a){return this.a.Jb()}, +$S:6} +A.cV.prototype={ +gpV(){var s=J.DZ(this.a,"c",new A.a85()) +s.toString +return t.F.a(s)}, +gkh(){var s=J.DZ(this.a,"v",new A.a86()) +s.toString +return t.F.a(s)}, +a9i(a,b){var s,r,q,p,o=this,n=o.f +if(n.a9(0,a)||!J.ur(o.gpV(),a)){n=t.N +s=new A.cV(A.E(n,t.X),null,null,a,A.E(n,t.z4),A.E(n,t.I1)) +o.kq(s) +return s}r=t.N +q=o.c +p=J.b5(o.gpV(),a) +p.toString +s=new A.cV(t.F.a(p),q,o,a,A.E(r,t.z4),A.E(r,t.I1)) +n.n(0,a,s) +return s}, +kq(a){var s=this,r=a.d +if(r!==s){if(r!=null)r.vh(a) +a.d=s +s.HQ(a) +if(a.c!=s.c)s.LC(a)}}, +a09(a){this.vh(a) +a.d=null +if(a.c!=null){a.BY(null) +a.NL(this.gLB())}}, +nk(){var s,r=this +if(!r.w){r.w=!0 +s=r.c +if(s!=null)s.TR(r)}}, +LC(a){a.BY(this.c) +a.NL(this.gLB())}, +BY(a){var s=this,r=s.c +if(r==a)return +if(s.w)if(r!=null)r.r.A(0,s) +s.c=a +if(s.w&&a!=null){s.w=!1 +s.nk()}}, +vh(a){var s,r,q,p=this +if(J.e(p.f.A(0,a.e),a)){J.kK(p.gpV(),a.e) +s=p.r +r=s.k(0,a.e) +if(r!=null){q=J.bK(r) +p.Jo(q.fa(r)) +if(q.gM(r))s.A(0,a.e)}if(J.fX(p.gpV()))J.kK(p.a,"c") +p.nk() +return}s=p.r +q=s.k(0,a.e) +if(q!=null)J.kK(q,a) +q=s.k(0,a.e) +q=q==null?null:J.fX(q) +if(q===!0)s.A(0,a.e)}, +HQ(a){var s=this +if(s.f.a9(0,a.e)){J.em(s.r.bk(0,a.e,new A.a84()),a) +s.nk() +return}s.Jo(a) +s.nk()}, +Jo(a){this.f.n(0,a.e,a) +J.fW(this.gpV(),a.e,a.a)}, +NM(a,b){var s=this.f.gaI(0),r=this.r.gaI(0),q=s.DX(0,new A.hO(r,new A.a87(),A.o(r).h("hO"))) +J.mN(b?A.a7(q,!1,A.o(q).h("j.E")):q,a)}, +NL(a){return this.NM(a,!1)}, +afk(a){var s,r=this +if(a===r.e)return +s=r.d +if(s!=null)s.vh(r) +r.e=a +s=r.d +if(s!=null)s.HQ(r)}, +l(){var s,r=this +r.NM(r.ga08(),!0) +r.f.J(0) +r.r.J(0) +s=r.d +if(s!=null)s.vh(r) +r.d=null +r.BY(null)}, +i(a){return"RestorationBucket(restorationId: "+this.e+", owner: null)"}} +A.a85.prototype={ +$0(){var s=t.X +return A.E(s,s)}, +$S:143} +A.a86.prototype={ +$0(){var s=t.X +return A.E(s,s)}, +$S:143} +A.a84.prototype={ +$0(){return A.b([],t.QT)}, +$S:343} +A.a87.prototype={ +$1(a){return a}, +$S:344} +A.n8.prototype={ +F(){return"DeviceOrientation."+this.b}} +A.V1.prototype={} +A.j0.prototype={ +MZ(){var s,r,q,p,o=this,n=o.a +n=n==null?null:n.a +s=o.e +s=s==null?null:s.a +r=o.f.F() +q=o.r.F() +p=o.c +p=p==null?null:p.F() +return A.an(["systemNavigationBarColor",n,"systemNavigationBarDividerColor",null,"systemStatusBarContrastEnforced",o.w,"statusBarColor",s,"statusBarBrightness",r,"statusBarIconBrightness",q,"systemNavigationBarIconBrightness",p,"systemNavigationBarContrastEnforced",o.d],t.N,t.z)}, +i(a){return"SystemUiOverlayStyle("+this.MZ().i(0)+")"}, +gt(a){var s=this +return A.P(s.a,s.b,s.d,s.e,s.f,s.r,s.w,s.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.j0)if(J.e(b.a,r.a))if(J.e(b.e,r.e))if(b.r===r.r)if(b.f===r.f)s=b.c==r.c +return s}} +A.aaG.prototype={ +$0(){if(!J.e($.rA,$.ani)){B.be.ei("SystemChrome.setSystemUIOverlayStyle",$.rA.MZ(),t.H) +$.ani=$.rA}$.rA=null}, +$S:0} +A.KW.prototype={ +F(){return"SystemSoundType."+this.b}} +A.aaU.prototype={ +fc(a){var s +if(a<0)return null +s=this.oV(a).a +return s>=0?s:null}, +fd(a){var s=this.oV(Math.max(0,a)).b +return s>=0?s:null}, +oV(a){var s,r=this.fc(a) +if(r==null)r=-1 +s=this.fd(a) +return new A.cj(r,s==null?-1:s)}} +A.EP.prototype={ +fc(a){var s +if(a<0)return null +s=this.a +return A.anf(s,Math.min(a,s.length)).b}, +fd(a){var s,r=this.a +if(a>=r.length)return null +s=A.anf(r,Math.max(0,a+1)) +return s.b+s.gG(0).length}, +oV(a){var s,r,q,p=this +if(a<0){s=p.fd(a) +return new A.cj(-1,s==null?-1:s)}else{s=p.a +if(a>=s.length){s=p.fc(a) +return new A.cj(s==null?-1:s,-1)}}r=A.anf(s,a) +s=r.b +if(s!==r.c)s=new A.cj(s,s+r.gG(0).length) +else{q=p.fd(a) +s=new A.cj(s,q==null?-1:q)}return s}} +A.a1A.prototype={ +oV(a){var s=this.a,r=Math.max(a,0),q=s.b.E.b.a.c.Gc(new A.ap(r,B.n)) +s=s.a +r=s.a +s=s.b +return A.zN(B.n,B.f.hI(q.a,r,s),B.f.hI(q.b,r,s),!1)}} +A.xM.prototype={ +fc(a){var s,r,q +if(a<0||this.a.length===0)return null +s=this.a +r=s.length +if(a>=r)return r +if(a===0)return 0 +if(a>1&&s.charCodeAt(a)===10&&s.charCodeAt(a-1)===13)q=a-2 +else q=A.ank(s.charCodeAt(a))?a-1:a +for(;q>0;){if(A.ank(s.charCodeAt(q)))return q+1;--q}return Math.max(q,0)}, +fd(a){var s,r=this.a,q=r.length +if(a>=q||q===0)return null +if(a<0)return 0 +for(s=a;!A.ank(r.charCodeAt(s));){++s +if(s===q)return s}return s=s?null:s}} +A.zM.prototype={ +i(a){var s,r,q=this,p=", isDirectional: " +if(!q.gmi())return"TextSelection.invalid" +s=""+q.c +r=""+q.f +return q.a===q.b?"TextSelection.collapsed(offset: "+s+", affinity: "+q.e.i(0)+p+r+")":"TextSelection(baseOffset: "+s+", extentOffset: "+q.d+p+r+")"}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(!(b instanceof A.zM))return!1 +if(!r.gmi())return!b.gmi() +s=!1 +if(b.c===r.c)if(b.d===r.d)s=(r.a!==r.b||b.e===r.e)&&b.f===r.f +return s}, +gt(a){var s,r=this +if(!r.gmi())return A.P(-B.f.gt(1),-B.f.gt(1),A.f8(B.n),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a) +s=r.a===r.b?A.f8(r.e):A.f8(B.n) +return A.P(B.f.gt(r.c),B.f.gt(r.d),s,B.eH.gt(r.f),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.a98.prototype={ +F(){return"SelectionChangedCause."+this.b}} +A.L5.prototype={ +gZH(){var s=this.c +s===$&&A.a() +return s}, +uW(a){return this.a48(a)}, +a48(a){var s=0,r=A.z(t.z),q,p=2,o,n=this,m,l,k,j,i +var $async$uW=A.A(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:p=4 +s=7 +return A.B(n.AS(a),$async$uW) +case 7:k=c +q=k +s=1 +break +p=2 +s=6 +break +case 4:p=3 +i=o +m=A.a9(i) +l=A.aK(i) +k=A.bm("during method call "+a.a) +A.dk(new A.bF(m,l,"services library",k,new A.abp(a),!1)) +throw i +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$uW,r)}, +AS(a){return this.a3h(a)}, +a3h(a){var s=0,r=A.z(t.z),q,p=this,o,n,m,l,k,j +var $async$AS=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)$async$outer:switch(s){case 0:j=a.a +switch(j){case"TextInputClient.focusElement":p.f.k(0,J.b5(t.j.a(a.b),0)) +s=1 +break $async$outer +case"TextInputClient.requestElementsInRect":o=J.pn(t.j.a(a.b),t.Jy) +n=o.$ti.h("aw") +m=p.f +l=A.o(m).h("aZ<1>") +k=l.h("dZ>") +q=A.a7(new A.dZ(new A.aF(new A.aZ(m,l),new A.abm(p,A.a7(new A.aw(o,new A.abn(),n),!0,n.h("aD.E"))),l.h("aF")),new A.abo(p),k),!0,k.h("j.E")) +s=1 +break $async$outer +case"TextInputClient.scribbleInteractionBegan":s=1 +break $async$outer +case"TextInputClient.scribbleInteractionFinished":s=1 +break $async$outer}s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$AS,r)}} +A.abp.prototype={ +$0(){var s=null +return A.b([A.ix("call",this.a,!0,B.aR,s,s,s,B.ar,!1,!0,!0,B.ba,s)],t.E)}, +$S:22} +A.abn.prototype={ +$1(a){return a}, +$S:345} +A.abm.prototype={ +$1(a){this.a.f.k(0,a) +return!1}, +$S:29} +A.abo.prototype={ +$1(a){var s=this.a.f.k(0,a),r=s.gqv(s) +s=[a] +B.b.L(s,[r.gdY(r),r.gFP(r),r.gbb(r),r.gaH(r)]) +return s}, +$S:346} +A.zK.prototype={} +A.Py.prototype={} +A.Tj.prototype={} +A.a_O.prototype={ +$2(a,b){return new A.qR(b,B.Kp,B.vL,null)}, +$S:347} +A.a_P.prototype={ +$1(a){return A.aC1(this.a,a)}, +$S:348} +A.a_N.prototype={ +$1(a){var s=this.a +s.c.$1(s.a)}, +$S:21} +A.p_.prototype={ +un(){var s=0,r=A.z(t.H),q=this +var $async$un=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:s=2 +return A.B(B.qY.dv("create",A.an(["id",q.a,"viewType",q.b,"params",q.c],t.N,t.z),!1,t.H),$async$un) +case 2:q.d=!0 +return A.x(null,r)}}) +return A.y($async$un,r)}, +CL(){var s=0,r=A.z(t.H) +var $async$CL=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:return A.x(null,r)}}) +return A.y($async$CL,r)}, +Ds(a){return this.aaL(a)}, +aaL(a){var s=0,r=A.z(t.H) +var $async$Ds=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:return A.x(null,r)}}) +return A.y($async$Ds,r)}, +l(){var s=0,r=A.z(t.H),q=this +var $async$l=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:s=q.d?2:3 +break +case 2:s=4 +return A.B(B.qY.dv("dispose",q.a,!1,t.H),$async$l) +case 4:case 3:return A.x(null,r)}}) +return A.y($async$l,r)}} +A.ak_.prototype={ +$1(a){this.a.scr(a) +return!1}, +$S:31} +A.aQ.prototype={} +A.bp.prototype={ +ex(a){this.b=a}, +jA(a,b){this.gom() +return!0}, +uU(a,b){var s=this +if(A.o(s).h("fs").b(s))return s.jB(0,a,b) +return s.jA(0,a)}, +gom(){return!0}, +nL(a){return!0}, +FM(a,b){return this.nL(a)?B.de:B.eI}, +pG(a,b){var s=this +if(A.o(s).h("fs").b(s))return s.hm(a,b) +return s.eG(a)}, +Ci(a){var s=this.a +s.b=!0 +s.a.push(a) +return null}, +xX(a){return this.a.A(0,a)}} +A.fs.prototype={ +jB(a,b,c){this.UL(0,b) +return!0}, +jA(a,b){return this.jB(0,b,null)}} +A.kU.prototype={ +eG(a){return this.c.$1(a)}} +A.UM.prototype={ +adl(a,b,c){if(a.uU(b,c))return new A.au(!0,a.pG(b,c)) +return B.Jh}} +A.jl.prototype={ +ai(){return new A.Ac(A.ay(t.od),new A.J())}} +A.UN.prototype={ +$1(a){var s=a.e +s.toString +t.L1.a(s) +return!1}, +$S:53} +A.UQ.prototype={ +$1(a){var s,r=this,q=a.e +q.toString +s=A.alB(t.L1.a(q),r.b,r.d) +if(s!=null){r.c.z3(a,null) +r.a.a=s +return!0}return!1}, +$S:53} +A.UO.prototype={ +$1(a){var s,r=a.e +r.toString +s=A.alB(t.L1.a(r),this.b,this.c) +if(s!=null){this.a.a=s +return!0}return!1}, +$S:53} +A.UR.prototype={ +$1(a){var s,r,q=this,p=a.e +p.toString +s=q.b +r=A.alB(t.L1.a(p),s,q.d) +p=r!=null +if(p&&r.uU(s,q.c)){A.apv(a) +q.a.a=r.pG(s,q.c)}return p}, +$S:53} +A.Ac.prototype={ +an(){this.aJ() +this.N6()}, +a1n(a){this.ah(new A.act(this))}, +N6(){var s,r,q=this,p=q.a.d.gaI(0),o=A.ew(p,A.o(p).h("j.E")),n=q.d.hM(o) +p=q.d +p.toString +s=o.hM(p) +for(p=n.ga0(n),r=q.gK3();p.q();)p.gG(p).xX(r) +for(p=s.ga0(s);p.q();)p.gG(p).Ci(r) +q.d=o}, +aG(a){this.b0(a) +this.N6()}, +l(){var s,r,q,p,o=this +o.aB() +for(s=o.d,s=A.dr(s,s.r,A.o(s).c),r=o.gK3(),q=s.$ti.c;s.q();){p=s.d;(p==null?q.a(p):p).xX(r)}o.d=null}, +K(a){var s=this.a +return new A.Ab(null,s.d,this.e,s.e,null)}} +A.act.prototype={ +$0(){this.a.e=new A.J()}, +$S:0} +A.Ab.prototype={ +bT(a){var s +if(this.w===a.w)s=!A.Ug(a.r,this.r) +else s=!0 +return s}} +A.no.prototype={ +ai(){return new A.AS(new A.bv(null,t.A))}} +A.AS.prototype={ +an(){this.aJ() +$.bC.p2$.push(new A.af0(this)) +$.ai.ag$.d.a.f.D(0,this.gKe())}, +l(){$.ai.ag$.d.a.f.A(0,this.gKe()) +this.aB()}, +No(a){this.v2(new A.aeZ(this))}, +a2c(a){if(this.c==null)return +this.No(a)}, +YM(a){if(!this.e)this.v2(new A.aeU(this))}, +YO(a){if(this.e)this.v2(new A.aeV(this))}, +YK(a){var s,r=this +if(r.f!==a){r.v2(new A.aeT(r,a)) +s=r.a.Q +if(s!=null)s.$1(r.f)}}, +L0(a,b){var s,r,q,p,o,n,m=this,l=new A.aeY(m),k=new A.aeX(m,new A.aeW(m)) +if(a==null){s=m.a +s.toString +r=s}else r=a +q=l.$1(r) +p=k.$1(r) +if(b!=null)b.$0() +s=m.a +s.toString +o=l.$1(s) +s=m.a +s.toString +n=k.$1(s) +if(p!==n)m.a.y.$1(n) +if(q!==o)m.a.z.$1(o)}, +v2(a){return this.L0(null,a)}, +a4e(a){return this.L0(a,null)}, +aG(a){this.b0(a) +if(this.a.c!==a.c)$.bC.p2$.push(new A.af_(this,a))}, +gYI(){var s,r=this.c +r.toString +r=A.d9(r,B.fP) +s=r==null?null:r.ch +$label0$0:{if(B.dI===s||s==null){r=this.a.c +break $label0$0}if(B.fa===s){r=!0 +break $label0$0}r=null}return r}, +K(a){var s,r,q,p=this,o=null,n=p.a,m=n.as +n=n.d +s=p.gYI() +r=p.a +q=A.HT(A.q8(!1,s,r.ax,o,!0,!0,n,!0,o,p.gYJ(),o,o,o,o),m,p.r,p.gYL(),p.gYN(),o) +if(r.c)n=r.w.a!==0 +else n=!1 +if(n)q=A.E4(r.w,q) +return q}} +A.af0.prototype={ +$1(a){var s=$.ai.ag$.d.a.b +if(s==null)s=A.tn() +this.a.No(s)}, +$S:6} +A.aeZ.prototype={ +$0(){var s=$.ai.ag$.d.a.b +switch((s==null?A.tn():s).a){case 0:s=!1 +break +case 1:s=!0 +break +default:s=null}this.a.d=s}, +$S:0} +A.aeU.prototype={ +$0(){this.a.e=!0}, +$S:0} +A.aeV.prototype={ +$0(){this.a.e=!1}, +$S:0} +A.aeT.prototype={ +$0(){this.a.f=this.b}, +$S:0} +A.aeY.prototype={ +$1(a){var s=this.a +return s.e&&a.c&&s.d}, +$S:89} +A.aeW.prototype={ +$1(a){var s,r=this.a.c +r.toString +r=A.d9(r,B.fP) +s=r==null?null:r.ch +$label0$0:{if(B.dI===s||s==null){r=a.c +break $label0$0}if(B.fa===s){r=!0 +break $label0$0}r=null}return r}, +$S:89} +A.aeX.prototype={ +$1(a){var s=this.a +return s.f&&s.d&&this.b.$1(a)}, +$S:89} +A.af_.prototype={ +$1(a){this.a.a4e(this.b)}, +$S:6} +A.LF.prototype={ +eG(a){a.agL() +return null}} +A.FQ.prototype={ +nL(a){return this.c}, +eG(a){}} +A.ps.prototype={} +A.pE.prototype={} +A.iy.prototype={} +A.FM.prototype={} +A.jY.prototype={} +A.J8.prototype={ +jB(a,b,c){var s,r,q,p,o,n=$.ai.ag$.d.c +if(n==null||n.e==null)return!1 +for(s=t.v,r=0;r<2;++r){q=B.DY[r] +p=n.e +p.toString +o=A.alD(p,q,s) +if(o!=null&&o.uU(q,c)){this.e=o +this.f=q +return!0}}return!1}, +jA(a,b){return this.jB(0,b,null)}, +hm(a,b){var s,r=this.e +r===$&&A.a() +s=this.f +s===$&&A.a() +r.pG(s,b)}, +eG(a){return this.hm(a,null)}} +A.Pr.prototype={ +KO(a,b,c){var s +a.ex(this.glV()) +s=a.pG(b,c) +a.ex(null) +return s}, +hm(a,b){var s=this,r=A.alC(s.gxf(),A.o(s).c) +return r==null?s.adn(a,s.b,b):s.KO(r,a,b)}, +eG(a){return this.hm(a,null)}, +gom(){var s=this,r=A.alD(s.gxf(),null,A.o(s).c) +if(r!=null){r.ex(s.glV()) +r.gom() +r.ex(null)}else s.glV().gom() +return!0}, +jB(a,b,c){var s,r=this,q=A.alC(r.gxf(),A.o(r).c),p=q==null +if(!p)q.ex(r.glV()) +s=(p?r.glV():q).uU(b,c) +if(!p)q.ex(null) +return s}, +jA(a,b){return this.jB(0,b,null)}, +nL(a){var s,r=this,q=A.alC(r.gxf(),A.o(r).c),p=q==null +if(!p)q.ex(r.glV()) +s=(p?r.glV():q).nL(a) +if(!p)q.ex(null) +return s}} +A.Bv.prototype={ +KO(a,b,c){var s +c.toString +a.ex(new A.Av(c,this.e,new A.bh(A.b([],t.ot),t.wS),this.$ti.h("Av<1>"))) +s=a.pG(b,c) +a.ex(null) +return s}, +adn(a,b,c){var s=this.e +if(b==null)return s.hm(a,c) +else return s.hm(a,c)}, +glV(){return this.e}, +gxf(){return this.f}} +A.Av.prototype={ +ex(a){this.d.ex(a)}, +jA(a,b){return this.d.jB(0,b,this.c)}, +gom(){this.d.gom() +return!0}, +nL(a){return this.d.nL(a)}, +Ci(a){var s +this.UK(a) +s=this.d.a +s.b=!0 +s.a.push(a)}, +xX(a){this.UM(a) +this.d.a.A(0,a)}, +eG(a){return this.d.hm(a,this.c)}} +A.LU.prototype={} +A.LS.prototype={} +A.Ou.prototype={} +A.De.prototype={ +ex(a){this.UJ(a) +this.e.ex(a)}} +A.uB.prototype={ +av(a){var s=new A.yi(this.e,!0,A.aj(),null,new A.aN(),A.aj(),this.$ti.h("yi<1>")) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sm(0,this.e) +b.sUs(!0)}} +A.A7.prototype={ +ai(){return new A.CW()}} +A.CW.prototype={ +ga3H(){$.ai.toString +var s=$.az() +if(s.gDc()!=="/"){$.ai.toString +s=s.gDc()}else{this.a.toString +$.ai.toString +s=s.gDc()}return s}, +a_J(a){switch(this.d){case null:case void 0:case B.ch:case B.cR:return!0 +case B.b6:case B.ec:case B.h3:A.anj(a.a) +return!0}}, +qR(a){this.d=a +this.WP(a)}, +an(){var s=this +s.aJ() +s.a7R() +$.ai.toString +s.w=s.LV($.az().c.f,s.a.go) +$.ai.cd$.push(s) +s.d=$.ai.go$}, +aG(a){this.b0(a) +this.Nv(a)}, +l(){$.ai.tg(this) +var s=this.e +if(s!=null)s.l() +this.aB()}, +IA(){var s=this.e +if(s!=null)s.l() +this.f=this.e=null}, +Nv(a){var s,r=this +r.a.toString +if(r.gNJ()){r.IA() +s=r.r==null +if(!s){r.a.toString +a.toString}if(s){s=r.a.c +r.r=new A.nu(r,t.TX)}}else{r.IA() +r.r=null}}, +a7R(){return this.Nv(null)}, +gNJ(){var s=this.a +if(s.Q==null){s=s.as +s=s==null?null:s.gbd(s) +s=s===!0 +if(!s)this.a.toString}else s=!0 +return s}, +a4H(a){var s=this,r=a.a,q=r==="/"&&s.a.Q!=null?new A.aji(s):s.a.as.k(0,r) +if(q!=null)return s.a.f.$1$2(a,q,t.z) +s.a.toString +return null}, +a4Y(a){return this.a.at.$1(a)}, +wm(){var s=0,r=A.z(t.y),q,p=this,o,n +var $async$wm=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p.a.toString +o=p.r +n=o==null?null:o.gbv() +if(n==null){q=!1 +s=1 +break}q=n.Rf() +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$wm,r)}, +qU(a){return this.aaD(a)}, +aaD(a){var s=0,r=A.z(t.y),q,p=this,o,n,m,l +var $async$qU=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:p.a.toString +o=p.r +n=o==null?null:o.gbv() +if(n==null){q=!1 +s=1 +break}m=a.goP() +o=m.gf6(m).length===0?"/":m.gf6(m) +l=m.gms() +l=l.gM(l)?null:m.gms() +o=A.aj4(m.gkN().length===0?null:m.gkN(),o,l).gq4() +o=n.Bz(A.tY(o,0,o.length,B.a3,!1),null,t.X) +o.toString +n.mq(o) +q=!0 +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$qU,r)}, +LV(a,b){this.a.toString +return A.aIG(a,b)}, +Pj(a){var s=this,r=s.LV(a,s.a.go) +if(!r.j(0,s.w))s.ah(new A.ajk(s,r))}, +K(a){var s,r,q,p,o,n,m,l,k,j,i=this,h=null,g={} +g.a=null +s=i.a +s.toString +if(i.gNJ()){s=i.r +r=i.ga3H() +q=i.a +p=q.ch +p.toString +g.a=A.aBI(!0,new A.xy(r,i.ga4G(),i.ga4X(),p,"nav",B.Rf,A.aK8(),!0,B.A,s),"Navigator Scope",!0,h,h,h,h) +s=q}else{s=i.a +s.toString}g.b=null +o=new A.fp(new A.ajj(g,i),h) +g.b=o +g.b=A.n7(o,h,B.c8,!0,s.db,h,h,B.aC) +r=s.dx +r=A.Z(255,r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255) +g=g.b +q=i.a +q.toString +p=i.w +p.toString +n=A.aFx() +m=A.lv($.axu(),t.u,t.od) +l=t.ot +k=t.wS +m.n(0,B.xp,new A.Bv(new A.rg(new A.bh(A.b([],l),k)),a,!1,!1,!1,!1,new A.bh(A.b([],l),k),t.x5.h("Bv"))) +l=A.a76() +k=t.a9 +j=A.b([],k) +B.b.L(j,i.a.fr) +j.push(B.zF) +k=A.b(j.slice(0),k) +return new A.yK(new A.zg(new A.cL(i.ga_I(),A.an5(new A.FC(A.E4(m,A.amf(new A.L_(new A.zh(new A.x4(p,k,new A.Lg(s.cx,r,g,h),h),h),h),l)),h),"",n),h,t.w3),h),q.p2,h)}} +A.aji.prototype={ +$1(a){var s=this.a.a.Q +s.toString +return s}, +$S:36} +A.ajk.prototype={ +$0(){this.a.w=this.b}, +$S:0} +A.ajj.prototype={ +$1(a){return this.b.a.CW.$2(a,this.a.a)}, +$S:36} +A.U0.prototype={} +A.vg.prototype={ +F(){return"ConnectionState."+this.b}} +A.h0.prototype={ +i(a){var s=this +return"AsyncSnapshot("+s.a.i(0)+", "+A.h(s.b)+", "+A.h(s.c)+", "+A.h(s.d)+")"}, +j(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return s.$ti.b(b)&&b.a===s.a&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&b.d==s.d}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.qd.prototype={ +ai(){return new A.AU(this.$ti.h("AU<1>"))}} +A.AU.prototype={ +an(){var s=this +s.aJ() +s.a.toString +s.e=new A.h0(B.l4,null,null,null,s.$ti.h("h0<1>")) +s.Ic()}, +aG(a){var s,r=this +r.b0(a) +if(a.c===r.a.c)return +if(r.d!=null){r.d=null +s=r.e +s===$&&A.a() +r.e=new A.h0(B.l4,s.b,s.c,s.d,s.$ti)}r.Ic()}, +K(a){var s,r=this.a +r.toString +s=this.e +s===$&&A.a() +return r.d.$2(a,s)}, +l(){this.d=null +this.aB()}, +Ic(){var s,r=this,q=r.a +q.toString +s=r.d=new A.J() +q.c.en(0,new A.af6(r,s),new A.af7(r,s),t.H) +q=r.e +q===$&&A.a() +if(q.a!==B.hI)r.e=new A.h0(B.AX,q.b,q.c,q.d,q.$ti)}} +A.af6.prototype={ +$1(a){var s=this.a +if(s.d===this.b)s.ah(new A.af5(s,a))}, +$S(){return this.a.$ti.h("aT(1)")}} +A.af5.prototype={ +$0(){var s=this.a +s.e=new A.h0(B.hI,this.b,null,null,s.$ti.h("h0<1>"))}, +$S:0} +A.af7.prototype={ +$2(a,b){var s=this.a +if(s.d===this.b)s.ah(new A.af4(s,a,b))}, +$S:38} +A.af4.prototype={ +$0(){var s=this.a +s.e=new A.h0(B.hI,null,this.b,this.c,s.$ti.h("h0<1>"))}, +$S:0} +A.pz.prototype={ +ai(){return new A.Ah()}} +A.Ah.prototype={ +an(){this.aJ() +this.Nc()}, +aG(a){this.b0(a) +this.Nc()}, +Nc(){this.e=new A.cL(this.gYS(),this.a.c,null,t.Jc)}, +l(){var s,r,q=this.d +if(q!=null)for(q=A.hf(q,q.r);q.q();){s=q.d +r=this.d.k(0,s) +r.toString +s.H(0,r)}this.aB()}, +YT(a){var s,r=this,q=a.a,p=r.d +if(p==null)p=r.d=A.E(t.I_,t.M) +p.n(0,q,r.a_s(q)) +p=r.d.k(0,q) +p.toString +q.Y(0,p) +if(!r.f){r.f=!0 +s=r.JG() +if(s!=null)r.Nr(s) +else $.bC.p2$.push(new A.acL(r))}return!1}, +JG(){var s={},r=this.c +r.toString +s.a=null +r.bo(new A.acQ(s)) +return t.xO.a(s.a)}, +Nr(a){var s,r +this.c.toString +s=this.f +r=this.e +r===$&&A.a() +a.I8(t.Fw.a(A.aCi(r,s)))}, +a_s(a){var s=A.bk("callback"),r=new A.acP(this,a,s) +s.scr(r) +return r}, +K(a){var s=this.f,r=this.e +r===$&&A.a() +return new A.wU(s,r,null)}} +A.acL.prototype={ +$1(a){var s,r=this.a +if(r.c==null)return +s=r.JG() +s.toString +r.Nr(s)}, +$S:6} +A.acQ.prototype={ +$1(a){this.a.a=a}, +$S:9} +A.acP.prototype={ +$0(){var s=this.a,r=this.b +s.d.A(0,r) +r.H(0,this.c.aP()) +if(s.d.a===0)if($.bC.R8$.a<3)s.ah(new A.acN(s)) +else{s.f=!1 +A.e6(new A.acO(s))}}, +$S:0} +A.acN.prototype={ +$0(){this.a.f=!1}, +$S:0} +A.acO.prototype={ +$0(){var s=this.a +if(s.c!=null&&s.d.a===0)s.ah(new A.acM())}, +$S:0} +A.acM.prototype={ +$0(){}, +$S:0} +A.qw.prototype={} +A.Hc.prototype={} +A.mR.prototype={ +pv(){var s=new A.Hc($.aM()) +this.fC$=s +this.c.cC(new A.qw(s))}, +oO(){var s,r=this +if(r.goR()){if(r.fC$==null)r.pv()}else{s=r.fC$ +if(s!=null){s.ae() +s.dt() +r.fC$=null}}}, +K(a){if(this.goR()&&this.fC$==null)this.pv() +return B.Tp}} +A.Pf.prototype={ +K(a){throw A.c(A.jx("Widgets that mix AutomaticKeepAliveClientMixin into their State must call super.build() but must ignore the return value of the superclass."))}} +A.SJ.prototype={ +Gx(a,b){}, +ou(a){A.atO(this,new A.aj0(this,a))}} +A.aj0.prototype={ +$1(a){var s=a.z +if(s!=null&&s.p(0,this.a))a.bi()}, +$S:9} +A.aj_.prototype={ +$1(a){A.atO(a,this.a)}, +$S:9} +A.SK.prototype={ +bh(a){return new A.SJ(A.fx(null,null,null,t.Y,t.X),this,B.a1)}} +A.h5.prototype={ +bT(a){return this.w!==a.w}} +A.Ie.prototype={ +av(a){var s=this.e +s=new A.Jx(B.c.a2(A.N(s,0,1)*255),s,!1,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sdk(0,this.e) +b.svR(!1)}} +A.vr.prototype={ +av(a){var s=new A.ym(this.e,this.f,this.r,!1,!1,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sxD(this.e) +b.sQ9(this.f) +b.smo(this.r) +b.cF=b.bM=!1}, +qW(a){a.sxD(null) +a.sQ9(null)}} +A.pM.prototype={ +av(a){var s=new A.Jq(this.e,this.f,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sqy(this.e) +b.snI(this.f)}, +qW(a){a.sqy(null)}} +A.F1.prototype={ +av(a){var s=new A.Jp(this.e,this.f,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sqy(this.e) +b.snI(this.f)}, +qW(a){a.sqy(null)}} +A.IQ.prototype={ +av(a){var s=this,r=new A.Jy(s.e,s.r,s.w,s.y,s.x,null,s.f,null,new A.aN(),A.aj()) +r.aw() +r.saK(null) +return r}, +aC(a,b){var s=this +b.sbq(0,s.e) +b.snI(s.f) +b.sa8U(0,s.r) +b.scv(0,s.w) +b.sab(0,s.x) +b.sbU(0,s.y)}} +A.IR.prototype={ +av(a){var s=this,r=new A.Jz(s.r,s.x,s.w,s.e,s.f,null,new A.aN(),A.aj()) +r.aw() +r.saK(null) +return r}, +aC(a,b){var s=this +b.sqy(s.e) +b.snI(s.f) +b.scv(0,s.r) +b.sab(0,s.w) +b.sbU(0,s.x)}} +A.Lk.prototype={ +av(a){var s=this,r=A.dX(a),q=new A.JJ(s.w,null,new A.aN(),A.aj()) +q.aw() +q.saK(null) +q.sbE(0,s.e) +q.sfq(s.r) +q.sbS(r) +q.skL(s.x) +q.sRu(0,null) +return q}, +aC(a,b){var s=this +b.sbE(0,s.e) +b.sRu(0,null) +b.sfq(s.r) +b.sbS(A.dX(a)) +b.bM=s.w +b.skL(s.x)}} +A.Gm.prototype={ +av(a){var s=new A.yp(this.e,B.a2,A.dX(a),B.A,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sDW(this.e) +b.sfq(B.a2) +b.sbS(A.dX(a)) +if(B.A!==b.cV){b.cV=B.A +b.ao() +b.b1()}}} +A.Gy.prototype={ +av(a){var s=new A.Jt(this.e,this.f,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.safY(this.e) +b.a_=this.f}} +A.cf.prototype={ +av(a){var s=new A.yw(this.e,A.dX(a),null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sc6(0,this.e) +b.sbS(A.dX(a))}} +A.fl.prototype={ +av(a){var s=new A.yx(this.f,this.r,this.e,A.dX(a),null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sfq(this.e) +b.sagc(this.f) +b.sacF(this.r) +b.sbS(A.dX(a))}} +A.kY.prototype={} +A.l4.prototype={ +av(a){var s=new A.yn(this.e,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sDe(this.e)}} +A.wY.prototype={ +qm(a){var s,r,q=a.b +q.toString +t.Wz.a(q) +s=this.f +if(q.e!==s){q.e=s +r=a.d +if(r instanceof A.G)r.a6()}}} +A.vq.prototype={ +av(a){var s=new A.yl(this.e,0,null,null,new A.aN(),A.aj()) +s.aw() +s.L(0,null) +return s}, +aC(a,b){b.sDe(this.e)}} +A.m0.prototype={ +av(a){return A.ase(A.eo(this.f,this.e))}, +aC(a,b){b.sO5(A.eo(this.f,this.e))}, +cg(){var s,r,q,p,o=this.e,n=this.f +$label0$0:{s=1/0===o +if(s){r=1/0===n +q=n}else{q=null +r=!1}if(r){r="SizedBox.expand" +break $label0$0}if(0===o)r=0===(s?q:n) +else r=!1 +if(r){r="SizedBox.shrink" +break $label0$0}r="SizedBox" +break $label0$0}p=this.a +return p==null?r:r+"-"+p.i(0)}} +A.h2.prototype={ +av(a){return A.ase(this.e)}, +aC(a,b){b.sO5(this.e)}} +A.Hp.prototype={ +av(a){var s=new A.Jv(this.e,this.f,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.srU(0,this.e) +b.sER(0,this.f)}} +A.xF.prototype={ +av(a){var s=new A.yv(this.e,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sxs(this.e)}, +bh(a){return new A.Pl(this,B.a1)}} +A.Pl.prototype={} +A.px.prototype={ +av(a){var s=new A.yj(this.e,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sCx(0,this.e)}} +A.H5.prototype={ +av(a){var s=null,r=this.e +if(r===0)r=s +r=new A.ys(r,s,s,new A.aN(),A.aj()) +r.aw() +r.saK(s) +return r}, +aC(a,b){var s=this.e +b.sUF(s===0?null:s) +b.sUE(null)}} +A.KG.prototype={ +av(a){var s=a.a7(t.I) +s.toString +s=new A.JH(this.e,s.w,null,A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){var s +b.sc6(0,this.e) +s=a.a7(t.I) +s.toString +b.sbS(s.w)}} +A.Hq.prototype={ +av(a){var s=new A.yt(A.akI(a,B.aw,!1),0,null,null,new A.aN(),A.aj()) +s.aw() +s.L(0,null) +return s}, +aC(a,b){b.sez(A.akI(a,B.aw,!1))}} +A.zu.prototype={ +av(a){var s=A.dX(a) +s=new A.yB(this.e,s,this.r,B.Z,A.aj(),0,null,null,new A.aN(),A.aj()) +s.aw() +s.L(0,null) +return s}, +aC(a,b){var s +b.sfq(this.e) +s=A.dX(a) +b.sbS(s) +s=this.r +if(b.aq!==s){b.aq=s +b.a6()}if(B.Z!==b.S){b.S=B.Z +b.ao() +b.b1()}}} +A.lL.prototype={ +qm(a){var s,r,q,p=this,o=a.b +o.toString +t.B.a(o) +s=p.f +r=o.w!=s +if(r)o.w=s +s=p.r +if(o.e!=s){o.e=s +r=!0}s=p.w +if(o.f!=s){o.f=s +r=!0}s=p.x +if(o.r!=s){o.r=s +r=!0}s=p.y +if(o.x!=s){o.x=s +r=!0}if(r){q=a.d +if(q instanceof A.G)q.a6()}}} +A.J1.prototype={ +K(a){var s=this,r=a.a7(t.I) +r.toString +return A.aDz(s.f,s.x,null,null,s.c,r.w,s.d,s.r)}} +A.wg.prototype={ +ga4y(){switch(this.e.a){case 0:return!0 +case 1:var s=this.w +return s===B.bM||s===B.d6}}, +yn(a){var s=this.x +s=this.ga4y()?A.dX(a):null +return s}, +av(a){var s=this +return A.aDX(B.A,s.w,s.e,s.f,s.r,s.z,s.yn(a),s.y)}, +aC(a,b){var s=this,r=s.e +if(b.E!==r){b.E=r +b.a6()}r=s.f +if(b.Z!==r){b.Z=r +b.a6()}r=s.r +if(b.a3!==r){b.a3=r +b.a6()}r=s.w +if(b.al!==r){b.al=r +b.a6()}r=s.yn(a) +if(b.aq!=r){b.aq=r +b.a6()}r=s.y +if(b.S!==r){b.S=r +b.a6()}if(B.A!==b.ar){b.ar=B.A +b.ao() +b.b1()}}} +A.yM.prototype={} +A.Fa.prototype={} +A.Gp.prototype={ +qm(a){var s,r,q,p=a.b +p.toString +t.US.a(p) +s=this.f +r=p.e!==s +if(r)p.e=s +s=this.r +if(p.f!==s){p.f=s +r=!0}if(r){q=a.d +if(q instanceof A.G)q.a6()}}} +A.w7.prototype={} +A.LM.prototype={ +av(a){var s=A.dX(a) +s=new A.yD(B.aH,B.cd,0,B.cd,0,B.jN,s,B.cc,B.A,A.aj(),0,null,null,new A.aN(),A.aj()) +s.aw() +s.L(0,null) +return s}, +aC(a,b){var s +b.swp(0,B.aH) +b.sfq(B.cd) +b.sUz(0,0) +b.safB(B.cd) +b.safF(0) +b.saah(B.jN) +s=A.dX(a) +if(b.O!=s){b.O=s +b.a6()}if(b.af!==B.cc){b.af=B.cc +b.a6()}if(B.A!==b.ar){b.ar=B.A +b.ao() +b.b1()}}} +A.JM.prototype={ +av(a){var s,r,q,p,o=this,n=null,m=o.r +if(m==null){m=a.a7(t.I) +m.toString +m=m.w}s=o.x +r=o.y +q=A.amE(a) +if(r.j(0,B.ag))r=new A.ig(1) +p=s===B.aW?"\u2026":n +s=new A.lO(A.abr(p,q,o.z,o.as,o.e,o.f,m,o.ax,r,o.at),o.w,s,o.ch,!1,0,n,n,new A.aN(),A.aj()) +s.aw() +s.L(0,n) +s.smu(o.ay) +return s}, +aC(a,b){var s,r=this +b.soJ(0,r.e) +b.sy5(0,r.f) +s=r.r +if(s==null){s=a.a7(t.I) +s.toString +s=s.w}b.sbS(s) +b.sUu(r.w) +b.saeE(0,r.x) +b.sdl(r.y) +b.sxl(r.z) +b.syV(r.as) +b.sy7(r.at) +b.sy6(r.ax) +s=A.amE(a) +b.sxe(0,s) +b.smu(r.ay) +b.sTY(r.ch)}} +A.Jd.prototype={ +av(a){var s=this,r=s.d +r=r==null?null:r.d5(0) +r=new A.yr(r,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.CW,!1,null,!1,new A.aN(),A.aj()) +r.aw() +r.a7F() +return r}, +aC(a,b){var s=this,r=s.d +b.seE(0,r==null?null:r.d5(0)) +b.al=s.e +b.sbb(0,s.f) +b.saH(0,s.r) +b.sTN(0,s.w) +b.sab(0,s.x) +b.sdk(0,s.y) +b.sa9t(s.Q) +b.sDW(s.as) +b.sfq(s.at) +b.safp(0,s.ax) +b.sa99(s.ay) +b.sae3(!1) +b.sbS(null) +b.sx4(s.CW) +b.sx6(!1) +b.skL(s.z)}, +qW(a){a.seE(0,null)}} +A.Hu.prototype={ +av(a){var s=this,r=null,q=new A.JA(s.e,r,s.r,r,s.x,s.y,r,r,s.as,s.at,r,new A.aN(),A.aj()) +q.aw() +q.saK(r) +return q}, +aC(a,b){var s=this +b.ca=s.e +b.eX=null +b.cT=s.r +b.cU=null +b.cD=s.x +b.fB=s.y +b.cE=b.hQ=null +b.aX=s.as +b.B=s.at}} +A.xn.prototype={ +av(a){var s=this +return A.aE_(s.w,null,s.e,s.r,s.f,!0)}, +aC(a,b){var s,r=this +b.eX=r.e +b.cT=r.f +b.cU=r.r +s=r.w +if(!b.cD.j(0,s)){b.cD=s +b.ao()}if(b.B!==B.ae){b.B=B.ae +b.ao()}}} +A.i0.prototype={ +av(a){var s=new A.JD(null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}} +A.qi.prototype={ +av(a){var s=new A.yq(this.e,null,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sQB(this.e) +b.sEs(null)}} +A.E0.prototype={ +av(a){var s=new A.yg(!1,null,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sNT(!1) +b.sEs(null)}} +A.zb.prototype={ +av(a){var s=this,r=new A.yz(s.e,s.f,s.r,!1,!1,s.JZ(a),null,new A.aN(),A.aj()) +r.aw() +r.saK(null) +r.N8(r.B) +return r}, +JZ(a){var s,r=this.e,q=r.rx +if(q!=null)return q +s=!0 +if(r.go==null){if(r.k1==null)r=r.p4!=null +else r=s +s=r}if(!s)return null +return A.dX(a)}, +aC(a,b){var s=this +b.sa9H(s.f) +b.sabf(s.r) +b.sabb(!1) +b.sa8S(!1) +b.sRH(s.e) +b.sbS(s.JZ(a))}} +A.xk.prototype={ +av(a){var s=new A.Jw(null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}} +A.Es.prototype={ +av(a){var s=new A.Jo(!0,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sa8T(!0)}} +A.w4.prototype={ +av(a){var s=new A.Js(this.e,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sabc(this.e)}} +A.wH.prototype={ +av(a){var s=new A.Ju(this.e,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.sacW(0,this.e)}} +A.iI.prototype={ +K(a){return this.c}} +A.fp.prototype={ +K(a){return this.c.$1(a)}} +A.ve.prototype={ +av(a){var s=new A.BM(this.e,B.ae,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){t.rj.a(b).sab(0,this.e)}} +A.BM.prototype={ +sab(a,b){if(b.j(0,this.ca))return +this.ca=b +this.ao()}, +aE(a,b){var s,r,q,p,o=this,n=o.gv(0) +if(n.a>0&&n.b>0){n=a.gbP(0) +s=o.gv(0) +r=b.a +q=b.b +p=$.am().b8() +p.sab(0,o.ca) +n.cS(new A.D(r,q,r+s.a,q+s.b),p)}n=o.C$ +if(n!=null)a.fK(n,b)}} +A.ajm.prototype={ +$1(a){var s=a==null?t.K.a(a):a +return this.a.kQ(s)}, +$S:149} +A.ajn.prototype={ +$1(a){var s=a==null?t.K.a(a):a +return this.a.AG(s)}, +$S:149} +A.e4.prototype={ +wm(){return A.cm(!1,t.y)}, +qU(a){var s=a.goP(),r=s.gf6(s).length===0?"/":s.gf6(s),q=s.gms() +q=q.gM(q)?null:s.gms() +r=A.aj4(s.gkN().length===0?null:s.gkN(),r,q).gq4() +A.tY(r,0,r.length,B.a3,!1) +return A.cm(!1,t.y)}, +Pk(){}, +Pm(){}, +Pl(){}, +Pj(a){}, +qR(a){}, +Pn(a){}, +Dm(){var s=0,r=A.z(t.s1),q +var $async$Dm=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:q=B.k4 +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$Dm,r)}} +A.LJ.prototype={ +tg(a){if(a===this.dW$)this.dW$=null +return B.b.A(this.cd$,a)}, +wR(){var s=0,r=A.z(t.s1),q,p=this,o,n,m,l +var $async$wR=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:o=A.a7(p.cd$,!0,t.T),n=o.length,m=!1,l=0 +case 3:if(!(l=s.b&&s.c>=s.d) +else s=!0}else s=!1 +if(s)o=A.aCo(new A.h2(B.h8,p,p),0,0) +else{s=q.d +if(s!=null)o=new A.fl(s,p,p,o,p)}r=q.ga57() +if(r!=null)o=new A.cf(r,o,p) +s=q.f +if(s!=null)o=new A.ve(s,o,p) +s=q.r +if(s!=null)o=A.alU(o,s,B.ex) +s=q.x +if(s!=null)o=new A.h2(s,o,p) +s=q.y +if(s!=null)o=new A.cf(s,o,p) +o.toString +return o}} +A.l6.prototype={ +mB(a,b,c){return A.Xr(c,this.w,null,this.y,this.x)}, +bT(a){return!J.e(this.w,a.w)||!J.e(this.x,a.x)||!J.e(this.y,a.y)}} +A.Xs.prototype={ +$1(a){var s=a.a7(t.Uf) +if(s==null)s=B.d8 +return A.Xr(this.e,s.w,this.a,this.d,s.x)}, +$S:361} +A.Pg.prototype={ +K(a){throw A.c(A.jx("A DefaultSelectionStyle constructed with DefaultSelectionStyle.fallback cannot be incorporated into the widget tree, it is meant only to provide a fallback value returned by DefaultSelectionStyle.of() when no enclosing default selection style is present in a BuildContext."))}} +A.FC.prototype={ +a0U(){var s,r +switch(A.el().a){case 3:s=A.lv($.aoQ(),t.Vz,t.v) +for(r=$.aoO(),r=A.hf(r,r.r);r.q();)s.n(0,r.d,B.k) +return s +case 0:case 1:case 5:case 2:case 4:return $.aoQ()}switch(A.el().a){case 0:case 1:case 3:case 5:return null +case 2:return B.qU +case 4:return $.awd()}}, +K(a){var s=this.c,r=this.a0U() +if(r!=null)s=A.an5(s,"",r) +return A.an5(s,"",A.aAB())}} +A.hJ.prototype={ +F(){return"DismissDirection."+this.b}} +A.vE.prototype={ +ai(){var s=null +return new A.Az(new A.bv(s,t.A),s,s,s)}} +A.AM.prototype={ +F(){return"_FlingGestureKind."+this.b}} +A.Az.prototype={ +an(){var s,r,q=this +q.Y0() +s=q.gcM() +s.bm() +r=s.bL$ +r.b=!0 +r.a.push(q.ga1Q()) +s.bm() +s=s.cb$ +s.b=!0 +s.a.push(q.ga1S()) +q.BZ()}, +gcM(){var s,r=this,q=r.d +if(q===$){r.a.toString +s=A.cG(null,B.a0,null,null,r) +r.d!==$&&A.a0() +r.d=s +q=s}return q}, +goR(){var s=this.gcM().r +if(!(s!=null&&s.a!=null)){s=this.f +if(s==null)s=null +else{s=s.r +s=s!=null&&s.a!=null}s=s===!0}else s=!0 +return s}, +l(){this.gcM().l() +var s=this.f +if(s!=null)s.l() +this.Y_()}, +gfZ(){var s=this.a.x +return s===B.Bn||s===B.ld||s===B.hO}, +pw(a){var s,r,q,p +if(a===0)return B.lf +if(this.gfZ()){s=this.c.a7(t.I) +s.toString +r=s.w +$label0$0:{q=B.T===r +if(q&&a<0){s=B.hO +break $label0$0}p=B.p===r +if(p&&a>0){s=B.hO +break $label0$0}if(!q)s=p +else s=!0 +if(s){s=B.ld +break $label0$0}s=null}return s}return a>0?B.le:B.Bo}, +gA9(){this.a.toString +B.Hi.k(0,this.pw(this.w)) +return 0.4}, +gLc(){var s=this.c.gv(0) +s.toString +return this.gfZ()?s.a:s.b}, +a2_(a){var s,r=this +if(r.x)return +r.y=!0 +s=r.gcM().r +if(s!=null&&s.a!=null){s=r.gcM().x +s===$&&A.a() +r.w=s*r.gLc()*J.dH(r.w) +r.gcM().es(0)}else{r.w=0 +r.gcM().sm(0,0)}r.ah(new A.aem(r))}, +a20(a){var s,r,q,p=this +if(p.y){s=p.gcM().r +s=s!=null&&s.a!=null}else s=!0 +if(s)return +s=a.c +s.toString +r=p.w +switch(p.a.x.a){case 1:case 0:p.w=r+s +break +case 4:s=r+s +if(s<0)p.w=s +break +case 5:s=r+s +if(s>0)p.w=s +break +case 2:q=p.c.a7(t.I) +q.toString +switch(q.w.a){case 0:s=p.w+s +if(s>0)p.w=s +break +case 1:s=p.w+s +if(s<0)p.w=s +break}break +case 3:q=p.c.a7(t.I) +q.toString +switch(q.w.a){case 0:s=p.w+s +if(s<0)p.w=s +break +case 1:s=p.w+s +if(s>0)p.w=s +break}break +case 6:p.w=0 +break}if(J.dH(r)!==J.dH(p.w))p.ah(new A.aen(p)) +s=p.gcM().r +if(!(s!=null&&s.a!=null))p.gcM().sm(0,Math.abs(p.w)/p.gLc())}, +a1T(){this.a.toString}, +BZ(){var s=this,r=J.dH(s.w),q=s.gcM(),p=s.gfZ(),o=s.a +if(p){o.toString +p=new A.m(r,0)}else{o.toString +p=new A.m(0,r)}o=t.Ni +s.e=new A.b0(t.q.a(q),new A.aR(B.h,p,o),o.h("b0"))}, +a_K(a){var s,r,q,p,o=this +if(o.w===0)return B.jP +s=a.a +r=s.a +q=s.b +if(o.gfZ()){s=Math.abs(r) +if(s-Math.abs(q)<400||s<700)return B.jP +p=o.pw(r)}else{s=Math.abs(q) +if(s-Math.abs(r)<400||s<700)return B.jP +p=o.pw(q)}if(p===o.pw(o.w))return B.SW +return B.SX}, +a1Z(a){var s,r,q,p=this +if(p.y){s=p.gcM().r +s=s!=null&&s.a!=null}else s=!0 +if(s)return +p.y=!1 +if(p.gcM().gaF(0)===B.X){p.pF() +return}s=a.a +r=s.a +q=p.gfZ()?r.a:r.b +switch(p.a_K(s).a){case 1:if(p.gA9()>=1){p.gcM().dd(0) +break}p.w=J.dH(q) +p.gcM().Q0(Math.abs(q)*0.0033333333333333335) +break +case 2:p.w=J.dH(q) +p.gcM().Q0(-Math.abs(q)*0.0033333333333333335) +break +case 0:if(p.gcM().gaF(0)!==B.y){s=p.gcM().x +s===$&&A.a() +if(s>p.gA9())p.gcM().bY(0) +else p.gcM().dd(0)}break}}, +uN(a){return this.a1R(a)}, +a1R(a){var s=0,r=A.z(t.H),q=this +var $async$uN=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:s=a===B.X&&!q.y?2:3 +break +case 2:s=4 +return A.B(q.pF(),$async$uN) +case 4:case 3:if(q.c!=null)q.oO() +return A.x(null,r)}}) +return A.y($async$uN,r)}, +pF(){var s=0,r=A.z(t.H),q,p=this,o +var $async$pF=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:if(p.gA9()>=1){p.gcM().dd(0) +s=1 +break}s=3 +return A.B(p.zV(),$async$pF) +case 3:o=b +if(p.c!=null)if(o)p.a7d() +else p.gcM().dd(0) +case 1:return A.x(q,r)}}) +return A.y($async$pF,r)}, +zV(){var s=0,r=A.z(t.y),q,p=this +var $async$zV=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p.a.toString +q=!0 +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$zV,r)}, +a7d(){var s,r=this +r.a.toString +s=r.pw(r.w) +r.a.w.$1(s)}, +K(a){var s,r,q,p,o,n,m,l=this,k=null +l.yZ(a) +s=l.a +s.toString +r=l.r +if(r!=null){s=l.gfZ()?B.aw:B.aH +q=l.z +p=q.a +return new A.Kv(s,A.i4(k,q.b,p),r,k)}r=l.e +r===$&&A.a() +o=A.an9(new A.iI(s.c,l.as),r,k,!0) +if(s.x===B.lf)return o +s=l.gfZ()?l.gKb():k +r=l.gfZ()?l.gKc():k +q=l.gfZ()?l.gKa():k +p=l.gfZ()?k:l.gKb() +n=l.gfZ()?k:l.gKc() +m=l.gfZ()?k:l.gKa() +return A.qg(l.a.ax,o,B.aj,!1,k,k,k,k,q,s,r,k,k,k,k,k,k,k,k,k,k,k,m,p,n)}} +A.aem.prototype={ +$0(){this.a.BZ()}, +$S:0} +A.aen.prototype={ +$0(){this.a.BZ()}, +$S:0} +A.D9.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.Da.prototype={ +an(){this.aJ() +if(this.goR())this.pv()}, +cQ(){var s=this.fC$ +if(s!=null){s.ae() +s.dt() +this.fC$=null}this.pe()}} +A.XT.prototype={ +$1(a){var s=a.gqv(a).gfR().ago(0,0) +if(!s)a.gags(a) +return s}, +$S:363} +A.XU.prototype={ +$1(a){return a.gqv(a)}, +$S:364} +A.FP.prototype={ +gb5(a){var s=this.a +if(s==null)s=null +else{s=s.c +s.toString}return s}} +A.pX.prototype={ +ai(){return new A.AH(A.y8(null),A.y8(null))}, +abD(a,b,c){return this.d.$3(a,b,c)}, +afx(a,b,c){return this.e.$3(a,b,c)}} +A.AH.prototype={ +an(){var s,r=this +r.aJ() +s=r.a.c +r.d=s.gaF(s) +s=r.a.c +s.bm() +s=s.bL$ +s.b=!0 +s.a.push(r.gzt()) +r.Jg()}, +I5(a){var s,r=this,q=r.d +q===$&&A.a() +s=r.ZB(a,q) +r.d=s +if(q!==s)r.Jg()}, +aG(a){var s,r,q=this +q.b0(a) +s=a.c +if(s!==q.a.c){r=q.gzt() +s.c7(r) +s=q.a.c +s.bm() +s=s.bL$ +s.b=!0 +s.a.push(r) +r=q.a.c +q.I5(r.gaF(r))}}, +ZB(a,b){switch(a.a){case 0:case 3:return a +case 1:switch(b.a){case 0:case 3:case 1:return a +case 2:return b}break +case 2:switch(b.a){case 0:case 3:case 2:return a +case 1:return b}break}}, +Jg(){var s=this,r=s.d +r===$&&A.a() +switch(r.a){case 0:case 1:s.e.sct(0,s.a.c) +s.f.sct(0,B.bL) +break +case 2:case 3:s.e.sct(0,B.cY) +s.f.sct(0,new A.fO(s.a.c,new A.bh(A.b([],t.G),t.Q),0)) +break}}, +l(){this.a.c.c7(this.gzt()) +this.aB()}, +K(a){var s=this.a +return s.abD(a,this.e,s.afx(a,this.f,s.f))}} +A.iH.prototype={ +F(){return"KeyEventResult."+this.b}} +A.Mb.prototype={} +A.ZD.prototype={ +aa(a){var s,r=this.a +if(r.ax===this){if(!r.giF()){s=r.w +s=s!=null&&s.r===r}else s=!0 +if(s)r.yf(B.jE) +s=r.w +if(s!=null){if(s.c===r)s.c=null +if(s.f===r)s.f=null +s.d.A(0,r)}s=r.Q +if(s!=null)s.a5U(0,r) +r.ax=null}}, +FG(a){var s,r=this.a +if(r.ax===this){s=r.e +s.toString +a=A.ami(s,!0,!0);(a==null?r.e.f.d.b:a).vl(r)}}, +Sb(){return this.FG(null)}} +A.Ls.prototype={ +F(){return"UnfocusDisposition."+this.b}} +A.cd.prototype={ +ge3(){var s,r,q +if(this.a)return!0 +for(s=this.gcq(),r=s.length,q=0;q"))}, +gcq(){var s,r,q=this.x +if(q==null){s=A.b([],t.bp) +r=this.Q +for(;r!=null;){s.push(r) +r=r.Q}this.x=s +q=s}return q}, +giE(){if(!this.giF()){var s=this.w +if(s==null)s=null +else{s=s.c +s=s==null?null:B.b.p(s.gcq(),this)}s=s===!0}else s=!0 +return s}, +giF(){var s=this.w +return(s==null?null:s.c)===this}, +gfI(){return this.geC()}, +Iz(){var s,r,q,p,o=this.ay +if(o==null)return +this.ay=null +s=this.as +r=s.length +if(r!==0)for(q=0;q")).W(0,B.b.goB(r))}}b.Q=null +b.Iz() +B.b.A(this.as,b) +for(r=this.gcq(),q=r.length,p=0;p#"+s+q}, +$iaf:1} +A.ZG.prototype={ +$1(a){return!a.ge3()&&a.b&&B.b.dD(a.gcq(),A.eR())}, +$S:26} +A.ZF.prototype={ +$1(a){return a.geC()===this.a}, +$S:26} +A.ld.prototype={ +gfI(){return this}, +gec(){return this.b&&A.cd.prototype.gec.call(this)}, +gtx(){if(!(this.b&&B.b.dD(this.gcq(),A.eR())))return B.kk +return A.cd.prototype.gtx.call(this)}, +yJ(a){if(a.Q==null)this.vl(a) +if(this.giE())a.ik(!0) +else a.lE()}, +ik(a){var s,r,q,p=this,o=p.fx +while(!0){if(o.length!==0){s=B.b.gT(o) +if(s.b&&B.b.dD(s.gcq(),A.eR())){s=B.b.gT(o) +r=s.ay +if(r==null){q=s.Q +r=s.ay=q==null?null:q.gfI()}s=r==null}else s=!0}else s=!1 +if(!s)break +o.pop()}o=A.jG(o) +if(!a||o==null){if(p.b&&B.b.dD(p.gcq(),A.eR())){p.lE() +p.KZ(p)}return}o.ik(!0)}} +A.lc.prototype={ +F(){return"FocusHighlightMode."+this.b}} +A.ZE.prototype={ +F(){return"FocusHighlightStrategy."+this.b}} +A.M6.prototype={ +qR(a){return this.a.$1(a)}} +A.wk.prototype={ +ga68(){return!0}, +Za(a){var s,r,q=this +if(a===B.b6)if(q.c!==q.b)q.f=null +else{s=q.f +if(s!=null){s.oG() +q.f=null}}else{s=q.c +r=q.b +if(s!==r){q.r=r +q.f=s +q.Oa()}}}, +pP(){if(this.x)return +this.x=!0 +A.e6(this.ga8G())}, +Oa(){var s,r,q,p,o,n,m,l,k,j=this +j.x=!1 +s=j.c +for(r=j.w,q=r.length,p=j.b,o=0;o")) +if(!r.ga0(0).q())p=null +else p=b?r.gT(0):r.gI(0)}return p==null?a:p}, +Jq(a,b){return this.Ai(a,!1,b)}, +adk(a){}, +CJ(a,b){}, +v8(a,b){var s,r,q,p,o,n,m,l=this,k=a.gfI() +k.toString +l.n0(k) +l.ra$.A(0,k) +s=A.jG(k.fx) +r=s==null +if(r){q=b?l.Jq(a,!1):l.Ai(a,!0,!1) +return l.nn(q,b?B.by:B.bz,b)}if(r)s=k +p=A.amg(k,s) +if(b&&s===B.b.gT(p))switch(k.fr.a){case 1:s.ty() +return!1 +case 2:o=k.geC() +if(o!=null&&o!==$.ai.ag$.d.b){s.ty() +k=o.e +k.toString +A.q9(k).v8(o,!0) +k=s.geC() +return(k==null?null:A.jG(k.fx))!==s}return l.nn(B.b.gI(p),B.by,b) +case 0:return l.nn(B.b.gI(p),B.by,b)}if(!b&&s===B.b.gI(p))switch(k.fr.a){case 1:s.ty() +return!1 +case 2:o=k.geC() +if(o!=null&&o!==$.ai.ag$.d.b){s.ty() +k=o.e +k.toString +A.q9(k).v8(o,!1) +k=s.geC() +return(k==null?null:A.jG(k.fx))!==s}return l.nn(B.b.gT(p),B.bz,b) +case 0:return l.nn(B.b.gT(p),B.bz,b)}for(k=J.al(b?p:new A.co(p,A.a_(p).h("co<1>"))),n=null;k.q();n=m){m=k.gG(k) +if(n===s)return l.nn(m,b?B.by:B.bz,b)}return!1}} +A.ZK.prototype={ +$1(a){return a.b&&B.b.dD(a.gcq(),A.eR())&&!a.ge3()}, +$S:26} +A.ZM.prototype={ +$1(a){var s,r,q,p,o,n,m +for(s=a.c,r=s.length,q=this.b,p=this.a,o=0;o")) +if(!n.gM(0))o=n}m=J.alA(o,new A.XM(new A.D(h.gaZ(0).a,-1/0,h.gaZ(0).c,1/0))) +if(!m.gM(0)){p=B.b.gI(A.aAK(h.gaZ(0).gaR(),m)) +break}p=B.b.gI(A.aAL(h.gaZ(0).gaR(),o)) +break +case B.bD:case B.bF:o=j.a76(b,h.gaZ(0),i.gtx()) +if(o.length===0)break +if(q!=null&&!q.d.gOi()){n=new A.aF(o,new A.XN(q),A.a_(o).h("aF<1>")) +if(!n.gM(0))o=n}m=J.alA(o,new A.XO(new A.D(-1/0,h.gaZ(0).b,1/0,h.gaZ(0).d))) +if(!m.gM(0)){p=B.b.gI(A.aAJ(h.gaZ(0).gaR(),m)) +break}p=B.b.gI(A.aAM(h.gaZ(0).gaR(),o)) +break}if(p!=null){r=j.ra$ +l=r.k(0,i) +k=new A.t9(b,h) +if(l!=null)l.a.push(k) +else r.n(0,i,new A.Nh(A.b([k],t.Kj))) +switch(b){case B.bC:case B.bF:j.a.$2$alignmentPolicy(p,B.bz) +break +case B.bE:case B.bD:j.a.$2$alignmentPolicy(p,B.by) +break}return!0}return!1}} +A.ahs.prototype={ +$1(a){return a.b===this.a}, +$S:369} +A.XK.prototype={ +$2(a,b){var s=this.a +if(s.b)if(s.a)return B.c.b9(a.gaZ(0).b,b.gaZ(0).b) +else return B.c.b9(b.gaZ(0).d,a.gaZ(0).d) +else if(s.a)return B.c.b9(a.gaZ(0).a,b.gaZ(0).a) +else return B.c.b9(b.gaZ(0).c,a.gaZ(0).c)}, +$S:34} +A.XH.prototype={ +$2(a,b){var s=a.gaZ(0).gaR(),r=b.gaZ(0).gaR(),q=this.a,p=A.alY(q,s,r) +if(p===0)return A.alX(q,s,r) +return p}, +$S:34} +A.XG.prototype={ +$2(a,b){var s=a.gaZ(0).gaR(),r=b.gaZ(0).gaR(),q=this.a,p=A.alX(q,s,r) +if(p===0)return A.alY(q,s,r) +return p}, +$S:34} +A.XI.prototype={ +$2(a,b){var s,r,q,p=this.a,o=a.gaZ(0),n=b.gaZ(0),m=o.a,l=p.a,k=o.c +m=Math.abs(m-l)"),s=new A.aw(s,new A.ahn(),r),s=new A.bR(s,s.gu(0),r.h("bR")),r=r.h("aD.E");s.q();){q=s.d +if(q==null)q=r.a(q) +p=o.b +if(p==null){o.b=q +p=q}o.b=p.kE(q)}s=o.b +s.toString +return s}} +A.ahn.prototype={ +$1(a){return a.b}, +$S:375} +A.aho.prototype={ +$2(a,b){var s +switch(this.a.a){case 1:s=B.c.b9(a.gaZ(0).a,b.gaZ(0).a) +break +case 0:s=B.c.b9(b.gaZ(0).c,a.gaZ(0).c) +break +default:s=null}return s}, +$S:376} +A.a75.prototype={ +a_2(a){var s,r,q,p,o,n=B.b.gI(a).a,m=t.qi,l=A.b([],m),k=A.b([],t.jE) +for(s=a.length,r=0;r") +return A.a7(new A.aF(b,new A.a79(new A.D(-1/0,s.b,1/0,s.d)),r),!0,r.h("j.E"))}, +$S:377} +A.a79.prototype={ +$1(a){return!a.b.cX(this.a).gM(0)}, +$S:378} +A.wm.prototype={ +ai(){return new A.O_()}} +A.AR.prototype={} +A.O_.prototype={ +gbO(a){var s,r,q,p=this,o=p.d +if(o===$){s=p.a.c +r=A.b([],t.bp) +q=$.aM() +p.d!==$&&A.a0() +o=p.d=new A.AR(s,!1,!0,!0,!0,null,null,r,q)}return o}, +l(){this.gbO(0).l() +this.aB()}, +aG(a){var s=this +s.b0(a) +if(a.c!==s.a.c)s.gbO(0).fr=s.a.c}, +K(a){var s=null,r=this.gbO(0) +return A.q8(!1,!1,this.a.f,s,!0,!0,r,!1,s,s,s,s,s,!0)}} +A.JL.prototype={ +eG(a){a.ah7(a.gbO(a))}} +A.nZ.prototype={} +A.I5.prototype={ +eG(a){var s=$.ai.ag$.d.c,r=s.e +r.toString +return A.q9(r).v8(s,!0)}, +FM(a,b){return b?B.de:B.eI}} +A.oe.prototype={} +A.J4.prototype={ +eG(a){var s=$.ai.ag$.d.c,r=s.e +r.toString +return A.q9(r).v8(s,!1)}, +FM(a,b){return b?B.de:B.eI}} +A.FK.prototype={ +eG(a){var s=$.ai.ag$.d.c,r=s.e +r.toString +A.q9(r).acR(s,a.a)}} +A.O0.prototype={} +A.Ql.prototype={ +CJ(a,b){var s +this.Vc(a,b) +s=this.ra$.k(0,b) +if(s!=null){s=s.a +if(!!s.fixed$length)A.ab(A.a1("removeWhere")) +B.b.vj(s,new A.ahs(a),!0)}}} +A.Tm.prototype={} +A.Tn.prototype={} +A.f1.prototype={ +gbv(){var s,r=$.ai.ag$.x.k(0,this) +if(r instanceof A.hp){s=r.ok +s.toString +if(A.o(this).c.b(s))return s}return null}} +A.bv.prototype={ +i(a){var s,r=this,q=r.a +if(q!=null)s=" "+q +else s="" +if(A.t(r)===B.Rt)return"[GlobalKey#"+A.b4(r)+s+"]" +return"["+("#"+A.b4(r))+s+"]"}} +A.nu.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return this.$ti.b(b)&&b.a===this.a}, +gt(a){return A.pj(this.a)}, +i(a){var s="GlobalObjectKey",r=B.d.ab0(s,">")?B.d.ak(s,0,-8):s +return"["+r+" "+("#"+A.b4(this.a))+"]"}} +A.i.prototype={ +cg(){var s=this.a +return s==null?"Widget":"Widget-"+s.i(0)}, +j(a,b){if(b==null)return!1 +return this.Vy(0,b)}, +gt(a){return A.J.prototype.gt.call(this,0)}} +A.aV.prototype={ +bh(a){return new A.KO(this,B.a1)}} +A.a3.prototype={ +bh(a){var s=this.ai(),r=new A.hp(s,this,B.a1) +s.c=r +s.a=this +return r}} +A.ag.prototype={ +an(){}, +aG(a){}, +ah(a){a.$0() +this.c.kT()}, +cQ(){}, +bI(){}, +l(){}, +bi(){}} +A.aL.prototype={} +A.dM.prototype={ +bh(a){return new A.lG(this,B.a1,A.o(this).h("lG"))}} +A.aY.prototype={ +bh(a){return A.aCc(this)}} +A.as.prototype={ +aC(a,b){}, +qW(a){}} +A.Hm.prototype={ +bh(a){return new A.Hl(this,B.a1)}} +A.b_.prototype={ +bh(a){return new A.zi(this,B.a1)}} +A.ec.prototype={ +bh(a){return A.aCW(this)}} +A.td.prototype={ +F(){return"_ElementLifecycle."+this.b}} +A.Oo.prototype={ +N5(a){a.bo(new A.afO(this)) +a.mx()}, +a7A(){var s,r=this.b,q=A.a7(r,!0,A.o(r).c) +B.b.er(q,A.aoj()) +s=q +r.J(0) +try{r=s +new A.co(r,A.a_(r).h("co<1>")).W(0,this.ga7y())}finally{}}} +A.afO.prototype={ +$1(a){this.a.N5(a)}, +$S:9} +A.VD.prototype={ +a7v(a){var s,r,q +try{a.RV()}catch(q){s=A.a9(q) +r=A.aK(q) +A.akh(A.bm("while rebuilding dirty elements"),s,r,new A.VE(a))}}, +a0A(a){var s,r,q,p,o,n=this,m=n.e +B.b.er(m,A.aoj()) +n.d=!1 +try{for(s=0;s0?r[a-1].as:s))break;--a}return a}} +A.VE.prototype={ +$0(){var s=null,r=A.b([],t.E) +J.em(r,A.ix("The element being rebuilt at the time was",this.a,!0,B.aR,s,s,s,B.ar,!1,!0,!0,B.ba,s)) +return r}, +$S:22} +A.VC.prototype={ +Gs(a){var s,r=this,q=a.gkt() +if(!r.c&&r.a!=null){r.c=!0 +r.a.$0()}if(!a.at){q.e.push(a) +a.at=!0}if(!q.a&&!q.b){q.a=!0 +s=q.c +if(s!=null)s.$0()}if(q.d!=null)q.d=!0}, +R5(a){try{a.$0()}finally{}}, +vV(a,b){var s=a.gkt(),r=b==null +if(r&&s.e.length===0)return +try{this.c=!0 +s.b=!0 +if(!r)try{b.$0()}finally{}s.a0A(a)}finally{this.c=s.b=!1}}, +a8X(a){return this.vV(a,null)}, +abp(){var s,r,q +try{this.R5(this.b.ga7z())}catch(q){s=A.a9(q) +r=A.aK(q) +A.akh(A.q2("while finalizing the widget tree"),s,r,null)}finally{}}} +A.xB.prototype={ +Cy(){var s=this.a +this.b=new A.agH(this,s==null?null:s.b)}} +A.agH.prototype={ +cC(a){var s=this.a.Rq(a) +if(s)return +s=this.b +if(s!=null)s.cC(a)}} +A.b2.prototype={ +j(a,b){if(b==null)return!1 +return this===b}, +gagb(){var s=this.e +s.toString +return s}, +gkt(){var s=this.r +s.toString +return s}, +gU(){for(var s=this;s!=null;)if(s.w===B.xA)break +else if(s instanceof A.bx)return s.gU() +else s=s.goD() +return null}, +goD(){var s={} +s.a=null +this.bo(new A.Yw(s)) +return s.a}, +aar(a){var s=null,r=A.b([],t.E),q=A.b([],t.lX) +this.mz(new A.Yu(q)) +r.push(A.ix("The specific widget that could not find a "+a.i(0)+" ancestor was",this,!0,B.aR,s,s,s,B.ar,!1,!0,!0,B.ba,s)) +if(q.length!==0)r.push(A.aBf("The ancestors of this widget were",q)) +else r.push(A.bm('This widget is the root of the tree, so it has no ancestors, let alone a "'+a.i(0)+'" ancestor.')) +return r}, +aaq(a){var s=null +return A.ix(a,this,!0,B.aR,s,s,s,B.ar,!1,!0,!0,B.ba,s)}, +bo(a){}, +d1(a,b,c){var s,r,q=this +if(b==null){if(a!=null)q.wi(a) +return null}if(a!=null){s=a.e.j(0,b) +if(s){if(!J.e(a.c,c))q.SN(a,c) +r=a}else{s=a.e +s.toString +if(A.t(s)===A.t(b)&&J.e(s.a,b.a)){if(!J.e(a.c,c))q.SN(a,c) +a.b2(0,b) +r=a}else{q.wi(a) +r=q.x_(b,c)}}}else r=q.x_(b,c) +return r}, +ag3(a1,a2,a3){var s,r,q,p,o,n,m,l,k=this,j=null,i=new A.Yx(a3),h=new A.Yy(j),g=a2.length,f=g-1,e=a1.length-1,d=t.Y,c=A.bc(g,$.ap0(),!1,d),b=j,a=0,a0=0 +while(!0){if(!(a0<=e&&a<=f))break +s=i.$1(a1[a0]) +r=a2[a] +if(s!=null){g=s.e +g.toString +g=!(A.t(g)===A.t(r)&&J.e(g.a,r.a))}else g=!0 +if(g)break +g=k.d1(s,r,h.$2(a,b)) +g.toString +c[a]=g;++a;++a0 +b=g}q=e +while(!0){g=a0<=q +if(!(g&&a<=f))break +s=i.$1(a1[q]) +r=a2[f] +if(s!=null){p=s.e +p.toString +p=!(A.t(p)===A.t(r)&&J.e(p.a,r.a))}else p=!0 +if(p)break;--q;--f}if(g){o=A.E(t.D2,d) +for(;a0<=q;){s=i.$1(a1[a0]) +if(s!=null){d=s.e.a +if(d!=null)o.n(0,d,s) +else{s.a=null +s.nQ() +d=k.f.b +if(s.w===B.ce){s.cQ() +s.bo(A.akD())}d.b.D(0,s)}}++a0}}else o=j +for(;a<=f;b=d){r=a2[a] +s=j +if(g){n=r.a +if(n!=null){m=o.k(0,n) +if(m!=null){d=m.e +d.toString +if(A.t(d)===A.t(r)&&J.e(d.a,n)){o.A(0,n) +s=m}}else s=m}}d=k.d1(s,r,h.$2(a,b)) +d.toString +c[a]=d;++a}f=a2.length-1 +while(!0){if(!(a0<=e&&a<=f))break +d=k.d1(a1[a0],a2[a],h.$2(a,b)) +d.toString +c[a]=d;++a;++a0 +b=d}if(g&&o.a!==0)for(g=o.gaI(0),d=A.o(g),g=new A.bt(J.al(g.a),g.b,d.h("bt<1,2>")),d=d.y[1];g.q();){p=g.a +if(p==null)p=d.a(p) +if(!a3.p(0,p)){p.a=null +p.nQ() +l=k.f.b +if(p.w===B.ce){p.cQ() +p.bo(A.akD())}l.b.D(0,p)}}return c}, +f3(a,b){var s,r,q,p=this +p.a=a +p.c=b +p.w=B.ce +s=a!=null +if(s){r=a.d +r===$&&A.a();++r}else r=1 +p.d=r +if(s){p.f=a.f +p.r=a.gkt()}q=p.e.a +if(q instanceof A.f1)p.f.x.n(0,q,p) +p.BW() +p.Cy()}, +b2(a,b){this.e=b}, +SN(a,b){new A.Yz(b).$1(a)}, +tC(a){this.c=a}, +Nh(a){var s=a+1,r=this.d +r===$&&A.a() +if(r")),s=s.c;p.q();){r=p.d;(r==null?s.a(r):r).a5.A(0,q)}q.y=null +q.w=B.SN}, +mx(){var s=this,r=s.e,q=r==null?null:r.a +if(q instanceof A.f1){r=s.f.x +if(J.e(r.k(0,q),s))r.A(0,q)}s.z=s.e=null +s.w=B.xA}, +gv(a){var s=this.gU() +if(s instanceof A.H)return s.gv(0) +return null}, +nP(a,b){var s=this.z;(s==null?this.z=A.cC(t.IS):s).D(0,a) +a.SJ(this,b) +s=a.e +s.toString +return t.WB.a(s)}, +Pg(a){return this.nP(a,null)}, +a7(a){var s=this.y,r=s==null?null:s.k(0,A.bU(a)) +if(r!=null)return a.a(this.nP(r,null)) +this.Q=!0 +return null}, +yp(a){var s=this.jS(a) +if(s==null)s=null +else{s=s.e +s.toString}return a.h("0?").a(s)}, +jS(a){var s=this.y +return s==null?null:s.k(0,A.bU(a))}, +Cy(){var s=this.a +this.b=s==null?null:s.b}, +BW(){var s=this.a +this.y=s==null?null:s.y}, +PZ(a){var s,r,q=this.a +while(!0){s=q==null +if(!s){r=q.e +r.toString +r=A.t(r)!==A.bU(a)}else r=!1 +if(!r)break +q=q.a}if(s)s=null +else{s=q.e +s.toString}return a.h("0?").a(s)}, +rj(a){var s,r,q=this.a +for(;s=q==null,!s;){if(q instanceof A.hp){r=q.ok +r.toString +r=a.b(r)}else r=!1 +if(r)break +q=q.a}t.lE.a(q) +if(s)s=null +else{s=q.ok +s.toString}return a.h("0?").a(s)}, +wI(a){var s=this.a +for(;s!=null;){if(s instanceof A.bx&&a.b(s.gU()))return a.a(s.gU()) +s=s.a}return null}, +mz(a){var s=this.a +while(!0){if(!(s!=null&&a.$1(s)))break +s=s.a}}, +bi(){this.kT()}, +cC(a){var s=this.b +if(s!=null)s.cC(a)}, +cg(){var s=this.e +s=s==null?null:s.cg() +return s==null?"#"+A.b4(this)+"(DEFUNCT)":s}, +kT(){var s=this +if(s.w!==B.ce)return +if(s.as)return +s.as=!0 +s.f.Gs(s)}, +xT(a){var s +if(this.w===B.ce)s=!this.as&&!a +else s=!0 +if(s)return +try{this.i3()}finally{}}, +RV(){return this.xT(!1)}, +i3(){this.as=!1}, +$ia4:1} +A.Yw.prototype={ +$1(a){this.a.a=a}, +$S:9} +A.Yu.prototype={ +$1(a){this.a.push(a) +return!0}, +$S:31} +A.Yt.prototype={ +$1(a){var s=null +return A.ix("",a,!0,B.aR,s,s,s,B.ar,!1,!0,!0,B.hN,s)}, +$S:379} +A.Yx.prototype={ +$1(a){var s=this.a.p(0,a) +return s?null:a}, +$S:380} +A.Yy.prototype={ +$2(a,b){return new A.qr(b,a,t.Bc)}, +$S:381} +A.Yz.prototype={ +$1(a){var s +a.tC(this.a) +s=a.goD() +if(s!=null)this.$1(s)}, +$S:9} +A.Yr.prototype={ +$1(a){a.Nh(this.a)}, +$S:9} +A.Yq.prototype={ +$1(a){a.N9()}, +$S:9} +A.Yv.prototype={ +$1(a){a.nQ()}, +$S:9} +A.Ys.prototype={ +$1(a){a.qq(this.a)}, +$S:9} +A.Gg.prototype={ +av(a){var s=this.d,r=new A.yo(s,new A.aN(),A.aj()) +r.aw() +r.Yx(s) +return r}} +A.vf.prototype={ +goD(){return this.ay}, +f3(a,b){this.z4(a,b) +this.Ak()}, +Ak(){this.RV()}, +i3(){var s,r,q,p,o,n,m=this,l=null +try{l=m.bt() +m.e.toString}catch(o){s=A.a9(o) +r=A.aK(o) +n=A.Z4(A.akh(A.bm("building "+m.i(0)),s,r,new A.WT())) +l=n}finally{m.ll()}try{m.ay=m.d1(m.ay,l,m.c)}catch(o){q=A.a9(o) +p=A.aK(o) +n=A.Z4(A.akh(A.bm("building "+m.i(0)),q,p,new A.WU())) +l=n +m.ay=m.d1(null,l,m.c)}}, +bo(a){var s=this.ay +if(s!=null)a.$1(s)}, +iC(a){this.ay=null +this.k0(a)}} +A.WT.prototype={ +$0(){var s=A.b([],t.E) +return s}, +$S:22} +A.WU.prototype={ +$0(){var s=A.b([],t.E) +return s}, +$S:22} +A.KO.prototype={ +bt(){var s=this.e +s.toString +return t.gU.a(s).K(this)}, +b2(a,b){this.n_(0,b) +this.xT(!0)}} +A.hp.prototype={ +bt(){return this.ok.K(this)}, +Ak(){this.ok.an() +this.ok.bi() +this.UX()}, +i3(){var s=this +if(s.p1){s.ok.bi() +s.p1=!1}s.UY()}, +b2(a,b){var s,r,q,p=this +p.n_(0,b) +s=p.ok +r=s.a +r.toString +q=p.e +q.toString +s.a=t.d2.a(q) +s.aG(r) +p.xT(!0)}, +bI(){this.z2() +this.ok.bI() +this.kT()}, +cQ(){this.ok.cQ() +this.H0()}, +mx(){var s=this +s.z5() +s.ok.l() +s.ok=s.ok.c=null}, +nP(a,b){return this.z3(a,b)}, +Pg(a){return this.nP(a,null)}, +bi(){this.H1() +this.p1=!0}} +A.y9.prototype={ +bt(){var s=this.e +s.toString +return t.yH.a(s).b}, +b2(a,b){var s=this,r=s.e +r.toString +t.yH.a(r) +s.n_(0,b) +s.G_(r) +s.xT(!0)}, +G_(a){this.ou(a)}} +A.lG.prototype={ +I8(a){var s=this.ay +if(s!=null)new A.a5Z(a).$1(s)}, +ou(a){var s=this.e +s.toString +this.I8(this.$ti.h("dM<1>").a(s))}} +A.a5Z.prototype={ +$1(a){var s +if(a instanceof A.bx)this.a.qm(a.gU()) +else if(a.goD()!=null){s=a.goD() +s.toString +this.$1(s)}}, +$S:9} +A.f4.prototype={ +BW(){var s=this,r=s.a,q=r==null?null:r.y +if(q==null)q=B.Il +r=s.e +r.toString +s.y=q.aeW(0,A.t(r),s)}, +Gx(a,b){this.a5.n(0,a,b)}, +SJ(a,b){this.Gx(a,null)}, +Rl(a,b){b.bi()}, +G_(a){var s=this.e +s.toString +if(t.WB.a(s).bT(a))this.VN(a)}, +ou(a){var s,r,q +for(s=this.a5,r=A.o(s),s=new A.tl(s,s.zS(),r.h("tl<1>")),r=r.c;s.q();){q=s.d +this.Rl(a,q==null?r.a(q):q)}}} +A.bx.prototype={ +gU(){var s=this.ay +s.toString +return s}, +goD(){return null}, +a0s(){var s,r=this.a +while(!0){s=r==null +if(!(!s&&!(r instanceof A.bx)))break +r=s?null:r.a}return t.c_.a(r)}, +a0r(){var s=this.a,r=A.b([],t.OM) +while(!0){if(!(s!=null&&!(s instanceof A.bx)))break +if(s instanceof A.lG)r.push(s) +s=s.a}return r}, +f3(a,b){var s,r=this +r.z4(a,b) +s=r.e +s.toString +r.ay=t.F5.a(s).av(r) +r.qq(b) +r.ll()}, +b2(a,b){var s,r=this +r.n_(0,b) +s=r.e +s.toString +t.F5.a(s).aC(r,r.gU()) +r.ll()}, +i3(){var s=this,r=s.e +r.toString +t.F5.a(r).aC(s,s.gU()) +s.ll()}, +cQ(){this.H0()}, +mx(){var s=this,r=s.e +r.toString +t.F5.a(r) +s.z5() +r.qW(s.gU()) +s.ay.l() +s.ay=null}, +tC(a){var s,r=this,q=r.c +r.V9(a) +s=r.CW +if(s!=null)s.jG(r.gU(),q,r.c)}, +qq(a){var s,r,q,p,o,n=this +n.c=a +s=n.CW=n.a0s() +if(s!=null)s.jx(n.gU(),a) +r=n.a0r() +for(s=r.length,q=t.IL,p=0;p"))}, +jx(a,b){var s=this.gU(),r=b.a +s.Eu(0,a,r==null?null:r.gU())}, +jG(a,b,c){var s=this.gU(),r=c.a +s.xp(a,r==null?null:r.gU())}, +l5(a,b){this.gU().A(0,a)}, +bo(a){var s,r,q,p,o=this.p1 +o===$&&A.a() +s=o.length +r=this.p2 +q=0 +for(;q") +j.d=new A.b0(t.q.a(q),new A.id(new A.h3(new A.dl(o,1,B.a4)),p,n),n.h("b0"))}}if(s)s=!(isFinite(r.a)&&isFinite(r.b)) +else s=!0 +j.w=s}, +UB(a,b){var s,r,q,p=this +p.sae_(b) +s=p.f +switch(s.a.a){case 1:r=p.e +r===$&&A.a() +r.sct(0,new A.fO(s.gbJ(0),new A.bh(A.b([],t.G),t.Q),0)) +q=!1 +break +case 0:r=p.e +r===$&&A.a() +r.sct(0,s.gbJ(0)) +q=!0 +break +default:q=null}s=p.f +p.b=s.qI(s.gQe(),p.f.gya()) +p.f.f.yR(q) +p.f.r.yQ() +s=p.f.b +r=A.amO(p.gZw(),!1,!1) +p.r=r +s.ad4(0,r) +r=p.e +r===$&&A.a() +r.bm() +r=r.cb$ +r.b=!0 +r.a.push(p.gFl())}, +i(a){var s,r,q,p=this.f,o=p.d.b,n=p.e.b +p=A.h(p.f.a.c) +s=o.i(0) +r=n.i(0) +q=this.e +q===$&&A.a() +return"HeroFlight(for: "+p+", from: "+s+", to: "+r+" "+A.h(q.c)+")"}} +A.afq.prototype={ +$2(a,b){var s,r=null,q=this.a,p=q.b +p===$&&A.a() +s=q.e +s===$&&A.a() +s=p.a8(0,s.gm(0)) +s.toString +p=q.f.c +return A.J0(p.b-s.d,A.a0f(A.Zb(b,r,q.d),!0,r),r,r,s.a,p.a-s.c,s.b,r)}, +$S:397} +A.afr.prototype={ +$0(){var s,r=this.a +r.x=!1 +this.b.cx.H(0,this) +s=r.e +s===$&&A.a() +r.Lo(s.gaF(0))}, +$S:0} +A.wv.prototype={ +qV(){var s,r,q,p=$.io() +A.q5(this) +if(p.a.get(this).cx.a)return +p=this.b.gaI(0) +s=A.o(p).h("aF") +r=A.a7(new A.aF(p,new A.a_J(),s),!1,s.h("j.E")) +for(p=r.length,q=0;q"),a=t.k2;s.q();){a0=s.gG(s) +a1=a0.a +a2=a0.b +a3=k.k(0,a1) +a4=j.k(0,a1) +if(a3==null)a5=null +else{a0=o.id +if(a0==null)a0=A.ab(A.R("RenderBox was not laid out: "+A.t(o).i(0)+"#"+A.b4(o))) +a3.a.toString +a2.a.toString +a5=new A.afp(b4,q,a0,b2,b3,a2,a3,p,r,b5,a4!=null)}if(a5!=null&&a5.gmi()){k.A(0,a1) +if(a4!=null){a0=a4.f +a6=a0.a +if(a6===B.bQ&&a5.a===B.bR){a0=a4.e +a0===$&&A.a() +a0.sct(0,new A.fO(a5.gbJ(0),new A.bh(A.b([],h),g),0)) +a0=a4.b +a0===$&&A.a() +a4.b=new A.yI(a0,a0.b,a0.a,a)}else{a6=a6===B.bR&&a5.a===B.bQ +a7=a4.e +if(a6){a7===$&&A.a() +a0=a5.gbJ(0) +a6=a4.f.gbJ(0).gm(0) +a7.sct(0,new A.b0(c.a(a0),new A.aR(a6,1,d),b)) +a0=a4.f +a6=a0.f +a7=a5.r +if(a6!==a7){a6.nY(!0) +a7.yQ() +a0=a4.f +a0.toString +a6=a4.b +a6===$&&A.a() +a4.b=a0.qI(a6.b,a5.gya())}else{a6=a4.b +a6===$&&A.a() +a4.b=a0.qI(a6.b,a6.a)}}else{a6=a4.b +a6===$&&A.a() +a7===$&&A.a() +a4.b=a0.qI(a6.a8(0,a7.gm(0)),a5.gya()) +a4.c=null +a0=a5.a +a6=a4.e +if(a0===B.bR)a6.sct(0,new A.fO(a5.gbJ(0),new A.bh(A.b([],h),g),0)) +else a6.sct(0,a5.gbJ(0)) +a4.f.f.nY(!0) +a4.f.r.nY(!0) +a5.f.yR(a0===B.bQ) +a5.r.yQ() +a0=a4.r.r.gbv() +if(a0!=null)a0.uY()}}a0=a4.f +if(a0!=null){a0=a0.Q +if(a0!=null){a6=a0.a +a0=a0.gnw() +a7=a6.bL$ +a7.b=!0 +a8=a7.c +if(a8===$){a9=A.cC(a7.$ti.c) +a7.c!==$&&A.a0() +a7.c=a9 +a8=a9}if(a8.a>0){a8.b=a8.c=a8.d=a8.e=null +a8.a=0}if(B.b.A(a7.a,a0))a6.m_()}}a4.f=a5}else{a0=new A.kl(i,B.cY) +a6=A.b([],h) +a7=new A.bh(a6,g) +b0=new A.of(a7,new A.bh(A.b([],f),e),0) +b0.a=B.y +b0.b=0 +b0.bm() +a7.b=!0 +a6.push(a0.gK4()) +a0.e=b0 +a0.UB(0,a5) +j.n(0,a1,a0)}}else if(a4!=null)a4.w=!0}for(s=k.gaI(k),s=s.ga0(s);s.q();)s.gG(s).PM()}, +a27(a){var s=this.b.A(0,a.f.f.a.c) +if(s!=null)s.l()}, +a_H(a,b,c,d,e){var s,r,q=e.e +q.toString +t.rA.a(q) +s=A.d9(e,null) +r=A.d9(d,null) +if(s==null||r==null)return q.e +return A.pt(b,new A.a_H(s,c,r.r,s.r,b,q),null)}, +l(){var s,r,q +for(s=this.b.gaI(0),r=A.o(s),s=new A.bt(J.al(s.a),s.b,r.h("bt<1,2>")),r=r.y[1];s.q();){q=s.a;(q==null?r.a(q):q).l()}}} +A.a_J.prototype={ +$1(a){var s=a.f,r=!1 +if(s.y)if(s.a===B.bR){s=a.e +s===$&&A.a() +s=s.gaF(0)===B.y}else s=r +else s=r +return s}, +$S:400} +A.a_I.prototype={ +$1(a){var s=this,r=s.b +if(r.a==null||s.c.a==null)return +s.a.MB(r,s.c,s.d,s.e)}, +$S:6} +A.a_H.prototype={ +$2(a,b){var s=this,r=s.c,q=s.d,p=s.e +r=s.b===B.bQ?new A.vR(r,q).a8(0,p.gm(p)):new A.vR(q,r).a8(0,p.gm(p)) +return A.xh(s.f.e,s.a.CV(r))}, +$S:401} +A.nA.prototype={ +K(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=null,e=a.a7(t.I) +e.toString +s=e.w +r=A.ar0(a) +e=g.d +q=e==null?r.a:e +if(q==null)q=14 +if(r.x===!0){e=A.d9(a,B.jR) +e=e==null?f:e.gdl() +p=q*(e==null?B.ag:e).a}else p=q +o=r.b +n=r.c +m=r.d +l=r.e +k=g.c +j=r.gdk(0) +if(j==null)j=1 +i=g.x +if(i==null){e=r.f +e.toString +i=e}if(j!==1)i=A.Z(B.c.a2(255*((i.gm(i)>>>24&255)/255*j)),i.gm(i)>>>16&255,i.gm(i)>>>8&255,i.gm(i)&255) +e=A.b([],t.uf) +if(o!=null)e.push(new A.iC("FILL",o)) +if(n!=null)e.push(new A.iC("wght",n)) +if(m!=null)e.push(new A.iC("GRAD",m)) +if(l!=null)e.push(new A.iC("opsz",l)) +h=A.amY(f,f,f,B.MF,f,f,!0,f,A.zP(f,A.fb(f,f,i,f,f,f,f,f,"MaterialIcons",f,f,p,f,e,f,f,1,!1,B.t,f,f,f,f,r.w,f,f),A.dN(k.a)),B.aP,s,f,B.ag,B.aC) +if(k.d)switch(s.a){case 0:e=new A.bj(new Float64Array(16)) +e.dH() +e.jV(0,-1,1,1) +h=A.anr(B.a2,h,f,e,!1) +break +case 1:break}return A.cN(f,f,new A.w4(!0,A.i4(A.EO(h,f,f),p,p),f),!1,f,!1,f,f,f,f,f,g.z,f,f,f,f,f,f,f,f,f,f,f,f,f,f)}} +A.hQ.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.hQ&&b.a===this.a&&b.d===this.d&&A.ds(null,null)}, +gt(a){return A.P(this.a,"MaterialIcons",null,this.d,A.bO(B.F2),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"IconData(U+"+B.d.mm(B.f.ia(this.a,16).toUpperCase(),5,"0")+")"}} +A.nC.prototype={ +bT(a){return!this.w.j(0,a.w)}, +mB(a,b,c){return A.a0d(c,this.w,null)}} +A.a0e.prototype={ +$1(a){return A.a0d(this.c,A.ar_(a).ce(this.b),this.a)}, +$S:402} +A.cD.prototype={ +qH(a,b,c,d,e,f,g,h,i){var s=this,r=h==null?s.a:h,q=c==null?s.b:c,p=i==null?s.c:i,o=d==null?s.d:d,n=f==null?s.e:f,m=b==null?s.f:b,l=e==null?s.gdk(0):e,k=g==null?s.w:g +return new A.cD(r,q,p,o,n,m,l,k,a==null?s.x:a)}, +fw(a){var s=null +return this.qH(s,a,s,s,s,s,s,s,s)}, +ce(a){return this.qH(a.x,a.f,a.b,a.d,a.gdk(0),a.e,a.w,a.a,a.c)}, +X(a,b){return this}, +gdk(a){var s=this.r +if(s==null)s=null +else s=A.N(s,0,1) +return s}, +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return b instanceof A.cD&&b.a==s.a&&b.b==s.b&&b.c==s.c&&b.d==s.d&&b.e==s.e&&J.e(b.f,s.f)&&b.gdk(0)==s.gdk(0)&&A.ds(b.w,s.w)&&b.x==s.x}, +gt(a){var s=this,r=s.gdk(0),q=s.w +q=q==null?null:A.bO(q) +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,r,q,s.x,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Ol.prototype={} +A.qj.prototype={ +ai(){return new A.AZ()}} +A.AZ.prototype={ +an(){var s=this +s.aJ() +$.ai.cd$.push(s) +s.z=new A.FP(s)}, +l(){var s,r=this +$.ai.tg(r) +r.a7e() +s=r.at +if(s!=null)s.l() +s=r.z +s===$&&A.a() +s.a=null +r.Br(null) +r.aB()}, +bi(){var s,r=this +r.a7L() +r.LT() +s=r.c +s.toString +if(A.asY(s))r.a4_() +else r.MF(!0) +r.d_()}, +aG(a){var s=this +s.b0(a) +if(s.r)s.a.toString +if(!s.a.c.j(0,a.c))s.LT()}, +a7L(){var s=this.c +s.toString +s=A.d9(s,B.T2) +s=s==null?null:s.Q +if(s==null){s=$.Kk.wB$ +s===$&&A.a() +s=(s.a&2)!==0}this.w=s}, +LT(){var s,r,q,p,o=this,n=o.z +n===$&&A.a() +s=o.a +r=s.c +q=o.c +q.toString +p=s.r +if(p!=null&&s.w!=null){p.toString +s=s.w +s.toString +s=new A.K(p,s)}else s=null +o.a80(new A.yT(n,r,t.JE).X(0,A.aoe(q,s)))}, +a13(a){var s=this,r=s.ax +if(r==null||a){s.as=s.Q=null +s.a.toString +r=s.ax=new A.hS(s.ga2k(),null,null)}r.toString +return r}, +uI(){return this.a13(!1)}, +a2l(a,b){this.ah(new A.afK(this,a,b))}, +Br(a){var s=this.e +$.bC.p2$.push(new A.afL(s)) +this.e=a}, +a80(a){var s,r,q=this,p=q.d +if(p==null)s=null +else{s=p.a +if(s==null)s=p}r=a.a +if(s===(r==null?a:r))return +if(q.r){p.toString +p.H(0,q.uI())}q.a.toString +q.ah(new A.afM(q)) +q.ah(new A.afN(q)) +q.d=a +if(q.r)a.Y(0,q.uI())}, +a4_(){var s,r=this +if(r.r)return +s=r.d +s.toString +s.Y(0,r.uI()) +s=r.at +if(s!=null)s.l() +r.at=null +r.r=!0}, +MF(a){var s,r,q=this +if(!q.r)return +s=!1 +if(a)if(q.at==null){s=q.d +s=(s==null?null:s.a)!=null}if(s){s=q.d.a +if(s.x)A.ab(A.R(u.V)) +r=new A.qp(s) +r.um(s) +q.at=r}s=q.d +s.toString +s.H(0,q.uI()) +q.r=!1}, +a7e(){return this.MF(!1)}, +K(a){var s,r,q,p,o,n,m,l,k=this,j=null +if(k.Q!=null)k.a.toString +s=k.e +r=s==null +q=r?j:s.a +p=r?j:s.c +o=k.a +n=o.r +m=o.w +s=r?j:s.b +if(s==null)s=1 +o=o.as +r=k.w +r===$&&A.a() +l=new A.Jd(q,p,n,m,s,j,j,B.db,j,o,B.a2,B.dd,j,!1,r,!1,j) +l=A.cN(j,j,l,!1,j,!1,j,j,j,!0,j,"",j,j,j,j,j,j,j,j,j,j,j,j,j,j) +return l}} +A.afK.prototype={ +$0(){var s,r=this.a +r.Br(this.b) +r.as=r.Q=r.f=null +s=r.x +r.x=s==null?0:s+1 +r.y=B.eH.yA(r.y,this.c)}, +$S:0} +A.afL.prototype={ +$1(a){var s=this.a +if(s!=null)s.a.l() +return null}, +$S:6} +A.afM.prototype={ +$0(){this.a.Br(null)}, +$S:0} +A.afN.prototype={ +$0(){var s=this.a +s.x=s.f=null +s.y=!1}, +$S:0} +A.Tb.prototype={} +A.Fw.prototype={ +ej(a){var s=A.Xq(this.a,this.b,a) +s.toString +return s}} +A.vR.prototype={ +ej(a){var s=A.Ym(this.a,this.b,a) +s.toString +return s}} +A.mU.prototype={ +ej(a){return A.pC(this.a,this.b,a)}} +A.oK.prototype={ +ej(a){var s=A.aW(this.a,this.b,a) +s.toString +return s}} +A.H1.prototype={} +A.qq.prototype={ +gls(){var s,r=this,q=r.d +if(q===$){s=A.cG(null,r.a.d,null,null,r) +r.d!==$&&A.a0() +r.d=s +q=s}return q}, +gfW(){var s,r=this,q=r.e +if(q===$){s=r.gls() +q=r.e=A.cZ(r.a.c,s,null)}return q}, +an(){var s,r=this +r.aJ() +s=r.gls() +s.bm() +s=s.bL$ +s.b=!0 +s.a.push(new A.a0M(r)) +r.IR()}, +aG(a){var s,r=this +r.b0(a) +if(r.a.c!==a.c){r.gfW().l() +s=r.gls() +r.e=A.cZ(r.a.c,s,null)}r.gls().e=r.a.d +if(r.IR()){r.rm(new A.a0L(r)) +s=r.gls() +s.sm(0,0) +s.bY(0)}}, +l(){this.gfW().l() +this.gls().l() +this.X_()}, +a82(a,b){if(a==null)return +a.sCB(a.a8(0,this.gfW().gm(0))) +a.snX(0,b)}, +IR(){var s={} +s.a=!1 +this.rm(new A.a0K(s,this)) +return s.a}} +A.a0M.prototype={ +$1(a){if(a===B.X)this.a.a.toString}, +$S:7} +A.a0L.prototype={ +$3(a,b,c){this.a.a82(a,b) +return a}, +$S:157} +A.a0K.prototype={ +$3(a,b,c){var s +if(b!=null){if(a==null)a=c.$1(b) +s=a.b +if(!J.e(b,s==null?a.a:s))this.a.a=!0 +else if(a.b==null)a.snX(0,a.a)}else a=null +return a}, +$S:157} +A.pu.prototype={ +an(){this.Vj() +var s=this.gls() +s.bm() +s=s.cb$ +s.b=!0 +s.a.push(this.ga1q())}, +a1r(){this.ah(new A.UT())}} +A.UT.prototype={ +$0(){}, +$S:0} +A.ut.prototype={ +ai(){return new A.LX(null,null)}} +A.LX.prototype={ +rm(a){this.CW=t.Dh.a(a.$3(this.CW,this.a.w,new A.acw()))}, +K(a){var s=this.CW +s.toString +s=s.a8(0,this.gfW().gm(0)) +return A.n7(this.a.r,null,B.c8,!0,s,null,null,B.aC)}} +A.acw.prototype={ +$1(a){return new A.oK(t.em.a(a),null)}, +$S:405} +A.uv.prototype={ +ai(){return new A.LY(null,null)}} +A.LY.prototype={ +rm(a){var s=this,r=s.CW +s.a.toString +s.CW=t.eJ.a(a.$3(r,B.ah,new A.acx())) +s.cx=t.ir.a(a.$3(s.cx,s.a.z,new A.acy())) +r=t.YJ +s.cy=r.a(a.$3(s.cy,s.a.Q,new A.acz())) +s.db=r.a(a.$3(s.db,s.a.at,new A.acA()))}, +K(a){var s,r,q,p=this,o=p.a.x,n=p.CW +n.toString +n=n.a8(0,p.gfW().gm(0)) +s=p.cx +s.toString +s=s.a8(0,p.gfW().gm(0)) +r=p.a.Q +q=p.db +q.toString +q=q.a8(0,p.gfW().gm(0)) +q.toString +return new A.IQ(B.b7,o,n,s,r,q,p.a.r,null)}} +A.acx.prototype={ +$1(a){return new A.mU(t.m3.a(a),null)}, +$S:406} +A.acy.prototype={ +$1(a){return new A.aR(A.bD(a),null,t.H7)}, +$S:106} +A.acz.prototype={ +$1(a){return new A.iv(t.n8.a(a),null)}, +$S:60} +A.acA.prototype={ +$1(a){return new A.iv(t.n8.a(a),null)}, +$S:60} +A.tp.prototype={ +l(){var s=this,r=s.dU$ +if(r!=null)r.H(0,s.gnx()) +s.dU$=null +s.aB()}, +bI(){this.dL() +this.d3() +this.ny()}} +A.h9.prototype={ +bh(a){return new A.wJ(A.fx(null,null,null,t.Y,t.X),this,B.a1,A.o(this).h("wJ"))}} +A.wJ.prototype={ +SJ(a,b){var s=this.a5,r=this.$ti,q=r.h("ba<1>?").a(s.k(0,a)),p=q==null +if(!p&&q.gM(q))return +if(b==null)s.n(0,a,A.cC(r.c)) +else{p=p?A.cC(r.c):q +p.D(0,r.c.a(b)) +s.n(0,a,p)}}, +Rl(a,b){var s,r=this.$ti,q=r.h("ba<1>?").a(this.a5.k(0,b)) +if(q==null)return +if(!q.gM(q)){s=this.e +s.toString +s=r.h("h9<1>").a(s).FY(a,q) +r=s}else r=!0 +if(r)b.bi()}} +A.iF.prototype={ +bT(a){return a.f!==this.f}, +bh(a){var s=new A.tq(A.fx(null,null,null,t.Y,t.X),this,B.a1,A.o(this).h("tq")) +this.f.Y(0,s.gAT()) +return s}} +A.tq.prototype={ +b2(a,b){var s,r,q=this,p=q.e +p.toString +s=q.$ti.h("iF<1>").a(p).f +r=b.f +if(s!==r){p=q.gAT() +s.H(0,p) +r.Y(0,p)}q.VM(0,b)}, +bt(){var s,r=this +if(r.dV){s=r.e +s.toString +r.H4(r.$ti.h("iF<1>").a(s)) +r.dV=!1}return r.VL()}, +a3u(){this.dV=!0 +this.kT()}, +ou(a){this.H4(a) +this.dV=!1}, +mx(){var s=this,r=s.e +r.toString +s.$ti.h("iF<1>").a(r).f.H(0,s.gAT()) +s.z5()}} +A.cU.prototype={} +A.a0Q.prototype={ +$1(a){var s,r,q +if(a===this.a)return!1 +if(a instanceof A.f4){s=a.e +s.toString +s=s instanceof A.cU}else s=!1 +if(s){s=a.e +s.toString +t.og.a(s) +r=A.t(s) +q=this.b +if(!q.p(0,r)){q.D(0,r) +this.c.push(s)}}return!0}, +$S:31} +A.Wk.prototype={} +A.Mr.prototype={ +K(a){var s,r,q,p=this.d +for(s=this.c,r=s.length,q=0;qs.b?B.Ig:B.If}, +wa(a,b,c,d){var s=this,r=b==null?s.gdl():b,q=a==null?s.r:a,p=d==null?s.w:d,o=c==null?s.f:c +return new A.xi(s.a,s.b,r,s.e,o,q,p,s.x,!1,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,!1)}, +aa1(a,b){return this.wa(a,null,null,b)}, +OS(a){return this.wa(null,a,null,null)}, +CV(a){return this.wa(a,null,null,null)}, +aa3(a,b){return this.wa(null,null,a,b)}, +S7(a,b,c,d){var s,r,q,p,o,n,m=this,l=null +if(!(b||d||c||a))return m +s=m.r +r=b?0:l +q=d?0:l +p=c?0:l +r=s.lQ(a?0:l,r,p,q) +q=m.w +p=b?Math.max(0,q.a-s.a):l +o=d?Math.max(0,q.b-s.b):l +n=c?Math.max(0,q.c-s.c):l +return m.aa1(r,q.lQ(a?Math.max(0,q.d-s.d):l,p,n,o))}, +afj(a){var s=this,r=null,q=s.w,p=s.f,o=Math.max(0,q.d-p.d) +q=q.lQ(o,r,r,r) +return s.aa3(p.lQ(0,r,r,r),q)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.xi)if(b.a.j(0,r.a))if(b.b===r.b)if(b.gdl().a===r.gdl().a)if(b.e===r.e)if(b.r.j(0,r.r))if(b.w.j(0,r.w))if(b.f.j(0,r.f))if(b.x.j(0,r.x))if(b.as===r.as)if(b.at===r.at)if(b.ax===r.ax)if(b.Q===r.Q)if(b.z===r.z)if(b.ay===r.ay)if(b.ch===r.ch)if(b.CW.j(0,r.CW))s=A.ds(b.cx,r.cx) +return s}, +gt(a){var s=this +return A.P(s.a,s.b,s.gdl().a,s.e,s.r,s.w,s.f,!1,s.as,s.at,s.ax,s.Q,s.z,s.ay,s.ch,s.CW,A.bO(s.cx),!1,B.a,B.a)}, +i(a){var s=this +return"MediaQueryData("+B.b.bD(A.b(["size: "+s.a.i(0),"devicePixelRatio: "+B.c.R(s.b,1),"textScaler: "+s.gdl().i(0),"platformBrightness: "+s.e.i(0),"padding: "+s.r.i(0),"viewPadding: "+s.w.i(0),"viewInsets: "+s.f.i(0),"systemGestureInsets: "+s.x.i(0),"alwaysUse24HourFormat: false","accessibleNavigation: "+s.z,"highContrast: "+s.as,"onOffSwitchLabels: "+s.at,"disableAnimations: "+s.ax,"invertColors: "+s.Q,"boldText: "+s.ay,"navigationMode: "+s.ch.b,"gestureSettings: "+s.CW.i(0),"displayFeatures: "+A.h(s.cx),"supportsShowingSystemContextMenu: false"],t.s),", ")+")"}} +A.iL.prototype={ +bT(a){return!this.w.j(0,a.w)}, +FY(a,b){return b.jg(0,new A.a4p(this,a))}} +A.a4q.prototype={ +$1(a){var s=A.bY(a,null,t.w).w,r=s.gdl(),q=r.a,p=A.N(q,this.a,this.b) +return A.xh(this.c,s.OS(p===q?r:new A.ig(p)))}, +$S:411} +A.a4p.prototype={ +$1(a){var s=this,r=!1 +if(a instanceof A.dT)switch(a.a){case 0:r=!s.a.w.a.j(0,s.b.w.a) +break +case 1:r=s.a.w.goy(0)!==s.b.w.goy(0) +break +case 2:r=s.a.w.b!==s.b.w.b +break +case 3:r=s.a.w.gdl().a!==s.b.w.gdl().a +break +case 4:r=!s.a.w.gdl().j(0,s.b.w.gdl()) +break +case 5:r=s.a.w.e!==s.b.w.e +break +case 6:r=!s.a.w.r.j(0,s.b.w.r) +break +case 7:r=!s.a.w.f.j(0,s.b.w.f) +break +case 9:r=!s.a.w.w.j(0,s.b.w.w) +break +case 12:r=s.a.w.Q!==s.b.w.Q +break +case 13:r=s.a.w.as!==s.b.w.as +break +case 14:r=s.a.w.at!==s.b.w.at +break +case 15:r=s.a.w.ax!==s.b.w.ax +break +case 16:r=s.a.w.ay!==s.b.w.ay +break +case 17:r=s.a.w.ch!==s.b.w.ch +break +case 18:r=!s.a.w.CW.j(0,s.b.w.CW) +break +case 19:r=s.a.w.cx!==s.b.w.cx +break +case 8:r=!s.a.w.x.j(0,s.b.w.x) +break +case 11:r=s.a.w.z!==s.b.w.z +break +case 10:break +case 20:break +default:r=null}return r}, +$S:412} +A.I3.prototype={ +F(){return"NavigationMode."+this.b}} +A.Bg.prototype={ +ai(){return new A.OR()}} +A.OR.prototype={ +an(){this.aJ() +$.ai.cd$.push(this)}, +bi(){this.d_() +this.a7O() +this.q6()}, +aG(a){var s,r=this +r.b0(a) +s=r.a +s.toString +if(r.e==null||a.c!==s.c)r.q6()}, +a7O(){var s,r=this +r.a.toString +s=r.c +s.toString +s=A.d9(s,null) +r.d=s +r.e=null}, +q6(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this,d=null,c=e.a.c,b=e.d,a=c.gjJ(),a0=$.br(),a1=a0.d +if(a1==null){a1=self.window.devicePixelRatio +if(a1===0)a1=1}a1=a.ds(0,a1) +a=a0.d +if(a==null){a=self.window.devicePixelRatio +if(a===0)a=1}s=b==null +r=s?d:b.gdl().a +if(r==null)r=c.b.c.e +q=r===1?B.ag:new A.ig(r) +p=s?d:b.e +if(p==null)p=c.b.c.d +o=a0.d +if(o==null){o=self.window.devicePixelRatio +if(o===0)o=1}o=A.Yl(B.cK,o) +n=a0.d +if(n==null){n=self.window.devicePixelRatio +if(n===0)n=1}n=A.Yl(B.cK,n) +m=c.ay +l=a0.d +if(l==null){l=self.window.devicePixelRatio +if(l===0)l=1}l=A.Yl(m,l) +a0=a0.d +if(a0==null){a0=self.window.devicePixelRatio +if(a0===0)a0=1}a0=A.Yl(B.cK,a0) +m=s?d:b.z +if(m==null)m=(c.b.c.a.a&1)!==0 +k=s?d:b.Q +if(k==null)k=(c.b.c.a.a&2)!==0 +j=s?d:b.ax +if(j==null)j=(c.b.c.a.a&4)!==0 +i=s?d:b.ay +if(i==null)i=(c.b.c.a.a&8)!==0 +h=s?d:b.as +if(h==null)h=(c.b.c.a.a&32)!==0 +g=s?d:b.at +c=g==null?(c.b.c.a.a&64)!==0:g +g=s&&d +b=s?d:b.ch +if(b==null)b=B.dI +s=s&&d +f=new A.xi(a1,a,q,p,l,o,n,a0,g===!0,m,k,h,c,j,i,b,new A.vz(d),B.EY,s===!0) +if(!f.j(0,e.e))e.ah(new A.agx(e,f))}, +Pk(){this.q6()}, +Pm(){if(this.d==null)this.q6()}, +Pl(){if(this.d==null)this.q6()}, +l(){$.ai.tg(this) +this.aB()}, +K(a){var s=this.e +s.toString +return A.xh(this.a.e,s)}} +A.agx.prototype={ +$0(){this.a.e=this.b}, +$S:0} +A.Te.prototype={} +A.HR.prototype={ +K(a){var s,r,q,p,o,n,m,l,k,j=this,i=null +switch(A.el().a){case 1:case 3:case 5:s=!1 +break +case 0:case 2:case 4:s=!0 +break +default:s=i}r=j.d&&s +q=new A.a4T(j,a) +p=r&&j.r!=null?q:i +o=r&&j.r!=null?q:i +n=r?j.r:i +if(r&&j.r!=null){m=a.a7(t.I) +m.toString +m=m.w}else m=i +l=j.c +k=A.cN(i,i,A.HT(new A.h2(B.h8,l==null?i:new A.ve(l,i,i),i),B.bf,i,i,i,i),!1,i,!1,i,i,i,i,i,n,i,i,o,i,i,p,j.x,i,i,i,i,m,i,i) +return A.azE(new A.w4(!r,new A.P0(k,q,i),i))}} +A.a4T.prototype={ +$0(){if(this.a.d)A.arF(this.b) +else A.zC(B.Mu)}, +$S:0} +A.t_.prototype={ +f0(a){if(this.a5==null)return!1 +return this.p9(a)}, +Qo(a){}, +Qp(a,b){var s=this.a5 +if(s!=null)this.dX("onAnyTapUp",s)}, +wV(a,b,c){}} +A.M3.prototype={ +CP(){var s=t.S +return new A.t_(B.aT,18,B.bP,A.E(s,t.d),A.cC(s),null,null,A.al7(),A.E(s,t.Au))}, +QF(a){a.a5=this.a}} +A.P0.prototype={ +K(a){return new A.lM(this.c,A.an([B.RO,new A.M3(this.d)],t.u,t.xR),B.ae,!1,null)}} +A.I4.prototype={ +K(a){var s,r,q=this,p=a.a7(t.I) +p.toString +s=A.b([],t.D) +r=q.c +if(r!=null)s.push(A.a1z(r,B.fZ)) +r=q.d +if(r!=null)s.push(A.a1z(r,B.h_)) +r=q.e +if(r!=null)s.push(A.a1z(r,B.h0)) +return new A.vq(new A.aiX(q.f,q.r,p.w),s,null)}} +A.CJ.prototype={ +F(){return"_ToolbarSlot."+this.b}} +A.aiX.prototype={ +xH(a){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(h.b.k(0,B.fZ)!=null){s=a.a +r=a.b +q=h.d9(B.fZ,new A.aq(0,s,r,r)).a +switch(h.f.a){case 0:s-=q +break +case 1:s=0 +break +default:s=null}h.eJ(B.fZ,new A.m(s,0))}else q=0 +if(h.b.k(0,B.h0)!=null){p=h.d9(B.h0,A.Vq(a)) +switch(h.f.a){case 0:s=0 +break +case 1:s=a.a-p.a +break +default:s=null}o=p.a +h.eJ(B.h0,new A.m(s,(a.b-p.b)/2))}else o=0 +if(h.b.k(0,B.h_)!=null){s=a.a +r=h.e +n=Math.max(s-q-o-r*2,0) +m=h.d9(B.h_,A.Vq(a).a9T(n)) +l=q+r +if(h.d){k=m.a +j=(s-k)/2 +i=s-o +if(j+k>i)j=i-k-r +else if(j")),s=s.c;q.q();){r=q.d +if(r==null)r=s.a(r) +if(r.a===this)return!1 +r=r.d.a +if(r<=10&&r>=1)return!0}return!1}, +gQN(){var s=this.a +if(s==null)s=null +else{s=s.Jt(A.atJ(this)) +s=s==null?null:s.gQS()}return s===!0}} +A.a8i.prototype={ +$1(a){var s,r=this.a.a +if(r==null)s=null +else{r.a.toString +s=!0}if(s===!0){r=r.y.geC() +if(r!=null)r.oG()}}, +$S:21} +A.a8h.prototype={ +$1(a){var s=this.a.a +if(s!=null){s=s.y.geC() +if(s!=null)s.oG()}}, +$S:21} +A.i1.prototype={ +i(a){var s=this.a +s=s==null?"none":'"'+s+'"' +return"RouteSettings("+s+", "+A.h(this.b)+")"}} +A.nY.prototype={} +A.nx.prototype={ +bT(a){return a.f!=this.f}} +A.a8g.prototype={} +A.Ln.prototype={} +A.FD.prototype={} +A.xy.prototype={ +ai(){var s=null,r=A.b([],t.uD),q=$.aM(),p=t.Tp +return new A.iN(new A.O9(r,q),A.ay(t.Ez),new A.Ob(q),A.lw(s,p),A.lw(s,p),A.ame(!0,"Navigator",!0,!0,s,s,!1),new A.yG(0,q,t.dZ),new A.eL(!1,q),A.ay(t.S),s,A.E(t.yb,t.M),s,!0,s,s,s)}, +aev(a,b){return this.as.$2(a,b)}} +A.a5w.prototype={ +$1(a){return a==null}, +$S:413} +A.e5.prototype={ +F(){return"_RouteLifecycle."+this.b}} +A.R2.prototype={} +A.fU.prototype={ +gdc(){var s,r +if(this.c){s=t.sd.a(this.a.b) +s.gdc() +r=A.h(s.gdc()) +return"p+"+r}r=this.b +if(r!=null)return"r+"+r.gSk() +return null}, +aca(a,b,c,d){var s,r,q,p=this,o=p.d,n=p.a +n.a=b +n.mf() +s=p.d +if(s===B.xI||s===B.jV){s=n.p1 +r=s.gbv()!=null +if(r)n.a.a.toString +if(r){r=n.a.y.geC() +if(r!=null)r.yJ(s.gbv().f)}q=n.WL() +p.d=B.xJ +q.SR(new A.ahP(p,b))}else{if(c instanceof A.fF){s=n.ay +s.toString +r=c.ay.x +r===$&&A.a() +s.sm(0,r)}n.Wk(c) +p.d=B.eb}if(a){n.ze(null) +n.iv()}s=o===B.Ty||o===B.jV +r=b.w +if(s)r.dM(0,new A.Bq(n,d)) +else r.dM(0,new A.tz(n,d))}, +E3(a){var s=this +s.a.qT(a) +s.f=new A.pa(new ($.Ur())(a)) +if(s.w!=null)a.e.a.b_(0,new A.ahO(s),t.P)}, +ac9(a,b){var s,r=this +r.d=B.Tu +s=r.a +if((s.d.a.a&30)!==0)return!0 +if(!s.lZ(r.x)){r.d=B.eb +return!1}s.t2(!0,r.x) +if(r.c){t.sd.a(s.b) +a.a.toString}r.x=null +return!0}, +a9x(a,b,c){var s=this +if(s.d.a>=10)return +s.y=!c +s.x=b +s.d=B.TA}, +a9y(a,b,c){return this.a9x(0,b,c,t.z)}, +l(){var s,r,q,p,o,n,m,l=this,k={} +l.d=B.Tw +s=l.a +r=s.f +q=new A.ahM() +p=new A.aF(r,q,A.a_(r).h("aF<1>")) +if(!p.ga0(0).q()){l.d=B.fQ +s.l() +return}k.a=p.gu(0) +o=s.a +o.f.D(0,l) +for(s=B.b.ga0(r),q=new A.mb(s,q);q.q();){r=s.gG(0) +n=A.bk("listener") +m=new A.ahN(k,l,r,n,o) +n.b=m +r=r.e +if(r!=null)r.Y(0,m)}}, +gagd(){var s=this.d.a +return s<=7&&s>=1}, +gQS(){var s=this.d.a +return s<=10&&s>=1}} +A.ahP.prototype={ +$0(){var s=this.a +if(s.d===B.xJ){s.d=B.eb +this.b.uE()}}, +$S:0} +A.ahO.prototype={ +$1(a){var s=0,r=A.z(t.P),q=this,p,o +var $async$$1=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:p=A.el() +s=B.as===p?3:4 +break +case 3:o=q.a.w +s=5 +return A.B(A.qe(B.bb,null,t.H),$async$$1) +case 5:B.cS.li(0,B.lo.yb(o)) +s=2 +break +case 4:if(B.at===p){B.cS.li(0,B.lo.yb(q.a.w)) +s=2 +break}s=2 +break +case 2:return A.x(null,r)}}) +return A.y($async$$1,r)}, +$S:414} +A.ahM.prototype={ +$1(a){return a.gRj()}, +$S:415} +A.ahN.prototype={ +$0(){var s=this,r=s.a;--r.a +s.c.H(0,s.d.aP()) +if(r.a===0)return A.e6(new A.ahL(s.b,s.e))}, +$S:0} +A.ahL.prototype={ +$0(){var s=this.a +if(!this.b.f.A(0,s))return +s.d=B.fQ +s.a.l()}, +$S:0} +A.ahQ.prototype={ +$1(a){return a.a===this.a}, +$S:47} +A.mr.prototype={} +A.tz.prototype={ +ml(a){a.v6(this.b,this.a,B.bQ,!1)}} +A.ty.prototype={ +ml(a){var s=$.io() +A.q5(a) +if(!s.a.get(a).cx.a)a.v6(this.a,this.b,B.bR,!1)}} +A.Bp.prototype={ +ml(a){}} +A.Bq.prototype={ +ml(a){var s=this.a,r=s.gjz() +if(r)a.v6(this.b,s,B.bQ,!1)}} +A.O9.prototype={ +L(a,b){B.b.L(this.a,b) +if(J.fY(b))this.ae()}, +k(a,b){return this.a[b]}, +ga0(a){var s=this.a +return new J.c1(s,s.length,A.a_(s).h("c1<1>"))}, +i(a){return A.lo(this.a,"[","]")}, +$iaf:1} +A.iN.prototype={ +a2h(){var s,r,q=this,p=q.Ov(),o=A.bk("routeBlocksPop"),n=!p +if(n){s=q.pL(A.im()) +o.scr(s!=null&&s.a.gl2()===B.cE)}else o.scr(!1) +r=new A.lC(!n||o.aP()) +n=$.bC +switch(n.R8$.a){case 4:q.c.cC(r) +break +case 0:case 2:case 3:case 1:n.p2$.push(new A.a5t(q,r)) +break}}, +an(){var s,r,q,p,o=this +o.aJ() +for(s=o.a.y,r=0;!1;++r){q=s[r] +p=$.io() +A.q4(q) +p.a.set(q,o)}o.as=o.a.y +s=o.c.jS(t.mS) +if(s==null)s=null +else{s=s.e +s.toString}t._I.a(s) +o.BV(s==null?null:s.f) +o.a.toString +B.iN.x5("selectSingleEntryHistory",t.H) +$.ee.wz$.Y(0,o.gLy()) +o.e.Y(0,o.gKi())}, +a5P(){var s=this.e,r=A.jG(new A.aF(s,A.im(),A.o(s).h("aF"))) +if(r!=null)r.w=$.ee.wz$.a}, +jL(a,b){var s,r,q,p,o,n,m,l=this +l.oA(l.at,"id") +s=l.r +l.oA(s,"history") +l.JB() +l.d=new A.bv(null,t.ku) +r=l.e +r.L(0,s.Sl(null,l)) +l.a.toString +q=r.a +p=0 +for(;!1;++p){o=B.EW[p] +n=l.c +n.toString +m=new A.fU(o.D2(n),null,!0,B.jT,B.b9,new A.pa(new ($.Ur())(B.b9)),B.b9) +q.push(m) +r.ae() +n=s.Sl(m,l) +B.b.L(q,n) +if(B.b.gbd(n))r.ae()}if(s.y==null){s=l.a +q=s.r +r.L(0,J.kJ(s.aev(l,q),new A.a5v(l),t.Ez))}l.uE()}, +Dp(a){var s,r=this +r.Wc(a) +s=r.r +if(r.bC$!=null)s.b2(0,r.e) +else s.J(0)}, +gdc(){return this.a.z}, +bi(){var s,r,q,p,o,n=this +n.X4() +s=n.c.a7(t.mS) +n.BV(s==null?null:s.f) +for(r=n.e.a,q=A.a_(r),r=new J.c1(r,r.length,q.h("c1<1>")),q=q.c;r.q();){p=r.d +p=(p==null?q.a(p):p).a +p.HB() +o=p.p4 +o===$&&A.a() +o=o.r.gbv() +if(o!=null)o.uY() +p=p.p1 +if(p.gbv()!=null)p.gbv().JA()}}, +JB(){var s,r,q +this.f.Ah(new A.a5s(),!0) +for(s=this.e,r=s.a;!s.gM(0);){q=r.pop() +s.ae() +A.arE(q,!1)}}, +BV(a){var s,r,q=this +if(q.Q!=a){if(a!=null)$.io().n(0,a,q) +s=q.Q +if(s==null)s=null +else{r=$.io() +A.q5(s) +s=r.a.get(s)}if(s===q){s=$.io() +r=q.Q +r.toString +s.n(0,r,null)}q.Q=a +q.Nk()}}, +Nk(){var s=this,r=s.Q,q=s.a +if(r!=null)s.as=B.b.a4(q.y,A.b([r],t.tc)) +else s.as=q.y}, +aG(a){var s,r,q,p,o,n,m=this +m.X5(a) +s=a.y +if(s!==m.a.y){for(r=0;!1;++r){q=s[r] +p=$.io() +A.q4(q) +p.a.set(q,null)}for(s=m.a.y,r=0;!1;++r){q=s[r] +p=$.io() +A.q4(q) +p.a.set(q,m)}m.Nk()}m.a.toString +for(s=m.e.a,p=A.a_(s),s=new J.c1(s,s.length,p.h("c1<1>")),p=p.c;s.q();){o=s.d +o=(o==null?p.a(o):o).a +o.HB() +n=o.p4 +n===$&&A.a() +n=n.r.gbv() +if(n!=null)n.uY() +o=o.p1 +if(o.gbv()!=null)o.gbv().JA()}}, +cQ(){var s,r,q,p,o=this.as +o===$&&A.a() +s=o.length +r=0 +for(;r")),r=r.c;s.q();){q=s.d +B.b.L(p,(q==null?r.a(q):q).a.f)}return p}, +Am(b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9=this,b0=null +a9.ch=!0 +s=a9.e +r=s.gu(0)-1 +q=s.a +p=q[r] +o=r>0?q[r-1]:b0 +n=A.b([],t.uD) +$label0$1:for(m=a9.x,l=a9.w,k=t.G,j=t.Q,i=t.c,h=t.wi,g=b0,f=g,e=!1,d=!1;r>=0;){c=!0 +b=!0 +switch(p.d.a){case 1:a=a9.kb(r-1,A.im()) +a0=a>=0?q[a]:b0 +a0=a0==null?b0:a0.a +a1=p.a +a1.a=a9 +a1.HG() +a2=A.dR.prototype.gbJ.call(a1,0) +a3=new A.of(new A.bh(A.b([],k),j),new A.bh(A.b([],i),h),0) +a3.c=a2 +if(a2==null){a3.a=B.y +a3.b=0}a1.k2=a3 +a2=A.dR.prototype.gyE.call(a1) +a3=new A.of(new A.bh(A.b([],k),j),new A.bh(A.b([],i),h),0) +a3.c=a2 +a1.k3=a3 +p.d=B.Tx +l.dM(0,new A.tz(a1,a0)) +continue $label0$1 +case 2:if(e||f==null){a0=p.a +a1=a0.p1 +a2=a1.gbv()!=null +if(a2)a0.a.a.toString +if(a2){a2=a0.a.y +a4=a2.ay +if(a4==null){a3=a2.Q +a4=a2.ay=a3==null?b0:a3.gfI()}if(a4!=null){a1=a1.gbv().f +if(a1.Q==null)a4.vl(a1) +if(a4.giE())a1.ik(!0) +else a1.lE()}}a0.WJ() +p.d=B.eb +if(f==null){a0.ze(b0) +a0.iv()}continue $label0$1}break +case 3:case 4:case 6:a0=o==null?b0:o.a +a=a9.kb(r-1,A.im()) +a1=a>=0?q[a]:b0 +a1=a1==null?b0:a1.a +p.aca(f==null,a9,a0,a1) +if(p.d===B.eb)continue $label0$1 +break +case 5:if(!d&&g!=null)p.E3(g) +d=b +break +case 7:if(!d&&g!=null)p.E3(g) +d=b +e=c +break +case 8:a=a9.kb(r,A.Dz()) +a0=a>=0?q[a]:b0 +if(!p.ac9(a9,a0==null?b0:a0.a))continue $label0$1 +if(!d){if(g!=null)p.E3(g) +g=p.a}a0=p.a +a=a9.kb(r,A.Dz()) +a1=a>=0?q[a]:b0 +m.dM(0,new A.ty(a0,a1==null?b0:a1.a)) +if(p.d===B.jU)continue $label0$1 +e=c +break +case 11:break +case 9:a0=p.a +a1=p.x +if(a1==null)a1=b0 +a0=a0.d.a +if((a0.a&30)!==0)A.ab(A.R("Future already completed")) +a0.k8(a1) +p.x=null +p.d=B.Tt +continue $label0$1 +case 10:if(!d){if(g!=null){a0=p.a +a0.HF(g) +a0.iv() +a0.L1()}g=b0}a=a9.kb(r,A.Dz()) +a0=a>=0?q[a]:b0 +a0=a0==null?b0:a0.a +p.d=B.Tv +if(p.y)m.dM(0,new A.Bp(p.a,a0)) +continue $label0$1 +case 12:if(!e&&f!=null)break +if(p.c)a9.a.toString +p.d=B.jU +continue $label0$1 +case 13:p=B.b.f9(q,r) +s.ae() +n.push(p) +p=f +break +case 14:case 15:case 0:break}--r +a5=r>0?q[r-1]:b0 +f=p +p=o +o=a5}a9.a0B() +a9.a0D() +a9.a.toString +a6=a9.pL(A.im()) +a7=a6==null?b0:a6.a.b.a +if(a7!=null&&a7!==a9.ax){A.aEU(!1,b0,A.kc(a7,0,b0)) +a9.ax=a7}for(q=n.length,a8=0;a8=0;){s=l[k] +r=s.d.a +if(!(r<=12&&r>=3)){--k +continue}q=this.a1g(k+1,A.avJ()) +r=q==null +p=r?m:q.a +if(p!=s.r){if(!((r?m:q.a)==null&&J.e(s.f.a.deref(),s.r))){p=s.a +p.ze(r?m:q.a) +p.iv()}s.r=r?m:q.a}--k +o=this.kb(k,A.avJ()) +n=o>=0?l[o]:m +r=n==null +p=r?m:n.a +if(p!=s.e){p=s.a +p.Wg(r?m:n.a) +p.iv() +s.e=r?m:n.a}}}, +JU(a,b){a=this.kb(a,b) +return a>=0?this.e.a[a]:null}, +kb(a,b){var s=this.e.a +while(!0){if(!(a>=0&&!b.$1(s[a])))break;--a}return a}, +a1g(a,b){var s=this.e,r=s.a +while(!0){if(!(a?") +q=r.a(this.a.w.$1(s)) +return q==null&&!b?r.a(this.a.x.$1(s)):q}, +Bz(a,b,c){return this.vo(a,!1,b,c)}, +aeS(a){var s=this.e +s.a.push(A.anK(a,B.xI,!1,null)) +s.ae() +this.uE() +this.zz() +return a.d.a}, +mq(a){return this.aeS(a,t.X)}, +Ov(){var s=this.e.ga0(0),r=new A.mb(s,A.im()) +if(!r.q())return!1 +s=s.gG(0).a.jo$ +if(s!=null&&s.length!==0)return!0 +if(!r.q())return!1 +return!0}, +rV(a){var s=0,r=A.z(t.y),q,p=this,o,n +var $async$rV=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)$async$outer:switch(s){case 0:n=p.pL(A.im()) +if(n==null){q=!1 +s=1 +break}o=n.a +s=3 +return A.B(o.ht(),$async$rV) +case 3:if(c===B.cE){q=!0 +s=1 +break}if(p.c==null){q=!0 +s=1 +break}if(n!==p.pL(A.im())){q=!0 +s=1 +break}switch(o.gl2().a){case 2:q=!1 +s=1 +break $async$outer +case 0:p.xL(a) +q=!0 +s=1 +break $async$outer +case 1:o.t2(!1,a) +q=!0 +s=1 +break $async$outer}case 1:return A.x(q,r)}}) +return A.y($async$rV,r)}, +ae7(a){return this.rV(a,t.X)}, +Rf(){return this.rV(null,t.X)}, +RA(a){var s=this,r=s.e.R1(0,A.im()) +if(r.c)s.a.toString +r.x=a +r.d=B.Tz +s.Am(!1) +s.zz()}, +fM(){return this.RA(null,t.X)}, +xL(a){return this.RA(a,t.X)}, +PX(a){var s,r=this,q=r.e.a,p=B.b.acX(q,A.atJ(a),0) +q=q[p] +if(q.c&&q.d.a<8){s=r.JU(p-1,A.Dz()) +s=s==null?null:s.a +r.x.dM(0,new A.ty(a,s))}q.d=B.jU +if(!r.ch)r.Am(!1)}, +sNI(a){this.CW=a +this.cx.sm(0,a>0)}, +aaG(){var s,r,q,p,o,n,m=this +m.sNI(m.CW+1) +if(m.CW===1){s=m.e +r=m.kb(s.gu(0)-1,A.Dz()) +q=s.a[r].a +s=q.jo$ +p=!(s!=null&&s.length!==0)&&r>0?m.JU(r-1,A.Dz()).a:null +s=m.as +s===$&&A.a() +o=s.length +n=0 +for(;n")),r=r.c;s.q();){q=s.d +if(q==null)q=r.a(q) +if(a.$1(q))return q}return null}, +pL(a){var s,r,q,p,o +for(s=this.e.a,r=A.a_(s),s=new J.c1(s,s.length,r.h("c1<1>")),r=r.c,q=null;s.q();){p=s.d +o=p==null?r.a(p):p +if(a.$1(o))q=o}return q}, +K(a){var s,r,q=this,p=null,o=q.ga2L(),n=A.q9(a),m=q.bC$,l=q.d +l===$&&A.a() +s=q.a.ax +if(l.gbv()==null){r=q.gI2() +r=J.lp(r.slice(0),A.a_(r).c)}else r=B.EX +return new A.nx(p,new A.cL(new A.a5u(q,a),A.x2(B.bs,new A.E0(!1,A.amf(A.q8(!0,p,A.abY(m,new A.qK(r,s,l)),p,p,p,q.y,!1,p,p,p,p,p,!0),n),p),o,q.ga4w(),p,p,o),p,t.w3),p)}} +A.a5t.prototype={ +$1(a){var s=this.a.c +if(s==null)return +s.cC(this.b)}, +$S:6} +A.a5v.prototype={ +$1(a){var s,r,q=a.b.a +if(q!=null){s=this.a.at +r=s.y +if(r==null)r=s.$ti.h("bJ.T").a(r) +s.Wb(0,r+1) +q=new A.P6(r,q,null,B.jW)}else q=null +return A.anK(a,B.jT,!1,q)}, +$S:418} +A.a5s.prototype={ +$1(a){a.d=B.fQ +a.a.l() +return!0}, +$S:47} +A.a5r.prototype={ +$0(){var s=this.a +if(s!=null)s.sNT(!0)}, +$S:0} +A.a5u.prototype={ +$1(a){if(a.a||!this.a.Ov())return!1 +this.b.cC(B.HI) +return!0}, +$S:147} +A.C3.prototype={ +F(){return"_RouteRestorationType."+this.b}} +A.QW.prototype={ +gQU(){return!0}, +w7(){return A.b([this.a.a],t.jl)}} +A.P6.prototype={ +w7(){var s=this,r=s.Xo(),q=A.b([s.c,s.d],t.jl),p=s.e +if(p!=null)q.push(p) +B.b.L(r,q) +return r}, +D2(a){var s=a.Bz(this.d,this.e,t.z) +s.toString +return s}, +gSk(){return this.c}} +A.acD.prototype={ +gQU(){return!1}, +w7(){A.aDg(this.d)}, +D2(a){var s=a.c +s.toString +return this.d.$2(s,this.e)}, +gSk(){return this.c}} +A.Ob.prototype={ +b2(a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this,b=null,a=c.y==null +if(a)c.y=A.E(t.N,t.UX) +s=t.jl +r=A.b([],s) +q=c.y +q.toString +p=J.b5(q,null) +if(p==null)p=B.eW +o=A.E(t.ob,t.UX) +q=c.y +q.toString +n=J.azq(J.alv(q)) +for(q=a1.a,m=A.a_(q),q=new J.c1(q,q.length,m.h("c1<1>")),m=m.c,l=b,k=a,j=!0;q.q();){i=q.d +h=i==null?m.a(i):i +if(h.d.a>7){i=h.a +i.c.sm(0,b) +continue}if(h.c){k=k||r.length!==J.cs(p) +if(r.length!==0){g=l==null?b:l.gdc() +o.n(0,g,r) +n.A(0,g)}j=h.gdc()!=null +i=h.a +f=j?h.gdc():b +i.c.sm(0,f) +if(j){r=A.b([],s) +i=c.y +i.toString +p=J.b5(i,h.gdc()) +if(p==null)p=B.eW}else{r=B.eW +p=B.eW}l=h +continue}if(j){i=h.b +i=i==null?b:i.gQU() +j=i===!0}else j=!1 +i=h.a +f=j?h.gdc():b +i.c.sm(0,f) +if(j){i=h.b +f=i.b +i=f==null?i.b=i.w7():f +if(!k){f=J.ax(p) +e=f.gu(p) +d=r.length +k=e<=d||!J.e(f.k(p,d),i)}else k=!0 +B.b.D(r,i)}}k=k||r.length!==J.cs(p) +c.a0p(r,l,o,n) +if(k||n.gbd(n)){c.y=o +c.ae()}}, +a0p(a,b,c,d){var s +if(a.length!==0){s=b==null?null:b.gdc() +c.n(0,s,a) +d.A(0,s)}}, +J(a){if(this.y==null)return +this.y=null +this.ae()}, +Sl(a,b){var s,r,q,p=A.b([],t.uD) +if(this.y!=null)s=a!=null&&a.gdc()==null +else s=!0 +if(s)return p +s=this.y +s.toString +r=J.b5(s,a==null?null:a.gdc()) +if(r==null)return p +for(s=J.al(r);s.q();){q=A.aGa(s.gG(s)) +p.push(new A.fU(q.D2(b),q,!1,B.jT,B.b9,new A.pa(new ($.Ur())(B.b9)),B.b9))}return p}, +we(){return null}, +od(a){a.toString +return J.azb(t.f.a(a),new A.afA(),t.ob,t.UX)}, +QE(a){this.y=a}, +oL(){return this.y}, +gnW(a){return this.y!=null}} +A.afA.prototype={ +$2(a,b){return new A.bw(A.cO(a),A.hT(t.j.a(b),!0,t.K),t.qE)}, +$S:419} +A.lC.prototype={ +i(a){return"NavigationNotification canHandlePop: "+this.a}} +A.agF.prototype={ +$2(a,b){if(!a.a)a.H(0,b)}, +$S:52} +A.Br.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.Bs.prototype={ +aG(a){this.b0(a) +this.qX()}, +bi(){var s,r,q,p,o=this +o.d_() +s=o.bC$ +r=o.goI() +q=o.c +q.toString +q=A.r8(q) +o.he$=q +p=o.nv(q,r) +if(r){o.jL(s,o.eD$) +o.eD$=!1}if(p)if(s!=null)s.l()}, +l(){var s,r=this +r.hd$.W(0,new A.agF()) +s=r.bC$ +if(s!=null)s.l() +r.bC$=null +r.X3()}} +A.T9.prototype={} +A.I6.prototype={ +i(a){var s=A.b([],t.s) +this.cB(s) +return"Notification("+B.b.bD(s,", ")+")"}, +cB(a){}} +A.cL.prototype={ +bh(a){return new A.Bt(this,B.a1,this.$ti.h("Bt<1>"))}} +A.Bt.prototype={ +Rq(a){var s,r=this.e +r.toString +s=this.$ti +s.h("cL<1>").a(r) +if(s.c.b(a))return r.d.$1(a) +return!1}, +ou(a){}} +A.hc.prototype={} +A.Ti.prototype={} +A.jO.prototype={ +sl_(a){var s +if(this.b===a)return +this.b=a +s=this.f +if(s!=null)s.J4()}, +srQ(a){if(this.c)return +this.c=!0 +this.f.J4()}, +gRj(){var s=this.e +return(s==null?null:s.a)!=null}, +Y(a,b){var s=this.e +if(s!=null)s.Y(0,b)}, +H(a,b){var s=this.e +if(s!=null)s.H(0,b)}, +i6(a){var s,r=this.f +r.toString +this.f=null +if(r.c==null)return +B.b.A(r.d,this) +s=$.bC +if(s.R8$===B.j2)s.p2$.push(new A.a5L(r)) +else r.KX()}, +kT(){var s=this.r.gbv() +if(s!=null)s.uY()}, +l(){var s,r=this +r.w=!0 +if(!r.gRj()){s=r.e +if(s!=null){s.O$=$.aM() +s.S$=0}r.e=null}}, +i(a){var s=this,r=A.b4(s),q=s.b,p=s.c,o=s.w?"(DISPOSED)":"" +return"#"+r+"(opaque: "+q+"; maintainState: "+p+")"+o}, +$iaf:1} +A.a5L.prototype={ +$1(a){this.a.KX()}, +$S:6} +A.km.prototype={ +ai(){return new A.Bu()}} +A.Bu.prototype={ +a56(a,b){var s,r,q,p=this.e +if(p==null)p=this.e=new A.nL(t.oM) +s=p.b===0?null:p.gT(0) +r=b.a +while(!0){q=s==null +if(!(!q&&s.a>r))break +s=s.gRE()}if(q){p.AZ(p.c,b,!0) +p.c=b}else s.hf$.AZ(s.hg$,b,!1)}, +gBk(){var s,r=this,q=r.f +if(q===$){s=r.A1(!1) +r.f!==$&&A.a0() +r.f=s +q=s}return q}, +A1(a){return new A.jf(this.a_t(a),t.bm)}, +a_t(a){var s=this +return function(){var r=a +var q=0,p=2,o,n,m,l +return function $async$A1(b,c,d){if(c===1){o=d +q=p}while(true)switch(q){case 0:l=s.e +if(l==null||l.b===0){q=1 +break}n=r?l.gT(0):l.gI(0) +case 3:if(!(n!=null)){q=4 +break}m=n.d +n=r?n.gRE():n.gkU(0) +q=m!=null?5:6 +break +case 5:q=7 +return b.b=m,1 +case 7:case 6:q=3 +break +case 4:case 1:return 0 +case 2:return b.c=o,3}}}}, +an(){var s,r=this +r.aJ() +r.a.c.e.sm(0,r) +s=r.c.wI(t.im) +s.toString +r.d=s}, +aG(a){var s,r=this +r.b0(a) +if(a.d!==r.a.d){s=r.c.wI(t.im) +s.toString +r.d=s}}, +l(){var s,r=this,q=r.a.c.e +if(q!=null)q.sm(0,null) +q=r.a.c +if(q.w){s=q.e +if(s!=null){s.O$=$.aM() +s.S$=0}q.e=null}r.e=null +r.aB()}, +K(a){var s=this.a,r=s.e,q=this.d +q===$&&A.a() +return new A.rK(r,new A.p3(q,this,s.c.a.$1(a),null),null)}, +uY(){this.ah(new A.agO())}} +A.agO.prototype={ +$0(){}, +$S:0} +A.qK.prototype={ +ai(){return new A.qN(A.b([],t.fy),null,null)}} +A.qN.prototype={ +an(){this.aJ() +this.ad5(0,this.a.c)}, +B_(a,b){return this.d.length}, +ad4(a,b){b.f=this +this.ah(new A.a5Q(this,null,null,b))}, +ad5(a,b){var s,r=b.length +if(r===0)return +for(s=0;s"),s=new A.co(s,r),s=new A.bR(s,s.gu(0),r.h("bR")),r=r.h("aD.E"),q=!0,p=0;s.q();){o=s.d +if(o==null)o=r.a(o) +if(q){++p +m.push(new A.km(o,n,!0,o.r)) +o=o.b +q=!o}else if(o.c)m.push(new A.km(o,n,!1,o.r))}s=t.MV +return new A.CI(m.length-p,n.a.d,A.a7(new A.co(m,s),!1,s.h("aD.E")),null)}} +A.a5Q.prototype={ +$0(){var s=this,r=s.a +B.b.jw(r.d,r.B_(s.b,s.c),s.d)}, +$S:0} +A.a5P.prototype={ +$0(){var s=this,r=s.a +B.b.Ev(r.d,r.B_(s.b,s.c),s.d)}, +$S:0} +A.a5R.prototype={ +$0(){var s,r,q=this,p=q.a,o=p.d +B.b.J(o) +s=q.b +B.b.L(o,s) +r=q.c +r.xY(s) +B.b.Ev(o,p.B_(q.d,q.e),r)}, +$S:0} +A.a5O.prototype={ +$0(){}, +$S:0} +A.a5N.prototype={ +$0(){}, +$S:0} +A.CI.prototype={ +bh(a){return new A.Sc(A.cC(t.Y),this,B.a1)}, +av(a){var s=a.a7(t.I) +s.toString +s=new A.my(s.w,this.e,this.f,A.aj(),0,null,null,new A.aN(),A.aj()) +s.aw() +s.L(0,null) +return s}, +aC(a,b){var s=this.e +if(b.a3!==s){b.a3=s +if(!b.aq)b.n3()}s=a.a7(t.I) +s.toString +b.sbS(s.w) +s=this.f +if(s!==b.al){b.al=s +b.ao() +b.b1()}}} +A.Sc.prototype={ +gU(){return t.im.a(A.fH.prototype.gU.call(this))}, +jx(a,b){var s,r +this.H8(a,b) +s=a.b +s.toString +t.i9.a(s) +r=this.e +r.toString +s.at=t.yI.a(t.f2.a(r).c[b.b]).c}, +jG(a,b,c){this.H9(a,b,c)}} +A.p4.prototype={ +e2(a){if(!(a.b instanceof A.dP))a.b=new A.dP(null,null,B.h)}, +h8(a){var s,r,q,p,o,n +for(s=this.lq(),s=s.ga0(s),r=t.B,q=null;s.q();){p=s.gG(s) +o=p.b +o.toString +r.a(o) +n=p.mD(a) +o=o.a +q=A.pB(q,n==null?null:n+o.b)}return q}, +d9(a,b){var s,r=a.b +r.toString +t.B.a(r) +s=this.gFJ().gBv() +if(!r.gmh()){a.bV(b,!0) +r.a=B.h}else A.asi(a,r,this.gv(0),s)}, +cW(a,b){var s,r,q,p=this.zG(),o=p.ga0(p) +p=t.B +s=!1 +while(!0){if(!(!s&&o.q()))break +r=o.gG(o) +q=r.b +q.toString +s=a.nB(new A.ahA(r),p.a(q).a,b)}return s}, +aE(a,b){var s,r,q,p,o,n +for(s=this.lq(),s=s.ga0(s),r=t.B,q=b.a,p=b.b;s.q();){o=s.gG(s) +n=o.b +n.toString +n=r.a(n).a +a.fK(o,new A.m(n.a+q,n.b+p))}}} +A.ahA.prototype={ +$2(a,b){return this.a.c5(a,b)}, +$S:24} +A.tV.prototype={ +SQ(a){var s=this.at +if(s==null)s=null +else{s=s.e +s=s==null?null:s.a.gBk().W(0,a)}return s}} +A.my.prototype={ +gFJ(){return this}, +e2(a){if(!(a.b instanceof A.tV))a.b=new A.tV(null,null,B.h)}, +aj(a){var s,r,q,p,o +this.Y9(a) +s=this.V$ +for(r=t.i9;s!=null;){q=s.b +q.toString +r.a(q) +p=q.at +if(p==null)o=null +else{p=p.e +o=p==null?null:new A.kp(p.a.gBk().a())}if(o!=null)for(;o.q();)o.b.aj(a) +s=q.a1$}}, +aa(a){var s,r,q +this.Ya(0) +s=this.V$ +for(r=t.i9;s!=null;){q=s.b +q.toString +r.a(q) +q.SQ(A.aKa()) +s=q.a1$}}, +f7(){return this.bo(this.gS0())}, +gBv(){var s=this.E +return s==null?this.E=B.b5.X(0,this.Z):s}, +sbS(a){var s=this +if(s.Z===a)return +s.Z=a +s.E=null +if(!s.aq)s.n3()}, +zk(a){var s=this +s.aq=!0 +s.kq(a) +s.ao() +s.aq=!1 +a.B.a6()}, +Bq(a){var s=this +s.aq=!0 +s.r0(a) +s.ao() +s.aq=!1}, +a6(){if(!this.aq)this.n3()}, +guD(){var s,r,q,p,o=this +if(o.a3===A.ac.prototype.gqx.call(o))return null +s=A.ac.prototype.gabs.call(o,0) +for(r=o.a3,q=t.B;r>0;--r){p=s.b +p.toString +s=q.a(p).a1$}return s}, +aU(a){return A.a7Q(this.guD(),new A.ahC(a))}, +aT(a){return A.a7Q(this.guD(),new A.ahB(a))}, +d6(a,b){var s,r,q,p,o=a.gqt() +if(o.gx7(o))s=a.gqt() +else{o=this.Aj() +s=o.az(B.z,a,o.gbF())}r=A.kR(s) +q=this.gBv() +for(o=new A.kp(this.lq().a()),p=null;o.q();)p=A.pB(p,A.atI(o.b,s,r,q,b)) +return p}, +bQ(a){var s=a.a,r=a.b,q=A.N(1/0,s,r),p=a.c,o=a.d,n=A.N(1/0,p,o) +if(isFinite(q)&&isFinite(n))return new A.K(A.N(1/0,s,r),A.N(1/0,p,o)) +s=this.Aj() +return s.az(B.z,a,s.gbF())}, +lq(){return new A.jf(this.ZQ(),t.bm)}, +ZQ(){var s=this +return function(){var r=0,q=1,p,o,n,m,l,k +return function $async$lq(a,b,c){if(b===1){p=c +r=q}while(true)switch(r){case 0:k=s.guD() +o=t.i9 +case 2:if(!(k!=null)){r=3 +break}r=4 +return a.b=k,1 +case 4:n=k.b +n.toString +o.a(n) +m=n.at +if(m==null)l=null +else{m=m.e +l=m==null?null:new A.kp(m.a.gBk().a())}r=l!=null?5:6 +break +case 5:case 7:if(!l.q()){r=8 +break}r=9 +return a.b=l.b,1 +case 9:r=7 +break +case 8:case 6:k=n.a1$ +r=2 +break +case 3:return 0 +case 1:return a.c=p,3}}}}, +zG(){return new A.jf(this.ZP(),t.bm)}, +ZP(){var s=this +return function(){var r=0,q=1,p,o,n,m,l,k,j,i,h +return function $async$zG(a,b,c){if(b===1){p=c +r=q}while(true)switch(r){case 0:i=s.a3===A.ac.prototype.gqx.call(s)?null:s.cj$ +h=s.di$-s.a3 +o=t.i9 +case 2:if(!(i!=null)){r=3 +break}n=i.b +n.toString +o.a(n) +m=n.at +l=null +if(!(m==null)){m=m.e +if(!(m==null)){m=m.a +k=m.r +if(k===$){j=m.A1(!0) +m.r!==$&&A.a0() +m.r=j +k=j}m=new A.kp(k.a()) +l=m}}r=l!=null?4:5 +break +case 4:case 6:if(!l.q()){r=7 +break}r=8 +return a.b=l.b,1 +case 8:r=6 +break +case 7:case 5:r=9 +return a.b=i,1 +case 9:--h +i=h<=0?null:n.bG$ +r=2 +break +case 3:return 0 +case 1:return a.c=p,3}}}}, +gj3(){return!1}, +be(){var s,r,q=this,p=t.k,o=p.a(A.G.prototype.gN.call(q)),n=A.N(1/0,o.a,o.b) +o=A.N(1/0,o.c,o.d) +if(isFinite(n)&&isFinite(o)){p=p.a(A.G.prototype.gN.call(q)) +q.id=new A.K(A.N(1/0,p.a,p.b),A.N(1/0,p.c,p.d)) +s=null}else{s=q.Aj() +q.d9(s,p.a(A.G.prototype.gN.call(q))) +q.id=s.gv(0)}r=A.kR(q.gv(0)) +for(p=new A.kp(q.lq().a());p.q();){o=p.b +if(o!==s)q.d9(o,r)}}, +Aj(){var s,r,q,p=this,o=p.a3===A.ac.prototype.gqx.call(p)?null:p.cj$ +for(s=t.i9;o!=null;){r=o.b +r.toString +s.a(r) +q=r.at +q=q==null?null:q.d +if(q===!0&&!r.gmh())return o +o=r.bG$}throw A.c(A.Gs(A.b([A.q2("Overlay was given infinite constraints and cannot be sized by a suitable child."),A.bm("The constraints given to the overlay ("+p.gN().i(0)+") would result in an illegal infinite size ("+p.gN().gqt().i(0)+"). To avoid that, the Overlay tried to size itself to one of its children, but no suitable non-positioned child that belongs to an OverlayEntry with canSizeOverlay set to true could be found."),A.Ge("Try wrapping the Overlay in a SizedBox to give it a finite size or use an OverlayEntry with canSizeOverlay set to true.")],t.E)))}, +aE(a,b){var s,r,q=this,p=q.S +if(q.al!==B.A){s=q.cx +s===$&&A.a() +r=q.gv(0) +p.saQ(0,a.l4(s,b,new A.D(0,0,0+r.a,0+r.b),A.p4.prototype.giL.call(q),q.al,p.a))}else{p.saQ(0,null) +q.Xj(a,b)}}, +l(){this.S.saQ(0,null) +this.fj()}, +bo(a){var s,r,q=this.V$ +for(s=t.i9;q!=null;){a.$1(q) +r=q.b +r.toString +s.a(r) +r.SQ(a) +q=r.a1$}}, +fN(a){var s,r,q=this.guD() +for(s=t.i9;q!=null;){a.$1(q) +r=q.b +r.toString +q=s.a(r).a1$}}, +lY(a){var s +switch(this.al.a){case 0:return null +case 1:case 2:case 3:s=this.gv(0) +return new A.D(0,0,0+s.a,0+s.b)}}} +A.ahC.prototype={ +$1(a){return a.az(B.ac,this.a,a.gbl())}, +$S:33} +A.ahB.prototype={ +$1(a){return a.az(B.av,this.a,a.gbu())}, +$S:33} +A.a5M.prototype={ +i(a){return"OverlayPortalController"+(this.a!=null?"":" DETACHED")}} +A.xH.prototype={ +ai(){return new A.Pp()}} +A.Pp.prototype={ +a14(a,b){var s,r,q=this,p=q.f,o=A.aty("marker",new A.agP(q,!1)) +if(p!=null)if(q.e){s=o.pW() +s=p.b===s.r&&p.c===s.f +r=s}else r=!0 +else r=!1 +q.e=!1 +if(r)return p +return q.f=new A.ms(a,o.pW().r,o.pW().f)}, +an(){this.aJ() +this.Mq(this.a.c)}, +Mq(a){var s,r=a.b,q=this.d +if(q!=null)s=r!=null&&r>q +else s=!0 +if(s)this.d=r +a.b=null +a.a=this}, +bi(){this.d_() +this.e=!0}, +aG(a){var s,r,q=this +q.b0(a) +if(!q.e)q.a.toString +s=a.c +r=q.a.c +if(s!==r){s.a=null +q.Mq(r)}}, +l(){this.a.c.a=null +this.f=null +this.aB()}, +Up(a,b){this.ah(new A.agR(this,b)) +this.f=null}, +acH(){this.ah(new A.agQ(this)) +this.f=null}, +K(a){var s,r,q=this,p=null,o=q.d +if(o==null)return new A.tB(p,q.a.e,p,p) +q.a.toString +s=q.a14(o,!1) +r=q.a +return new A.tB(new A.Nc(new A.fp(r.d,p),p),r.e,s,p)}} +A.agP.prototype={ +$0(){var s=this.a.c +s.toString +return A.aG8(s,this.b)}, +$S:420} +A.agR.prototype={ +$0(){this.a.d=this.b}, +$S:0} +A.agQ.prototype={ +$0(){this.a.d=null}, +$S:0} +A.ms.prototype={ +HW(a){var s,r=this +r.d=a +r.b.a56(0,r) +s=r.c +s.ao() +s.iJ() +s.b1()}, +LI(a){var s,r=this +r.d=null +s=r.b.e +if(s!=null)s.A(0,r) +s=r.c +s.ao() +s.iJ() +s.b1()}, +i(a){var s=A.b4(this) +return"_OverlayEntryLocation["+s+"] "}} +A.p3.prototype={ +bT(a){return a.f!==this.f||a.r!==this.r}} +A.tB.prototype={ +bh(a){return new A.Po(this,B.a1)}, +av(a){var s=new A.BS(null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}} +A.Po.prototype={ +gU(){return t.SN.a(A.bx.prototype.gU.call(this))}, +f3(a,b){var s,r=this +r.uf(a,b) +s=r.e +s.toString +t.eU.a(s) +r.p2=r.d1(r.p2,s.d,null) +r.p1=r.d1(r.p1,s.c,s.e)}, +b2(a,b){var s=this +s.pc(0,b) +s.p2=s.d1(s.p2,b.d,null) +s.p1=s.d1(s.p1,b.c,b.e)}, +iC(a){this.p2=null +this.k0(a)}, +bo(a){var s=this.p2,r=this.p1 +if(s!=null)a.$1(s) +if(r!=null)a.$1(r)}, +bI(){var s,r,q +this.z2() +s=this.p1 +if(s!=null){r=t.Kp.a(s.gU()) +if(r!=null){q=s.c +q.toString +t.Vl.a(q) +q.c.zk(r) +q.d=r}}}, +cQ(){var s,r,q=this.p1 +if(q!=null){s=t.Kp.a(q.gU()) +if(s!=null){r=q.c +r.toString +t.Vl.a(r) +r.c.Bq(s) +r.d=null}}this.Hw()}, +jx(a,b){var s=t.SN +if(b!=null){s=s.a(A.bx.prototype.gU.call(this)) +t.Lj.a(a) +s.B=a +b.HW(a) +b.c.zk(a)}else s.a(A.bx.prototype.gU.call(this)).saK(a)}, +jG(a,b,c){var s=b.c,r=c.c +if(s!==r){s.Bq(a) +r.zk(a)}if(b.b!==c.b||b.a!==c.a){b.LI(a) +c.HW(a)}}, +l5(a,b){if(b==null){t.SN.a(A.bx.prototype.gU.call(this)).saK(null) +return}t.Lj.a(a) +b.LI(a) +b.c.Bq(a) +t.SN.a(A.bx.prototype.gU.call(this)).B=null}} +A.Nc.prototype={ +av(a){var s,r=a.wI(t.SN) +r.toString +s=new A.mx(r,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return r.B=s}, +aC(a,b){}} +A.mx.prototype={ +lq(){var s=this.C$ +return s==null?B.yD:A.aCg(1,new A.ahu(s),t.x)}, +zG(){return this.lq()}, +gFJ(){var s=this.d +return s instanceof A.my?s:A.ab(A.jx(A.h(s)+" of "+this.i(0)+" is not a _RenderTheater"))}, +f7(){this.B.mt(this) +this.Hy()}, +gj3(){return!0}, +a6(){this.a_=!0 +this.n3()}, +d6(a,b){var s=this.C$ +if(s==null)return null +return A.atI(s,a.gqt(),a,this.gFJ().gBv(),b)}, +adM(){var s,r=t.gW.a(this.d) +if(r==null||this.y==null)return +s=t.k.a(A.G.prototype.gN.call(r)) +this.Hv(A.kR(new A.K(A.N(1/0,s.a,s.b),A.N(1/0,s.c,s.d))),!1)}, +bV(a,b){var s,r=this,q=r.a_||!t.k.a(A.G.prototype.gN.call(r)).j(0,a) +r.am=!0 +r.Hv(a,b) +r.a_=r.am=!1 +if(q){s=r.d +s.toString +t.im.a(s).Ez(new A.ahv(r),t.k)}}, +ho(a){return this.bV(a,!1)}, +oz(){var s=t.k.a(A.G.prototype.gN.call(this)) +this.id=new A.K(A.N(1/0,s.a,s.b),A.N(1/0,s.c,s.d))}, +be(){var s,r=this +if(r.am){r.a_=!1 +return}s=r.C$ +if(s==null){r.a_=!1 +return}r.d9(s,t.k.a(A.G.prototype.gN.call(r))) +r.a_=!1}, +cP(a,b){var s,r=a.b +r.toString +s=t.W.a(r).a +b.au(0,s.a,s.b)}} +A.ahu.prototype={ +$1(a){return this.a}, +$S:421} +A.ahv.prototype={ +$1(a){var s=this.a +s.a_=!0 +s.n3()}, +$S:422} +A.BS.prototype={ +f7(){this.Hy() +var s=this.B +if(s!=null&&s.y!=null)this.mt(s)}, +be(){this.uh() +var s=this.B +if(s!=null)s.adM()}, +fN(a){var s +this.n4(a) +s=this.B +if(s!=null)a.$1(s)}} +A.Pq.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.To.prototype={} +A.Tp.prototype={} +A.Dg.prototype={ +aj(a){var s,r,q +this.eu(a) +s=this.V$ +for(r=t.B;s!=null;){s.aj(a) +q=s.b +q.toString +s=r.a(q).a1$}}, +aa(a){var s,r,q +this.e5(0) +s=this.V$ +for(r=t.B;s!=null;){s.aa(0) +q=s.b +q.toString +s=r.a(q).a1$}}} +A.Tq.prototype={} +A.ws.prototype={ +ai(){var s=t.y +return new A.AX(A.an([!1,!0,!0,!0],s,s),null,null)}, +kX(a){return A.DC().$1(a)}} +A.AX.prototype={ +an(){var s,r,q=this +q.aJ() +s=q.a +r=s.f +q.d=A.atw(A.aX(s.e),r,q) +r=q.a +s=r.f +s=A.atw(A.aX(r.e),s,q) +q.e=s +r=q.d +r.toString +q.f=new A.Bh(A.b([r,s],t.Eo))}, +aG(a){var s,r=this +r.b0(a) +if(!a.f.j(0,r.a.f)||A.aX(a.e)!==A.aX(r.a.e)){s=r.d +s.toString +s.sab(0,r.a.f) +s=r.d +s.toString +s.sOk(A.aX(r.a.e)) +s=r.e +s.toString +s.sab(0,r.a.f) +s=r.e +s.toString +s.sOk(A.aX(r.a.e))}}, +AO(a){var s,r,q,p,o,n,m,l,k,j,i=this +if(!i.a.kX(a))return!1 +s=a.a +r=s.e +if(A.aX(r)!==A.aX(i.a.e))return!1 +q=i.d +q.toString +p=s.c +p.toString +o=s.a +o.toString +q.e=-Math.min(p-o,q.d) +o=i.e +o.toString +s=s.b +s.toString +o.e=-Math.min(s-p,o.d) +if(a instanceof A.iQ){s=a.e +if(s<0)n=q +else if(s>0)n=o +else n=null +m=n===q +q=i.c +q.cC(new A.xI(m,0)) +q=i.w +q.n(0,m,!0) +q.k(0,m).toString +n.d=0 +i.w.k(0,m).toString +q=a.f +if(q!==0){s=n.c +if(s!=null)s.aA(0) +n.c=null +l=A.N(Math.abs(q),100,1e4) +s=n.r +if(n.a===B.fN)r=0.3 +else{r=n.w +r===$&&A.a() +q=r.a +q=r.b.a8(0,q.gm(q)) +r=q}s.a=r +r.toString +s.b=A.N(l*0.00006,r,0.5) +r=n.x +s=n.y +s===$&&A.a() +q=s.a +r.a=s.b.a8(0,q.gm(q)) +r.b=Math.min(0.025+75e-8*l*l,1) +r=n.b +r===$&&A.a() +r.e=A.cR(0,B.c.a2(0.15+l*0.02)) +r.ma(0,0) +n.at=0.5 +n.a=B.T0}else{q=a.d +if(q!=null){p=a.b.gU() +p.toString +t.x.a(p) +k=p.gv(0) +j=p.lf(q.d) +switch(A.aX(r).a){case 0:n.toString +r=k.b +n.RI(0,Math.abs(s),k.a,A.N(j.b,0,r),r) +break +case 1:n.toString +r=k.a +n.RI(0,Math.abs(s),k.b,A.N(j.a,0,r),r) +break}}}}else{if(!(a instanceof A.k2&&a.d!=null))s=a instanceof A.hm&&a.d!=null +else s=!0 +if(s){if(q.a===B.fO)q.lB(B.d9) +s=i.e +if(s.a===B.fO)s.lB(B.d9)}}i.r=A.t(a) +return!1}, +l(){this.d.l() +this.e.l() +this.Y2()}, +K(a){var s=this,r=null,q=s.a,p=s.d,o=s.e,n=q.e,m=s.f +return new A.cL(s.gAN(),new A.i0(A.l3(new A.i0(q.w,r),new A.O7(p,o,n,m),r,r,B.C),r),r,t.WA)}} +A.tk.prototype={ +F(){return"_GlowState."+this.b}} +A.AW.prototype={ +sab(a,b){if(this.ay.j(0,b))return +this.ay=b +this.ae()}, +sOk(a){if(this.ch===a)return +this.ch=a +this.ae()}, +l(){var s=this,r=s.b +r===$&&A.a() +r.l() +r=s.f +r===$&&A.a() +r.l() +r=s.z +r===$&&A.a() +r.w.cE$.A(0,r) +r.HE() +r=s.c +if(r!=null)r.aA(0) +s.dt()}, +RI(a,b,c,d,e){var s,r,q,p=this,o=p.c +if(o!=null)o.aA(0) +p.ax=p.ax+b/200 +o=p.r +s=p.w +s===$&&A.a() +r=s.b +s=s.a +o.a=r.a8(0,s.gm(s)) +o.b=Math.min(r.a8(0,s.gm(s))+b/c*0.8,0.5) +q=Math.min(c,e*0.20096189432249995) +s=p.x +r=p.y +r===$&&A.a() +o=r.b +r=r.a +s.a=o.a8(0,r.gm(r)) +s.b=Math.max(1-1/(0.7*Math.sqrt(p.ax*q)),A.fV(o.a8(0,r.gm(r)))) +r=d/e +p.as=r +if(r!==p.at){o=p.z +o===$&&A.a() +if(!o.gadE())o.mX(0)}else{o=p.z +o===$&&A.a() +o.es(0) +p.Q=null}o=p.b +o===$&&A.a() +o.e=B.lg +if(p.a!==B.fO){o.ma(0,0) +p.a=B.fO}else{o=o.r +if(!(o!=null&&o.a!=null))p.ae()}p.c=A.c7(B.lg,new A.afn(p))}, +zD(a){var s=this +if(a!==B.X)return +switch(s.a.a){case 1:s.lB(B.d9) +break +case 3:s.a=B.fN +s.ax=0 +break +case 2:case 0:break}}, +lB(a){var s,r,q=this,p=q.a +if(p===B.xB||p===B.fN)return +p=q.c +if(p!=null)p.aA(0) +q.c=null +p=q.r +s=q.w +s===$&&A.a() +r=s.a +p.a=s.b.a8(0,r.gm(r)) +p.b=0 +p=q.x +r=q.y +r===$&&A.a() +s=r.a +p.a=r.b.a8(0,s.gm(s)) +p.b=0 +p=q.b +p===$&&A.a() +p.e=a +p.ma(0,0) +q.a=B.xB}, +a7n(a){var s,r=this,q=r.Q +if(q!=null){q=q.a +s=r.as +r.at=s-(s-r.at)*Math.pow(2,-(a.a-q)/$.axE().a) +r.ae()}if(A.DA(r.as,r.at,0.001)){q=r.z +q===$&&A.a() +q.es(0) +r.Q=null}else r.Q=a}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j=this,i=j.w +i===$&&A.a() +s=i.a +if(J.e(i.b.a8(0,s.gm(s)),0))return +s=b.a +r=b.b +q=s>r?r/s:1 +p=s*3/2 +o=Math.min(r,s*0.20096189432249995) +r=j.y +r===$&&A.a() +n=r.a +n=r.b.a8(0,n.gm(n)) +r=j.at +m=$.am().b8() +l=j.ay +k=i.a +m.sab(0,A.Z(B.c.a2(255*i.b.a8(0,k.gm(k))),l.gm(l)>>>16&255,l.gm(l)>>>8&255,l.gm(l)&255)) +a.c8(0) +a.au(0,0,j.d+j.e) +a.eq(0,1,n*q) +a.kv(new A.D(0,0,0+s,0+o)) +a.dS(new A.m(s/2*(0.5+r),o-p),p,m) +a.bH(0)}, +i(a){return"_GlowController(color: "+this.ay.i(0)+", axis: "+this.ch.b+")"}} +A.afn.prototype={ +$0(){return this.a.lB(B.hP)}, +$S:0} +A.O7.prototype={ +Lh(a,b,c,d,e){var s +if(c==null)return +switch(A.mG(d,e).a){case 0:c.aE(a,b) +break +case 2:a.c8(0) +a.au(0,0,b.b) +a.eq(0,1,-1) +c.aE(a,b) +a.bH(0) +break +case 3:a.c8(0) +a.l9(0,1.5707963267948966) +a.eq(0,1,-1) +c.aE(a,new A.K(b.b,b.a)) +a.bH(0) +break +case 1:a.c8(0) +s=b.a +a.au(0,s,0) +a.l9(0,1.5707963267948966) +c.aE(a,new A.K(b.b,s)) +a.bH(0) +break}}, +aE(a,b){var s=this,r=s.d +s.Lh(a,b,s.b,r,B.lv) +s.Lh(a,b,s.c,r,B.lu)}, +hx(a){return a.b!=this.b||a.c!=this.c}, +i(a){return"_GlowingOverscrollIndicatorPainter("+A.h(this.b)+", "+A.h(this.c)+")"}} +A.RS.prototype={ +F(){return"_StretchDirection."+this.b}} +A.zy.prototype={ +ai(){return new A.Cz(null,null)}, +kX(a){return A.DC().$1(a)}} +A.Cz.prototype={ +glG(){var s,r,q,p,o,n=this,m=null,l=n.d +if(l===$){s=t.H7 +r=new A.aR(0,0,s) +q=new A.Cy(r,B.k0,B.k_,$.aM()) +p=A.cG(m,m,m,m,n) +p.bm() +o=p.bL$ +o.b=!0 +o.a.push(q.gzC()) +q.a!==$&&A.bz() +q.a=p +p=A.cZ(B.kF,p,m) +p.a.Y(0,q.gcf()) +q.c!==$&&A.bz() +q.c=p +t.q.a(p) +q.b!==$&&A.bz() +q.b=new A.b0(p,r,s.h("b0")) +n.d!==$&&A.a0() +n.d=q +l=q}return l}, +AO(a){var s,r,q,p,o,n,m,l=this +if(!l.a.kX(a))return!1 +s=a.a +if(A.aX(s.e)!==A.aX(l.a.c))return!1 +if(a instanceof A.iQ){l.f=a +J.T(l.e) +r=a.e +q=l.c +q.cC(new A.xI(r<0,0)) +l.w=!0 +r=l.r+=r +q=a.f +if(q!==0){s=l.glG() +r=l.r +p=A.N(Math.abs(q),1,1e4) +q=s.d +o=s.b +o===$&&A.a() +n=o.a +q.a=o.b.a8(0,n.gm(n)) +q.b=Math.min(0.016+1.01/p,1) +q=s.a +q===$&&A.a() +q.e=A.cR(0,B.c.a2(Math.max(p*0.02,50))) +q.ma(0,0) +s.e=B.TB +s.r=r>0?B.k_:B.xL}else if(a.d!=null){s=s.d +s.toString +m=A.N(Math.abs(r)/s,0,1) +l.glG().aeR(0,m,l.r)}}else if(a instanceof A.k2||a instanceof A.hm){l.r=0 +s=l.glG() +if(s.e===B.k1)s.lB(B.hQ)}l.e=a +return!1}, +a0K(a){var s +switch(a.a){case 0:s=this.a.c +break +case 1:s=A.avs(this.a.c) +break +default:s=null}switch(s.a){case 0:s=B.xO +break +case 2:s=B.xN +break +case 3:s=B.xT +break +case 1:s=B.k3 +break +default:s=null}return s}, +l(){this.glG().l() +this.Yf()}, +K(a){var s={},r=A.bY(a,B.xD,t.w).w +s.a=null +return new A.cL(this.gAN(),A.pt(this.glG(),new A.aix(s,this,r.a),null),null,t.WA)}} +A.aix.prototype={ +$2(a,b){var s,r,q,p,o,n,m,l=this,k=l.b,j=k.glG().b +j===$&&A.a() +s=j.a +s=j.b.a8(0,s.gm(s)) +r=1 +q=1 +switch(A.aX(k.a.c).a){case 0:r=1+s +l.a.a=l.c.a +break +case 1:q=1+s +l.a.a=l.c.b +break}p=k.a0K(k.glG().r) +j=k.f +if(j==null)o=null +else{j=j.a.d +j.toString +o=j}if(o==null)o=l.a.a +j=A.a4k(r,q,1) +s=s===0 +n=s?null:B.db +k=k.a +m=A.anr(p,k.f,n,j,!0) +return A.WG(m,!s&&o!==l.a.a?k.e:B.A,null)}, +$S:423} +A.tT.prototype={ +F(){return"_StretchState."+this.b}} +A.Cy.prototype={ +aeR(a,b,c){var s,r,q,p=this,o=c>0?B.k_:B.xL +if(p.r!==o&&p.e===B.k2)return +p.r=o +p.f=b +s=p.d +r=p.b +r===$&&A.a() +q=r.a +s.a=r.b.a8(0,q.gm(q)) +q=p.f +s.b=0.016*q+0.016*(1-Math.exp(-q*8.237217661997105)) +q=p.a +q===$&&A.a() +q.e=B.hQ +if(p.e!==B.k1){q.ma(0,0) +p.e=B.k1}else{s=q.r +if(!(s!=null&&s.a!=null))p.ae()}}, +zD(a){var s=this +if(a!==B.X)return +switch(s.e.a){case 1:s.lB(B.hQ) +break +case 3:s.e=B.k0 +s.f=0 +break +case 2:case 0:break}}, +lB(a){var s,r,q=this,p=q.e +if(p===B.k2||p===B.k0)return +p=q.d +s=q.b +s===$&&A.a() +r=s.a +p.a=s.b.a8(0,r.gm(r)) +p.b=0 +p=q.a +p===$&&A.a() +p.e=a +p.ma(0,0) +q.e=B.k2}, +l(){var s=this.a +s===$&&A.a() +s.l() +s=this.c +s===$&&A.a() +s.l() +this.dt()}, +i(a){return"_StretchController()"}} +A.xI.prototype={ +cB(a){this.X7(a) +a.push("side: "+(this.a?"leading edge":"trailing edge"))}} +A.Bw.prototype={ +cB(a){var s,r +this.z6(a) +s=this.ee$ +r=s===0?"local":"remote" +a.push("depth: "+s+" ("+r+")")}} +A.Dc.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.Di.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.Cw.prototype={ +j(a,b){if(b==null)return!1 +if(J.T(b)!==A.t(this))return!1 +return b instanceof A.Cw&&A.ds(b.a,this.a)}, +gt(a){return A.bO(this.a)}, +i(a){return"StorageEntryIdentifier("+B.b.bD(this.a,":")+")"}} +A.Il.prototype={ +I1(a){var s=A.b([],t.g8) +if(A.arO(a,s))a.mz(new A.a5S(s)) +return s}, +SV(a,b){var s,r=this +if(r.a==null)r.a=A.E(t.K,t.z) +s=r.I1(a) +if(s.length!==0)r.a.n(0,new A.Cw(s),b)}, +RU(a){var s +if(this.a==null)return null +s=this.I1(a) +return s.length!==0?this.a.k(0,new A.Cw(s)):null}} +A.a5S.prototype={ +$1(a){return A.arO(a,this.a)}, +$S:31} +A.qP.prototype={ +K(a){return this.c}} +A.Ij.prototype={ +a8D(a,b,c){var s=t.gQ.a(B.b.gap(this.f)) +if(s.O!=null){s.O=a +return A.cm(null,t.H)}return s.is(s.mG(a),b,c)}, +R_(a){var s=t.gQ.a(B.b.gap(this.f)) +if(s.O!=null){s.O=a +return}s.eH(s.mG(a))}, +P7(a,b,c){var s=null,r=$.aM() +r=new A.mt(this.as,this.ax,B.fo,a,b,!0,s,new A.eL(!1,r),r) +r.HM(b,s,!0,c,a) +r.HN(b,s,s,!0,c,a) +return r}, +aj(a){this.Wq(a) +t.gQ.a(a).stE(this.ax)}} +A.Ik.prototype={} +A.mt.prototype={ +r3(a,b,c,d,e,f){return this.WA(a,b,c,d,e,null)}, +stE(a){var s,r=this +if(r.af===a)return +s=r.gt4(0) +r.af=a +if(s!=null)r.E_(r.mG(s))}, +guT(){var s=this.ax +s.toString +return Math.max(0,s*(this.af-1)/2)}, +tO(a,b){var s=Math.max(0,a-this.guT())/(b*this.af),r=B.c.Ss(s) +if(Math.abs(s-r)<1e-10)return r +return s}, +mG(a){var s=this.ax +s.toString +return a*s*this.af+this.guT()}, +gt4(a){var s,r,q=this,p=q.at +if(p!=null)s=!(q.z!=null&&q.Q!=null) +else s=!0 +if(s)p=null +else{s=q.O +if(s==null){p.toString +s=q.z +s.toString +r=q.Q +r.toString +r=A.N(p,s,r) +s=q.ax +s.toString +s=q.tO(r,s) +p=s}else p=s}return p}, +Gr(){var s,r,q=this,p=q.w,o=p.c +o.toString +o=A.a5T(o) +if(o!=null){p=p.c +p.toString +s=q.O +if(s==null){s=q.at +s.toString +r=q.ax +r.toString +r=q.tO(s,r) +s=r}o.SV(p,s)}}, +Sn(){var s,r,q +if(this.at==null){s=this.w +r=s.c +r.toString +r=A.a5T(r) +if(r==null)q=null +else{s=s.c +s.toString +q=r.RU(s)}if(q!=null)this.S=q}}, +Gq(){var s,r=this,q=r.O +if(q==null){q=r.at +q.toString +s=r.ax +s.toString +s=r.tO(q,s) +q=s}r.w.r.sm(0,q) +q=$.ee.m5$ +q===$&&A.a() +q.Q3()}, +Sm(a,b){if(b)this.S=a +else this.eH(this.mG(a))}, +qo(a){var s,r,q,p,o=this,n=o.ax +n=n!=null?n:null +if(a===n)return!0 +o.Ww(a) +s=o.at +s=s!=null?s:null +if(s==null)r=o.S +else if(n===0){q=o.O +q.toString +r=q}else{n.toString +r=o.tO(s,n)}p=o.mG(r) +o.O=a===0?r:null +if(p!==s){o.at=p +return!1}return!0}, +kn(a){var s +this.WB(a) +if(!(a instanceof A.mt))return +s=a.O +if(s!=null)this.O=s}, +qk(a,b){var s=a+this.guT() +return this.Wu(s,Math.max(s,b-this.guT()))}, +hK(){var s,r,q,p,o,n=this,m=null,l=m,k=n.z +if(k!=null&&n.Q!=null){k.toString +l=k}k=m +if(n.z!=null&&n.Q!=null){k=n.Q +k.toString}s=n.at +s=s!=null?s:m +r=n.ax +r=r!=null?r:m +q=n.w +p=q.a.c +o=n.af +q=q.f +q===$&&A.a() +return new A.Ik(o,l,k,s,r,p,q)}} +A.AT.prototype={ +jh(a){return new A.AT(!1,this.iu(a))}, +gnC(){return this.b}} +A.qO.prototype={ +jh(a){return new A.qO(this.iu(a))}, +a18(a){var s,r +if(a instanceof A.mt){s=a.gt4(0) +s.toString +return s}s=a.at +s.toString +r=a.ax +r.toString +return s/r}, +a1b(a,b){var s +if(a instanceof A.mt)return a.mG(b) +s=a.ax +s.toString +return b*s}, +nM(a,b){var s,r,q,p,o,n=this +if(b<=0){s=a.at +s.toString +r=a.z +r.toString +r=s<=r +s=r}else s=!1 +if(!s)if(b>=0){s=a.at +s.toString +r=a.Q +r.toString +r=s>=r +s=r}else s=!1 +else s=!0 +if(s)return n.Ws(a,b) +q=n.tv(a) +p=n.a18(a) +s=q.c +if(b<-s)p-=0.5 +else if(b>s)p+=0.5 +o=n.a1b(a,B.c.Ss(p)) +s=a.at +s.toString +if(o!==s){s=n.gmW() +r=a.at +r.toString +return new A.lT(o,A.tR(s,r-o,b),q)}return null}} +A.xK.prototype={ +ai(){return new A.Pt()}} +A.Pt.prototype={ +an(){var s,r=this +r.aJ() +r.KE() +s=r.e +s===$&&A.a() +r.d=s.as}, +l(){if(this.a.r==null){var s=this.e +s===$&&A.a() +s.l()}this.aB()}, +KE(){var s=this.a.r +this.e=s==null?A.arN(0,1):s}, +aG(a){var s=this,r=a.r +if(r!=s.a.r){if(r==null){r=s.e +r===$&&A.a() +r.l()}s.KE()}s.b0(a)}, +a0T(a){var s,r +this.a.toString +switch(0){case 0:s=a.a7(t.I) +s.toString +r=A.alc(s.w) +this.a.toString +return r}}, +K(a){var s,r,q,p=this,o=null,n=p.a0T(a),m=p.a.w +m=new A.qO(B.ra.iu(m)) +m=new A.AT(!1,o).iu(m) +s=p.a.Q +r=p.e +r===$&&A.a() +q=A.yV(a).OR(!1) +return new A.cL(new A.agS(p),A.an2(n,B.Z,r,s,B.ae,new A.AT(!1,m),o,q,o,new A.agT(p,n)),o,t.WA)}} +A.agS.prototype={ +$1(a){if(a.ee$===0)this.a.a.toString +return!1}, +$S:37} +A.agT.prototype={ +$2(a,b){var s=this.a,r=s.a,q=r.as +s=s.e +s===$&&A.a() +return A.atf(0,this.b,0,B.zH,null,q,b,A.b([new A.KB(s.ax,!0,r.z,null)],t.D))}, +$S:424} +A.xJ.prototype={ +gl_(){return!0}, +gvS(){return!1}, +CG(a){return a instanceof A.fE}, +Ow(a){return a instanceof A.fE}} +A.a4r.prototype={} +A.a6i.prototype={} +A.FB.prototype={ +B8(a){return this.a4m(a)}, +a4m(a){var s=0,r=A.z(t.H),q,p=this,o,n,m +var $async$B8=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:n=A.cl(a.b) +m=p.a +if(!m.a9(0,n)){s=1 +break}m=m.k(0,n) +m.toString +o=a.a +if(o==="Menu.selectedCallback"){m.gah1().$0() +m.gaez() +o=$.ai.ag$.d.c.e +o.toString +A.azu(o,m.gaez(),t.v)}else if(o==="Menu.opened")m.gah0(m).$0() +else if(o==="Menu.closed")m.gah_(m).$0() +case 1:return A.x(q,r)}}) +return A.y($async$B8,r)}} +A.GO.prototype={ +K(a){return A.aC2(this,a)}} +A.y2.prototype={} +A.y3.prototype={ +ai(){return new A.BB()}, +a7f(a,b){return this.c.$2(a,b)}, +a4D(a){return this.d.$1(a)}} +A.BB.prototype={ +K(a){var s,r,q=this,p=null,o=q.e +if(o==null)return B.Lx +if(!q.f)return new A.Pz(new A.agZ(o),p,p) +s=q.r +if(s==null)s=q.r=q.a.a7f(a,o) +r=q.w +s.toString +return A.q8(!1,p,s,p,p,p,r,!0,p,q.ga2d(),p,p,p,p)}, +an(){var s=this +s.w=A.ame(!0,"PlatformView(id: "+A.h(s.d)+")",!0,!0,null,null,!1) +s.Lq() +s.aJ()}, +aG(a){var s,r=this +r.b0(a) +if(r.a.e!==a.e){s=r.e +if(s!=null)A.aHx(s) +r.r=null +r.Lq()}}, +Lq(){var s=this,r=$.ayP().a++ +s.d=r +s.e=s.a.a4D(new A.y2(r,s.ga4P()))}, +a4Q(a){if(this.c!=null)this.ah(new A.agY(this))}, +a2e(a){var s +if(!a){s=this.e +if(s!=null)s.CL()}B.r8.ei("TextInput.setPlatformViewClient",A.an(["platformViewId",this.d],t.N,t.z),t.H)}, +l(){var s=this,r=s.e +if(r!=null)r.l() +s.e=null +r=s.w +if(r!=null)r.l() +s.w=null +s.aB()}} +A.agZ.prototype={ +$2(a,b){}, +$S:425} +A.agY.prototype={ +$0(){this.a.f=!0}, +$S:0} +A.qR.prototype={ +av(a){var s=new A.IX(this.d,null,null,null,new A.aN(),A.aj()) +s.aw() +s.sQw(this.f) +s.Nm(this.e,s.E.gPq()) +return s}, +aC(a,b){b.sCQ(0,this.d) +b.sQw(this.f) +b.Nm(this.e,b.E.gPq())}} +A.PA.prototype={ +be(){this.VU() +$.bC.p2$.push(new A.ah_(this))}} +A.ah_.prototype={ +$1(a){var s=this.a,r=s.gv(0),q=A.bI(s.aW(0,null),B.h) +s.ca.$2(r,q)}, +$S:6} +A.Pz.prototype={ +av(a){var s=new A.PA(this.e,B.h8,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){b.ca=this.e}} +A.ajS.prototype={ +$1(a){this.a.l()}, +$S:6} +A.qW.prototype={ +bT(a){return this.f!=a.f}} +A.lR.prototype={ +ai(){return new A.QX(null,A.E(t.yb,t.M),null,!0,null)}} +A.QX.prototype={ +gdc(){return this.a.d}, +jL(a,b){}, +K(a){return A.abY(this.bC$,this.a.c)}} +A.A2.prototype={ +bT(a){return a.f!=this.f}} +A.yK.prototype={ +ai(){return new A.C2()}} +A.C2.prototype={ +bi(){var s,r=this +r.d_() +s=r.c +s.toString +r.r=A.r8(s) +r.B4() +if(r.d==null){r.a.toString +r.d=!1}}, +aG(a){this.b0(a) +this.B4()}, +gKR(){this.a.toString +return!1}, +B4(){var s,r=this +if(r.gKR()&&!r.w){r.w=!0;++$.iU.fr$ +s=$.ee.m5$ +s===$&&A.a() +s.gafz().b_(0,new A.ahG(r),t.P)}}, +a5X(){var s,r=this +r.e=!1 +r.f=null +s=$.ee.m5$ +s===$&&A.a() +s.H(0,r.gBs()) +r.B4()}, +l(){if(this.e){var s=$.ee.m5$ +s===$&&A.a() +s.H(0,this.gBs())}this.aB()}, +K(a){var s,r,q=this,p=q.d +p.toString +if(p&&q.gKR())return B.ju +p=q.r +if(p==null)p=q.f +s=q.a +r=s.d +return A.abY(p,new A.lR(s.c,r,null))}} +A.ahG.prototype={ +$1(a){var s,r=this.a +r.w=!1 +if(r.c!=null){s=$.ee.m5$ +s===$&&A.a() +s.Y(0,r.gBs()) +r.ah(new A.ahF(r,a))}$.iU.O6()}, +$S:426} +A.ahF.prototype={ +$0(){var s=this.a +s.f=this.b +s.e=!0 +s.d=!1}, +$S:0} +A.dO.prototype={ +gnW(a){return!0}, +l(){var s=this,r=s.c +if(r!=null){r=r.hd$.A(0,s) +r.toString +s.H(0,r) +s.c=s.b=null}s.dt() +s.a=!0}} +A.iV.prototype={ +Dp(a){}, +oA(a,b){var s,r,q=this,p=q.bC$ +p=p==null?null:J.ur(p.gkh(),b) +s=p===!0 +r=s?a.od(J.b5(q.bC$.gkh(),b)):a.we() +if(a.b==null){a.b=b +a.c=q +p=new A.a8a(q,a) +a.Y(0,p) +q.hd$.n(0,a,p)}a.QE(r) +if(!s&&a.gnW(a)&&q.bC$!=null)q.C1(a)}, +qX(){var s,r,q=this +if(q.he$!=null){s=q.bC$ +s=s==null?null:s.e +s=s==q.gdc()||q.goI()}else s=!0 +if(s)return +r=q.bC$ +if(q.nv(q.he$,!1))if(r!=null)r.l()}, +goI(){var s,r,q=this +if(q.eD$)return!0 +if(q.gdc()==null)return!1 +s=q.c +s.toString +r=A.r8(s) +if(r!=q.he$){if(r==null)s=null +else{s=r.c +s=s==null?null:s.d +s=s===!0}s=s===!0}else s=!1 +return s}, +nv(a,b){var s,r,q=this +if(q.gdc()==null||a==null)return q.Ml(null,b) +if(b||q.bC$==null){s=q.gdc() +s.toString +return q.Ml(a.a9i(s,q),b)}s=q.bC$ +s.toString +r=q.gdc() +r.toString +s.afk(r) +r=q.bC$ +r.toString +a.kq(r) +return!1}, +Ml(a,b){var s,r=this,q=r.bC$ +if(a==q)return!1 +r.bC$=a +if(!b){if(a!=null){s=r.hd$ +new A.aZ(s,A.o(s).h("aZ<1>")).W(0,r.ga7P())}r.Dp(q)}return!0}, +C1(a){var s,r,q=a.gnW(a),p=this.bC$ +if(q){if(p!=null){q=a.b +q.toString +s=a.oL() +if(!J.e(J.b5(p.gkh(),q),s)||!J.ur(p.gkh(),q)){J.fW(p.gkh(),q,s) +p.nk()}}}else if(p!=null){q=a.b +q.toString +r=J.ur(p.gkh(),q) +J.kK(p.gkh(),q) +if(J.fX(p.gkh()))J.kK(p.a,"v") +if(r)p.nk()}}} +A.a8a.prototype={ +$0(){var s=this.a +if(s.bC$==null)return +s.C1(this.b)}, +$S:0} +A.ajw.prototype={ +$2(a,b){if(!a.a)a.H(0,b)}, +$S:52} +A.Tr.prototype={ +aG(a){this.b0(a) +this.qX()}, +bi(){var s,r,q,p,o=this +o.d_() +s=o.bC$ +r=o.goI() +q=o.c +q.toString +q=A.r8(q) +o.he$=q +p=o.nv(q,r) +if(r){o.jL(s,o.eD$) +o.eD$=!1}if(p)if(s!=null)s.l()}, +l(){var s,r=this +r.hd$.W(0,new A.ajw()) +s=r.bC$ +if(s!=null)s.l() +r.bC$=null +r.aB()}} +A.bJ.prototype={ +sm(a,b){var s=this.y +if(b==null?s!=null:b!==s){this.y=b +this.Dr(s)}}, +QE(a){this.y=a}} +A.ih.prototype={ +we(){return this.cy}, +Dr(a){this.ae()}, +od(a){return A.o(this).h("ih.T").a(a)}, +oL(){var s=this.y +return s==null?A.o(this).h("bJ.T").a(s):s}} +A.C0.prototype={ +od(a){return this.Xm(a)}, +oL(){var s=this.Xn() +s.toString +return s}} +A.yG.prototype={} +A.yF.prototype={} +A.ajx.prototype={ +$2(a,b){if(!a.a)a.H(0,b)}, +$S:52} +A.lS.prototype={ +goP(){return this.b}} +A.JQ.prototype={ +ai(){return new A.tL(new A.QU($.aM()),null,A.E(t.yb,t.M),null,!0,null,this.$ti.h("tL<1>"))}} +A.a8e.prototype={ +F(){return"RouteInformationReportingType."+this.b}} +A.tL.prototype={ +gdc(){return this.a.r}, +an(){var s,r=this +r.aJ() +s=r.a.c +if(s!=null)s.Y(0,r.guQ()) +r.a.f.a8o(r.gAH()) +r.a.e.Y(0,r.gAM())}, +jL(a,b){var s,r,q=this,p=q.f +q.oA(p,"route") +s=p.y +r=s==null +if((r?A.o(p).h("bJ.T").a(s):s)!=null){p=r?A.o(p).h("bJ.T").a(s):s +p.toString +q.vf(p,new A.ahX(q))}else{p=q.a.c +if(p!=null)q.vf(p.a,new A.ahY(q))}}, +a6s(){var s=this +if(s.w||s.a.c==null)return +s.w=!0 +$.bC.p2$.push(s.ga60())}, +a61(a){var s,r,q,p=this +if(p.c==null)return +p.w=!1 +s=p.f +r=s.y +q=r==null +if((q?A.o(s).h("bJ.T").a(r):r)!=null){s=q?A.o(s).h("bJ.T").a(r):r +s.toString +r=p.a.c +r.toString +q=p.e +q.toString +r.ah8(s,q)}p.e=B.w0}, +a6b(){this.a.e.gagO() +this.a.toString +return null}, +v4(){var s=this +s.f.sm(0,s.a6b()) +if(s.e==null)s.e=B.w0 +s.a6s()}, +bi(){var s,r,q,p=this +p.r=!0 +p.Yb() +s=p.f +r=s.y +q=r==null?A.o(s).h("bJ.T").a(r):r +if(q==null){s=p.a.c +q=s==null?null:s.a}if(q!=null&&p.r)p.vf(q,new A.ahW(p)) +p.r=!1 +p.v4()}, +aG(a){var s,r,q,p=this +p.Yc(a) +s=p.a.c +r=a.c +p.d=new A.J() +if(s!=r){s=r==null +if(!s)r.H(0,p.guQ()) +q=p.a.c +if(q!=null)q.Y(0,p.guQ()) +s=s?null:r.a +r=p.a.c +if(s!=(r==null?null:r.a))p.Ko()}s=a.f +if(p.a.f!==s){r=p.gAH() +s.afh(r) +p.a.f.a8o(r)}p.a.toString +s=p.gAM() +a.e.H(0,s) +p.a.e.Y(0,s) +p.v4()}, +l(){var s,r=this +r.f.l() +s=r.a.c +if(s!=null)s.H(0,r.guQ()) +r.a.f.afh(r.gAH()) +r.a.e.H(0,r.gAM()) +r.d=null +r.Yd()}, +vf(a,b){var s,r,q=this +q.r=!1 +q.d=new A.J() +s=q.a.d +s.toString +r=q.c +r.toString +s.ah4(a,r).b_(0,q.a5F(q.d,b),t.H)}, +a5F(a,b){return new A.ahU(this,a,b)}, +Ko(){var s=this +s.r=!0 +s.vf(s.a.c.a,new A.ahR(s))}, +a1v(){var s=this +s.d=new A.J() +return s.a.e.ah5().b_(0,s.a2S(s.d),t.y)}, +a2S(a){return new A.ahS(this,a)}, +LY(){this.ah(new A.ahV()) +this.v4() +return new A.ci(null,t.b5)}, +a2T(){this.ah(new A.ahT()) +this.v4()}, +K(a){var s=this.bC$,r=this.a,q=r.c,p=r.f,o=r.d +r=r.e +return A.abY(s,new A.R3(q,p,o,r,this,new A.fp(r.gagK(),null),null))}} +A.ahX.prototype={ +$0(){return this.a.a.e.gagr()}, +$S(){return this.a.$ti.h("a6<~>(1)()")}} +A.ahY.prototype={ +$0(){return this.a.a.e.gagq()}, +$S(){return this.a.$ti.h("a6<~>(1)()")}} +A.ahW.prototype={ +$0(){return this.a.a.e.gU7()}, +$S(){return this.a.$ti.h("a6<~>(1)()")}} +A.ahU.prototype={ +$1(a){var s=0,r=A.z(t.H),q,p=this,o,n +var $async$$1=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.a +n=p.b +if(o.d!=n){s=1 +break}s=3 +return A.B(p.c.$0().$1(a),$async$$1) +case 3:if(o.d==n)o.LY() +case 1:return A.x(q,r)}}) +return A.y($async$$1,r)}, +$S(){return this.a.$ti.h("a6<~>(1)")}} +A.ahR.prototype={ +$0(){return this.a.a.e.gU7()}, +$S(){return this.a.$ti.h("a6<~>(1)()")}} +A.ahS.prototype={ +$1(a){var s=this.a +if(this.b!=s.d)return new A.ci(!0,t.d9) +s.LY() +return new A.ci(a,t.d9)}, +$S:428} +A.ahV.prototype={ +$0(){}, +$S:0} +A.ahT.prototype={ +$0(){}, +$S:0} +A.R3.prototype={ +bT(a){return!0}} +A.QU.prototype={ +we(){return null}, +Dr(a){this.ae()}, +od(a){var s,r +if(a==null)return null +t.Dn.a(a) +s=J.bK(a) +r=A.cO(s.gI(a)) +if(r==null)return null +return new A.lS(A.kc(r,0,null),s.gT(a))}, +oL(){var s,r=this,q=r.y,p=q==null +if((p?A.o(r).h("bJ.T").a(q):q)==null)q=null +else{q=(p?A.o(r).h("bJ.T").a(q):q).goP().i(0) +s=r.y +q=[q,(s==null?A.o(r).h("bJ.T").a(s):s).c]}return q}} +A.u2.prototype={ +aG(a){this.b0(a) +this.qX()}, +bi(){var s,r,q,p,o=this +o.d_() +s=o.bC$ +r=o.goI() +q=o.c +q.toString +q=A.r8(q) +o.he$=q +p=o.nv(q,r) +if(r){o.jL(s,o.eD$) +o.eD$=!1}if(p)if(s!=null)s.l()}, +l(){var s,r=this +r.hd$.W(0,new A.ajx()) +s=r.bC$ +if(s!=null)s.l() +r.bC$=null +r.aB()}} +A.qM.prototype={ +mf(){var s,r=this,q=A.amO(r.gZs(),!1,!1) +r.p4=q +r.grQ() +s=A.amO(r.gZu(),r.gl_(),!0) +r.RG=s +B.b.L(r.f,A.b([q,s],t.fy)) +r.Wm()}, +lZ(a){var s=this +s.Wh(a) +if(s.ay.gaF(0)===B.y&&!s.at)s.a.PX(s) +return!0}, +l(){var s,r,q +for(s=this.f,r=s.length,q=0;q"))}} +A.mq.prototype={ +an(){var s,r,q=this +q.aJ() +s=A.b([],t.Eo) +r=q.a.c.k2 +if(r!=null)s.push(r) +r=q.a.c.k3 +if(r!=null)s.push(r) +q.e=new A.Bh(s)}, +aG(a){this.b0(a) +this.Nl()}, +bi(){this.d_() +this.d=null +this.Nl()}, +Nl(){var s,r,q=this.a.c,p=q.id +p=p!=null?p:q.a.a.Q +s=this.f +s.fr=p +r=q.gjz() +if(r)this.a.c.a.a.toString +if(r){r=q.a.y.geC() +if(r!=null)r.yJ(s)}}, +JA(){this.ah(new A.agy(this))}, +l(){this.f.l() +this.r.l() +this.aB()}, +gMu(){var s=this.a.c.k2 +if((s==null?null:s.gaF(0))!==B.bo){s=this.a.c.a +s=s==null?null:s.cx.a +s=s===!0}else s=!0 +return s}, +K(a){var s,r,q,p,o,n=this,m=null +n.f.se3(!n.a.c.gjz()) +s=n.a.c +r=s.gjz() +q=n.a.c +if(!q.gEi()){q=q.jo$ +q=q!=null&&q.length!==0}else q=!0 +p=n.a.c +p=p.gEi()||p.wC$>0 +o=n.a.c +return A.pt(s.c,new A.agC(n),new A.Bj(r,q,p,s,new A.xF(o.k1,new A.qP(new A.fp(new A.agD(n),m),o.p3,m),m),m))}} +A.agy.prototype={ +$0(){this.a.d=null}, +$S:0} +A.agC.prototype={ +$2(a,b){var s=this.a.a.c.c.a +b.toString +return new A.lR(b,s,null)}, +$S:430} +A.agD.prototype={ +$1(a){var s,r=null,q=A.an([B.xm,new A.Nj(a,new A.bh(A.b([],t.ot),t.wS))],t.u,t.od),p=this.a,o=p.e +o===$&&A.a() +s=p.d +if(s==null)s=p.d=new A.i0(new A.fp(new A.agA(p),r),p.a.c.p2) +return A.E4(q,new A.qW(p.r,B.aw,B.Kj,A.atu(new A.i0(new A.nN(new A.agB(p),s,o,r),r),p.f,!0),r))}, +$S:431} +A.agB.prototype={ +$2(a,b){var s,r,q=this.a,p=q.a.c,o=p.k2 +o.toString +s=p.k3 +s.toString +r=p.a +r=r==null?null:r.cx +if(r==null)r=new A.eL(!1,$.aM()) +return p.Ot(a,o,s,new A.nN(new A.agz(q),b,r,null))}, +$S:74} +A.agz.prototype={ +$2(a,b){var s=this.a,r=s.gMu() +s.f.slK(!r) +return A.a0f(b,r,null)}, +$S:432} +A.agA.prototype={ +$1(a){var s,r=this.a.a.c,q=r.k2 +q.toString +s=r.k3 +s.toString +return r.Op(a,q,s)}, +$S:36} +A.fF.prototype={ +ah(a){var s,r=this.p1 +if(r.gbv()!=null){r=r.gbv() +if(r.a.c.gjz()){s=!r.gMu() +if(s)r.a.c.a.a.toString}else s=!1 +if(s){s=r.a.c.a.y.geC() +if(s!=null)s.yJ(r.f)}r.ah(a)}else a.$0()}, +Ot(a,b,c,d){return d}, +mf(){var s=this +s.HG() +s.k2=A.y8(A.dR.prototype.gbJ.call(s,0)) +s.k3=A.y8(A.dR.prototype.gyE.call(s))}, +gaeM(){var s,r=this +if(r.gEC())return!1 +s=r.jo$ +if(s!=null&&s.length!==0)return!1 +if(r.k4.length!==0||r.gl2()===B.cE)return!1 +if(r.k2.gaF(0)!==B.X)return!1 +if(r.k3.gaF(0)!==B.y)return!1 +if(r.a.cx.a)return!1 +return!0}, +sxs(a){var s,r=this +if(r.k1===a)return +r.ah(new A.a4W(r,a)) +s=r.k2 +s.toString +s.sct(0,r.k1?B.cY:A.dR.prototype.gbJ.call(r,0)) +s=r.k3 +s.toString +s.sct(0,r.k1?B.bL:A.dR.prototype.gyE.call(r)) +r.iv()}, +ht(){var s=0,r=A.z(t.oj),q,p=this,o,n,m +var $async$ht=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:p.p1.gbv() +o=A.a7(p.k4,!0,t.Ev),n=o.length,m=0 +case 3:if(!(m")),!1,r,!1,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,B.Id,r,r,r,r):q}, +i(a){return"ModalRoute("+this.b.i(0)+", animation: "+A.h(this.ax)+")"}} +A.a4W.prototype={ +$0(){this.a.k1=this.b}, +$S:0} +A.a4U.prototype={ +$1(a){var s=this.a.p2,r=$.ai.ag$.x.k(0,s) +r=r==null?null:r.e!=null +if(r!==!0)return +s=$.ai.ag$.x.k(0,s) +if(s!=null)s.cC(this.b)}, +$S:6} +A.a4V.prototype={ +$0(){}, +$S:0} +A.y5.prototype={ +gl_(){return!1}, +grQ(){return!0}} +A.p1.prototype={ +ht(){var s=0,r=A.z(t.oj),q,p=this,o +var $async$ht=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:o=p.jo$ +if(o!=null&&o.length!==0){q=B.fn +s=1 +break}q=p.Wo() +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ht,r)}, +gl2(){var s=this.jo$ +if(s!=null&&s.length!==0)return B.fn +return A.cp.prototype.gl2.call(this)}, +lZ(a){var s,r,q=this,p=q.jo$ +if(p!=null&&p.length!==0){s=p.pop() +s.b=null +s.agz() +r=s.c&&--q.wC$===0 +if(q.jo$.length===0||r)q.iv() +return!1}q.WK(a) +return!0}} +A.JU.prototype={ +K(a){var s,r,q,p=A.bY(a,B.bH,t.w).w.r,o=Math.max(p.a,0),n=this.d,m=n?p.b:0 +m=Math.max(m,0) +s=Math.max(p.c,0) +r=this.f +q=r?p.d:0 +return new A.cf(new A.aJ(o,m,s,Math.max(q,0)),A.arv(this.x,a,r,!0,!0,n),null)}} +A.K6.prototype={ +Sg(){}, +Ps(a,b){if(b!=null)b.cC(new A.yY(null,a,b,0))}, +Pt(a,b,c){b.cC(A.an1(b,null,null,a,c))}, +wr(a,b,c){b.cC(new A.iQ(null,c,0,a,b,0))}, +Pr(a,b){b.cC(new A.k2(null,a,b,0))}, +ql(){}, +l(){this.b=!0}, +i(a){return"#"+A.b4(this)}} +A.lh.prototype={ +ql(){this.a.fe(0)}, +gj2(){return!1}, +ghY(){return!1}, +geN(){return 0}} +A.a_M.prototype={ +gj2(){return!1}, +ghY(){return!1}, +geN(){return 0}, +l(){this.c.$0() +this.ui()}} +A.a8Q.prototype={ +Z1(a,b){var s,r,q=this +if(b==null)return a +if(a===0){s=!1 +if(q.d!=null)if(q.r==null){s=q.e +s=b.a-s.a>5e4}if(s)q.r=0 +return 0}else{s=q.r +if(s==null)return a +else{s+=a +q.r=s +r=q.d +r.toString +if(Math.abs(s)>r){q.r=null +s=Math.abs(a) +if(s>24)return a +else return Math.min(r/3,s)*J.dH(a)}else return 0}}}, +b2(a,b){var s,r,q,p,o,n=this +n.x=b +s=b.c +s.toString +r=s===0 +if(!r)n.e=b.a +q=b.a +p=!1 +if(n.f)if(r)if(q!=null){r=n.e +r=q.a-r.a>2e4}else r=!0 +else r=p +else r=p +if(r)n.f=!1 +o=n.Z1(s,q) +if(o===0)return +s=n.a +if(A.Dr(s.w.a.c))o=-o +s.FZ(o>0?B.j3:B.j4) +r=s.at +r.toString +s.zd(r-s.r.Cw(s,o))}, +PL(a,b){var s,r,q=this,p=b.b +p.toString +s=-p +if(A.Dr(q.a.w.a.c))s=-s +q.x=b +if(q.f){p=q.c +r=Math.abs(s)>Math.abs(p)*0.5 +if(J.dH(s)===J.dH(p)&&r)s+=p}q.a.fe(s)}, +l(){this.x=null +this.b.$0()}, +i(a){return"#"+A.b4(this)}} +A.Ye.prototype={ +Ps(a,b){var s=t.uL.a(this.c.x) +if(b!=null)b.cC(new A.yY(s,a,b,0))}, +Pt(a,b,c){b.cC(A.an1(b,null,t.zk.a(this.c.x),a,c))}, +wr(a,b,c){b.cC(new A.iQ(t.zk.a(this.c.x),c,0,a,b,0))}, +Pr(a,b){var s=this.c.x +b.cC(new A.k2(s instanceof A.eZ?s:null,a,b,0))}, +gj2(){var s=this.c +return(s==null?null:s.w)!==B.bx}, +ghY(){return!0}, +geN(){return 0}, +l(){this.c=null +this.ui()}, +i(a){return"#"+A.b4(this)+"("+A.h(this.c)+")"}} +A.Ep.prototype={ +Sg(){var s=this.a,r=this.c +r===$&&A.a() +s.fe(r.geN())}, +ql(){var s=this.a,r=this.c +r===$&&A.a() +s.fe(r.geN())}, +BN(){var s=this.c +s===$&&A.a() +s=s.x +s===$&&A.a() +if(!(Math.abs(this.a.zd(s))<1e-10)){s=this.a +s.h5(new A.lh(s))}}, +BB(){if(!this.b)this.a.fe(0)}, +wr(a,b,c){var s=this.c +s===$&&A.a() +b.cC(new A.iQ(null,c,s.geN(),a,b,0))}, +ghY(){return!0}, +geN(){var s=this.c +s===$&&A.a() +return s.geN()}, +l(){var s=this.c +s===$&&A.a() +s.l() +this.ui()}, +i(a){var s=A.b4(this),r=this.c +r===$&&A.a() +return"#"+s+"("+r.i(0)+")"}, +gj2(){return this.d}} +A.G2.prototype={ +BN(){var s=this.a,r=this.d +r===$&&A.a() +r=r.x +r===$&&A.a() +if(s.zd(r)!==0){s=this.a +s.h5(new A.lh(s))}}, +BB(){var s,r +if(!this.b){s=this.a +r=this.d +r===$&&A.a() +s.fe(r.geN())}}, +wr(a,b,c){var s=this.d +s===$&&A.a() +b.cC(new A.iQ(null,c,s.geN(),a,b,0))}, +gj2(){return!0}, +ghY(){return!0}, +geN(){var s=this.d +s===$&&A.a() +return s.geN()}, +l(){var s=this.c +s===$&&A.a() +s.eW(0) +s=this.d +s===$&&A.a() +s.l() +this.ui()}, +i(a){var s=A.b4(this),r=this.d +r===$&&A.a() +return"#"+s+"("+r.i(0)+")"}} +A.yT.prototype={ +tj(a,b,c,d){var s,r=this +if(b.a==null){s=$.jQ.o1$ +s===$&&A.a() +s=s.a.k(0,c)!=null||s.b.k(0,c)!=null}else s=!0 +if(s){r.b.tj(a,b,c,d) +return}s=r.a +if(s.gb5(0)==null)return +s=s.gb5(0) +s.toString +if(A.aEj(s)){$.bC.yC(new A.a8M(r,a,b,c,d)) +return}r.b.tj(a,b,c,d)}, +rO(a,b){return this.b.rO(a,b)}, +rP(a,b){return this.b.rP(a,b)}, +xq(a){return this.b.xq(a)}} +A.a8M.prototype={ +$1(a){var s=this +A.e6(new A.a8L(s.a,s.b,s.c,s.d,s.e))}, +$S:6} +A.a8L.prototype={ +$0(){var s=this +return s.a.tj(s.b,s.c,s.d,s.e)}, +$S:0} +A.K7.prototype={ +wb(a,b,c,d,e,f,g){return new A.ajo(this,g!==!1,c!==!1,d,e,a,b,f)}, +OR(a){var s=null +return this.wb(s,s,s,s,s,s,a)}, +hv(a){return A.el()}, +gkz(){return B.wu}, +le(a){switch(this.hv(a).a){case 4:case 2:return B.iK +case 3:case 5:case 0:case 1:return B.cw}}, +gta(){return A.bZ([B.bX,B.cq],t.r)}, +vW(a,b,c){var s=null +switch(this.hv(a).a){case 3:case 4:case 5:return A.aDT(b,c.b,B.bb,s,s,A.DC(),B.q,s,s,s,s,B.d9,s) +case 0:case 1:case 2:return b}}, +vU(a,b,c){switch(this.hv(a).a){case 2:case 3:case 4:case 5:return b +case 0:case 1:return A.aqS(c.a,b,B.i)}}, +yi(a){switch(this.hv(a).a){case 2:return new A.a8N() +case 4:return new A.a8O() +case 0:case 1:case 3:case 5:return new A.a8P()}}, +mH(a){switch(this.hv(a).a){case 2:return B.yg +case 4:return B.yh +case 0:case 1:case 3:case 5:return B.A6}}, +yN(a){return!1}, +i(a){return"ScrollBehavior"}} +A.a8N.prototype={ +$1(a){return A.aC6(a.gcm(a))}, +$S:433} +A.a8O.prototype={ +$1(a){var s=a.gcm(a),r=t.av +return new A.qA(A.bc(20,null,!1,r),s,A.bc(20,null,!1,r))}, +$S:434} +A.a8P.prototype={ +$1(a){return new A.ia(a.gcm(a),A.bc(20,null,!1,t.av))}, +$S:160} +A.ajo.prototype={ +gkz(){var s=this.f +return s==null?B.wu:s}, +gta(){var s=this.w +return s==null?A.bZ([B.bX,B.cq],t.r):s}, +le(a){var s=this.a.le(a) +return s}, +vU(a,b,c){if(this.c)return this.a.vU(a,b,c) +return b}, +vW(a,b,c){if(this.b)return this.a.vW(a,b,c) +return b}, +wb(a,b,c,d,e,f,g){var s=this,r=g==null?s.b:g,q=c==null?s.c:c,p=s.gkz(),o=s.gta() +return s.a.wb(p,s.r,q,s.d,s.e,o,r)}, +OR(a){var s=null +return this.wb(s,s,s,s,s,s,a)}, +hv(a){var s=this.a.hv(a) +return s}, +mH(a){var s=this.a.mH(a) +return s}, +yN(a){var s=this,r=!0 +if(A.t(a.a)===A.t(s.a))if(a.b===s.b)if(a.c===s.c)if(A.ul(a.gkz(),s.gkz())){r=A.ul(a.gta(),s.gta()) +r=!r}return r}, +yi(a){return this.a.yi(a)}, +i(a){return"_WrappedScrollBehavior"}} +A.yU.prototype={ +bT(a){var s=this.f,r=a.f +if(A.t(s)===A.t(r))s=s!==r&&s.yN(r) +else s=!0 +return s}} +A.rh.prototype={ +is(a,b,c){return this.a8C(a,b,c)}, +a8C(a,b,c){var s=0,r=A.z(t.H),q=this,p,o,n +var $async$is=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:n=A.b([],t.mo) +for(p=q.f,o=0;o#"+A.b4(this)+"("+B.b.bD(s,", ")+")"}} +A.aa0.prototype={ +gr4(){return null}, +i(a){var s=A.b([],t.s) +this.cB(s) +return"#"+A.b4(this)+"("+B.b.bD(s,", ")+")"}, +cB(a){var s,r,q +try{s=this.gr4() +if(s!=null)a.push("estimated child count: "+A.h(s))}catch(q){r=A.a9(q) +a.push("estimated child count: EXCEPTION ("+J.T(r).i(0)+")")}}} +A.tN.prototype={} +A.aa_.prototype={ +Q_(a){return null}, +CE(a,b){var s,r,q,p,o,n,m,l,k=null +if(b>=0)p=b>=this.b +else p=!0 +if(p)return k +s=null +try{s=this.a.$2(a,b)}catch(o){r=A.a9(o) +q=A.aK(o) +n=new A.bF(r,q,"widgets library",A.bm("building"),k,!1) +A.dk(n) +s=A.Z4(n)}if(s==null)return k +if(s.a!=null){p=s.a +p.toString +m=new A.tN(p)}else m=k +p=s +s=new A.i0(p,k) +l=A.ao3(s,b) +if(l!=null)s=new A.wH(l,s,k) +p=s +s=new A.pz(new A.tO(p,k),k) +return new A.iI(s,m)}, +gr4(){return this.b}, +GG(a){return!0}} +A.aa1.prototype={ +a0v(a){var s,r,q,p=null,o=this.r +if(!o.a9(0,a)){s=o.k(0,p) +s.toString +for(r=this.f,q=s;q=this.f.length)return o +s=this.f[b] +r=s.a +q=r!=null?new A.tN(r):o +s=new A.i0(s,o) +p=A.ao3(s,b) +s=p!=null?new A.wH(p,s,o):s +return new A.iI(new A.pz(new A.tO(s,o),o),q)}, +gr4(){return this.f.length}, +GG(a){return this.f!==a.f}} +A.tO.prototype={ +ai(){return new A.Cj(null)}} +A.Cj.prototype={ +goR(){return this.r}, +adP(a){return new A.aii(this,a)}, +vz(a,b){var s,r=this +if(b){s=r.d;(s==null?r.d=A.ay(t.x9):s).D(0,a)}else{s=r.d +if(s!=null)s.A(0,a)}s=r.d +s=s==null?null:s.a!==0 +s=s===!0 +if(r.r!==s){r.r=s +r.oO()}}, +bi(){var s,r,q,p=this +p.d_() +s=p.c +s.toString +r=A.z6(s) +s=p.f +if(s!=r){if(s!=null){q=p.e +if(q!=null)new A.aZ(q,A.o(q).h("aZ<1>")).W(0,s.goB(s))}p.f=r +if(r!=null){s=p.e +if(s!=null)new A.aZ(s,A.o(s).h("aZ<1>")).W(0,r.ghE(r))}}}, +D(a,b){var s,r=this,q=r.adP(b) +b.Y(0,q) +s=r.e;(s==null?r.e=A.E(t.x9,t.M):s).n(0,b,q) +r.f.D(0,b) +if(b.gm(b).c!==B.bA)r.vz(b,!0)}, +A(a,b){var s=this.e +if(s==null)return +s=s.A(0,b) +s.toString +b.H(0,s) +this.f.A(0,b) +this.vz(b,!1)}, +l(){var s,r,q=this,p=q.e +if(p!=null){for(p=A.hf(p,p.r);p.q();){s=p.d +q.f.A(0,s) +r=q.e.k(0,s) +r.toString +s.H(0,r)}q.e=null}q.d=null +q.aB()}, +K(a){var s=this +s.yZ(a) +if(s.f==null)return s.a.c +return A.asv(s.a.c,s)}} +A.aii.prototype={ +$0(){var s=this.b,r=this.a +if(s.gm(s).c!==B.bA)r.vz(s,!0) +else r.vz(s,!1)}, +$S:0} +A.Tw.prototype={ +an(){this.aJ() +if(this.r)this.pv()}, +cQ(){var s=this.fC$ +if(s!=null){s.ae() +s.dt() +this.fC$=null}this.pe()}} +A.i2.prototype={ +hK(){var s=this,r=null,q=s.gEk()?s.gfH():r,p=s.gEk()?s.gfG():r,o=s.gQr()?s.gcz():r,n=s.gQt()?s.gtD():r,m=s.gez(),l=s.gnR(s) +return new A.wf(q,p,o,n,m,l)}, +gt3(){var s=this +return s.gcz()s.gfG()}, +gOi(){var s=this +return s.gcz()===s.gfH()||s.gcz()===s.gfG()}, +gm4(){var s=this +return s.gtD()-A.N(s.gfH()-s.gcz(),0,s.gtD())-A.N(s.gcz()-s.gfG(),0,s.gtD())}} +A.wf.prototype={ +gfH(){var s=this.a +s.toString +return s}, +gfG(){var s=this.b +s.toString +return s}, +gEk(){return this.a!=null&&this.b!=null}, +gcz(){var s=this.c +s.toString +return s}, +gQr(){return this.c!=null}, +gtD(){var s=this.d +s.toString +return s}, +gQt(){return this.d!=null}, +i(a){var s=this +return"FixedScrollMetrics("+B.c.R(Math.max(s.gcz()-s.gfH(),0),1)+"..["+B.c.R(s.gm4(),1)+"].."+B.c.R(Math.max(s.gfG()-s.gcz(),0),1)+")"}, +gez(){return this.e}, +gnR(a){return this.f}} +A.NP.prototype={} +A.fc.prototype={} +A.LE.prototype={ +Rq(a){if(t.rS.b(a))++a.ee$ +return!1}} +A.eC.prototype={ +cB(a){this.XF(a) +a.push(this.a.i(0))}} +A.yY.prototype={ +cB(a){var s +this.pd(a) +s=this.d +if(s!=null)a.push(s.i(0))}} +A.hm.prototype={ +cB(a){var s +this.pd(a) +a.push("scrollDelta: "+A.h(this.e)) +s=this.d +if(s!=null)a.push(s.i(0))}} +A.iQ.prototype={ +cB(a){var s,r=this +r.pd(a) +a.push("overscroll: "+B.c.R(r.e,1)) +a.push("velocity: "+B.c.R(r.f,1)) +s=r.d +if(s!=null)a.push(s.i(0))}} +A.k2.prototype={ +cB(a){var s +this.pd(a) +s=this.d +if(s!=null)a.push(s.i(0))}} +A.Ly.prototype={ +cB(a){this.pd(a) +a.push("direction: "+this.d.i(0))}} +A.Ca.prototype={ +cB(a){var s,r +this.z6(a) +s=this.ee$ +r=s===0?"local":"remote" +a.push("depth: "+s+" ("+r+")")}} +A.C9.prototype={ +bT(a){return this.f!==a.f}} +A.mo.prototype={ +adO(a,b){return this.a.$1(b)}} +A.yX.prototype={ +ai(){return new A.Ka(new A.nL(t.z_))}} +A.Ka.prototype={ +H(a,b){var s,r,q=this.d +q.toString +q=A.aFU(q,q.$ti.c) +s=q.$ti.c +for(;q.q();){r=q.c +if(r==null)r=s.a(r) +if(J.e(r.a,b)){q=r.hf$ +q.toString +q.N3(A.o(r).h("fD.E").a(r)) +return}}}, +L8(a){var s,r,q,p,o,n,m,l,k=this.d +if(k.b===0)return +p=A.a7(k,!0,t.Sx) +for(k=p.length,o=0;oMath.max(Math.abs(s.a),Math.abs(s.b))}return s.RX(a,b,c)}, +qj(a,b){var s=this.a +s=s==null?null:s.qj(a,b) +return s==null?0:s}, +vQ(a,b,c,d){var s=this.a +if(s==null){s=b.c +s.toString +return s}return s.vQ(a,b,c,d)}, +nM(a,b){var s=this.a +return s==null?null:s.nM(a,b)}, +gmW(){var s=this.a +s=s==null?null:s.gmW() +return s==null?$.ax5():s}, +tv(a){var s=this.a +s=s==null?null:s.tv(a) +if(s==null){s=a.w.f +s===$&&A.a() +s=new A.zW(1/s,1/(0.05*s))}return s}, +gEU(){var s=this.a +s=s==null?null:s.gEU() +return s==null?18:s}, +gxn(){var s=this.a +s=s==null?null:s.gxn() +return s==null?50:s}, +grT(){var s=this.a +s=s==null?null:s.grT() +return s==null?8000:s}, +CI(a){var s=this.a +s=s==null?null:s.CI(a) +return s==null?0:s}, +gDx(){var s=this.a +return s==null?null:s.gDx()}, +gnC(){return!0}, +i(a){var s=this.a +if(s==null)return"ScrollPhysics" +return"ScrollPhysics -> "+s.i(0)}} +A.Jc.prototype={ +jh(a){return new A.Jc(this.iu(a))}, +vQ(a,b,c,d){var s,r,q,p,o,n,m=d===0,l=c.a +l.toString +s=b.a +s.toString +if(l===s){r=c.b +r.toString +q=b.b +q.toString +q=r===q +r=q}else r=!1 +p=r?!1:m +r=c.c +r.toString +q=b.c +q.toString +if(r!==q){q=!1 +if(isFinite(l)){o=c.b +o.toString +if(isFinite(o))if(isFinite(s)){q=b.b +q.toString +q=isFinite(q)}}if(q)m=!1 +p=!1}q=ro}else o=!0 +if(o)m=!1 +if(p){if(q&&s>l)return s-(l-r) +l=c.b +l.toString +if(r>l){q=b.b +q.toString +q=q0&&b<0))n=p>0&&b>0 +else n=!0 +s=a.ax +if(n){s.toString +m=this.Qd((o-Math.abs(b))/s)}else{s.toString +m=this.Qd(o/s)}l=J.dH(b) +if(n&&this.b===B.w5)return l*Math.abs(b) +return l*A.azI(o,Math.abs(b),m)}, +qj(a,b){return 0}, +nM(a,b){var s,r,q,p,o,n,m,l=this.tv(a) +if(Math.abs(b)>=l.c||a.gt3()){s=this.gmW() +r=a.at +r.toString +q=a.z +q.toString +p=a.Q +p.toString +switch(this.b.a){case 1:o=1400 +break +case 0:o=0 +break +default:o=null}n=new A.Vp(q,p,s,l) +if(rp){n.f=new A.lT(p,A.tR(s,r-p,b),B.bj) +n.r=-1/0}else{r=n.e=A.aBN(0.135,r,b,o) +m=r.gwG() +if(b>0&&m>p){q=r.Sx(p) +n.r=q +n.f=new A.lT(p,A.tR(s,p-p,Math.min(r.ed(0,q),5000)),B.bj)}else if(b<0&&mr)q=r +else q=o +r=a.z +r.toString +if(s0){r=a.at +r.toString +p=a.Q +p.toString +p=r>=p +r=p}else r=!1 +if(r)return o +if(b<0){r=a.at +r.toString +p=a.z +p.toString +p=r<=p +r=p}else r=!1 +if(r)return o +r=a.at +r.toString +r=new A.Wz(r,b,n) +p=$.alg() +s=p*0.35*Math.pow(s/2223.8657884799995,1/(p-1)) +r.e=s +r.f=b*s/p +return r}} +A.E6.prototype={ +jh(a){return new A.E6(this.iu(a))}, +jZ(a){return!0}} +A.oq.prototype={ +F(){return"ScrollPositionAlignmentPolicy."+this.b}} +A.k3.prototype={ +HM(a,b,c,d,e){if(d!=null)this.kn(d) +this.Sn()}, +gfH(){var s=this.z +s.toString +return s}, +gfG(){var s=this.Q +s.toString +return s}, +gEk(){return this.z!=null&&this.Q!=null}, +gcz(){var s=this.at +s.toString +return s}, +gQr(){return this.at!=null}, +gtD(){var s=this.ax +s.toString +return s}, +gQt(){return this.ax!=null}, +kn(a){var s=this,r=a.z +if(r!=null&&a.Q!=null){r.toString +s.z=r +r=a.Q +r.toString +s.Q=r}r=a.at +if(r!=null)s.at=r +r=a.ax +if(r!=null)s.ax=r +s.fr=a.fr +a.fr=null +if(A.t(a)!==A.t(s))s.fr.Sg() +s.w.yK(s.fr.gj2()) +s.dy.sm(0,s.fr.ghY())}, +gnR(a){var s=this.w.f +s===$&&A.a() +return s}, +Ub(a){var s,r,q,p=this,o=p.at +o.toString +if(a!==o){s=p.r.qj(p,a) +o=p.at +o.toString +r=a-s +p.at=r +if(r!==o){if(p.gt3())p.w.yK(!1) +p.C5() +p.GU() +r=p.at +r.toString +p.Dq(r-o)}if(Math.abs(s)>1e-10){o=p.fr +o.toString +r=p.hK() +q=$.ai.ag$.x.k(0,p.w.Q) +q.toString +o.wr(r,q,s) +return s}}return 0}, +CZ(a){var s=this.at +s.toString +this.at=s+a +this.ch=!0}, +E_(a){var s=this,r=s.at +r.toString +s.as=a-r +s.at=a +s.C5() +s.GU() +$.bC.p2$.push(new A.a8U(s))}, +Gr(){var s,r=this.w,q=r.c +q.toString +q=A.a5T(q) +if(q!=null){r=r.c +r.toString +s=this.at +s.toString +q.SV(r,s)}}, +Sn(){var s,r,q +if(this.at==null){s=this.w +r=s.c +r.toString +r=A.a5T(r) +if(r==null)q=null +else{s=s.c +s.toString +q=r.RU(s)}if(q!=null)this.at=q}}, +Sm(a,b){if(b)this.at=a +else this.eH(a)}, +Gq(){var s=this.at +s.toString +this.w.r.sm(0,s) +s=$.ee.m5$ +s===$&&A.a() +s.Q3()}, +qo(a){if(this.ax!==a){this.ax=a +this.ch=!0}return!0}, +qk(a,b){var s,r,q,p,o=this +if(!A.DA(o.z,a,0.001)||!A.DA(o.Q,b,0.001)||o.ch||o.db!==A.aX(o.gez())){o.z=a +o.Q=b +o.db=A.aX(o.gez()) +s=o.ay?o.hK():null +o.ch=!1 +o.CW=!0 +if(o.ay){r=o.cx +r.toString +s.toString +r=!o.aa6(r,s)}else r=!1 +if(r)return!1 +o.ay=!0}if(o.CW){o.Wv() +o.w.U2(o.r.jZ(o)) +o.CW=!1}s=o.hK() +if(o.cx!=null){r=Math.max(s.gcz()-s.gfH(),0) +q=o.cx +p=!1 +if(r===Math.max(q.gcz()-q.gfH(),0))if(s.gm4()===o.cx.gm4()){r=Math.max(s.gfG()-s.gcz(),0) +q=o.cx +r=r===Math.max(q.gfG()-q.gcz(),0)&&s.e===o.cx.e}else r=p +else r=p +r=!r}else r=!0 +if(r){if(!o.cy){A.e6(o.gaaH()) +o.cy=!0}o.cx=o.hK()}return!0}, +aa6(a,b){var s=this,r=s.r.vQ(s.fr.ghY(),b,a,s.fr.geN()),q=s.at +q.toString +if(r!==q){s.at=r +return!1}return!0}, +ql(){this.fr.ql() +this.C5()}, +C5(){var s,r,q,p,o,n,m=this,l=m.w +switch(l.a.c.a){case 0:s=B.Je +break +case 2:s=B.Jj +break +case 3:s=B.Jf +break +case 1:s=B.Jk +break +default:s=null}r=s.a +q=null +p=s.b +q=p +s=A.ay(t._S) +o=m.at +o.toString +n=m.z +n.toString +if(o>n)s.D(0,q) +o=m.at +o.toString +n=m.Q +n.toString +if(on)k=n +break +default:k=null}n=p.at +n.toString +if(k===n){s=1 +break}if(e.a===B.q.a){p.eH(k) +s=1 +break}q=p.is(k,d,e) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$r3,r)}, +rY(a,b,c,d){var s,r=this.z +r.toString +s=this.Q +s.toString +b=A.N(b,r,s) +return this.WO(0,b,c,d)}, +h5(a){var s,r,q=this,p=q.fr +if(p!=null){s=p.gj2() +r=q.fr.ghY() +if(r&&!a.ghY())q.Dj() +q.fr.l()}else{r=!1 +s=!1}q.fr=a +if(s!==a.gj2())q.w.yK(q.fr.gj2()) +q.dy.sm(0,q.fr.ghY()) +if(!r&&q.fr.ghY())q.Dn()}, +Dn(){var s=this.fr +s.toString +s.Ps(this.hK(),$.ai.ag$.x.k(0,this.w.Q))}, +Dq(a){var s,r,q=this.fr +q.toString +s=this.hK() +r=$.ai.ag$.x.k(0,this.w.Q) +r.toString +q.Pt(s,r,a)}, +Dj(){var s,r,q=this,p=q.fr +p.toString +s=q.hK() +r=$.ai.ag$.x.k(0,q.w.Q) +r.toString +p.Pr(s,r) +q.Gq() +q.Gr()}, +aaI(){var s,r,q +this.cy=!1 +s=this.w.Q +if($.ai.ag$.x.k(0,s)!=null){r=this.hK() +q=$.ai.ag$.x.k(0,s) +q.toString +s=$.ai.ag$.x.k(0,s) +if(s!=null)s.cC(new A.oo(r,q,0))}}, +l(){var s=this,r=s.fr +if(r!=null)r.l() +s.fr=null +r=s.dy +r.O$=$.aM() +r.S$=0 +s.dt()}, +cB(a){var s,r,q=this +q.WN(a) +s=q.z +s=s==null?null:B.c.R(s,1) +r=q.Q +r=r==null?null:B.c.R(r,1) +a.push("range: "+A.h(s)+".."+A.h(r)) +r=q.ax +a.push("viewport: "+A.h(r==null?null:B.c.R(r,1)))}} +A.a8U.prototype={ +$1(a){this.a.as=0}, +$S:6} +A.oo.prototype={ +Of(){return A.an1(this.b,this.ee$,null,this.a,null)}, +cB(a){this.XE(a) +a.push(this.a.i(0))}} +A.C8.prototype={ +cB(a){var s,r +this.z6(a) +s=this.ee$ +r=s===0?"local":"remote" +a.push("depth: "+s+" ("+r+")")}} +A.Ra.prototype={} +A.or.prototype={ +HN(a,b,c,d,e,f){var s=this +if(s.at==null&&c!=null)s.at=c +if(s.fr==null)s.h5(new A.lh(s))}, +gez(){return this.w.a.c}, +kn(a){var s,r=this +r.Wt(a) +r.fr.a=r +r.k4=a.k4 +s=a.ok +if(s!=null){r.ok=s +s.a=r +a.ok=null}}, +h5(a){var s,r=this +r.k3=0 +r.Wx(a) +s=r.ok +if(s!=null)s.l() +r.ok=null +if(!r.fr.ghY())r.FZ(B.fo)}, +fe(a){var s,r,q,p=this,o=p.r.nM(p,a) +if(o!=null){if(!p.gt3()){s=p.fr +s=s==null?null:s.gj2() +s=s!==!1}else s=!1 +s=new A.Ep(s,p) +r=A.alG(null,0,p.w) +r.bm() +q=r.cb$ +q.b=!0 +q.a.push(s.gBM()) +r.es(0) +r.z=B.aq +r.vs(o).a.a.hs(s.gBA()) +s.c=r +p.h5(s)}else p.h5(new A.lh(p))}, +FZ(a){var s,r,q,p=this +if(p.k4===a)return +p.k4=a +s=p.hK() +r=p.w.Q +q=$.ai.ag$.x.k(0,r) +q.toString +r=$.ai.ag$.x.k(0,r) +if(r!=null)r.cC(new A.Ly(a,s,q,0))}, +is(a,b,c){var s,r,q,p=this,o=p.at +o.toString +if(A.DA(a,o,p.r.tv(p).a)){p.eH(a) +return A.cm(null,t.H)}o=p.at +o.toString +s=new A.G2(p) +r=new A.b1(new A.a8($.ae,t.V),t.h) +s.c=r +o=A.alG("DrivenScrollActivity",o,p.w) +o.bm() +q=o.cb$ +q.b=!0 +q.a.push(s.gBM()) +o.z=B.aq +o.k7(a,b,c).a.a.hs(s.gBA()) +s.d!==$&&A.bz() +s.d=o +p.h5(s) +return r.a}, +eH(a){var s,r,q=this +q.h5(new A.lh(q)) +s=q.at +s.toString +if(s!==a){q.E_(a) +q.Dn() +r=q.at +r.toString +q.Dq(r-s) +q.Dj()}q.fe(0)}, +Fp(a){var s,r,q,p,o=this +if(a===0){o.fe(0) +return}s=o.at +s.toString +r=o.z +r.toString +r=Math.max(s+a,r) +q=o.Q +q.toString +p=Math.min(r,q) +if(p!==s){o.h5(new A.lh(o)) +o.FZ(-a>0?B.j3:B.j4) +s=o.at +s.toString +o.dy.sm(0,!0) +o.E_(p) +o.Dn() +r=o.at +r.toString +o.Dq(r-s) +o.Dj() +o.fe(0)}}, +wZ(a){var s=this,r=s.fr.geN(),q=new A.a_M(a,s) +s.h5(q) +s.k3=r +return q}, +Pz(a,b){var s,r,q=this,p=q.r,o=p.CI(q.k3) +p=p.gDx() +s=p==null?null:0 +r=new A.a8Q(q,b,o,p,a.a,o!==0,s,a.d,a) +q.h5(new A.Ye(r,q)) +return q.ok=r}, +l(){var s=this.ok +if(s!=null)s.l() +this.ok=null +this.Wz()}} +A.Vp.prototype={ +BG(a){var s,r=this,q=r.r +q===$&&A.a() +if(a>q){if(!isFinite(q))q=0 +r.w=q +q=r.f +q===$&&A.a() +s=q}else{r.w=0 +q=r.e +q===$&&A.a() +s=q}s.a=r.a +return s}, +dr(a,b){return this.BG(b).dr(0,b-this.w)}, +ed(a,b){return this.BG(b).ed(0,b-this.w)}, +kS(a){return this.BG(a).kS(a-this.w)}, +i(a){return"BouncingScrollSimulation(leadingExtent: "+A.h(this.b)+", trailingExtent: "+A.h(this.c)+")"}} +A.Wz.prototype={ +dr(a,b){var s,r=this.e +r===$&&A.a() +s=A.N(b/r,0,1) +r=this.f +r===$&&A.a() +return this.b+r*(1-Math.pow(1-s,$.alg()))}, +ed(a,b){var s=this.e +s===$&&A.a() +return this.c*Math.pow(1-A.N(b/s,0,1),$.alg()-1)}, +kS(a){var s=this.e +s===$&&A.a() +return a>=s}} +A.Kc.prototype={ +F(){return"ScrollViewKeyboardDismissBehavior."+this.b}} +A.Kb.prototype={ +a9_(a,b,c,d){return A.atf(0,c,this.Q,B.zG,null,this.ch,b,d)}, +K(a){var s,r,q,p,o,n,m,l,k,j=this,i=null,h=j.a8V(a),g=j.cy,f=A.d9(a,i) +if(f!=null){s=f.r +r=s.a9X(0,0) +q=s.a9Z(0,0) +s=j.c===B.aw +g=s?q:r +h=A.xh(h,f.CV(s?r:q))}p=A.b([g!=null?new A.KG(g,h,i):h],t.D) +s=j.c +o=A.akI(a,s,!1) +n=j.f +n=A.as_(a,s) +m=n?A.J6(a):j.e +l=A.an2(o,j.ch,m,j.at,j.CW,j.r,j.ay,i,j.as,new A.a8V(j,o,p)) +k=n&&m!=null?A.arZ(l):l +if(j.ax===B.JE)return new A.cL(new A.a8W(a),k,i,t.kj) +else return k}} +A.a8V.prototype={ +$2(a,b){return this.a.a9_(a,b,this.b,this.c)}, +$S:438} +A.a8W.prototype={ +$1(a){var s,r=A.aqO(this.a) +if(a.d!=null&&!r.giF()&&r.giE()){s=$.ai.ag$.d.c +if(s!=null)s.ty()}return!1}, +$S:439} +A.Ey.prototype={} +A.Hr.prototype={ +a8V(a){return new A.KF(this.ry,null)}} +A.aid.prototype={ +$2(a,b){if(!a.a)a.H(0,b)}, +$S:52} +A.z_.prototype={ +ai(){var s=null,r=t.A +return new A.z0(new A.QV($.aM()),new A.bv(s,r),new A.bv(s,t.LZ),new A.bv(s,r),B.qQ,s,A.E(t.yb,t.M),s,!0,s,s,s)}, +ag8(a,b){return this.f.$2(a,b)}} +A.a92.prototype={ +$1(a){return null}, +$S:440} +A.Cb.prototype={ +bT(a){return this.r!==a.r}} +A.z0.prototype={ +gPf(){var s,r=this +switch(r.a.c.a){case 0:s=r.d.at +s.toString +s=new A.m(0,-s) +break +case 2:s=r.d.at +s.toString +s=new A.m(0,s) +break +case 3:s=r.d.at +s.toString +s=new A.m(-s,0) +break +case 1:s=r.d.at +s.toString +s=new A.m(s,0) +break +default:s=null}return s}, +gpt(){var s=this.a.d +if(s==null){s=this.x +s.toString}return s}, +gdc(){return this.a.Q}, +Nt(){var s,r,q,p=this,o=p.a.as +if(o==null){o=p.c +o.toString +o=A.yV(o)}p.w=o +s=p.c +s.toString +s=o.mH(s) +p.e=s +o=p.a +r=o.e +if(r!=null)p.e=r.jh(s) +else{o=o.as +if(o!=null){s=p.c +s.toString +p.e=o.mH(s).jh(p.e)}}q=p.d +if(q!=null){p.gpt().qP(0,q) +A.e6(q.gkx())}o=p.gpt() +s=p.e +s.toString +p.d=o.P7(s,p,q) +s=p.gpt() +o=p.d +o.toString +s.aj(o)}, +jL(a,b){var s,r,q,p=this.r +this.oA(p,"offset") +s=p.y +r=s==null +if((r?A.o(p).h("bJ.T").a(s):s)!=null){q=this.d +q.toString +p=r?A.o(p).h("bJ.T").a(s):s +p.toString +q.Sm(p,b)}}, +an(){if(this.a.d==null)this.x=A.an0(null,null) +this.aJ()}, +bi(){var s=this,r=s.c +r.toString +r=A.d9(r,B.xF) +s.y=r==null?null:r.CW +r=s.c +r.toString +r=A.d9(r,B.ea) +r=r==null?null:r.b +if(r==null){r=s.c +r.toString +A.atd(r).toString +r=$.br().d +if(r==null){r=self.window.devicePixelRatio +if(r===0)r=1}}s.f=r +s.Nt() +s.XH()}, +a6Y(a){var s,r,q=this,p=null,o=q.a.as,n=o==null,m=a.as,l=m==null +if(n!==l)return!0 +if(!n&&!l&&o.yN(m))return!0 +o=q.a +s=o.e +if(s==null){o=o.as +if(o==null)s=p +else{n=q.c +n.toString +n=o.mH(n) +s=n}}r=a.e +if(r==null)if(l)r=p +else{o=q.c +o.toString +o=m.mH(o) +r=o}do{o=s==null +n=o?p:A.t(s) +m=r==null +if(n!=(m?p:A.t(r)))return!0 +s=o?p:s.a +r=m?p:r.a}while(s!=null||r!=null) +o=q.a.d +o=o==null?p:A.t(o) +n=a.d +return o!=(n==null?p:A.t(n))}, +aG(a){var s,r,q=this +q.XI(a) +s=a.d +if(q.a.d!=s){if(s==null){s=q.x +s.toString +r=q.d +r.toString +s.qP(0,r) +q.x.l() +q.x=null}else{r=q.d +r.toString +s.qP(0,r) +if(q.a.d==null)q.x=A.an0(null,null)}s=q.gpt() +r=q.d +r.toString +s.aj(r)}if(q.a6Y(a))q.Nt()}, +l(){var s,r=this,q=r.a.d +if(q!=null){s=r.d +s.toString +q.qP(0,s)}else{q=r.x +if(q!=null){s=r.d +s.toString +q.qP(0,s)}q=r.x +if(q!=null)q.l()}r.d.l() +r.r.l() +r.XJ()}, +U2(a){var s,r,q=this +if(a===q.ay)s=!a||A.aX(q.a.c)===q.ch +else s=!1 +if(s)return +if(!a){q.at=B.qQ +q.M7()}else{switch(A.aX(q.a.c).a){case 1:q.at=A.an([B.jB,new A.cT(new A.a8Z(q),new A.a9_(q),t.ok)],t.u,t.xR) +break +case 0:q.at=A.an([B.jD,new A.cT(new A.a90(q),new A.a91(q),t.Uv)],t.u,t.xR) +break}a=!0}q.ay=a +q.ch=A.aX(q.a.c) +s=q.Q +if(s.gbv()!=null){s=s.gbv() +s.BJ(q.at) +if(!s.a.f){r=s.c.gU() +r.toString +t.Wx.a(r) +s.e.a8L(r)}}}, +yK(a){var s,r=this +if(r.ax===a)return +r.ax=a +s=r.as +if($.ai.ag$.x.k(0,s)!=null){s=$.ai.ag$.x.k(0,s).gU() +s.toString +t.f1.a(s).sQB(r.ax)}}, +a1Y(a){this.cx=this.d.wZ(this.ga_Z())}, +a6w(a){this.CW=this.d.Pz(a,this.ga_X())}, +a6x(a){var s=this.CW +if(s!=null)s.b2(0,a)}, +a6v(a){var s=this.CW +if(s!=null)s.PL(0,a)}, +M7(){if($.ai.ag$.x.k(0,this.Q)==null)return +var s=this.cx +if(s!=null)s.a.fe(0) +s=this.CW +if(s!=null)s.a.fe(0)}, +a0_(){this.cx=null}, +a_Y(){this.CW=null}, +ML(a){var s,r=this.d,q=r.at +q.toString +s=r.z +s.toString +s=Math.max(q+a,s) +r=r.Q +r.toString +return Math.min(s,r)}, +Lr(a){var s,r,q=$.ee.r8$ +q===$&&A.a() +q=q.a.gaI(0) +s=A.ew(q,A.o(q).h("j.E")) +q=this.w +q===$&&A.a() +q=q.gta() +r=s.jg(0,q.gjl(q))&&a.gcm(a)===B.cD +q=this.a +switch((r?A.aJz(A.aX(q.c)):A.aX(q.c)).a){case 0:q=a.goX().a +break +case 1:q=a.goX().b +break +default:q=null}return A.Dr(this.a.c)?-q:q}, +a5M(a){var s,r,q,p,o=this +if(t.Mj.b(a)&&o.d!=null){s=o.e +if(s!=null){r=o.d +r.toString +r=!s.jZ(r) +s=r}else s=!1 +if(s){a.l6(!0) +return}q=o.Lr(a) +p=o.ML(q) +if(q!==0){s=o.d.at +s.toString +s=p!==s}else s=!1 +if(s){$.dY.E$.S1(0,a,o.ga2J()) +return}a.l6(!0)}else if(t.xb.b(a))o.d.Fp(0)}, +a2K(a){var s,r=this,q=r.Lr(a),p=r.ML(q) +if(q!==0){s=r.d.at +s.toString +s=p!==s}else s=!1 +if(s)r.d.Fp(q)}, +a2X(a){var s,r +if(a.ee$===0){s=$.ai.ag$.x.k(0,this.z) +r=s==null?null:s.gU() +if(r!=null)r.b1()}return!1}, +K(a){var s,r,q,p,o,n,m,l,k,j,i=this,h=null,g=i.d +g.toString +s=i.at +r=i.a +q=r.x +p=i.ax +q=A.x2(B.bs,new A.lM(A.cN(h,h,A.a0f(r.ag8(a,g),p,i.as),!1,h,!0,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h),s,q,!1,i.Q),h,h,h,i.ga5L(),h) +i.a.toString +s=i.d +s.toString +r=i.e.gnC() +p=i.a +o=p.y +p=p.c +n=i.gpt() +m=i.a.at +l=new A.Kd(p,n,m) +p=i.w +p===$&&A.a() +k=p.vW(a,p.vU(a,new A.cL(i.ga2W(),new A.Rb(s,r,o,new A.Cb(i,g,q,h),i.z),h,t.ji),l),l) +j=A.z6(a) +if(j!=null){g=i.d +g.toString +k=new A.Cd(i,g,k,j,h)}return k}} +A.a8Z.prototype={ +$0(){var s=this.a.w +s===$&&A.a() +return A.atb(null,s.gkz())}, +$S:153} +A.a9_.prototype={ +$1(a){var s,r,q=this.a +a.ay=q.gK9() +a.ch=q.gM9() +a.CW=q.gMa() +a.cx=q.gM8() +a.cy=q.gM6() +s=q.e +a.db=s==null?null:s.gEU() +s=q.e +a.dx=s==null?null:s.gxn() +s=q.e +a.dy=s==null?null:s.grT() +s=q.w +s===$&&A.a() +r=q.c +r.toString +a.fx=s.yi(r) +a.at=q.a.z +r=q.w +s=q.c +s.toString +a.ax=r.le(s) +a.b=q.y +a.c=q.w.gkz()}, +$S:154} +A.a90.prototype={ +$0(){var s=this.a.w +s===$&&A.a() +return A.ams(null,s.gkz())}, +$S:155} +A.a91.prototype={ +$1(a){var s,r,q=this.a +a.ay=q.gK9() +a.ch=q.gM9() +a.CW=q.gMa() +a.cx=q.gM8() +a.cy=q.gM6() +s=q.e +a.db=s==null?null:s.gEU() +s=q.e +a.dx=s==null?null:s.gxn() +s=q.e +a.dy=s==null?null:s.grT() +s=q.w +s===$&&A.a() +r=q.c +r.toString +a.fx=s.yi(r) +a.at=q.a.z +r=q.w +s=q.c +s.toString +a.ax=r.le(s) +a.b=q.y +a.c=q.w.gkz()}, +$S:156} +A.Cd.prototype={ +ai(){return new A.Rc()}} +A.Rc.prototype={ +an(){var s,r,q,p +this.aJ() +s=this.a +r=s.c +s=s.d +q=t.x9 +p=t.i +q=new A.Cc(r,new A.Yk(r,30),s,A.E(q,p),A.E(q,p),A.b([],t.D1),A.ay(q),B.wb,$.aM()) +s.Y(0,q.gM1()) +this.d=q}, +aG(a){var s,r +this.b0(a) +s=this.a.d +if(a.d!==s){r=this.d +r===$&&A.a() +r.sbN(0,s)}}, +l(){var s=this.d +s===$&&A.a() +s.l() +this.aB()}, +K(a){var s=this.a,r=s.f,q=this.d +q===$&&A.a() +return new A.os(r,s.e,q,null)}} +A.Cc.prototype={ +sbN(a,b){var s,r=this.id +if(b===r)return +s=this.gM1() +r.H(0,s) +this.id=b +b.Y(0,s)}, +a6q(){if(this.fr)return +this.fr=!0 +$.bC.p2$.push(new A.aia(this))}, +wl(){var s=this,r=s.b,q=A.qz(r,A.a_(r).c) +r=s.k1 +r.FE(r,new A.aib(q)) +r=s.k2 +r.FE(r,new A.aic(q)) +s.Ha()}, +wO(a){var s=this +s.k1.J(0) +s.k2.J(0) +s.fy=s.fx=null +s.go=!1 +return s.Hd(a)}, +kP(a){var s,r,q,p,o,n,m=this +if(m.fy==null&&m.fx==null)m.go=m.K1(a.b) +s=A.U4(m.dx) +r=a.b +q=a.c +p=-s.a +o=-s.b +if(a.a===B.c6){r=m.fy=m.KC(r) +a=A.a99(new A.m(r.a+p,r.b+o),q)}else{r=m.fx=m.KC(r) +a=A.a9a(new A.m(r.a+p,r.b+o),q)}n=m.Hg(a) +if(n===B.j9){m.dy.e=!1 +return n}if(m.go){r=m.dy +r.UC(A.aDV(a.b,0,0)) +if(r.e)return B.j9}return n}, +KC(a){var s,r,q,p=this.dx,o=p.c.gU() +o.toString +t.x.a(o) +s=o.lf(a) +if(!this.go){r=s.b +if(r<0||s.a<0)return A.bI(o.aW(0,null),B.h) +if(r>o.gv(0).b||s.a>o.gv(0).a)return B.I_}q=A.U4(p) +return A.bI(o.aW(0,null),new A.m(s.a+q.a,s.b+q.b))}, +BU(a,b){var s,r,q,p=this,o=p.dx,n=A.U4(o) +o=o.c.gU() +o.toString +t.x.a(o) +s=o.aW(0,null) +r=p.d +if(r!==-1)q=p.fx==null||b +else q=!1 +if(q){r=J.fZ(p.b[r]).a +r.toString +p.fx=A.bI(s,A.bI(J.alw(p.b[p.d],o),r.a.a4(0,new A.m(0,-r.b/2))).a4(0,n))}r=p.c +if(r!==-1){r=J.fZ(p.b[r]).b +r.toString +p.fy=A.bI(s,A.bI(J.alw(p.b[p.c],o),r.a.a4(0,new A.m(0,-r.b/2))).a4(0,n))}}, +Ni(){return this.BU(!0,!0)}, +wS(a){var s=this.He(a) +if(this.d!==-1)this.Ni() +return s}, +wT(a){var s,r=this +r.go=r.K1(a.gGn()) +s=r.Hf(a) +r.Ni() +return s}, +E5(a){var s=this,r=s.Vw(a),q=a.ghX() +s.BU(a.ghX(),!q) +if(s.go)s.KS(a.ghX()) +return r}, +E4(a){var s=this,r=s.Vv(a),q=a.ghX() +s.BU(a.ghX(),!q) +if(s.go)s.KS(a.ghX()) +return r}, +KS(a){var s,r,q,p,o,n,m,l,k=this,j=k.b +if(a){s=j[k.c] +r=s.gm(s).b +q=s.gm(s).b.b}else{s=j[k.d] +r=s.gm(s).a +j=s.gm(s).a +q=j==null?null:j.b}if(q==null||r==null)return +j=k.dx +p=j.c.gU() +p.toString +t.x.a(p) +o=A.bI(s.aW(0,p),r.a) +n=p.gv(0).a +p=p.gv(0).b +switch(j.a.c.a){case 0:m=o.b +l=m-q +if(m>=p&&l<=0)return +if(m>p){j=k.id +n=j.at +n.toString +j.eH(n+p-m) +return}if(l<0){j=k.id +p=j.at +p.toString +j.eH(p+0-l)}return +case 1:r=o.a +if(r>=n&&r<=0)return +if(r>n){j=k.id +p=j.at +p.toString +j.eH(p+r-n) +return}if(r<0){j=k.id +p=j.at +p.toString +j.eH(p+r)}return +case 2:m=o.b +l=m-q +if(m>=p&&l<=0)return +if(m>p){j=k.id +n=j.at +n.toString +j.eH(n+m-p) +return}if(l<0){j=k.id +p=j.at +p.toString +j.eH(p+l)}return +case 3:r=o.a +if(r>=n&&r<=0)return +if(r>n){j=k.id +p=j.at +p.toString +j.eH(p+n-r) +return}if(r<0){j=k.id +p=j.at +p.toString +j.eH(p+0-r)}return}}, +K1(a){var s,r=this.dx.c.gU() +r.toString +t.x.a(r) +s=r.lf(a) +return new A.D(0,0,0+r.gv(0).a,0+r.gv(0).b).p(0,s)}, +cR(a,b){var s,r,q=this +switch(b.a.a){case 0:s=q.dx.d.at +s.toString +q.k1.n(0,a,s) +q.kC(a) +break +case 1:s=q.dx.d.at +s.toString +q.k2.n(0,a,s) +q.kC(a) +break +case 6:case 7:q.kC(a) +s=q.dx +r=s.d.at +r.toString +q.k1.n(0,a,r) +s=s.d.at +s.toString +q.k2.n(0,a,s) +break +case 2:q.k2.A(0,a) +q.k1.A(0,a) +break +case 3:case 4:case 5:s=q.dx +r=s.d.at +r.toString +q.k2.n(0,a,r) +s=s.d.at +s.toString +q.k1.n(0,a,s) +break}return q.Hb(a,b)}, +kC(a){var s,r,q,p,o,n,m=this,l=m.dx,k=l.d.at +k.toString +s=m.k1 +r=s.k(0,a) +q=m.fx +if(q!=null)p=r==null||Math.abs(k-r)>1e-10 +else p=!1 +if(p){o=A.U4(l) +a.kw(A.a9a(new A.m(q.a+-o.a,q.b+-o.b),null)) +q=l.d.at +q.toString +s.n(0,a,q)}s=m.k2 +n=s.k(0,a) +q=m.fy +if(q!=null)k=n==null||Math.abs(k-n)>1e-10 +else k=!1 +if(k){o=A.U4(l) +a.kw(A.a99(new A.m(q.a+-o.a,q.b+-o.b),null)) +l=l.d.at +l.toString +s.n(0,a,l)}}, +l(){var s=this +s.k1.J(0) +s.k2.J(0) +s.fr=!1 +s.dy.e=!1 +s.Hc()}} +A.aia.prototype={ +$1(a){var s=this.a +if(!s.fr)return +s.fr=!1 +s.vA()}, +$S:6} +A.aib.prototype={ +$2(a,b){return!this.a.p(0,a)}, +$S:165} +A.aic.prototype={ +$2(a,b){return!this.a.p(0,a)}, +$S:165} +A.Rb.prototype={ +av(a){var s=this.e,r=new A.QK(s,this.f,this.r,null,new A.aN(),A.aj()) +r.aw() +r.saK(null) +s.Y(0,r.gRc()) +return r}, +aC(a,b){b.snC(this.f) +b.sbN(0,this.e) +b.sTZ(this.r)}} +A.QK.prototype={ +sbN(a,b){var s,r=this,q=r.B +if(b===q)return +s=r.gRc() +q.H(0,s) +r.B=b +b.Y(0,s) +r.b1()}, +snC(a){if(a===this.a_)return +this.a_=a +this.b1()}, +sTZ(a){if(a==this.am)return +this.am=a +this.b1()}, +dR(a){var s,r,q=this +q.fi(a) +a.a=!0 +if(q.B.ay){a.b7(B.K6,q.a_) +s=q.B +r=s.at +r.toString +a.bn=r +a.e=!0 +r=s.Q +r.toString +a.E=r +s=s.z +s.toString +a.Z=s +a.sTT(q.am)}}, +qp(a,b,c){var s,r,q,p,o,n,m,l=this +if(c.length!==0){s=B.b.gI(c).dy +s=!(s!=null&&s.p(0,B.ws))}else s=!0 +if(s){l.bM=null +l.Hu(a,b,c) +return}s=l.bM +if(s==null)s=l.bM=A.Km(null,l.gmS()) +s.saZ(0,a.e) +s=l.bM +s.toString +r=t.QF +q=A.b([s],r) +p=A.b([],r) +for(s=c.length,o=null,n=0;n#"+A.b4(r)+"("+B.b.bD(q,", ")+")"}, +gt(a){return A.P(this.a,this.b,null,this.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.t(r))return!1 +s=!1 +if(b instanceof A.Kd)if(b.a===r.a)if(b.b===r.b)s=b.d===r.d +return s}} +A.a8Y.prototype={ +$2(a,b){if(b!=null)this.a.push(a+b.i(0))}, +$S:444} +A.Yk.prototype={ +Bg(a,b){var s +switch(b.a){case 0:s=a.a +break +case 1:s=a.b +break +default:s=null}return s}, +a70(a,b){var s +switch(b.a){case 0:s=a.a +break +case 1:s=a.b +break +default:s=null}return s}, +UC(a){var s=this,r=s.a.gPf() +s.d=a.au(0,r.a,r.b) +if(s.e)return +s.np()}, +np(){var s=0,r=A.z(t.H),q,p=this,o,n,m,l,k,j,i,h,g,f,e,d,c +var $async$np=A.A(function(a,b){if(a===1)return A.w(b,r) +while(true)switch(s){case 0:d=p.a +c=d.c.gU() +c.toString +t.x.a(c) +o=A.e_(c.aW(0,null),new A.D(0,0,0+c.gv(0).a,0+c.gv(0).b)) +c=p.e=!0 +n=d.gPf() +m=o.a +l=o.b +k=p.Bg(new A.m(m+n.a,l+n.b),A.aX(d.a.c)) +j=k+p.a70(new A.K(o.c-m,o.d-l),A.aX(d.a.c)) +l=p.d +l===$&&A.a() +i=p.Bg(new A.m(l.a,l.b),A.aX(d.a.c)) +l=p.d +h=p.Bg(new A.m(l.c,l.d),A.aX(d.a.c)) +g=null +switch(d.a.c.a){case 0:case 3:if(h>j){m=d.d +l=m.at +l.toString +m=m.z +m.toString +m=l>m}else m=!1 +if(m){f=Math.min(h-j,20) +m=d.d +l=m.z +l.toString +m=m.at +m.toString +g=Math.max(l,m-f)}else{if(im}else m=!1 +if(m){f=Math.min(k-i,20) +m=d.d +l=m.z +l.toString +m=m.at +m.toString +g=Math.max(l,m-f)}else{if(h>j){m=d.d +l=m.at +l.toString +m=m.Q +m.toString +m=l>>24&255)/255*this.r.gm(0))),r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255)) +return s}, +Lj(a){var s,r,q=this +if(a){s=$.am().b8() +r=q.c +s.sab(0,A.Z(B.c.a2(255*((r.gm(r)>>>24&255)/255*q.r.gm(0))),r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255)) +s.scp(0,B.Y) +s.sdK(1) +return s}s=$.am().b8() +r=q.b +s.sab(0,A.Z(B.c.a2(255*((r.gm(r)>>>24&255)/255*q.r.gm(0))),r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255)) +return s}, +a5g(){return this.Lj(!1)}, +a5d(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this,d=null +e.gBw() +switch(e.gBw().a){case 0:s=e.f +r=e.cy +r===$&&A.a() +q=new A.K(s,r) +s+=2*e.x +r=e.db.d +r.toString +p=e.dx +p=p===B.L||p===B.O +o=e.Q +n=new A.K(s,r-(p?o.gb3(0)+o.gb6(0):o.gbR())) +r=e.x +m=r+e.Q.a +o=e.cx +o===$&&A.a() +r=m-r +l=e.gpM() +k=new A.m(r,l) +j=k.a4(0,new A.m(s,0)) +i=e.db.d +i.toString +p=e.dx +p=p===B.L||p===B.O +h=e.Q +p=p?h.gb3(0)+h.gb6(0):h.gbR() +g=new A.m(r+s,l+(i-p)) +f=o +break +case 1:s=e.f +r=e.cy +r===$&&A.a() +q=new A.K(s,r) +r=e.x +p=e.db.d +p.toString +o=e.dx +o=o===B.L||o===B.O +l=e.Q +o=o?l.gb3(0)+l.gb6(0):l.gbR() +n=new A.K(s+2*r,p-o) +o=e.f +p=e.x +m=b.a-o-p-e.Q.c +o=e.cx +o===$&&A.a() +p=m-p +r=e.gpM() +k=new A.m(p,r) +s=e.db.d +s.toString +l=e.dx +l=l===B.L||l===B.O +i=e.Q +g=new A.m(p,r+(s-(l?i.gb3(0)+i.gb6(0):i.gbR()))) +j=k +f=o +break +case 2:s=e.cy +s===$&&A.a() +q=new A.K(s,e.f) +s=e.db.d +s.toString +r=e.dx +r=r===B.L||r===B.O +p=e.Q +r=r?p.gb3(0)+p.gb6(0):p.gbR() +p=e.f +o=e.x +p+=2*o +n=new A.K(s-r,p) +r=e.cx +r===$&&A.a() +f=o+e.Q.b +o=e.gpM() +s=f-e.x +k=new A.m(o,s) +j=k.a4(0,new A.m(0,p)) +l=e.db.d +l.toString +i=e.dx +i=i===B.L||i===B.O +h=e.Q +g=new A.m(o+(l-(i?h.gb3(0)+h.gb6(0):h.gbR())),s+p) +m=r +break +case 3:s=e.cy +s===$&&A.a() +q=new A.K(s,e.f) +s=e.db.d +s.toString +r=e.dx +r=r===B.L||r===B.O +p=e.Q +r=r?p.gb3(0)+p.gb6(0):p.gbR() +p=e.f +o=e.x +n=new A.K(s-r,p+2*o) +r=e.cx +r===$&&A.a() +f=b.b-p-o-e.Q.d +o=e.gpM() +p=f-e.x +k=new A.m(o,p) +s=e.db.d +s.toString +l=e.dx +l=l===B.L||l===B.O +i=e.Q +g=new A.m(o+(s-(l?i.gb3(0)+i.gb6(0):i.gbR())),p) +j=k +m=r +break +default:g=d +j=g +k=j +n=k +q=n +f=q +m=f}s=k.a +r=k.b +e.ch=new A.D(s,r,s+n.a,r+n.b) +e.CW=new A.D(m,f,m+q.a,f+q.b) +if(e.r.gm(0)!==0){s=e.ch +s.toString +a.cS(s,e.a5g()) +a.hN(j,g,e.Lj(!0)) +s=e.y +if(s!=null){r=e.CW +r.toString +a.dh(A.a6N(r,s),e.gLi()) +return}s=e.CW +s.toString +a.cS(s,e.gLi()) +return}}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=h.dx,f=!0 +if(g!=null){s=h.db +if(s!=null){f=s.b +f.toString +s=s.a +s.toString +s=f<=s +f=s}}if(f)return +f=h.db.d +f.toString +g=g===B.L||g===B.O +s=h.Q +g=g?s.gb3(0)+s.gb6(0):s.gbR() +if(f-g-2*h.w<=0)return +g=h.db +f=g.b +f.toString +if(f==1/0||f==-1/0)return +g=g.gm4() +f=h.dx +f=f===B.L||f===B.O +s=h.Q +f=f?s.gb3(0)+s.gb6(0):s.gbR() +s=h.db +r=s.b +r.toString +q=s.a +q.toString +s=s.d +s.toString +p=h.dx +p=p===B.L||p===B.O +o=h.Q +p=p?o.gb3(0)+o.gb6(0):o.gbR() +n=A.N((g-f)/(r-q+s-p),0,1) +p=h.db.d +p.toString +g=h.dx +g=g===B.L||g===B.O +f=h.Q +g=g?f.gb3(0)+f.gb6(0):f.gbR() +g=Math.min(p-g-2*h.w,h.at) +p=h.db.d +p.toString +f=h.dx +f=f===B.L||f===B.O +s=h.Q +f=f?s.gb3(0)+s.gb6(0):s.gbR() +m=Math.max(g,(p-f-2*h.w)*n) +f=h.db.gm4() +p=h.db.d +p.toString +g=h.as +s=h.dx +s=s===B.L||s===B.O +r=h.Q +s=s?r.gb3(0)+r.gb6(0):r.gbR() +l=Math.min(g,p-s-2*h.w) +g=h.dx +g=g===B.O||g===B.aY +s=h.db +if((g?Math.max(s.gfG()-s.gcz(),0):Math.max(s.gcz()-s.gfH(),0))>0){g=h.dx +g=g===B.O||g===B.aY +s=h.db +s=(g?Math.max(s.gcz()-s.gfH(),0):Math.max(s.gfG()-s.gcz(),0))>0 +g=s}else g=!1 +k=g?l:l*(1-A.N(1-f/p,0,0.2)/0.2) +g=h.db.d +g.toString +f=h.dx +f=f===B.L||f===B.O +s=h.Q +f=f?s.gb3(0)+s.gb6(0):s.gbR() +f=A.N(m,k,g-f-2*h.w) +h.cy=f +g=h.db +s=g.b +s.toString +r=g.a +r.toString +j=s-r +if(j>0){s=g.c +s.toString +i=A.N((s-r)/j,0,1)}else i=0 +s=h.dx +r=s===B.O +q=r||s===B.aY?1-i:i +g=g.d +g.toString +s=s===B.L||r +r=h.Q +s=s?r.gb3(0)+r.gb6(0):r.gbR() +h.cx=q*(g-s-2*h.w-f)+(h.gpM()+h.w) +return h.a5d(a,b)}, +Gm(a){var s,r,q,p,o=this,n=o.db,m=n.b +m.toString +s=n.a +s.toString +n=n.d +n.toString +r=o.dx +r=r===B.L||r===B.O +q=o.Q +r=r?q.gb3(0)+q.gb6(0):q.gbR() +q=o.w +p=o.cy +p===$&&A.a() +return(m-s)*a/(n-r-2*q-p)}, +rs(a){var s,r,q=this +if(q.CW==null)return null +s=!0 +if(!q.ay)if(q.r.gm(0)!==0){s=q.db +r=s.a +r.toString +s=s.b +s.toString +s=r===s}if(s)return!1 +return q.ch.p(0,a)}, +Qx(a,b,c){var s,r,q,p=this,o=p.ch +if(o==null)return!1 +if(p.ay)return!1 +s=p.db +r=s.a +r.toString +s=s.b +s.toString +if(r===s)return!1 +q=o.kE(A.r3(p.CW.gaR(),24)) +if(p.r.gm(0)===0){if(c&&b===B.cD)return q.p(0,a) +return!1}switch(b.a){case 0:case 4:return q.p(0,a) +case 1:case 2:case 3:case 5:return o.p(0,a)}}, +acO(a,b){return this.Qx(a,b,!1)}, +Qy(a,b){var s,r,q=this +if(q.CW==null)return!1 +if(q.ay)return!1 +if(q.r.gm(0)===0)return!1 +s=q.db +r=s.a +r.toString +s=s.b +s.toString +if(r===s)return!1 +switch(b.a){case 0:case 4:s=q.CW +return s.kE(A.r3(s.gaR(),24)).p(0,a) +case 1:case 2:case 3:case 5:return q.CW.p(0,a)}}, +hx(a){var s=this,r=!0 +if(s.a.j(0,a.a))if(s.b.j(0,a.b))if(s.c.j(0,a.c))if(s.e==a.e)if(s.f===a.f)if(s.r===a.r)if(s.w===a.w)if(s.x===a.x)if(J.e(s.y,a.y))if(s.Q.j(0,a.Q))if(s.as===a.as)if(s.at===a.at)r=s.ay!==a.ay +return r}, +yO(a){return!1}, +gtY(){return null}, +i(a){return"#"+A.b4(this)}} +A.a96.prototype={ +$1(a){var s,r +if(a!=null){s=a.b +s.toString +r=a.a +r.toString +r=s>r +s=r}else s=!1 +return s}, +$S:445} +A.r2.prototype={ +ai(){return A.aDU(t.jU)}, +kX(a){return this.cx.$1(a)}} +A.iT.prototype={ +gio(){var s=this.a.d +return s}, +gmU(){var s=this.a.e +return s===!0}, +gMv(){if(this.gmU())this.a.toString +return!1}, +gm0(){this.a.toString +return!0}, +an(){var s,r,q,p,o=this,n=null +o.aJ() +s=A.cG(n,o.a.ay,n,n,o) +s.bm() +r=s.bL$ +r.b=!0 +r.a.push(o.ga85()) +o.x=s +s=o.y=A.cZ(B.aE,s,n) +r=o.a +q=r.w +if(q==null)q=6 +p=r.r +r=r.db +r=new A.z1(B.ht,B.Q,B.Q,n,q,s,0,0,p,n,B.ak,18,18,r,$.aM()) +s.a.Y(0,r.gcf()) +o.CW!==$&&A.bz() +o.CW=r}, +bi(){this.d_()}, +a86(a){if(a!==B.y)if(this.gio()!=null)this.gm0()}, +tB(){var s,r=this,q=r.CW +q===$&&A.a() +r.a.toString +q.sab(0,B.ht) +r.a.toString +q.safU(null) +if(r.gMv()){r.a.toString +s=B.Aa}else s=B.Q +q.sSC(s) +if(r.gMv()){r.a.toString +s=B.AT}else s=B.Q +q.sSB(s) +s=r.c.a7(t.I) +s.toString +q.sbS(s.w) +s=r.a.w +q.sFK(s==null?6:s) +q.std(r.a.r) +r.a.toString +s=r.c +s.toString +s=A.bY(s,B.bH,t.w).w +q.sc6(0,s.r) +q.syD(r.a.db) +r.a.toString +q.sEP(0) +r.a.toString +q.sbq(0,null) +r.a.toString +q.sD5(0) +r.a.toString +q.sEV(0,18) +r.a.toString +q.sRi(18) +q.sQA(!r.gm0())}, +aG(a){var s,r=this +r.b0(a) +s=r.a.e +if(s!=a.e)if(s===!0){s=r.w +if(s!=null)s.aA(0) +s=r.x +s===$&&A.a() +s.z=B.aq +s.k7(1,B.a4,null)}else{s=r.x +s===$&&A.a() +s.dd(0)}}, +v5(){var s,r=this +if(!r.gmU()){s=r.w +if(s!=null)s.aA(0) +r.w=A.c7(r.a.ch,new A.a71(r))}}, +a03(){this.as=null}, +a05(){this.ax=null}, +a1d(a){var s,r,q,p,o,n=this,m=B.b.gap(n.r.f),l=A.bk("primaryDeltaFromDragStart"),k=A.bk("primaryDeltaFromLastDragUpdate"),j=m.w +switch(j.a.c.a){case 0:s=a.b +l.b=n.d.b-s +k.b=n.e.b-s +break +case 1:s=a.a +l.b=s-n.d.a +k.b=s-n.e.a +break +case 2:s=a.b +l.b=s-n.d.b +k.b=s-n.e.b +break +case 3:s=a.a +l.b=n.d.a-s +k.b=n.e.a-s +break}s=n.CW +s===$&&A.a() +r=n.f +r.toString +q=s.Gm(r+l.aP()) +if(l.aP()>0){r=m.at +r.toString +r=qr}else r=!1 +else r=!0 +if(r){r=m.at +r.toString +q=r+s.Gm(k.aP())}s=m.at +s.toString +if(q!==s){p=q-m.r.qj(m,q) +s=n.c +s.toString +s=A.yV(s) +r=n.c +r.toString +switch(s.hv(r).a){case 1:case 3:case 4:case 5:s=m.z +s.toString +r=m.Q +r.toString +p=A.N(p,s,r) +break +case 2:case 0:break}o=A.Dr(j.a.c) +j=m.at +if(o){j.toString +j=p-j}else{j.toString +j-=p}return j}return null}, +Eg(){var s,r=this +r.r=r.gio() +if(r.ay==null)return +s=r.w +if(s!=null)s.aA(0) +r.ax=B.b.gap(r.r.f).wZ(r.ga04())}, +wX(a){var s,r,q,p,o,n,m,l=this +if(l.ay==null)return +s=l.w +if(s!=null)s.aA(0) +s=l.x +s===$&&A.a() +s.bY(0) +r=B.b.gap(l.r.f) +s=$.ai.ag$.x.k(0,l.z).gU() +s.toString +s=A.bI(t.x.a(s).aW(0,null),a) +l.as=r.Pz(new A.hL(null,s,null),l.ga02()) +l.e=l.d=a +s=l.CW +s===$&&A.a() +q=s.db +p=q.b +p.toString +o=q.a +o.toString +n=p-o +if(n>0){p=q.c +p.toString +m=A.N(p/n,0,1)}else m=0 +q=q.d +q.toString +p=s.dx +p=p===B.L||p===B.O +o=s.Q +p=p?o.gb3(0)+o.gb6(0):o.gbR() +o=s.w +s=s.cy +s===$&&A.a() +l.f=m*(q-p-2*o-s)}, +acx(a){var s,r,q,p,o,n=this +if(J.e(n.e,a))return +s=B.b.gap(n.r.f) +if(!s.r.jZ(s))return +r=n.ay +if(r==null)return +if(n.as==null)return +q=n.a1d(a) +if(q==null)return +switch(r.a){case 0:p=new A.m(q,0) +break +case 1:p=new A.m(0,q) +break +default:p=null}o=$.ai.ag$.x.k(0,n.z).gU() +o.toString +o=A.bI(t.x.a(o).aW(0,null),a) +n.as.b2(0,new A.hM(null,p,q,o,a)) +n.e=a}, +wW(a,b){var s,r,q,p,o,n=this,m=n.ay +if(m==null)return +n.v5() +n.e=n.r=null +if(n.as==null)return +s=n.c +s.toString +s=A.yV(s) +r=n.c +r.toString +q=s.hv(r) +$label0$0:{if(B.at===q||B.as===q){s=b.a +s=new A.ht(new A.m(-s.a,-s.b)) +break $label0$0}s=B.cJ +break $label0$0}r=$.ai.ag$.x.k(0,n.z).gU() +r.toString +r=A.bI(t.x.a(r).aW(0,null),a) +switch(m.a){case 0:p=s.a.a +break +case 1:p=s.a.b +break +default:p=null}o=n.as +if(o!=null)o.PL(0,new A.eZ(s,p,r)) +n.r=n.f=n.e=n.d=null}, +a3t(a){var s,r,q,p,o,n=this,m=n.gio() +n.r=m +s=B.b.gap(m.f) +if(!s.r.jZ(s))return +m=s.w +switch(A.aX(m.a.c).a){case 1:r=n.CW +r===$&&A.a() +r=r.cx +r===$&&A.a() +q=a.c.b>r?B.L:B.O +break +case 0:r=n.CW +r===$&&A.a() +r=r.cx +r===$&&A.a() +q=a.c.a>r?B.bI:B.aY +break +default:q=null}m=$.ai.ag$.x.k(0,m.Q) +m.toString +p=A.i3(m) +p.toString +o=A.ast(p,new A.eB(q,B.j5)) +m=B.b.gap(n.r.f) +r=B.b.gap(n.r.f).at +r.toString +m.rY(0,r+o,B.l6,B.aT)}, +BF(a){var s,r,q=this.gio() +if(q==null)return!0 +s=q.f +r=s.length +if(r>1)return!1 +return r===0||A.aX(B.b.gap(s).gez())===a}, +a6B(a){var s,r,q=this,p=q.a +p.toString +if(!p.kX(a.Of()))return!1 +if(q.gmU()){p=q.x +p===$&&A.a() +p=!p.gaF(0).grC()}else p=!1 +if(p){p=q.x +p===$&&A.a() +p.bY(0)}s=a.a +p=s.e +if(q.BF(A.aX(p))){r=q.CW +r===$&&A.a() +r.ep(0,s,p)}if(A.aX(p)!==q.ay)q.ah(new A.a7_(q,s)) +p=q.at +r=s.b +r.toString +if(p!==r>0)q.ah(new A.a70(q)) +return!1}, +a6D(a){var s,r,q,p=this +if(!p.a.kX(a))return!1 +s=a.a +r=s.b +r.toString +q=s.a +q.toString +if(r<=q){r=p.x +r===$&&A.a() +if(r.gaF(0).grC())p.x.dd(0) +r=s.e +if(p.BF(A.aX(r))){q=p.CW +q===$&&A.a() +q.ep(0,s,r)}return!1}if(a instanceof A.hm||a instanceof A.iQ){r=p.x +r===$&&A.a() +if(!r.gaF(0).grC())p.x.bY(0) +r=p.w +if(r!=null)r.aA(0) +r=s.e +if(p.BF(A.aX(r))){q=p.CW +q===$&&A.a() +q.ep(0,s,r)}}else if(a instanceof A.k2)if(p.as==null)p.v5() +return!1}, +a3l(a){this.Eg()}, +AE(a){var s=$.ai.ag$.x.k(0,this.z).gU() +s.toString +return t.x.a(s).lf(a)}, +a3p(a){this.wX(this.AE(a.b))}, +a3r(a){this.acx(this.AE(a.d))}, +a3n(a){this.wW(this.AE(a.c),a.a)}, +a3j(){if($.ai.ag$.x.k(0,this.ch)==null)return +var s=this.ax +if(s!=null)s.a.fe(0) +s=this.as +if(s!=null)s.a.fe(0)}, +a3G(a){var s=this +a.ay=s.ga3k() +a.ch=s.ga3o() +a.CW=s.ga3q() +a.cx=s.ga3m() +a.cy=s.ga3i() +a.b=B.Bf +a.at=B.Bq}, +ga0J(){var s,r=this,q=A.E(t.u,t.xR),p=!1 +if(r.gm0())if(r.gio()!=null)if(r.gio().f.length===1){s=B.b.gap(r.gio().f) +if(s.z!=null&&s.Q!=null){p=B.b.gap(r.gio().f).Q +p.toString +p=p>0}}if(!p)return q +switch(r.ay){case B.aH:q.n(0,B.RR,new A.cT(new A.a6W(r),r.gKH(),t.lh)) +break +case B.aw:q.n(0,B.RS,new A.cT(new A.a6X(r),r.gKH(),t.Pw)) +break +case null:case void 0:return q}q.n(0,B.RQ,new A.cT(new A.a6Y(r),new A.a6Z(r),t.Bk)) +return q}, +QR(a,b,c){var s,r=this.z +if($.ai.ag$.x.k(0,r)==null)return!1 +s=A.ao0(r,a) +r=this.CW +r===$&&A.a() +return r.Qx(s,b,!0)}, +E6(a){var s,r=this +if(r.QR(a.gbN(a),a.gcm(a),!0)){r.Q=!0 +s=r.x +s===$&&A.a() +s.bY(0) +s=r.w +if(s!=null)s.aA(0)}else if(r.Q){r.Q=!1 +r.v5()}}, +E7(a){this.Q=!1 +this.v5()}, +Mb(a){var s=A.aX(B.b.gap(this.r.f).gez())===B.aH?a.goX().a:a.goX().b +return A.Dr(B.b.gap(this.r.f).w.a.c)?s*-1:s}, +Mc(a){var s,r=B.b.gap(this.r.f).at +r.toString +s=B.b.gap(this.r.f).z +s.toString +s=Math.max(r+a,s) +r=B.b.gap(this.r.f).Q +r.toString +return Math.min(s,r)}, +a6z(a){var s,r,q,p=this +p.r=p.gio() +s=p.Mb(a) +r=p.Mc(s) +if(s!==0){q=B.b.gap(p.r.f).at +q.toString +q=r!==q}else q=!1 +if(q)B.b.gap(p.r.f).Fp(s)}, +a6F(a){var s,r,q,p,o,n=this +n.r=n.gio() +s=n.CW +s===$&&A.a() +s=s.rs(a.gek()) +r=!1 +if(s===!0){s=n.r +if(s!=null)s=s.f.length!==0 +else s=r}else s=r +if(s){q=B.b.gap(n.r.f) +if(t.Mj.b(a)){if(!q.r.jZ(q))return +p=n.Mb(a) +o=n.Mc(p) +if(p!==0){s=q.at +s.toString +s=o!==s}else s=!1 +if(s)$.dY.E$.S1(0,a,n.ga6y())}else if(t.xb.b(a)){s=q.at +s.toString +q.eH(s)}}}, +l(){var s=this,r=s.x +r===$&&A.a() +r.l() +r=s.w +if(r!=null)r.aA(0) +r=s.CW +r===$&&A.a() +r.r.a.H(0,r.gcf()) +r.dt() +r=s.y +r===$&&A.a() +r.l() +s.X8()}, +K(a){var s,r,q=this,p=null +q.tB() +s=q.ga0J() +r=q.CW +r===$&&A.a() +return new A.cL(q.ga6A(),new A.cL(q.ga6C(),new A.i0(A.x2(B.bs,new A.lM(A.HT(A.l3(new A.i0(q.a.c,p),r,q.z,p,B.C),B.cZ,p,p,new A.a72(q),new A.a73(q)),s,p,!1,q.ch),p,p,p,q.ga6E(),p),p),p,t.WA),p,t.ji)}} +A.a71.prototype={ +$0(){var s=this.a,r=s.x +r===$&&A.a() +r.dd(0) +s.w=null}, +$S:0} +A.a7_.prototype={ +$0(){this.a.ay=A.aX(this.b.e)}, +$S:0} +A.a70.prototype={ +$0(){var s=this.a +s.at=!s.at}, +$S:0} +A.a6W.prototype={ +$0(){var s=this.a,r=t.S +return new A.mk(s.z,B.aj,B.cw,A.Uh(),B.bn,A.E(r,t.GY),A.E(r,t.o),B.h,A.b([],t.t),A.E(r,t.d),A.cC(r),s,null,A.Ui(),A.E(r,t.Au))}, +$S:447} +A.a6X.prototype={ +$0(){var s=this.a,r=t.S +return new A.mB(s.z,B.aj,B.cw,A.Uh(),B.bn,A.E(r,t.GY),A.E(r,t.o),B.h,A.b([],t.t),A.E(r,t.d),A.cC(r),s,null,A.Ui(),A.E(r,t.Au))}, +$S:448} +A.a6Y.prototype={ +$0(){var s=this.a,r=t.S +return new A.jg(s.z,B.aT,18,B.bP,A.E(r,t.d),A.cC(r),s,null,A.al7(),A.E(r,t.Au))}, +$S:449} +A.a6Z.prototype={ +$1(a){a.a5=this.a.ga3s()}, +$S:450} +A.a72.prototype={ +$1(a){var s +switch(a.gcm(a).a){case 1:case 4:s=this.a +if(s.gm0())s.E7(a) +break +case 2:case 3:case 5:case 0:break}}, +$S:59} +A.a73.prototype={ +$1(a){var s +switch(a.gcm(a).a){case 1:case 4:s=this.a +if(s.gm0())s.E6(a) +break +case 2:case 3:case 5:case 0:break}}, +$S:451} +A.jg.prototype={ +f0(a){return A.aI4(this.jr,a)&&this.WH(a)}} +A.mB.prototype={ +ED(a){return!1}, +f0(a){return A.auD(this.B,a)&&this.GZ(a)}} +A.mk.prototype={ +ED(a){return!1}, +f0(a){return A.auD(this.B,a)&&this.GZ(a)}} +A.tI.prototype={ +bI(){this.dL() +this.d3() +this.eV()}, +l(){var s=this,r=s.aX$ +if(r!=null)r.H(0,s.gey()) +s.aX$=null +s.aB()}} +A.qE.prototype={ +D(a,b){this.Q.D(0,b) +this.M3()}, +A(a,b){var s,r,q=this +if(q.Q.A(0,b))return +s=B.b.jv(q.b,b) +B.b.f9(q.b,s) +r=q.c +if(s<=r)q.c=r-1 +r=q.d +if(s<=r)q.d=r-1 +b.H(0,q.gAP()) +q.M3()}, +M3(){var s,r +if(!this.y){this.y=!0 +s=new A.a5e(this) +r=$.bC +if(r.R8$===B.w3)A.e6(s) +else r.p2$.push(s)}}, +a0z(){var s,r,q,p,o,n,m,l,k=this,j=k.Q,i=A.a7(j,!0,A.o(j).c) +B.b.er(i,k.gqA()) +s=k.b +k.b=A.b([],t.D1) +r=k.d +q=k.c +j=k.gAP() +p=0 +o=0 +while(!0){n=i.length +if(!(pMath.min(n,l))k.kC(m) +m.Y(0,j) +B.b.D(k.b,m);++p}}k.c=q +k.d=r +k.Q=A.ay(t.x9)}, +wl(){this.vA()}, +vA(){var s=this,r=s.TD() +if(!s.at.j(0,r)){s.at=r +s.ae()}s.a7H()}, +gqA(){return A.aKk()}, +a30(){if(this.x)return +this.vA()}, +TD(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=null,b=d.c +if(b===-1||d.d===-1||d.b.length===0)return new A.lU(c,c,B.bA,B.ij,d.b.length!==0) +if(!d.as){b=d.I0(d.d,b) +d.d=b +d.c=d.I0(d.c,b)}s=J.fZ(d.b[d.d]) +b=d.c +r=d.d +q=b>=r +while(!0){if(!(r!==d.c&&s.a==null))break +r+=q?1:-1 +s=J.fZ(d.b[r])}b=s.a +if(b!=null){p=d.b[r] +o=d.a.gU() +o.toString +n=A.bI(p.aW(0,t.x.a(o)),b.a) +m=isFinite(n.a)&&isFinite(n.b)?new A.ou(n,b.b,b.c):c}else m=c +l=J.fZ(d.b[d.c]) +k=d.c +while(!0){if(!(k!==d.d&&l.b==null))break +k+=q?-1:1 +l=J.fZ(d.b[k])}b=l.b +if(b!=null){p=d.b[k] +o=d.a.gU() +o.toString +j=A.bI(p.aW(0,t.x.a(o)),b.a) +i=isFinite(j.a)&&isFinite(j.b)?new A.ou(j,b.b,b.c):c}else i=c +h=A.b([],t.AO) +g=d.gacA()?new A.D(0,0,0+d.gOK().a,0+d.gOK().b):c +for(f=d.d;f<=d.c;++f){e=J.fZ(d.b[f]).d +b=new A.aw(e,new A.a5f(d,f,g),A.a_(e).h("aw<1,D>")).H5(0,new A.a5g()) +B.b.L(h,A.a7(b,!0,b.$ti.h("j.E")))}return new A.lU(m,i,!s.j(0,l)?B.ja:s.c,h,!0)}, +I0(a,b){var s=b>a +while(!0){if(!(a!==b&&J.fZ(this.b[a]).c!==B.ja))break +a+=s?1:-1}return a}, +iR(a,b){return}, +a7H(){var s,r=this,q=null,p=r.e,o=r.r,n=r.d +if(n===-1||r.c===-1){n=r.f +if(n!=null){n.iR(q,q) +r.f=null}n=r.w +if(n!=null){n.iR(q,q) +r.w=null}return}if(!J.e(r.b[n],r.f)){n=r.f +if(n!=null)n.iR(q,q)}if(!J.e(r.b[r.c],r.w)){n=r.w +if(n!=null)n.iR(q,q)}n=r.b +s=r.d +n=r.f=n[s] +if(s===r.c){r.w=n +n.iR(p,o) +return}n.iR(p,q) +n=r.b[r.c] +r.w=n +n.iR(q,o)}, +Jx(){var s,r,q,p=this,o=p.d,n=o===-1 +if(n&&p.c===-1)return +if(n||p.c===-1){if(n)o=p.c +n=p.b +new A.aF(n,new A.a5a(p,o),A.a_(n).h("aF<1>")).W(0,new A.a5b(p)) +return}n=p.c +s=Math.min(o,n) +r=Math.max(o,n) +for(q=0;n=p.b,q=s&&q<=r)continue +p.cR(n[q],B.d0)}}, +wS(a){var s,r,q,p=this +for(s=p.b,r=s.length,q=0;q")).W(0,new A.a5d(i)) +i.d=i.c=r}return B.x}else if(s===B.u){i.d=i.c=r-1 +return B.x}}return B.x}, +wT(a){return this.Kq(a)}, +Qn(a){return this.Kq(a)}, +wO(a){var s,r,q,p=this +for(s=p.b,r=s.length,q=0;q0&&r===B.w))break;--s +r=p.cR(p.b[s],a)}if(a.ghX())p.c=s +else p.d=s +return r}, +E4(a){var s,r,q,p=this +if(p.d===-1){a.gwp(a) +$label0$0:{}p.d=p.c=null}s=a.ghX()?p.c:p.d +r=p.cR(p.b[s],a) +switch(a.gwp(a)){case B.j7:if(r===B.w)if(s>0){--s +r=p.cR(p.b[s],a.a9R(B.fr))}break +case B.j8:if(r===B.u){q=p.b +if(s=0&&a==null))break +a0=d.b=a1.cR(a3[b],a6) +switch(a0.a){case 2:case 3:case 4:a=a0 +break +case 0:if(c===!1){++b +a=B.x}else if(b===a1.b.length-1)a=a0 +else{++b +c=!0}break +case 1:if(c===!0){--b +a=B.x}else if(b===0)a=a0 +else{--b +c=!1}break}}if(a7)a1.c=b +else a1.d=b +a1.Jx() +a.toString +return a}, +OE(a,b){return this.gqA().$2(a,b)}} +A.a5e.prototype={ +$1(a){var s=this.a +if(!s.y)return +s.y=!1 +if(s.Q.a!==0)s.a0z() +s.wl()}, +$0(){return this.$1(null)}, +$C:"$1", +$R:0, +$D(){return[null]}, +$S:452} +A.a5f.prototype={ +$1(a){var s,r=this.a,q=r.b[this.b] +r=r.a.gU() +r.toString +s=A.e_(q.aW(0,t.x.a(r)),a) +r=this.c +r=r==null?null:r.cX(s) +return r==null?s:r}, +$S:453} +A.a5g.prototype={ +$1(a){return a.gx7(0)&&!a.gM(0)}, +$S:454} +A.a5a.prototype={ +$1(a){return a!==this.a.b[this.b]}, +$S:49} +A.a5b.prototype={ +$1(a){return this.a.cR(a,B.d0)}, +$S:30} +A.a5c.prototype={ +$1(a){return a!==this.a.b[this.b]}, +$S:49} +A.a5d.prototype={ +$1(a){return this.a.cR(a,B.d0)}, +$S:30} +A.P5.prototype={} +A.os.prototype={ +ai(){return new A.Rj(A.ay(t.M),null,!1)}} +A.Rj.prototype={ +an(){var s,r,q,p=this +p.aJ() +s=p.a +r=s.e +if(r!=null){q=p.c +q.toString +r.a=q +s=s.c +if(s!=null)p.smu(s)}}, +aG(a){var s,r,q,p,o,n=this +n.b0(a) +s=a.e +if(s!=n.a.e){r=s==null +if(!r){s.a=null +n.d.W(0,s.gS6(s))}q=n.a.e +if(q!=null){p=n.c +p.toString +q.a=p +n.d.W(0,q.gvL(q))}s=r?null:s.at +r=n.a.e +if(!J.e(s,r==null?null:r.at))for(s=n.d,s=A.a7(s,!1,A.o(s).c),r=s.length,o=0;oq.gv1()){o=q.Z +s=q.gv1() +r=q.Z.at +r.toString +o.CZ(s-r)}else{o=q.Z +s=o.at +s.toString +if(s<0)o.CZ(0-s)}q.Z.qo(q.ga89()) +q.Z.qk(0,q.gv1())}, +pU(a){var s,r=this +switch(r.E.a){case 0:s=new A.m(0,a-r.C$.gv(0).b+r.gv(0).b) +break +case 3:s=new A.m(a-r.C$.gv(0).a+r.gv(0).a,0) +break +case 1:s=new A.m(-a,0) +break +case 2:s=new A.m(0,-a) +break +default:s=null}return s}, +Mt(a){var s,r,q=this +switch(q.a3.a){case 0:return!1 +case 1:case 2:case 3:s=a.a +if(!(s<0)){r=a.b +s=r<0||s+q.C$.gv(0).a>q.gv(0).a||r+q.C$.gv(0).b>q.gv(0).b}else s=!0 +return s}}, +aE(a,b){var s,r,q,p,o,n=this +if(n.C$!=null){s=n.Z.at +s.toString +r=n.pU(s) +s=new A.ahz(n,r) +q=n.al +if(n.Mt(r)){p=n.cx +p===$&&A.a() +o=n.gv(0) +q.saQ(0,a.l4(p,b,new A.D(0,0,0+o.a,0+o.b),s,n.a3,q.a))}else{q.saQ(0,null) +s.$2(a,b)}}}, +l(){this.al.saQ(0,null) +this.fj()}, +cP(a,b){var s,r=this.Z.at +r.toString +s=this.pU(r) +b.au(0,s.a,s.b)}, +lY(a){var s=this,r=s.Z.at +r.toString +r=s.Mt(s.pU(r)) +if(r){r=s.gv(0) +return new A.D(0,0,0+r.a,0+r.b)}return null}, +cW(a,b){var s,r=this +if(r.C$!=null){s=r.Z.at +s.toString +return a.nB(new A.ahy(r),r.pU(s),b)}return!1}, +mF(a,b,c,d){var s,r,q,p,o,n,m,l,k,j,i=this,h=null +A.aX(i.E) +if(d==null)d=a.giN() +if(!(a instanceof A.H)){s=i.Z.at +s.toString +return new A.r9(s,d)}r=A.e_(a.aW(0,i.C$),d) +q=i.C$.gv(0) +switch(i.E.a){case 0:s=r.d +s=new A.p2(i.gv(0).b,q.b-s,s-r.b) +break +case 3:s=r.c +s=new A.p2(i.gv(0).a,q.a-s,s-r.a) +break +case 1:s=r.a +s=new A.p2(i.gv(0).a,s,r.c-s) +break +case 2:s=r.b +s=new A.p2(i.gv(0).b,s,r.d-s) +break +default:s=h}p=s.a +o=h +n=h +m=s.b +l=s.c +n=l +o=m +k=p +j=o-(k-n)*b +return new A.r9(j,r.cY(i.pU(j)))}, +yt(a,b,c){return this.mF(a,b,null,c)}, +ff(a,b,c,d){var s=this +if(!s.Z.r.gnC())return s.ue(a,b,c,d) +s.ue(a,null,c,A.ask(a,b,c,s.Z,d,s))}, +p0(){return this.ff(B.ay,null,B.q,null)}, +mT(a,b){return this.ff(B.ay,a,B.q,b)}, +Df(a){var s,r,q=this,p=q.gv1(),o=q.Z.at +o.toString +s=p-o +switch(q.E.a){case 0:q.gv(0) +q.gv(0) +p=q.gv(0) +o=q.gv(0) +r=q.Z.at +r.toString +return new A.D(0,0-s,0+p.a,0+o.b+r) +case 1:q.gv(0) +p=q.Z.at +p.toString +q.gv(0) +return new A.D(0-p,0,0+q.gv(0).a+s,0+q.gv(0).b) +case 2:q.gv(0) +q.gv(0) +p=q.Z.at +p.toString +return new A.D(0,0-p,0+q.gv(0).a,0+q.gv(0).b+s) +case 3:q.gv(0) +q.gv(0) +p=q.gv(0) +o=q.Z.at +o.toString +return new A.D(0-s,0,0+p.a+o,0+q.gv(0).b)}}, +$iJl:1} +A.ahz.prototype={ +$2(a,b){var s=this.a.C$ +s.toString +a.fK(s,b.a4(0,this.b))}, +$S:25} +A.ahy.prototype={ +$2(a,b){return this.a.C$.c5(a,b)}, +$S:24} +A.Df.prototype={ +aj(a){var s +this.eu(a) +s=this.C$ +if(s!=null)s.aj(a)}, +aa(a){var s +this.e5(0) +s=this.C$ +if(s!=null)s.aa(0)}} +A.Tx.prototype={} +A.Ty.prototype={} +A.KH.prototype={} +A.oC.prototype={ +bh(a){return A.asL(this,!1)}} +A.KF.prototype={ +bh(a){return A.asL(this,!0)}, +av(a){var s=new A.JG(t.Gt.a(a),A.E(t.S,t.x),0,null,null,A.aj()) +s.aw() +return s}} +A.rt.prototype={ +gU(){return t.Ss.a(A.bx.prototype.gU.call(this))}, +b2(a,b){var s,r,q=this.e +q.toString +t.M0.a(q) +this.pc(0,b) +s=b.d +r=q.d +if(s!==r)q=A.t(s)!==A.t(r)||s.GG(r) +else q=!1 +if(q)this.i3()}, +i3(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=null,a1={} +a.Hx() +a.p3=null +a1.a=!1 +try{i=t.S +s=A.ana(i,t.Dv) +r=A.fx(a0,a0,a0,i,t.i) +i=a.e +i.toString +q=t.M0.a(i) +p=new A.aa5(a1,a,s,q,r) +for(i=a.p2,h=i.$ti.h("kn<1,eN<1,2>>"),h=A.a7(new A.kn(i,h),!0,h.h("j.E")),g=h.length,f=t.MR,e=a.p1,d=0;d>")).W(0,p) +if(!a1.a&&a.R8){b=i.R0() +k=b==null?-1:b +j=k+1 +J.fW(s,j,i.k(0,j)) +p.$1(j)}}finally{a.p4=null +a.gU()}}, +aac(a,b){this.f.vV(this,new A.aa2(this,b,a))}, +d1(a,b,c){var s,r,q,p,o=null +if(a==null)s=o +else{s=a.gU() +s=s==null?o:s.b}r=t.MR +r.a(s) +q=this.V8(a,b,c) +if(q==null)p=o +else{p=q.gU() +p=p==null?o:p.b}r.a(p) +if(s!=p&&s!=null&&p!=null)p.a=s.a +return q}, +iC(a){this.p2.A(0,a.c) +this.k0(a)}, +S4(a){var s,r=this +r.gU() +s=a.b +s.toString +s=t.U.a(s).b +s.toString +r.f.vV(r,new A.aa6(r,s))}, +PP(a,b,c,d,e){var s,r,q=this.e +q.toString +s=t.M0 +r=s.a(q).d.gr4() +q=this.e +q.toString +s.a(q) +d.toString +q=A.aEF(b,c,d,e,r) +return q}, +gqx(){var s,r=this.e +r.toString +s=t.M0.a(r).d.gr4() +return s}, +qS(){var s=this.p2 +s.abt() +s.R0() +s=this.e +s.toString +t.M0.a(s)}, +Dh(a){var s=a.b +s.toString +t.U.a(s).b=this.p4}, +jx(a,b){this.gU().z0(0,t.x.a(a),this.p3)}, +jG(a,b,c){this.gU().xp(t.x.a(a),this.p3)}, +l5(a,b){this.gU().A(0,t.x.a(a))}, +bo(a){var s=this.p2,r=s.$ti.h("p6<1,2>") +r=A.eT(new A.p6(s,r),r.h("j.E"),t.Y) +B.b.W(A.a7(r,!0,A.o(r).h("j.E")),a)}} +A.aa5.prototype={ +$1(a){var s,r,q,p,o=this,n=o.b +n.p4=a +q=n.p2 +if(q.k(0,a)!=null&&!J.e(q.k(0,a),o.c.k(0,a))){q.n(0,a,n.d1(q.k(0,a),null,a)) +o.a.a=!0}s=n.d1(o.c.k(0,a),o.d.d.CE(n,a),a) +if(s!=null){p=o.a +p.a=p.a||!J.e(q.k(0,a),s) +q.n(0,a,s) +q=s.gU().b +q.toString +r=t.U.a(q) +if(a===0)r.a=0 +else{q=o.e +if(q.a9(0,a))r.a=q.k(0,a)}if(!r.c)n.p3=t.Qv.a(s.gU())}else{o.a.a=!0 +q.A(0,a)}}, +$S:16} +A.aa3.prototype={ +$0(){return null}, +$S:40} +A.aa4.prototype={ +$0(){return this.a.p2.k(0,this.b)}, +$S:460} +A.aa2.prototype={ +$0(){var s,r,q,p=this,o=p.a +o.p3=p.b==null?null:t.Qv.a(o.p2.k(0,p.c-1).gU()) +s=null +try{q=o.e +q.toString +r=t.M0.a(q) +q=o.p4=p.c +s=o.d1(o.p2.k(0,q),r.d.CE(o,q),q)}finally{o.p4=null}q=p.c +o=o.p2 +if(s!=null)o.n(0,q,s) +else o.A(0,q)}, +$S:0} +A.aa6.prototype={ +$0(){var s,r,q=this +try{s=q.a +r=s.p4=q.b +s.d1(s.p2.k(0,r),null,r)}finally{q.a.p4=null}q.a.p2.A(0,q.b)}, +$S:0} +A.wU.prototype={ +qm(a){var s,r,q=a.b +q.toString +t.Cl.a(q) +s=this.f +if(q.rb$!==s){q.rb$=s +r=a.d +if(r instanceof A.G&&!s)r.a6()}}} +A.KB.prototype={ +K(a){var s=this.c,r=A.N(1-s,0,1) +return new A.RE(r/2,new A.RD(s,this.e,null),null)}} +A.RD.prototype={ +av(a){var s=new A.JE(this.f,t.Gt.a(a),A.E(t.S,t.x),0,null,null,A.aj()) +s.aw() +return s}, +aC(a,b){b.stE(this.f)}} +A.RE.prototype={ +av(a){var s=new A.QM(this.e,null,A.aj()) +s.aw() +return s}, +aC(a,b){b.stE(this.e)}} +A.QM.prototype={ +stE(a){var s=this +if(s.dE===a)return +s.dE=a +s.ef=null +s.a6()}, +geL(){return this.ef}, +a74(){var s,r,q=this +if(q.ef!=null&&J.e(q.cw,t.p.a(A.G.prototype.gN.call(q))))return +s=t.p +r=s.a(A.G.prototype.gN.call(q)).y*q.dE +q.cw=s.a(A.G.prototype.gN.call(q)) +switch(A.aX(s.a(A.G.prototype.gN.call(q)).a).a){case 0:s=new A.aJ(r,0,r,0) +break +case 1:s=new A.aJ(0,r,0,r) +break +default:s=null}q.ef=s +return}, +be(){this.a74() +this.HA()}} +A.zq.prototype={ +F(){return"SnapshotMode."+this.b}} +A.zp.prototype={ +sCs(a){if(a===this.a)return +this.a=a +this.ae()}} +A.KK.prototype={ +av(a){var s=new A.tK(A.bY(a,B.ea,t.w).w.b,this.w,this.e,this.f,!0,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){t.xL.a(b) +b.sCQ(0,this.e) +b.saec(0,this.f) +b.snR(0,A.bY(a,B.ea,t.w).w.b) +b.sxD(this.w) +b.sa8N(!0)}} +A.tK.prototype={ +snR(a,b){var s,r=this +if(b===r.B)return +r.B=b +s=r.ba +if(s==null)return +else{s.l() +r.ba=null +r.ao()}}, +sxD(a){var s,r=this,q=r.a_ +if(a===q)return +s=r.gel() +q.H(0,s) +r.a_=a +if(A.t(q)!==A.t(r.a_)||r.a_.hx(q))r.ao() +if(r.y!=null)r.a_.Y(0,s)}, +sCQ(a,b){var s,r,q=this,p=q.am +if(b===p)return +s=q.gvc() +p.H(0,s) +r=q.am.a +q.am=b +if(q.y!=null){b.Y(0,s) +if(r!==q.am.a)q.Lb()}}, +saec(a,b){if(b===this.bM)return +this.bM=b +this.ao()}, +sa8N(a){return}, +aj(a){var s=this +s.am.Y(0,s.gvc()) +s.a_.Y(0,s.gel()) +s.pf(a)}, +aa(a){var s,r=this +r.f_=!1 +r.am.H(0,r.gvc()) +r.a_.H(0,r.gel()) +s=r.ba +if(s!=null)s.l() +r.cV=r.ba=null +r.n5(0)}, +l(){var s,r=this +r.am.H(0,r.gvc()) +r.a_.H(0,r.gel()) +s=r.ba +if(s!=null)s.l() +r.cV=r.ba=null +r.fj()}, +Lb(){var s,r=this +r.f_=!1 +s=r.ba +if(s!=null)s.l() +r.cV=r.ba=null +r.ao()}, +a58(){var s,r=this,q=A.arK(B.h),p=r.gv(0),o=new A.jR(q,new A.D(0,0,0+p.a,0+p.b)) +r.fV(o,B.h) +o.lk() +if(r.bM!==B.LH&&!q.uj()){q.l() +if(r.bM===B.LG)throw A.c(A.jx("SnapshotWidget used with a child that contains a PlatformView.")) +r.f_=!0 +return null}p=r.gv(0) +s=q.afO(new A.D(0,0,0+p.a,0+p.b),r.B) +q.l() +r.fD=r.gv(0) +return s}, +aE(a,b){var s,r,q,p,o=this +if(o.gv(0).gM(0)){s=o.ba +if(s!=null)s.l() +o.cV=o.ba=null +return}if(!o.am.a||o.f_){s=o.ba +if(s!=null)s.l() +o.cV=o.ba=null +o.a_.t6(a,b,o.gv(0),A.f9.prototype.giL.call(o)) +return}if(!o.gv(0).j(0,o.fD)&&o.fD!=null){s=o.ba +if(s!=null)s.l() +o.ba=null}if(o.ba==null){o.ba=o.a58() +o.cV=o.gv(0).ac(0,o.B)}s=o.ba +r=o.a_ +if(s==null)r.t6(a,b,o.gv(0),A.f9.prototype.giL.call(o)) +else{s=o.gv(0) +q=o.ba +q.toString +p=o.cV +p.toString +r.Rw(a,b,s,q,p,o.B)}}} +A.KJ.prototype={} +A.Na.prototype={ +gcL(a){return A.ab(A.lD(this,A.lq(B.Mn,"gagB",1,[],[],0)))}, +scL(a,b){A.ab(A.lD(this,A.lq(B.Ms,"sagv",2,[b],[],0)))}, +gc2(){return A.ab(A.lD(this,A.lq(B.Mo,"gagC",1,[],[],0)))}, +sc2(a){A.ab(A.lD(this,A.lq(B.Ml,"sagx",2,[a],[],0)))}, +gjb(){return A.ab(A.lD(this,A.lq(B.Mp,"gagD",1,[],[],0)))}, +sjb(a){A.ab(A.lD(this,A.lq(B.Mk,"sagy",2,[a],[],0)))}, +gki(){return A.ab(A.lD(this,A.lq(B.Mq,"gagE",1,[],[],0)))}, +ski(a){A.ab(A.lD(this,A.lq(B.Mm,"sagA",2,[a],[],0)))}, +LF(a){return A.ab(A.lD(this,A.lq(B.Mr,"agF",0,[a],[],0)))}, +Y(a,b){}, +H(a,b){}, +$iaf:1} +A.L_.prototype={ +av(a){var s=new A.JI(new A.w8(new WeakMap()),A.ay(t.Cn),A.E(t.X,t.m2),B.bs,null,new A.aN(),A.aj()) +s.aw() +s.saK(null) +return s}, +aC(a,b){}} +A.JI.prototype={ +c5(a,b){var s,r,q=this +if(!q.gv(0).p(0,b))return!1 +s=q.cW(a,b)||q.B===B.ae +if(s){r=new A.kS(b,q) +q.ca.n(0,r,a) +a.D(0,r)}return s}, +iD(a,b){var s,r,q,p,o,n,m,l,k,j=this +if(!t.pY.b(a))return +s=j.eX +if(s.a===0)return +A.q5(b) +r=j.ca.a.get(b) +if(r==null)return +q=j.a1f(s,r.a) +p=t.Cn +o=A.a9E(q,q.gBd(),A.o(q).c,p).ZZ() +p=A.ay(p) +for(q=o.ga0(o),n=j.cT;q.q();){m=q.gG(q) +m.gTJ(m) +m=n.k(0,m.gTJ(m)) +m.toString +p.L(0,m)}l=s.hM(p) +for(s=l.ga0(l),k=!1;s.q();){q=s.gG(s) +if(q.gagN())k=!0 +q.gah3().$1(a)}for(s=A.dr(p,p.r,p.$ti.c),q=s.$ti.c;s.q();){p=s.d;(p==null?q.a(p):p).gah2().$1(a)}if(k){s=$.dY.bn$.nA(0,a.gbj(),new A.Nw()) +s.a.lD(s.b,s.c,B.bO)}}, +a1f(a,b){var s,r,q,p,o=A.ay(t.zE) +for(s=b.length,r=this.eX,q=0;q=0&&i==null))break +h=l.b=g.cR(s[j],a) +switch(h.a){case 2:case 3:case 4:i=h +break +case 0:if(k===!1){++j +i=B.x}else if(j===g.b.length-1)i=h +else{++j +k=!0}break +case 1:if(k===!0){--j +i=B.x}else if(j===0)i=h +else{--j +k=!1}break}}if(b)g.c=j +else g.d=j +g.MP() +i.toString +return i}, +MO(a7,a8){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=this,a3=null,a4=a2.at,a5=a8?a4.b!=null:a4.a!=null,a6=a8?a4.a!=null:a4.b!=null +$label0$0:{s=a3 +r=a3 +a4=!1 +if(a8){if(a5){a4=a6 +r=a4 +s=r}q=a5 +p=q +o=p +n=o}else{o=a3 +n=o +p=!1 +q=!1}m=0 +if(a4){a4=a2.c +break $label0$0}l=a3 +a4=!1 +if(a8){if(a8){k=n +j=a8 +i=j}else{k=a5 +o=k +n=o +i=!0 +j=!0}if(k){if(q)a4=r +else{a4=a6 +r=a4 +q=!0}l=!1===a4 +a4=l}}else{j=a8 +i=j +k=!1}if(a4){a4=a2.c +break $label0$0}h=a3 +a4=!1 +if(a8){if(j)g=o +else{g=a5 +o=g +j=!0}h=!1===g +g=h +if(g)if(p)a4=s +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}s=!0===a4 +a4=s +p=!0}}if(a4){a4=a2.d +break $label0$0}a4=!1 +if(a8)if(h)if(k)a4=l +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}l=!1===a4 +a4=l +k=!0}if(a4){a4=m +break $label0$0}f=!1===a8 +a4=f +g=!1 +if(a4){if(i)a4=n +else{if(j)a4=o +else{a4=a5 +o=a4 +j=!0}n=!0===a4 +a4=n +i=!0}if(a4)if(p)a4=s +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}s=!0===a4 +a4=s +p=!0}else a4=g}else a4=g +if(a4){a4=a2.d +break $label0$0}a4=!1 +if(f){if(i)g=n +else{if(j)g=o +else{g=a5 +o=g +j=!0}n=!0===g +g=n}if(g)if(k)a4=l +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}l=!1===a4 +a4=l +k=!0}}if(a4){a4=a2.d +break $label0$0}a4=!1 +if(f){if(a8){g=h +e=a8}else{if(j)g=o +else{g=a5 +o=g +j=!0}h=!1===g +g=h +e=!0}if(g)if(p)a4=s +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}s=!0===a4 +a4=s}}else e=a8 +if(a4){a4=a2.c +break $label0$0}a4=!1 +if(f){if(e)g=h +else{h=!1===(j?o:a5) +g=h}if(g)if(k)a4=l +else{l=!1===(q?r:a6) +a4=l}}if(a4){a4=m +break $label0$0}a4=a3}d=A.bk("currentSelectableResult") +c=a3 +b=a4 +a=c +while(!0){a4=a2.b +if(!(b=0&&a==null))break +a0=d.b=a2.cR(a4[b],a7) +switch(a0.a){case 2:case 3:case 4:a=a0 +break +case 0:if(c===!1){++b +a=B.x}else if(b===a2.b.length-1)a=a0 +else{++b +c=!0}break +case 1:if(c===!0){--b +a=B.x}else if(b===0)a=a0 +else{--b +c=!1}break}}a4=a2.c +m=a2.d +a1=a4>=m +if(a8){if(c!=null)if(!(!a1&&c&&b>=m))m=a1&&!c&&b<=m +else m=!0 +else m=!1 +if(m)a2.d=a4 +a2.c=b}else{if(c!=null)if(!(!a1&&!c&&b<=a4))a4=a1&&c&&b>=a4 +else a4=!0 +else a4=!1 +if(a4)a2.c=m +a2.d=b}a2.MP() +a.toString +return a}, +gqA(){return A.aKD()}, +MP(){var s,r,q,p=this,o=p.d,n=o===-1 +if(n&&p.c===-1)return +if(n||p.c===-1){if(n)o=p.c +n=p.b +new A.aF(n,new A.aie(p,o),A.a_(n).h("aF<1>")).W(0,new A.aif(p)) +return}n=p.c +s=Math.min(o,n) +r=Math.max(o,n) +for(q=0;n=p.b,q=s&&q<=r)continue +p.cR(n[q],B.d0)}}, +A(a,b){this.dy.A(0,b) +this.fr.A(0,b) +this.Vx(0,b)}, +BX(){var s,r,q,p,o=this,n=o.d +if(n!==-1&&J.fZ(o.b[n]).c!==B.bA){s=o.b[o.d] +r=s.gm(s).a.a.a4(0,new A.m(0,-s.gm(s).a.b/2)) +o.fx=A.bI(s.aW(0,null),r)}n=o.c +if(n!==-1&&J.fZ(o.b[n]).c!==B.bA){q=o.b[o.c] +p=q.gm(q).b.a.a4(0,new A.m(0,-q.gm(q).b.b/2)) +o.fy=A.bI(q.aW(0,null),p)}}, +wS(a){var s,r,q,p,o,n,m=this,l=m.He(a) +for(s=m.b,r=s.length,q=m.dy,p=m.fr,o=0;o#"+A.b4(this)}} +A.ux.prototype={ +ai(){return new A.Ad()}, +gjD(){return this.c}} +A.Ad.prototype={ +an(){this.aJ() +this.a.gjD().Y(0,this.gAJ())}, +aG(a){var s,r=this +r.b0(a) +if(r.a.gjD()!==a.gjD()){s=r.gAJ() +a.gjD().H(0,s) +r.a.gjD().Y(0,s)}}, +l(){this.a.gjD().H(0,this.gAJ()) +this.aB()}, +a1C(){if(this.c==null)return +this.ah(new A.acB())}, +K(a){return this.a.K(a)}} +A.acB.prototype={ +$0(){}, +$S:0} +A.KA.prototype={ +K(a){var s=this,r=t.so.a(s.c),q=r.gm(r) +if(s.e===B.T)q=new A.m(-q.a,q.b) +return new A.Gy(q,s.f,s.r,null)}} +A.HH.prototype={ +K(a){var s=this,r=t.q.a(s.c),q=s.e.$1(r.gm(r)) +r=r.gfF()?s.r:null +return A.anr(s.f,s.w,r,q,!0)}} +A.JX.prototype={} +A.JP.prototype={} +A.Kv.prototype={ +K(a){var s,r,q=this,p=null,o=q.e +switch(o.a){case 0:s=new A.e7(0,-1) +break +case 1:s=new A.e7(-1,0) +break +default:s=p}if(o===B.aw){r=t.q.a(q.c) +r=Math.max(A.fV(r.gm(r)),0)}else r=p +if(o===B.aH){o=t.q.a(q.c) +o=Math.max(A.fV(o.gm(o)),0)}else o=p +return A.WG(new A.fl(s,o,r,q.w,p),B.Z,p)}} +A.ni.prototype={ +av(a){var s=null,r=new A.Jn(s,s,s,s,s,new A.aN(),A.aj()) +r.aw() +r.saK(s) +r.sdk(0,this.e) +r.svR(!1) +return r}, +aC(a,b){b.sdk(0,this.e) +b.svR(!1)}} +A.Fu.prototype={ +K(a){var s=this.e,r=s.a +return A.alU(this.r,s.b.a8(0,r.gm(r)),B.ex)}} +A.nN.prototype={ +gjD(){return this.c}, +K(a){return this.Ou(a,this.f)}, +Ou(a,b){return this.e.$2(a,b)}} +A.E8.prototype={ +gjD(){return A.nN.prototype.gjD.call(this)}, +ga90(){return this.e}, +Ou(a,b){return this.ga90().$2(a,b)}} +A.kd.prototype={ +ai(){return new A.tZ(this.$ti.h("tZ<1>"))}} +A.tZ.prototype={ +an(){var s,r=this +r.aJ() +s=r.a.c +r.d=s.gm(s) +r.a.c.Y(0,r.gCb())}, +aG(a){var s,r,q=this +q.b0(a) +s=a.c +if(s!==q.a.c){r=q.gCb() +s.H(0,r) +s=q.a.c +q.d=s.gm(s) +q.a.c.Y(0,r)}}, +l(){this.a.c.H(0,this.gCb()) +this.aB()}, +a88(){this.ah(new A.aje(this))}, +K(a){var s,r=this.a +r.toString +s=this.d +s===$&&A.a() +return r.d.$3(a,s,r.e)}} +A.aje.prototype={ +$0(){var s=this.a,r=s.a.c +s.d=r.gm(r)}, +$S:0} +A.A5.prototype={ +ai(){return new A.SR(A.ZH(!0,null,!1),A.a76())}} +A.SR.prototype={ +an(){this.aJ() +$.ai.cd$.push(this)}, +l(){$.ai.tg(this) +this.d.l() +this.aB()}, +Pn(a){var s,r=this +if(a.a!==r.a.c.a)return +switch(a.b.a){case 1:switch(a.c.a){case 1:s=r.e.Jq(r.d,!0) +break +case 2:s=r.e.Ai(r.d,!0,!0) +break +case 0:s=r.d +break +default:s=null}s.oG() +break +case 0:$.ai.ag$.d.b.ik(!1) +break}}, +K(a){var s=this.a,r=s.c,q=s.e,p=s.f +return new A.Jg(r,new A.Bg(r,A.amf(A.atu(s.d,this.d,!1),this.e),null),q,p,null)}} +A.Jg.prototype={ +K(a){var s=this,r=s.c,q=s.e,p=s.f +return new A.BF(r,new A.a74(s),q,p,new A.Ay(r,q,p,t.DC))}} +A.a74.prototype={ +$2(a,b){var s=this.a +return new A.p9(s.c,new A.Bz(b,s.d,null),null)}, +$S:462} +A.BF.prototype={ +bh(a){return new A.Qk(this,B.a1)}, +av(a){return this.f}} +A.Qk.prototype={ +gj9(){var s=this.e +s.toString +t.bR.a(s) +return s.e}, +gU(){return t.Ju.a(A.bx.prototype.gU.call(this))}, +Cd(){var s,r,q,p,o,n,m,l=this +try{n=l.e +n.toString +s=t.bR.a(n).d.$2(l,l.gj9()) +l.bn=l.d1(l.bn,s,null)}catch(m){r=A.a9(m) +q=A.aK(m) +n=A.bm("building "+l.i(0)) +p=new A.bF(r,q,"widgets library",n,null,!1) +A.dk(p) +o=A.Z4(p) +l.bn=l.d1(null,o,l.c)}}, +f3(a,b){var s,r=this +r.uf(a,b) +s=t.Ju +r.gj9().sFH(s.a(A.bx.prototype.gU.call(r))) +r.Id() +r.Cd() +s.a(A.bx.prototype.gU.call(r)).Fs() +if(r.gj9().at!=null)s.a(A.bx.prototype.gU.call(r)).tX()}, +Ie(a){var s,r,q,p=this +if(a==null)a=A.ate(p) +s=p.gj9() +a.CW.D(0,s) +r=a.cx +if(r!=null)s.aj(r) +s=$.iU +s.toString +r=t.Ju.a(A.bx.prototype.gU.call(p)) +q=r.go +s.dx$.n(0,q.a,r) +r.sw8(A.aFr(q)) +p.E=a}, +Id(){return this.Ie(null)}, +J3(){var s,r=this,q=r.E +if(q!=null){s=$.iU +s.toString +s.dx$.A(0,t.Ju.a(A.bx.prototype.gU.call(r)).go.a) +s=r.gj9() +q.CW.A(0,s) +if(q.cx!=null)s.aa(0) +r.E=null}}, +bi(){var s,r=this +r.H1() +if(r.E==null)return +s=A.ate(r) +if(s!==r.E){r.J3() +r.Ie(s)}}, +i3(){this.Hx() +this.Cd()}, +bI(){var s=this +s.z2() +s.gj9().sFH(t.Ju.a(A.bx.prototype.gU.call(s))) +s.Id()}, +cQ(){this.J3() +this.gj9().sFH(null) +this.Hw()}, +b2(a,b){this.pc(0,b) +this.Cd()}, +bo(a){var s=this.bn +if(s!=null)a.$1(s)}, +iC(a){this.bn=null +this.k0(a)}, +jx(a,b){t.Ju.a(A.bx.prototype.gU.call(this)).saK(a)}, +jG(a,b,c){}, +l5(a,b){t.Ju.a(A.bx.prototype.gU.call(this)).saK(null)}, +mx(){var s=this,r=s.gj9(),q=s.e +q.toString +if(r!==t.bR.a(q).e){r=s.gj9() +q=r.at +if(q!=null)q.l() +r.at=null +B.b.J(r.r) +B.b.J(r.z) +B.b.J(r.Q) +r.ch.J(0)}s.W0()}} +A.p9.prototype={ +bT(a){return this.f!==a.f}} +A.Bz.prototype={ +bT(a){return this.f!==a.f}} +A.Ay.prototype={ +j(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.t(s))return!1 +return s.$ti.b(b)&&b.a===s.a&&b.b===s.b&&b.c===s.c}, +gt(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +i(a){return"[_DeprecatedRawViewKey "+("#"+A.b4(this.a))+"]"}} +A.TY.prototype={} +A.oS.prototype={ +av(a){var s=this,r=s.e,q=A.atg(a,r),p=s.y,o=A.aj() +if(p==null)p=250 +o=new A.yC(s.r,r,q,s.w,p,s.z,s.Q,o,0,null,null,new A.aN(),A.aj()) +o.aw() +o.L(0,null) +r=o.V$ +if(r!=null)o.dF=r +return o}, +aC(a,b){var s=this,r=s.e +b.sez(r) +r=A.atg(a,r) +b.saai(r) +b.sa8B(s.r) +b.skY(0,s.w) +b.sa92(s.y) +b.sa93(s.z) +b.snI(s.Q)}, +bh(a){return new A.SS(A.cC(t.Y),this,B.a1)}} +A.SS.prototype={ +gU(){return t.E1.a(A.fH.prototype.gU.call(this))}, +f3(a,b){var s=this +s.E=!0 +s.Vs(a,b) +s.Nb() +s.E=!1}, +b2(a,b){var s=this +s.E=!0 +s.Vu(0,b) +s.Nb() +s.E=!1}, +Nb(){var s=this,r=s.e +r.toString +t.Dg.a(r) +r=t.E1 +if(!s.gOz(0).gM(0)){r.a(A.fH.prototype.gU.call(s)).saR(t.IT.a(s.gOz(0).gI(0).gU())) +s.Z=0}else{r.a(A.fH.prototype.gU.call(s)).saR(null) +s.Z=null}}, +jx(a,b){var s=this +s.H8(a,b) +if(!s.E&&b.b===s.Z)t.E1.a(A.fH.prototype.gU.call(s)).saR(t.IT.a(a))}, +jG(a,b,c){this.H9(a,b,c)}, +l5(a,b){var s=this +s.Vt(a,b) +if(!s.E&&t.E1.a(A.fH.prototype.gU.call(s)).dF===a)t.E1.a(A.fH.prototype.gU.call(s)).saR(null)}} +A.TZ.prototype={} +A.U_.prototype={} +A.acl.prototype={ +$1(a){var s,r,q=this,p=a.a,o=p==null?null:p.r +$label0$0:{if(typeof o=="number"){p=o!==B.b.gT(q.b) +s=o}else{s=null +p=!1}if(p){p=s +break $label0$0}p=null +break $label0$0}r=p!=null +if(r)q.b.push(p) +a.ag9(q) +if(r)q.b.pop() +return!0}, +$S:88} +A.bP.prototype={ +F(){return"WidgetState."+this.b}} +A.LG.prototype={$ibu:1} +A.CV.prototype={ +X(a,b){return this.c.$1(b)}} +A.LH.prototype={ +qK(a){return this.X(0,A.ay(t.EK)).qK(a)}, +$ibu:1} +A.ND.prototype={ +X(a,b){if(b.p(0,B.D))return B.bf +return B.cG}, +glT(){return"WidgetStateMouseCursor(clickable)"}} +A.OH.prototype={ +X(a,b){var s,r=this,q=r.a,p=q==null?null:q.X(0,b) +q=r.b +s=q==null?null:q.X(0,b) +q=p==null +if(q&&s==null)return null +if(q){q=s.a +return A.aG(new A.cA(A.Z(0,q.gm(q)>>>16&255,q.gm(q)>>>8&255,q.gm(q)&255),0,B.a5,-1),s,r.c)}if(s==null){q=p.a +return A.aG(p,new A.cA(A.Z(0,q.gm(q)>>>16&255,q.gm(q)>>>8&255,q.gm(q)&255),0,B.a5,-1),r.c)}return A.aG(p,s,r.c)}, +$ibu:1} +A.bu.prototype={} +A.B6.prototype={ +X(a,b){var s,r=this,q=r.a,p=q==null?null:q.X(0,b) +q=r.b +s=q==null?null:q.X(0,b) +return r.d.$3(p,s,r.c)}, +$ibu:1} +A.bl.prototype={ +X(a,b){return this.a.$1(b)}, +$ibu:1} +A.cr.prototype={ +X(a,b){return this.a}, +i(a){var s="WidgetStatePropertyAll(",r=this.a +if(typeof r=="number")return s+A.ij(r)+")" +else return s+A.h(r)+")"}, +$ibu:1} +A.LI.prototype={ +ep(a,b,c){var s=this.a +if(c?J.em(s,b):J.kK(s,b))this.ae()}} +A.rX.prototype={ +ai(){return new A.SW()}} +A.SW.prototype={ +bi(){var s,r,q=this +q.d_() +s=q.a +s.toString +r=q.d +if(r!=null)B.b.A(r.k4,s.d) +s=q.c +s.toString +s=q.d=A.HS(s,t.X) +r=q.a +r.toString +if(s!=null)s.k4.push(r.d)}, +aG(a){var s,r=this +r.b0(a) +s=a.d +if(!J.e(r.a.d,s)&&r.d!=null){B.b.A(r.d.k4,s) +s=r.a +s.toString +r.d.k4.push(s.d)}}, +l(){var s,r=this.a +r.toString +s=this.d +if(s!=null)B.b.A(s.k4,r.d) +this.aB()}, +K(a){return this.a.c}} +A.l7.prototype={} +A.Zt.prototype={ +em(a,b,c,d,e,f){return this.aeo(a,b,c,d,e,f)}, +aeo(a,b,c,d,e,f){var s=0,r=A.z(t.FL),q +var $async$em=A.A(function(g,h){if(g===1)return A.w(h,r) +while(true)switch(s){case 0:q=$.kG().em(a,b,c,d,e,f) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$em,r)}} +A.a4A.prototype={ +hj(a){return this.ad_(a)}, +ad_(a){var s=0,r=A.z(t.bo),q,p +var $async$hj=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:p=t.N +s=3 +return A.B(B.dG.dv("init",A.an(["key",a],p,p),!1,t.S),$async$hj) +case 3:q=c +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$hj,r)}, +e0(a){return this.Ua(a)}, +Ua(a){var s=0,r=A.z(t.bo),q,p +var $async$e0=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:p=t.N +s=3 +return A.B(B.dG.dv("setParameters",A.an(["params",a],p,p),!1,t.S),$async$e0) +case 3:q=c +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$e0,r)}, +hb(a){return this.aax(a)}, +aax(a){var s=0,r=A.z(t.hA),q,p=this,o +var $async$hb=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=t.N +s=3 +return A.B(B.dG.ol("detectFile",A.an(["file",a],o,o),t.z),$async$hb) +case 3:q=p.LW(c) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$hb,r)}, +ha(a,b,c,d,e){return this.aau(a,b,c,d,e)}, +aau(a,b,c,d,e){var s=0,r=A.z(t.hA),q,p=this +var $async$ha=A.A(function(f,g){if(f===1)return A.w(g,r) +while(true)switch(s){case 0:s=3 +return A.B(B.dG.ol("detectBuffer",A.an(["bytes",a,"width",b,"height",c,"stride",d,"format",e],t.N,t.K),t.z),$async$ha) +case 3:q=p.LW(g) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ha,r)}, +LW(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=A.b([],t.O7) +if(a!=null)for(s=J.al(a),r=t.yv;s.q();){q=s.gG(s) +p=J.ax(q) +p.k(q,"confidence") +o=A.b([],r) +n=p.k(q,"x1") +m=p.k(q,"y1") +l=p.k(q,"x2") +k=p.k(q,"y2") +j=p.k(q,"x3") +i=p.k(q,"y3") +h=p.k(q,"x4") +g=p.k(q,"y4") +o.push(new A.m(n,m)) +o.push(new A.m(l,k)) +o.push(new A.m(j,i)) +o.push(new A.m(h,g)) +f.push(new A.l7(o))}return f}, +em(a,b,c,d,e,f){return this.aeq(a,b,c,d,e,f)}, +aeq(a,b,c,d,e,f){var s=0,r=A.z(t.FL),q,p,o,n,m,l,k,j,i,h,g +var $async$em=A.A(function(a0,a1){if(a0===1)return A.w(a1,r) +while(true)switch(s){case 0:i=f[0] +h=B.c.P(i.a) +g=B.c.P(i.b) +i=f[1] +p=B.c.P(i.a) +o=B.c.P(i.b) +i=f[2] +n=B.c.P(i.a) +m=B.c.P(i.b) +i=f[3] +l=t.N +s=3 +return A.B(B.dG.mg("normalizeBuffer",A.an(["bytes",a,"width",b,"height",c,"stride",d,"format",e,"x1",h,"y1",g,"x2",p,"y2",o,"x3",n,"y3",m,"x4",B.c.P(i.a),"y4",B.c.P(i.b)],l,t.K),l,t.z),$async$em) +case 3:k=a1 +if(k!=null){l=J.ax(k) +j=l.k(k,"data") +if(t.j.b(j)){q=new A.qI(new Uint8Array(A.kw(J.pn(j,t.S))),l.k(k,"width"),l.k(k,"height")) +s=1 +break}q=new A.qI(j,l.k(k,"width"),l.k(k,"height")) +s=1 +break}q=null +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$em,r)}} +A.Zu.prototype={} +A.Zv.prototype={ +hj(a){return this.acZ(a)}, +acZ(a){var s=0,r=A.z(t.bo),q,p=this +var $async$hj=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:q=p.a.hj(a) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$hj,r)}, +em(a,b,c,d,e,f){return this.aep(a,b,c,d,e,f)}, +aep(a,b,c,d,e,f){var s=0,r=A.z(t.FL),q,p=this +var $async$em=A.A(function(g,h){if(g===1)return A.w(h,r) +while(true)switch(s){case 0:q=p.a.em(a,b,c,d,e,f) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$em,r)}, +ha(a,b,c,d,e){return this.aat(a,b,c,d,e)}, +aat(a,b,c,d,e){var s=0,r=A.z(t.hA),q,p=this +var $async$ha=A.A(function(f,g){if(f===1)return A.w(g,r) +while(true)switch(s){case 0:q=p.a.ha(a,b,c,d,e) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ha,r)}, +hb(a){return this.aaw(a)}, +aaw(a){var s=0,r=A.z(t.sn),q,p=this +var $async$hb=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:q=p.a.hb(a) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$hb,r)}, +e0(a){return this.U9(a)}, +U9(a){var s=0,r=A.z(t.bo),q,p=this +var $async$e0=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:q=p.a.e0(a) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$e0,r)}} +A.qI.prototype={} +A.Ja.prototype={} +A.zQ.prototype={} +A.pW.prototype={} +A.a0g.prototype={} +A.qH.prototype={} +A.Xk.prototype={ +hj(a){return this.acY(a)}, +acY(a){var s=0,r=A.z(t.S),q,p=this +var $async$hj=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:Dynamsoft.DDN.DocumentNormalizer.license=a +s=3 +return A.B(A.cF(Dynamsoft.DDN.DocumentNormalizer.createInstance(),t.lq),$async$hj) +case 3:p.a=c +q=0 +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$hj,r)}, +e0(a){return this.U8(a)}, +U8(a){var s=0,r=A.z(t.S),q,p=this,o +var $async$e0=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.a +s=o!=null?3:4 +break +case 3:s=5 +return A.B(A.cF(J.azl(o,a),t.H),$async$e0) +case 5:q=0 +s=1 +break +case 4:q=-1 +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$e0,r)}, +em(a,b,c,d,e,f){return this.aen(a,b,c,d,e,f)}, +aen(a,b,c,d,e,f){var s=0,r=A.z(t.FL),q,p=this,o,n,m,l,k +var $async$em=A.A(function(g,h){if(g===1)return A.w(h,r) +while(true)switch(s){case 0:m=A.a_(f).h("aw<1,@>") +l=t.N +k=B.aQ.wv(A.an(["quad",A.an(["points",A.a7(new A.aw(f,new A.Xl(),m),!0,m.h("aD.E"))],l,t.j)],l,t.h8),null) +if(e===2)o="grey" +else if(e===6)o="rgb" +else if(e===12)o="bgr" +else if(e===7)o="rgba" +else o=e===10?"bgra":"rgba" +m=p.a +s=m!=null?3:4 +break +case 3:s=5 +return A.B(A.cF(J.azd(m,self.JSON.parse(B.aQ.wv(A.an(["data",a,"width",b,"height",c,"pixelFormat",o],l,t.K),null)),self.JSON.parse(k)),t.zZ),$async$em) +case 5:m=p.b=h +if(m!=null){n=J.UB(m) +m=J.dg(n) +q=new A.qI(new Uint8Array(A.kw(m.gqL(n))),m.gbb(n),m.gaH(n)) +s=1 +break}case 4:q=null +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$em,r)}, +hb(a){return this.aav(a)}, +aav(a){var s=0,r=A.z(t.hA),q,p=this,o +var $async$hb=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:o=p.a +s=o!=null?3:4 +break +case 3:s=5 +return A.B(A.cF(J.apm(o,a,!0),t.j),$async$hb) +case 5:q=p.NN(c) +s=1 +break +case 4:q=A.b([],t.O7) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$hb,r)}, +ha(a,b,c,d,e){return this.aas(a,b,c,d,e)}, +aas(a,b,c,d,e){var s=0,r=A.z(t.hA),q,p=this,o,n +var $async$ha=A.A(function(f,g){if(f===1)return A.w(g,r) +while(true)switch(s){case 0:n=p.a +s=n!=null?3:4 +break +case 3:if(e===2)o="grey" +else if(e===6)o="rgb" +else if(e===12)o="bgr" +else if(e===7)o="rgba" +else o=e===10?"bgra":"rgba" +s=5 +return A.B(A.cF(J.apm(n,self.JSON.parse(B.aQ.wv(A.an(["data",a,"width",b,"height",c,"pixelFormat",o],t.N,t.K),null)),!0),t.j),$async$ha) +case 5:q=p.NN(g) +s=1 +break +case 4:q=A.b([],t.O7) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ha,r)}, +NN(a){var s,r,q,p,o,n,m,l,k,j="location",i=A.b([],t.O7) +for(s=J.al(a),r=t.yv;s.q();){q=B.aQ.eA(0,self.JSON.stringify(s.gG(s))) +p=J.ax(q) +p.k(q,"confidenceAsDocumentBoundary") +o=J.b5(p.k(q,j),"points") +n=A.b([],r) +for(m=J.al(o);m.q();){l=m.gG(m) +k=J.ax(l) +n.push(new A.m(k.k(l,"x"),k.k(l,"y")))}p.k(q,j) +i.push(new A.l7(n))}return i}} +A.Xl.prototype={ +$1(a){return A.an(["x",a.a,"y",a.b],t.N,t.i)}, +$S:463} +A.Jj.prototype={ +wP(a,b,c){return this.abR(a,b,c)}, +abR(a,b,c){var s=0,r=A.z(t.H),q=1,p,o=[],n=this,m,l,k,j,i,h,g +var $async$wP=A.A(function(d,e){if(d===1){p=e +s=q}while(true)switch(s){case 0:h=null +q=3 +m=n.a.k(0,a) +s=m!=null?6:7 +break +case 6:j=m.$1(b) +s=8 +return A.B(t.T8.b(j)?j:A.fe(j,t.CD),$async$wP) +case 8:h=e +case 7:o.push(5) +s=4 +break +case 3:q=2 +g=p +l=A.a9(g) +k=A.aK(g) +j=A.bm("during a framework-to-plugin message") +A.dk(new A.bF(l,k,"flutter web plugins",j,null,!1)) +o.push(5) +s=4 +break +case 2:o=[1] +case 4:q=1 +if(c!=null)c.$1(h) +s=o.pop() +break +case 5:return A.x(null,r) +case 1:return A.w(p,r)}}) +return A.y($async$wP,r)}} +A.a6q.prototype={} +A.a0p.prototype={} +A.a0r.prototype={ +jT(a,b){return this.Tm(a,b)}, +Tm(a,b){var s=0,r=A.z(t.ju),q,p=this,o,n,m +var $async$jT=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:s=3 +return A.B(p.Tl("image/*",p.a9C(b,a.e)),$async$jT) +case 3:n=d +m=J.ax(n) +if(m.gM(n))m=null +else{o=p.c +o===$&&A.a() +m=o.ti(m.gI(n),a.a,a.b,a.c)}q=m +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$jT,r)}, +Tl(a,b){var s=this,r=s.aae(a,b,!1),q=s.b +q===$&&A.a() +q.replaceChildren(A.b([],t.jl)) +s.b.append(r) +r.click() +return s.a1i(r).hs(new A.a0w(r))}, +a9C(a,b){if(a===B.CH)return b===B.zI?"user":"environment" +return null}, +a0Y(a){var s=a.files +return s==null?null:A.aFv(s)}, +a1i(a){var s=new A.a8($.ae,t.G4),r=new A.b1(s,t.jT) +a.onchange=A.bb(new A.a0t(this,r)) +a.oncancel=A.bb(new A.a0u(r)) +a.onerror=A.bb(new A.a0v(r)) +return s}, +aae(a,b,c){var s=self.document.createElement("input") +s.type="file" +s.multiple=!1 +s.accept=a +if(b!=null)s.setAttribute("capture",b) +return s}} +A.a0w.prototype={ +$0(){this.a.remove()}, +$S:40} +A.a0t.prototype={ +$1(a){var s,r=a.target,q=r==null?null:this.a.a0Y(r),p=this.b +if((p.a.a&30)===0&&q!=null){s=A.a_(q).h("aw<1,dc>") +p.cA(0,A.a7(new A.aw(q,new A.a0s(),s),!0,s.h("aD.E")))}}, +$S:44} +A.a0s.prototype={ +$1(a){var s=self.URL.createObjectURL(a),r=a.name,q=a.size +return A.Aa(s,new A.et(A.Fs(a.lastModified,0,!1),0,!1),q,a.type,r)}, +$S:465} +A.a0u.prototype={ +$1(a){this.a.cA(0,A.b([],t.FQ))}, +$S:44} +A.a0v.prototype={ +$1(a){var s=this.a +if((s.a.a&30)===0)s.jk(a)}, +$S:44} +A.a0D.prototype={ +ti(a,b,c,d){return this.afu(a,b,c,d)}, +afu(a,b,a0,a1){var s=0,r=A.z(t.rx),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e,d,c +var $async$ti=A.A(function(a2,a3){if(a2===1){o=a3 +s=p}while(true)switch(s){case 0:q=a +s=1 +break +p=4 +j=a.c +j===$&&A.a() +s=7 +return A.B(n.adV(j),$async$ti) +case 7:m=a3 +j=m +i=j.width +h=j.height +g=new A.K(i,h) +f=Math.max(1,1) +if(f>1)g=new A.K(B.c.eR(i,f),B.c.eR(h,f)) +i=self +e=i.document.createElement("canvas") +e.width=B.c.P(g.a) +e.height=B.c.P(g.b) +h=e.getContext("2d") +if(h==null)h=t.m.a(h) +h.drawImage(j,0,0) +l=e +s=8 +return A.B(n.G1(a,l,a1),$async$ti) +case 8:k=a3 +i.URL.revokeObjectURL(a.c) +q=k +s=1 +break +p=2 +s=6 +break +case 4:p=3 +c=o +q=a +s=1 +break +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.x(q,r) +case 2:return A.w(o,r)}}) +return A.y($async$ti,r)}, +adV(a){var s,r=new A.a8($.ae,t.XC),q=new A.b1(r,t.m_),p=self.document.createElement("img") +p.src=a +s=t.Ds.c +A.oY(p,"load",new A.a0E(q,p),!1,s) +A.oY(p,"error",new A.a0F(p,q),!1,s) +return r}, +G1(a,b,c){return this.agf(a,b,c)}, +agf(a,b,c){var s=0,r=A.z(t.rx),q,p,o,n,m +var $async$G1=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:p=Math.min(100,100) +o=new A.a8($.ae,t.lL) +n=A.bb(new A.a0G(new A.b1(o,t.na),a)) +m=a.a +if(m==null)m="" +b.toBlob(n,m,p/100) +q=o +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$G1,r)}} +A.a0E.prototype={ +$1(a){this.a.cA(0,this.b)}, +$S:14} +A.a0F.prototype={ +$1(a){this.a.remove() +this.b.jk("Error while loading image.")}, +$S:14} +A.a0G.prototype={ +$1(a){var s=this.b +this.a.cA(0,A.Aa(self.URL.createObjectURL(a),new A.et(Date.now(),0,!1),a.size,s.a,"scaled_"+s.b))}, +$S:44} +A.a4B.prototype={ +a10(a,b,c,d,e,f){var s=t.N +return B.Hx.dv("pickImage",A.an(["source",f.a,"maxWidth",c,"maxHeight",b,"imageQuality",a,"cameraDevice",d.a,"requestFullMetadata",!0],s,t.z),!1,s)}, +jT(a,b){return this.Tn(a,b)}, +Tn(a,b){var s=0,r=A.z(t.ju),q,p=this,o +var $async$jT=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:s=3 +return A.B(p.a10(a.c,a.b,a.a,a.e,!0,b),$async$jT) +case 3:o=d +q=o!=null?A.Aa(o,null,null,null,null):null +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$jT,r)}} +A.a0q.prototype={} +A.EI.prototype={ +F(){return"CameraDevice."+this.b}} +A.GZ.prototype={} +A.a0o.prototype={ +Yo(a,b,c,d){}} +A.H_.prototype={ +F(){return"ImageSource."+this.b}} +A.vP.prototype={ +aL(a){var s,r,q=this.x,p=q.k(0,a) +if(p!=null)return p +s=this.oW(a) +r=this.b.$1(a).aL(s) +if(q.a>4)q.J(0) +q.n(0,a,r) +return r}, +oW(b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8=this,a9=b1.e,b0=a8.w +if(b0!=null){s=b0.$1(b1) +r=s.a +q=s.b +p=s.c +o=s.d +n=s.e +m=a8.e.$1(b1).oW(b1) +l=!0 +if(o!==B.bk)if(!(o===B.c9&&!b1.d)){b0=o===B.Rd&&b1.d +l=b0}k=l?r:q +j=l?q:r +i=b1.d?1:-1 +h=k.r.eP(0,a9) +g=j.r.eP(0,a9) +f=k.c.$1(b1) +e=A.n3(m,f)>=h?f:A.vQ(m,h) +d=j.c.$1(b1) +c=A.n3(m,d)>=g?d:A.vQ(m,g) +if(!((c-e)*i>=p)){a9=p*i +c=A.a4j(0,100,e+a9) +e=(c-e)*i>=p?e:A.a4j(0,100,c-a9)}b=60 +if(50<=e&&e<60){a9=p*i +if(i>0){c=Math.max(c,60+a9) +e=b}else{c=Math.min(c,49+a9) +e=49}}else if(50<=c&&c<60)if(n){a9=p*i +if(i>0){c=Math.max(c,60+a9) +e=b}else{c=Math.min(c,49+a9) +e=49}}else c=i>0?60:49 +return a8.a===k.a?e:c}else{a=a8.c.$1(b1) +b0=a8.e +if(b0==null)return a +m=b0.$1(b1).oW(b1) +a0=a8.r.eP(0,a9) +a=A.n3(m,a)>=a0?a:A.vQ(m,a0) +if(a8.d&&50<=a&&a<60)a=A.n3(49,m)>=a0?49:60 +a9=a8.f +if(a9!=null){a1=b0.$1(b1).oW(b1) +a2=a9.$1(b1).oW(b1) +a3=Math.max(a1,a2) +a4=Math.min(a1,a2) +if(A.n3(a3,a)>=a0&&A.n3(a4,a)>=a0)return a +a5=A.apW(a0,a3) +a6=A.apV(a0,a4) +a7=[] +if(a5!==-1)a7.push(a5) +if(a6!==-1)a7.push(a6) +if(B.c.a2(a1)<60||B.c.a2(a2)<60)return a5<0?100:a5 +if(a7.length===1)return a7[0] +return a6<0?0:a6}return a}}} +A.d7.prototype={} +A.a1P.prototype={ +$1(a){return a.x}, +$S:4} +A.a1Q.prototype={ +$1(a){return a.d?6:98}, +$S:3} +A.a27.prototype={ +$1(a){return a.x}, +$S:4} +A.a28.prototype={ +$1(a){return a.d?90:10}, +$S:3} +A.a26.prototype={ +$1(a){return $.aoT()}, +$S:5} +A.a3W.prototype={ +$1(a){return a.x}, +$S:4} +A.a3X.prototype={ +$1(a){return a.d?6:98}, +$S:3} +A.a3S.prototype={ +$1(a){return a.x}, +$S:4} +A.a3T.prototype={ +$1(a){return a.d?6:new A.eW(87,87,80,75).eP(0,a.e)}, +$S:3} +A.a3G.prototype={ +$1(a){return a.x}, +$S:4} +A.a3H.prototype={ +$1(a){return a.d?new A.eW(24,24,29,34).eP(0,a.e):98}, +$S:3} +A.a3O.prototype={ +$1(a){return a.x}, +$S:4} +A.a3P.prototype={ +$1(a){return a.d?new A.eW(4,4,2,0).eP(0,a.e):100}, +$S:3} +A.a3M.prototype={ +$1(a){return a.x}, +$S:4} +A.a3N.prototype={ +$1(a){var s=a.e +return a.d?new A.eW(10,10,11,12).eP(0,s):new A.eW(96,96,96,95).eP(0,s)}, +$S:3} +A.a3Q.prototype={ +$1(a){return a.x}, +$S:4} +A.a3R.prototype={ +$1(a){var s=a.e +return a.d?new A.eW(12,12,16,20).eP(0,s):new A.eW(94,94,92,90).eP(0,s)}, +$S:3} +A.a3I.prototype={ +$1(a){return a.x}, +$S:4} +A.a3J.prototype={ +$1(a){var s=a.e +return a.d?new A.eW(17,17,21,25).eP(0,s):new A.eW(92,92,88,85).eP(0,s)}, +$S:3} +A.a3K.prototype={ +$1(a){return a.x}, +$S:4} +A.a3L.prototype={ +$1(a){var s=a.e +return a.d?new A.eW(22,22,26,30).eP(0,s):new A.eW(90,90,84,80).eP(0,s)}, +$S:3} +A.a2L.prototype={ +$1(a){return a.x}, +$S:4} +A.a2M.prototype={ +$1(a){return a.d?90:10}, +$S:3} +A.a2K.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3U.prototype={ +$1(a){return a.y}, +$S:4} +A.a3V.prototype={ +$1(a){return a.d?30:90}, +$S:3} +A.a2I.prototype={ +$1(a){return a.y}, +$S:4} +A.a2J.prototype={ +$1(a){return a.d?80:30}, +$S:3} +A.a2H.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a24.prototype={ +$1(a){return a.x}, +$S:4} +A.a25.prototype={ +$1(a){return a.d?90:20}, +$S:3} +A.a2_.prototype={ +$1(a){return a.x}, +$S:4} +A.a20.prototype={ +$1(a){return a.d?20:95}, +$S:3} +A.a1Z.prototype={ +$1(a){return $.alj()}, +$S:5} +A.a34.prototype={ +$1(a){return a.y}, +$S:4} +A.a35.prototype={ +$1(a){return a.d?60:50}, +$S:3} +A.a33.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a31.prototype={ +$1(a){return a.y}, +$S:4} +A.a32.prototype={ +$1(a){return a.d?30:80}, +$S:3} +A.a30.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3E.prototype={ +$1(a){return a.x}, +$S:4} +A.a3F.prototype={ +$1(a){return 0}, +$S:3} +A.a3m.prototype={ +$1(a){return a.x}, +$S:4} +A.a3n.prototype={ +$1(a){return 0}, +$S:3} +A.a3j.prototype={ +$1(a){return a.f}, +$S:4} +A.a3k.prototype={ +$1(a){if(a.c===B.a_)return a.d?100:0 +return a.d?80:40}, +$S:3} +A.a3i.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3l.prototype={ +$1(a){return new A.dQ($.DH(),$.DG(),10,B.bk,!1)}, +$S:11} +A.a2r.prototype={ +$1(a){return a.f}, +$S:4} +A.a2s.prototype={ +$1(a){if(a.c===B.a_)return a.d?10:90 +return a.d?20:100}, +$S:3} +A.a2q.prototype={ +$1(a){return $.DG()}, +$S:5} +A.a37.prototype={ +$1(a){return a.f}, +$S:4} +A.a38.prototype={ +$1(a){var s=a.c +if(s===B.cb||s===B.ca){s=a.b.c +s===$&&A.a() +return s}if(s===B.a_)return a.d?85:25 +return a.d?30:90}, +$S:3} +A.a36.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a39.prototype={ +$1(a){return new A.dQ($.DH(),$.DG(),10,B.bk,!1)}, +$S:11} +A.a2g.prototype={ +$1(a){return a.f}, +$S:4} +A.a2h.prototype={ +$1(a){var s=a.c +if(s===B.cb||s===B.ca)return A.vQ($.DH().c.$1(a),4.5) +if(s===B.a_)return a.d?0:100 +return a.d?90:10}, +$S:3} +A.a2f.prototype={ +$1(a){return $.DH()}, +$S:5} +A.a22.prototype={ +$1(a){return a.f}, +$S:4} +A.a23.prototype={ +$1(a){return a.d?40:80}, +$S:3} +A.a21.prototype={ +$1(a){return $.alj()}, +$S:5} +A.a3B.prototype={ +$1(a){return a.r}, +$S:4} +A.a3C.prototype={ +$1(a){return a.d?80:40}, +$S:3} +A.a3A.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3D.prototype={ +$1(a){return new A.dQ($.DK(),$.Up(),10,B.bk,!1)}, +$S:11} +A.a2F.prototype={ +$1(a){return a.r}, +$S:4} +A.a2G.prototype={ +$1(a){if(a.c===B.a_)return a.d?10:100 +else return a.d?20:100}, +$S:3} +A.a2E.prototype={ +$1(a){return $.Up()}, +$S:5} +A.a3p.prototype={ +$1(a){return a.r}, +$S:4} +A.a3q.prototype={ +$1(a){var s=a.d,r=s?30:90,q=a.c +if(q===B.a_)return s?30:85 +if(!(q===B.cb||q===B.ca))return r +q=a.r +return A.aCH(q.a,q.b,r,!s)}, +$S:3} +A.a3o.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3r.prototype={ +$1(a){return new A.dQ($.DK(),$.Up(),10,B.bk,!1)}, +$S:11} +A.a2u.prototype={ +$1(a){return a.r}, +$S:4} +A.a2v.prototype={ +$1(a){var s=a.c +if(!(s===B.cb||s===B.ca))return a.d?90:10 +return A.vQ($.DK().c.$1(a),4.5)}, +$S:3} +A.a2t.prototype={ +$1(a){return $.DK()}, +$S:5} +A.a4a.prototype={ +$1(a){return a.w}, +$S:4} +A.a4b.prototype={ +$1(a){if(a.c===B.a_)return a.d?90:25 +return a.d?80:40}, +$S:3} +A.a49.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a4c.prototype={ +$1(a){return new A.dQ($.DN(),$.Uq(),10,B.bk,!1)}, +$S:11} +A.a2Z.prototype={ +$1(a){return a.w}, +$S:4} +A.a3_.prototype={ +$1(a){if(a.c===B.a_)return a.d?10:90 +return a.d?20:100}, +$S:3} +A.a2Y.prototype={ +$1(a){return $.Uq()}, +$S:5} +A.a3Z.prototype={ +$1(a){return a.w}, +$S:4} +A.a4_.prototype={ +$1(a){var s=a.c +if(s===B.a_)return a.d?60:49 +if(!(s===B.cb||s===B.ca))return a.d?30:90 +s=a.b.c +s===$&&A.a() +s=A.alZ(a.w.aL(s)).c +s===$&&A.a() +return s}, +$S:3} +A.a3Y.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a40.prototype={ +$1(a){return new A.dQ($.DN(),$.Uq(),10,B.bk,!1)}, +$S:11} +A.a2O.prototype={ +$1(a){return a.w}, +$S:4} +A.a2P.prototype={ +$1(a){var s=a.c +if(s===B.a_)return a.d?0:100 +if(!(s===B.cb||s===B.ca))return a.d?90:10 +return A.vQ($.DN().c.$1(a),4.5)}, +$S:3} +A.a2N.prototype={ +$1(a){return $.DN()}, +$S:5} +A.a1W.prototype={ +$1(a){return a.z}, +$S:4} +A.a1X.prototype={ +$1(a){return a.d?80:40}, +$S:3} +A.a1V.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a1Y.prototype={ +$1(a){return new A.dQ($.Uo(),$.Un(),10,B.bk,!1)}, +$S:11} +A.a2d.prototype={ +$1(a){return a.z}, +$S:4} +A.a2e.prototype={ +$1(a){return a.d?20:100}, +$S:3} +A.a2c.prototype={ +$1(a){return $.Un()}, +$S:5} +A.a1S.prototype={ +$1(a){return a.z}, +$S:4} +A.a1T.prototype={ +$1(a){return a.d?30:90}, +$S:3} +A.a1R.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a1U.prototype={ +$1(a){return new A.dQ($.Uo(),$.Un(),10,B.bk,!1)}, +$S:11} +A.a2a.prototype={ +$1(a){return a.z}, +$S:4} +A.a2b.prototype={ +$1(a){return a.d?90:10}, +$S:3} +A.a29.prototype={ +$1(a){return $.Uo()}, +$S:5} +A.a3f.prototype={ +$1(a){return a.f}, +$S:4} +A.a3g.prototype={ +$1(a){return a.c===B.a_?40:90}, +$S:3} +A.a3e.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3h.prototype={ +$1(a){return new A.dQ($.DI(),$.DJ(),10,B.c9,!0)}, +$S:11} +A.a3b.prototype={ +$1(a){return a.f}, +$S:4} +A.a3c.prototype={ +$1(a){return a.c===B.a_?30:80}, +$S:3} +A.a3a.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3d.prototype={ +$1(a){return new A.dQ($.DI(),$.DJ(),10,B.c9,!0)}, +$S:11} +A.a2n.prototype={ +$1(a){return a.f}, +$S:4} +A.a2p.prototype={ +$1(a){return a.c===B.a_?100:10}, +$S:3} +A.a2m.prototype={ +$1(a){return $.DJ()}, +$S:5} +A.a2o.prototype={ +$1(a){return $.DI()}, +$S:5} +A.a2j.prototype={ +$1(a){return a.f}, +$S:4} +A.a2l.prototype={ +$1(a){return a.c===B.a_?90:30}, +$S:3} +A.a2i.prototype={ +$1(a){return $.DJ()}, +$S:5} +A.a2k.prototype={ +$1(a){return $.DI()}, +$S:5} +A.a3x.prototype={ +$1(a){return a.r}, +$S:4} +A.a3y.prototype={ +$1(a){return a.c===B.a_?80:90}, +$S:3} +A.a3w.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3z.prototype={ +$1(a){return new A.dQ($.DL(),$.DM(),10,B.c9,!0)}, +$S:11} +A.a3t.prototype={ +$1(a){return a.r}, +$S:4} +A.a3u.prototype={ +$1(a){return a.c===B.a_?70:80}, +$S:3} +A.a3s.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a3v.prototype={ +$1(a){return new A.dQ($.DL(),$.DM(),10,B.c9,!0)}, +$S:11} +A.a2B.prototype={ +$1(a){return a.r}, +$S:4} +A.a2D.prototype={ +$1(a){return 10}, +$S:3} +A.a2A.prototype={ +$1(a){return $.DM()}, +$S:5} +A.a2C.prototype={ +$1(a){return $.DL()}, +$S:5} +A.a2x.prototype={ +$1(a){return a.r}, +$S:4} +A.a2z.prototype={ +$1(a){return a.c===B.a_?25:30}, +$S:3} +A.a2w.prototype={ +$1(a){return $.DM()}, +$S:5} +A.a2y.prototype={ +$1(a){return $.DL()}, +$S:5} +A.a46.prototype={ +$1(a){return a.w}, +$S:4} +A.a47.prototype={ +$1(a){return a.c===B.a_?40:90}, +$S:3} +A.a45.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a48.prototype={ +$1(a){return new A.dQ($.DO(),$.DP(),10,B.c9,!0)}, +$S:11} +A.a42.prototype={ +$1(a){return a.w}, +$S:4} +A.a43.prototype={ +$1(a){return a.c===B.a_?30:80}, +$S:3} +A.a41.prototype={ +$1(a){return a.d?$.dF():$.dG()}, +$S:5} +A.a44.prototype={ +$1(a){return new A.dQ($.DO(),$.DP(),10,B.c9,!0)}, +$S:11} +A.a2V.prototype={ +$1(a){return a.w}, +$S:4} +A.a2X.prototype={ +$1(a){return a.c===B.a_?100:10}, +$S:3} +A.a2U.prototype={ +$1(a){return $.DP()}, +$S:5} +A.a2W.prototype={ +$1(a){return $.DO()}, +$S:5} +A.a2R.prototype={ +$1(a){return a.w}, +$S:4} +A.a2T.prototype={ +$1(a){return a.c===B.a_?90:30}, +$S:3} +A.a2Q.prototype={ +$1(a){return $.DP()}, +$S:5} +A.a2S.prototype={ +$1(a){return $.DO()}, +$S:5} +A.eW.prototype={ +eP(a,b){var s,r=this +if(b<0.5)return A.amI(r.b,r.c,b/0.5) +else{s=r.d +if(b<1)return A.amI(r.c,s,(b-0.5)/0.5) +else return s}}} +A.zX.prototype={ +F(){return"TonePolarity."+this.b}} +A.dQ.prototype={} +A.i9.prototype={ +F(){return"Variant."+this.b}} +A.VN.prototype={} +A.f2.prototype={ +j(a,b){var s,r +if(b==null)return!1 +if(!(b instanceof A.f2))return!1 +s=b.d +s===$&&A.a() +r=this.d +r===$&&A.a() +return s===r}, +gt(a){var s=this.d +s===$&&A.a() +return B.f.gt(s)}, +i(a){var s,r,q=this.a +q===$&&A.a() +q=B.f.i(B.c.a2(q)) +s=this.b +s===$&&A.a() +s=B.c.a2(s) +r=this.c +r===$&&A.a() +return"H"+q+" C"+s+" T"+B.f.i(B.c.a2(r))}} +A.ach.prototype={} +A.oN.prototype={ +aL(a){var s=this.d +if(s.a9(0,a)){s=s.k(0,a) +s.toString +return A.f3(s)}else return A.f3(A.nv(this.a,this.b,a))}, +j(a,b){if(b==null)return!1 +if(b instanceof A.oN)return this.a===b.a&&this.b===b.b +return!1}, +gt(a){var s=A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a) +return s}, +i(a){return"TonalPalette.of("+A.h(this.a)+", "+A.h(this.b)+")"}} +A.JY.prototype={} +A.JZ.prototype={} +A.K_.prototype={} +A.K0.prototype={} +A.K1.prototype={} +A.K2.prototype={} +A.K3.prototype={} +A.K4.prototype={} +A.K5.prototype={} +A.aaS.prototype={ +a8A(a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=a.a,a1=a0.a +a1===$&&A.a() +s=B.c.a2(a1) +r=a.gmc()[s] +q=a.xW(r) +a1=t.DU +p=A.b([r],a1) +for(o=0,n=0;n<360;++n,q=l){m=B.f.bp(s+n,360) +l=a.xW(a.gmc()[m]) +o+=Math.abs(l-q)}k=o/a3 +q=a.xW(r) +for(j=1,i=0;p.length=g*k +e=1 +while(!0){if(!(f&&g=(g+e)*k;++e}++j +if(j>360){for(;p.length=a1?B.f.bp(b,a1):b])}for(a0=a2-c-1+1,n=1;n=a1?B.f.bp(b,a1):b])}return d}, +ga9w(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=d.f +if(c!=null)return c +c=B.b.gI(d.gju()).a +c===$&&A.a() +s=d.giW().k(0,B.b.gI(d.gju())) +s.toString +r=B.b.gT(d.gju()).a +r===$&&A.a() +q=d.giW().k(0,B.b.gT(d.gju())) +q.toString +p=q-s +q=d.a +o=q.a +o===$&&A.a() +n=A.asT(c,o,r) +if(n)m=r +else m=c +if(n)l=c +else l=r +k=d.gmc()[B.c.a2(q.a)] +j=1-d.gad3() +for(i=1000,h=0;h<=360;++h){g=B.c.bp(m+h,360) +if(g<0)g+=360 +if(!A.asT(m,g,l))continue +f=d.gmc()[B.c.a2(g)] +c=d.d.k(0,f) +c.toString +e=Math.abs(j-(c-s)/p) +if(e=0)return p +p=q.giW().k(0,B.b.gI(q.gju())) +p.toString +s=q.giW().k(0,B.b.gT(q.gju())) +s.toString +r=s-p +s=q.giW().k(0,q.a) +s.toString +return q.e=r===0?0.5:(s-p)/r}, +gju(){var s,r=this,q=r.b +if(q.length!==0)return q +s=A.hT(r.gmc(),!0,t.bq) +s.push(r.a) +B.b.er(s,new A.aaT(r.giW())) +return r.b=s}, +giW(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this,a5=a4.d +if(a5.a!==0)return a5 +a5=t.bq +s=A.hT(a4.gmc(),!0,a5) +s.push(a4.a) +a5=A.E(a5,t.i) +for(r=s.length,q=0;q>>16&255 +l=n>>>8&255 +k=n&255 +j=A.iK(A.b([A.c8(p),A.c8(l),A.c8(k)],r),$.hF) +i=A.VO(j[0],j[1],j[2],o) +m.a=i.a +m.b=i.b +m.c=116*A.l2(A.iK(A.b([A.c8(p),A.c8(l),A.c8(k)],r),$.hF)[1]/100)-16 +s.push(m)}return this.c=A.hT(s,!1,t.bq)}} +A.aaT.prototype={ +$2(a,b){var s=this.a,r=s.k(0,a) +r.toString +s=s.k(0,b) +s.toString +return B.c.b9(r,s)}, +$S:470} +A.bS.prototype={ +ae4(a,b){var s,r,q,p,o=this.b,n=o.length +if(b.length>>0}, +i(a){return"ShareResult(raw: "+this.a+", status: "+this.b.i(0)+")"}} +A.zf.prototype={ +F(){return"ShareResultStatus."+this.b}} +A.ro.prototype={ +yu(a){var s,r=t.kc.a(J.b5(this.a,a)) +r=r==null?null:J.pn(r,t.N) +s=r==null?null:r.dm(r) +return t.Xb.a(s)}, +BC(a,b,c){var s,r +A.kN(c,"value") +s=this.a +if(t.yp.b(c)){r=A.b(c.slice(0),A.a_(c)) +J.fW(s,b,r)}else J.fW(s,b,c) +return $.aln().lj(a,"flutter."+b,c)}} +A.a4G.prototype={ +A(a,b){return this.aff(0,b)}, +aff(a,b){var s=0,r=A.z(t.y),q,p +var $async$A=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:s=3 +return A.B(B.iF.dv("remove",A.an(["key",b],t.N,t.z),!1,t.y),$async$A) +case 3:p=d +p.toString +q=p +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$A,r)}, +lj(a,b,c){return this.Ue(a,b,c)}, +Ue(a,b,c){var s=0,r=A.z(t.y),q,p +var $async$lj=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:s=3 +return A.B(B.iF.dv("set"+a,A.an(["key",b,"value",c],t.N,t.z),!1,t.y),$async$lj) +case 3:p=e +p.toString +q=p +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$lj,r)}, +ld(a){var s=0,r=A.z(t.nf),q,p,o,n +var $async$ld=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:p=t.N +o=t.K +s=3 +return A.B(B.iF.QM("getAll",p,o),$async$ld) +case 3:n=c +q=n==null?A.E(p,o):n +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ld,r)}} +A.a9L.prototype={} +A.a6E.prototype={} +A.a_t.prototype={} +A.a9J.prototype={ +ld(a){var s=0,r=A.z(t.nf),q,p=this +var $async$ld=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:q=p.yl(new A.a_t(new A.a6E("flutter.",null))) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$ld,r)}, +yl(a){return this.T9(a)}, +T9(a){var s=0,r=A.z(t.nf),q,p=this,o,n,m,l,k,j +var $async$yl=A.A(function(b,c){if(b===1)return A.w(c,r) +while(true)switch(s){case 0:k=a.a +j=A.E(t.N,t.K) +for(o=p.a1c(k.a,k.b),n=J.al(o.a),o=new A.mb(n,o.b);o.q();){m=n.gG(n) +l=self.window.localStorage.getItem(m) +l.toString +j.n(0,m,A.aHh(l))}q=j +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$yl,r)}, +A(a,b){return this.afg(0,b)}, +afg(a,b){var s=0,r=A.z(t.y),q +var $async$A=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:self.window.localStorage.removeItem(b) +q=!0 +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$A,r)}, +lj(a,b,c){return this.Uf(a,b,c)}, +Uf(a,b,c){var s=0,r=A.z(t.y),q +var $async$lj=A.A(function(d,e){if(d===1)return A.w(e,r) +while(true)switch(s){case 0:self.window.localStorage.setItem(b,B.aQ.DE(c)) +q=!0 +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$lj,r)}, +a1c(a,b){var s=A.aHF(b) +return new A.aF(s,new A.a9K(a),s.$ti.h("aF"))}} +A.a9K.prototype={ +$1(a){return B.d.bW(a,this.a)}, +$S:29} +A.ajW.prototype={ +$1(a){return!0}, +$S:29} +A.WZ.prototype={ +$0(){var s=this.a,r=this.b +s.b=s.c.mj(r.ghE(r),new A.X_(this.c),r.gvJ())}, +$S:0} +A.X_.prototype={ +$0(){return this.a.aP().$0()}, +$S:0} +A.X0.prototype={ +$0(){this.a.d=!0 +this.b.aM(0)}, +$S:0} +A.X1.prototype={ +$0(){var s=this,r=s.a +r.e=!0 +r.c=r.a +s.b.b=s.c +s.d.$0()}, +$S:0} +A.WY.prototype={ +$0(){var s,r,q=this,p=q.b +p.$0() +if(!q.c.giI()){s=q.d +r=q.a +s.sFf(0,new A.WV(r)) +s.sFi(0,new A.WW(r,p))}q.d.sF_(0,new A.WX(q.a))}, +$S:0} +A.WV.prototype={ +$0(){var s=this.a,r=s.e +if(!r)return s.b.l1(0) +s.b.aA(0) +s.b=null}, +$S:0} +A.WW.prototype={ +$0(){var s=this.a,r=s.e +if(!r)return s.b.iU(0) +this.b.$0()}, +$S:0} +A.WX.prototype={ +$0(){var s,r=this.a +if(r.d)return null +s=r.b +s.toString +r.b=null +return s.aA(0)}, +$S:172} +A.abO.prototype={ +$0(){var s,r,q,p=this,o={} +o.a=!1 +s=p.b +r=p.d +q=p.a +q.a=s.mj(new A.abK(p.c,r,p.r),new A.abL(o,p.f,r),new A.abM(p.e,r)) +if(!s.giI()){s=q.a +r.sFf(0,s.gRy(s)) +s=q.a +r.sFi(0,s.gSo(s))}r.sF_(0,new A.abN(q,o))}, +$S:0} +A.abK.prototype={ +$1(a){return this.a.$2(a,this.b)}, +$S(){return this.c.h("~(0)")}} +A.abM.prototype={ +$2(a,b){this.a.$3(a,b,this.b)}, +$S:38} +A.abL.prototype={ +$0(){this.a.a=!0 +this.b.$1(this.c)}, +$S:0} +A.abN.prototype={ +$0(){var s=this.a,r=s.a +s.a=null +if(!this.b.a)return r.aA(0) +return null}, +$S:172} +A.ack.prototype={ +$2(a,b){if(this.a.b(a))b.D(0,a)}, +$S(){return this.b.h("@<0>").bg(this.a).h("~(1,fw<2>)")}} +A.a1v.prototype={ +F(){return"LaunchMode."+this.b}} +A.aci.prototype={} +A.Vv.prototype={} +A.a4H.prototype={ +rL(a,b,c,d,e,f,g,h){var s=t.y +return B.HC.dv("launch",A.an(["url",a,"useSafariVC",f,"useWebView",g,"enableJavaScript",!0,"enableDomStorage",!0,"universalLinksOnly",e,"headers",d],t.N,t.K),!1,s).b_(0,new A.a4I(),s)}} +A.a4I.prototype={ +$1(a){return a===!0}, +$S:473} +A.od.prototype={ +F(){return"PreferredLaunchMode."+this.b}} +A.H2.prototype={} +A.Hh.prototype={} +A.ac4.prototype={ +rL(a,b,c,d,e,f,g,h){throw A.c(A.cc("launch() has not been implemented."))}, +rM(a,b){var s,r=B.d.bW(a,"http:")||B.d.bW(a,"https:"),q=b.a,p=!0 +if(q!==B.vR)if(q!==B.vS){s=r&&q===B.iT +p=s}return this.rL(a,!0,!0,b.b.c,q===B.vT,p,p,b.d)}} +A.ac5.prototype={ +aeD(a,b){var s,r=A.aFo(a),q=r==null?null:r.gmN() +if(B.Ke.p(0,q))return!1 +s=this.b&&B.Ks.p(0,q)?"_top":"" +this.a.open(a,s,"noopener,noreferrer") +return!0}, +rL(a,b,c,d,e,f,g,h){return this.adK(a,!0,!0,d,e,f,g,h)}, +adK(a,b,c,d,e,f,g,h){var s=0,r=A.z(t.y),q,p=this +var $async$rL=A.A(function(i,j){if(i===1)return A.w(j,r) +while(true)switch(s){case 0:q=p.rM(a,new A.Hh(B.iT,B.CJ,h)) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$rL,r)}, +rM(a,b){return this.adL(a,b)}, +adL(a,b){var s=0,r=A.z(t.y),q,p=this +var $async$rM=A.A(function(c,d){if(c===1)return A.w(d,r) +while(true)switch(s){case 0:q=p.aeD(a,b.d) +s=1 +break +case 1:return A.x(q,r)}}) +return A.y($async$rM,r)}} +A.a6M.prototype={ +T7(){var s=this.a0H() +if(s.length!==16)throw A.c(A.c2("The length of the Uint8list returned by the custom RNG must be 16.")) +else return s}} +A.X7.prototype={ +a0H(){var s,r,q=new Uint8Array(16) +for(s=0;s<16;s+=4){r=$.aw9().aek(B.c.P(Math.pow(2,32))) +q[s]=r +q[s+1]=B.f.dw(r,8) +q[s+2]=B.f.dw(r,16) +q[s+3]=B.f.dw(r,24)}return q}} +A.bj.prototype={ +bc(a){var s=a.a,r=this.a +r[15]=s[15] +r[14]=s[14] +r[13]=s[13] +r[12]=s[12] +r[11]=s[11] +r[10]=s[10] +r[9]=s[9] +r[8]=s[8] +r[7]=s[7] +r[6]=s[6] +r[5]=s[5] +r[4]=s[4] +r[3]=s[3] +r[2]=s[2] +r[1]=s[1] +r[0]=s[0]}, +i(a){var s=this +return"[0] "+s.tR(0).i(0)+"\n[1] "+s.tR(1).i(0)+"\n[2] "+s.tR(2).i(0)+"\n[3] "+s.tR(3).i(0)+"\n"}, +k(a,b){return this.a[b]}, +j(a,b){var s,r,q +if(b==null)return!1 +if(b instanceof A.bj){s=this.a +r=s[0] +q=b.a +s=r===q[0]&&s[1]===q[1]&&s[2]===q[2]&&s[3]===q[3]&&s[4]===q[4]&&s[5]===q[5]&&s[6]===q[6]&&s[7]===q[7]&&s[8]===q[8]&&s[9]===q[9]&&s[10]===q[10]&&s[11]===q[11]&&s[12]===q[12]&&s[13]===q[13]&&s[14]===q[14]&&s[15]===q[15]}else s=!1 +return s}, +gt(a){return A.bO(this.a)}, +yL(a,b){var s=b.a,r=this.a +r[a]=s[0] +r[4+a]=s[1] +r[8+a]=s[2] +r[12+a]=s[3]}, +tR(a){var s=new Float64Array(4),r=this.a +s[0]=r[a] +s[1]=r[4+a] +s[2]=r[8+a] +s[3]=r[12+a] +return new A.j5(s)}, +ac(a,b){var s=new A.bj(new Float64Array(16)) +s.bc(this) +s.jV(0,b,null,null) +return s}, +a4(a,b){var s,r=new Float64Array(16),q=new A.bj(r) +q.bc(this) +s=b.a +r[0]=r[0]+s[0] +r[1]=r[1]+s[1] +r[2]=r[2]+s[2] +r[3]=r[3]+s[3] +r[4]=r[4]+s[4] +r[5]=r[5]+s[5] +r[6]=r[6]+s[6] +r[7]=r[7]+s[7] +r[8]=r[8]+s[8] +r[9]=r[9]+s[9] +r[10]=r[10]+s[10] +r[11]=r[11]+s[11] +r[12]=r[12]+s[12] +r[13]=r[13]+s[13] +r[14]=r[14]+s[14] +r[15]=r[15]+s[15] +return q}, +ad(a,b){var s,r=new Float64Array(16),q=new A.bj(r) +q.bc(this) +s=b.a +r[0]=r[0]-s[0] +r[1]=r[1]-s[1] +r[2]=r[2]-s[2] +r[3]=r[3]-s[3] +r[4]=r[4]-s[4] +r[5]=r[5]-s[5] +r[6]=r[6]-s[6] +r[7]=r[7]-s[7] +r[8]=r[8]-s[8] +r[9]=r[9]-s[9] +r[10]=r[10]-s[10] +r[11]=r[11]-s[11] +r[12]=r[12]-s[12] +r[13]=r[13]-s[13] +r[14]=r[14]-s[14] +r[15]=r[15]-s[15] +return q}, +au(a,b,a0){var s=this.a,r=s[0],q=s[4],p=s[8],o=s[12],n=s[1],m=s[5],l=s[9],k=s[13],j=s[2],i=s[6],h=s[10],g=s[14],f=s[3],e=s[7],d=s[11],c=s[15] +s[12]=r*b+q*a0+p*0+o +s[13]=n*b+m*a0+l*0+k +s[14]=j*b+i*a0+h*0+g +s[15]=f*b+e*a0+d*0+c}, +jV(a,b,c,d){var s=c==null?b:c,r=d==null?b:d,q=this.a +q[0]=q[0]*b +q[1]=q[1]*b +q[2]=q[2]*b +q[3]=q[3]*b +q[4]=q[4]*s +q[5]=q[5]*s +q[6]=q[6]*s +q[7]=q[7]*s +q[8]=q[8]*r +q[9]=q[9]*r +q[10]=q[10]*r +q[11]=q[11]*r +q[12]=q[12] +q[13]=q[13] +q[14]=q[14] +q[15]=q[15]}, +eq(a,b,c){return this.jV(0,b,c,null)}, +u4(){var s=this.a +s[0]=0 +s[1]=0 +s[2]=0 +s[3]=0 +s[4]=0 +s[5]=0 +s[6]=0 +s[7]=0 +s[8]=0 +s[9]=0 +s[10]=0 +s[11]=0 +s[12]=0 +s[13]=0 +s[14]=0 +s[15]=0}, +dH(){var s=this.a +s[0]=1 +s[1]=0 +s[2]=0 +s[3]=0 +s[4]=0 +s[5]=1 +s[6]=0 +s[7]=0 +s[8]=0 +s[9]=0 +s[10]=1 +s[11]=0 +s[12]=0 +s[13]=0 +s[14]=0 +s[15]=1}, +dB(b5){var s,r,q,p,o=b5.a,n=o[0],m=o[1],l=o[2],k=o[3],j=o[4],i=o[5],h=o[6],g=o[7],f=o[8],e=o[9],d=o[10],c=o[11],b=o[12],a=o[13],a0=o[14],a1=o[15],a2=n*i-m*j,a3=n*h-l*j,a4=n*g-k*j,a5=m*h-l*i,a6=m*g-k*i,a7=l*g-k*h,a8=f*a-e*b,a9=f*a0-d*b,b0=f*a1-c*b,b1=e*a0-d*a,b2=e*a1-c*a,b3=d*a1-c*a0,b4=a2*b3-a3*b2+a4*b1+a5*b0-a6*a9+a7*a8 +if(b4===0){this.bc(b5) +return 0}s=1/b4 +r=this.a +r[0]=(i*b3-h*b2+g*b1)*s +r[1]=(-m*b3+l*b2-k*b1)*s +r[2]=(a*a7-a0*a6+a1*a5)*s +r[3]=(-e*a7+d*a6-c*a5)*s +q=-j +r[4]=(q*b3+h*b0-g*a9)*s +r[5]=(n*b3-l*b0+k*a9)*s +p=-b +r[6]=(p*a7+a0*a4-a1*a3)*s +r[7]=(f*a7-d*a4+c*a3)*s +r[8]=(j*b2-i*b0+g*a8)*s +r[9]=(-n*b2+m*b0-k*a8)*s +r[10]=(b*a6-a*a4+a1*a2)*s +r[11]=(-f*a6+e*a4-c*a2)*s +r[12]=(q*b1+i*a9-h*a8)*s +r[13]=(n*b1-m*a9+l*a8)*s +r[14]=(p*a5+a*a3-a0*a2)*s +r[15]=(f*a5-e*a3+d*a2)*s +return b4}, +cs(b5,b6){var s=this.a,r=s[0],q=s[4],p=s[8],o=s[12],n=s[1],m=s[5],l=s[9],k=s[13],j=s[2],i=s[6],h=s[10],g=s[14],f=s[3],e=s[7],d=s[11],c=s[15],b=b6.a,a=b[0],a0=b[4],a1=b[8],a2=b[12],a3=b[1],a4=b[5],a5=b[9],a6=b[13],a7=b[2],a8=b[6],a9=b[10],b0=b[14],b1=b[3],b2=b[7],b3=b[11],b4=b[15] +s[0]=r*a+q*a3+p*a7+o*b1 +s[4]=r*a0+q*a4+p*a8+o*b2 +s[8]=r*a1+q*a5+p*a9+o*b3 +s[12]=r*a2+q*a6+p*b0+o*b4 +s[1]=n*a+m*a3+l*a7+k*b1 +s[5]=n*a0+m*a4+l*a8+k*b2 +s[9]=n*a1+m*a5+l*a9+k*b3 +s[13]=n*a2+m*a6+l*b0+k*b4 +s[2]=j*a+i*a3+h*a7+g*b1 +s[6]=j*a0+i*a4+h*a8+g*b2 +s[10]=j*a1+i*a5+h*a9+g*b3 +s[14]=j*a2+i*a6+h*b0+g*b4 +s[3]=f*a+e*a3+d*a7+c*b1 +s[7]=f*a0+e*a4+d*a8+c*b2 +s[11]=f*a1+e*a5+d*a9+c*b3 +s[15]=f*a2+e*a6+d*b0+c*b4}, +rZ(a){var s=new A.bj(new Float64Array(16)) +s.bc(this) +s.cs(0,a) +return s}, +afV(a){var s=a.a,r=this.a,q=r[0],p=s[0],o=r[4],n=s[1],m=r[8],l=s[2],k=r[12],j=r[1],i=r[5],h=r[9],g=r[13],f=r[2],e=r[6],d=r[10] +r=r[14] +s[0]=q*p+o*n+m*l+k +s[1]=j*p+i*n+h*l+g +s[2]=f*p+e*n+d*l+r +return a}, +xI(a){var s=a.a,r=this.a,q=r[0],p=s[0],o=r[4],n=s[1],m=r[8],l=s[2],k=r[12],j=r[1],i=r[5],h=r[9],g=r[13],f=r[2],e=r[6],d=r[10],c=r[14],b=1/(r[3]*p+r[7]*n+r[11]*l+r[15]) +s[0]=(q*p+o*n+m*l+k)*b +s[1]=(j*p+i*n+h*l+g)*b +s[2]=(f*p+e*n+d*l+c)*b +return a}, +QZ(){var s=this.a +return s[0]===0&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===0&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===0&&s[11]===0&&s[12]===0&&s[13]===0&&s[14]===0&&s[15]===0}} +A.fS.prototype={ +mQ(a,b,c){var s=this.a +s[0]=a +s[1]=b +s[2]=c}, +bc(a){var s=a.a,r=this.a +r[0]=s[0] +r[1]=s[1] +r[2]=s[2]}, +i(a){var s=this.a +return"["+A.h(s[0])+","+A.h(s[1])+","+A.h(s[2])+"]"}, +j(a,b){var s,r,q +if(b==null)return!1 +if(b instanceof A.fS){s=this.a +r=s[0] +q=b.a +s=r===q[0]&&s[1]===q[1]&&s[2]===q[2]}else s=!1 +return s}, +gt(a){return A.bO(this.a)}, +ad(a,b){var s,r=new Float64Array(3),q=new A.fS(r) +q.bc(this) +s=b.a +r[0]=r[0]-s[0] +r[1]=r[1]-s[1] +r[2]=r[2]-s[2] +return q}, +a4(a,b){var s,r=new Float64Array(3),q=new A.fS(r) +q.bc(this) +s=b.a +r[0]=r[0]+s[0] +r[1]=r[1]+s[1] +r[2]=r[2]+s[2] +return q}, +ac(a,b){var s=new Float64Array(3),r=new A.fS(s) +r.bc(this) +s[2]=s[2]*b +s[1]=s[1]*b +s[0]=s[0]*b +return r}, +k(a,b){return this.a[b]}, +gu(a){var s=this.a,r=s[0],q=s[1] +s=s[2] +return Math.sqrt(r*r+q*q+s*s)}, +Py(a){var s=a.a,r=this.a +return r[0]*s[0]+r[1]*s[1]+r[2]*s[2]}, +TO(a){var s=new Float64Array(3),r=new A.fS(s) +r.bc(this) +s[2]=s[2]*a +s[1]=s[1]*a +s[0]=s[0]*a +return r}} +A.j5.prototype={ +yM(a,b,c,d){var s=this.a +s[3]=d +s[2]=c +s[1]=b +s[0]=a}, +bc(a){var s=a.a,r=this.a +r[3]=s[3] +r[2]=s[2] +r[1]=s[1] +r[0]=s[0]}, +i(a){var s=this.a +return A.h(s[0])+","+A.h(s[1])+","+A.h(s[2])+","+A.h(s[3])}, +j(a,b){var s,r,q +if(b==null)return!1 +if(b instanceof A.j5){s=this.a +r=s[0] +q=b.a +s=r===q[0]&&s[1]===q[1]&&s[2]===q[2]&&s[3]===q[3]}else s=!1 +return s}, +gt(a){return A.bO(this.a)}, +ad(a,b){var s,r=new Float64Array(4),q=new A.j5(r) +q.bc(this) +s=b.a +r[0]=r[0]-s[0] +r[1]=r[1]-s[1] +r[2]=r[2]-s[2] +r[3]=r[3]-s[3] +return q}, +a4(a,b){var s,r=new Float64Array(4),q=new A.j5(r) +q.bc(this) +s=b.a +r[0]=r[0]+s[0] +r[1]=r[1]+s[1] +r[2]=r[2]+s[2] +r[3]=r[3]+s[3] +return q}, +ac(a,b){var s=new Float64Array(4),r=new A.j5(s) +r.bc(this) +s[0]=s[0]*b +s[1]=s[1]*b +s[2]=s[2]*b +s[3]=s[3]*b +return r}, +k(a,b){return this.a[b]}, +gu(a){var s=this.a,r=s[0],q=s[1],p=s[2] +s=s[3] +return Math.sqrt(r*r+q*q+p*p+s*s)}} +A.w2.prototype={} +A.mi.prototype={ +giI(){return!0}, +i_(a,b,c,d){return A.oY(this.a,this.b,a,!1,A.o(this).c)}, +mj(a,b,c){return this.i_(a,null,b,c)}} +A.NA.prototype={} +A.AK.prototype={ +aA(a){var s=this,r=A.cm(null,t.H) +if(s.b==null)return r +s.BT() +s.d=s.b=null +return r}, +xt(a){var s,r=this +if(r.b==null)throw A.c(A.R("Subscription has been canceled.")) +r.BT() +s=A.av1(new A.aeE(a),t.m) +s=s==null?null:A.bb(s) +r.d=s +r.BS()}, +iO(a,b){if(this.b==null)return;++this.a +this.BT()}, +l1(a){return this.iO(0,null)}, +iU(a){var s=this +if(s.b==null||s.a<=0)return;--s.a +s.BS()}, +BS(){var s=this,r=s.d +if(r!=null&&s.a<=0)s.b.addEventListener(s.c,r,!1)}, +BT(){var s=this.d +if(s!=null)this.b.removeEventListener(this.c,s,!1)}, +$ii6:1} +A.aeD.prototype={ +$1(a){return this.a.$1(a)}, +$S:14} +A.aeE.prototype={ +$1(a){return this.a.$1(a)}, +$S:14} +A.al_.prototype={ +$0(){return A.aov()}, +$S:0} +A.akZ.prototype={ +$0(){var s,r,q=$.ayR(),p=self,o=p.window,n=t.S,m=A.hq(!1,t.OY),l=t.rK,k=p.window,j=$.aoL() +k=new A.VY(new A.W7(o,new A.a16()),A.E(n,t.Vr),A.E(t.F6,t.Ly),m,A.E(n,l),A.E(n,l),A.E(n,l),A.E(n,l),k) +l=$.up() +l.n(0,k,j) +A.y1(k,j,!0) +$.azT=k +k=$.aoR() +j=new A.Zv(new A.Xk()) +l.n(0,j,k) +A.y1(j,k,!1) +$.aBD=j +j=$.aoS() +k=new A.a0r() +l.n(0,k,j) +k.c=new A.a0D() +s=p.document.querySelector("#__image_picker_web-file-input") +if(s==null){r=p.document.createElement("flt-image-picker-inputs") +r.id="__image_picker_web-file-input" +p.document.body.append(r) +s=r}k.b=s +A.y1(k,j,!0) +$.aC9=k +A.at9() +p=p.window +p=p.navigator +o=$.aoX() +p=new A.a9G(p) +l.n(0,p,o) +A.y1(p,o,!1) +$.aEy=p +p=$.aoY() +o=new A.a9J() +l.n(0,o,p) +A.y1(o,p,!0) +$.aEz=o +p=A.at9() +A.y1(p,$.alo(),!0) +$.aFp=p +$.apk() +$.DQ().xV("__url_launcher::link",A.aK1(),!1) +$.avR=q.gabQ()}, +$S:0};(function aliases(){var s=A.R6.prototype +s.Xp=s.J +s.Xv=s.c8 +s.Xt=s.bH +s.Xy=s.au +s.Xw=s.eq +s.Xu=s.l9 +s.Xx=s.a8 +s.Xs=s.kv +s.Xr=s.lN +s.Xq=s.hJ +s=A.pS.prototype +s.UZ=s.iP +s=A.AA.prototype +s.HI=s.bh +s=A.d3.prototype +s.VI=s.y4 +s.VH=s.vY +s.Hj=s.bt +s.z8=s.qg +s.z9=s.b2 +s.Hm=s.l7 +s.Hk=s.iw +s.Hl=s.tb +s=A.dz.prototype +s.VG=s.hq +s.lm=s.b2 +s.ud=s.iw +s=A.J5.prototype +s.hz=s.de +s.pb=s.l +s=A.vu.prototype +s.z1=s.oj +s.V5=s.FV +s.V3=s.fz +s.V4=s.DC +s=A.FI.prototype +s.GY=s.aM +s=A.jw.prototype +s.Va=s.l +s=J.qu.prototype +s.Vl=s.i +s=J.fB.prototype +s.Vq=s.i +s=A.hu.prototype +s.WQ=s.lo +s.WS=s.D +s.WT=s.aM +s.WR=s.pm +s=A.hv.prototype +s.WU=s.ig +s.WV=s.j7 +s=A.kk.prototype +s.WW=s.nc +s.WX=s.JE +s.WZ=s.Me +s.WY=s.im +s=A.X.prototype +s.H7=s.bz +s=A.vj.prototype +s.V2=s.abE +s=A.CA.prototype +s.XK=s.aM +s=A.j.prototype +s.H5=s.jQ +s=A.J.prototype +s.Vy=s.j +s.bA=s.i +s=A.C.prototype +s.UV=s.j +s.UW=s.i +s=A.dJ.prototype +s.p7=s.j +s=A.ct.prototype +s.yX=s.yc +s=A.kM.prototype +s.GR=s.H +s.GS=s.c7 +s=A.xO.prototype +s.VF=s.a8 +s=A.uy.prototype +s.yY=s.l +s=A.Er.prototype +s.UN=s.eF +s.UO=s.me +s.UP=s.FS +s=A.fr.prototype +s.agu=s.Y +s.UU=s.H +s.dt=s.l +s.GU=s.ae +s=A.ad.prototype +s.V6=s.cg +s=A.hI.prototype +s.V7=s.cg +s=A.wq.prototype +s.Ve=s.wY +s.Vd=s.aaJ +s=A.fu.prototype +s.GZ=s.f0 +s=A.cJ.prototype +s.Vf=s.Cj +s.p9=s.f0 +s.H3=s.l +s=A.ce.prototype +s.z7=s.hF +s.VA=s.oe +s.Hh=s.X +s.pa=s.l +s.VB=s.u7 +s.Hi=s.fT +s=A.qV.prototype +s.VJ=s.hF +s.Hn=s.fp +s.VK=s.f8 +s=A.fa.prototype +s.WH=s.f0 +s=A.D6.prototype +s.XY=s.l +s=A.Dd.prototype +s.Y4=s.an +s.Y3=s.cQ +s=A.jE.prototype +s.k5=s.l +s=A.Dj.prototype +s.Yg=s.l +s=A.Dk.prototype +s.Yh=s.l +s=A.D8.prototype +s.XZ=s.l +s=A.u0.prototype +s.Y5=s.l +s=A.u1.prototype +s.Y6=s.l +s=A.C5.prototype +s.Xz=s.l +s=A.C6.prototype +s.XA=s.l +s=A.C7.prototype +s.XC=s.aG +s.XB=s.bi +s.XD=s.l +s=A.Db.prototype +s.Y1=s.l +s=A.CK.prototype +s.XM=s.l +s=A.uL.prototype +s.UR=s.yW +s.UQ=s.D +s=A.bT.prototype +s.HC=s.cH +s.HD=s.cI +s=A.da.prototype +s.n1=s.cH +s.n2=s.cI +s=A.hH.prototype +s.GW=s.cH +s.GX=s.cI +s=A.Ex.prototype +s.UT=s.l +s=A.cS.prototype +s.H_=s.D +s=A.Mq.prototype +s.HH=s.l +s=A.nD.prototype +s.Vh=s.Y +s.Vi=s.H +s.Vg=s.v3 +s=A.jF.prototype +s.Vk=s.j +s=A.zs.prototype +s.WG=s.dr +s=A.yE.prototype +s.W8=s.E8 +s.Wa=s.Ef +s.W9=s.Ea +s.W7=s.Dz +s=A.aq.prototype +s.US=s.j +s=A.ep.prototype +s.z_=s.i +s=A.H.prototype +s.Hs=s.h8 +s.n3=s.a6 +s.VT=s.oz +s.j6=s.c5 +s=A.BN.prototype +s.X9=s.aj +s.Xa=s.aa +s=A.oi.prototype +s.VV=s.be +s=A.BO.prototype +s.Xb=s.l +s=A.Hi.prototype +s.Vm=s.px +s.H6=s.l +s.Vp=s.yg +s.Vn=s.aj +s.Vo=s.aa +s=A.Fg.prototype +s.p8=s.fE +s=A.iP.prototype +s.Vz=s.fE +s=A.ca.prototype +s.uc=s.aa +s=A.G.prototype +s.fj=s.l +s.Ht=s.kq +s.eu=s.aj +s.e5=s.aa +s.VY=s.a6 +s.Hv=s.bV +s.VW=s.cP +s.VZ=s.tX +s.fi=s.dR +s.za=s.lM +s.n4=s.fN +s.Hu=s.qp +s.VX=s.iD +s.W_=s.cg +s.ue=s.ff +s=A.aE.prototype +s.Hy=s.f7 +s=A.ac.prototype +s.z0=s.Eu +s.V1=s.A +s.V_=s.xp +s.V0=s.f7 +s.GV=s.bo +s=A.yf.prototype +s.VS=s.Yi +s=A.eM.prototype +s.X0=s.vP +s=A.BT.prototype +s.Xc=s.aj +s.Xd=s.aa +s=A.CE.prototype +s.XL=s.aa +s=A.f9.prototype +s.zc=s.aU +s.zb=s.aT +s.Hz=s.d6 +s.W2=s.bQ +s.uh=s.be +s.ug=s.cW +s.fV=s.aE +s=A.yy.prototype +s.W3=s.c5 +s=A.oh.prototype +s.VU=s.be +s=A.BV.prototype +s.pf=s.aj +s.n5=s.aa +s=A.BW.prototype +s.Xe=s.h8 +s=A.r5.prototype +s.W5=s.aU +s.W4=s.aT +s=A.BX.prototype +s.Xf=s.aj +s.Xg=s.aa +s=A.zo.prototype +s.WF=s.i +s=A.BZ.prototype +s.Xh=s.aj +s.Xi=s.aa +s=A.yA.prototype +s.HA=s.be +s=A.oj.prototype +s.W6=s.Fs +s=A.ja.prototype +s.Xk=s.aj +s.Xl=s.aa +s=A.fd.prototype +s.WO=s.rY +s.WN=s.cB +s=A.iX.prototype +s.Wp=s.E0 +s=A.rJ.prototype +s.HE=s.l +s=A.Ef.prototype +s.GT=s.mk +s=A.zd.prototype +s.WC=s.rq +s.WD=s.kQ +s.WE=s.Eh +s=A.dy.prototype +s.Vr=s.dv +s=A.bp.prototype +s.UJ=s.ex +s.UL=s.jA +s.UK=s.Ci +s.UM=s.xX +s=A.mR.prototype +s.yZ=s.K +s=A.wg.prototype +s.Vb=s.aC +s=A.e4.prototype +s.WP=s.qR +s=A.C1.prototype +s.HJ=s.f3 +s=A.CX.prototype +s.XN=s.eF +s.XO=s.FS +s=A.CY.prototype +s.XP=s.eF +s.XQ=s.me +s=A.CZ.prototype +s.XR=s.eF +s.XS=s.me +s=A.D_.prototype +s.XU=s.eF +s.XT=s.rq +s=A.D0.prototype +s.XV=s.eF +s=A.D1.prototype +s.XW=s.eF +s.XX=s.me +s=A.D9.prototype +s.Y_=s.l +s=A.Da.prototype +s.Y0=s.an +s=A.Gt.prototype +s.n0=s.adk +s.Vc=s.CJ +s=A.ag.prototype +s.aJ=s.an +s.b0=s.aG +s.pe=s.cQ +s.dL=s.bI +s.aB=s.l +s.d_=s.bi +s=A.b2.prototype +s.V8=s.d1 +s.z4=s.f3 +s.n_=s.b2 +s.V9=s.tC +s.H2=s.x_ +s.k0=s.iC +s.z2=s.bI +s.H0=s.cQ +s.z5=s.mx +s.z3=s.nP +s.H1=s.bi +s.ll=s.i3 +s=A.vf.prototype +s.UX=s.Ak +s.UY=s.i3 +s=A.y9.prototype +s.VL=s.bt +s.VM=s.b2 +s.VN=s.G_ +s=A.f4.prototype +s.H4=s.ou +s=A.bx.prototype +s.uf=s.f3 +s.pc=s.b2 +s.Hx=s.i3 +s.Hw=s.cQ +s.W0=s.mx +s.W1=s.tC +s=A.fH.prototype +s.H8=s.jx +s.H9=s.jG +s.Vt=s.l5 +s.Vs=s.f3 +s.Vu=s.b2 +s=A.qq.prototype +s.Vj=s.an +s=A.tp.prototype +s.X_=s.l +s=A.cp.prototype +s.Wm=s.mf +s.Wj=s.Dl +s.We=s.Dg +s.Wk=s.aaF +s.Wo=s.ht +s.Wn=s.t2 +s.Wh=s.lZ +s.Wi=s.qT +s.Wf=s.Di +s.Wg=s.aaB +s.Wd=s.iv +s.HB=s.a9b +s.Wl=s.l +s=A.QW.prototype +s.Xo=s.w7 +s=A.Br.prototype +s.X2=s.bI +s.X3=s.l +s=A.Bs.prototype +s.X5=s.aG +s.X4=s.bi +s.X6=s.l +s=A.I6.prototype +s.z6=s.cB +s=A.p4.prototype +s.Xj=s.aE +s=A.Dg.prototype +s.Y9=s.aj +s.Ya=s.aa +s=A.Bw.prototype +s.X7=s.cB +s=A.Dc.prototype +s.Y2=s.l +s=A.Di.prototype +s.Yf=s.l +s=A.iV.prototype +s.Wc=s.Dp +s=A.bJ.prototype +s.Wb=s.sm +s=A.ih.prototype +s.Xm=s.od +s.Xn=s.oL +s=A.u2.prototype +s.Yc=s.aG +s.Yb=s.bi +s.Yd=s.l +s=A.qM.prototype +s.VE=s.mf +s.VC=s.lZ +s.VD=s.l +s=A.dR.prototype +s.WI=s.D0 +s.HG=s.mf +s.WL=s.Dl +s.WJ=s.Dg +s.WK=s.lZ +s.HF=s.qT +s.ze=s.Di +s.WM=s.l +s=A.p1.prototype +s.X1=s.ht +s=A.K6.prototype +s.ui=s.l +s=A.rh.prototype +s.Wq=s.aj +s=A.eC.prototype +s.pd=s.cB +s=A.Ca.prototype +s.XF=s.cB +s=A.op.prototype +s.Wr=s.vQ +s.Ws=s.nM +s=A.k3.prototype +s.Wt=s.kn +s.zd=s.Ub +s.Ww=s.qo +s.Wu=s.qk +s.Wv=s.ql +s.WA=s.r3 +s.Wx=s.h5 +s.Wz=s.l +s.Wy=s.cB +s=A.C8.prototype +s.XE=s.cB +s=A.or.prototype +s.WB=s.kn +s=A.Ce.prototype +s.XG=s.l +s=A.Cf.prototype +s.XI=s.aG +s.XH=s.bi +s.XJ=s.l +s=A.iT.prototype +s.Hr=s.an +s.VO=s.bi +s.VR=s.Eg +s.Hq=s.wX +s.Hp=s.wW +s.VP=s.E6 +s.VQ=s.E7 +s.Ho=s.l +s=A.tI.prototype +s.X8=s.l +s=A.qE.prototype +s.Vx=s.A +s.Ha=s.wl +s.He=s.wS +s.Hf=s.wT +s.Hd=s.wO +s.Vw=s.E5 +s.Vv=s.E4 +s.Hg=s.kP +s.Hc=s.l +s.Hb=s.cR +s=A.Dh.prototype +s.Ye=s.l +s=A.Df.prototype +s.Y7=s.aj +s.Y8=s.aa})();(function installTearOffs(){var s=hunkHelpers._static_2,r=hunkHelpers._static_1,q=hunkHelpers.installStaticTearOff,p=hunkHelpers._static_0,o=hunkHelpers._instance_0u,n=hunkHelpers._instance_1u,m=hunkHelpers._instance_1i,l=hunkHelpers._instance_2u,k=hunkHelpers.installInstanceTearOff,j=hunkHelpers._instance_0i +s(A,"aHs","aIM",474) +r(A,"aHp","azD",1) +q(A,"auu",1,function(){return{params:null}},["$2$params","$1"],["aur",function(a){return A.aur(a,null)}],475,0) +r(A,"aHr","aId",20) +p(A,"aHq","aEC",0) +r(A,"U3","aHo",17) +o(A.us.prototype,"gBP","a7p",0) +n(A.h1.prototype,"gPB","aaT",242) +n(A.GS.prototype,"gPv","Pw",16) +n(A.v7.prototype,"ga8p","a8q",443) +var i +n(i=A.v_.prototype,"ga50","a51",16) +n(i,"ga52","a53",16) +n(i=A.i8.prototype,"ga_i","a_j",1) +n(i,"ga_g","a_h",1) +m(i=A.Gj.prototype,"ghE","D",192) +o(i,"gUD","mY",12) +n(A.Hf.prototype,"ga4K","a4L",90) +m(A.xo.prototype,"gFg","Fh",10) +m(A.zj.prototype,"gFg","Fh",10) +n(A.GL.prototype,"ga4I","a4J",1) +o(i=A.Gc.prototype,"gkx","l",0) +n(i,"gadt","adu",124) +n(i,"gMg","a6J",76) +n(i,"gNn","a7I",13) +n(A.Mm.prototype,"ga4Z","a5_",17) +n(A.LB.prototype,"ga3x","a3y",16) +l(i=A.F_.prototype,"gaex","aey",359) +o(i,"ga4V","a4W",0) +n(A.rF.prototype,"ga5B","a5C",469) +n(A.KM.prototype,"gae9","ET",471) +o(A.JS.prototype,"gkx","l",0) +n(i=A.Fb.prototype,"ga1J","a1K",1) +n(i,"ga1L","a1M",1) +n(i,"ga1H","a1I",1) +n(i=A.vu.prototype,"gro","Qh",1) +n(i,"gwM","abG",1) +n(i,"gwN","abH",1) +n(i,"grW","ae8",1) +n(A.GB.prototype,"ga54","a55",1) +n(A.FO.prototype,"ga4E","a4F",1) +n(A.wj.prototype,"gaaO","Pu",123) +o(i=A.jw.prototype,"gkx","l",0) +n(i,"ga_Q","a_R",198) +o(A.q0.prototype,"gkx","l",0) +s(J,"aHU","aCh",133) +m(J.v.prototype,"goB","A",18) +m(A.ic.prototype,"gjl","p",18) +p(A,"aI6","aDB",75) +m(A.dW.prototype,"gjl","p",18) +m(A.dx.prototype,"gjl","p",18) +r(A,"aIB","aFA",43) +r(A,"aIC","aFB",43) +r(A,"aID","aFC",43) +p(A,"av5","aIo",0) +r(A,"aIE","aIe",17) +s(A,"aIF","aIg",86) +p(A,"ao8","aIf",0) +o(i=A.oU.prototype,"gvb","kf",0) +o(i,"gvd","kg",0) +m(i=A.hu.prototype,"ghE","D",10) +k(i,"gvJ",0,1,function(){return[null]},["$2","$1"],["jf","qc"],87,0,0) +m(i=A.t1.prototype,"ghE","D",10) +k(i,"gvJ",0,1,function(){return[null]},["$2","$1"],["jf","qc"],87,0,0) +j(i,"gCM","aM",12) +l(A.a8.prototype,"gIF","ij",86) +m(i=A.p7.prototype,"ghE","D",10) +k(i,"gvJ",0,1,function(){return[null]},["$2","$1"],["jf","qc"],87,0,0) +o(i=A.mf.prototype,"gvb","kf",0) +o(i,"gvd","kg",0) +k(i=A.hv.prototype,"gRy",1,0,null,["$1","$0"],["iO","l1"],161,0,0) +j(i,"gSo","iU",0) +o(i,"gvb","kf",0) +o(i,"gvd","kg",0) +k(i=A.tb.prototype,"gRy",1,0,null,["$1","$0"],["iO","l1"],161,0,0) +j(i,"gSo","iU",0) +o(i,"gLa","a4O",0) +o(i=A.t0.prototype,"ga4C","pR",0) +o(i,"ga4M","a4N",0) +o(i=A.tg.prototype,"gvb","kf",0) +o(i,"gvd","kg",0) +n(i,"ga1N","a1O",10) +l(i,"ga23","a24",239) +o(i,"ga1U","a1V",0) +s(A,"avb","aHk",66) +r(A,"avc","aHl",67) +s(A,"aIO","aHn",133) +k(i=A.j8.prototype,"gBd",0,0,null,["$1$0","$0"],["pQ","Be"],85,0,0) +m(i,"gjl","p",18) +k(i=A.fg.prototype,"gBd",0,0,null,["$1$0","$0"],["pQ","Be"],85,0,0) +m(i,"gjl","p",18) +k(i=A.rv.prototype,"ga4z",0,0,null,["$1$0","$0"],["L6","nl"],85,0,0) +m(i,"gjl","p",18) +r(A,"avf","aHm",80) +j(A.B5.prototype,"gCM","aM",0) +r(A,"aJ5","aJO",67) +s(A,"aJ4","aJN",66) +s(A,"avg","aAn",477) +r(A,"aJ2","aFn",84) +p(A,"aJ3","aGE",478) +s(A,"avh","aIr",479) +m(A.j.prototype,"gjl","p",18) +k(A.ch.prototype,"gagh",0,0,null,["$1","$0"],["SW","agi"],260,0,0) +q(A,"DE",3,null,["$3"],["an7"],480,0) +q(A,"DF",3,null,["$3"],["V"],481,0) +q(A,"bA",3,null,["$3"],["q"],482,0) +n(A.Cx.prototype,"gQK","eG",20) +o(A.kg.prototype,"gJd","a07",0) +k(A.hk.prototype,"gafv",0,0,null,["$1$allowPlatformDefault"],["l6"],304,0,0) +l(i=A.Fx.prototype,"gab6","kD",66) +m(i,"gacD","hV",67) +n(i,"gadF","adG",18) +j(A.LN.prototype,"gu","or",170) +j(i=A.dc.prototype,"gu","or",170) +n(i,"gZl","ut",370) +m(i=A.Al.prototype,"gaeh","aei",17) +o(i,"gaf9","afa",0) +o(i,"gadC","adD",39) +k(i=A.pv.prototype,"gSp",1,0,null,["$1$from","$0"],["Sq","dd"],441,0,0) +n(i,"ga_S","a_T",442) +n(i,"gI6","Z7",6) +n(A.fO.prototype,"gns","vt",7) +n(A.n5.prototype,"gnw","Ng",7) +n(i=A.oP.prototype,"gns","vt",7) +o(i,"gCa","a87",0) +n(i=A.pQ.prototype,"gL3","a4k",7) +o(i,"gL2","a4j",0) +o(A.mP.prototype,"gcf","ae",0) +n(A.kL.prototype,"gRm","t0",7) +n(i=A.t8.prototype,"ga6e","a6f",61) +n(i,"ga6g","a6h",15) +n(i,"ga6c","a6d",56) +o(i,"ga1W","a1X",0) +n(i,"ga6i","a6j",57) +q(A,"aIA",1,null,["$2$forceReport","$1"],["aqN",function(a){return A.aqN(a,!1)}],483,0) +r(A,"aIz","aAG",484) +m(i=A.fr.prototype,"gvL","Y",43) +m(i,"gS6","H",43) +o(i,"gcf","ae",0) +r(A,"aKs","aEK",485) +n(i=A.wq.prototype,"ga2A","a2B",180) +n(i,"ga_M","a_N",181) +n(i,"ga97","a98",16) +o(i,"ga0C","An",0) +n(i,"ga2G","Kn",23) +o(i,"ga2U","a2V",0) +r(A,"aK2","aCz",51) +r(A,"Uh","aB5",160) +r(A,"Ui","aB6",51) +n(A.fu.prototype,"grp","kO",23) +r(A,"aK7","aB4",51) +o(A.MT.prototype,"ga4T","a4U",0) +n(i=A.hK.prototype,"gv9","a4s",23) +n(i,"ga5T","pY",186) +o(i,"ga4t","lz",0) +r(A,"al7","aBR",51) +k(A.ce.prototype,"gGO",0,1,null,["$1"],["fT"],16,0,1) +n(A.qV.prototype,"grp","kO",23) +l(A.Bb.prototype,"ga4c","a4d",74) +n(A.Af.prototype,"gzu","Zb",197) +n(i=A.BR.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +o(A.Aj.prototype,"gmb","Ed",0) +n(i=A.BQ.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(A.lj.prototype,"ga1o","a1p",7) +n(A.wL.prototype,"ga3K","a3L",7) +n(A.wM.prototype,"ga3M","a3N",7) +n(A.wK.prototype,"gTB","TC",227) +n(i=A.B2.prototype,"ga8l","a8m",228) +k(i,"gUq",0,0,null,["$1","$0"],["GI","Ur"],100,0,0) +o(i,"gmb","Ed",0) +n(i,"gQj","abN",101) +n(i,"gabO","abP",13) +n(i,"gacr","acs",58) +n(i,"gact","acu",103) +n(i,"gacj","ack",58) +n(i,"gacl","acm",103) +o(i,"gEe","wU",0) +o(i,"gacp","acq",0) +o(i,"gacf","acg",0) +o(i,"gach","aci",0) +n(i,"gac0","ac1",91) +n(i,"gac2","ac3",59) +o(i=A.u_.prototype,"gow","aet",0) +n(i,"gov","aes",7) +n(A.D3.prototype,"gpS","Bj",17) +n(A.D4.prototype,"gpS","Bj",17) +o(A.qT.prototype,"gEe","wU",0) +n(A.tH.prototype,"ga1D","a1E",250) +n(A.yR.prototype,"ga34","a35",7) +n(i=A.AO.prototype,"ga2P","a2Q",7) +o(i,"ga4R","a4S",0) +o(A.rf.prototype,"ga37","a38",0) +q(A,"avW",3,null,["$3"],["aI7"],486,0) +n(A.Cn.prototype,"gBh","a4B",7) +o(A.B0.prototype,"gel","ao",0) +o(i=A.CB.prototype,"glx","AQ",0) +o(i,"gAR","a3b",0) +k(i,"ga6o",0,3,null,["$3"],["a6p"],257,0,0) +o(i=A.CC.prototype,"glx","AQ",0) +n(i,"ga7h","a7i",37) +n(i=A.m6.prototype,"ga39","a3a",7) +n(i,"ga7q","a7r",57) +n(i,"gKh","a2f",23) +o(i,"ga3g","Kw",0) +o(i,"ga2o","a2p",0) +o(i,"ga2N","a2O",0) +n(i,"gKl","a2q",91) +n(i,"gKm","a2r",59) +n(i,"gZy","Zz",36) +k(i=A.II.prototype,"gadb",0,1,null,["$4$allowUpscaling$cacheHeight$cacheWidth","$1"],["QI","adc"],267,0,0) +k(i,"gade",0,1,null,["$2$getTargetSize","$1"],["QJ","adf"],268,0,0) +q(A,"akp",3,null,["$3"],["arM"],487,0) +q(A,"aog",3,null,["$3"],["d0"],488,0) +m(A.nD.prototype,"gvL","Y",145) +n(i=A.HV.prototype,"ga1F","a1G",159) +n(i,"ga1s","a1t",6) +m(i,"gvL","Y",145) +l(A.LL.prototype,"ga71","a72",280) +q(A,"um",3,null,["$3"],["aW"],489,0) +m(i=A.GA.prototype,"gagj","dr",2) +m(i,"gDA","ed",2) +r(A,"aIH","aFL",119) +n(i=A.yE.prototype,"ga3z","a3A",6) +n(i,"ga2w","a2x",6) +n(i=A.H.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i,"gbF","a_6",288) +n(i,"gpq","a_5",120) +o(i,"gxh","a6",0) +l(A.cM.prototype,"gPd","lW",25) +n(i=A.yl.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.ym.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.yo.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.oi.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.yr.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.yt.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +r(A,"avK","ash",35) +r(A,"avL","aE0",35) +o(A.jS.prototype,"gNB","NC",0) +n(i=A.G.prototype,"gS0","mt",35) +o(i,"gel","ao",0) +o(i,"gRc","b1",0) +k(i,"gL_",0,1,null,["$2$isMergeUp","$1"],["v0","a4a"],299,0,0) +k(i,"gmS",0,0,null,["$4$curve$descendant$duration$rect","$0","$2$descendant$rect"],["ff","p0","mT"],79,0,0) +n(i=A.ac.prototype,"gw_","a9e","ac.0?(J?)") +n(i,"gvZ","a9d","ac.0?(J?)") +o(A.yf.prototype,"gM5","a6u",0) +n(i=A.lO.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.jc.prototype,"ga1k","K0",128) +l(i,"ga19","a1a",305) +n(i,"ga0N","a0O",128) +n(A.BA.prototype,"grp","kO",23) +n(i=A.f9.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +k(i,"giL",0,2,null,["$2"],["aE"],25,0,1) +n(i=A.oh.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.yj.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.ys.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +o(A.yh.prototype,"gvy","C_",0) +o(A.tJ.prototype,"guZ","v_",0) +l(A.yp.prototype,"ga5b","Le",307) +n(i=A.yv.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +o(i=A.k0.prototype,"ga5r","a5s",0) +o(i,"ga5t","a5u",0) +o(i,"ga5v","a5w",0) +o(i,"ga5p","a5q",0) +o(i=A.yz.prototype,"ga5x","a5y",0) +o(i,"ga5n","a5o",0) +o(i,"ga5j","a5k",0) +o(i,"ga5l","a5m",0) +o(A.Ki.prototype,"gNy","Nz",0) +n(i=A.r5.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.yw.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.yx.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(i=A.yn.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +k(A.cn.prototype,"gacL",0,1,null,["$3$crossAxisPosition$mainAxisPosition"],["Qu"],308,0,0) +n(i=A.yB.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +l(i,"gaeI","aeJ",25) +n(i=A.r6.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +l(i,"ga5c","Lf",25) +k(i,"gmS",0,0,null,["$4$curve$descendant$duration$rect","$0","$2$descendant$rect"],["ff","p0","mT"],79,0,0) +r(A,"aKN","aE2",173) +s(A,"aKO","aE3",132) +n(i=A.yD.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +s(A,"aIJ","aE9",490) +q(A,"aIK",0,null,["$2$priority$scheduler"],["aJj"],491,0) +n(i=A.iX.prototype,"ga0k","a0l",134) +o(i,"ga6m","a6n",0) +n(i,"ga1y","a1z",6) +o(i,"ga21","a22",0) +o(i,"ga00","a01",0) +n(A.rJ.prototype,"gBO","a7o",6) +o(i=A.Kj.prototype,"ga_O","a_P",0) +o(i,"ga33","Kr",0) +n(i,"ga31","a32",318) +n(i=A.c4.prototype,"gLD","a5R",135) +n(i,"ga7E","Nd",135) +n(A.lW.prototype,"ga8u","Cp",326) +r(A,"aII","aEv",492) +o(i=A.zd.prototype,"gYW","YX",332) +n(i,"ga2m","AL",333) +n(i,"ga2y","uO",46) +n(i=A.He.prototype,"gabS","abT",90) +n(i,"gacd","Ec",335) +n(i,"ga_l","a_m",504) +n(A.yH.prototype,"ga4n","B9",141) +n(i=A.cV.prototype,"ga08","a09",142) +n(i,"gLB","LC",142) +n(A.L5.prototype,"ga47","uW",46) +n(A.p_.prototype,"gPq","Ds",349) +n(A.Ac.prototype,"gK3","a1n",352) +n(i=A.AS.prototype,"gKe","a2c",101) +n(i,"gYL","YM",91) +n(i,"gYN","YO",59) +n(i,"gYJ","YK",13) +n(i=A.CW.prototype,"ga_I","a_J",147) +n(i,"ga4G","a4H",355) +n(i,"ga4X","a4Y",356) +n(A.Ah.prototype,"gYS","YT",357) +o(i=A.LJ.prototype,"gabX","abY",0) +n(i,"ga2s","a2t",360) +n(i,"ga1w","a1x",46) +o(i,"ga1A","a1B",0) +o(i=A.D2.prototype,"gac_","E8",0) +o(i,"gacw","Ef",0) +o(i,"gac6","Ea",0) +n(i,"gabF","E0",76) +n(i,"gacy","Eh",124) +n(i=A.Az.prototype,"gKb","a2_",61) +n(i,"gKc","a20",15) +o(i,"ga1S","a1T",0) +n(i,"gKa","a1Z",56) +n(i,"ga1Q","uN",362) +n(A.AH.prototype,"gzt","I5",7) +r(A,"eR","aBH",26) +k(A.cd.prototype,"gafs",0,0,null,["$1","$0"],["Se","oG"],365,0,0) +n(i=A.wk.prototype,"gZ9","Za",76) +o(i,"ga8G","Oa",0) +n(i=A.O8.prototype,"gac8","Eb",23) +n(i,"gabU","abV",367) +o(A.te.prototype,"gAK","a29",0) +q(A,"aJC",1,null,["$5$alignment$alignmentPolicy$curve$duration","$1","$2$alignmentPolicy"],["amh",function(a){var h=null +return A.amh(a,h,h,h,h)},function(a,b){return A.amh(a,null,b,null,null)}],493,0) +r(A,"akD","aFR",9) +s(A,"aoj","aBe",494) +r(A,"avu","aBd",9) +n(i=A.Oo.prototype,"ga7y","N5",9) +o(i,"ga7z","a7A",0) +n(i=A.r0.prototype,"ga2C","a2D",57) +n(i,"ga2H","a2I",394) +n(i,"ga7Y","a7Z",395) +n(i=A.kl.prototype,"gZw","Zx",36) +n(i,"gK4","K5",7) +o(i,"gFl","aeB",0) +n(i=A.wv.prototype,"ga26","a27",398) +k(i,"ga_G",0,5,null,["$5"],["a_H"],399,0,0) +q(A,"avx",3,null,["$3"],["jC"],495,0) +l(A.AZ.prototype,"ga2k","a2l",403) +o(A.pu.prototype,"ga1q","a1r",0) +o(A.tq.prototype,"gAT","a3u",0) +s(A,"aK8","aD7",496) +r(A,"im","aGb",47) +r(A,"avJ","aGc",47) +r(A,"Dz","aGd",47) +n(A.tz.prototype,"gt_","ml",64) +n(A.ty.prototype,"gt_","ml",64) +n(A.Bp.prototype,"gt_","ml",64) +n(A.Bq.prototype,"gt_","ml",64) +o(i=A.iN.prototype,"gKi","a2h",0) +o(i,"gLy","a5P",0) +n(i,"ga4w","a4x",57) +n(i,"ga2L","a2M",23) +r(A,"aKa","aG9",35) +k(A.p4.prototype,"giL",0,2,null,["$2"],["aE"],25,0,1) +n(i=A.my.prototype,"gbl","aU",2) +n(i,"gbu","aT",2) +n(A.AX.prototype,"gAN","AO",37) +n(i=A.AW.prototype,"gzC","zD",7) +n(i,"ga7m","a7n",6) +n(A.Cz.prototype,"gAN","AO",37) +n(A.Cy.prototype,"gzC","zD",7) +n(A.FB.prototype,"ga4l","B8",141) +n(i=A.BB.prototype,"ga4P","a4Q",16) +n(i,"ga2d","a2e",13) +o(A.C2.prototype,"gBs","a5X",0) +n(A.iV.prototype,"ga7P","C1",427) +n(i=A.tL.prototype,"ga60","a61",6) +o(i,"guQ","Ko",0) +o(i,"gAH","a1v",55) +o(i,"gAM","a2T",0) +n(A.dR.prototype,"gLZ","a6k",7) +n(i=A.fF.prototype,"gZs","Zt",36) +n(i,"gZu","Zv",36) +o(i=A.Ep.prototype,"gBM","BN",0) +o(i,"gBA","BB",0) +o(i=A.G2.prototype,"gBM","BN",0) +o(i,"gBA","BB",0) +s(A,"aPQ","ao3",497) +m(i=A.Cj.prototype,"ghE","D",30) +m(i,"goB","A",30) +r(A,"DC","aJk",37) +o(A.k3.prototype,"gaaH","aaI",0) +o(A.or.prototype,"gkx","l",0) +n(i=A.z0.prototype,"gK9","a1Y",163) +n(i,"gM9","a6w",61) +n(i,"gMa","a6x",15) +n(i,"gM8","a6v",56) +o(i,"gM6","M7",0) +o(i,"ga_Z","a0_",0) +o(i,"ga_X","a_Y",0) +n(i,"ga5L","a5M",164) +n(i,"ga2J","a2K",23) +n(i,"ga2W","a2X",81) +o(A.Cc.prototype,"gM1","a6q",0) +n(i=A.iT.prototype,"ga85","a86",7) +o(i,"ga02","a03",0) +o(i,"ga04","a05",0) +n(i,"ga3s","a3t",58) +n(i,"ga6A","a6B",81) +n(i,"ga6C","a6D",37) +n(i,"ga3k","a3l",163) +n(i,"ga3o","a3p",61) +n(i,"ga3q","a3r",15) +n(i,"ga3m","a3n",56) +o(i,"ga3i","a3j",0) +n(i,"gKH","a3G",446) +n(i,"ga6y","a6z",23) +n(i,"ga6E","a6F",164) +s(A,"aKk","aCY",116) +m(i=A.qE.prototype,"ghE","D",30) +m(i,"goB","A",30) +o(i,"gAP","a30",0) +l(A.Cm.prototype,"ga2u","a2v",174) +o(A.Cl.prototype,"gMs","a6T",0) +o(i=A.BY.prototype,"guS","a3B",0) +n(i,"gbl","aU",2) +n(i,"gbu","aT",2) +k(i,"gmS",0,0,null,["$4$curve$descendant$duration$rect","$0","$2$descendant$rect"],["ff","p0","mT"],79,0,0) +n(A.rt.prototype,"gafi","S4",459) +o(A.tK.prototype,"gvc","Lb",0) +s(A,"aKD","aGf",116) +m(A.Ci.prototype,"goB","A",30) +o(A.m_.prototype,"gnx","ny",0) +o(A.e3.prototype,"gey","eV",0) +n(i=A.zV.prototype,"ga3d","a3e",58) +k(i,"gKs",0,0,null,["$1","$0"],["Kt","a3c"],100,0,0) +k(i,"gKu",0,0,null,["$1","$0"],["Kv","a3f"],461,0,0) +n(i,"ga2a","a2b",13) +n(i,"ga2i","a2j",13) +r(A,"aKL","aE8",102) +r(A,"aKK","aE5",102) +o(A.Ad.prototype,"gAJ","a1C",0) +o(A.tZ.prototype,"gCb","a88",0) +k(A.Jj.prototype,"gabQ",0,3,null,["$3"],["wP"],464,0,0) +q(A,"aJF",3,null,["$1$3","$3"],["at2",function(a,b,c){return A.at2(a,b,c,t.z)}],500,0) +q(A,"aJE",1,null,["$1$1","$1"],["at1",function(a){return A.at1(a,t.z)}],501,0) +r(A,"aK1","aCs",502) +q(A,"aoy",1,null,["$2$wrapWidth","$1"],["avn",function(a){return A.avn(a,null)}],503,0) +p(A,"aKg","auq",0) +s(A,"jj","apN",62) +s(A,"pi","aA2",62) +q(A,"ui",3,null,["$3"],["aA1"],139,0) +q(A,"avD",3,null,["$3"],["aA0"],139,0)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.mixinHard,q=hunkHelpers.inherit,p=hunkHelpers.inheritMany +q(A.J,null) +p(A.J,[A.us,A.UV,A.l0,A.R6,A.X6,A.h1,A.We,A.HA,A.EU,A.FN,A.GS,A.rT,A.vX,A.aeB,A.hj,A.j,A.vY,A.Kx,A.og,A.A3,A.np,A.a9W,A.GX,A.kZ,A.EX,A.ES,A.EB,A.eb,A.J3,A.Iq,A.Hk,A.a1w,A.a1x,A.ZX,A.Fc,A.Wu,A.a6P,A.rV,A.v7,A.a5q,A.eK,A.Fh,A.r7,A.ok,A.pJ,A.v9,A.n_,A.hE,A.XR,A.JC,A.v_,A.Kt,A.EZ,A.v8,A.pK,A.EY,A.v5,A.Wx,A.bE,A.vd,A.WI,A.WJ,A.Z5,A.Z6,A.Zs,A.XQ,A.a8J,A.GV,A.a04,A.GU,A.GT,A.FY,A.vI,A.Nm,A.Nr,A.FU,A.YI,A.JV,A.ol,A.R5,A.a8r,A.ZN,A.SL,A.Gj,A.qa,A.nq,A.wp,A.uG,A.f0,A.Fi,A.t6,A.Gz,A.c6,A.aaw,A.AA,A.d3,A.aaD,A.aaC,A.GP,A.wz,A.rx,A.KV,A.eV,A.a6L,A.X2,A.MC,A.X9,A.ry,A.a6_,A.qQ,A.o0,A.jZ,A.a9V,A.a61,A.Gb,A.Ga,A.lE,A.a7a,A.cx,A.agU,A.a7R,A.ajf,A.GQ,A.a82,A.rz,A.aax,A.a5C,A.a9I,A.YK,A.lb,A.G9,A.Kr,A.ze,A.ox,A.mv,A.a6F,A.zk,A.uu,A.jD,A.Hf,A.iB,A.a1h,A.X5,A.a4X,A.Vx,A.jM,A.wc,A.GL,A.a6g,A.aca,A.IU,A.V0,A.LB,A.a6k,A.a6m,A.a8p,A.a6r,A.F_,A.a6B,A.Ht,A.acV,A.ajg,A.jb,A.t4,A.tF,A.afl,A.a6s,A.amU,A.a6R,A.GG,A.GF,A.a5F,A.UG,A.J5,A.k1,A.E1,A.a1u,A.w_,A.Kq,A.Kn,A.ov,A.YY,A.YZ,A.a9o,A.a9k,A.Nb,A.X,A.hg,A.a0Z,A.a10,A.aae,A.aai,A.aco,A.Jh,A.aaB,A.EM,A.xN,A.rw,A.Wh,A.a_Q,A.ab7,A.ab6,A.af2,A.af3,A.af1,A.rF,A.a1B,A.KM,A.JS,A.abq,A.iz,A.iR,A.w0,A.w1,A.zJ,A.aaW,A.L4,A.ck,A.kb,A.Vu,A.Fb,A.YL,A.YM,A.zH,A.YF,A.El,A.rE,A.pY,A.a0T,A.ab9,A.aaX,A.a05,A.Yp,A.Yn,A.Hy,A.jn,A.bq,A.Ze,A.FI,A.FO,A.Y3,A.Xj,A.a_0,A.wj,A.a_v,A.jw,A.LD,A.rU,A.amy,J.qu,J.c1,A.EN,A.aC,A.a9B,A.bR,A.bt,A.mb,A.Gh,A.KZ,A.Ky,A.Kz,A.G4,A.Gv,A.rW,A.wG,A.we,A.Lu,A.e1,A.mw,A.x7,A.pR,A.mm,A.hn,A.a0Y,A.abT,A.I8,A.w3,A.Cv,A.a1D,A.x_,A.H8,A.tv,A.acv,A.KT,A.anM,A.adJ,A.afP,A.hl,A.O2,A.CL,A.aiz,A.x3,A.Sg,A.M7,A.kp,A.Eh,A.c5,A.hv,A.hu,A.MB,A.hy,A.a8,A.M8,A.p7,A.RY,A.M9,A.Ne,A.aeh,A.tE,A.tb,A.oV,A.RR,A.ajp,A.tl,A.ff,A.aga,A.mn,A.ts,A.fD,A.OL,A.SN,A.AE,A.Ns,A.OI,A.RO,A.RN,A.jd,A.KR,A.F9,A.vj,A.Me,A.VH,A.Md,A.ER,A.Rx,A.ag7,A.ag4,A.adN,A.aiy,A.SP,A.CU,A.pa,A.et,A.aP,A.Ii,A.zw,A.AL,A.jz,A.bw,A.aT,A.RV,A.zx,A.a8l,A.ch,A.CS,A.abZ,A.Ry,A.w8,A.lY,A.X8,A.aH,A.Go,A.Ia,A.Zg,A.nj,A.I7,A.ag0,A.G7,A.adK,A.Cx,A.kg,A.Wp,A.Ic,A.D,A.aU,A.hZ,A.f6,A.C,A.x8,A.amv,A.lZ,A.li,A.le,A.lx,A.rl,A.hk,A.lI,A.cq,A.c3,A.a9z,A.h8,A.iC,A.iD,A.zI,A.L3,A.eh,A.ap,A.cj,A.lF,A.VM,A.GE,A.V5,A.Vw,A.VA,A.a_B,A.a6n,A.uZ,A.fr,A.Nf,A.dJ,A.vy,A.a6h,A.it,A.mV,A.HK,A.EG,A.W7,A.a16,A.eq,A.uX,A.pG,A.uI,A.rQ,A.Gi,A.A4,A.mX,A.aas,A.Vt,A.Vb,A.Fz,A.mA,A.tu,A.x6,A.Fx,A.GK,A.LN,A.VW,A.RP,A.vG,A.af,A.l5,A.a9Q,A.M2,A.kM,A.xO,A.uz,A.uy,A.mP,A.kL,A.aI,A.k8,A.Ov,A.Ol,A.f7,A.Fy,A.Aw,A.N8,A.Ex,A.N0,A.CF,A.xz,A.ae1,A.ae0,A.d_,A.NS,A.Er,A.agG,A.ad,A.hI,A.ea,A.anN,A.he,A.y_,A.aiZ,A.acn,A.yd,A.i5,A.ci,A.cI,A.qf,A.tj,A.a_a,A.ahE,A.wq,A.jv,A.hL,A.hM,A.eZ,A.PM,A.dd,A.LQ,A.ME,A.MO,A.MJ,A.MH,A.MI,A.MG,A.MK,A.MS,A.C_,A.MQ,A.MR,A.MP,A.MM,A.MN,A.ML,A.MF,A.vz,A.iE,A.tW,A.jB,A.ks,A.anF,A.a6C,A.Hn,A.MT,A.tU,A.a6x,A.a6A,A.hW,A.rC,A.m3,A.MA,A.a_d,A.ht,A.ma,A.BC,A.ia,A.LT,A.K7,A.a9R,A.QH,A.M4,A.kh,A.Mc,A.OM,A.Mj,A.Mk,A.Ml,A.Mn,A.Mo,A.P2,A.Mp,A.Ms,A.Mu,A.Mw,A.Mz,A.N4,A.N6,A.Ng,A.Nk,A.Nu,A.Nv,A.NC,A.kj,A.NH,A.NL,A.ae7,A.NQ,A.Zo,A.Z9,A.Z8,A.Zn,A.bu,A.Ok,A.jE,A.qt,A.Gr,A.Oq,A.OJ,A.FA,A.HF,A.OV,A.OS,A.OU,A.P7,A.P8,A.P9,A.Pm,A.R2,A.HE,A.jP,A.Ps,A.u_,A.Q9,A.Qb,A.Qg,A.a8y,A.JW,A.X4,A.a54,A.LU,A.yP,A.Rd,A.Re,A.Rf,A.Rg,A.RC,A.RJ,A.RX,A.S0,A.S5,A.S7,A.S9,A.Sd,A.alT,A.to,A.NI,A.ST,A.Sf,A.Sh,A.Sj,A.SI,A.mO,A.II,A.uL,A.Mi,A.bT,A.Gn,A.WA,A.Mg,A.acZ,A.cS,A.a0h,A.Mq,A.Pu,A.qn,A.fz,A.Om,A.iq,A.hR,A.hS,A.On,A.qp,A.E3,A.qs,A.y0,A.aaU,A.aiT,A.S6,A.tr,A.rG,A.ig,A.S8,A.aab,A.adS,A.agN,A.aj1,A.zW,A.yE,A.Px,A.ca,A.aeo,A.acX,A.aN,A.cM,A.Xn,A.ag9,A.uC,A.Ec,A.OB,A.Hj,A.P3,A.Tf,A.aE,A.dw,A.ac,A.yf,A.aij,A.Rn,A.a7l,A.Ts,A.agW,A.f9,A.yh,A.dB,A.Ki,A.a9b,A.lU,A.Rk,A.KE,A.RF,A.a7H,A.iG,A.a7N,A.Jk,A.A6,A.r9,A.tM,A.th,A.a63,A.iX,A.rJ,A.oM,A.zS,A.Kj,A.a9n,A.ow,A.cQ,A.Rl,A.Ro,A.kf,A.ii,A.kq,A.lW,A.Rp,A.a9l,A.Ef,A.oT,A.kO,A.Vj,A.zd,A.Oz,A.a_A,A.wW,A.He,A.OA,A.hV,A.fK,A.xl,A.aat,A.a1_,A.a11,A.aaf,A.aaj,A.a4Y,A.qD,A.kQ,A.dy,A.a6p,A.o2,A.J2,A.Qh,A.Qi,A.a6T,A.cy,A.cV,A.V1,A.j0,A.L5,A.zK,A.Tj,A.Ou,A.LS,A.Pr,A.h0,A.I6,A.mR,A.e4,A.LJ,A.FP,A.Mb,A.ZD,A.NW,A.NU,A.O8,A.tf,A.O0,A.t9,A.Nh,A.XC,A.Tn,A.Tm,A.Oo,A.VD,A.VC,A.xB,A.agH,A.a8b,A.qr,A.nt,A.a9m,A.afp,A.kl,A.nY,A.hQ,A.Wk,A.tD,A.FE,A.xi,A.i1,A.a8g,A.Ln,A.mr,A.QW,A.jO,A.p4,A.a5M,A.Cw,A.Il,A.NP,A.op,A.a4r,A.a6i,A.y2,A.iV,A.lS,A.Hv,A.K6,A.a8Q,A.ajo,A.aa0,A.i2,A.fc,A.LE,A.Kh,A.Kd,A.Yk,A.Rz,A.T_,A.Rt,A.Rw,A.Na,A.m_,A.e3,A.At,A.zV,A.OH,A.B6,A.bl,A.cr,A.l7,A.Zt,A.qI,A.Xk,A.a0p,A.a0D,A.a0o,A.vP,A.d7,A.eW,A.dQ,A.VN,A.f2,A.ach,A.oN,A.aaS,A.bS,A.a4O,A.HQ,A.oA,A.ro,A.a6E,A.a_t,A.aci,A.Vv,A.H2,A.Hh,A.a6M,A.bj,A.fS,A.j5,A.w2,A.AK]) +p(A.l0,[A.F7,A.V_,A.UW,A.UX,A.UY,A.ajC,A.a03,A.a01,A.F8,A.a9Z,A.a0m,A.a5j,A.ajU,A.Ww,A.ajG,A.WQ,A.WR,A.WL,A.WM,A.WK,A.WO,A.WP,A.WN,A.Y0,A.Y4,A.akj,A.ala,A.al9,A.ZO,A.ZP,A.ZQ,A.ZR,A.ZS,A.ZT,A.ZW,A.ZU,A.akA,A.akB,A.akC,A.akz,A.a_W,A.a_X,A.a5D,A.a_U,A.a_V,A.a_S,A.a_T,A.akR,A.Zr,A.Zw,A.Zq,A.akF,A.akG,A.ak2,A.ak3,A.ak4,A.ak5,A.ak6,A.ak7,A.ak8,A.ak9,A.a1d,A.a1e,A.a1f,A.a1g,A.a1n,A.a1r,A.al3,A.a56,A.a9T,A.a9U,A.Zc,A.YV,A.YU,A.YQ,A.YR,A.YS,A.YP,A.YT,A.YN,A.YX,A.ad1,A.ad0,A.ad2,A.acc,A.acd,A.ace,A.acf,A.a8q,A.acW,A.ajh,A.ah1,A.ah4,A.ah5,A.ah6,A.ah7,A.ah8,A.ah9,A.a6V,A.XA,A.UJ,A.UK,A.a0O,A.a0P,A.ajH,A.a94,A.a95,A.Z_,A.Xy,A.a4R,A.aaR,A.ab_,A.ab0,A.ab1,A.ab2,A.ab4,A.Wi,A.YG,A.YH,A.Xu,A.Xv,A.Xw,A.a0b,A.a09,A.Zi,A.a06,A.Yo,A.akq,A.Xh,A.acb,A.Wl,A.wN,A.L2,A.a15,A.a14,A.akN,A.akP,A.aiA,A.acI,A.acH,A.ajy,A.aiB,A.aiD,A.aiC,A.a_7,A.a_1,A.afc,A.afj,A.aam,A.aaq,A.aap,A.ahK,A.afo,A.ae2,A.a1M,A.aa7,A.ag3,A.aj8,A.ajN,A.ajO,A.ael,A.aej,A.aei,A.aek,A.akX,A.al4,A.al5,A.akw,A.a1b,A.akn,A.a_E,A.a_C,A.VP,A.VQ,A.VR,A.VS,A.VT,A.VU,A.VV,A.W6,A.a4v,A.a4t,A.a4u,A.a4w,A.a4y,A.Wc,A.Wa,A.Wb,A.Wd,A.W8,A.VZ,A.W_,A.W0,A.W1,A.W2,A.W3,A.W4,A.W5,A.acq,A.acr,A.adH,A.aeu,A.aeq,A.afF,A.afB,A.a5m,A.ai2,A.ai3,A.ai4,A.ai6,A.aiP,A.aiO,A.adU,A.adT,A.adW,A.adX,A.adZ,A.a5y,A.Zz,A.ZA,A.ZB,A.akx,A.aac,A.aaE,A.afk,A.a6t,A.a6u,A.a6D,A.Vc,A.Vd,A.Ve,A.Yf,A.Yg,A.Yh,A.YC,A.YD,A.YE,A.agf,A.a4e,A.ady,A.adz,A.adA,A.ad9,A.ada,A.adb,A.adm,A.adr,A.ads,A.adt,A.adu,A.adv,A.adw,A.adx,A.adc,A.add,A.ade,A.adp,A.ad7,A.adq,A.ad6,A.adf,A.adg,A.adh,A.adi,A.adj,A.adk,A.adl,A.adn,A.ado,A.aev,A.aex,A.aez,A.aew,A.aey,A.afG,A.afI,A.afH,A.aeG,A.aeH,A.aeJ,A.aeI,A.aeK,A.aeL,A.aeN,A.aeM,A.agI,A.agJ,A.agL,A.agM,A.agK,A.afV,A.afS,A.a1F,A.agw,A.agh,A.agi,A.agj,A.agk,A.a4i,A.ajs,A.ajt,A.aju,A.ajv,A.a5U,A.ahf,A.ahe,A.ahd,A.ahb,A.ahk,A.ahl,A.ahi,A.ahj,A.a8v,A.agp,A.agm,A.ago,A.agn,A.agl,A.aip,A.air,A.ais,A.aiu,A.aiQ,A.aiJ,A.aiG,A.aiH,A.aiS,A.acC,A.aby,A.abC,A.abI,A.adQ,A.adR,A.WB,A.WC,A.WD,A.adD,A.a0C,A.a0x,A.V3,A.a0J,A.a0S,A.a0R,A.abu,A.abt,A.abs,A.a__,A.a80,A.a7X,A.Vr,A.a7e,A.a7h,A.a7p,A.a7q,A.a7n,A.a7o,A.a50,A.a5_,A.a7v,A.a7w,A.a7r,A.a7s,A.a7t,A.a7c,A.a7A,A.a7B,A.ajT,A.agX,A.a7I,A.a7K,A.a7M,A.a7L,A.a7G,A.a7F,A.a7P,A.a7O,A.a7U,A.a7T,A.a7W,A.a8D,A.a8C,A.abB,A.a9r,A.a9p,A.aio,A.ain,A.ail,A.aim,A.ajD,A.a9u,A.a9t,A.a9c,A.a9g,A.a9e,A.a9h,A.a9f,A.a9i,A.a9j,A.VK,A.a6f,A.V7,A.acG,A.a9D,A.ae4,A.a1H,A.Vi,A.a4J,A.a88,A.a89,A.a87,A.abn,A.abm,A.abo,A.a_P,A.a_N,A.ak_,A.UN,A.UQ,A.UO,A.UR,A.af0,A.aeY,A.aeW,A.aeX,A.af_,A.aji,A.ajj,A.af6,A.acL,A.acQ,A.aj0,A.aj_,A.ajm,A.ajn,A.ajl,A.Xs,A.XT,A.XU,A.ZG,A.ZF,A.ajX,A.ZK,A.ZM,A.ZL,A.ahs,A.XD,A.XL,A.XM,A.XN,A.XO,A.ahp,A.ahq,A.ahn,A.a79,A.afO,A.Yw,A.Yu,A.Yt,A.Yx,A.Yz,A.Yr,A.Yq,A.Yv,A.Ys,A.a5Z,A.a55,A.a_i,A.a_l,A.a_n,A.a_p,A.a_r,A.a_k,A.ae9,A.aea,A.aeb,A.aee,A.aef,A.aeg,A.a_L,A.a_J,A.a_I,A.a0e,A.afL,A.a0M,A.a0L,A.a0K,A.acw,A.acx,A.acy,A.acz,A.acA,A.a0Q,A.akc,A.akd,A.ake,A.agd,A.age,A.a1K,A.a1J,A.a4q,A.a4p,A.a8i,A.a8h,A.a5w,A.ahO,A.ahM,A.ahQ,A.a5t,A.a5v,A.a5s,A.a5u,A.a5L,A.ahC,A.ahB,A.ahu,A.ahv,A.a5S,A.agS,A.ah_,A.ajS,A.ahG,A.ahU,A.ahS,A.abS,A.abP,A.agE,A.agD,A.agA,A.a4U,A.a8M,A.a8N,A.a8O,A.a8P,A.a8S,A.a8T,A.a8U,A.a8W,A.a92,A.a9_,A.a91,A.aia,A.a96,A.a6Z,A.a72,A.a73,A.a5e,A.a5f,A.a5g,A.a5a,A.a5b,A.a5c,A.a5d,A.aa5,A.aie,A.aif,A.aig,A.aih,A.acl,A.Xl,A.a0t,A.a0s,A.a0u,A.a0v,A.a0E,A.a0F,A.a0G,A.a1P,A.a1Q,A.a27,A.a28,A.a26,A.a3W,A.a3X,A.a3S,A.a3T,A.a3G,A.a3H,A.a3O,A.a3P,A.a3M,A.a3N,A.a3Q,A.a3R,A.a3I,A.a3J,A.a3K,A.a3L,A.a2L,A.a2M,A.a2K,A.a3U,A.a3V,A.a2I,A.a2J,A.a2H,A.a24,A.a25,A.a2_,A.a20,A.a1Z,A.a34,A.a35,A.a33,A.a31,A.a32,A.a30,A.a3E,A.a3F,A.a3m,A.a3n,A.a3j,A.a3k,A.a3i,A.a3l,A.a2r,A.a2s,A.a2q,A.a37,A.a38,A.a36,A.a39,A.a2g,A.a2h,A.a2f,A.a22,A.a23,A.a21,A.a3B,A.a3C,A.a3A,A.a3D,A.a2F,A.a2G,A.a2E,A.a3p,A.a3q,A.a3o,A.a3r,A.a2u,A.a2v,A.a2t,A.a4a,A.a4b,A.a49,A.a4c,A.a2Z,A.a3_,A.a2Y,A.a3Z,A.a4_,A.a3Y,A.a40,A.a2O,A.a2P,A.a2N,A.a1W,A.a1X,A.a1V,A.a1Y,A.a2d,A.a2e,A.a2c,A.a1S,A.a1T,A.a1R,A.a1U,A.a2a,A.a2b,A.a29,A.a3f,A.a3g,A.a3e,A.a3h,A.a3b,A.a3c,A.a3a,A.a3d,A.a2n,A.a2p,A.a2m,A.a2o,A.a2j,A.a2l,A.a2i,A.a2k,A.a3x,A.a3y,A.a3w,A.a3z,A.a3t,A.a3u,A.a3s,A.a3v,A.a2B,A.a2D,A.a2A,A.a2C,A.a2x,A.a2z,A.a2w,A.a2y,A.a46,A.a47,A.a45,A.a48,A.a42,A.a43,A.a41,A.a44,A.a2V,A.a2X,A.a2U,A.a2W,A.a2R,A.a2T,A.a2Q,A.a2S,A.a4E,A.a4F,A.a9K,A.ajW,A.abK,A.a4I,A.aeD,A.aeE]) +p(A.F7,[A.UZ,A.a00,A.a_Z,A.a0_,A.a9X,A.a9Y,A.alb,A.ZY,A.ZZ,A.a5i,A.a5k,A.a5H,A.a5I,A.Wg,A.Wy,A.ZV,A.Zd,A.a65,A.a_Y,A.aaz,A.aaA,A.a_x,A.Vy,A.Vz,A.akT,A.akU,A.Zx,A.ajA,A.a1o,A.a1p,A.a1q,A.a1j,A.a1k,A.a1l,A.YW,A.akW,A.a6l,A.ah2,A.ah3,A.afm,A.a6S,A.a6U,A.UH,A.XB,A.a8f,A.UI,A.a93,A.Z2,A.Z1,A.Z0,A.a4S,A.ab3,A.ab5,A.a_R,A.Xt,A.a0a,A.aaY,A.ak0,A.YJ,A.Wn,A.al1,A.a6I,A.acJ,A.acK,A.aiV,A.a_6,A.a_5,A.a_3,A.af8,A.aff,A.afe,A.afb,A.afa,A.af9,A.afi,A.afh,A.afg,A.aar,A.aao,A.aiw,A.aiv,A.ad5,A.ad4,A.agV,A.ajB,A.aki,A.ahJ,A.ajb,A.aja,A.Wq,A.Wr,A.a1a,A.ako,A.VB,A.a_D,A.a4x,A.UC,A.UD,A.UE,A.UF,A.adI,A.adE,A.adG,A.adF,A.aet,A.aes,A.aer,A.afz,A.afw,A.afu,A.afy,A.afv,A.a5p,A.afC,A.afD,A.afE,A.a5n,A.ai1,A.ai0,A.ai_,A.ahZ,A.ai5,A.aiN,A.Xd,A.Xc,A.Xe,A.Xf,A.ae_,A.Zy,A.Vk,A.Wo,A.a_c,A.a_b,A.a_f,A.a_g,A.Y7,A.Yc,A.Yd,A.Y8,A.Y9,A.Ya,A.Yb,A.a6z,A.a6H,A.aaL,A.aaM,A.aaN,A.aaO,A.aaP,A.a_e,A.acs,A.UU,A.acF,A.a4d,A.adB,A.ad8,A.ajZ,A.ajY,A.afR,A.afU,A.afW,A.afQ,A.afT,A.a4g,A.a4h,A.a8w,A.a8x,A.a8s,A.a8t,A.a8u,A.aeO,A.a8A,A.a8z,A.agv,A.agu,A.agt,A.agr,A.ags,A.agq,A.aiq,A.aaK,A.aiF,A.aiI,A.aiK,A.aiL,A.aiM,A.abz,A.abJ,A.a0j,A.a0i,A.agb,A.a0z,A.a0A,A.a58,A.aiU,A.a7Z,A.a8_,A.aep,A.acY,A.ag_,A.a53,A.a52,A.a51,A.a5Y,A.a5X,A.a5W,A.a7u,A.a7x,A.a7y,A.a7J,A.a8F,A.a8G,A.a8H,A.a8I,A.VJ,A.a9C,A.a6Q,A.a85,A.a86,A.a84,A.aaG,A.abp,A.act,A.aeZ,A.aeU,A.aeV,A.aeT,A.ajk,A.af5,A.af4,A.acP,A.acN,A.acO,A.acM,A.acm,A.a8c,A.a8d,A.aem,A.aen,A.aeP,A.aeQ,A.aeR,A.aeS,A.VE,A.WT,A.WU,A.a_h,A.a_j,A.a_m,A.a_o,A.a_q,A.a_s,A.aed,A.aec,A.aft,A.afs,A.afr,A.afK,A.afM,A.afN,A.UT,A.agc,A.agx,A.a4T,A.ahP,A.ahN,A.ahL,A.a5r,A.agO,A.a5Q,A.a5P,A.a5R,A.a5O,A.a5N,A.agP,A.agR,A.agQ,A.afn,A.agY,A.ahF,A.a8a,A.ahX,A.ahY,A.ahW,A.ahR,A.ahV,A.ahT,A.abQ,A.abR,A.agy,A.a4W,A.a4V,A.a8L,A.aii,A.a8R,A.a8Z,A.a90,A.a71,A.a7_,A.a70,A.a6W,A.a6X,A.a6Y,A.a9O,A.aa3,A.aa4,A.aa2,A.aa6,A.abF,A.abG,A.abD,A.abE,A.acB,A.aje,A.a0w,A.WZ,A.X_,A.X0,A.X1,A.WY,A.WV,A.WW,A.WX,A.abO,A.abL,A.abN,A.al_,A.akZ]) +q(A.Wj,A.R6) +p(A.EU,[A.ET,A.v6,A.pI]) +p(A.F8,[A.a02,A.akv,A.aks,A.a64,A.akS,A.akH,A.a1m,A.a1i,A.YO,A.aah,A.ajI,A.al8,A.a07,A.Xi,A.Wm,A.X3,A.a13,A.akO,A.ajz,A.akk,A.a_8,A.a_2,A.afd,A.aan,A.ahI,A.a1E,A.a1N,A.aaa,A.aa9,A.ag8,A.ag5,A.a5A,A.aj7,A.ac0,A.ac1,A.ac2,A.aj6,A.aj5,A.ajM,A.a4K,A.a4L,A.a4M,A.a4N,A.a8j,A.a8k,A.aak,A.aal,A.V9,A.Va,A.a4z,A.W9,A.afx,A.a5o,A.Xa,A.a6y,A.a1O,A.agg,A.ahx,A.ahw,A.ajq,A.ajr,A.ahg,A.adM,A.a8B,A.ai8,A.abx,A.adP,A.a0k,A.a0B,A.a0y,A.V4,A.a59,A.a7Y,A.a7d,A.a7g,A.a7j,A.a7i,A.a4Z,A.a6a,A.a69,A.a6b,A.a6c,A.a7m,A.a7z,A.a7C,A.a7D,A.a7S,A.a7f,A.a7k,A.a7E,A.a7V,A.a8E,A.aik,A.a9v,A.a9w,A.a9d,A.VL,A.ae5,A.aag,A.a_O,A.af7,A.XK,A.XH,A.XG,A.XI,A.XJ,A.XE,A.XF,A.ahr,A.aho,A.a77,A.a78,A.Yy,A.a_K,A.afq,A.a_H,A.afA,A.agF,A.ahA,A.aix,A.agT,A.agZ,A.ajw,A.ajx,A.agC,A.agB,A.agz,A.a8V,A.aid,A.aib,A.aic,A.a8Y,A.a9P,A.a9S,A.ahz,A.ahy,A.a74,A.aaT,A.abM,A.ack]) +p(A.aeB,[A.nV,A.pH,A.wP,A.o1,A.n6,A.uF,A.An,A.wX,A.fL,A.UL,A.ns,A.vZ,A.lt,A.qb,A.Ap,A.NO,A.rD,A.A0,A.bn,A.cX,A.F0,A.IL,A.wV,A.a1c,A.KU,A.aav,A.IJ,A.mT,A.pL,A.Vn,A.nk,A.ql,A.a6d,A.hB,A.uE,A.Xm,A.acg,A.LC,A.jU,A.iS,A.qS,A.lH,A.k6,A.m4,A.aaV,A.L6,A.j1,A.zF,A.Ew,A.Vs,A.Le,A.EA,A.uS,A.jN,A.uW,A.nb,A.Zj,A.nn,A.a0n,A.a81,A.EK,A.h_,A.rZ,A.E9,A.Sp,A.Fo,A.vA,A.jt,A.ef,A.GD,A.AG,A.Nt,A.G_,A.HW,A.wr,A.abA,A.t5,A.a0c,A.uV,A.VG,A.Yi,A.AP,A.afJ,A.mj,A.Zp,A.nS,A.acu,A.ahm,A.fh,A.iZ,A.KI,A.aaJ,A.aaI,A.nR,A.a8K,A.yk,A.Em,A.ac9,A.pA,A.Eu,A.Ez,A.uR,A.qo,A.zL,A.abv,A.zt,A.B4,A.Zk,A.Hz,A.ly,A.n4,A.IV,A.wx,A.Fv,A.lV,A.ot,A.oJ,A.rj,A.z8,A.L7,A.GI,A.zv,A.EF,A.yW,A.mc,A.A9,A.on,A.Xo,A.qy,A.Hd,A.zz,A.nK,A.fG,A.n8,A.KW,A.a98,A.vg,A.hJ,A.AM,A.iH,A.Ls,A.lc,A.ZE,A.m8,A.Lp,A.td,A.qh,A.Ih,A.dT,A.I3,A.CJ,A.rb,A.e5,A.C3,A.tk,A.RS,A.tT,A.a8e,A.K8,A.oq,A.Kc,A.K9,A.ri,A.x5,A.zq,A.bP,A.EI,A.H_,A.zX,A.i9,A.zf,A.a1v,A.od]) +p(A.j,[A.nW,A.ki,A.AC,A.ic,A.W,A.dZ,A.aF,A.hO,A.oI,A.k4,A.zm,A.jy,A.dq,A.nE,A.p0,A.jf,A.nL,A.vL,A.bh,A.lg,A.T9]) +q(A.Ao,A.EX) +q(A.v4,A.EB) +p(A.eb,[A.pS,A.IS,A.IW]) +p(A.pS,[A.JN,A.F2,A.F6,A.F4,A.If,A.A_,A.GY]) +q(A.Id,A.A_) +p(A.a6P,[A.a5h,A.a5G]) +p(A.rV,[A.nU,A.o_]) +p(A.ok,[A.dn,A.lQ]) +p(A.XR,[A.r4,A.i8]) +q(A.EV,A.Kt) +p(A.bE,[A.EL,A.e9,A.hb,A.k9,A.H9,A.Lt,A.N3,A.JT,A.NF,A.wT,A.mQ,A.fm,A.jL,A.Lv,A.oQ,A.ho,A.Fd,A.NT]) +q(A.G8,A.XQ) +p(A.e9,[A.Gw,A.wn,A.wo]) +p(A.YI,[A.jm,A.Nl]) +p(A.d3,[A.dz,A.IO]) +p(A.dz,[A.Pw,A.Pv,A.xS,A.xU,A.xV,A.xW,A.xY,A.xZ]) +q(A.xT,A.Pw) +q(A.IM,A.Pv) +q(A.XW,A.Nl) +q(A.GN,A.GP) +q(A.GR,A.GN) +p(A.IO,[A.IP,A.xX]) +p(A.cx,[A.vM,A.xL,A.ID,A.IH,A.IF,A.IE,A.IG]) +p(A.vM,[A.Ip,A.Io,A.In,A.Iv,A.Ix,A.IB,A.IA,A.Is,A.Iw,A.Ir,A.Iz,A.IC,A.It,A.Iu,A.Iy]) +q(A.wt,A.YK) +q(A.Be,A.lb) +p(A.G9,[A.xm,A.a4m]) +p(A.Vx,[A.xo,A.zj]) +q(A.Gc,A.a6g) +q(A.Mm,A.V0) +q(A.Tk,A.acV) +q(A.ah0,A.Tk) +p(A.J5,[A.Ws,A.FH,A.a_G,A.a0H,A.a0N,A.a1C,A.a6o,A.a8X,A.a_9,A.VF,A.aaZ]) +p(A.k1,[A.ra,A.Gu,A.Hg,A.nO,A.L0]) +p(A.a1u,[A.V2,A.Y5,A.zl]) +p(A.a9k,[A.Xx,A.a4Q]) +q(A.vu,A.Nb) +p(A.vu,[A.a9y,A.GH,A.rd]) +p(A.X,[A.jh,A.rO]) +q(A.Ot,A.jh) +q(A.Lq,A.Ot) +p(A.rw,[A.EQ,A.JO]) +p(A.ab7,[A.a1y,A.Z7,A.ac8]) +p(A.ab6,[A.adO,A.ls,A.mS]) +q(A.OC,A.adO) +q(A.OD,A.OC) +q(A.OE,A.OD) +q(A.hd,A.OE) +q(A.vW,A.hd) +p(A.YL,[A.a5z,A.Z3,A.Y6,A.a_w,A.a5x,A.a6G,A.a97,A.a9A]) +p(A.YM,[A.a5B,A.xp,A.abk,A.a5E,A.Xp,A.a67,A.YA,A.ac3]) +q(A.a5l,A.xp) +p(A.GH,[A.a08,A.US,A.Zh]) +p(A.ab9,[A.abe,A.abl,A.abg,A.abj,A.abf,A.abi,A.ab8,A.abb,A.abh,A.abd,A.abc,A.aba]) +p(A.FI,[A.Xg,A.GB]) +p(A.jw,[A.NE,A.q0]) +p(J.qu,[J.wQ,J.wR,J.d,J.nG,J.nH,J.lr,J.jH]) +p(J.d,[J.fB,J.v,A.lA,A.xt,A.Y,A.E2,A.uK,A.hG,A.bN,A.MV,A.er,A.Fq,A.FS,A.Nn,A.vK,A.Np,A.FZ,A.NJ,A.ev,A.GM,A.Od,A.Hx,A.HJ,A.OW,A.OX,A.ex,A.OY,A.Pa,A.eA,A.PC,A.R4,A.eE,A.RK,A.eF,A.RQ,A.e0,A.Sa,A.Lf,A.eI,A.Sk,A.Lj,A.Lx,A.T2,A.T7,A.Tg,A.Tz,A.TB,A.fC,A.OF,A.fJ,A.Pj,A.IZ,A.RT,A.fQ,A.Sq,A.Ei,A.Ma]) +p(J.fB,[J.IT,J.j4,J.f5,A.zQ,A.pW,A.a0g,A.qH]) +q(J.a12,J.v) +p(J.lr,[J.qv,J.wS]) +p(A.ic,[A.mY,A.D7,A.kX,A.jr]) +q(A.AJ,A.mY) +q(A.Am,A.D7) +q(A.bL,A.Am) +p(A.aC,[A.mZ,A.fA,A.kk,A.Ow]) +q(A.js,A.rO) +p(A.W,[A.aD,A.fv,A.aZ,A.oZ,A.B9,A.kn,A.p6,A.Cq]) +p(A.aD,[A.i7,A.aw,A.co,A.x0,A.Ox,A.AV]) +q(A.hN,A.dZ) +q(A.vU,A.oI) +q(A.q_,A.k4) +q(A.vT,A.jy) +q(A.pZ,A.nE) +p(A.mw,[A.Qm,A.Qn,A.Qo]) +p(A.Qm,[A.au,A.BG,A.Qp,A.BH,A.Qq,A.Qr,A.Qs]) +p(A.Qn,[A.p2,A.Qt,A.BI,A.BJ,A.Qu,A.Qv,A.Qw,A.BK]) +q(A.BL,A.Qo) +q(A.CR,A.x7) +q(A.oR,A.CR) +q(A.n2,A.oR) +p(A.pR,[A.bs,A.d8]) +p(A.hn,[A.vh,A.tP]) +p(A.vh,[A.dW,A.dx]) +q(A.wO,A.wN) +q(A.xC,A.k9) +p(A.L2,[A.KP,A.pD]) +q(A.nI,A.fA) +p(A.xt,[A.xq,A.qG]) +p(A.qG,[A.Bl,A.Bn]) +q(A.Bm,A.Bl) +q(A.lB,A.Bm) +q(A.Bo,A.Bn) +q(A.fI,A.Bo) +p(A.lB,[A.xr,A.HZ]) +p(A.fI,[A.I_,A.xs,A.I0,A.I1,A.I2,A.xu,A.iM]) +q(A.CM,A.NF) +p(A.c5,[A.tS,A.t0,A.hx,A.mi]) +q(A.j7,A.tS) +q(A.c0,A.j7) +p(A.hv,[A.mf,A.tg]) +q(A.oU,A.mf) +p(A.hu,[A.je,A.Ag]) +q(A.t1,A.je) +q(A.b1,A.MB) +p(A.p7,[A.t2,A.mz]) +p(A.Ne,[A.mg,A.oX]) +p(A.hx,[A.pb,A.Ba]) +q(A.ahH,A.ajp) +p(A.kk,[A.ml,A.Ax]) +p(A.tP,[A.j8,A.fg]) +p(A.AE,[A.AD,A.AF]) +p(A.RO,[A.eO,A.eN]) +p(A.RN,[A.Cr,A.Cs]) +q(A.zr,A.Cr) +p(A.jd,[A.ko,A.Cu,A.p5]) +q(A.Ct,A.Cs) +q(A.rv,A.Ct) +p(A.KR,[A.CA,A.acT]) +q(A.B5,A.CA) +p(A.F9,[A.Vf,A.YB,A.a17]) +p(A.vj,[A.Vh,A.Vg,A.O3,A.a19,A.a18,A.ac7,A.Lz]) +p(A.VH,[A.acU,A.adC,A.SQ]) +q(A.aj9,A.acU) +q(A.Ha,A.wT) +q(A.ag2,A.ER) +q(A.Oy,A.ag7) +q(A.Tc,A.Oy) +q(A.ag6,A.Tc) +q(A.ac6,A.YB) +q(A.TX,A.SP) +q(A.ajc,A.TX) +p(A.fm,[A.r_,A.wF]) +q(A.N5,A.CS) +p(A.Y,[A.b3,A.Gl,A.eD,A.Co,A.eH,A.e2,A.CG,A.LA,A.Ek,A.kP]) +p(A.b3,[A.ar,A.iu]) +q(A.at,A.ar) +p(A.at,[A.E7,A.Ee,A.Gx,A.Kg]) +q(A.Fj,A.hG) +q(A.pT,A.MV) +p(A.er,[A.Fk,A.Fl]) +q(A.No,A.Nn) +q(A.vJ,A.No) +q(A.Nq,A.Np) +q(A.FX,A.Nq) +q(A.eu,A.uK) +q(A.NK,A.NJ) +q(A.Gk,A.NK) +q(A.Oe,A.Od) +q(A.ny,A.Oe) +q(A.HN,A.OW) +q(A.HO,A.OX) +q(A.OZ,A.OY) +q(A.HP,A.OZ) +q(A.Pb,A.Pa) +q(A.xA,A.Pb) +q(A.PD,A.PC) +q(A.IY,A.PD) +q(A.JR,A.R4) +q(A.Cp,A.Co) +q(A.KL,A.Cp) +q(A.RL,A.RK) +q(A.KN,A.RL) +q(A.KQ,A.RQ) +q(A.Sb,A.Sa) +q(A.L8,A.Sb) +q(A.CH,A.CG) +q(A.L9,A.CH) +q(A.Sl,A.Sk) +q(A.Li,A.Sl) +q(A.T3,A.T2) +q(A.MU,A.T3) +q(A.AB,A.vK) +q(A.T8,A.T7) +q(A.O4,A.T8) +q(A.Th,A.Tg) +q(A.Bk,A.Th) +q(A.TA,A.Tz) +q(A.RM,A.TA) +q(A.TC,A.TB) +q(A.RW,A.TC) +q(A.ta,A.Zg) +p(A.nj,[A.xP,A.xQ,A.xR]) +q(A.OG,A.OF) +q(A.Ho,A.OG) +q(A.Pk,A.Pj) +q(A.I9,A.Pk) +q(A.RU,A.RT) +q(A.KS,A.RU) +q(A.Sr,A.Sq) +q(A.Lm,A.Sr) +p(A.Ic,[A.m,A.K]) +q(A.Ej,A.Ma) +q(A.Ib,A.kP) +p(A.fr,[A.eL,A.KJ,A.Lh,A.R8,A.KY,A.fd,A.Mf,A.HU,A.Ko,A.yH,A.Hc,A.dO,A.AW,A.Cy,A.rh,A.z1,A.zp]) +p(A.eL,[A.EH,A.LI]) +q(A.Xz,A.Nf) +p(A.Xz,[A.i,A.jF,A.Kp,A.b2]) +p(A.i,[A.aV,A.a3,A.aL,A.as,A.yL,A.Ph]) +p(A.aV,[A.EJ,A.E_,A.qF,A.HX,A.nX,A.vn,A.LR,A.rY,A.Eo,A.G1,A.G6,A.Gq,A.GW,A.wK,A.Ck,A.xd,A.SZ,A.Mh,A.Ke,A.KX,A.k7,A.Si,A.Pf,A.J1,A.iI,A.fp,A.Ff,A.Pg,A.FC,A.GC,A.nA,A.Mr,A.HR,A.P0,A.I4,A.qP,A.GO,A.JU,A.Kb,A.Ku,A.KB,A.Pi,A.cW,A.R0,A.Lg,A.Jg]) +p(A.dJ,[A.du,A.uY,A.pF,A.kV,A.rS]) +q(A.h4,A.vy) +p(A.a6h,[A.VX,A.Zu,A.a0q,A.a60,A.a9F,A.a9L,A.ac4]) +p(A.VX,[A.a4s,A.VY]) +p(A.mA,[A.rP,A.rn]) +q(A.dc,A.LN) +p(A.a3,[A.mW,A.la,A.ww,A.wy,A.om,A.oH,A.vl,A.t7,A.r2,A.xb,A.uD,A.yc,A.uU,A.Cg,A.B3,A.x9,A.H1,A.mC,A.mD,A.tC,A.y4,A.tG,A.J9,A.qY,A.yQ,A.AN,A.yO,A.oD,A.ux,A.zD,A.zE,A.zY,A.jl,A.no,A.A7,A.qd,A.pz,A.vE,A.pX,A.nm,A.wm,A.lM,A.nw,A.qj,A.x4,A.Bg,A.xy,A.km,A.qK,A.xH,A.ws,A.zy,A.xK,A.y3,A.lR,A.yK,A.JQ,A.tx,A.tO,A.yX,A.z_,A.Cd,A.os,A.zg,A.oB,A.zh,A.Ch,A.rK,A.kd,A.A5,A.rX]) +q(A.ag,A.RP) +p(A.ag,[A.T0,A.Nx,A.Oa,A.Oc,A.R7,A.TD,A.MZ,A.t8,A.tI,A.Bb,A.Af,A.Tl,A.D6,A.Rh,A.Dd,A.Td,A.tp,A.Dj,A.Dk,A.Bx,A.qT,A.BE,A.D8,A.u0,A.C5,A.Db,A.C6,A.Cn,A.CB,A.CC,A.CK,A.Ac,A.AS,A.U0,A.AU,A.Ah,A.D9,A.AH,A.te,A.O_,A.r0,A.tm,A.Tb,A.OK,A.Te,A.Br,A.Bu,A.Pq,A.Pp,A.Dc,A.Di,A.Pt,A.BB,A.Tr,A.C2,A.u2,A.mq,A.Tw,A.Ka,A.Ce,A.Rc,A.Tv,A.Rr,A.Cm,A.Cl,A.Ri,A.Se,A.Ad,A.tZ,A.TY,A.SW]) +q(A.Al,A.T0) +p(A.af,[A.Fp,A.ct,A.Bh,A.RZ,A.vp]) +p(A.Fp,[A.qL,A.Rq,A.Mx,A.B0,A.O7]) +q(A.S3,A.TD) +p(A.ct,[A.M_,A.LV,A.LW,A.Qc,A.QZ,A.N2,A.Sm,A.Aq,A.D5,A.T1,A.T4]) +q(A.M0,A.M_) +q(A.M1,A.M0) +q(A.pv,A.M1) +p(A.a9Q,[A.afZ,A.ahD,A.GA,A.zs,A.Vp,A.Wz]) +q(A.Ea,A.M2) +q(A.Qd,A.Qc) +q(A.Qe,A.Qd) +q(A.of,A.Qe) +q(A.R_,A.QZ) +q(A.fO,A.R_) +q(A.n5,A.N2) +q(A.Sn,A.Sm) +q(A.So,A.Sn) +q(A.oP,A.So) +q(A.Ar,A.Aq) +q(A.As,A.Ar) +q(A.pQ,A.As) +p(A.pQ,[A.uA,A.Ae]) +q(A.es,A.xO) +p(A.es,[A.B7,A.yN,A.dl,A.zR,A.dK,A.Ld,A.q6,A.N7]) +q(A.b0,A.D5) +p(A.aI,[A.id,A.aR,A.h3,A.A1]) +p(A.aR,[A.yI,A.iv,A.ye,A.ll,A.xf,A.oz,A.oL,A.Fw,A.vR,A.mU,A.oK]) +p(A.C,[A.MW,A.l1,A.LG]) +q(A.eX,A.MW) +q(A.cD,A.Ol) +q(A.MX,A.cD) +q(A.Fm,A.MX) +p(A.f7,[A.MY,A.OO,A.SV]) +q(A.hH,A.N8) +p(A.hH,[A.ie,A.m9,A.fo]) +p(A.Ex,[A.adY,A.aj2,A.ad_]) +p(A.r2,[A.pU,A.tw]) +q(A.iT,A.tI) +p(A.iT,[A.N_,A.OP]) +q(A.vm,A.N0) +p(A.aL,[A.aY,A.dM,A.cL]) +p(A.aY,[A.cU,A.wh,A.By,A.C4,A.R9,A.Ab,A.SK,A.iF,A.h9,A.B8,A.nx,A.p3,A.qW,A.A2,A.R3,A.yU,A.C9,A.Cb,A.rk,A.Rv,A.AI,A.p9,A.Bz]) +p(A.cU,[A.wI,A.wA,A.nM,A.B1,A.l6,A.nC,A.pV]) +q(A.N1,A.xz) +q(A.vo,A.N1) +q(A.ae6,A.vm) +p(A.d_,[A.iw,A.vC,A.vB]) +q(A.mh,A.iw) +p(A.mh,[A.q1,A.Gf,A.Gd]) +q(A.bF,A.NS) +q(A.nl,A.NT) +q(A.FG,A.vC) +p(A.vB,[A.NR,A.FF,A.Rm]) +p(A.ea,[A.Hw,A.f1]) +p(A.Hw,[A.rN,A.dS]) +q(A.wZ,A.he) +p(A.aiZ,[A.O1,A.me,A.AY]) +q(A.wi,A.bF) +q(A.aO,A.PM) +q(A.TI,A.LQ) +q(A.TJ,A.TI) +q(A.Sw,A.TJ) +p(A.aO,[A.PE,A.PZ,A.PP,A.PK,A.PN,A.PI,A.PR,A.Q7,A.Q6,A.PV,A.PX,A.PT,A.PG]) +q(A.PF,A.PE) +q(A.o3,A.PF) +p(A.Sw,[A.TE,A.TQ,A.TL,A.TH,A.TK,A.TG,A.TM,A.TW,A.TT,A.TU,A.TR,A.TO,A.TP,A.TN,A.TF]) +q(A.Ss,A.TE) +q(A.Q_,A.PZ) +q(A.o8,A.Q_) +q(A.SD,A.TQ) +q(A.PQ,A.PP) +q(A.jW,A.PQ) +q(A.Sy,A.TL) +q(A.PL,A.PK) +q(A.lJ,A.PL) +q(A.Sv,A.TH) +q(A.PO,A.PN) +q(A.lK,A.PO) +q(A.Sx,A.TK) +q(A.PJ,A.PI) +q(A.jV,A.PJ) +q(A.Su,A.TG) +q(A.PS,A.PR) +q(A.o5,A.PS) +q(A.Sz,A.TM) +q(A.Q8,A.Q7) +q(A.ob,A.Q8) +q(A.SH,A.TW) +q(A.ed,A.Q6) +p(A.ed,[A.Q2,A.Q4,A.Q0]) +q(A.Q3,A.Q2) +q(A.o9,A.Q3) +q(A.SF,A.TT) +q(A.Q5,A.Q4) +q(A.oa,A.Q5) +q(A.TV,A.TU) +q(A.SG,A.TV) +q(A.Q1,A.Q0) +q(A.J_,A.Q1) +q(A.TS,A.TR) +q(A.SE,A.TS) +q(A.PW,A.PV) +q(A.jX,A.PW) +q(A.SB,A.TO) +q(A.PY,A.PX) +q(A.o7,A.PY) +q(A.SC,A.TP) +q(A.PU,A.PT) +q(A.o6,A.PU) +q(A.SA,A.TN) +q(A.PH,A.PG) +q(A.o4,A.PH) +q(A.St,A.TF) +p(A.tW,[A.Bf,A.tA]) +p(A.cI,[A.O5,A.oW,A.Nw]) +q(A.cJ,A.O5) +p(A.cJ,[A.ce,A.hK]) +p(A.ce,[A.qV,A.fu,A.BA]) +p(A.qV,[A.hU,A.Eq]) +p(A.fu,[A.fT,A.fy,A.hY]) +p(A.Eq,[A.fa,A.t_]) +q(A.nz,A.ia) +q(A.qA,A.nz) +p(A.LR,[A.En,A.G0,A.G5]) +q(A.pr,A.LT) +q(A.a4f,A.K7) +p(A.a9R,[A.aiW,A.ahc,A.aiY]) +q(A.Qa,A.K) +p(A.as,[A.b_,A.ec,A.Hm,A.tB,A.KH,A.BF]) +p(A.b_,[A.M5,A.Os,A.Or,A.Mv,A.Op,A.OT,A.xn,A.uB,A.Ie,A.vr,A.pM,A.F1,A.IQ,A.IR,A.Lk,A.Gm,A.Gy,A.cf,A.fl,A.l4,A.m0,A.h2,A.Hp,A.xF,A.px,A.H5,A.KG,A.Hu,A.i0,A.qi,A.E0,A.zb,A.xk,A.Es,A.w4,A.wH,A.ve,A.Ft,A.O6,A.Nc,A.Pz,A.Rb,A.tQ,A.RE,A.KK,A.L_,A.ni]) +q(A.G,A.QH) +p(A.G,[A.H,A.QR,A.cn]) +p(A.H,[A.BX,A.BV,A.QC,A.BN,A.yo,A.yr,A.QE,A.BT,A.PB,A.QP,A.Lb,A.ja,A.QS,A.Dg,A.Df]) +q(A.r5,A.BX) +p(A.r5,[A.Jm,A.BR,A.BQ,A.QG,A.yw,A.yn]) +p(A.Jm,[A.Qy,A.Qz,A.yx]) +q(A.pw,A.M4) +q(A.acE,A.pw) +q(A.qB,A.ye) +q(A.uJ,A.Mc) +q(A.xc,A.OM) +q(A.uM,A.Mj) +q(A.uN,A.Mk) +q(A.uO,A.Ml) +q(A.Qj,A.Tl) +q(A.uT,A.Mn) +q(A.be,A.Mo) +q(A.Aj,A.D6) +q(A.c9,A.P2) +p(A.c9,[A.LH,A.Nd,A.Pc,A.j_]) +p(A.LH,[A.P1,A.Nz,A.Ny,A.ND]) +q(A.ED,A.Mp) +q(A.v0,A.Ms) +q(A.v1,A.Mu) +q(A.v2,A.Mw) +q(A.pN,A.Mz) +q(A.HD,A.l1) +q(A.vs,A.N4) +q(A.vt,A.N6) +q(A.vD,A.Ng) +q(A.vF,A.Nk) +q(A.vN,A.Nu) +q(A.vO,A.Nv) +p(A.uU,[A.G3,A.Oj]) +p(A.be,[A.NB,A.Oi,A.NM,A.NN,A.Pn]) +q(A.vV,A.NC) +q(A.w9,A.NH) +q(A.wd,A.NL) +q(A.q7,A.NQ) +q(A.aeF,A.q7) +q(A.aad,A.Zo) +q(A.T5,A.aad) +q(A.T6,A.T5) +q(A.aeA,A.T6) +q(A.ai9,A.Zn) +p(A.bu,[A.Of,A.Oh,A.Ta]) +q(A.Og,A.Ta) +q(A.nB,A.Ok) +q(A.lm,A.jE) +p(A.lm,[A.lj,A.wL,A.wM]) +p(A.qt,[A.afX,A.afY]) +q(A.B2,A.Dd) +q(A.H3,A.wK) +q(A.H4,A.Oq) +q(A.x1,A.OJ) +q(A.OQ,A.Td) +q(A.BW,A.BV) +q(A.JB,A.BW) +p(A.JB,[A.BP,A.yy,A.ym,A.oh,A.Jv,A.yj,A.ys,A.Jx,A.Qx,A.tJ,A.Jr,A.JJ,A.yp,A.Jt,A.JD,A.yq,A.yv,A.yg,A.yz,A.Jo,A.Jw,A.Js,A.Ju,A.yi,A.To,A.BS,A.QK,A.tK]) +p(A.H1,[A.Bc,A.uw,A.ut,A.uv]) +q(A.qq,A.tp) +q(A.pu,A.qq) +p(A.pu,[A.ON,A.LZ,A.LX,A.LY]) +q(A.qC,A.OV) +q(A.HL,A.qC) +q(A.xj,A.OS) +q(A.HM,A.OU) +q(A.xv,A.P7) +q(A.xw,A.P8) +q(A.xx,A.P9) +q(A.xG,A.Pm) +q(A.cp,A.R2) +q(A.qM,A.cp) +q(A.dR,A.qM) +q(A.p1,A.dR) +q(A.fF,A.p1) +p(A.fF,[A.xJ,A.y5]) +q(A.Bd,A.xJ) +q(A.fE,A.Bd) +q(A.SX,A.Dj) +q(A.SY,A.Dk) +p(A.jP,[A.LO,A.Fn]) +q(A.Im,A.Ps) +p(A.KJ,[A.D3,A.D4]) +q(A.oc,A.y4) +q(A.BD,A.y5) +q(A.qU,A.Q9) +q(A.aha,A.qU) +q(A.v3,A.J9) +q(A.My,A.D8) +q(A.qX,A.Qb) +q(A.adL,A.qX) +q(A.u1,A.u0) +q(A.tH,A.u1) +q(A.Qf,A.Lh) +q(A.qZ,A.Qg) +q(A.ahh,A.qZ) +q(A.yR,A.C5) +p(A.X4,[A.aq,A.m1]) +q(A.Ai,A.aq) +p(A.a54,[A.ai7,A.aiX]) +q(A.AO,A.Db) +q(A.C7,A.C6) +q(A.rf,A.C7) +q(A.bp,A.LU) +p(A.bp,[A.FM,A.fs,A.kU,A.LF,A.FQ,A.Av,A.JL,A.I5,A.J4,A.FK]) +p(A.FM,[A.Ni,A.Nj]) +q(A.z2,A.Rd) +q(A.z3,A.Re) +q(A.z4,A.Rf) +q(A.z5,A.Rg) +q(A.zn,A.RC) +q(A.ru,A.RJ) +q(A.ait,A.ru) +q(A.zA,A.RX) +q(A.rB,A.S0) +p(A.ux,[A.S4,A.KA,A.HH,A.Kv,A.Fu,A.nN]) +q(A.QD,A.QC) +q(A.BO,A.QD) +q(A.oi,A.BO) +q(A.S2,A.oi) +p(A.ec,[A.wg,A.vq,A.Hq,A.zu,A.LM,A.JM,A.CI,A.oS]) +p(A.wg,[A.S1,A.yM,A.Fa]) +q(A.Mt,A.T1) +q(A.tc,A.T4) +q(A.Ra,A.fd) +q(A.k3,A.Ra) +q(A.or,A.k3) +p(A.or,[A.aiE,A.mt]) +q(A.aiR,A.rB) +q(A.zG,A.S5) +q(A.zO,A.S7) +q(A.db,A.S9) +q(A.hs,A.Sd) +q(A.HC,A.vo) +q(A.ke,A.ST) +q(A.zT,A.Sf) +q(A.zU,A.Sh) +q(A.NG,A.xn) +p(A.yy,[A.yu,A.JA,A.k0,A.BM,A.JI]) +q(A.QB,A.yu) +q(A.m6,A.CK) +q(A.zZ,A.Sj) +q(A.rL,A.SI) +p(A.mO,[A.dI,A.e7,A.P_]) +p(A.uL,[A.cH,A.Bi]) +q(A.cA,A.Mi) +p(A.bT,[A.da,A.hw,A.Ev]) +p(A.Ev,[A.dV,A.e8]) +q(A.jq,A.lZ) +p(A.da,[A.dv,A.d4,A.ei,A.eG,A.ej,A.ek]) +p(A.cS,[A.aJ,A.f_,A.mp]) +p(A.Mq,[A.Ak,A.tt]) +q(A.nD,A.Om) +p(A.nD,[A.LP,A.aeC,A.HV]) +p(A.fz,[A.Eg,A.lz,A.yT]) +q(A.uH,A.Eg) +q(A.a0I,A.On) +p(A.aaU,[A.LL,A.aj3,A.EP,A.a1A,A.xM,A.XV]) +q(A.rH,A.jF) +q(A.n,A.S8) +q(A.lT,A.zs) +q(A.jS,A.Px) +q(A.N9,A.jS) +q(A.oj,A.QR) +q(A.QY,A.oj) +p(A.jB,[A.kT,A.rs]) +p(A.iE,[A.kS,A.KD]) +p(A.ca,[A.ep,A.CE,A.zo,A.m2]) +q(A.Au,A.ep) +q(A.vi,A.Au) +p(A.vi,[A.hi,A.dL,A.iJ,A.dP,A.j6]) +q(A.QA,A.BN) +q(A.yl,A.QA) +q(A.Hi,A.OB) +p(A.Hi,[A.a68,A.abw,A.a6j,A.Fg]) +p(A.Fg,[A.iP,A.vc,A.F5,A.F3,A.Eb]) +p(A.iP,[A.wE,A.m7,A.Ig]) +q(A.QF,A.QE) +q(A.yt,A.QF) +q(A.P4,A.Tf) +q(A.jR,A.WA) +p(A.aij,[A.MD,A.eM]) +p(A.eM,[A.R1,A.B_,A.p8]) +q(A.m5,A.CE) +q(A.QI,A.BT) +q(A.QJ,A.QI) +q(A.lO,A.QJ) +q(A.Tt,A.Ts) +q(A.Tu,A.Tt) +q(A.jc,A.Tu) +q(A.IX,A.PB) +q(A.Jn,A.Qx) +q(A.oy,A.vp) +p(A.tJ,[A.Jq,A.Jp,A.BU]) +p(A.BU,[A.Jy,A.Jz]) +p(A.a9b,[A.vb,A.z7]) +q(A.ou,A.Rk) +q(A.KC,A.RF) +q(A.RI,A.m2) +q(A.k5,A.RI) +p(A.cn,[A.BZ,A.QL]) +q(A.QN,A.BZ) +q(A.QO,A.QN) +q(A.lP,A.QO) +p(A.lP,[A.JF,A.JG]) +q(A.JE,A.JF) +q(A.RG,A.zo) +q(A.RH,A.RG) +q(A.fP,A.RH) +q(A.yA,A.QL) +p(A.yA,[A.JH,A.QM]) +q(A.QQ,A.QP) +q(A.yB,A.QQ) +q(A.r6,A.ja) +q(A.yC,A.r6) +q(A.QT,A.QS) +q(A.yD,A.QT) +q(A.Kl,A.Rl) +q(A.c4,A.Ro) +q(A.rm,A.Rp) +q(A.qJ,A.rm) +p(A.a9l,[A.abH,A.a1I,A.aaQ,A.ZI]) +q(A.VI,A.Ef) +q(A.a6e,A.VI) +p(A.Vj,[A.ae3,A.Jj]) +q(A.ha,A.Oz) +p(A.ha,[A.jI,A.nJ,A.qx]) +q(A.a1s,A.OA) +p(A.a1s,[A.f,A.k]) +p(A.qD,[A.Pd,A.S_]) +q(A.hX,A.dy) +q(A.yb,A.Qh) +q(A.k_,A.Qi) +p(A.k_,[A.lN,A.r1]) +q(A.Je,A.yb) +q(A.zM,A.cj) +q(A.Py,A.Tj) +q(A.p_,A.o2) +q(A.aQ,A.Ou) +q(A.UM,A.LS) +p(A.aQ,[A.ps,A.pE,A.iy,A.jY,A.nZ,A.oe,A.eB,A.FR,A.FL,A.Kf,A.vk,A.IK,A.Ji,A.Lr,A.Lo]) +p(A.fs,[A.J8,A.De,A.rg]) +q(A.Bv,A.De) +q(A.CW,A.U0) +p(A.I6,[A.qw,A.lC,A.hc,A.Bw,A.C8]) +p(A.b2,[A.vf,A.bx,A.C1,A.Pe]) +p(A.vf,[A.y9,A.KO,A.hp]) +p(A.y9,[A.f4,A.lG,A.Ti]) +p(A.f4,[A.SJ,A.wJ,A.tq]) +q(A.h5,A.SK) +q(A.kY,A.fl) +p(A.dM,[A.wY,A.lL,A.Gp,A.wU]) +p(A.bx,[A.zi,A.Hl,A.fH,A.JK,A.Po,A.rt]) +p(A.zi,[A.Pl,A.Tx]) +q(A.w7,A.Gp) +p(A.Hm,[A.Jd,A.Gg,A.qR,A.La]) +q(A.yJ,A.C1) +q(A.CX,A.Er) +q(A.CY,A.CX) +q(A.CZ,A.CY) +q(A.D_,A.CZ) +q(A.D0,A.D_) +q(A.D1,A.D0) +q(A.D2,A.D1) +q(A.LK,A.D2) +q(A.Da,A.D9) +q(A.Az,A.Da) +q(A.NX,A.NW) +q(A.cd,A.NX) +p(A.cd,[A.ld,A.AR]) +q(A.M6,A.e4) +q(A.NV,A.NU) +q(A.wk,A.NV) +q(A.wl,A.nm) +q(A.NZ,A.wl) +q(A.NY,A.te) +q(A.AQ,A.iF) +q(A.Gt,A.O0) +q(A.de,A.Tn) +q(A.j9,A.Tm) +q(A.Ql,A.Gt) +q(A.a75,A.Ql) +p(A.f1,[A.bv,A.nu,A.Ay]) +p(A.nt,[A.cT,A.M3]) +q(A.ae8,A.a9m) +q(A.wv,A.nY) +q(A.AZ,A.Tb) +p(A.h9,[A.iL,A.Bj,A.Rs]) +q(A.OR,A.Te) +q(A.FD,A.Ln) +q(A.fU,A.a8g) +p(A.mr,[A.tz,A.ty,A.Bp,A.Bq]) +q(A.O9,A.T9) +q(A.Bs,A.Br) +q(A.iN,A.Bs) +p(A.QW,[A.P6,A.acD]) +p(A.dO,[A.Ob,A.bJ]) +q(A.Bt,A.Ti) +q(A.qN,A.Pq) +p(A.fH,[A.Sc,A.TZ]) +q(A.tV,A.dP) +q(A.Tq,A.Dg) +q(A.my,A.Tq) +p(A.fD,[A.ms,A.mo]) +q(A.Tp,A.To) +q(A.mx,A.Tp) +q(A.AX,A.Dc) +q(A.Cz,A.Di) +q(A.xI,A.Bw) +q(A.Ij,A.rh) +q(A.wf,A.NP) +q(A.Ik,A.wf) +p(A.op,[A.AT,A.qO,A.Jc,A.uP,A.va,A.E6]) +q(A.FB,A.a6i) +q(A.PA,A.oh) +q(A.QX,A.Tr) +p(A.bJ,[A.ih,A.QU,A.QV]) +q(A.C0,A.ih) +p(A.C0,[A.yG,A.yF]) +q(A.tL,A.u2) +p(A.K6,[A.lh,A.a_M,A.Ye,A.Ep,A.G2]) +q(A.tN,A.dS) +p(A.aa0,[A.aa_,A.aa1]) +q(A.Cj,A.Tw) +q(A.Ca,A.hc) +q(A.eC,A.Ca) +p(A.eC,[A.yY,A.hm,A.iQ,A.k2,A.Ly]) +q(A.oo,A.C8) +q(A.Ey,A.Kb) +q(A.Hr,A.Ey) +q(A.Cf,A.Ce) +q(A.z0,A.Cf) +q(A.P5,A.Kh) +q(A.qE,A.P5) +p(A.qE,[A.Cc,A.Ci]) +q(A.jg,A.fa) +q(A.mB,A.fT) +q(A.mk,A.fy) +q(A.Dh,A.Tv) +q(A.Rj,A.Dh) +q(A.RA,A.Rz) +q(A.a2,A.RA) +q(A.md,A.T_) +q(A.Ru,A.Rt) +q(A.rr,A.Ru) +q(A.Ks,A.Rw) +q(A.Ty,A.Tx) +q(A.RB,A.Ty) +q(A.BY,A.Df) +q(A.oC,A.KH) +p(A.oC,[A.KF,A.RD]) +p(A.FL,[A.vv,A.vx,A.vw,A.FJ,A.yZ]) +p(A.FJ,[A.nc,A.nf,A.wb,A.w5,A.w6,A.hP,A.ng,A.nh,A.ne,A.wa,A.nd]) +q(A.SU,A.rJ) +p(A.HH,[A.JX,A.JP]) +q(A.E8,A.nN) +q(A.SR,A.TY) +q(A.Qk,A.JK) +q(A.U_,A.TZ) +q(A.SS,A.U_) +q(A.CV,A.LG) +p(A.Zu,[A.a4A,A.Zv]) +q(A.Ja,A.zQ) +q(A.a6q,A.Jj) +p(A.a0q,[A.a0r,A.a4B]) +q(A.GZ,A.a0o) +p(A.d7,[A.JY,A.JZ,A.K_,A.K0,A.K1,A.K2,A.K3,A.K4,A.K5]) +q(A.a4C,A.a60) +p(A.a9F,[A.a9G,A.a4D]) +p(A.a9L,[A.a4G,A.a9J]) +p(A.ac4,[A.a4H,A.ac5]) +q(A.X7,A.a6M) +q(A.NA,A.mi) +s(A.Nb,A.Fb) +s(A.Nl,A.a8r) +s(A.OC,A.af2) +s(A.OD,A.af3) +s(A.OE,A.af1) +r(A.Pv,A.AA) +r(A.Pw,A.AA) +s(A.Tk,A.ajg) +s(A.rO,A.Lu) +s(A.D7,A.X) +s(A.Bl,A.X) +s(A.Bm,A.we) +s(A.Bn,A.X) +s(A.Bo,A.we) +s(A.t2,A.M9) +s(A.mz,A.RY) +s(A.Cr,A.aC) +s(A.Cs,A.j) +s(A.Ct,A.hn) +s(A.CR,A.SN) +s(A.Tc,A.ag4) +s(A.TX,A.KR) +s(A.MV,A.X8) +s(A.Nn,A.X) +s(A.No,A.aH) +s(A.Np,A.X) +s(A.Nq,A.aH) +s(A.NJ,A.X) +s(A.NK,A.aH) +s(A.Od,A.X) +s(A.Oe,A.aH) +s(A.OW,A.aC) +s(A.OX,A.aC) +s(A.OY,A.X) +s(A.OZ,A.aH) +s(A.Pa,A.X) +s(A.Pb,A.aH) +s(A.PC,A.X) +s(A.PD,A.aH) +s(A.R4,A.aC) +s(A.Co,A.X) +s(A.Cp,A.aH) +s(A.RK,A.X) +s(A.RL,A.aH) +s(A.RQ,A.aC) +s(A.Sa,A.X) +s(A.Sb,A.aH) +s(A.CG,A.X) +s(A.CH,A.aH) +s(A.Sk,A.X) +s(A.Sl,A.aH) +s(A.T2,A.X) +s(A.T3,A.aH) +s(A.T7,A.X) +s(A.T8,A.aH) +s(A.Tg,A.X) +s(A.Th,A.aH) +s(A.Tz,A.X) +s(A.TA,A.aH) +s(A.TB,A.X) +s(A.TC,A.aH) +s(A.OF,A.X) +s(A.OG,A.aH) +s(A.Pj,A.X) +s(A.Pk,A.aH) +s(A.RT,A.X) +s(A.RU,A.aH) +s(A.Sq,A.X) +s(A.Sr,A.aH) +s(A.Ma,A.aC) +s(A.T0,A.e4) +r(A.TD,A.m_) +s(A.M_,A.uy) +s(A.M0,A.mP) +s(A.M1,A.kL) +s(A.M2,A.ad) +s(A.Aq,A.uz) +s(A.Ar,A.mP) +s(A.As,A.kL) +s(A.N2,A.kM) +s(A.Qc,A.uz) +s(A.Qd,A.mP) +s(A.Qe,A.kL) +s(A.QZ,A.uz) +s(A.R_,A.kL) +s(A.Sm,A.uy) +s(A.Sn,A.mP) +s(A.So,A.kL) +s(A.D5,A.kM) +s(A.MW,A.ad) +s(A.MX,A.ad) +s(A.N0,A.ad) +s(A.N1,A.ad) +s(A.NT,A.hI) +s(A.NS,A.ad) +s(A.Nf,A.ad) +s(A.PE,A.dd) +s(A.PF,A.ME) +s(A.PG,A.dd) +s(A.PH,A.MF) +s(A.PI,A.dd) +s(A.PJ,A.MG) +s(A.PK,A.dd) +s(A.PL,A.MH) +s(A.PM,A.ad) +s(A.PN,A.dd) +s(A.PO,A.MI) +s(A.PP,A.dd) +s(A.PQ,A.MJ) +s(A.PR,A.dd) +s(A.PS,A.MK) +s(A.PT,A.dd) +s(A.PU,A.ML) +s(A.PV,A.dd) +s(A.PW,A.MM) +s(A.PX,A.dd) +s(A.PY,A.MN) +s(A.PZ,A.dd) +s(A.Q_,A.MO) +s(A.Q0,A.dd) +s(A.Q1,A.MP) +s(A.Q2,A.dd) +s(A.Q3,A.MQ) +s(A.Q4,A.dd) +s(A.Q5,A.MR) +s(A.Q6,A.C_) +s(A.Q7,A.dd) +s(A.Q8,A.MS) +s(A.TE,A.ME) +s(A.TF,A.MF) +s(A.TG,A.MG) +s(A.TH,A.MH) +s(A.TI,A.ad) +s(A.TJ,A.dd) +s(A.TK,A.MI) +s(A.TL,A.MJ) +s(A.TM,A.MK) +s(A.TN,A.ML) +s(A.TO,A.MM) +s(A.TP,A.MN) +s(A.TQ,A.MO) +s(A.TR,A.MP) +s(A.TS,A.C_) +s(A.TT,A.MQ) +s(A.TU,A.MR) +s(A.TV,A.C_) +s(A.TW,A.MS) +s(A.O5,A.hI) +s(A.LT,A.ad) +s(A.M4,A.ad) +s(A.Mc,A.ad) +s(A.OM,A.ad) +s(A.Mj,A.ad) +s(A.Mk,A.ad) +s(A.Ml,A.ad) +s(A.Tl,A.HF) +s(A.Mn,A.ad) +s(A.Mo,A.ad) +r(A.D6,A.e3) +s(A.Mp,A.ad) +s(A.Ms,A.ad) +s(A.Mu,A.ad) +s(A.Mw,A.ad) +s(A.Mz,A.ad) +s(A.N4,A.ad) +s(A.N6,A.ad) +s(A.Ng,A.ad) +s(A.Nk,A.ad) +s(A.Nu,A.ad) +s(A.Nv,A.ad) +s(A.NC,A.ad) +s(A.NH,A.ad) +s(A.NL,A.ad) +s(A.T5,A.Z8) +s(A.T6,A.Z9) +s(A.NQ,A.ad) +s(A.Ta,A.ad) +s(A.Ok,A.ad) +r(A.Dd,A.mR) +s(A.Oq,A.ad) +s(A.OJ,A.ad) +r(A.Td,A.e3) +s(A.OS,A.ad) +s(A.OU,A.ad) +s(A.OV,A.ad) +s(A.P7,A.ad) +s(A.P8,A.ad) +s(A.P9,A.ad) +s(A.Pm,A.ad) +s(A.Bd,A.HE) +s(A.Ps,A.ad) +r(A.Dj,A.u_) +r(A.Dk,A.u_) +s(A.Q9,A.ad) +r(A.D8,A.m_) +s(A.Qb,A.ad) +r(A.u0,A.e3) +r(A.u1,A.zV) +s(A.Qg,A.ad) +r(A.C5,A.e3) +r(A.C6,A.e3) +r(A.C7,A.iV) +r(A.Db,A.e3) +s(A.Rd,A.ad) +s(A.Re,A.ad) +s(A.Rf,A.ad) +s(A.Rg,A.ad) +s(A.RC,A.ad) +s(A.RJ,A.ad) +s(A.RX,A.ad) +s(A.S0,A.ad) +s(A.T1,A.kM) +s(A.T4,A.kM) +s(A.S5,A.ad) +s(A.S7,A.ad) +s(A.S9,A.ad) +s(A.Sd,A.ad) +s(A.ST,A.ad) +s(A.Sf,A.ad) +s(A.Sh,A.ad) +r(A.CK,A.m_) +s(A.Sj,A.ad) +s(A.SI,A.ad) +s(A.Mi,A.ad) +s(A.N8,A.ad) +s(A.On,A.ad) +s(A.Om,A.ad) +s(A.S8,A.ad) +r(A.Au,A.dw) +r(A.BN,A.ac) +s(A.QA,A.cM) +r(A.QC,A.ac) +s(A.QD,A.cM) +r(A.BO,A.Xn) +s(A.OB,A.hI) +r(A.QE,A.ac) +s(A.QF,A.cM) +s(A.Tf,A.ad) +s(A.Px,A.hI) +s(A.QH,A.hI) +r(A.BT,A.ac) +s(A.QI,A.a7l) +r(A.QJ,A.yf) +r(A.CE,A.dw) +s(A.Ts,A.dB) +s(A.Tt,A.ad) +s(A.Tu,A.fr) +r(A.PB,A.agW) +r(A.Qx,A.yh) +r(A.BV,A.aE) +r(A.BW,A.f9) +s(A.Rk,A.ad) +r(A.BX,A.aE) +s(A.RF,A.ad) +r(A.RI,A.dw) +r(A.BZ,A.ac) +s(A.QN,A.a7H) +s(A.QO,A.a7N) +r(A.RG,A.dw) +s(A.RH,A.iG) +r(A.QL,A.aE) +r(A.QP,A.ac) +s(A.QQ,A.cM) +r(A.QR,A.aE) +r(A.ja,A.ac) +r(A.QS,A.ac) +s(A.QT,A.cM) +s(A.Rl,A.ad) +s(A.Ro,A.hI) +s(A.Rp,A.ad) +s(A.Oz,A.ad) +s(A.OA,A.ad) +s(A.P2,A.ad) +s(A.Qi,A.ad) +s(A.Qh,A.ad) +s(A.Tj,A.zK) +s(A.LU,A.ad) +s(A.LS,A.ad) +s(A.Ou,A.ad) +r(A.De,A.Pr) +s(A.U0,A.e4) +r(A.C1,A.a8b) +r(A.CX,A.wq) +r(A.CY,A.iX) +r(A.CZ,A.zd) +r(A.D_,A.II) +r(A.D0,A.Kj) +r(A.D1,A.yE) +r(A.D2,A.LJ) +r(A.D9,A.e3) +r(A.Da,A.mR) +s(A.NU,A.hI) +s(A.NV,A.fr) +s(A.NW,A.hI) +s(A.NX,A.fr) +s(A.O0,A.ad) +r(A.Ql,A.XC) +s(A.Tm,A.ad) +s(A.Tn,A.ad) +s(A.RP,A.ad) +s(A.Ol,A.ad) +s(A.Tb,A.e4) +r(A.tp,A.m_) +s(A.Te,A.e4) +r(A.Br,A.e3) +r(A.Bs,A.iV) +s(A.T9,A.fr) +s(A.Ti,A.xB) +r(A.Pq,A.e3) +s(A.To,A.p4) +s(A.Tp,A.fD) +r(A.Dg,A.ac) +s(A.Tq,A.p4) +r(A.Bw,A.fc) +r(A.Dc,A.e3) +r(A.Di,A.e3) +r(A.Tr,A.iV) +r(A.u2,A.iV) +r(A.p1,A.Hv) +r(A.Tw,A.mR) +s(A.NP,A.i2) +r(A.Ca,A.fc) +r(A.C8,A.fc) +s(A.Ra,A.i2) +r(A.Ce,A.e3) +r(A.Cf,A.iV) +r(A.tI,A.e3) +s(A.P5,A.fr) +s(A.Tv,A.dB) +r(A.Dh,A.Ki) +s(A.Rt,A.ad) +s(A.Ru,A.fr) +s(A.Rw,A.fr) +s(A.Rz,A.ad) +s(A.RA,A.a4r) +s(A.T_,A.ad) +r(A.Df,A.aE) +s(A.Tx,A.xB) +s(A.Ty,A.LE) +s(A.TY,A.e4) +s(A.TZ,A.xB) +s(A.U_,A.LE)})() +var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{p:"int",Q:"double",bV:"num",r:"String",M:"bool",aT:"Null",O:"List",J:"Object",aA:"Map"},mangledNames:{},types:["~()","~(d)","Q(Q)","Q(d7)","oN(d7)","vP(d7)","~(aP)","~(h_)","C(ba)","~(b2)","~(J?)","dQ(d7)","a6<~>()","~(M)","~(U)","~(hM)","~(p)","~(@)","M(J?)","~(r,@)","~(cu?)","aT(~)","O()","~(aO)","M(kT,m)","~(jR,m)","M(cd)","M(jM)","M(iB)","M(r)","~(dB)","M(b2)","aT(@)","Q(H)","p(cd,cd)","~(G)","i(a4)","M(eC)","aT(J,cg)","M()","aT()","j_(ba)","bu?(be?)","~(~())","aT(U)","C?(ba)","a6<@>(hV)","M(fU)","aT(d)","M(dB)","r()","M(p)","~(dO,~())","M(f4)","~(J?,J?)","a6()","~(eZ)","~(jV)","~(rC)","~(lK)","iv(@)","~(hL)","K(H,aq)","p(G,G)","~(nY)","bu?(be?)","M(J?,J?)","p(J?)","a6<~>(r?)","d()","aT(M)","i(a4)?(pr?)","hQ(a4)","r(nQ)","i(a4,i?)","p()","~(hB)","p(c4,c4)","M(c4)","~({curve:es,descendant:G?,duration:aP,rect:D?})","@(@)","M(oo)","a6()","~(Q)","r(r)","ba<0^>()","~(J,cg)","~(J[cg?])","M(jF)","M(no)","M(f6)","~(lJ)","aT(r)","~(j3,r,p)","M(ov)","i(a4,ba,i?)?(be?)","~(ns)","Q(ba)","~(@,@)","D()","~([aQ?])","~(lc)","bj(Q)","~(m3)","bu?(be?)","aT(du)","aR(@)","M(du)","mC(a4,ct,i?)","mD(a4,ct,i?)","aT(J?)","r(p)","fl(a4,Q,i?)","ba()","r(Q,Q,r)","nD()","p(dB,dB)","Q()","eh(eh)","~(an3)","Q?(+(aq,m4))","M(dJ)","Q(H,Q)","d?(p)","~(aFs)","f6()","p(p)","eM(lW)","+boundaryEnd,boundaryStart(ap,ap)(ap)","M(kT)","~(m1)","Q({from!Q,to!Q})","~(m,H)","p(@,@)","~(O)","~(c4)","C(C)","O(ii)","kg()","Q?(H,aq,m4)","a6(cu?)","a6<~>(hV)","~(cV)","aA()","@(r)","~(hS)","J?(J?)","M(lC)","O()","a6<~>(@)","a6([d?])","~(r,r)","p(de,de)","fT()","~(fT)","fy()","~(fy)","aR<@>?(aR<@>?,@,aR<@>(@))","U([d?])","~(eU)","ia(aO)","~([a6<~>?])","la(a4)","~(jv)","~(ed)","M(dB,Q)","M(@)","et()","M(U)","@()","a6

()","r(dc)","a6<~>?()","K(H)","iH(cd,ha)","Q(@)","~(r)","~(r,d)","r(cI)","tj()","~(lI)","Q?(p)","~(pY?,rE?)","M(hk)","dd?(hk)","r(Q)","~(tU)","aA<~(aO),bj?>()","~(~(aO),bj?)","oW()","~(r?)","o_()","~(jM)","qB(D?,D?)","~(O,d)","fE<0^>(i1,i(a4))","aC0?()","~(eC)","~(K?)","Q(kh)","~(O)","~(iM)","0^?(0^?(be?))","0^?(bu<0^>?(be?))","nq(@)","bu?(be?)","qa(@)","bu?(be?)","@(@,r)","bu?(be?)","bu?(be?)","c9?(ba)","c9?(be?)","r4()","C?(be?)","ke?(be?)","nR?(be?)","aP?(be?)","M?(be?)","mO?(be?)","qt?(be?)","bw(bw)","aT(~())","aT(nr)","aT(@,cg)","cA?(ba)","~(p,@)","D()?(H)","~(aQ?)","rz()","M(C)","J()","a8<@>(@)","aT(@,@)","p(lE,lE)","M(lj?)","C(mj)","nM(a4)","M(hc)","~(@,cg)","p(mv,mv)","oz(@)","~(n_)","a6(r,aA)","jP?(ef)","d?(Q)","~(K)","ni(a4,i?)","l4(a4)","n(ba)","~(M?)","c9(ba)","jl(a4,i?)","~(zB,@)","M(ba)","~(hJ)","p(d)","~(O,j1,Q)","f1>(i)","kY(p)","~([J?])","oL(@)","hs()","bw>(J,j2<@>)","M(bw>)","~(r,p)","M(m6)","a6(li{allowUpscaling:M,cacheHeight:p?,cacheWidth:p?})","a6(li{getTargetSize:aEZ(p,p)?})","cS(cS,bT)","bT(bT)","r(bT)","tt()","~(hR?,M)","a6<~>(J,cg?)","~(r,p?)","aT(V6)","p(p,p)","~(J,cg?)?(hS)","~(r,r?)","M(p,M)","iD?()","~(p,p,p)","lu(lu)","j3(@,@)","jB(m,p)","K()","Q?()","K(aq)","U()","aT(f5,f5)","n9/(M)","aq(H)","a6(n9)","c9(hh)","~(hh,bj)","M(hh)","ta(J?)","~(dn,p)","~(O{isMergeUp:M})","a6()","og?(EE,r,r)","~(jc)","M(jc)","~({allowPlatformDefault!M})","+boundaryEnd,boundaryStart(ap,ap)(ap,r)","ce(Za)","m7?(jR,m)","M(rs{crossAxisPosition!Q,mainAxisPosition!Q})","a6<~>([d?])","~(J)","M(H)","~(h4)","M(cn)","h1(hE)","K(du)","nb(du)","~(p,th)","~(rl)","nn(du)","nU()","c4(kq)","px(a4,J?,i?)","~(p,M(iB))","p(c4)","c4(p)","~(ow)","~(cq,~(J?))","a6()","cu(cu?)","a6(r)","kO(aA)","c5()","a6(r?)","a6<~>(cu?,~(cu?))","a6>(@)","M(p,p)","ba(f)","it(aA<@,@>)","yb()","dy()","U(O,r)","U(@)","O()","O(O)","Q(bV)","O<@>(r)","qR(a4,o2)","p_(y2)","a6<~>(aO)","~(i8)","r(J?)","~(bp)","~(v,d)","h4(U)","cp<@>?(i1)","cp<@>(i1)","M(qw)","aT(v,d)","~(d,O)","a6(hV)","l6(a4)","a6<~>(h_)","M(XS)","D(XS)","~([cd?])","~({allowPlatformDefault:M})","M(wW)","~(tf)","M(t9)","a6(U)","M(m8)","ba

(de)","t4()","O
(a4)","D(de)","p(j9,j9)","O(de,j)","M(de)","iw(b2)","b2?(b2)","J?(p,b2?)","fa()","~(fa)","hK()","~(hK)","hU()","~(hU)","r?(r)","tF()","om(a4)","qF(a4,p)","hY()","~(hY)","~(jX)","~(k0)","~(hp,J)","lL(a4,i?)","~(kl)","i(a4,ct,qh,a4,a4)","M(kl)","iL(a4,i?)","nC(a4)","~(hR,M)","mW(a4)","oK(@)","mU(@)","a6<@>(tD)","aA(O<@>)","aA(aA)","aT(aA)","iL(a4)","M(J)","M(cp<@>?)","a6(@)","M(jO)","i(a4,h0

)","oH(a4)","fU(cp<@>)","bw>(@,@)","p3()","H(p)","~(aq)","pM(a4,i?)","oS(a4,fd)","~(K,m)","aT(cV?)","~(dO)","ci(M)","M(anG)","lR(a4,i?)","jl(a4)","qi(a4,i?)","nz(aO)","qA(aO)","i8()","~(wD)","nX(l5)","i(a4,fd)","M(hm)","aT(O<~>)","oM({from:Q?})","~(rZ)","~(h1)","~(r,J?)","M(i2?)","~(fu)","mk()","mB()","jg()","~(jg)","~(jW)","~([aP?])","D(D)","M(D)","rT()","~(rq,aQ)","O()","tQ(a4,fd)","~(H)","b2?()","~([m3?])","p9(a4,jS)","aA(m)","a6<~>(r,cu?,~(cu?)?)","dc(U)","r(r,C)","iz(iR)","a6<+(r,e9?)>()","~(iR)","p(f2,f2)","~(hd)","a6<~>(~)","M(M?)","r(r,r)","d(p{params:J?})","C?(C?)","p(cv<@>,cv<@>)","O()","O(r,O)","K?(K?,K?,Q)","Q?(bV?,bV?,Q)","C?(C?,C?,Q)","~(bF{forceReport:M})","d_(r)","i5?(r)","M?(M?,M?,Q)","da?(da?,da?,Q)","cS?(cS?,cS?,Q)","n?(n?,n?,Q)","p(CD<@>,CD<@>)","M({priority!p,scheduler!iX})","O(r)","~(cd{alignment:Q?,alignmentPolicy:oq?,curve:es?,duration:aP?})","p(b2,b2)","cD(cD?,cD?,Q)","O>(iN,r)","p(i,p)","q1(r)","~(lt,p)","~(J,cg,fw<0^>)","~(fw<0^>)","U(p)","~(r?{wrapWidth:p?})","~(k_)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti"),rttc:{"2;":(a,b)=>c=>c instanceof A.au&&a.b(c.a)&&b.b(c.b),"2;audioBitrate,videoBitrate":(a,b)=>c=>c instanceof A.BG&&a.b(c.a)&&b.b(c.b),"2;boundaryEnd,boundaryStart":(a,b)=>c=>c instanceof A.Qp&&a.b(c.a)&&b.b(c.b),"2;distance,fragment":(a,b)=>c=>c instanceof A.BH&&a.b(c.a)&&b.b(c.b),"2;key,value":(a,b)=>c=>c instanceof A.Qq&&a.b(c.a)&&b.b(c.b),"2;localPosition,paragraph":(a,b)=>c=>c instanceof A.Qr&&a.b(c.a)&&b.b(c.b),"2;representation,targetSize":(a,b)=>c=>c instanceof A.Qs&&a.b(c.a)&&b.b(c.b),"3;":(a,b,c)=>d=>d instanceof A.p2&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;breaks,graphemes,words":(a,b,c)=>d=>d instanceof A.Qt&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;completer,recorder,scene":(a,b,c)=>d=>d instanceof A.BI&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;data,event,timeStamp":(a,b,c)=>d=>d instanceof A.BJ&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;domSize,representation,targetSize":(a,b,c)=>d=>d instanceof A.Qu&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;large,medium,small":(a,b,c)=>d=>d instanceof A.Qv&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;queue,target,timer":(a,b,c)=>d=>d instanceof A.Qw&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;x,y,z":(a,b,c)=>d=>d instanceof A.BK&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"4;domBlurListener,domFocusListener,element,semanticsNodeId":a=>b=>b instanceof A.BL&&A.aKc(a,b.a)}} +A.aGy(v.typeUniverse,JSON.parse('{"f5":"fB","IT":"fB","j4":"fB","Ja":"fB","zQ":"fB","pW":"fB","qH":"fB","a0g":"fB","aKP":"d","aLw":"d","aLv":"d","aKS":"kP","aKQ":"Y","aMD":"Y","aN9":"Y","aMz":"ar","aKT":"at","aMB":"at","aLE":"b3","aLq":"b3","aND":"e2","aKW":"iu","aNj":"iu","aLH":"ny","aL5":"bN","aL7":"hG","aL9":"e0","aLa":"er","aL6":"er","aL8":"er","kZ":{"wD":[]},"v4":{"eU":[]},"nU":{"rV":[]},"o_":{"rV":[]},"dn":{"ok":[]},"lQ":{"ok":[]},"e9":{"bE":[]},"dz":{"d3":[]},"iz":{"lu":[]},"jw":{"ZC":[]},"EU":{"l_":[]},"ET":{"l_":[]},"v6":{"l_":[]},"pI":{"l_":[]},"nW":{"j":["hj"],"j.E":"hj"},"GX":{"bQ":[]},"EX":{"l_":[]},"Ao":{"l_":[]},"ES":{"eU":[]},"pS":{"eb":[]},"JN":{"eb":[]},"F2":{"eb":[],"WE":[]},"F6":{"eb":[],"WH":[]},"F4":{"eb":[],"WF":[]},"If":{"eb":[],"a5K":[]},"A_":{"eb":[],"Ll":[]},"Id":{"eb":[],"Ll":[],"a5J":[]},"GY":{"eb":[],"a0l":[]},"IS":{"eb":[]},"IW":{"eb":[]},"pJ":{"a5V":[]},"Kt":{"alL":[]},"EV":{"alL":[]},"v5":{"lu":[]},"EL":{"bE":[]},"GV":{"aqX":[]},"GU":{"bQ":[]},"GT":{"bQ":[]},"ki":{"j":["1"],"j.E":"1"},"AC":{"j":["1"],"j.E":"1"},"Gw":{"e9":[],"bE":[]},"wn":{"e9":[],"bE":[]},"wo":{"e9":[],"bE":[]},"xT":{"dz":[],"d3":[],"WH":[]},"IM":{"dz":[],"d3":[],"WF":[]},"xS":{"dz":[],"d3":[],"WE":[]},"GR":{"eU":[]},"wz":{"wD":[]},"xU":{"dz":[],"d3":[],"a0l":[]},"xV":{"dz":[],"d3":[],"a5J":[]},"xW":{"dz":[],"d3":[],"a5K":[]},"rx":{"a5V":[]},"IP":{"d3":[]},"xX":{"d3":[]},"vM":{"cx":[]},"xL":{"cx":[]},"ID":{"cx":[]},"IH":{"cx":[]},"IF":{"cx":[]},"IE":{"cx":[]},"IG":{"cx":[]},"Ip":{"cx":[]},"Io":{"cx":[]},"In":{"cx":[]},"Iv":{"cx":[]},"Ix":{"cx":[]},"IB":{"cx":[]},"IA":{"cx":[]},"Is":{"cx":[]},"Iw":{"cx":[]},"Ir":{"cx":[]},"Iz":{"cx":[]},"IC":{"cx":[]},"It":{"cx":[]},"Iu":{"cx":[]},"Iy":{"cx":[]},"xY":{"dz":[],"d3":[]},"Be":{"lb":[]},"G9":{"lb":[]},"xm":{"lb":[]},"IO":{"d3":[]},"xZ":{"dz":[],"d3":[],"Ll":[]},"GP":{"eU":[]},"GN":{"eU":[]},"zk":{"nr":[]},"EB":{"eU":[]},"uu":{"nr":[]},"ra":{"k1":[]},"Gu":{"k1":[]},"Hg":{"k1":[]},"nO":{"k1":[]},"Kq":{"an3":[]},"L0":{"k1":[]},"jh":{"X":["1"],"O":["1"],"W":["1"],"j":["1"]},"Ot":{"jh":["p"],"X":["p"],"O":["p"],"W":["p"],"j":["p"]},"Lq":{"jh":["p"],"X":["p"],"O":["p"],"W":["p"],"j":["p"],"X.E":"p","j.E":"p","jh.E":"p"},"EQ":{"rw":[]},"JO":{"rw":[]},"vW":{"hd":[]},"NE":{"jw":[],"ZC":[]},"q0":{"jw":[],"ZC":[]},"d":{"U":[]},"v":{"O":["1"],"d":[],"W":["1"],"U":[],"j":["1"],"b6":["1"],"j.E":"1"},"wQ":{"M":[],"c_":[]},"wR":{"aT":[],"c_":[]},"fB":{"d":[],"U":[],"pW":[],"qH":[]},"a12":{"v":["1"],"O":["1"],"d":[],"W":["1"],"U":[],"j":["1"],"b6":["1"],"j.E":"1"},"lr":{"Q":[],"bV":[],"cv":["bV"]},"qv":{"Q":[],"p":[],"bV":[],"cv":["bV"],"c_":[]},"wS":{"Q":[],"bV":[],"cv":["bV"],"c_":[]},"jH":{"r":[],"cv":["r"],"b6":["@"],"c_":[]},"ic":{"j":["2"]},"mY":{"ic":["1","2"],"j":["2"],"j.E":"2"},"AJ":{"mY":["1","2"],"ic":["1","2"],"W":["2"],"j":["2"],"j.E":"2"},"Am":{"X":["2"],"O":["2"],"ic":["1","2"],"W":["2"],"j":["2"]},"bL":{"Am":["1","2"],"X":["2"],"O":["2"],"ic":["1","2"],"W":["2"],"j":["2"],"X.E":"2","j.E":"2"},"kX":{"ba":["2"],"ic":["1","2"],"W":["2"],"j":["2"],"j.E":"2"},"mZ":{"aC":["3","4"],"aA":["3","4"],"aC.V":"4","aC.K":"3"},"jr":{"ic":["1","2"],"W":["2"],"j":["2"],"j.E":"2"},"hb":{"bE":[]},"js":{"X":["p"],"O":["p"],"W":["p"],"j":["p"],"X.E":"p","j.E":"p"},"W":{"j":["1"]},"aD":{"W":["1"],"j":["1"]},"i7":{"aD":["1"],"W":["1"],"j":["1"],"j.E":"1","aD.E":"1"},"dZ":{"j":["2"],"j.E":"2"},"hN":{"dZ":["1","2"],"W":["2"],"j":["2"],"j.E":"2"},"aw":{"aD":["2"],"W":["2"],"j":["2"],"j.E":"2","aD.E":"2"},"aF":{"j":["1"],"j.E":"1"},"hO":{"j":["2"],"j.E":"2"},"oI":{"j":["1"],"j.E":"1"},"vU":{"oI":["1"],"W":["1"],"j":["1"],"j.E":"1"},"k4":{"j":["1"],"j.E":"1"},"q_":{"k4":["1"],"W":["1"],"j":["1"],"j.E":"1"},"zm":{"j":["1"],"j.E":"1"},"fv":{"W":["1"],"j":["1"],"j.E":"1"},"jy":{"j":["1"],"j.E":"1"},"vT":{"jy":["1"],"W":["1"],"j":["1"],"j.E":"1"},"dq":{"j":["1"],"j.E":"1"},"nE":{"j":["+(p,1)"],"j.E":"+(p,1)"},"pZ":{"nE":["1"],"W":["+(p,1)"],"j":["+(p,1)"],"j.E":"+(p,1)"},"rO":{"X":["1"],"O":["1"],"W":["1"],"j":["1"]},"co":{"aD":["1"],"W":["1"],"j":["1"],"j.E":"1","aD.E":"1"},"e1":{"zB":[]},"n2":{"oR":["1","2"],"aA":["1","2"]},"pR":{"aA":["1","2"]},"bs":{"pR":["1","2"],"aA":["1","2"]},"p0":{"j":["1"],"j.E":"1"},"d8":{"pR":["1","2"],"aA":["1","2"]},"vh":{"hn":["1"],"ba":["1"],"W":["1"],"j":["1"]},"dW":{"hn":["1"],"ba":["1"],"W":["1"],"j":["1"],"j.E":"1"},"dx":{"hn":["1"],"ba":["1"],"W":["1"],"j":["1"],"j.E":"1"},"wN":{"jA":[]},"wO":{"jA":[]},"xC":{"k9":[],"jL":[],"bE":[]},"H9":{"jL":[],"bE":[]},"Lt":{"bE":[]},"I8":{"bQ":[]},"Cv":{"cg":[]},"l0":{"jA":[]},"F7":{"jA":[]},"F8":{"jA":[]},"L2":{"jA":[]},"KP":{"jA":[]},"pD":{"jA":[]},"N3":{"bE":[]},"JT":{"bE":[]},"fA":{"aC":["1","2"],"aA":["1","2"],"aC.V":"2","aC.K":"1"},"aZ":{"W":["1"],"j":["1"],"j.E":"1"},"nI":{"fA":["1","2"],"aC":["1","2"],"aA":["1","2"],"aC.V":"2","aC.K":"1"},"tv":{"asc":[]},"lA":{"d":[],"U":[],"EE":[],"c_":[]},"iM":{"fI":[],"j3":[],"X":["p"],"O":["p"],"bg":["p"],"d":[],"W":["p"],"U":[],"b6":["p"],"j":["p"],"c_":[],"X.E":"p","j.E":"p"},"xt":{"d":[],"U":[]},"xq":{"d":[],"cu":[],"U":[],"c_":[]},"qG":{"bg":["1"],"d":[],"U":[],"b6":["1"]},"lB":{"X":["Q"],"O":["Q"],"bg":["Q"],"d":[],"W":["Q"],"U":[],"b6":["Q"],"j":["Q"]},"fI":{"X":["p"],"O":["p"],"bg":["p"],"d":[],"W":["p"],"U":[],"b6":["p"],"j":["p"]},"xr":{"lB":[],"Zl":[],"X":["Q"],"O":["Q"],"bg":["Q"],"d":[],"W":["Q"],"U":[],"b6":["Q"],"j":["Q"],"c_":[],"X.E":"Q","j.E":"Q"},"HZ":{"lB":[],"Zm":[],"X":["Q"],"O":["Q"],"bg":["Q"],"d":[],"W":["Q"],"U":[],"b6":["Q"],"j":["Q"],"c_":[],"X.E":"Q","j.E":"Q"},"I_":{"fI":[],"a0U":[],"X":["p"],"O":["p"],"bg":["p"],"d":[],"W":["p"],"U":[],"b6":["p"],"j":["p"],"c_":[],"X.E":"p","j.E":"p"},"xs":{"fI":[],"a0V":[],"X":["p"],"O":["p"],"bg":["p"],"d":[],"W":["p"],"U":[],"b6":["p"],"j":["p"],"c_":[],"X.E":"p","j.E":"p"},"I0":{"fI":[],"a0W":[],"X":["p"],"O":["p"],"bg":["p"],"d":[],"W":["p"],"U":[],"b6":["p"],"j":["p"],"c_":[],"X.E":"p","j.E":"p"},"I1":{"fI":[],"abV":[],"X":["p"],"O":["p"],"bg":["p"],"d":[],"W":["p"],"U":[],"b6":["p"],"j":["p"],"c_":[],"X.E":"p","j.E":"p"},"I2":{"fI":[],"rM":[],"X":["p"],"O":["p"],"bg":["p"],"d":[],"W":["p"],"U":[],"b6":["p"],"j":["p"],"c_":[],"X.E":"p","j.E":"p"},"xu":{"fI":[],"abW":[],"X":["p"],"O":["p"],"bg":["p"],"d":[],"W":["p"],"U":[],"b6":["p"],"j":["p"],"c_":[],"X.E":"p","j.E":"p"},"CL":{"eJ":[]},"NF":{"bE":[]},"CM":{"k9":[],"bE":[]},"a8":{"a6":["1"]},"hv":{"i6":["1"]},"Sg":{"asZ":[]},"jf":{"j":["1"],"j.E":"1"},"Eh":{"bE":[]},"c0":{"j7":["1"],"tS":["1"],"c5":["1"],"c5.T":"1"},"oU":{"mf":["1"],"hv":["1"],"i6":["1"]},"hu":{"fw":["1"]},"je":{"hu":["1"],"fw":["1"]},"Ag":{"hu":["1"],"fw":["1"]},"t1":{"je":["1"],"hu":["1"],"fw":["1"]},"b1":{"MB":["1"]},"p7":{"fw":["1"]},"t2":{"p7":["1"],"fw":["1"]},"mz":{"p7":["1"],"fw":["1"]},"j7":{"tS":["1"],"c5":["1"],"c5.T":"1"},"mf":{"hv":["1"],"i6":["1"]},"tS":{"c5":["1"]},"tb":{"i6":["1"]},"t0":{"c5":["1"],"c5.T":"1"},"oV":{"i6":["1"]},"hx":{"c5":["2"]},"tg":{"hv":["2"],"i6":["2"]},"pb":{"hx":["1","1"],"c5":["1"],"c5.T":"1","hx.S":"1","hx.T":"1"},"Ba":{"hx":["1","2"],"c5":["2"],"c5.T":"2","hx.S":"1","hx.T":"2"},"kk":{"aC":["1","2"],"aA":["1","2"],"aC.V":"2","aC.K":"1"},"ml":{"kk":["1","2"],"aC":["1","2"],"aA":["1","2"],"aC.V":"2","aC.K":"1"},"Ax":{"kk":["1","2"],"aC":["1","2"],"aA":["1","2"],"aC.V":"2","aC.K":"1"},"oZ":{"W":["1"],"j":["1"],"j.E":"1"},"j8":{"tP":["1"],"hn":["1"],"ba":["1"],"W":["1"],"j":["1"],"j.E":"1"},"fg":{"tP":["1"],"hn":["1"],"aCu":["1"],"ba":["1"],"W":["1"],"j":["1"],"j.E":"1"},"nL":{"j":["1"],"j.E":"1"},"X":{"O":["1"],"W":["1"],"j":["1"]},"aC":{"aA":["1","2"]},"B9":{"W":["2"],"j":["2"],"j.E":"2"},"x7":{"aA":["1","2"]},"oR":{"aA":["1","2"]},"AD":{"AE":["1"],"aqB":["1"]},"AF":{"AE":["1"]},"vL":{"W":["1"],"j":["1"],"j.E":"1"},"x0":{"aD":["1"],"W":["1"],"j":["1"],"j.E":"1","aD.E":"1"},"hn":{"ba":["1"],"W":["1"],"j":["1"]},"tP":{"hn":["1"],"ba":["1"],"W":["1"],"j":["1"]},"zr":{"aC":["1","2"],"aA":["1","2"],"aC.V":"2","aC.K":"1"},"kn":{"W":["1"],"j":["1"],"j.E":"1"},"p6":{"W":["2"],"j":["2"],"j.E":"2"},"Cq":{"W":["bw<1,2>"],"j":["bw<1,2>"],"j.E":"bw<1,2>"},"ko":{"jd":["1","2","1"],"jd.T":"1"},"Cu":{"jd":["1","eN<1,2>","2"],"jd.T":"2"},"p5":{"jd":["1","eN<1,2>","bw<1,2>"],"jd.T":"bw<1,2>"},"rv":{"hn":["1"],"ba":["1"],"W":["1"],"j":["1"],"j.E":"1"},"Ow":{"aC":["r","@"],"aA":["r","@"],"aC.V":"@","aC.K":"r"},"Ox":{"aD":["r"],"W":["r"],"j":["r"],"j.E":"r","aD.E":"r"},"wT":{"bE":[]},"Ha":{"bE":[]},"et":{"cv":["et"]},"Q":{"bV":[],"cv":["bV"]},"aP":{"cv":["aP"]},"p":{"bV":[],"cv":["bV"]},"O":{"W":["1"],"j":["1"]},"bV":{"cv":["bV"]},"ba":{"W":["1"],"j":["1"]},"r":{"cv":["r"]},"mQ":{"bE":[]},"k9":{"bE":[]},"fm":{"bE":[]},"r_":{"bE":[]},"wF":{"bE":[]},"jL":{"bE":[]},"Lv":{"bE":[]},"oQ":{"bE":[]},"ho":{"bE":[]},"Fd":{"bE":[]},"Ii":{"bE":[]},"zw":{"bE":[]},"AL":{"bQ":[]},"jz":{"bQ":[]},"AV":{"aD":["1"],"W":["1"],"j":["1"],"j.E":"1","aD.E":"1"},"RV":{"cg":[]},"CS":{"Lw":[]},"Ry":{"Lw":[]},"N5":{"Lw":[]},"bN":{"d":[],"U":[]},"eu":{"d":[],"U":[]},"ev":{"d":[],"U":[]},"ex":{"d":[],"U":[]},"b3":{"d":[],"U":[]},"eA":{"d":[],"U":[]},"eD":{"d":[],"U":[]},"eE":{"d":[],"U":[]},"eF":{"d":[],"U":[]},"e0":{"d":[],"U":[]},"eH":{"d":[],"U":[]},"e2":{"d":[],"U":[]},"eI":{"d":[],"U":[]},"at":{"b3":[],"d":[],"U":[]},"E2":{"d":[],"U":[]},"E7":{"b3":[],"d":[],"U":[]},"Ee":{"b3":[],"d":[],"U":[]},"uK":{"d":[],"U":[]},"iu":{"b3":[],"d":[],"U":[]},"Fj":{"d":[],"U":[]},"pT":{"d":[],"U":[]},"er":{"d":[],"U":[]},"hG":{"d":[],"U":[]},"Fk":{"d":[],"U":[]},"Fl":{"d":[],"U":[]},"Fq":{"d":[],"U":[]},"FS":{"d":[],"U":[]},"vJ":{"X":["fN"],"aH":["fN"],"O":["fN"],"bg":["fN"],"d":[],"W":["fN"],"U":[],"j":["fN"],"b6":["fN"],"aH.E":"fN","X.E":"fN","j.E":"fN"},"vK":{"d":[],"fN":["bV"],"U":[]},"FX":{"X":["r"],"aH":["r"],"O":["r"],"bg":["r"],"d":[],"W":["r"],"U":[],"j":["r"],"b6":["r"],"aH.E":"r","X.E":"r","j.E":"r"},"FZ":{"d":[],"U":[]},"ar":{"b3":[],"d":[],"U":[]},"Y":{"d":[],"U":[]},"Gk":{"X":["eu"],"aH":["eu"],"O":["eu"],"bg":["eu"],"d":[],"W":["eu"],"U":[],"j":["eu"],"b6":["eu"],"aH.E":"eu","X.E":"eu","j.E":"eu"},"Gl":{"d":[],"U":[]},"Gx":{"b3":[],"d":[],"U":[]},"GM":{"d":[],"U":[]},"ny":{"X":["b3"],"aH":["b3"],"O":["b3"],"bg":["b3"],"d":[],"W":["b3"],"U":[],"j":["b3"],"b6":["b3"],"aH.E":"b3","X.E":"b3","j.E":"b3"},"Hx":{"d":[],"U":[]},"HJ":{"d":[],"U":[]},"HN":{"d":[],"aC":["r","@"],"U":[],"aA":["r","@"],"aC.V":"@","aC.K":"r"},"HO":{"d":[],"aC":["r","@"],"U":[],"aA":["r","@"],"aC.V":"@","aC.K":"r"},"HP":{"X":["ex"],"aH":["ex"],"O":["ex"],"bg":["ex"],"d":[],"W":["ex"],"U":[],"j":["ex"],"b6":["ex"],"aH.E":"ex","X.E":"ex","j.E":"ex"},"xA":{"X":["b3"],"aH":["b3"],"O":["b3"],"bg":["b3"],"d":[],"W":["b3"],"U":[],"j":["b3"],"b6":["b3"],"aH.E":"b3","X.E":"b3","j.E":"b3"},"IY":{"X":["eA"],"aH":["eA"],"O":["eA"],"bg":["eA"],"d":[],"W":["eA"],"U":[],"j":["eA"],"b6":["eA"],"aH.E":"eA","X.E":"eA","j.E":"eA"},"JR":{"d":[],"aC":["r","@"],"U":[],"aA":["r","@"],"aC.V":"@","aC.K":"r"},"Kg":{"b3":[],"d":[],"U":[]},"KL":{"X":["eD"],"aH":["eD"],"O":["eD"],"bg":["eD"],"d":[],"W":["eD"],"U":[],"j":["eD"],"b6":["eD"],"aH.E":"eD","X.E":"eD","j.E":"eD"},"KN":{"X":["eE"],"aH":["eE"],"O":["eE"],"bg":["eE"],"d":[],"W":["eE"],"U":[],"j":["eE"],"b6":["eE"],"aH.E":"eE","X.E":"eE","j.E":"eE"},"KQ":{"d":[],"aC":["r","r"],"U":[],"aA":["r","r"],"aC.V":"r","aC.K":"r"},"L8":{"X":["e2"],"aH":["e2"],"O":["e2"],"bg":["e2"],"d":[],"W":["e2"],"U":[],"j":["e2"],"b6":["e2"],"aH.E":"e2","X.E":"e2","j.E":"e2"},"L9":{"X":["eH"],"aH":["eH"],"O":["eH"],"bg":["eH"],"d":[],"W":["eH"],"U":[],"j":["eH"],"b6":["eH"],"aH.E":"eH","X.E":"eH","j.E":"eH"},"Lf":{"d":[],"U":[]},"Li":{"X":["eI"],"aH":["eI"],"O":["eI"],"bg":["eI"],"d":[],"W":["eI"],"U":[],"j":["eI"],"b6":["eI"],"aH.E":"eI","X.E":"eI","j.E":"eI"},"Lj":{"d":[],"U":[]},"Lx":{"d":[],"U":[]},"LA":{"d":[],"U":[]},"MU":{"X":["bN"],"aH":["bN"],"O":["bN"],"bg":["bN"],"d":[],"W":["bN"],"U":[],"j":["bN"],"b6":["bN"],"aH.E":"bN","X.E":"bN","j.E":"bN"},"AB":{"d":[],"fN":["bV"],"U":[]},"O4":{"X":["ev?"],"aH":["ev?"],"O":["ev?"],"bg":["ev?"],"d":[],"W":["ev?"],"U":[],"j":["ev?"],"b6":["ev?"],"aH.E":"ev?","X.E":"ev?","j.E":"ev?"},"Bk":{"X":["b3"],"aH":["b3"],"O":["b3"],"bg":["b3"],"d":[],"W":["b3"],"U":[],"j":["b3"],"b6":["b3"],"aH.E":"b3","X.E":"b3","j.E":"b3"},"RM":{"X":["eF"],"aH":["eF"],"O":["eF"],"bg":["eF"],"d":[],"W":["eF"],"U":[],"j":["eF"],"b6":["eF"],"aH.E":"eF","X.E":"eF","j.E":"eF"},"RW":{"X":["e0"],"aH":["e0"],"O":["e0"],"bg":["e0"],"d":[],"W":["e0"],"U":[],"j":["e0"],"b6":["e0"],"aH.E":"e0","X.E":"e0","j.E":"e0"},"ta":{"n9":[]},"Ia":{"bQ":[]},"nj":{"bQ":[]},"xP":{"bQ":[]},"xQ":{"bQ":[]},"xR":{"bQ":[]},"I7":{"bQ":[]},"fN":{"aNX":["1"]},"fC":{"d":[],"U":[]},"fJ":{"d":[],"U":[]},"fQ":{"d":[],"U":[]},"Ho":{"X":["fC"],"aH":["fC"],"O":["fC"],"d":[],"W":["fC"],"U":[],"j":["fC"],"aH.E":"fC","X.E":"fC","j.E":"fC"},"I9":{"X":["fJ"],"aH":["fJ"],"O":["fJ"],"d":[],"W":["fJ"],"U":[],"j":["fJ"],"aH.E":"fJ","X.E":"fJ","j.E":"fJ"},"IZ":{"d":[],"U":[]},"KS":{"X":["r"],"aH":["r"],"O":["r"],"d":[],"W":["r"],"U":[],"j":["r"],"aH.E":"r","X.E":"r","j.E":"r"},"Lm":{"X":["fQ"],"aH":["fQ"],"O":["fQ"],"d":[],"W":["fQ"],"U":[],"j":["fQ"],"aH.E":"fQ","X.E":"fQ","j.E":"fQ"},"a0W":{"O":["p"],"W":["p"],"j":["p"]},"j3":{"O":["p"],"W":["p"],"j":["p"]},"abW":{"O":["p"],"W":["p"],"j":["p"]},"a0U":{"O":["p"],"W":["p"],"j":["p"]},"abV":{"O":["p"],"W":["p"],"j":["p"]},"a0V":{"O":["p"],"W":["p"],"j":["p"]},"rM":{"O":["p"],"W":["p"],"j":["p"]},"Zl":{"O":["Q"],"W":["Q"],"j":["Q"]},"Zm":{"O":["Q"],"W":["Q"],"j":["Q"]},"Ei":{"d":[],"U":[]},"Ej":{"d":[],"aC":["r","@"],"U":[],"aA":["r","@"],"aC.V":"@","aC.K":"r"},"Ek":{"d":[],"U":[]},"kP":{"d":[],"U":[]},"Ib":{"d":[],"U":[]},"EH":{"af":[]},"EJ":{"aV":[],"i":[]},"du":{"dJ":[]},"rS":{"dJ":[]},"uY":{"dJ":[]},"pF":{"dJ":[]},"kV":{"dJ":[]},"h4":{"vy":[]},"mV":{"bQ":[]},"mX":{"bQ":[]},"rP":{"mA":["1","j<1>"],"mA.E":"1"},"rn":{"mA":["1","ba<1>"],"mA.E":"1"},"E_":{"aV":[],"i":[]},"mW":{"a3":[],"i":[]},"Al":{"ag":["mW"],"e4":[]},"la":{"a3":[],"i":[]},"Nx":{"ag":["la"]},"qL":{"af":[]},"ww":{"a3":[],"i":[]},"qF":{"aV":[],"i":[]},"Oa":{"ag":["ww"]},"wy":{"a3":[],"i":[]},"Oc":{"ag":["wy"]},"HX":{"aV":[],"i":[]},"om":{"a3":[],"i":[]},"R7":{"ag":["om"]},"oH":{"a3":[],"i":[]},"nX":{"aV":[],"i":[]},"S3":{"ag":["oH"]},"ct":{"af":[]},"pv":{"ct":["Q"],"af":[]},"n5":{"ct":["Q"],"af":[]},"LV":{"ct":["Q"],"af":[]},"LW":{"ct":["Q"],"af":[]},"of":{"ct":["Q"],"af":[]},"fO":{"ct":["Q"],"af":[]},"oP":{"ct":["Q"],"af":[]},"pQ":{"ct":["1"],"af":[]},"uA":{"ct":["1"],"af":[]},"B7":{"es":[]},"yN":{"es":[]},"dl":{"es":[]},"zR":{"es":[]},"dK":{"es":[]},"Ld":{"es":[]},"q6":{"es":[]},"N7":{"es":[]},"aR":{"aI":["1"],"aI.T":"1","aR.T":"1"},"iv":{"aR":["C?"],"aI":["C?"],"aI.T":"C?","aR.T":"C?"},"b0":{"ct":["1"],"af":[]},"id":{"aI":["1"],"aI.T":"1"},"yI":{"aR":["1"],"aI":["1"],"aI.T":"1","aR.T":"1"},"ye":{"aR":["D?"],"aI":["D?"],"aI.T":"D?","aR.T":"D?"},"ll":{"aR":["p"],"aI":["p"],"aI.T":"p","aR.T":"p"},"h3":{"aI":["Q"],"aI.T":"Q"},"A1":{"aI":["1"],"aI.T":"1"},"eX":{"C":[]},"Fm":{"cD":[]},"aAt":{"aY":[],"aL":[],"i":[]},"MY":{"f7":["Xb"],"f7.T":"Xb"},"Fy":{"Xb":[]},"vl":{"a3":[],"i":[]},"t7":{"a3":[],"i":[]},"MZ":{"ag":["vl"]},"t8":{"ag":["t7<1>"]},"ie":{"hH":[]},"pU":{"a3":[],"i":[]},"N_":{"iT":["pU"],"ag":["pU"]},"wI":{"cU":[],"aY":[],"aL":[],"i":[]},"vn":{"aV":[],"i":[]},"mh":{"d_":[]},"q1":{"mh":[],"d_":[]},"Gf":{"mh":[],"d_":[]},"Gd":{"mh":[],"d_":[]},"nl":{"mQ":[],"bE":[]},"FG":{"d_":[]},"NR":{"d_":[]},"fr":{"af":[]},"Bh":{"af":[]},"eL":{"af":[]},"iw":{"d_":[]},"vB":{"d_":[]},"FF":{"d_":[]},"vC":{"d_":[]},"dS":{"ea":[],"dS.T":"1"},"Hw":{"ea":[]},"rN":{"ea":[]},"wZ":{"he":[]},"bh":{"j":["1"],"j.E":"1"},"lg":{"j":["1"],"j.E":"1"},"ci":{"a6":["1"]},"wi":{"bF":[]},"dd":{"aO":[]},"jW":{"aO":[]},"lJ":{"aO":[]},"lK":{"aO":[]},"jV":{"aO":[]},"ed":{"aO":[]},"jX":{"aO":[]},"LQ":{"aO":[]},"Sw":{"aO":[]},"o3":{"aO":[]},"Ss":{"o3":[],"aO":[]},"o8":{"aO":[]},"SD":{"o8":[],"aO":[]},"Sy":{"jW":[],"aO":[]},"Sv":{"lJ":[],"aO":[]},"Sx":{"lK":[],"aO":[]},"Su":{"jV":[],"aO":[]},"o5":{"aO":[]},"Sz":{"o5":[],"aO":[]},"ob":{"aO":[]},"SH":{"ob":[],"aO":[]},"o9":{"ed":[],"aO":[]},"SF":{"o9":[],"ed":[],"aO":[]},"oa":{"ed":[],"aO":[]},"SG":{"oa":[],"ed":[],"aO":[]},"J_":{"ed":[],"aO":[]},"SE":{"ed":[],"aO":[]},"SB":{"jX":[],"aO":[]},"o7":{"aO":[]},"SC":{"o7":[],"aO":[]},"o6":{"aO":[]},"SA":{"o6":[],"aO":[]},"o4":{"aO":[]},"St":{"o4":[],"aO":[]},"Bf":{"tW":[]},"tA":{"tW":[]},"hU":{"ce":[],"cJ":[],"cI":[]},"fu":{"ce":[],"cJ":[],"cI":[]},"fT":{"fu":[],"ce":[],"cJ":[],"cI":[]},"fy":{"fu":[],"ce":[],"cJ":[],"cI":[]},"hY":{"fu":[],"ce":[],"cJ":[],"cI":[]},"hK":{"cJ":[],"cI":[]},"cJ":{"cI":[]},"ce":{"cJ":[],"cI":[]},"qV":{"ce":[],"cJ":[],"cI":[]},"fa":{"ce":[],"cJ":[],"cI":[]},"Eq":{"ce":[],"cJ":[],"cI":[]},"oW":{"cI":[]},"MA":{"qf":[]},"nz":{"ia":[]},"qA":{"ia":[]},"LR":{"aV":[],"i":[]},"rY":{"aV":[],"i":[]},"Eo":{"aV":[],"i":[]},"En":{"aV":[],"i":[]},"G1":{"aV":[],"i":[]},"G0":{"aV":[],"i":[]},"G6":{"aV":[],"i":[]},"G5":{"aV":[],"i":[]},"azs":{"cU":[],"aY":[],"aL":[],"i":[]},"xb":{"a3":[],"i":[]},"Bb":{"ag":["xb"]},"uD":{"a3":[],"y6":[],"i":[]},"Qa":{"K":[]},"Af":{"ag":["uD"]},"M5":{"b_":[],"as":[],"i":[]},"Qy":{"H":[],"aE":["H"],"G":[],"ak":[]},"qB":{"aR":["D?"],"aI":["D?"],"aI.T":"D?","aR.T":"D?"},"xf":{"aR":["m"],"aI":["m"],"aI.T":"m","aR.T":"m"},"aCF":{"cU":[],"aY":[],"aL":[],"i":[]},"yc":{"a3":[],"i":[]},"Qj":{"ag":["yc"]},"Os":{"b_":[],"as":[],"i":[]},"BR":{"H":[],"aE":["H"],"G":[],"ak":[]},"uU":{"a3":[],"i":[]},"Aj":{"ag":["uU"]},"P1":{"c9":[],"bu":["c9"]},"Or":{"b_":[],"as":[],"i":[]},"BQ":{"H":[],"aE":["H"],"G":[],"ak":[]},"azP":{"cU":[],"aY":[],"aL":[],"i":[]},"HD":{"l1":["p"],"C":[],"l1.T":"p"},"G3":{"a3":[],"i":[]},"NB":{"be":[]},"aBg":{"cU":[],"aY":[],"aL":[],"i":[]},"wh":{"aY":[],"aL":[],"i":[]},"Gq":{"aV":[],"i":[]},"Nz":{"c9":[],"bu":["c9"]},"Mv":{"b_":[],"as":[],"i":[]},"Qz":{"H":[],"aE":["H"],"G":[],"ak":[]},"Ae":{"ct":["1"],"af":[]},"Cg":{"a3":[],"i":[]},"GW":{"aV":[],"i":[]},"Rh":{"ag":["Cg"]},"Oj":{"a3":[],"i":[]},"Of":{"bu":["C?"]},"Oh":{"bu":["C?"]},"Og":{"bu":["c9?"]},"Oi":{"be":[]},"NM":{"be":[]},"NN":{"be":[]},"Pn":{"be":[]},"wA":{"cU":[],"aY":[],"aL":[],"i":[]},"lj":{"lm":[],"jE":[]},"wL":{"lm":[],"jE":[]},"wM":{"lm":[],"jE":[]},"lm":{"jE":[]},"By":{"aY":[],"aL":[],"i":[]},"B3":{"a3":[],"i":[]},"wK":{"aV":[],"i":[]},"B2":{"ag":["B3"],"anH":[]},"H3":{"aV":[],"i":[]},"nM":{"cU":[],"aY":[],"aL":[],"i":[]},"x9":{"a3":[],"i":[]},"BP":{"H":[],"aE":["H"],"G":[],"ak":[]},"oz":{"aR":["bT?"],"aI":["bT?"],"aI.T":"bT?","aR.T":"bT?"},"Bc":{"a3":[],"i":[]},"OQ":{"ag":["x9"]},"Op":{"b_":[],"as":[],"i":[]},"ON":{"ag":["Bc"]},"Ck":{"aV":[],"i":[]},"Rq":{"af":[]},"xd":{"aV":[],"i":[]},"OO":{"f7":["nQ"],"f7.T":"nQ"},"FA":{"nQ":[]},"fE":{"HE":["1"],"fF":["1"],"dR":["1"],"cp":["1"]},"mC":{"a3":[],"i":[]},"mD":{"a3":[],"i":[]},"tC":{"a3":[],"i":[]},"SZ":{"aV":[],"i":[]},"SX":{"ag":["mC"]},"SY":{"ag":["mD"]},"LO":{"jP":[]},"Fn":{"jP":[]},"Bx":{"ag":["tC<1>"]},"D3":{"af":[]},"D4":{"af":[]},"oc":{"a3":[],"i":[]},"tG":{"a3":[],"i":[]},"y4":{"a3":[],"i":[]},"OT":{"b_":[],"as":[],"i":[]},"QG":{"H":[],"aE":["H"],"G":[],"ak":[]},"qT":{"ag":["2"]},"BE":{"ag":["tG<1>"]},"BD":{"fF":["1"],"dR":["1"],"cp":["1"]},"Ny":{"c9":[],"bu":["c9"]},"aDx":{"cU":[],"aY":[],"aL":[],"i":[]},"v3":{"a3":[],"i":[]},"J9":{"a3":[],"i":[]},"Mx":{"af":[]},"My":{"ag":["v3"]},"aDN":{"cU":[],"aY":[],"aL":[],"i":[]},"qY":{"a3":[],"i":[]},"tH":{"ag":["qY<1>"]},"Qf":{"af":[]},"aDP":{"aY":[],"aL":[],"i":[]},"yQ":{"a3":[],"i":[]},"C4":{"aY":[],"aL":[],"i":[]},"AN":{"a3":[],"i":[]},"yO":{"a3":[],"i":[]},"rf":{"ag":["yO"]},"aGj":{"a3":[],"i":[]},"yR":{"ag":["yQ"]},"R8":{"af":[]},"Ai":{"aq":[]},"Mh":{"aV":[],"i":[]},"AO":{"ag":["AN"]},"Ni":{"bp":["iy"],"bp.T":"iy"},"R9":{"aY":[],"aL":[],"i":[]},"tw":{"a3":[],"i":[]},"Ke":{"aV":[],"i":[]},"OP":{"iT":["tw"],"ag":["tw"]},"aEk":{"cU":[],"aY":[],"aL":[],"i":[]},"oD":{"a3":[],"i":[]},"Cn":{"ag":["oD"]},"KY":{"af":[]},"m9":{"hH":[]},"zD":{"a3":[],"y6":[],"i":[]},"zE":{"a3":[],"i":[]},"KX":{"aV":[],"y6":[],"i":[]},"S4":{"a3":[],"i":[]},"S2":{"cM":["H","dL"],"H":[],"ac":["H","dL"],"G":[],"ak":[],"ac.1":"dL","cM.1":"dL","ac.0":"H"},"S1":{"ec":[],"as":[],"i":[]},"B0":{"af":[]},"Mt":{"ct":["Q"],"af":[]},"tc":{"ct":["Q"],"af":[]},"CB":{"ag":["zD"]},"CC":{"ag":["zE"]},"B1":{"cU":[],"aY":[],"aL":[],"i":[]},"oL":{"aR":["hs"],"aI":["hs"],"aI.T":"hs","aR.T":"hs"},"uw":{"a3":[],"i":[]},"k7":{"aV":[],"i":[]},"LZ":{"ag":["uw"]},"zY":{"a3":[],"i":[]},"m6":{"ag":["zY"]},"NG":{"b_":[],"as":[],"i":[]},"QB":{"H":[],"aE":["H"],"G":[],"hh":[],"ak":[]},"Si":{"aV":[],"i":[]},"aFd":{"cU":[],"aY":[],"aL":[],"i":[]},"RZ":{"af":[]},"da":{"bT":[]},"hw":{"bT":[]},"Ev":{"bT":[]},"dV":{"bT":[]},"e8":{"bT":[]},"fo":{"hH":[]},"jq":{"lZ":[]},"dv":{"da":[],"bT":[]},"l1":{"C":[]},"aJ":{"cS":[]},"f_":{"cS":[]},"mp":{"cS":[]},"lz":{"fz":["lz"],"fz.T":"lz"},"Eg":{"fz":["iq"]},"uH":{"fz":["iq"],"fz.T":"iq"},"d4":{"da":[],"bT":[]},"ei":{"da":[],"bT":[]},"eG":{"da":[],"bT":[]},"ej":{"da":[],"bT":[]},"ek":{"da":[],"bT":[]},"rH":{"jF":[],"hh":[],"ak":[]},"Mf":{"af":[]},"N9":{"jS":[]},"QY":{"oj":[],"aE":["H"],"G":[],"ak":[]},"kT":{"jB":[]},"H":{"G":[],"ak":[]},"kS":{"iE":["H"]},"ep":{"ca":[]},"vi":{"ep":[],"dw":["1"],"ca":[]},"hi":{"ep":[],"dw":["H"],"ca":[]},"yl":{"cM":["H","hi"],"H":[],"ac":["H","hi"],"G":[],"ak":[],"ac.1":"hi","cM.1":"hi","ac.0":"H"},"Fp":{"af":[]},"ym":{"H":[],"aE":["H"],"G":[],"ak":[]},"yo":{"H":[],"G":[],"ak":[]},"dL":{"ep":[],"dw":["H"],"ca":[]},"oi":{"cM":["H","dL"],"H":[],"ac":["H","dL"],"G":[],"ak":[],"ac.1":"dL","cM.1":"dL","ac.0":"H"},"yr":{"H":[],"G":[],"ak":[]},"m7":{"iP":[]},"Ig":{"iP":[]},"wE":{"iP":[]},"iJ":{"ep":[],"dw":["H"],"ca":[]},"yt":{"cM":["H","iJ"],"H":[],"ac":["H","iJ"],"G":[],"ak":[],"ac.1":"iJ","cM.1":"iJ","ac.0":"H"},"HU":{"af":[]},"G":{"ak":[]},"dw":{"ca":[]},"R1":{"eM":[]},"B_":{"eM":[]},"p8":{"eM":[]},"m5":{"dw":["H"],"ca":[]},"jc":{"dB":[],"af":[]},"lO":{"H":[],"ac":["H","m5"],"G":[],"ak":[],"ac.1":"m5","ac.0":"H"},"BA":{"ce":[],"cJ":[],"cI":[]},"IX":{"H":[],"G":[],"hh":[],"ak":[]},"oy":{"af":[]},"yg":{"H":[],"aE":["H"],"G":[],"ak":[]},"k0":{"H":[],"aE":["H"],"G":[],"ak":[]},"JB":{"H":[],"aE":["H"],"G":[],"ak":[]},"yy":{"H":[],"aE":["H"],"G":[],"ak":[]},"oh":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jv":{"H":[],"aE":["H"],"G":[],"ak":[]},"yj":{"H":[],"aE":["H"],"G":[],"ak":[]},"ys":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jx":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jn":{"H":[],"aE":["H"],"G":[],"ak":[]},"vp":{"af":[]},"tJ":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jq":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jp":{"H":[],"aE":["H"],"G":[],"ak":[]},"BU":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jy":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jz":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jr":{"H":[],"aE":["H"],"G":[],"ak":[]},"JJ":{"H":[],"aE":["H"],"G":[],"ak":[]},"yp":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jt":{"H":[],"aE":["H"],"G":[],"ak":[]},"JA":{"H":[],"aE":["H"],"G":[],"ak":[]},"yu":{"H":[],"aE":["H"],"G":[],"hh":[],"ak":[]},"JD":{"H":[],"aE":["H"],"G":[],"ak":[]},"yq":{"H":[],"aE":["H"],"G":[],"ak":[]},"yv":{"H":[],"aE":["H"],"G":[],"ak":[]},"yz":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jo":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jw":{"H":[],"aE":["H"],"G":[],"ak":[]},"Js":{"H":[],"aE":["H"],"G":[],"ak":[]},"Ju":{"H":[],"aE":["H"],"G":[],"ak":[]},"yi":{"H":[],"aE":["H"],"G":[],"ak":[]},"dB":{"af":[]},"r5":{"H":[],"aE":["H"],"G":[],"ak":[]},"yw":{"H":[],"aE":["H"],"G":[],"ak":[]},"Jm":{"H":[],"aE":["H"],"G":[],"ak":[]},"yx":{"H":[],"aE":["H"],"G":[],"ak":[]},"yn":{"H":[],"aE":["H"],"G":[],"ak":[]},"rs":{"jB":[]},"k5":{"m2":[],"dw":["cn"],"ca":[]},"cn":{"G":[],"ak":[]},"KD":{"iE":["cn"]},"zo":{"ca":[]},"m2":{"ca":[]},"JE":{"lP":[],"cn":[],"ac":["H","fP"],"G":[],"ak":[],"ac.1":"fP","ac.0":"H"},"JF":{"lP":[],"cn":[],"ac":["H","fP"],"G":[],"ak":[]},"JG":{"lP":[],"cn":[],"ac":["H","fP"],"G":[],"ak":[],"ac.1":"fP","ac.0":"H"},"iG":{"ca":[]},"fP":{"dw":["H"],"iG":[],"ca":[]},"lP":{"cn":[],"ac":["H","fP"],"G":[],"ak":[]},"yA":{"cn":[],"aE":["cn"],"G":[],"ak":[]},"JH":{"cn":[],"aE":["cn"],"G":[],"ak":[]},"dP":{"ep":[],"dw":["H"],"ca":[]},"yB":{"cM":["H","dP"],"H":[],"ac":["H","dP"],"G":[],"ak":[],"ac.1":"dP","cM.1":"dP","ac.0":"H"},"Lb":{"H":[],"G":[],"ak":[]},"oj":{"aE":["H"],"G":[],"ak":[]},"r6":{"ja":["1"],"H":[],"ac":["cn","1"],"Jl":[],"G":[],"ak":[]},"yC":{"ja":["k5"],"H":[],"ac":["cn","k5"],"Jl":[],"G":[],"ak":[],"ac.1":"k5","ja.0":"k5","ac.0":"cn"},"fd":{"af":[]},"j6":{"ep":[],"dw":["H"],"ca":[]},"yD":{"cM":["H","j6"],"H":[],"ac":["H","j6"],"G":[],"ak":[],"ac.1":"j6","cM.1":"j6","ac.0":"H"},"oM":{"a6":["~"]},"zS":{"bQ":[]},"kf":{"cv":["kf"]},"ii":{"cv":["ii"]},"kq":{"cv":["kq"]},"rm":{"cv":["rm"]},"Rm":{"d_":[]},"Ko":{"af":[]},"qJ":{"cv":["rm"]},"oT":{"V6":[]},"jI":{"ha":[]},"nJ":{"ha":[]},"qx":{"ha":[]},"fK":{"bQ":[]},"xl":{"bQ":[]},"j_":{"c9":[]},"Nd":{"c9":[]},"Pd":{"qD":[]},"Pc":{"c9":[]},"S_":{"qD":[]},"hX":{"dy":[]},"lN":{"k_":[]},"r1":{"k_":[]},"yH":{"af":[]},"Py":{"zK":[]},"p_":{"o2":[]},"jl":{"a3":[],"i":[]},"Ab":{"aY":[],"aL":[],"i":[]},"no":{"a3":[],"i":[]},"ans":{"aQ":[]},"aAR":{"aQ":[]},"aAQ":{"aQ":[]},"ps":{"aQ":[]},"pE":{"aQ":[]},"iy":{"aQ":[]},"jY":{"aQ":[]},"fs":{"bp":["1"]},"kU":{"bp":["1"],"bp.T":"1"},"Ac":{"ag":["jl"]},"AS":{"ag":["no"]},"LF":{"bp":["ans"],"bp.T":"ans"},"FQ":{"bp":["aQ"],"bp.T":"aQ"},"FM":{"bp":["iy"]},"J8":{"fs":["jY"],"bp":["jY"],"fs.T":"jY","bp.T":"jY"},"Bv":{"fs":["1"],"Pr":["1"],"bp":["1"],"fs.T":"1","bp.T":"1"},"Av":{"bp":["1"],"bp.T":"1"},"uB":{"b_":[],"as":[],"i":[]},"A7":{"a3":[],"i":[]},"CW":{"ag":["A7"],"e4":[]},"qd":{"a3":[],"i":[]},"AU":{"ag":["qd<1>"]},"pz":{"a3":[],"i":[]},"Ah":{"ag":["pz"]},"Hc":{"af":[]},"Pf":{"aV":[],"i":[]},"h5":{"aY":[],"aL":[],"i":[]},"pM":{"b_":[],"as":[],"i":[]},"fl":{"b_":[],"as":[],"i":[]},"kY":{"b_":[],"as":[],"i":[]},"l4":{"b_":[],"as":[],"i":[]},"wY":{"dM":["hi"],"aL":[],"i":[],"dM.T":"hi"},"px":{"b_":[],"as":[],"i":[]},"lL":{"dM":["dP"],"aL":[],"i":[],"dM.T":"dP"},"aAz":{"aY":[],"aL":[],"i":[]},"qi":{"b_":[],"as":[],"i":[]},"SJ":{"f4":[],"b2":[],"a4":[]},"SK":{"aY":[],"aL":[],"i":[]},"Ie":{"b_":[],"as":[],"i":[]},"vr":{"b_":[],"as":[],"i":[]},"F1":{"b_":[],"as":[],"i":[]},"IQ":{"b_":[],"as":[],"i":[]},"IR":{"b_":[],"as":[],"i":[]},"Lk":{"b_":[],"as":[],"i":[]},"Gm":{"b_":[],"as":[],"i":[]},"Gy":{"b_":[],"as":[],"i":[]},"cf":{"b_":[],"as":[],"i":[]},"vq":{"ec":[],"as":[],"i":[]},"m0":{"b_":[],"as":[],"i":[]},"h2":{"b_":[],"as":[],"i":[]},"Hp":{"b_":[],"as":[],"i":[]},"xF":{"b_":[],"as":[],"i":[]},"Pl":{"bx":[],"b2":[],"a4":[]},"H5":{"b_":[],"as":[],"i":[]},"KG":{"b_":[],"as":[],"i":[]},"Hq":{"ec":[],"as":[],"i":[]},"zu":{"ec":[],"as":[],"i":[]},"J1":{"aV":[],"i":[]},"wg":{"ec":[],"as":[],"i":[]},"yM":{"ec":[],"as":[],"i":[]},"Fa":{"ec":[],"as":[],"i":[]},"Gp":{"dM":["dL"],"aL":[],"i":[],"dM.T":"dL"},"w7":{"dM":["dL"],"aL":[],"i":[],"dM.T":"dL"},"LM":{"ec":[],"as":[],"i":[]},"JM":{"ec":[],"as":[],"i":[]},"Jd":{"as":[],"i":[]},"Hu":{"b_":[],"as":[],"i":[]},"xn":{"b_":[],"as":[],"i":[]},"i0":{"b_":[],"as":[],"i":[]},"E0":{"b_":[],"as":[],"i":[]},"zb":{"b_":[],"as":[],"i":[]},"xk":{"b_":[],"as":[],"i":[]},"Es":{"b_":[],"as":[],"i":[]},"w4":{"b_":[],"as":[],"i":[]},"wH":{"b_":[],"as":[],"i":[]},"iI":{"aV":[],"i":[]},"fp":{"aV":[],"i":[]},"ve":{"b_":[],"as":[],"i":[]},"BM":{"H":[],"aE":["H"],"G":[],"ak":[]},"yL":{"i":[]},"yJ":{"b2":[],"a4":[]},"LK":{"iX":[],"ak":[]},"Ft":{"b_":[],"as":[],"i":[]},"Ff":{"aV":[],"i":[]},"l6":{"cU":[],"aY":[],"aL":[],"i":[]},"Pg":{"aV":[],"i":[]},"FC":{"aV":[],"i":[]},"vE":{"a3":[],"i":[]},"Az":{"ag":["vE"]},"pX":{"a3":[],"i":[]},"AH":{"ag":["pX"]},"cd":{"af":[]},"ld":{"cd":[],"af":[]},"M6":{"e4":[]},"wk":{"af":[]},"nm":{"a3":[],"i":[]},"AQ":{"iF":["cd"],"aY":[],"aL":[],"i":[],"iF.T":"cd"},"te":{"ag":["nm"]},"wl":{"a3":[],"i":[]},"NZ":{"a3":[],"i":[]},"NY":{"ag":["nm"]},"wm":{"a3":[],"i":[]},"amX":{"aQ":[]},"nZ":{"aQ":[]},"oe":{"aQ":[]},"alW":{"aQ":[]},"AR":{"cd":[],"af":[]},"O_":{"ag":["wm"]},"JL":{"bp":["amX"],"bp.T":"amX"},"I5":{"bp":["nZ"],"bp.T":"nZ"},"J4":{"bp":["oe"],"bp.T":"oe"},"FK":{"bp":["alW"],"bp.T":"alW"},"f1":{"ea":[]},"bv":{"f1":["1"],"ea":[]},"a3":{"i":[]},"b2":{"a4":[]},"hp":{"b2":[],"a4":[]},"lG":{"b2":[],"a4":[]},"f4":{"b2":[],"a4":[]},"nu":{"f1":["1"],"ea":[]},"aV":{"i":[]},"aL":{"i":[]},"dM":{"aL":[],"i":[]},"aY":{"aL":[],"i":[]},"as":{"i":[]},"Hm":{"as":[],"i":[]},"b_":{"as":[],"i":[]},"ec":{"as":[],"i":[]},"Gg":{"as":[],"i":[]},"vf":{"b2":[],"a4":[]},"KO":{"b2":[],"a4":[]},"y9":{"b2":[],"a4":[]},"bx":{"b2":[],"a4":[]},"Hl":{"bx":[],"b2":[],"a4":[]},"zi":{"bx":[],"b2":[],"a4":[]},"fH":{"bx":[],"b2":[],"a4":[]},"JK":{"bx":[],"b2":[],"a4":[]},"Pe":{"b2":[],"a4":[]},"Ph":{"i":[]},"lM":{"a3":[],"i":[]},"r0":{"ag":["lM"]},"cT":{"nt":["1"]},"GC":{"aV":[],"i":[]},"O6":{"b_":[],"as":[],"i":[]},"nw":{"a3":[],"i":[]},"tm":{"ag":["nw"]},"wv":{"nY":[]},"nA":{"aV":[],"i":[]},"nC":{"cU":[],"aY":[],"aL":[],"i":[]},"qj":{"a3":[],"i":[]},"AZ":{"ag":["qj"],"e4":[]},"mU":{"aR":["cH?"],"aI":["cH?"],"aI.T":"cH?","aR.T":"cH?"},"oK":{"aR":["n"],"aI":["n"],"aI.T":"n","aR.T":"n"},"ut":{"a3":[],"i":[]},"uv":{"a3":[],"i":[]},"Fw":{"aR":["hH"],"aI":["hH"],"aI.T":"hH","aR.T":"hH"},"vR":{"aR":["aJ"],"aI":["aJ"],"aI.T":"aJ","aR.T":"aJ"},"H1":{"a3":[],"i":[]},"qq":{"ag":["1"]},"pu":{"ag":["1"]},"LX":{"ag":["ut"]},"LY":{"ag":["uv"]},"h9":{"aY":[],"aL":[],"i":[]},"wJ":{"f4":[],"b2":[],"a4":[]},"iF":{"aY":[],"aL":[],"i":[]},"tq":{"f4":[],"b2":[],"a4":[]},"cU":{"aY":[],"aL":[],"i":[]},"Mr":{"aV":[],"i":[]},"B8":{"aY":[],"aL":[],"i":[]},"x4":{"a3":[],"i":[]},"SV":{"f7":["A8"],"f7.T":"A8"},"FE":{"A8":[]},"OK":{"ag":["x4"]},"arp":{"aY":[],"aL":[],"i":[]},"iL":{"h9":["dT"],"aY":[],"aL":[],"i":[],"h9.T":"dT"},"Bg":{"a3":[],"i":[]},"OR":{"ag":["Bg"],"e4":[]},"t_":{"ce":[],"cJ":[],"cI":[]},"HR":{"aV":[],"i":[]},"M3":{"nt":["t_"]},"P0":{"aV":[],"i":[]},"I4":{"aV":[],"i":[]},"amQ":{"i1":[]},"nx":{"aY":[],"aL":[],"i":[]},"xy":{"a3":[],"i":[]},"iN":{"ag":["xy"]},"tz":{"mr":[]},"ty":{"mr":[]},"Bp":{"mr":[]},"Bq":{"mr":[]},"O9":{"j":["fU"],"af":[],"j.E":"fU"},"Ob":{"dO":["aA>?"],"af":[]},"cL":{"aL":[],"i":[]},"Bt":{"b2":[],"a4":[]},"jO":{"af":[]},"km":{"a3":[],"i":[]},"Bu":{"ag":["km"]},"qK":{"a3":[],"i":[]},"qN":{"ag":["qK"]},"my":{"H":[],"ac":["H","dP"],"G":[],"ak":[],"ac.1":"dP","ac.0":"H"},"xH":{"a3":[],"i":[]},"ms":{"fD":["ms"],"fD.E":"ms"},"p3":{"aY":[],"aL":[],"i":[]},"mx":{"H":[],"aE":["H"],"G":[],"ak":[],"fD":["mx"],"fD.E":"mx"},"BS":{"H":[],"aE":["H"],"G":[],"ak":[]},"CI":{"ec":[],"as":[],"i":[]},"Sc":{"bx":[],"b2":[],"a4":[]},"tV":{"dP":[],"ep":[],"dw":["H"],"ca":[]},"Pp":{"ag":["xH"]},"tB":{"as":[],"i":[]},"Po":{"bx":[],"b2":[],"a4":[]},"Nc":{"b_":[],"as":[],"i":[]},"ws":{"a3":[],"i":[]},"zy":{"a3":[],"i":[]},"AX":{"ag":["ws"]},"AW":{"af":[]},"O7":{"af":[]},"Cz":{"ag":["zy"]},"Cy":{"af":[]},"xI":{"fc":[]},"arP":{"dS":["1"],"ea":[]},"qP":{"aV":[],"i":[]},"xK":{"a3":[],"i":[]},"Ij":{"af":[]},"Ik":{"i2":[]},"mt":{"k3":[],"fd":[],"af":[],"i2":[]},"Pt":{"ag":["xK"]},"xJ":{"fF":["1"],"dR":["1"],"cp":["1"]},"y3":{"a3":[],"i":[]},"qR":{"as":[],"i":[]},"GO":{"aV":[],"i":[]},"BB":{"ag":["y3"]},"PA":{"H":[],"aE":["H"],"G":[],"ak":[]},"Pz":{"b_":[],"as":[],"i":[]},"qW":{"aY":[],"aL":[],"i":[]},"lR":{"a3":[],"i":[]},"A2":{"aY":[],"aL":[],"i":[]},"yK":{"a3":[],"i":[]},"dO":{"af":[]},"QX":{"ag":["lR"]},"C2":{"ag":["yK"]},"bJ":{"dO":["1"],"af":[]},"ih":{"bJ":["1"],"dO":["1"],"af":[]},"C0":{"ih":["1"],"bJ":["1"],"dO":["1"],"af":[]},"yG":{"ih":["1"],"bJ":["1"],"dO":["1"],"af":[],"bJ.T":"1","ih.T":"1"},"yF":{"ih":["M"],"bJ":["M"],"dO":["M"],"af":[],"bJ.T":"M","ih.T":"M"},"JQ":{"a3":[],"i":[]},"aL_":{"aNJ":["a6"]},"tL":{"ag":["JQ<1>"]},"R3":{"aY":[],"aL":[],"i":[]},"QU":{"bJ":["lS?"],"dO":["lS?"],"af":[],"bJ.T":"lS?"},"Bj":{"h9":["anG"],"aY":[],"aL":[],"i":[],"h9.T":"anG"},"tx":{"a3":[],"i":[]},"mq":{"ag":["tx<1>"]},"qM":{"cp":["1"]},"dR":{"cp":["1"]},"Nj":{"bp":["iy"],"bp.T":"iy"},"fF":{"dR":["1"],"cp":["1"]},"y5":{"fF":["1"],"dR":["1"],"cp":["1"]},"JU":{"aV":[],"i":[]},"yT":{"fz":["1"],"fz.T":"1"},"yU":{"aY":[],"aL":[],"i":[]},"rh":{"af":[]},"tO":{"a3":[],"i":[]},"tN":{"dS":["ea"],"ea":[],"dS.T":"ea"},"Cj":{"ag":["tO"]},"wf":{"i2":[]},"eC":{"hc":[],"fc":[]},"hm":{"eC":[],"hc":[],"fc":[]},"yY":{"eC":[],"hc":[],"fc":[]},"iQ":{"eC":[],"hc":[],"fc":[]},"k2":{"eC":[],"hc":[],"fc":[]},"Ly":{"eC":[],"hc":[],"fc":[]},"C9":{"aY":[],"aL":[],"i":[]},"mo":{"fD":["mo"],"fD.E":"mo"},"yX":{"a3":[],"i":[]},"Ka":{"ag":["yX"]},"k3":{"fd":[],"af":[],"i2":[]},"oo":{"fc":[]},"or":{"k3":[],"fd":[],"af":[],"i2":[]},"Kb":{"aV":[],"i":[]},"Ey":{"aV":[],"i":[]},"Hr":{"aV":[],"i":[]},"z_":{"a3":[],"i":[]},"Cb":{"aY":[],"aL":[],"i":[]},"Cd":{"a3":[],"i":[]},"z0":{"ag":["z_"]},"Rc":{"ag":["Cd"]},"Cc":{"af":[]},"Rb":{"b_":[],"as":[],"i":[]},"QK":{"H":[],"aE":["H"],"G":[],"ak":[]},"QV":{"bJ":["Q?"],"dO":["Q?"],"af":[],"bJ.T":"Q?"},"eB":{"aQ":[]},"rg":{"fs":["eB"],"bp":["eB"],"fs.T":"eB","bp.T":"eB"},"r2":{"a3":[],"i":[]},"jg":{"fa":[],"ce":[],"cJ":[],"cI":[]},"mB":{"fT":[],"fu":[],"ce":[],"cJ":[],"cI":[]},"mk":{"fy":[],"fu":[],"ce":[],"cJ":[],"cI":[]},"z1":{"af":[]},"iT":{"ag":["1"]},"qE":{"af":[]},"os":{"a3":[],"i":[]},"rk":{"aY":[],"aL":[],"i":[]},"Rj":{"dB":[],"ag":["os"],"af":[]},"Kh":{"af":[]},"zg":{"a3":[],"i":[]},"Rr":{"ag":["zg"]},"Rs":{"h9":["J"],"aY":[],"aL":[],"i":[],"h9.T":"J"},"a2":{"rq":[]},"oB":{"a3":[],"i":[]},"zh":{"a3":[],"i":[]},"rr":{"af":[]},"Cm":{"ag":["oB"]},"Ks":{"af":[]},"Cl":{"ag":["zh"]},"Rv":{"aY":[],"aL":[],"i":[]},"tQ":{"b_":[],"as":[],"i":[]},"Ku":{"aV":[],"i":[]},"RB":{"bx":[],"b2":[],"a4":[]},"BY":{"H":[],"aE":["H"],"Jl":[],"G":[],"ak":[]},"KH":{"as":[],"i":[]},"oC":{"as":[],"i":[]},"KF":{"oC":[],"as":[],"i":[]},"rt":{"bx":[],"b2":[],"a4":[]},"wU":{"dM":["iG"],"aL":[],"i":[],"dM.T":"iG"},"KB":{"aV":[],"i":[]},"RD":{"oC":[],"as":[],"i":[]},"RE":{"b_":[],"as":[],"i":[]},"QM":{"cn":[],"aE":["cn"],"G":[],"ak":[]},"zp":{"af":[]},"KK":{"b_":[],"as":[],"i":[]},"tK":{"H":[],"aE":["H"],"G":[],"ak":[]},"KJ":{"af":[]},"Na":{"af":[]},"asj":{"H":[],"aE":["H"],"G":[],"ak":[]},"L_":{"b_":[],"as":[],"i":[]},"JI":{"H":[],"aE":["H"],"G":[],"ak":[]},"Nw":{"cI":[]},"pV":{"cU":[],"aY":[],"aL":[],"i":[]},"aAC":{"cU":[],"aY":[],"aL":[],"i":[]},"Ch":{"a3":[],"i":[]},"Pi":{"aV":[],"i":[]},"cW":{"aV":[],"i":[]},"Ri":{"ag":["Ch"]},"R0":{"aV":[],"i":[]},"Ci":{"af":[]},"FR":{"aQ":[]},"FL":{"aQ":[]},"vv":{"aQ":[]},"vx":{"aQ":[]},"vw":{"aQ":[]},"FJ":{"aQ":[]},"nc":{"aQ":[]},"nf":{"aQ":[]},"wb":{"aQ":[]},"w5":{"aQ":[]},"w6":{"aQ":[]},"hP":{"aQ":[]},"ng":{"aQ":[]},"nh":{"aQ":[]},"ne":{"aQ":[]},"wa":{"aQ":[]},"nd":{"aQ":[]},"yZ":{"aQ":[]},"Kf":{"aQ":[]},"vk":{"aQ":[]},"IK":{"aQ":[]},"Ji":{"aQ":[]},"Lr":{"aQ":[]},"Lo":{"aQ":[]},"La":{"as":[],"i":[]},"rK":{"a3":[],"i":[]},"AI":{"aY":[],"aL":[],"i":[]},"Se":{"ag":["rK"]},"At":{"af":[]},"Lg":{"aV":[],"i":[]},"Lh":{"af":[]},"ux":{"a3":[],"i":[]},"ni":{"b_":[],"as":[],"i":[]},"Ad":{"ag":["ux"]},"KA":{"a3":[],"i":[]},"HH":{"a3":[],"i":[]},"JX":{"a3":[],"i":[]},"JP":{"a3":[],"i":[]},"Kv":{"a3":[],"i":[]},"Fu":{"a3":[],"i":[]},"nN":{"a3":[],"i":[]},"E8":{"a3":[],"i":[]},"kd":{"a3":[],"i":[]},"tZ":{"ag":["kd<1>"]},"A5":{"a3":[],"i":[]},"p9":{"aY":[],"aL":[],"i":[]},"Bz":{"aY":[],"aL":[],"i":[]},"SR":{"ag":["A5"],"e4":[]},"Jg":{"aV":[],"i":[]},"BF":{"as":[],"i":[]},"Qk":{"bx":[],"b2":[],"a4":[]},"Ay":{"f1":["1"],"ea":[]},"oS":{"ec":[],"as":[],"i":[]},"SS":{"bx":[],"b2":[],"a4":[]},"LG":{"C":[],"bu":["C"]},"CV":{"C":[],"bu":["C"]},"LH":{"c9":[],"bu":["c9"]},"ND":{"c9":[],"bu":["c9"]},"OH":{"bu":["cA?"]},"B6":{"bu":["1?"]},"bl":{"bu":["1"]},"cr":{"bu":["1"]},"LI":{"af":[]},"rX":{"a3":[],"i":[]},"SW":{"ag":["rX"]},"JY":{"d7":[]},"JZ":{"d7":[]},"K_":{"d7":[]},"K0":{"d7":[]},"K1":{"d7":[]},"K2":{"d7":[]},"K3":{"d7":[]},"K4":{"d7":[]},"K5":{"d7":[]},"HQ":{"bQ":[]},"mi":{"c5":["1"],"c5.T":"1"},"NA":{"mi":["1"],"c5":["1"],"c5.T":"1"},"AK":{"i6":["1"]},"aCE":{"a3":[],"i":[]},"aB7":{"a3":[],"i":[]},"aB8":{"ag":["aB7"]},"aGo":{"aY":[],"aL":[],"i":[]},"aCq":{"o2":[]}}')) +A.aGx(v.typeUniverse,JSON.parse('{"f0":1,"mb":1,"Ky":1,"Kz":1,"G4":1,"Gv":1,"wG":1,"we":1,"Lu":1,"rO":1,"D7":2,"vh":1,"x_":1,"qG":1,"fw":1,"kp":1,"RY":1,"M9":1,"Ne":1,"mg":1,"tE":1,"RR":1,"SN":2,"x7":2,"RO":2,"RN":2,"Cr":2,"Cs":1,"Ct":1,"CR":2,"ER":1,"F9":2,"vj":2,"O3":3,"CA":1,"cv":1,"pa":1,"w8":1,"Fz":1,"kM":1,"pQ":1,"Aq":1,"Ar":1,"As":1,"xO":1,"D5":1,"Aw":1,"eL":1,"iw":1,"vB":1,"y_":2,"HF":1,"Bd":1,"u_":1,"y4":1,"u0":1,"u1":1,"vi":1,"Au":1,"Hj":1,"dw":1,"f9":1,"yh":1,"vp":1,"tJ":1,"BU":1,"r6":1,"CD":1,"De":1,"mR":1,"FP":1,"qq":1,"pu":1,"tp":1,"amQ":1,"Ln":1,"FD":1,"arP":1,"xJ":1,"dO":1,"iV":1,"C0":1,"u2":1,"aDw":1,"qM":1,"Hv":1,"y5":1,"p1":1,"tI":1,"m_":1,"e3":1,"At":1,"zV":1,"Ja":1,"zQ":1,"Za":1}')) +var u={q:"\x10@\x100@@\xa0\x80 0P`pPP\xb1\x10@\x100@@\xa0\x80 0P`pPP\xb0\x11@\x100@@\xa0\x80 0P`pPP\xb0\x10@\x100@@\xa0\x80 1P`pPP\xb0\x10A\x101AA\xa1\x81 1QaqQQ\xb0\x10@\x100@@\xa0\x80 1Q`pPP\xb0\x10@\x100@@\xa0\x80 1QapQP\xb0\x10@\x100@@\xa0\x80 1PaqQQ\xb0\x10\xe0\x100@@\xa0\x80 1P`pPP\xb0\xb1\xb1\xb1\xb1\x91\xb1\xc1\x81\xb1\xb1\xb1\xb1\xb1\xb1\xb1\xb1\x10@\x100@@\xd0\x80 1P`pPP\xb0\x11A\x111AA\xa1\x81!1QaqQQ\xb1\x10@\x100@@\x90\x80 1P`pPP\xb0",h:' {\n "GlobalParameter":{\n "Name":"GP"\n },\n "ImageParameterArray":[\n {\n "Name":"IP-1",\n "NormalizerParameterName":"NP-1",\n "BinarizationModes":[{"Mode":"BM_LOCAL_BLOCK", "ThresholdCompensation":10}],\n "ScaleDownThreshold":2300\n }\n ],\n "NormalizerParameterArray":[\n {\n "Name":"NP-1",\n "ColourMode": "ICM_COLOUR" \n }\n ]\n }\n ',S:" 0\x10000\xa0\x80\x10@P`p`p\xb1 0\x10000\xa0\x80\x10@P`p`p\xb0 0\x10000\xa0\x80\x11@P`p`p\xb0 1\x10011\xa0\x80\x10@P`p`p\xb0 1\x10111\xa1\x81\x10AQaqaq\xb0 1\x10011\xa0\x80\x10@Qapaq\xb0 1\x10011\xa0\x80\x10@Paq`p\xb0 1\x10011\xa0\x80\x10@P`q`p\xb0 \x91\x100\x811\xa0\x80\x10@P`p`p\xb0 1\x10011\xa0\x81\x10@P`p`p\xb0 1\x100111\x80\x10@P`p`p\xb0!1\x11111\xa1\x81\x11AQaqaq\xb1",r:'"recorder" must not already be associated with another Canvas.',T:"% of the way to being a CircleBorder that is ",N:"' has been assigned during initialization.",K:"00000008A0009!B000a!C000b000cD000d!E000e000vA000w!F000x!G000y!H000z!I0010!J0011!K0012!I0013!H0014!L0015!M0016!I0017!J0018!N0019!O001a!N001b!P001c001lQ001m001nN001o001qI001r!G001s002iI002j!L002k!J002l!M002m003eI003f!L003g!B003h!R003i!I003j003oA003p!D003q004fA004g!S004h!L004i!K004j004lJ004m004qI004r!H004s!I004t!B004u004vI004w!K004x!J004y004zI0050!T00510056I0057!H0058005aI005b!L005c00jrI00js!T00jt00jvI00jw!T00jx00keI00kf!T00kg00lbI00lc00niA00nj!S00nk00nvA00nw00o2S00o300ofA00og00otI00ou!N00ov00w2I00w300w9A00wa013cI013d!N013e!B013h013iI013j!J013l014tA014u!B014v!A014w!I014x014yA014z!I01500151A0152!G0153!A015c0162U0167016aU016b016wI016x016zK01700171N01720173I0174017eA017f!G017g!A017i017jG017k018qI018r019bA019c019lQ019m!K019n019oQ019p019rI019s!A019t01cjI01ck!G01cl!I01cm01csA01ct01cuI01cv01d0A01d101d2I01d301d4A01d5!I01d601d9A01da01dbI01dc01dlQ01dm01e8I01e9!A01ea01f3I01f401fuA01fx01idI01ie01ioA01ip!I01j401jdQ01je01kaI01kb01kjA01kk01knI01ko!N01kp!G01kq!I01kt!A01ku01kvJ01kw01lhI01li01llA01lm!I01ln01lvA01lw!I01lx01lzA01m0!I01m101m5A01m801ncI01nd01nfA01ni01qfI01qr01r5A01r6!I01r701s3A01s401tlI01tm01toA01tp!I01tq01u7A01u8!I01u901ufA01ug01upI01uq01urA01us01utB01uu01v3Q01v401vkI01vl01vnA01vp01x5I01x8!A01x9!I01xa01xgA01xj01xkA01xn01xpA01xq!I01xz!A01y401y9I01ya01ybA01ye01ynQ01yo01ypI01yq01yrK01ys01ywI01yx!K01yy!I01yz!J01z001z1I01z2!A01z501z7A01z9020pI020s!A020u020yA02130214A02170219A021d!A021l021qI021y0227Q02280229A022a022cI022d!A022e!I022p022rA022t0249I024c!A024d!I024e024lA024n024pA024r024tA024w025dI025e025fA025i025rQ025s!I025t!J0261!I02620267A0269026bA026d027tI027w!A027x!I027y0284A02870288A028b028dA028l028nA028s028xI028y028zA0292029bQ029c029jI029u!A029v02bdI02bi02bmA02bq02bsA02bu02bxA02c0!I02c7!A02cm02cvQ02cw02d4I02d5!J02d6!I02dc02dgA02dh02f1I02f202f8A02fa02fcA02fe02fhA02fp02fqA02fs02g1I02g202g3A02g602gfQ02gn!T02go02gwI02gx02gzA02h0!T02h102ihI02ik!A02il!I02im02isA02iu02iwA02iy02j1A02j902jaA02ji02jlI02jm02jnA02jq02jzQ02k102k2I02kg02kjA02kk02m2I02m302m4A02m5!I02m602mcA02me02mgA02mi02mlA02mm02muI02mv!A02mw02n5I02n602n7A02na02njQ02nk02nsI02nt!K02nu02nzI02o102o3A02o502pyI02q2!A02q702qcA02qe!A02qg02qnA02qu02r3Q02r602r7A02r802t6I02tb!J02tc02trI02ts02u1Q02u202u3B02v502x9I02xc02xlQ02xo02yoI02yp02ysT02yt!I02yu02yvT02yw!S02yx02yyT02yz!B02z0!S02z102z5G02z6!S02z7!I02z8!G02z902zbI02zc02zdA02ze02zjI02zk02ztQ02zu0303I0304!B0305!A0306!I0307!A0308!I0309!A030a!L030b!R030c!L030d!R030e030fA030g031oI031t0326A0327!B0328032cA032d!B032e032fA032g032kI032l032vA032x033wA033y033zB03400345I0346!A0347034fI034g034hT034i!B034j!T034k034oI034p034qS035s037jI037k037tQ037u037vB037w039rI039s03a1Q03a203cvI03cw03fjV03fk03hjW03hk03jzX03k003tmI03tp03trA03ts!I03tt!B03tu03y5I03y8!B03y904fzI04g0!B04g104gqI04gr!L04gs!R04gw04iyI04iz04j1B04j204k1I04k204k4A04kg04kxI04ky04l0A04l104l2B04lc04ltI04lu04lvA04m804moI04mq04mrA04n404pfI04pg04phB04pi!Y04pj!I04pk!B04pl!I04pm!B04pn!J04po04ppI04ps04q1Q04q804qpI04qq04qrG04qs04qtB04qu!T04qv!I04qw04qxG04qy!I04qz04r1A04r2!S04r404rdQ04rk04ucI04ud04ueA04uf04vcI04vd!A04ve04ymI04yo04yzA04z404zfA04zk!I04zo04zpG04zq04zzQ0500053dI053k053tQ053u055iI055j055nA055q058cI058f!A058g058pQ058w0595Q059c059pI059s05a8A05c005c4A05c505dfI05dg05dwA05dx05e3I05e805ehQ05ei05ejB05ek!I05el05eoB05ep05eyI05ez05f7A05f805fgI05fk05fmA05fn05ggI05gh05gtA05gu05gvI05gw05h5Q05h605idI05ie05irA05j005k3I05k405knA05kr05kvB05kw05l5Q05l905lbI05lc05llQ05lm05mlI05mm05mnB05mo05onI05ow05oyA05oz!I05p005pkA05pl05poI05pp!A05pq05pvI05pw!A05px05pyI05pz05q1A05q205vjI05vk05x5A05x705xbA05xc06bgI06bh!T06bi!I06bk06bqB06br!S06bs06buB06bv!Z06bw!A06bx!a06by06bzA06c0!B06c1!S06c206c3B06c4!b06c506c7I06c806c9H06ca!L06cb06cdH06ce!L06cf!H06cg06cjI06ck06cmc06cn!B06co06cpD06cq06cuA06cv!S06cw06d3K06d4!I06d506d6H06d7!I06d806d9Y06da06dfI06dg!N06dh!L06di!R06dj06dlY06dm06dxI06dy!B06dz!I06e006e3B06e4!I06e506e7B06e8!d06e906ecI06ee06enA06eo06f0I06f1!L06f2!R06f306fgI06fh!L06fi!R06fk06fwI06g006g6J06g7!K06g806glJ06gm!K06gn06gqJ06gr!K06gs06gtJ06gu!K06gv06hbJ06hc06i8A06io06iqI06ir!K06is06iwI06ix!K06iy06j9I06ja!J06jb06q9I06qa06qbJ06qc06weI06wf!c06wg06x3I06x4!L06x5!R06x6!L06x7!R06x806xlI06xm06xne06xo06y0I06y1!L06y2!R06y3073jI073k073ne073o07i7I07i807ibe07ic07irI07is07ite07iu07ivI07iw!e07ix!I07iy07j0e07j1!f07j207j3e07j407jsI07jt07jve07jw07l3I07l4!e07l507lqI07lr!e07ls07ngI07nh07nse07nt07nwI07nx!e07ny!I07nz07o1e07o2!I07o307o4e07o507o7I07o807o9e07oa07obI07oc!e07od07oeI07of07ohe07oi07opI07oq!e07or07owI07ox07p1e07p2!I07p307p4e07p5!f07p6!e07p707p8I07p907pge07ph07pjI07pk07ple07pm07ppf07pq07ruI07rv07s0H07s1!I07s207s3G07s4!e07s507s7I07s8!L07s9!R07sa!L07sb!R07sc!L07sd!R07se!L07sf!R07sg!L07sh!R07si!L07sj!R07sk!L07sl!R07sm07usI07ut!L07uu!R07uv07vpI07vq!L07vr!R07vs!L07vt!R07vu!L07vv!R07vw!L07vx!R07vy!L07vz!R07w00876I0877!L0878!R0879!L087a!R087b!L087c!R087d!L087e!R087f!L087g!R087h!L087i!R087j!L087k!R087l!L087m!R087n!L087o!R087p!L087q!R087r!L087s!R087t089jI089k!L089l!R089m!L089n!R089o08ajI08ak!L08al!R08am08viI08vj08vlA08vm08vnI08vt!G08vu08vwB08vx!I08vy!G08vz!B08w008z3I08z4!B08zj!A08zk0926I09280933A0934093hH093i093pB093q!I093r!B093s!L093t!B093u093vI093w093xH093y093zI09400941H0942!L0943!R0944!L0945!R0946!L0947!R0948!L0949!R094a094dB094e!G094f!I094g094hB094i!I094j094kB094l094pI094q094rb094s094uB094v!I094w094xB094y!L094z0956B0957!I0958!B0959!I095a095bB095c095eI096o097de097f099ve09a809g5e09gw09h7e09hc!B09hd09heR09hf09hge09hh!Y09hi09hje09hk!L09hl!R09hm!L09hn!R09ho!L09hp!R09hq!L09hr!R09hs!L09ht!R09hu09hve09hw!L09hx!R09hy!L09hz!R09i0!L09i1!R09i2!L09i3!R09i4!Y09i5!L09i609i7R09i809ihe09ii09inA09io09ise09it!A09iu09iye09iz09j0Y09j109j3e09j5!Y09j6!e09j7!Y09j8!e09j9!Y09ja!e09jb!Y09jc!e09jd!Y09je09k2e09k3!Y09k409kye09kz!Y09l0!e09l1!Y09l2!e09l3!Y09l409l9e09la!Y09lb09lge09lh09liY09ll09lmA09ln09lqY09lr!e09ls09ltY09lu!e09lv!Y09lw!e09lx!Y09ly!e09lz!Y09m0!e09m1!Y09m209mqe09mr!Y09ms09nme09nn!Y09no!e09np!Y09nq!e09nr!Y09ns09nxe09ny!Y09nz09o4e09o509o6Y09o709oae09ob09oeY09of!e09ol09pre09pt09see09sg09ure09v409vjY09vk09wee09wg09xje09xk09xrI09xs0fcve0fcw0fenI0feo0vmce0vmd!Y0vme0wi4e0wi80wjqe0wk00wl9I0wla0wlbB0wlc0wssI0wst!B0wsu!G0wsv!B0wsw0wtbI0wtc0wtlQ0wtm0wviI0wvj0wvmA0wvn!I0wvo0wvxA0wvy0wwtI0wwu0wwvA0www0wz3I0wz40wz5A0wz6!I0wz70wzbB0wzk0x6pI0x6q!A0x6r0x6tI0x6u!A0x6v0x6yI0x6z!A0x700x7mI0x7n0x7rA0x7s0x7vI0x7w!A0x800x87I0x88!K0x890x9vI0x9w0x9xT0x9y0x9zG0xa80xa9A0xaa0xbnI0xbo0xc5A0xce0xcfB0xcg0xcpQ0xcw0xddA0xde0xdnI0xdo!T0xdp0xdqI0xdr!A0xds0xe1Q0xe20xetI0xeu0xf1A0xf20xf3B0xf40xfqI0xfr0xg3A0xgf!I0xgg0xh8V0xhc0xhfA0xhg0xiqI0xir0xj4A0xj50xjaI0xjb0xjdB0xje0xjjI0xjk0xjtQ0xjy0xkfI0xkg0xkpQ0xkq0xm0I0xm10xmeA0xmo0xmqI0xmr!A0xms0xmzI0xn00xn1A0xn40xndQ0xng!I0xnh0xnjB0xnk0xreI0xrf0xrjA0xrk0xrlB0xrm0xroI0xrp0xrqA0xs10xyaI0xyb0xyiA0xyj!B0xyk0xylA0xyo0xyxQ0xz4!g0xz50xzvh0xzw!g0xzx0y0nh0y0o!g0y0p0y1fh0y1g!g0y1h0y27h0y28!g0y290y2zh0y30!g0y310y3rh0y3s!g0y3t0y4jh0y4k!g0y4l0y5bh0y5c!g0y5d0y63h0y64!g0y650y6vh0y6w!g0y6x0y7nh0y7o!g0y7p0y8fh0y8g!g0y8h0y97h0y98!g0y990y9zh0ya0!g0ya10yarh0yas!g0yat0ybjh0ybk!g0ybl0ycbh0ycc!g0ycd0yd3h0yd4!g0yd50ydvh0ydw!g0ydx0yenh0yeo!g0yep0yffh0yfg!g0yfh0yg7h0yg8!g0yg90ygzh0yh0!g0yh10yhrh0yhs!g0yht0yijh0yik!g0yil0yjbh0yjc!g0yjd0yk3h0yk4!g0yk50ykvh0ykw!g0ykx0ylnh0ylo!g0ylp0ymfh0ymg!g0ymh0yn7h0yn8!g0yn90ynzh0yo0!g0yo10yorh0yos!g0yot0ypjh0ypk!g0ypl0yqbh0yqc!g0yqd0yr3h0yr4!g0yr50yrvh0yrw!g0yrx0ysnh0yso!g0ysp0ytfh0ytg!g0yth0yu7h0yu8!g0yu90yuzh0yv0!g0yv10yvrh0yvs!g0yvt0ywjh0ywk!g0ywl0yxbh0yxc!g0yxd0yy3h0yy4!g0yy50yyvh0yyw!g0yyx0yznh0yzo!g0yzp0z0fh0z0g!g0z0h0z17h0z18!g0z190z1zh0z20!g0z210z2rh0z2s!g0z2t0z3jh0z3k!g0z3l0z4bh0z4c!g0z4d0z53h0z54!g0z550z5vh0z5w!g0z5x0z6nh0z6o!g0z6p0z7fh0z7g!g0z7h0z87h0z88!g0z890z8zh0z90!g0z910z9rh0z9s!g0z9t0zajh0zak!g0zal0zbbh0zbc!g0zbd0zc3h0zc4!g0zc50zcvh0zcw!g0zcx0zdnh0zdo!g0zdp0zefh0zeg!g0zeh0zf7h0zf8!g0zf90zfzh0zg0!g0zg10zgrh0zgs!g0zgt0zhjh0zhk!g0zhl0zibh0zic!g0zid0zj3h0zj4!g0zj50zjvh0zjw!g0zjx0zknh0zko!g0zkp0zlfh0zlg!g0zlh0zm7h0zm8!g0zm90zmzh0zn0!g0zn10znrh0zns!g0znt0zojh0zok!g0zol0zpbh0zpc!g0zpd0zq3h0zq4!g0zq50zqvh0zqw!g0zqx0zrnh0zro!g0zrp0zsfh0zsg!g0zsh0zt7h0zt8!g0zt90ztzh0zu0!g0zu10zurh0zus!g0zut0zvjh0zvk!g0zvl0zwbh0zwc!g0zwd0zx3h0zx4!g0zx50zxvh0zxw!g0zxx0zynh0zyo!g0zyp0zzfh0zzg!g0zzh1007h1008!g1009100zh1010!g1011101rh101s!g101t102jh102k!g102l103bh103c!g103d1043h1044!g1045104vh104w!g104x105nh105o!g105p106fh106g!g106h1077h1078!g1079107zh1080!g1081108rh108s!g108t109jh109k!g109l10abh10ac!g10ad10b3h10b4!g10b510bvh10bw!g10bx10cnh10co!g10cp10dfh10dg!g10dh10e7h10e8!g10e910ezh10f0!g10f110frh10fs!g10ft10gjh10gk!g10gl10hbh10hc!g10hd10i3h10i4!g10i510ivh10iw!g10ix10jnh10jo!g10jp10kfh10kg!g10kh10l7h10l8!g10l910lzh10m0!g10m110mrh10ms!g10mt10njh10nk!g10nl10obh10oc!g10od10p3h10p4!g10p510pvh10pw!g10px10qnh10qo!g10qp10rfh10rg!g10rh10s7h10s8!g10s910szh10t0!g10t110trh10ts!g10tt10ujh10uk!g10ul10vbh10vc!g10vd10w3h10w4!g10w510wvh10ww!g10wx10xnh10xo!g10xp10yfh10yg!g10yh10z7h10z8!g10z910zzh1100!g1101110rh110s!g110t111jh111k!g111l112bh112c!g112d1133h1134!g1135113vh113w!g113x114nh114o!g114p115fh115g!g115h1167h1168!g1169116zh1170!g1171117rh117s!g117t118jh118k!g118l119bh119c!g119d11a3h11a4!g11a511avh11aw!g11ax11bnh11bo!g11bp11cfh11cg!g11ch11d7h11d8!g11d911dzh11e0!g11e111erh11es!g11et11fjh11fk!g11fl11gbh11gc!g11gd11h3h11h4!g11h511hvh11hw!g11hx11inh11io!g11ip11jfh11jg!g11jh11k7h11k8!g11k911kzh11l0!g11l111lrh11ls!g11lt11mjh11mk!g11ml11nbh11nc!g11nd11o3h11o4!g11o511ovh11ow!g11ox11pnh11po!g11pp11qfh11qg!g11qh11r7h11r8!g11r911rzh11s0!g11s111srh11ss!g11st11tjh11tk!g11tl11ubh11uc!g11ud11v3h11v4!g11v511vvh11vw!g11vx11wnh11wo!g11wp11xfh11xg!g11xh11y7h11y8!g11y911yzh11z0!g11z111zrh11zs!g11zt120jh120k!g120l121bh121c!g121d1223h1224!g1225122vh122w!g122x123nh123o!g123p124fh124g!g124h1257h1258!g1259125zh1260!g1261126rh126s!g126t127jh127k!g127l128bh128c!g128d1293h1294!g1295129vh129w!g129x12anh12ao!g12ap12bfh12bg!g12bh12c7h12c8!g12c912czh12d0!g12d112drh12ds!g12dt12ejh12ek!g12el12fbh12fc!g12fd12g3h12g4!g12g512gvh12gw!g12gx12hnh12ho!g12hp12ifh12ig!g12ih12j7h12j8!g12j912jzh12k0!g12k112krh12ks!g12kt12ljh12lk!g12ll12mbh12mc!g12md12n3h12n4!g12n512nvh12nw!g12nx12onh12oo!g12op12pfh12pg!g12ph12q7h12q8!g12q912qzh12r0!g12r112rrh12rs!g12rt12sjh12sk!g12sl12tbh12tc!g12td12u3h12u4!g12u512uvh12uw!g12ux12vnh12vo!g12vp12wfh12wg!g12wh12x7h12x8!g12x912xzh12y0!g12y112yrh12ys!g12yt12zjh12zk!g12zl130bh130c!g130d1313h1314!g1315131vh131w!g131x132nh132o!g132p133fh133g!g133h1347h1348!g1349134zh1350!g1351135rh135s!g135t136jh136k!g136l137bh137c!g137d1383h1384!g1385138vh138w!g138x139nh139o!g139p13afh13ag!g13ah13b7h13b8!g13b913bzh13c0!g13c113crh13cs!g13ct13djh13dk!g13dl13ebh13ec!g13ed13f3h13f4!g13f513fvh13fw!g13fx13gnh13go!g13gp13hfh13hg!g13hh13i7h13i8!g13i913izh13j0!g13j113jrh13js!g13jt13kjh13kk!g13kl13lbh13lc!g13ld13m3h13m4!g13m513mvh13mw!g13mx13nnh13no!g13np13ofh13og!g13oh13p7h13p8!g13p913pzh13q0!g13q113qrh13qs!g13qt13rjh13rk!g13rl13sbh13sc!g13sd13t3h13t4!g13t513tvh13tw!g13tx13unh13uo!g13up13vfh13vg!g13vh13w7h13w8!g13w913wzh13x0!g13x113xrh13xs!g13xt13yjh13yk!g13yl13zbh13zc!g13zd1403h1404!g1405140vh140w!g140x141nh141o!g141p142fh142g!g142h1437h1438!g1439143zh1440!g1441144rh144s!g144t145jh145k!g145l146bh146c!g146d1473h1474!g1475147vh147w!g147x148nh148o!g148p149fh149g!g149h14a7h14a8!g14a914azh14b0!g14b114brh14bs!g14bt14cjh14ck!g14cl14dbh14dc!g14dd14e3h14e4!g14e514evh14ew!g14ex14fnh14fo!g14fp14gfh14gg!g14gh14h7h14h8!g14h914hzh14i0!g14i114irh14is!g14it14jjh14jk!g14jl14kbh14kc!g14kd14l3h14l4!g14l514lvh14lw!g14lx14mnh14mo!g14mp14nfh14ng!g14nh14o7h14o8!g14o914ozh14p0!g14p114prh14ps!g14pt14qjh14qk!g14ql14rbh14rc!g14rd14s3h14s4!g14s514svh14sw!g14sx14tnh14to!g14tp14ufh14ug!g14uh14v7h14v8!g14v914vzh14w0!g14w114wrh14ws!g14wt14xjh14xk!g14xl14ybh14yc!g14yd14z3h14z4!g14z514zvh14zw!g14zx150nh150o!g150p151fh151g!g151h1527h1528!g1529152zh1530!g1531153rh153s!g153t154jh154k!g154l155bh155c!g155d1563h1564!g1565156vh156w!g156x157nh157o!g157p158fh158g!g158h1597h1598!g1599159zh15a0!g15a115arh15as!g15at15bjh15bk!g15bl15cbh15cc!g15cd15d3h15d4!g15d515dvh15dw!g15dx15enh15eo!g15ep15ffh15fg!g15fh15g7h15g8!g15g915gzh15h0!g15h115hrh15hs!g15ht15ijh15ik!g15il15jbh15jc!g15jd15k3h15k4!g15k515kvh15kw!g15kx15lnh15lo!g15lp15mfh15mg!g15mh15n7h15n8!g15n915nzh15o0!g15o115orh15os!g15ot15pjh15pk!g15pl15qbh15qc!g15qd15r3h15r4!g15r515rvh15rw!g15rx15snh15so!g15sp15tfh15tg!g15th15u7h15u8!g15u915uzh15v0!g15v115vrh15vs!g15vt15wjh15wk!g15wl15xbh15xc!g15xd15y3h15y4!g15y515yvh15yw!g15yx15znh15zo!g15zp160fh160g!g160h1617h1618!g1619161zh1620!g1621162rh162s!g162t163jh163k!g163l164bh164c!g164d1653h1654!g1655165vh165w!g165x166nh166o!g166p167fh167g!g167h1687h1688!g1689168zh1690!g1691169rh169s!g169t16ajh16ak!g16al16bbh16bc!g16bd16c3h16c4!g16c516cvh16cw!g16cx16dnh16do!g16dp16efh16eg!g16eh16f7h16f8!g16f916fzh16g0!g16g116grh16gs!g16gt16hjh16hk!g16hl16ibh16ic!g16id16j3h16j4!g16j516jvh16jw!g16jx16knh16ko!g16kp16lfh16ls16meW16mj16nvX16o01d6nI1d6o1dkve1dkw1dljI1dlp!U1dlq!A1dlr1dm0U1dm1!I1dm21dmeU1dmg1dmkU1dmm!U1dmo1dmpU1dmr1dmsU1dmu1dn3U1dn41e0tI1e0u!R1e0v!L1e1c1e63I1e64!K1e65!I1e681e6nA1e6o!N1e6p1e6qR1e6r1e6sN1e6t1e6uG1e6v!L1e6w!R1e6x!c1e741e7jA1e7k1e7oe1e7p!L1e7q!R1e7r!L1e7s!R1e7t!L1e7u!R1e7v!L1e7w!R1e7x!L1e7y!R1e7z!L1e80!R1e81!L1e82!R1e83!L1e84!R1e851e86e1e87!L1e88!R1e891e8fe1e8g!R1e8h!e1e8i!R1e8k1e8lY1e8m1e8nG1e8o!e1e8p!L1e8q!R1e8r!L1e8s!R1e8t!L1e8u!R1e8v1e92e1e94!e1e95!J1e96!K1e97!e1e9c1ed8I1edb!d1edd!G1ede1edfe1edg!J1edh!K1edi1edje1edk!L1edl!R1edm1edne1edo!R1edp!e1edq!R1edr1ee1e1ee21ee3Y1ee41ee6e1ee7!G1ee81eeye1eez!L1ef0!e1ef1!R1ef21efue1efv!L1efw!e1efx!R1efy!e1efz!L1eg01eg1R1eg2!L1eg31eg4R1eg5!Y1eg6!e1eg71eggY1egh1ehpe1ehq1ehrY1ehs1eime1eiq1eive1eiy1ej3e1ej61ejbe1eje1ejge1ejk!K1ejl!J1ejm1ejoe1ejp1ejqJ1ejs1ejyI1ek91ekbA1ekc!i1ekd1ereI1erk1ermB1err1eykI1eyl!A1f281f4gI1f4w!A1f4x1f91I1f921f96A1f9c1fa5I1fa7!B1fa81fbjI1fbk!B1fbl1fh9I1fhc1fhlQ1fhs1g7pI1g7r!B1g7s1gd7I1gdb!B1gdc1gjkI1gjl1gjnA1gjp1gjqA1gjw1gjzA1gk01gl1I1gl41gl6A1glb!A1glc1glkI1gls1glzB1gm01gpwI1gpx1gpyA1gq31gq7I1gq81gqdB1gqe!c1gqo1gs5I1gs91gsfB1gsg1h5vI1h5w1h5zA1h681h6hQ1heo1hgpI1hgr1hgsA1hgt!B1hgw1hl1I1hl21hlcA1hld1hpyI1hq81hqaA1hqb1hrrI1hrs1hs6A1hs71hs8B1hs91ht1I1ht21htbQ1htr1htuA1htv1hv3I1hv41hveA1hvf1hvhI1hvi1hvlB1hvx1hwoI1hww1hx5Q1hxc1hxeA1hxf1hyeI1hyf1hysA1hyu1hz3Q1hz41hz7B1hz8!I1hz91hzaA1hzb1i0iI1i0j!A1i0k!I1i0l!T1i0m!I1i0w1i0yA1i0z1i2aI1i2b1i2oA1i2p1i2sI1i2t1i2uB1i2v!I1i2w!B1i2x1i30A1i31!I1i321i33A1i341i3dQ1i3e!I1i3f!T1i3g!I1i3h1i3jB1i3l1i5nI1i5o1i5zA1i601i61B1i62!I1i631i64B1i65!I1i66!A1i801i94I1i95!B1i9c1iamI1ian1iayA1ib41ibdQ1ibk1ibnA1ibp1id5I1id71id8A1id9!I1ida1idgA1idj1idkA1idn1idpA1ids!I1idz!A1ie51ie9I1iea1iebA1iee1iekA1ieo1iesA1iio1ik4I1ik51ikmA1ikn1ikqI1ikr1ikuB1ikv!I1ikw1il5Q1il61il7B1il9!I1ila!A1ilb1injI1ink1io3A1io41io7I1iog1iopQ1itc1iumI1iun1iutA1iuw1iv4A1iv5!T1iv61iv7B1iv81iv9G1iva1ivcI1ivd1ivrB1ivs1ivvI1ivw1ivxA1iww1iy7I1iy81iyoA1iyp1iyqB1iyr1iysI1iz41izdQ1izk1izwT1j0g1j1mI1j1n1j1zA1j20!I1j281j2hQ1j401j57I1j5c1j5lQ1j5m1j5nI1j5o1j5qB1j5r1jcbI1jcc1jcqA1jcr1jhbI1jhc1jhlQ1jhm1jjjI1jjk1jjpA1jjr1jjsA1jjv1jjyA1jjz!I1jk0!A1jk1!I1jk21jk3A1jk41jk6B1jkg1jkpQ1jmo1jo0I1jo11jo7A1joa1jogA1joh!I1joi!T1joj!I1jok!A1jpc!I1jpd1jpmA1jpn1jqqI1jqr1jqxA1jqy!I1jqz1jr2A1jr3!T1jr4!I1jr51jr8B1jr9!T1jra!I1jrb!A1jrk!I1jrl1jrvA1jrw1jt5I1jt61jtlA1jtm1jtoB1jtp!I1jtq1jtsT1jtt1jtuB1juo1k4uI1k4v1k52A1k541k5bA1k5c!I1k5d1k5hB1k5s1k61Q1k621k6kI1k6o!T1k6p!G1k6q1k7jI1k7m1k87A1k891k8mA1kao1kc0I1kc11kc6A1kca!A1kcc1kcdA1kcf1kclA1kcm!I1kcn!A1kcw1kd5Q1kdc1kehI1kei1kemA1keo1kepA1ker1kevA1kew!I1kf41kfdQ1ko01koiI1koj1komA1kon1kv0I1kv11kv4K1kv51kvlI1kvz!B1kw01lriI1lrk1lroB1ls01oifI1oig1oiiL1oij1oilR1oim1ojlI1ojm!R1ojn1ojpI1ojq!L1ojr!R1ojs!L1ojt!R1oju1oqgI1oqh!L1oqi1oqjR1oqk1oviI1ovk1ovqS1ovr!L1ovs!R1s001sctI1scu!L1scv!R1scw1zkuI1zkw1zl5Q1zla1zlbB1zo01zotI1zow1zp0A1zp1!B1zpc1zqnI1zqo1zquA1zqv1zqxB1zqy1zr7I1zr8!B1zr9!I1zrk1zrtQ1zrv20euI20ev20ewB20ex20juI20jz!A20k0!I20k120ljA20lr20luA20lv20m7I20o020o3Y20o4!S20og20ohA20ow25fbe25fk260ve260w26dxI26f426fce2dc02djye2dlc2dleY2dlw2dlzY2dm82dx7e2fpc2ftoI2ftp2ftqA2ftr!B2fts2ftvA2jnk2jxgI2jxh2jxlA2jxm2jxoI2jxp2jyaA2jyb2jycI2jyd2jyjA2jyk2jzdI2jze2jzhA2jzi2k3lI2k3m2k3oA2k3p2l6zI2l722l8fQ2l8g2lmnI2lmo2lo6A2lo72loaI2lob2lpoA2lpp2lpwI2lpx!A2lpy2lqbI2lqc!A2lqd2lqeI2lqf2lqiB2lqj!I2lqz2lr3A2lr52lrjA2mtc2mtiA2mtk2mu0A2mu32mu9A2mub2mucA2mue2muiA2n0g2n1oI2n1s2n1yA2n1z2n25I2n282n2hQ2n2m2ne3I2ne42ne7A2ne82nehQ2nen!J2oe82ojzI2ok02ok6A2olc2on7I2on82oneA2onf!I2onk2ontQ2ony2onzL2p9t2pbfI2pbg!K2pbh2pbjI2pbk!K2pbl2prlI2pz42q67e2q682q6kI2q6l2q6ne2q6o2q98I2q992q9be2q9c2qb0I2qb12qcle2qcm2qdbj2qdc2qo4e2qo5!f2qo62qore2qos2qotI2qou2qpge2qph2qpiI2qpj2qpne2qpo!I2qpp2qpte2qpu2qpwf2qpx2qpye2qpz!f2qq02qq1e2qq22qq4f2qq52qree2qrf2qrjk2qrk2qtde2qte2qtff2qtg2qthe2qti2qtsf2qtt2qude2que2quwf2qux2quze2qv0!f2qv12qv4e2qv52qv7f2qv8!e2qv92qvbf2qvc2qvie2qvj!f2qvk!e2qvl!f2qvm2qvze2qw0!I2qw1!e2qw2!I2qw3!e2qw4!I2qw52qw9e2qwa!f2qwb2qwee2qwf!I2qwg!e2qwh2qwiI2qwj2qyne2qyo2qyuI2qyv2qzae2qzb2qzoI2qzp2r01e2r022r0pI2r0q2r1ve2r1w2r1xf2r1y2r21e2r22!f2r232r2ne2r2o!f2r2p2r2se2r2t2r2uf2r2v2r4je2r4k2r4rI2r4s2r5fe2r5g2r5lI2r5m2r7oe2r7p2r7rf2r7s2r7ue2r7v2r7zf2r802r91I2r922r94H2r952r97Y2r982r9bI2r9c2raae2rab!f2rac2rare2ras2rauf2rav2rb3e2rb4!f2rb52rbfe2rbg!f2rbh2rcve2rcw2rg3I2rg42rgfe2rgg2risI2rit2rjze2rk02rkbI2rkc2rkfe2rkg2rlzI2rm02rm7e2rm82rmhI2rmi2rmne2rmo2rnrI2rns2rnze2ro02rotI2rou2rr3e2rr42rrfI2rrg!f2rrh2rrie2rrj!f2rrk2rrre2rrs2rrzf2rs02rs5e2rs6!f2rs72rsfe2rsg2rspf2rsq2rsre2rss2rsuf2rsv2ruee2ruf!f2rug2rw4e2rw52rw6f2rw7!e2rw82rw9f2rwa!e2rwb!f2rwc2rwse2rwt2rwvf2rww!e2rwx2rx9f2rxa2ry7e2ry82s0jI2s0k2s5be2s5c2sayI2sc02sc9Q2scg2t4te2t4w47p9e47pc5m9pejny9!Ajnz4jo1rAjo5cjobzAl2ionvnhI",U:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",O:"An unknown error occurred when fetching the camera stream.",t:"Broadcast stream controllers do not support pause callbacks",c:"Cannot fire new event. Controller is already firing an event",I:'E533333333333333333333333333DDDDDDD4333333333333333333334C43333CD53333333333333333333333UEDTE4\x933343333\x933333333333333333333333333D433333333333333333CDDEDDD43333333S5333333333333333333333C333333D533333333333333333333333SUDDDDT5\x9933CD4E333333333333333333333333UEDDDDE433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333TUUS5CT\x94\x95E3333333333333333333333333333333333333333333333333333333333333333333333SUDD3DUU43533333333333333333C3333333333333w733337333333s3333333w7333333333w33333333333333333333CDDTETE43333ED4S5SE3333C33333D33333333333334E433C3333333C33333333333333333333333333333CETUTDT533333CDDDDDDDDDD3333333343333333D$433333333333333333333333SUDTEE433C34333333333333333333333333333333333333333333333333333333333333333333333333333333TUDDDD3333333333CT5333333333333333333333333333DCEUU3U3U5333343333S5CDDD3CDD333333333333333333333333333333333333333333333333333333333333333333333s73333s33333333333""""""""333333339433333333333333CDDDDDDDDDDDDDDDD3333333CDDDDDDDDDDD\x94DDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDD3333333373s333333333333333333333333333333CDTDDDCTE43C4CD3C333333333333333D3C33333\xee\xee\xed\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xed\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xed\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee333333\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb33\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc<3sww73333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333333w7333333333333333733333333333333333333333333333sww733333s7333333s3wwwww333333333wwwwwwwwwwwwwwwwwwwwwwwwwwwwgffffffffffffvww7wwwwwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww733333333333333333333333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333333333333333333333333333333333333333333333333333333333swwwww7333333333333333333333333333333333333333333wwwwwwwwwwwwwwwwwwwww7swwwwwss33373733s33333w33333CT333333333333333EDTETD433333333#\x14"333333333333"""233333373ED4U5UE9333C33333D33333333333333www3333333s73333333333EEDDDCC3DDDDUUUDDDDD3T5333333333333333333333333333CCU3333333333333333333333333333334EDDD33SDD4D5U4333333333C43333333333CDDD9DDD3DCD433333333C433333333333333C433333333333334443SEUCUSE4333D33333C43333333533333CU33333333333333333333333333334EDDDD3CDDDDDDDDDDDDDDDDDDDDDDDDDDD33DDDDDDDDDDDDDDDDDDDDDDDDD33334333333C33333333333DD4DDDDDDD433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CSUUUUUUUUUUUUUUUUUUUUUUUUUUU333CD43333333333333333333333333333333333333333433333U3333333333333333333333333UUUUUUTEDDDDD3333C3333333333333333373333333333s333333333333swwwww33w733wwwwwww73333s33333333337swwwwsw73333wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwDD4D33CDDDDDCDDDDDDDDDDDDDDDDD43EDDDTUEUCDDD33333D33333333333333DDCDDDDCDCDD333333333DT33333333333333D5333333333333333333333333333CSUE4333333333333CDDDDDDDD4333333DT33333333333333333333333CUDDUDU3SUSU43333433333333333333333333ET533E3333SDD3U3U4333D43333C43333333333333s733333s33333333333CTE333333333333333333UUUUDDDDUD3333"""""(\x02"""""""""3333333333333333333DDDD333333333333333333333333CDDDD3333C3333T333333333333333333333334343C33333333333SET334333333333DDDDDDDDDDDDDDDDDDDDDD4DDDDDDDD4CDDDC4DD43333333333333333333333333333333333333333333333333C33333333333333333333333333333333333333333333333333333333333333333333333333333333DDD433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334333333333333333333333333333333DD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DD433333333333333333333333333333DDD43333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DDDDDDD533333333333333333333333DDDTTU5D4DD333C433333D333333333333333333333DDD733333s373ss33w7733333ww733333333333ss33333333333333333333333333333ww3333333333333333333333333333wwww33333www33333333333333333333wwww333333333333333wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww333333wwwwwwwwwwwwwwwwwwwwwww7wwwwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww73333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333C4""333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DDD4333333333333333333333333333333333333333333333333333333DDD4333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333UEDDDTEE43333333333333333333333333333333333333333333333333333CEUDDDE33333333333333333333333333333333333333333333333333CD3DDEDD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333EDDDCDDT43333333333333333333333333333333333333333CDDDDDDDDDD4EDDDETD3333333333333333333333333333333333333333333333333333333333333DDD3CC4DDD\x94433333333333333333333333333333333SUUC4UT4333333333333333333333333333333333333333333333333333#"""""""B333DDDDDDD433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CED3SDD$"""BDDD4CDDD333333333333333DD33333333333333333333333333333333333333333DEDDDUE333333333333333333333333333CCD3D33CD533333333333333333333333333CESEU3333333333333333333DDDD433333CU33333333333333333333333333334DC44333333333333333333333333333CD4DDDDD33333333333333333333DDD\x95DD333343333DDDUD43333333333333333333\x93\x99\x99IDDDDDDE43333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDDDDDDDDDDDDDDDDDDDDDD4CDDDDDDDDDDD33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333433333333333333333333333333333333333333333333333333333333333333333333333333DD4333333333333333333333333333333333333333333333333333333333333333333""""""33D4D33CD43333333333333333333CD3343333333333333333333333333333333333333333333333333333333333333333333333333333333333D33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CT53333DY333333333333333333333333UDD43UT43333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333D3333333333333333333333333333333333333333D43333333333333333333333333333333333CDDDDD333333333333333333333333CD4333333333333333333333333333333333333333333333333333333333333SUDDDDUDT43333333333343333333333333333333333333333333333333333TEDDTTEETD333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CUDD3UUDE43333333333333D3333333333333333343333333333SE43CD33333333DD33333C33TEDCSUUU433333333S533333CDDDDDU333333\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa:3\x99\x99\x9933333DDDDD4233333333333333333UTEUS433333333CDCDDDDDDEDDD33433C3E433#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD$"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD$"""""""""""""""2333373r33333333\x93933CDDD4333333333333333CDUUDU53SEUUUD43\xa3\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xba\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xcb\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\f',w:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",V:"Stream has been disposed.\nAn ImageStream is considered disposed once at least one listener has been added and subsequently all listeners have been removed and no handles are outstanding from the keepAlive method.\nTo resolve this error, maintain at least one listener on the stream, or create an ImageStreamCompleterHandle from the keepAlive method, or create a new stream for the image.",p:"SystemChrome.setApplicationSwitcherDescription",u:"There was a problem trying to load FontManifest.json",a:"dev.fluttercommunity.plus/share/unavailable",R:"\u1ac4\u2bb8\u411f\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u3f4f\u0814\u32b6\u32b6\u32b6\u32b6\u1f81\u32b6\u32b6\u32b6\u1bbb\u2f6f\u3cc2\u051e\u32b6\u11d3\u079b\u2c12\u3967\u1b18\u18aa\u392b\u414f\u07f1\u2eb5\u1880\u1123\u047a\u1909\u08c6\u1909\u11af\u2f32\u1a19\u04d1\u19c3\u2e6b\u209a\u1298\u1259\u0667\u108e\u1160\u3c49\u116f\u1b03\u12a3\u1f7c\u121b\u2023\u1840\u34b0\u088a\u3c13\u04b6\u32b6\u41af\u41cf\u41ef\u4217\u32b6\u32b6\u32b6\u32b6\u32b6\u3927\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u18d8\u1201\u2e2e\u15be\u0553\u32b6\u3be9\u32b6\u416f\u32b6\u32b6\u32b6\u1a68\u10e5\u2a59\u2c0e\u205e\u2ef3\u1019\u04e9\u1a84\u32b6\u32b6\u3d0f\u32b6\u32b6\u32b6\u3f4f\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u104e\u076a\u32b6\u07bb\u15dc\u32b6\u10ba\u32b6\u32b6\u32b6\u32b6\u32b6\u1a3f\u32b6\u0cf2\u1606\u32b6\u32b6\u32b6\u0877\u32b6\u32b6\u073d\u2139\u0dcb\u0bcb\u09b3\u0bcb\u0fd9\u20f7\u03e3\u32b6\u32b6\u32b6\u32b6\u32b6\u0733\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u041d\u0864\u32b6\u32b6\u32b6\u32b6\u32b6\u3915\u32b6\u3477\u32b6\u3193\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u20be\u32b6\u36b1\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u2120\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u2f80\u36ac\u369a\u32b6\u32b6\u32b6\u32b6\u1b8c\u32b6\u1584\u1947\u1ae4\u3c82\u1986\u03b8\u043a\u1b52\u2e77\u19d9\u32b6\u32b6\u32b6\u3cdf\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u093a\u0973\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u3498\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u0834\u32b6\u32b6\u2bb8\u32b6\u32b6\u36ac\u35a6\u32b9\u33d6\u32b6\u32b6\u32b6\u35e5\u24ee\u3847\x00\u0567\u3a12\u2826\u01d4\u2fb3\u29f7\u36f2\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u2bc7\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u1e54\u32b6\u1394\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u2412\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u30b3\u2c62\u3271\u32b6\u32b6\u32b6\u12e3\u32b6\u32b6\u1bf2\u1d44\u2526\u32b6\u2656\u32b6\u32b6\u32b6\u0bcb\u1645\u0a85\u0ddf\u2168\u22af\u09c3\u09c5\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u3f2f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6"} +var t=(function rtii(){var s=A.ao +return{vH:s("azs"),od:s("bp"),gj:s("azv"),pC:s("mO"),so:s("ct"),q:s("ct"),ph:s("uB"),s1:s("uE"),vp:s("mQ"),S7:s("uG"),jo:s("V6"),pR:s("kO"),M1:s("El"),Al:s("kQ"),m3:s("cH"),k:s("aq"),W:s("ep"),Xj:s("azP"),pI:s("EE"),V4:s("cu"),wY:s("kU"),nz:s("kU"),Vr:s("EG"),F6:s("it"),OY:s("dJ"),AX:s("du"),Ly:s("uX"),Ak:s("EM"),d0:s("bL?,cp<@>>"),Lh:s("v4"),XY:s("kZ"),p1:s("l_"),C:s("pJ"),z7:s("EY"),m6:s("v8"),E_:s("v9"),Bn:s("n_"),wW:s("hE"),S3:s("aL2"),BQ:s("pK"),nR:s("vb"),Hz:s("js"),hP:s("eU"),n8:s("C"),qO:s("n2"),li:s("bs"),eL:s("bs"),fF:s("dW"),vn:s("pS"),pU:s("ac>"),lp:s("Fh"),d1:s("Fi"),H5:s("aAt"),HY:s("h3"),ip:s("vr"),I7:s("aLc"),l4:s("aAz"),Uf:s("l6"),uy:s("aAC"),yS:s("pV"),BS:s("vy"),x1:s("h4"),EX:s("d_"),JX:s("FH"),I:s("h5"),ra:s("aLo"),Db:s("n9"),yN:s("FU"),uL:s("hL"),zk:s("hM"),Tu:s("aP"),ML:s("d7"),A0:s("cS"),Ee:s("W<@>"),Y:s("b2"),dq:s("aBg"),GB:s("vX"),lz:s("jw"),m1:s("lb"),IH:s("w0"),S9:s("Ga"),X8:s("Gb"),Q4:s("w1"),Lt:s("bE"),PS:s("w2"),VI:s("bQ"),IX:s("hO"),Ie:s("wc"),US:s("dL"),N8:s("wh"),s4:s("Zl"),OE:s("Zm"),Kw:s("ZC"),mx:s("cd"),l5:s("ld"),zq:s("qa"),ia:s("np"),VW:s("nq"),FK:s("e9"),bY:s("wp"),kr:s("iC"),Uy:s("nr"),_8:s("jA"),fP:s("qd

"),Z9:s("a6"),xd:s("a6(r,aA)"),Ev:s("a6()"),L0:s("a6<@>"),T8:s("a6"),n3:s("a6"),uz:s("a6<~>"),Fp:s("d8"),Lu:s("dx"),El:s("dx"),Ih:s("dx

"),d:s("qf"),cD:s("cJ"),uA:s("cT"),Uv:s("cT"),jn:s("cT"),YC:s("cT"),UN:s("cT"),ok:s("cT"),lh:s("cT"),Bk:s("cT"),Pw:s("cT"),xR:s("nt"),yi:s("f1>"),TX:s("nu"),bT:s("nu>"),rQ:s("aLC"),GF:s("lg"),op:s("lg<~(lc)>"),bq:s("f2"),G7:s("GK>"),rA:s("nw"),mS:s("nx"),AL:s("iE"),Fn:s("jB"),zE:s("ak"),gc:s("wz"),Lk:s("aqX"),g5:s("wA"),Oh:s("nC"),lu:s("wD"),dW:s("hS"),SG:s("li"),Bc:s("qr"),ri:s("wI"),IS:s("f4"),og:s("cU"),WB:s("aY"),JZ:s("a0U"),XO:s("a0V"),pT:s("a0W"),gD:s("ll"),v:s("aQ"),nQ:s("lm"),Ya:s("qt"),JY:s("j<@>"),VG:s("j"),lY:s("v>"),QP:s("v"),NS:s("v"),Pv:s("v"),sq:s("v"),X5:s("v"),iW:s("v

"),H0:s("v"),qN:s("v"),AT:s("v"),t_:s("v"),td:s("v"),Ug:s("v"),GH:s("v"),UW:s("v"),E:s("v"),vl:s("v
"),O7:s("v"),Up:s("v"),lX:s("v"),LE:s("v"),_m:s("v"),bp:s("v"),z8:s("v"),Pt:s("v"),uf:s("v"),kZ:s("v>"),no:s("v"),wQ:s("v>"),Rh:s("v>"),NT:s("v>"),mo:s("v>"),iQ:s("v"),DU:s("v"),om:s("v>"),XZ:s("v"),Fa:s("v"),fJ:s("v"),VB:s("v"),VO:s("v"),O_:s("v"),E5:s("v"),J:s("v"),K0:s("v"),CE:s("v"),k5:s("v"),cN:s("v"),s9:s("v"),Y4:s("v"),_f:s("v"),ER:s("v"),i1:s("v>"),zg:s("v>"),Eo:s("v"),H8:s("v"),ss:s("v"),a9:s("v>"),en:s("v"),gg:s("v"),gG:s("v>"),n4:s("v>"),Xr:s("v"),rE:s("v"),YE:s("v"),qg:s("v"),vs:s("v"),tc:s("v"),Qg:s("v"),jl:s("v"),yv:s("v"),fy:s("v"),g8:s("v>"),W5:s("v"),nx:s("v"),OB:s("v"),zY:s("v"),OM:s("v>"),wc:s("v"),l:s("v"),tZ:s("v"),D9:s("v"),Y2:s("v"),BD:s("v>"),kG:s("v"),L7:s("v<+representation,targetSize(zl,K)>"),Co:s("v<+(r,A3)>"),jc:s("v<+data,event,timeStamp(O,d,aP)>"),Nt:s("v<+domSize,representation,targetSize(K,zl,K)>"),AO:s("v"),Pc:s("v"),TT:s("v"),Ry:s("v"),RX:s("v"),QT:s("v"),VM:s("v"),CK:s("v
    "),vj:s("v"),ZP:s("v"),D1:s("v"),q1:s("v"),QF:s("v"),o4:s("v"),Qo:s("v"),zz:s("v"),fe:s("v"),kO:s("v"),N_:s("v"),Gl:s("v>"),s:s("v"),oU:s("v"),PL:s("v"),Lx:s("v"),FO:s("v>>"),x0:s("v>"),LX:s("v"),D:s("v"),GA:s("v"),FQ:s("v"),Na:s("v"),SW:s("v"),TV:s("v"),Kj:s("v"),CZ:s("v"),mz:s("v"),zj:s("v"),IR:s("v"),m4:s("v"),Ei:s("v"),jE:s("v"),qi:s("v"),uD:s("v"),M6:s("v"),au:s("v"),lb:s("v"),YK:s("v"),Z4:s("v"),cR:s("v"),NM:s("v"),HZ:s("v"),n:s("v"),ee:s("v<@>"),t:s("v

    "),oA:s("v"),L:s("v"),ef:s("v"),JK:s("v"),cA:s("v"),ny:s("v?>"),Fi:s("v"),XS:s("v"),Z:s("v"),Zt:s("v()>"),iL:s("v()>"),sA:s("v"),c:s("v<~()>"),SM:s("v<~(J,cg?)>"),ot:s("v<~(bp)>"),G:s("v<~(h_)>"),LY:s("v<~(hB)>"),j1:s("v<~(aP)>"),s2:s("v<~(ns)>"),Jh:s("v<~(O)>"),RP:s("b6<@>"),bz:s("wR"),m:s("U"),lT:s("f5"),dC:s("bg<@>"),e:s("d"),Hf:s("fA"),Cl:s("iG"),D2:s("ea"),XU:s("iH(ha)"),SQ:s("qy"),Di:s("nK"),jk:s("bv"),ku:s("bv"),LZ:s("bv"),A:s("bv>"),af:s("bv"),L6:s("eb"),h_:s("Hk"),hz:s("he"),jQ:s("bn"),cS:s("fD>"),z_:s("nL"),oM:s("nL"),U9:s("iJ"),NJ:s("nM"),Rk:s("O"),RI:s("O"),hA:s("O"),Lc:s("O"),gS:s("O"),EO:s("O"),qC:s("O"),UX:s("O"),LF:s("O"),d_:s("O"),I1:s("O"),xc:s("O"),yp:s("O"),Y7:s("O"),Xw:s("O"),EE:s("O"),j:s("O<@>"),Dn:s("O"),I_:s("af"),da:s("lx"),r:s("f"),bS:s("arp"),UH:s("bw"),q9:s("bw"),sw:s("bw>"),qE:s("bw>"),Dx:s("x6<@,@>"),kY:s("aA"),nf:s("aA"),GU:s("aA"),a:s("aA"),_P:s("aA"),e3:s("aA"),f:s("aA<@,@>"),h8:s("aA>"),xE:s("aA"),F:s("aA"),rr:s("aA<~(aO),bj?>"),C9:s("dZ"),Gf:s("aw"),rB:s("aw"),qn:s("aw"),Tr:s("aw"),iB:s("aCF"),c4:s("nQ"),Oc:s("nR"),xV:s("bj"),w:s("iL"),e0:s("dy"),xS:s("fG"),Pb:s("c9"),ZA:s("qD"),_h:s("hh"),Wz:s("hi"),Lb:s("ec"),Es:s("nU"),CW:s("hj"),jW:s("lB"),A3:s("fI"),u9:s("iM"),uK:s("iN"),We:s("jL"),Jc:s("cL"),Tm:s("cL"),w3:s("cL"),ji:s("cL"),WA:s("cL"),kj:s("cL"),Te:s("jM"),P:s("aT"),K:s("J"),xA:s("J(p)"),_a:s("J(p{params:J?})"),yw:s("bh"),wi:s("bh<~()>"),wS:s("bh<~(bp)>"),Q:s("bh<~(h_)>"),pw:s("o_"),o:s("m"),gY:s("iP"),qt:s("ce"),Ms:s("jO"),N1:s("qN"),Mf:s("qP"),sd:s("amQ"),Q2:s("a5V"),Fw:s("dM"),IL:s("dM"),zM:s("dz"),p0:s("xX"),IF:s("xY"),ix:s("d3"),v3:s("k"),sv:s("jS"),mX:s("aMG"),qa:s("aMI"),ge:s("o3"),Ko:s("o4"),Au:s("iS"),pY:s("jV"),qL:s("aO"),GG:s("aMQ"),XA:s("jW"),n2:s("o5"),WQ:s("o6"),w5:s("jX"),DB:s("o7"),PB:s("o8"),Mj:s("o9"),xb:s("oa"),ks:s("ed"),oN:s("ob"),f9:s("aDw"),nE:s("oc

    "),xF:s("aDx"),ZQ:s("y6"),bb:s("qW"),C0:s("aDN"),yH:s("aL"),_R:s("aDP"),jU:s("r2"),pK:s("aMW"),Rp:s("+()"),BZ:s("+(r,e9?)"),Yr:s("+(B4,Q)"),mi:s("+(J?,J?)"),Bb:s("fN"),Qz:s("asc"),MY:s("yg"),NW:s("Jl"),x:s("H"),vz:s("r4"),f1:s("yq"),I9:s("G"),F5:s("as"),GM:s("aE"),Wx:s("k0"),nl:s("cn"),Ss:s("lP"),Cn:s("asj"),Ju:s("oj"),E1:s("yC"),qJ:s("ok"),mg:s("dn"),dZ:s("yG

    "),yb:s("dO"),z4:s("cV"),k2:s("yI"),MV:s("co"),o_:s("co"),ad:s("yL"),oj:s("rb"),pO:s("cp<@>(a4,J?)"),Sv:s("ol"),nY:s("yP"),BL:s("yP"),Np:s("rf"),x5:s("rg"),JE:s("yT"),Cy:s("yU"),sm:s("z1"),NF:s("aEk"),qd:s("aN2"),NU:s("aN3"),hI:s("aN4"),x9:s("dB"),mb:s("z7"),Wu:s("rk"),_S:s("cq"),ZX:s("lW"),bu:s("c4"),UF:s("ov"),g3:s("ow"),HS:s("lY"),n5:s("rn<@>"),m2:s("ba"),c8:s("ba"),Ro:s("ba<@>"),RY:s("bT"),jH:s("oy"),vS:s("oA"),cZ:s("ro"),Vz:s("rq"),yE:s("aNc"),Mp:s("b_"),FW:s("K"),Ws:s("zm"),p:s("m1"),Gt:s("rt"),U:s("fP"),M0:s("oC"),jB:s("m2"),B:s("dP"),Km:s("cg"),MF:s("hp"),d2:s("a3"),gU:s("aV"),rK:s("i6"),N:s("r"),u1:s("aEO"),Oz:s("i8"),g:s("rx"),Ci:s("ry"),ky:s("rz"),WT:s("ci"),u4:s("ci"),re:s("ci>"),az:s("ci"),Q6:s("ci"),E8:s("ci"),d9:s("ci"),hr:s("ci"),b5:s("ci<~>"),Jx:s("aNi"),ZC:s("j_"),ew:s("j0"),iy:s("rG"),tq:s("m5"),em:s("n"),we:s("hs"),ZM:s("oL"),ZF:s("j2>"),Ag:s("j2<@>"),qe:s("asZ"),U2:s("aFd"),zW:s("c_"),Ns:s("k8"),Ni:s("aR"),H7:s("aR"),u:s("eJ"),ns:s("k9"),w7:s("abV"),rd:s("rM"),Po:s("abW"),H3:s("j3"),MX:s("kb"),O:s("ck"),R:s("eK"),j4:s("eK"),kk:s("j4"),lQ:s("A2"),N2:s("rP<@>"),Xu:s("Lw"),V1:s("dS"),BU:s("kd"),j3:s("kd"),GY:s("ia"),KJ:s("rS"),JH:s("rT"),Dg:s("oS"),rS:s("fc"),X3:s("ke"),Hd:s("aF"),FI:s("dq"),Je:s("dq"),ZK:s("dq"),Ri:s("dq"),ow:s("dq"),kE:s("dq<~(J,cg?)>"),Pi:s("rW"),l7:s("i"),EK:s("bP"),De:s("cr"),mD:s("cr"),W7:s("cr"),XR:s("cr"),rc:s("cr"),ha:s("cr"),QN:s("i(a4,ba,i?)"),T:s("e4"),Uh:s("A8"),Qy:s("j6"),rx:s("dc"),L1:s("Ab"),J_:s("md"),CL:s("oT"),JL:s("b1"),gM:s("b1"),eG:s("b1"),m_:s("b1"),jT:s("b1>"),Iy:s("b1"),fO:s("b1"),na:s("b1"),yB:s("b1"),EZ:s("b1"),h:s("b1<~>"),ZW:s("t4"),B6:s("Ak"),EG:s("oW"),DC:s("Ay>"),UJ:s("Nh"),qr:s("ki"),VA:s("AC"),l3:s("AI"),Ds:s("NA"),Sc:s("mi"),Eh:s("AQ"),fk:s("tf"),h1:s("th"),Lv:s("a8"),x_:s("a8"),qc:s("a8"),XC:s("a8"),G4:s("a8>"),cO:s("a8"),dH:s("a8"),lL:s("a8"),LR:s("a8<@>"),wJ:s("a8

    "),Fo:s("a8"),X6:s("a8"),Wr:s("a8"),V:s("a8<~>"),cK:s("tj"),Qu:s("kl"),U3:s("tm"),R9:s("mj"),Fy:s("ml"),Nr:s("B1"),pp:s("eM"),Sx:s("mo"),pt:s("tt"),Gk:s("B8"),PJ:s("tu"),Fe:s("Bj"),xg:s("P3"),Tp:s("mr"),Vl:s("ms"),yI:s("km"),eU:s("tB"),gQ:s("mt"),sZ:s("By"),j5:s("Pu"),Li:s("Bz"),bR:s("BF"),h7:s("j9"),zP:s("de"),rj:s("BM"),Lj:s("mx"),zd:s("BP"),SN:s("BS"),xL:s("tK"),im:s("my"),Am:s("p3"),Ez:s("fU"),Pu:s("C4"),yd:s("C9"),jF:s("Cb"),xm:s("Rx"),S8:s("Cx"),c6:s("p8"),mm:s("je

    "),bm:s("jf"),HE:s("tU"),f2:s("CI"),i9:s("tV"),tH:s("aGo"),_l:s("p9"),mN:s("bl"),tR:s("bl"),Dm:s("bl"),N5:s("bl"),bZ:s("bl"),b:s("bl"),B_:s("bl"),Hw:s("bl"),DH:s("SU"),y:s("M"),i:s("Q"),z:s("@"),C_:s("@(J)"),Hg:s("@(J,cg)"),S:s("p"),s5:s("0&*"),ub:s("J*"),ZU:s("jm?"),Vx:s("dV?"),sa:s("e8?"),eJ:s("mU?"),oI:s("cA?"),CD:s("cu?"),fz:s("l_?"),eQ:s("pJ?"),MB:s("alL?"),L5:s("WE?"),JG:s("F3?"),cW:s("WF?"),xs:s("F5?"),e4:s("WH?"),EM:s("vc?"),_:s("C?"),YJ:s("iv?"),V2:s("h5?"),lq:s("pW?"),pc:s("cS?"),Dv:s("b2?"),e8:s("q0?"),fd:s("aLu?"),Xx:s("nb?"),b3:s("nn?"),pk:s("cd?"),U5:s("e9?"),uZ:s("a6?"),eS:s("GG?"),_I:s("nx?"),gx:s("fy?"),lF:s("cD?"),C6:s("a0l?"),Pr:s("lj?"),LO:s("ea?"),sn:s("O?"),Xb:s("O?"),kc:s("O<@>?"),wh:s("O?"),y6:s("f?"),qA:s("hU?"),nA:s("aA?"),Xy:s("aA<@,@>?"),J1:s("aA?"),iD:s("bj?"),WV:s("c9?"),W8:s("lA?"),zZ:s("qH?"),FL:s("qI?"),X:s("J?"),Ff:s("a5J?"),dJ:s("iP?"),Zr:s("a5K?"),KX:s("da?"),uR:s("hY?"),xO:s("lG?"),Cp:s("xS?"),p7:s("xT?"),ev:s("xU?"),Gr:s("xV?"),Ll:s("xW?"),mc:s("d3?"),wb:s("xZ?"),Qv:s("H?"),xP:s("H?(H)"),c_:s("bx?"),ym:s("k0?"),IT:s("cn?"),LQ:s("c4?"),Zi:s("bT?"),TZ:s("oz?"),tW:s("K?"),MR:s("fP?"),lE:s("hp?"),ob:s("r?"),aE:s("rx?"),f3:s("fa?"),p8:s("n?"),Dh:s("oK?"),qf:s("Ll?"),ir:s("aR?"),nc:s("j3?"),Wn:s("fT?"),ju:s("dc?"),av:s("BC?"),Kp:s("mx?"),gW:s("my?"),JI:s("CD<@>?"),X7:s("M?"),PM:s("Q?"),bo:s("p?"),Nw:s("~()?"),Jy:s("bV"),H:s("~"),M:s("~()"),CF:s("~(J,cg?)"),Vu:s("~(aP)"),Su:s("~(lc)"),xt:s("~(O)"),lO:s("~(J)"),hK:s("~(J,cg)"),Ld:s("~(aO)"),iS:s("~(k_)"),HT:s("~(J?)")}})();(function constants(){var s=hunkHelpers.makeConstList +B.CK=J.qu.prototype +B.b=J.v.prototype +B.eH=J.wQ.prototype +B.f=J.qv.prototype +B.c=J.lr.prototype +B.d=J.jH.prototype +B.CX=J.f5.prototype +B.CY=J.d.prototype +B.r2=A.lA.prototype +B.f9=A.xq.prototype +B.iL=A.xr.prototype +B.c2=A.xs.prototype +B.W=A.iM.prototype +B.vK=J.IT.prototype +B.jF=J.j4.prototype +B.TF=new A.UL(0,"unknown") +B.xN=new A.e7(0,1) +B.xO=new A.e7(0,-1) +B.TG=new A.e7(1,0) +B.xP=new A.e7(1,-1) +B.xQ=new A.e7(-1,0) +B.b5=new A.e7(-1,-1) +B.a2=new A.dI(0,0) +B.xR=new A.dI(0,1) +B.xS=new A.dI(0,-1) +B.k3=new A.dI(1,0) +B.xT=new A.dI(-1,0) +B.xU=new A.dI(-1,1) +B.xV=new A.E6(null) +B.h1=new A.E9(0,"normal") +B.h2=new A.E9(1,"preserve") +B.y=new A.h_(0,"dismissed") +B.cg=new A.h_(1,"forward") +B.bo=new A.h_(2,"reverse") +B.X=new A.h_(3,"completed") +B.xW=new A.pw(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.k4=new A.uE(0,"exit") +B.k5=new A.uE(1,"cancel") +B.ch=new A.hB(0,"detached") +B.b6=new A.hB(1,"resumed") +B.cR=new A.hB(2,"inactive") +B.ec=new A.hB(3,"hidden") +B.h3=new A.hB(4,"paused") +B.h4=new A.uF(0,"polite") +B.h5=new A.uF(1,"assertive") +B.h6=new A.uI(!1) +B.O=new A.pA(0,"up") +B.bI=new A.pA(1,"right") +B.L=new A.pA(2,"down") +B.aY=new A.pA(3,"left") +B.aH=new A.Em(0,"horizontal") +B.aw=new A.Em(1,"vertical") +B.xX=new A.Eo(null) +B.xY=new A.En(B.xX,null,null,null,null) +B.xZ=new A.uJ(null,null,null,null,null,null,null,null) +B.bK=new A.a1_() +B.y_=new A.kQ("flutter/keyevent",B.bK,t.Al) +B.ab=new A.aaf() +B.cS=new A.kQ("flutter/accessibility",B.ab,t.Al) +B.y0=new A.kQ("flutter/system",B.bK,t.Al) +B.hp=new A.aat() +B.y1=new A.kQ("flutter/lifecycle",B.hp,A.ao("kQ")) +B.eD=new A.qb(2,"previous") +B.y2=new A.mS(null,B.eD,0,0) +B.k6=new A.jn(0,0) +B.y3=new A.jn(1,1) +B.y4=new A.mT(12,"plus") +B.y5=new A.mT(13,"modulate") +B.y6=new A.mT(20,"hardLight") +B.y7=new A.mT(26,"saturation") +B.cT=new A.mT(3,"srcOver") +B.y8=new A.Vn(0,"normal") +B.B=new A.aU(0,0) +B.ah=new A.cH(B.B,B.B,B.B,B.B) +B.dQ=new A.aU(4,4) +B.h7=new A.cH(B.dQ,B.dQ,B.dQ,B.dQ) +B.o=new A.C(4278190080) +B.a9=new A.Eu(0,"none") +B.v=new A.cA(B.o,0,B.a9,-1) +B.a5=new A.Eu(1,"solid") +B.yd=new A.uM(null,null,null,null,null,null,null) +B.ye=new A.uN(null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.yf=new A.uO(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Jx=new A.K8(0,"normal") +B.j_=new A.Jc(null) +B.yg=new A.uP(B.Jx,B.j_) +B.w5=new A.K8(1,"fast") +B.yh=new A.uP(B.w5,B.j_) +B.yi=new A.aq(40,40,40,40) +B.yj=new A.aq(56,56,56,56) +B.ed=new A.aq(0,1/0,0,1/0) +B.yk=new A.aq(36,1/0,36,1/0) +B.TH=new A.aq(88,1/0,36,1/0) +B.yl=new A.aq(96,96,96,96) +B.ym=new A.aq(0,1/0,56,56) +B.yn=new A.aq(112,280,0,1/0) +B.h8=new A.aq(1/0,1/0,1/0,1/0) +B.b7=new A.Ez(0,"rectangle") +B.ee=new A.fo(B.o,null,null,null,null,null,B.b7) +B.h9=new A.uR(1,"contain") +B.ha=new A.uR(2,"cover") +B.yo=new A.uR(6,"scaleDown") +B.k7=new A.Ew(0,"tight") +B.k8=new A.Ew(5,"strut") +B.k9=new A.Ez(1,"circle") +B.ef=new A.Vs(0,"tight") +B.a6=new A.EA(0,"dark") +B.a7=new A.EA(1,"light") +B.bJ=new A.uS(0,"blink") +B.P=new A.uS(1,"webkit") +B.b8=new A.uS(2,"firefox") +B.yp=new A.VG(1,"padded") +B.yq=new A.uT(null,null,null,null,null,null,null,null,null) +B.ka=new A.uV(0,"normal") +B.yr=new A.uV(1,"accent") +B.ys=new A.uV(2,"primary") +B.yt=new A.UM() +B.yv=new A.Vh() +B.kb=new A.Vf() +B.eg=new A.Vg() +B.TI=new A.Vv() +B.kc=new A.VA() +B.U0=new A.a98(4,"keyboard") +B.kf=new A.vk() +B.ke=new A.vk() +B.hb=new A.Fn() +B.yw=new A.Xp() +B.TK=new A.Fz() +B.TJ=new A.Fx() +B.yx=new A.Fy() +B.yy=new A.FA() +B.TL=new A.FD() +B.yz=new A.FE() +B.kg=new A.vv() +B.eh=new A.vv() +B.kh=new A.vw() +B.ki=new A.vw() +B.kj=new A.vx() +B.ei=new A.vx() +B.k=new A.FR() +B.yB=new A.Y6() +B.yC=new A.YA() +B.kk=new A.fv(A.ao("fv")) +B.yD=new A.fv(A.ao("fv")) +B.kl=new A.G4() +B.yE=new A.G7() +B.aa=new A.G7() +B.yF=new A.Z3() +B.km=new A.w5() +B.kn=new A.w5() +B.yG=new A.w6() +B.yH=new A.w6() +B.hc=new A.nc() +B.hd=new A.nc() +B.ej=new A.nc() +B.ek=new A.nc() +B.ko=new A.nd() +B.kp=new A.nd() +B.he=new A.nd() +B.hf=new A.nd() +B.kq=new A.hP() +B.kr=new A.hP() +B.yK=new A.hP() +B.yL=new A.hP() +B.cU=new A.hP() +B.cV=new A.hP() +B.yI=new A.hP() +B.yJ=new A.hP() +B.ks=new A.ne() +B.kt=new A.ne() +B.yM=new A.ne() +B.yN=new A.ne() +B.yO=new A.wa() +B.yP=new A.wa() +B.ku=new A.nf() +B.kv=new A.nf() +B.hg=new A.nf() +B.hh=new A.nf() +B.yQ=new A.wb() +B.yR=new A.wb() +B.el=new A.ng() +B.em=new A.ng() +B.cW=new A.ng() +B.cX=new A.ng() +B.hk=new A.nh() +B.hl=new A.nh() +B.hi=new A.nh() +B.hj=new A.nh() +B.hm=new A.Gr() +B.TM=new A.GE() +B.yS=new A.a_w() +B.yT=new A.a_B() +B.Cb=new A.Zp(1,"auto") +B.yU=new A.H4() +B.S=new A.a0Z() +B.ax=new A.a10() +B.kw=function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +} +B.yV=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.z_=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.yW=function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +} +B.yZ=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.yY=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.yX=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.kx=function(hooks) { return hooks; } + +B.aQ=new A.a17() +B.z0=new A.a4f() +B.z1=new A.xp() +B.z2=new A.a5l() +B.z4=new A.a5x() +B.z5=new A.a5z() +B.z6=new A.a5B() +B.z7=new A.a5E() +B.ky=new A.J() +B.z8=new A.Ii() +B.as=new A.ef(0,"android") +B.at=new A.ef(2,"iOS") +B.b4=new A.ef(4,"macOS") +B.kE=new A.LO() +B.qV=new A.d8([B.as,B.kE,B.at,B.hb,B.b4,B.hb],A.ao("d8")) +B.z9=new A.Im() +B.za=new A.ID() +B.ho=new A.xL() +B.kz=new A.IK() +B.zb=new A.a67() +B.TN=new A.a6B() +B.zd=new A.a6G() +B.kA=new A.Ji() +B.zf=new A.a8J() +B.zg=new A.K7() +B.zh=new A.yZ() +B.zi=new A.yZ() +B.zj=new A.a97() +B.kB=new A.Kf() +B.zk=new A.a9A() +B.a=new A.a9B() +B.bp=new A.aae() +B.ci=new A.aai() +B.ai=new A.aaj() +B.zl=new A.ab8() +B.zm=new A.abb() +B.zn=new A.abc() +B.zo=new A.abd() +B.zp=new A.abh() +B.zq=new A.abj() +B.zr=new A.abk() +B.zs=new A.abl() +B.I6=new A.m(0.056,0.024) +B.I2=new A.m(0.108,0.3085) +B.I3=new A.m(0.198,0.541) +B.I1=new A.m(0.3655,1) +B.I0=new A.m(0.5465,0.989) +B.kC=new A.Ld() +B.zt=new A.Lo() +B.kD=new A.Lr() +B.zu=new A.ac3() +B.a3=new A.ac6() +B.bq=new A.ac7() +B.cK=new A.LD(0,0,0,0) +B.EY=A.b(s([]),A.ao("v")) +B.TO=new A.aca() +B.aB={} +B.qR=new A.bs(B.aB,[],t.li) +B.TP=new A.aci() +B.cY=new A.LV() +B.bL=new A.LW() +B.cj=new A.acX() +B.zv=new A.At() +B.zw=new A.MY() +B.kF=new A.N7() +B.zx=new A.ae3() +B.zy=new A.ae7() +B.TQ=new A.Na() +B.cZ=new A.Nd() +B.d_=new A.aeh() +B.z=new A.aeo() +B.cG=new A.j_("click") +B.bf=new A.j_("basic") +B.ck=new A.ND() +B.hq=new A.aeA() +B.zz=new A.afX() +B.zA=new A.afY() +B.a4=new A.B7() +B.zB=new A.OO() +B.aR=new A.agG() +B.zC=new A.Pc() +B.ad=new A.ahH() +B.b9=new A.R2() +B.zD=new A.ai9() +B.zE=new A.RV() +B.zF=new A.SV() +B.zG=new A.EF(0,"pixel") +B.zH=new A.EF(1,"viewport") +B.kG=new A.EI(0,"rear") +B.zI=new A.EI(1,"front") +B.zJ=new A.eq("CameraAccessDenied") +B.kH=new A.eq("cameraAbort") +B.zK=new A.eq("cameraNotFound") +B.zL=new A.eq("cameraNotReadable") +B.zM=new A.eq("cameraOverconstrained") +B.zN=new A.eq("cameraSecurity") +B.zO=new A.eq("cameraType") +B.kI=new A.eq("cameraUnknown") +B.zP=new A.eq("mediaErrorAborted") +B.zQ=new A.eq("mediaErrorDecode") +B.zR=new A.eq("mediaErrorNetwork") +B.zS=new A.eq("mediaErrorSourceNotSupported") +B.zT=new A.eq("mediaErrorUnknown") +B.kJ=new A.uW(0,"front") +B.kK=new A.uW(1,"back") +B.hr=new A.uW(2,"external") +B.Sm=new A.rQ(null,null,null,null) +B.zU=new A.pG(B.h6,B.Sm) +B.zV=new A.mW(null) +B.zW=new A.EK("environment",0,"environment") +B.kL=new A.EK("user",1,"user") +B.A_=new A.v0(null,null,null,null,null,null,null) +B.U3=new A.acu(0,"material") +B.en=new A.v3(null) +B.A0=new A.kY(B.a2,null,null,B.en,null) +B.i=new A.C(4294967295) +B.N0=new A.n(!0,B.i,null,null,null,null,null,null,null,null,2,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.cH=new A.k6(2,"center") +B.QX=new A.cW("Dynamsoft Document Normalizer (DDN) is an SDK designed to detect quadrilaterals (quads for short) such as document/table boundaries and more from images, then perform document normalization on the images in the detected quads.",null,B.N0,B.cH,null,null,null) +B.A1=new A.kY(B.a2,null,null,B.QX,null) +B.A2=new A.v1(null,null,null,null,null,null,null,null,null) +B.A3=new A.v2(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.A4=new A.dv(0,B.v) +B.A5=new A.va(null) +B.A6=new A.va(B.j_) +B.JL=new A.ot(2,"clear") +B.d0=new A.vb(B.JL) +B.A7=new A.F0(0,"difference") +B.eo=new A.F0(1,"intersect") +B.A=new A.pL(0,"none") +B.Z=new A.pL(1,"hardEdge") +B.hs=new A.pL(2,"antiAlias") +B.cl=new A.pL(3,"antiAliasWithSaveLayer") +B.d5=new A.C(4291869951) +B.Ar=new A.C(4281867890) +B.hB=new A.C(4283381643) +B.et=new A.C(4293582335) +B.hx=new A.C(4280352861) +B.hE=new A.C(4291609308) +B.Ap=new A.C(4281544001) +B.hA=new A.C(4283057240) +B.es=new A.C(4293451512) +B.hw=new A.C(4280097067) +B.hF=new A.C(4293900488) +B.Av=new A.C(4282983730) +B.hC=new A.C(4284693320) +B.eu=new A.C(4294957284) +B.hy=new A.C(4281405725) +B.AM=new A.C(4294097077) +B.Aw=new A.C(4284486672) +B.AD=new A.C(4287372568) +B.l3=new A.C(4294565596) +B.hv=new A.C(4279505432) +B.er=new A.C(4293320937) +B.hz=new A.C(4282991951) +B.As=new A.C(4282071102) +B.Ai=new A.C(4279176467) +B.aS=new A.C(4280097568) +B.Al=new A.C(4280360742) +B.Ao=new A.C(4281018672) +B.Aq=new A.C(4281742395) +B.l1=new A.C(4291478736) +B.AE=new A.C(4287860633) +B.kV=new A.C(4281478965) +B.hD=new A.C(4284960932) +B.A8=new A.pN(B.a6,B.d5,B.Ar,B.hB,B.et,B.et,B.d5,B.hx,B.hB,B.hE,B.Ap,B.hA,B.es,B.es,B.hE,B.hw,B.hA,B.hF,B.Av,B.hC,B.eu,B.eu,B.hF,B.hy,B.hC,B.AM,B.Aw,B.AD,B.l3,B.hv,B.er,B.hz,B.hv,B.As,B.Ai,B.aS,B.Al,B.Ao,B.Aq,B.l1,B.AE,B.hz,B.o,B.o,B.er,B.kV,B.hD,B.d5,B.hv,B.er) +B.Ax=new A.C(4284636017) +B.AB=new A.C(4286403168) +B.AG=new A.C(4289930782) +B.At=new A.C(4282453515) +B.hH=new A.C(4294899711) +B.AK=new A.C(4293386476) +B.AI=new A.C(4292794593) +B.AP=new A.C(4294439674) +B.AN=new A.C(4294176247) +B.AL=new A.C(4293715696) +B.AA=new A.C(4286149758) +B.AO=new A.C(4294307831) +B.A9=new A.pN(B.a7,B.hD,B.i,B.et,B.hx,B.et,B.d5,B.hx,B.hB,B.Ax,B.i,B.es,B.hw,B.es,B.hE,B.hw,B.hA,B.AB,B.i,B.eu,B.hy,B.eu,B.hF,B.hy,B.hC,B.AG,B.i,B.l3,B.At,B.hH,B.aS,B.AK,B.AI,B.hH,B.i,B.AP,B.AN,B.AL,B.er,B.hz,B.AA,B.l1,B.o,B.o,B.kV,B.AO,B.d5,B.hD,B.hH,B.aS) +B.Q=new A.C(0) +B.kM=new A.C(1087163596) +B.Aa=new A.C(134217728) +B.Ab=new A.C(1627389952) +B.Ac=new A.C(1660944383) +B.kN=new A.C(16777215) +B.ht=new A.C(1723645116) +B.Ad=new A.C(1724434632) +B.kO=new A.C(2155905152) +B.E=new A.C(2315255808) +B.Ae=new A.C(2583691263) +B.F=new A.C(3019898879) +B.G=new A.C(3707764736) +B.Ag=new A.C(4039164096) +B.kR=new A.C(4279858898) +B.kS=new A.C(4280191205) +B.Am=new A.C(4280361249) +B.kT=new A.C(4280391411) +B.kU=new A.C(4281348144) +B.kW=new A.C(4281479732) +B.kY=new A.C(4282532418) +B.kZ=new A.C(4284572001) +B.Az=new A.C(4284809178) +B.d3=new A.C(4285887861) +B.AC=new A.C(4287137928) +B.l_=new A.C(4287679225) +B.AF=new A.C(4288585374) +B.l0=new A.C(4290502395) +B.AH=new A.C(4292030255) +B.AJ=new A.C(4292927712) +B.l2=new A.C(4293128957) +B.hG=new A.C(4294309365) +B.AQ=new A.C(4294638330) +B.aD=new A.C(4294872596) +B.AR=new A.C(4294908442) +B.AT=new A.C(436207616) +B.AU=new A.C(520093696) +B.AV=new A.C(536870911) +B.l4=new A.vg(0,"none") +B.AX=new A.vg(1,"waiting") +B.hI=new A.vg(3,"done") +B.bM=new A.n4(0,"start") +B.d6=new A.n4(1,"end") +B.V=new A.n4(2,"center") +B.ev=new A.n4(3,"stretch") +B.ew=new A.n4(4,"baseline") +B.l5=new A.dK(0.35,0.91,0.33,0.97) +B.aE=new A.dK(0.4,0,0.2,1) +B.AY=new A.dK(0.05,0,0.133333,0.06) +B.AZ=new A.dK(0,0,0.58,1) +B.l6=new A.dK(0.42,0,0.58,1) +B.ay=new A.dK(0.25,0.1,0.25,1) +B.d7=new A.dK(0.42,0,1,1) +B.B_=new A.dK(0.208333,0.82,0.25,1) +B.B0=new A.dK(0.67,0.03,0.65,0.09) +B.l7=new A.dK(0.18,1,0.04,1) +B.B2=new A.dK(0.075,0.82,0.165,1) +B.B3=new A.dK(0.77,0,0.175,1) +B.d1=new A.C(1493172224) +B.ep=new A.C(2164260863) +B.B4=new A.eX(B.d1,null,null,B.d1,B.ep,B.d1,B.ep,B.d1,B.ep,B.d1,B.ep,0) +B.d4=new A.C(4288256409) +B.hJ=new A.eX(B.d4,"inactiveGray",null,B.d4,B.d3,B.d4,B.d3,B.d4,B.d3,B.d4,B.d3,0) +B.hu=new A.C(4278221567) +B.kQ=new A.C(4278879487) +B.kP=new A.C(4278206685) +B.kX=new A.C(4282424575) +B.B5=new A.eX(B.hu,"systemBlue",null,B.hu,B.kQ,B.kP,B.kX,B.hu,B.kQ,B.kP,B.kX,0) +B.Ak=new A.C(4280032286) +B.An=new A.C(4280558630) +B.l9=new A.eX(B.i,"systemBackground",null,B.i,B.o,B.i,B.o,B.i,B.Ak,B.i,B.An,0) +B.d2=new A.C(4042914297) +B.eq=new A.C(4028439837) +B.B6=new A.eX(B.d2,null,null,B.d2,B.eq,B.d2,B.eq,B.d2,B.eq,B.d2,B.eq,0) +B.l8=new A.eX(B.o,"label",null,B.o,B.i,B.o,B.i,B.o,B.i,B.o,B.i,0) +B.SI=new A.ae0(B.l8,B.hJ) +B.jO=new A.ae1(null,B.B5,B.l9,B.B6,B.l9,!1,B.SI) +B.bN=new A.vo(B.jO,null,null,null,null,null,null,null) +B.aF=new A.Fo(0,"base") +B.hK=new A.Fo(1,"elevated") +B.B7=new A.Xm(1,"latency") +B.B8=new A.vs(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.B9=new A.vt(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.la=new A.n6(0,"uninitialized") +B.Ba=new A.n6(1,"initializingServices") +B.lb=new A.n6(2,"initializedServices") +B.Bb=new A.n6(3,"initializingUi") +B.Bc=new A.n6(4,"initialized") +B.TR=new A.Xo(1,"traversalOrder") +B.ex=new A.Fv(0,"background") +B.Bd=new A.Fv(1,"foreground") +B.Tr=new A.Pg(null) +B.d8=new A.l6(null,null,null,B.Tr,null) +B.xg=new A.n(!0,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.c8=new A.zL(0,"clip") +B.aC=new A.abv(0,"parent") +B.Ts=new A.Pi(null) +B.Be=new A.pV(B.xg,null,!0,B.c8,null,B.aC,null,B.Ts,null) +B.Bf=new A.vz(0) +B.ey=new A.n8(0,"portraitUp") +B.hL=new A.n8(1,"landscapeLeft") +B.lc=new A.n8(2,"portraitDown") +B.hM=new A.n8(3,"landscapeRight") +B.ar=new A.vA(3,"info") +B.Bg=new A.vA(5,"hint") +B.Bh=new A.vA(6,"summary") +B.TS=new A.jt(1,"sparse") +B.Bi=new A.jt(10,"shallow") +B.Bj=new A.jt(11,"truncateChildren") +B.Bk=new A.jt(5,"error") +B.Bl=new A.jt(6,"whitespace") +B.hN=new A.jt(8,"singleLine") +B.ba=new A.jt(9,"errorProperty") +B.Bm=new A.vD(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Bn=new A.hJ(1,"horizontal") +B.ld=new A.hJ(2,"endToStart") +B.hO=new A.hJ(3,"startToEnd") +B.Bo=new A.hJ(4,"up") +B.le=new A.hJ(5,"down") +B.lf=new A.hJ(6,"none") +B.Bp=new A.vF(null,null,null,null,null) +B.Bq=new A.G_(0,"down") +B.aj=new A.G_(1,"start") +B.Br=new A.G1(null) +B.Bs=new A.vN(null,null,null,null,null,null,null,null,null) +B.Bt=new A.vO(null,null,null) +B.q=new A.aP(0) +B.Bu=new A.aP(1e4) +B.aT=new A.aP(1e5) +B.ez=new A.aP(1e6) +B.Bv=new A.aP(12e5) +B.Bw=new A.aP(15e4) +B.Bx=new A.aP(15e5) +B.By=new A.aP(16667) +B.lg=new A.aP(167e3) +B.a0=new A.aP(2e5) +B.hP=new A.aP(2e6) +B.Bz=new A.aP(225e3) +B.lh=new A.aP(25e4) +B.BA=new A.aP(2961926e3) +B.bb=new A.aP(3e5) +B.BB=new A.aP(3e6) +B.li=new A.aP(375e3) +B.BC=new A.aP(4e4) +B.hQ=new A.aP(4e5) +B.br=new A.aP(4e6) +B.hR=new A.aP(5e4) +B.BD=new A.aP(5e5) +B.d9=new A.aP(6e5) +B.hS=new A.aP(75e3) +B.BE=new A.aP(-38e3) +B.BF=new A.Yi(0,"tonalSpot") +B.ak=new A.aJ(0,0,0,0) +B.BG=new A.aJ(0,0,0,14) +B.lj=new A.aJ(0,0,20,0) +B.BH=new A.aJ(0,0,30,0) +B.BI=new A.aJ(0,13,0,13) +B.lk=new A.aJ(0,13,0,15) +B.BJ=new A.aJ(0,14,0,14) +B.BL=new A.aJ(0,44,0,0) +B.BM=new A.aJ(0,8,0,8) +B.BN=new A.aJ(12,0,12,0) +B.BO=new A.aJ(15,0,15,0) +B.BP=new A.aJ(15,10,15,0) +B.BQ=new A.aJ(15,1,15,0) +B.BR=new A.aJ(15,5,15,10) +B.da=new A.aJ(16,0,16,0) +B.BS=new A.aJ(16,13,16,13) +B.BT=new A.aJ(16,4,16,4) +B.BU=new A.aJ(20,0,0,0) +B.BV=new A.aJ(20,0,20,0) +B.ll=new A.aJ(20,0,24,0) +B.lm=new A.aJ(24,0,24,0) +B.BW=new A.aJ(30,18,0,16) +B.BX=new A.aJ(33,7,33,0) +B.BY=new A.aJ(39,50,39,5) +B.BZ=new A.aJ(44,18,39,0) +B.C_=new A.aJ(8,4,8,4) +B.ln=new A.aJ(8,8,8,8) +B.C0=new A.aJ(91,48,91,69) +B.C1=new A.vV(null) +B.C2=new A.vZ(0,"noOpinion") +B.C3=new A.vZ(1,"enabled") +B.eA=new A.vZ(2,"disabled") +B.C4=new A.G6(null) +B.TT=new A.w2("change",t.PS) +B.TU=new A.w2("error",t.PS) +B.C5=new A.w9(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.hT=new A.nb(0,"auto") +B.C6=new A.nb(1,"locked") +B.C7=new A.wd(null) +B.hU=new A.nk(0,"none") +B.eB=new A.nk(1,"low") +B.db=new A.nk(2,"medium") +B.hV=new A.nk(3,"high") +B.C=new A.K(0,0) +B.C8=new A.Gn(B.C,B.C) +B.C9=new A.Zj(1,"auto") +B.hW=new A.Zk(0,"tight") +B.Ca=new A.q7(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.hX=new A.lc(0,"touch") +B.eC=new A.lc(1,"traditional") +B.TV=new A.ZE(0,"automatic") +B.hY=new A.nn(0,"auto") +B.Cc=new A.nn(1,"locked") +B.lo=new A.ZI("focus") +B.lq=new A.jz("Invalid method call",null,null) +B.Ch=new A.jz("Invalid envelope",null,null) +B.Ci=new A.jz("Expected envelope, got nothing",null,null) +B.aI=new A.jz("Message corrupted",null,null) +B.lr=new A.qb(0,"ltr") +B.ls=new A.qb(1,"rtl") +B.i_=new A.qb(3,"sandwich") +B.bO=new A.GD(0,"accepted") +B.aG=new A.GD(1,"rejected") +B.lt=new A.ns(0,"pointerEvents") +B.cn=new A.ns(1,"browserGestures") +B.bP=new A.wr(0,"ready") +B.eE=new A.wr(1,"possible") +B.Cj=new A.wr(2,"defunct") +B.lu=new A.GI(0,"forward") +B.lv=new A.GI(1,"reverse") +B.bQ=new A.qh(0,"push") +B.bR=new A.qh(1,"pop") +B.bs=new A.wx(0,"deferToChild") +B.ae=new A.wx(1,"opaque") +B.dc=new A.wx(2,"translucent") +B.TW=new A.a0c(0,"start") +B.Cm=new A.nB(null) +B.Cn=new A.hQ(57490,!0) +B.Co=new A.hQ(57686,!1) +B.lw=new A.hQ(58332,!1) +B.eF=new A.cD(null,null,null,null,null,B.i,null,null,null) +B.Cs=new A.cD(null,null,null,null,null,B.o,null,null,null) +B.lx=new A.cD(24,0,400,0,48,B.o,1,null,!1) +B.Cp=new A.hQ(58011,!1) +B.Cu=new A.nA(B.Cp,null,null,null,null) +B.Cq=new A.hQ(58372,!1) +B.Cv=new A.nA(B.Cq,null,null,null,null) +B.eG=new A.ql(0,"rawRgba") +B.i0=new A.ql(1,"rawStraightRgba") +B.Cw=new A.ql(2,"rawUnmodified") +B.ly=new A.ql(3,"png") +B.CD=new A.a0n(0,"unknown") +B.TX=new A.GZ(B.kG,null,null,null,!0) +B.CE=new A.qo(0,"repeat") +B.CF=new A.qo(1,"repeatX") +B.CG=new A.qo(2,"repeatY") +B.dd=new A.qo(3,"noRepeat") +B.CH=new A.H_(0,"camera") +B.CI=new A.H_(1,"gallery") +B.CJ=new A.H2(!0,!0,B.qR) +B.CL=new A.dl(0.4,1,B.a4) +B.CM=new A.dl(0.0825,0.2075,B.a4) +B.CO=new A.dl(0,0.5,B.aE) +B.CN=new A.dl(0.5,1,B.aE) +B.lz=new A.dl(0.5,1,B.ay) +B.B1=new A.dK(0.6,0.04,0.98,0.335) +B.CP=new A.dl(0.4,0.6,B.B1) +B.CR=new A.dl(0,0.1,B.a4) +B.CU=new A.dl(0,0.3333333333333333,B.a4) +B.CS=new A.dl(0,0.6666666666666666,B.a4) +B.CT=new A.dl(0.125,0.25,B.a4) +B.CQ=new A.dl(0.6,1,B.a4) +B.CV=new A.dl(0.2075,0.4175,B.a4) +B.CW=new A.dl(0.72,1,B.aE) +B.lA=new A.wP(0,"grapheme") +B.lB=new A.wP(1,"word") +B.lC=new A.a18(null) +B.CZ=new A.a19(null,null) +B.D_=new A.Hd(0,"rawKeyData") +B.D0=new A.Hd(1,"keyDataThenRawKeyData") +B.aZ=new A.wV(0,"down") +B.i1=new A.a1c(0,"keyboard") +B.D1=new A.f6(B.q,B.aZ,0,0,null,!1) +B.de=new A.iH(0,"handled") +B.df=new A.iH(1,"ignored") +B.eI=new A.iH(2,"skipRemainingHandlers") +B.aJ=new A.wV(1,"up") +B.D2=new A.wV(2,"repeat") +B.f2=new A.f(4294967564) +B.D3=new A.qy(B.f2,1,"scrollLock") +B.f1=new A.f(4294967562) +B.i2=new A.qy(B.f1,0,"numLock") +B.ds=new A.f(4294967556) +B.D4=new A.qy(B.ds,2,"capsLock") +B.co=new A.nK(0,"any") +B.bc=new A.nK(3,"all") +B.bS=new A.wX(0,"ariaLabel") +B.eL=new A.wX(1,"domText") +B.i3=new A.wX(2,"sizedSpan") +B.D5=new A.a1v(0,"platformDefault") +B.bT=new A.lt(0,"opportunity") +B.r=new A.lt(1,"prohibited") +B.bt=new A.lt(2,"mandatory") +B.bu=new A.lt(3,"endOfText") +B.i4=new A.bn(0,"CM") +B.eM=new A.bn(1,"BA") +B.bU=new A.bn(10,"PO") +B.dg=new A.bn(11,"OP") +B.dh=new A.bn(12,"CP") +B.eN=new A.bn(13,"IS") +B.di=new A.bn(14,"HY") +B.i5=new A.bn(15,"SY") +B.bv=new A.bn(16,"NU") +B.i6=new A.bn(17,"CL") +B.i7=new A.bn(18,"GL") +B.lD=new A.bn(19,"BB") +B.dj=new A.bn(2,"LF") +B.aK=new A.bn(20,"HL") +B.eO=new A.bn(21,"JL") +B.dk=new A.bn(22,"JV") +B.dl=new A.bn(23,"JT") +B.i8=new A.bn(24,"NS") +B.i9=new A.bn(25,"ZW") +B.ia=new A.bn(26,"ZWJ") +B.ib=new A.bn(27,"B2") +B.lE=new A.bn(28,"IN") +B.ic=new A.bn(29,"WJ") +B.eP=new A.bn(3,"BK") +B.id=new A.bn(30,"ID") +B.eQ=new A.bn(31,"EB") +B.dm=new A.bn(32,"H2") +B.dn=new A.bn(33,"H3") +B.ie=new A.bn(34,"CB") +B.eR=new A.bn(35,"RI") +B.eS=new A.bn(36,"EM") +B.eT=new A.bn(4,"CR") +B.cp=new A.bn(5,"SP") +B.lF=new A.bn(6,"EX") +B.ig=new A.bn(7,"QU") +B.aL=new A.bn(8,"AL") +B.eU=new A.bn(9,"PR") +B.D6=new A.x1(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.lG=A.b(s([0,4,12,1,5,13,3,7,15]),t.t) +B.lH=A.b(s([0,1]),t.n) +B.D7=A.b(s([0,6,12,18]),t.t) +B.Dg=A.b(s([0,0,32722,12287,65534,34815,65534,18431]),t.t) +B.eV=A.b(s([0,0,65490,45055,65535,34815,65534,18431]),t.t) +B.e0=new A.k6(0,"left") +B.jv=new A.k6(1,"right") +B.e1=new A.k6(3,"justify") +B.aP=new A.k6(4,"start") +B.jw=new A.k6(5,"end") +B.Dz=A.b(s([B.e0,B.jv,B.cH,B.e1,B.aP,B.jw]),A.ao("v")) +B.DF=A.b(s([0,0,32754,11263,65534,34815,65534,18431]),t.t) +B.SO=new A.kj(0,0) +B.SR=new A.kj(1,0.05) +B.SQ=new A.kj(3,0.08) +B.SS=new A.kj(6,0.11) +B.SP=new A.kj(8,0.12) +B.ST=new A.kj(12,0.14) +B.lI=A.b(s([B.SO,B.SR,B.SQ,B.SS,B.SP,B.ST]),A.ao("v")) +B.DH=A.b(s([4,9,14,19]),t.t) +B.yu=new A.ps() +B.j5=new A.K9(1,"page") +B.j6=new A.eB(B.L,B.j5) +B.DY=A.b(s([B.yu,B.j6]),A.ao("v")) +B.jW=new A.C3(0,"named") +B.xK=new A.C3(1,"anonymous") +B.E4=A.b(s([B.jW,B.xK]),A.ao("v")) +B.Cl=new A.wy(null) +B.Ck=new A.ww(null) +B.xM=new A.E_(null) +B.Ek=A.b(s([B.Cl,B.Ck,B.xM]),t.D) +B.El=A.b(s([B.h4,B.h5]),A.ao("v")) +B.Dh=A.b(s([37,80,68,70]),t.t) +B.H4=new A.bS("application/pdf",B.Dh,null) +B.Di=A.b(s([37,81]),t.t) +B.H0=new A.bS("application/postscript",B.Di,null) +B.E7=A.b(s([70,79,82,77,0,0,0,0,65,73,70,70]),t.t) +B.ik=A.b(s([255,255,255,255,0,0,0,0,255,255,255,255]),t.t) +B.GI=new A.bS("audio/x-aiff",B.E7,B.ik) +B.D8=A.b(s([102,76,97,67]),t.t) +B.GX=new A.bS("audio/x-flac",B.D8,null) +B.E8=A.b(s([82,73,70,70,0,0,0,0,87,65,86,69]),t.t) +B.H3=new A.bS("audio/x-wav",B.E8,B.ik) +B.EA=A.b(s([71,73,70,56,55,97]),t.t) +B.GK=new A.bS("image/gif",B.EA,null) +B.EB=A.b(s([71,73,70,56,57,97]),t.t) +B.GL=new A.bS("image/gif",B.EB,null) +B.Da=A.b(s([255,216]),t.t) +B.H8=new A.bS("image/jpeg",B.Da,null) +B.EH=A.b(s([137,80,78,71,13,10,26,10]),t.t) +B.GM=new A.bS("image/png",B.EH,null) +B.E0=A.b(s([73,73,42,0]),t.t) +B.GV=new A.bS("image/tiff",B.E0,null) +B.E1=A.b(s([77,77,0,42]),t.t) +B.GW=new A.bS("image/tiff",B.E1,null) +B.Dc=A.b(s([255,241]),t.t) +B.GY=new A.bS("audio/aac",B.Dc,null) +B.Dd=A.b(s([255,249]),t.t) +B.GZ=new A.bS("audio/aac",B.Dd,null) +B.Df=A.b(s([26,69,223,163]),t.t) +B.H_=new A.bS("audio/weba",B.Df,null) +B.E_=A.b(s([73,68,51]),t.t) +B.H5=new A.bS("audio/mpeg",B.E_,null) +B.De=A.b(s([255,251]),t.t) +B.GJ=new A.bS("audio/mpeg",B.De,null) +B.E2=A.b(s([79,112,117]),t.t) +B.H1=new A.bS("audio/ogg",B.E2,null) +B.E9=A.b(s([0,0,0,0,102,116,121,112,51,103,112,53]),t.t) +B.Et=A.b(s([255,255,255,0,255,255,255,255,255,255,255,255]),t.t) +B.H7=new A.bS("video/3gpp",B.E9,B.Et) +B.Ec=A.b(s([0,0,0,0,102,116,121,112,97,118,99,49]),t.t) +B.bw=A.b(s([0,0,0,0,255,255,255,255,255,255,255,255]),t.t) +B.GQ=new A.bS("video/mp4",B.Ec,B.bw) +B.Ed=A.b(s([0,0,0,0,102,116,121,112,105,115,111,50]),t.t) +B.GR=new A.bS("video/mp4",B.Ed,B.bw) +B.Ee=A.b(s([0,0,0,0,102,116,121,112,105,115,111,109]),t.t) +B.GS=new A.bS("video/mp4",B.Ee,B.bw) +B.Ef=A.b(s([0,0,0,0,102,116,121,112,109,112,52,49]),t.t) +B.GT=new A.bS("video/mp4",B.Ef,B.bw) +B.Eg=A.b(s([0,0,0,0,102,116,121,112,109,112,52,50]),t.t) +B.GU=new A.bS("video/mp4",B.Eg,B.bw) +B.DZ=A.b(s([70,84,108,103]),t.t) +B.H2=new A.bS("model/gltf-binary",B.DZ,null) +B.Eh=A.b(s([82,73,70,70,0,0,0,0,87,69,66,80]),t.t) +B.H6=new A.bS("image/webp",B.Eh,B.ik) +B.D9=A.b(s([119,79,70,50]),t.t) +B.GH=new A.bS("font/woff2",B.D9,null) +B.Ei=A.b(s([0,0,0,0,102,116,121,112,104,101,105,99]),t.t) +B.GN=new A.bS("image/heic",B.Ei,B.bw) +B.Ej=A.b(s([0,0,0,0,102,116,121,112,104,101,105,120]),t.t) +B.GO=new A.bS("image/heic",B.Ej,B.bw) +B.Ea=A.b(s([0,0,0,0,102,116,121,112,109,105,102,49]),t.t) +B.GP=new A.bS("image/heif",B.Ea,B.bw) +B.En=A.b(s([B.H4,B.H0,B.GI,B.GX,B.H3,B.GK,B.GL,B.H8,B.GM,B.GV,B.GW,B.GY,B.GZ,B.H_,B.H5,B.GJ,B.H1,B.H7,B.GQ,B.GR,B.GS,B.GT,B.GU,B.H2,B.H6,B.GH,B.GN,B.GO,B.GP]),t.gg) +B.lJ=A.b(s([0,0,26624,1023,65534,2047,65534,2047]),t.t) +B.dp=A.b(s([B.ch,B.b6,B.cR,B.ec,B.h3]),t.QP) +B.EI=A.b(s([137,80,78,71,13,10,26,10]),t.Z) +B.Cx=new A.jD(B.EI,"image/png") +B.EC=A.b(s([71,73,70,56,55,97]),t.Z) +B.CB=new A.jD(B.EC,"image/gif") +B.ED=A.b(s([71,73,70,56,57,97]),t.Z) +B.CC=new A.jD(B.ED,"image/gif") +B.Db=A.b(s([255,216,255]),t.Z) +B.CA=new A.jD(B.Db,"image/jpeg") +B.Eb=A.b(s([82,73,70,70,null,null,null,null,87,69,66,80]),t.Z) +B.Cz=new A.jD(B.Eb,"image/webp") +B.DR=A.b(s([66,77]),t.Z) +B.Cy=new A.jD(B.DR,"image/bmp") +B.Eu=A.b(s([B.Cx,B.CB,B.CC,B.CA,B.Cz,B.Cy]),A.ao("v")) +B.Ff=new A.lx("en","US") +B.lK=A.b(s([B.Ff]),t.ss) +B.lL=A.b(s([0,0,65490,12287,65535,34815,65534,18431]),t.t) +B.Ev=A.b(s(["pointerdown","pointermove","pointerleave","pointerup","pointercancel","touchstart","touchend","touchmove","touchcancel","mousedown","mousemove","mouseleave","mouseup","keyup","keydown"]),t.s) +B.Mh=new A.zz(0,"left") +B.Mi=new A.zz(1,"right") +B.EE=A.b(s([B.Mh,B.Mi]),A.ao("v")) +B.ap=new A.zF(0,"upstream") +B.n=new A.zF(1,"downstream") +B.EF=A.b(s([B.ap,B.n]),A.ao("v")) +B.T=new A.j1(0,"rtl") +B.p=new A.j1(1,"ltr") +B.ih=A.b(s([B.T,B.p]),A.ao("v")) +B.lM=A.b(s([0,0,32776,33792,1,10240,0,0]),t.t) +B.EL=A.b(s(["click","scroll"]),t.s) +B.hZ=new A.h8(0,100) +B.Cd=new A.h8(1,200) +B.Ce=new A.h8(2,300) +B.m=new A.h8(3,400) +B.U=new A.h8(4,500) +B.Cf=new A.h8(5,600) +B.cm=new A.h8(6,700) +B.Cg=new A.h8(7,800) +B.lp=new A.h8(8,900) +B.lN=A.b(s([B.hZ,B.Cd,B.Ce,B.m,B.U,B.Cf,B.cm,B.Cg,B.lp]),A.ao("v")) +B.F_=A.b(s([]),t.QP) +B.EV=A.b(s([]),t.Ug) +B.lQ=A.b(s([]),A.ao("v")) +B.F3=A.b(s([]),t.E) +B.F1=A.b(s([]),t.ER) +B.F4=A.b(s([]),t.tc) +B.eW=A.b(s([]),t.jl) +B.EX=A.b(s([]),t.fy) +B.EW=A.b(s([]),A.ao("v>")) +B.ij=A.b(s([]),t.AO) +B.EZ=A.b(s([]),t.D1) +B.ii=A.b(s([]),t.QF) +B.lO=A.b(s([]),t.s) +B.al=A.b(s([]),t.oU) +B.F0=A.b(s([]),t.Lx) +B.TY=A.b(s([]),t.D) +B.lP=A.b(s([]),t.t) +B.lR=A.b(s([]),t.ee) +B.F2=A.b(s([]),t.XS) +B.jI=new A.cX(0,"DoubleQuote") +B.cM=new A.cX(1,"SingleQuote") +B.au=new A.cX(2,"HebrewLetter") +B.fK=new A.cX(3,"CR") +B.fL=new A.cX(4,"LF") +B.jM=new A.cX(5,"Newline") +B.e6=new A.cX(6,"Extend") +B.Ss=new A.cX(7,"RegionalIndicator") +B.e7=new A.cX(8,"Format") +B.e8=new A.cX(9,"Katakana") +B.aX=new A.cX(10,"ALetter") +B.jJ=new A.cX(11,"MidLetter") +B.jK=new A.cX(12,"MidNum") +B.e4=new A.cX(13,"MidNumLet") +B.bm=new A.cX(14,"Numeric") +B.fJ=new A.cX(15,"ExtendNumLet") +B.e5=new A.cX(16,"ZWJ") +B.jL=new A.cX(17,"WSegSpace") +B.xu=new A.cX(18,"Unknown") +B.F5=A.b(s([B.jI,B.cM,B.au,B.fK,B.fL,B.jM,B.e6,B.Ss,B.e7,B.e8,B.aX,B.jJ,B.jK,B.e4,B.bm,B.fJ,B.e5,B.jL,B.xu]),A.ao("v")) +B.lS=A.b(s([B.i4,B.eM,B.dj,B.eP,B.eT,B.cp,B.lF,B.ig,B.aL,B.eU,B.bU,B.dg,B.dh,B.eN,B.di,B.i5,B.bv,B.i6,B.i7,B.lD,B.aK,B.eO,B.dk,B.dl,B.i8,B.i9,B.ia,B.ib,B.lE,B.ic,B.id,B.eQ,B.dm,B.dn,B.ie,B.eR,B.eS]),A.ao("v")) +B.xv=new A.t5(0,"topLeft") +B.xy=new A.t5(3,"bottomRight") +B.SJ=new A.kh(B.xv,B.xy) +B.SM=new A.kh(B.xy,B.xv) +B.xw=new A.t5(1,"topRight") +B.xx=new A.t5(2,"bottomLeft") +B.SK=new A.kh(B.xw,B.xx) +B.SL=new A.kh(B.xx,B.xw) +B.F6=A.b(s([B.SJ,B.SM,B.SK,B.SL]),A.ao("v")) +B.cs=new A.fG(0,"controlModifier") +B.ct=new A.fG(1,"shiftModifier") +B.cu=new A.fG(2,"altModifier") +B.cv=new A.fG(3,"metaModifier") +B.iG=new A.fG(4,"capsLockModifier") +B.iH=new A.fG(5,"numLockModifier") +B.iI=new A.fG(6,"scrollLockModifier") +B.iJ=new A.fG(7,"functionModifier") +B.qZ=new A.fG(8,"symbolModifier") +B.lT=A.b(s([B.cs,B.ct,B.cu,B.cv,B.iG,B.iH,B.iI,B.iJ,B.qZ]),A.ao("v")) +B.dJ=new A.m(1,0) +B.HY=new A.m(1,1) +B.fb=new A.m(0,1) +B.I4=new A.m(-1,1) +B.r6=new A.m(-1,0) +B.I5=new A.m(-1,-1) +B.r5=new A.m(0,-1) +B.HZ=new A.m(1,-1) +B.eX=A.b(s([B.dJ,B.HY,B.fb,B.I4,B.r6,B.I5,B.r5,B.HZ]),t.yv) +B.zX=new A.pH(0,"auto") +B.zY=new A.pH(1,"full") +B.zZ=new A.pH(2,"chromium") +B.F7=A.b(s([B.zX,B.zY,B.zZ]),A.ao("v")) +B.eY=A.b(s([0,0,24576,1023,65534,34815,65534,18431]),t.t) +B.F8=A.b(s([-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,1,1,1,1,0]),t.n) +B.bg=new A.ef(1,"fuchsia") +B.bh=new A.ef(3,"linux") +B.bi=new A.ef(5,"windows") +B.F9=A.b(s([B.as,B.bg,B.at,B.bh,B.b4,B.bi]),A.ao("v")) +B.il=A.b(s([!0,!1]),t.HZ) +B.Fa=A.b(s([0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0]),t.n) +B.im=A.b(s([0,0,65498,45055,65535,34815,65534,18431]),t.t) +B.j=new A.x5(0,"ignored") +B.am=new A.f(4294967304) +B.dr=new A.f(4294967323) +B.af=new A.f(4294967423) +B.iq=new A.f(4294967558) +B.dv=new A.f(8589934848) +B.f3=new A.f(8589934849) +B.bX=new A.f(8589934850) +B.cq=new A.f(8589934851) +B.dw=new A.f(8589934852) +B.f4=new A.f(8589934853) +B.dx=new A.f(8589934854) +B.f5=new A.f(8589934855) +B.it=new A.f(8589935088) +B.iu=new A.f(8589935090) +B.iv=new A.f(8589935092) +B.iw=new A.f(8589935094) +B.GG=new A.a1I("longPress") +B.a8=new A.ly(0,"start") +B.qL=new A.ly(1,"end") +B.dC=new A.ly(2,"center") +B.H9=new A.ly(3,"spaceBetween") +B.Ha=new A.ly(4,"spaceAround") +B.qM=new A.ly(5,"spaceEvenly") +B.dD=new A.Hz(0,"min") +B.aM=new A.Hz(1,"max") +B.m_=new A.f(42) +B.qG=new A.f(8589935146) +B.Eo=A.b(s([B.m_,null,null,B.qG]),t.L) +B.qs=new A.f(43) +B.qH=new A.f(8589935147) +B.Ep=A.b(s([B.qs,null,null,B.qH]),t.L) +B.qt=new A.f(45) +B.qI=new A.f(8589935149) +B.Eq=A.b(s([B.qt,null,null,B.qI]),t.L) +B.qu=new A.f(46) +B.bY=new A.f(8589935150) +B.Er=A.b(s([B.qu,null,null,B.bY]),t.L) +B.qv=new A.f(47) +B.qJ=new A.f(8589935151) +B.Es=A.b(s([B.qv,null,null,B.qJ]),t.L) +B.qw=new A.f(48) +B.iy=new A.f(8589935152) +B.EN=A.b(s([B.qw,null,null,B.iy]),t.L) +B.qx=new A.f(49) +B.dy=new A.f(8589935153) +B.EO=A.b(s([B.qx,null,null,B.dy]),t.L) +B.qy=new A.f(50) +B.bZ=new A.f(8589935154) +B.EP=A.b(s([B.qy,null,null,B.bZ]),t.L) +B.qz=new A.f(51) +B.dz=new A.f(8589935155) +B.EQ=A.b(s([B.qz,null,null,B.dz]),t.L) +B.qA=new A.f(52) +B.c_=new A.f(8589935156) +B.ER=A.b(s([B.qA,null,null,B.c_]),t.L) +B.qB=new A.f(53) +B.iz=new A.f(8589935157) +B.ES=A.b(s([B.qB,null,null,B.iz]),t.L) +B.qC=new A.f(54) +B.c0=new A.f(8589935158) +B.ET=A.b(s([B.qC,null,null,B.c0]),t.L) +B.qD=new A.f(55) +B.dA=new A.f(8589935159) +B.EU=A.b(s([B.qD,null,null,B.dA]),t.L) +B.qE=new A.f(56) +B.c1=new A.f(8589935160) +B.EJ=A.b(s([B.qE,null,null,B.c1]),t.L) +B.qF=new A.f(57) +B.dB=new A.f(8589935161) +B.EK=A.b(s([B.qF,null,null,B.dB]),t.L) +B.Fb=A.b(s([B.dw,B.dw,B.f4,null]),t.L) +B.f0=new A.f(4294967555) +B.EM=A.b(s([B.f0,null,B.f0,null]),t.L) +B.b_=new A.f(4294968065) +B.DS=A.b(s([B.b_,null,null,B.bZ]),t.L) +B.aU=new A.f(4294968066) +B.DT=A.b(s([B.aU,null,null,B.c_]),t.L) +B.aV=new A.f(4294968067) +B.DU=A.b(s([B.aV,null,null,B.c0]),t.L) +B.b0=new A.f(4294968068) +B.DG=A.b(s([B.b0,null,null,B.c1]),t.L) +B.ir=new A.f(4294968321) +B.E5=A.b(s([B.ir,null,null,B.iz]),t.L) +B.Fc=A.b(s([B.dv,B.dv,B.f3,null]),t.L) +B.E3=A.b(s([B.af,null,null,B.bY]),t.L) +B.bV=new A.f(4294968069) +B.DV=A.b(s([B.bV,null,null,B.dy]),t.L) +B.f_=new A.f(4294967309) +B.ix=new A.f(8589935117) +B.DQ=A.b(s([B.f_,null,null,B.ix]),t.L) +B.bW=new A.f(4294968070) +B.DW=A.b(s([B.bW,null,null,B.dA]),t.L) +B.is=new A.f(4294968327) +B.E6=A.b(s([B.is,null,null,B.iy]),t.L) +B.Fd=A.b(s([B.dx,B.dx,B.f5,null]),t.L) +B.dt=new A.f(4294968071) +B.DX=A.b(s([B.dt,null,null,B.dz]),t.L) +B.du=new A.f(4294968072) +B.Dj=A.b(s([B.du,null,null,B.dB]),t.L) +B.Fe=A.b(s([B.bX,B.bX,B.cq,null]),t.L) +B.Hb=new A.d8(["*",B.Eo,"+",B.Ep,"-",B.Eq,".",B.Er,"/",B.Es,"0",B.EN,"1",B.EO,"2",B.EP,"3",B.EQ,"4",B.ER,"5",B.ES,"6",B.ET,"7",B.EU,"8",B.EJ,"9",B.EK,"Alt",B.Fb,"AltGraph",B.EM,"ArrowDown",B.DS,"ArrowLeft",B.DT,"ArrowRight",B.DU,"ArrowUp",B.DG,"Clear",B.E5,"Control",B.Fc,"Delete",B.E3,"End",B.DV,"Enter",B.DQ,"Home",B.DW,"Insert",B.E6,"Meta",B.Fd,"PageDown",B.DX,"PageUp",B.Dj,"Shift",B.Fe],A.ao("d8>")) +B.Dx=A.b(s([42,null,null,8589935146]),t.Z) +B.Dy=A.b(s([43,null,null,8589935147]),t.Z) +B.DA=A.b(s([45,null,null,8589935149]),t.Z) +B.DB=A.b(s([46,null,null,8589935150]),t.Z) +B.DC=A.b(s([47,null,null,8589935151]),t.Z) +B.DD=A.b(s([48,null,null,8589935152]),t.Z) +B.DE=A.b(s([49,null,null,8589935153]),t.Z) +B.DI=A.b(s([50,null,null,8589935154]),t.Z) +B.DJ=A.b(s([51,null,null,8589935155]),t.Z) +B.DK=A.b(s([52,null,null,8589935156]),t.Z) +B.DL=A.b(s([53,null,null,8589935157]),t.Z) +B.DM=A.b(s([54,null,null,8589935158]),t.Z) +B.DN=A.b(s([55,null,null,8589935159]),t.Z) +B.DO=A.b(s([56,null,null,8589935160]),t.Z) +B.DP=A.b(s([57,null,null,8589935161]),t.Z) +B.Ew=A.b(s([8589934852,8589934852,8589934853,null]),t.Z) +B.Dm=A.b(s([4294967555,null,4294967555,null]),t.Z) +B.Dn=A.b(s([4294968065,null,null,8589935154]),t.Z) +B.Do=A.b(s([4294968066,null,null,8589935156]),t.Z) +B.Dp=A.b(s([4294968067,null,null,8589935158]),t.Z) +B.Dq=A.b(s([4294968068,null,null,8589935160]),t.Z) +B.Dv=A.b(s([4294968321,null,null,8589935157]),t.Z) +B.Ex=A.b(s([8589934848,8589934848,8589934849,null]),t.Z) +B.Dl=A.b(s([4294967423,null,null,8589935150]),t.Z) +B.Dr=A.b(s([4294968069,null,null,8589935153]),t.Z) +B.Dk=A.b(s([4294967309,null,null,8589935117]),t.Z) +B.Ds=A.b(s([4294968070,null,null,8589935159]),t.Z) +B.Dw=A.b(s([4294968327,null,null,8589935152]),t.Z) +B.Ey=A.b(s([8589934854,8589934854,8589934855,null]),t.Z) +B.Dt=A.b(s([4294968071,null,null,8589935155]),t.Z) +B.Du=A.b(s([4294968072,null,null,8589935161]),t.Z) +B.Ez=A.b(s([8589934850,8589934850,8589934851,null]),t.Z) +B.qN=new A.d8(["*",B.Dx,"+",B.Dy,"-",B.DA,".",B.DB,"/",B.DC,"0",B.DD,"1",B.DE,"2",B.DI,"3",B.DJ,"4",B.DK,"5",B.DL,"6",B.DM,"7",B.DN,"8",B.DO,"9",B.DP,"Alt",B.Ew,"AltGraph",B.Dm,"ArrowDown",B.Dn,"ArrowLeft",B.Do,"ArrowRight",B.Dp,"ArrowUp",B.Dq,"Clear",B.Dv,"Control",B.Ex,"Delete",B.Dl,"End",B.Dr,"Enter",B.Dk,"Home",B.Ds,"Insert",B.Dw,"Meta",B.Ey,"PageDown",B.Dt,"PageUp",B.Du,"Shift",B.Ez],A.ao("d8>")) +B.Hc=new A.d8([0,"FontWeight.w100",1,"FontWeight.w200",2,"FontWeight.w300",3,"FontWeight.w400",4,"FontWeight.w500",5,"FontWeight.w600",6,"FontWeight.w700",7,"FontWeight.w800",8,"FontWeight.w900"],A.ao("d8")) +B.lZ=new A.f(32) +B.Fz=new A.f(33) +B.FA=new A.f(34) +B.FB=new A.f(35) +B.FC=new A.f(36) +B.FD=new A.f(37) +B.FE=new A.f(38) +B.FF=new A.f(39) +B.FG=new A.f(40) +B.FH=new A.f(41) +B.FI=new A.f(44) +B.FJ=new A.f(58) +B.FK=new A.f(59) +B.FL=new A.f(60) +B.FM=new A.f(61) +B.FN=new A.f(62) +B.FO=new A.f(63) +B.FP=new A.f(64) +B.GA=new A.f(91) +B.GB=new A.f(92) +B.GC=new A.f(93) +B.GD=new A.f(94) +B.GE=new A.f(95) +B.GF=new A.f(96) +B.iA=new A.f(97) +B.qK=new A.f(98) +B.iB=new A.f(99) +B.Fg=new A.f(100) +B.lU=new A.f(101) +B.lV=new A.f(102) +B.Fh=new A.f(103) +B.Fi=new A.f(104) +B.Fj=new A.f(105) +B.Fk=new A.f(106) +B.Fl=new A.f(107) +B.Fm=new A.f(108) +B.Fn=new A.f(109) +B.lW=new A.f(110) +B.Fo=new A.f(111) +B.lX=new A.f(112) +B.Fp=new A.f(113) +B.Fq=new A.f(114) +B.Fr=new A.f(115) +B.lY=new A.f(116) +B.Fs=new A.f(117) +B.io=new A.f(118) +B.Ft=new A.f(119) +B.ip=new A.f(120) +B.Fu=new A.f(121) +B.dq=new A.f(122) +B.Fv=new A.f(123) +B.Fw=new A.f(124) +B.Fx=new A.f(125) +B.Fy=new A.f(126) +B.m0=new A.f(4294967297) +B.eZ=new A.f(4294967305) +B.m1=new A.f(4294967553) +B.m2=new A.f(4294967559) +B.m3=new A.f(4294967560) +B.m4=new A.f(4294967566) +B.m5=new A.f(4294967567) +B.m6=new A.f(4294967568) +B.m7=new A.f(4294967569) +B.m8=new A.f(4294968322) +B.m9=new A.f(4294968323) +B.ma=new A.f(4294968324) +B.mb=new A.f(4294968325) +B.mc=new A.f(4294968326) +B.md=new A.f(4294968328) +B.me=new A.f(4294968329) +B.mf=new A.f(4294968330) +B.mg=new A.f(4294968577) +B.mh=new A.f(4294968578) +B.mi=new A.f(4294968579) +B.mj=new A.f(4294968580) +B.mk=new A.f(4294968581) +B.ml=new A.f(4294968582) +B.mm=new A.f(4294968583) +B.mn=new A.f(4294968584) +B.mo=new A.f(4294968585) +B.mp=new A.f(4294968586) +B.mq=new A.f(4294968587) +B.mr=new A.f(4294968588) +B.ms=new A.f(4294968589) +B.mt=new A.f(4294968590) +B.mu=new A.f(4294968833) +B.mv=new A.f(4294968834) +B.mw=new A.f(4294968835) +B.mx=new A.f(4294968836) +B.my=new A.f(4294968837) +B.mz=new A.f(4294968838) +B.mA=new A.f(4294968839) +B.mB=new A.f(4294968840) +B.mC=new A.f(4294968841) +B.mD=new A.f(4294968842) +B.mE=new A.f(4294968843) +B.mF=new A.f(4294969089) +B.mG=new A.f(4294969090) +B.mH=new A.f(4294969091) +B.mI=new A.f(4294969092) +B.mJ=new A.f(4294969093) +B.mK=new A.f(4294969094) +B.mL=new A.f(4294969095) +B.mM=new A.f(4294969096) +B.mN=new A.f(4294969097) +B.mO=new A.f(4294969098) +B.mP=new A.f(4294969099) +B.mQ=new A.f(4294969100) +B.mR=new A.f(4294969101) +B.mS=new A.f(4294969102) +B.mT=new A.f(4294969103) +B.mU=new A.f(4294969104) +B.mV=new A.f(4294969105) +B.mW=new A.f(4294969106) +B.mX=new A.f(4294969107) +B.mY=new A.f(4294969108) +B.mZ=new A.f(4294969109) +B.n_=new A.f(4294969110) +B.n0=new A.f(4294969111) +B.n1=new A.f(4294969112) +B.n2=new A.f(4294969113) +B.n3=new A.f(4294969114) +B.n4=new A.f(4294969115) +B.n5=new A.f(4294969116) +B.n6=new A.f(4294969117) +B.n7=new A.f(4294969345) +B.n8=new A.f(4294969346) +B.n9=new A.f(4294969347) +B.na=new A.f(4294969348) +B.nb=new A.f(4294969349) +B.nc=new A.f(4294969350) +B.nd=new A.f(4294969351) +B.ne=new A.f(4294969352) +B.nf=new A.f(4294969353) +B.ng=new A.f(4294969354) +B.nh=new A.f(4294969355) +B.ni=new A.f(4294969356) +B.nj=new A.f(4294969357) +B.nk=new A.f(4294969358) +B.nl=new A.f(4294969359) +B.nm=new A.f(4294969360) +B.nn=new A.f(4294969361) +B.no=new A.f(4294969362) +B.np=new A.f(4294969363) +B.nq=new A.f(4294969364) +B.nr=new A.f(4294969365) +B.ns=new A.f(4294969366) +B.nt=new A.f(4294969367) +B.nu=new A.f(4294969368) +B.nv=new A.f(4294969601) +B.nw=new A.f(4294969602) +B.nx=new A.f(4294969603) +B.ny=new A.f(4294969604) +B.nz=new A.f(4294969605) +B.nA=new A.f(4294969606) +B.nB=new A.f(4294969607) +B.nC=new A.f(4294969608) +B.nD=new A.f(4294969857) +B.nE=new A.f(4294969858) +B.nF=new A.f(4294969859) +B.nG=new A.f(4294969860) +B.nH=new A.f(4294969861) +B.nI=new A.f(4294969863) +B.nJ=new A.f(4294969864) +B.nK=new A.f(4294969865) +B.nL=new A.f(4294969866) +B.nM=new A.f(4294969867) +B.nN=new A.f(4294969868) +B.nO=new A.f(4294969869) +B.nP=new A.f(4294969870) +B.nQ=new A.f(4294969871) +B.nR=new A.f(4294969872) +B.nS=new A.f(4294969873) +B.nT=new A.f(4294970113) +B.nU=new A.f(4294970114) +B.nV=new A.f(4294970115) +B.nW=new A.f(4294970116) +B.nX=new A.f(4294970117) +B.nY=new A.f(4294970118) +B.nZ=new A.f(4294970119) +B.o_=new A.f(4294970120) +B.o0=new A.f(4294970121) +B.o1=new A.f(4294970122) +B.o2=new A.f(4294970123) +B.o3=new A.f(4294970124) +B.o4=new A.f(4294970125) +B.o5=new A.f(4294970126) +B.o6=new A.f(4294970127) +B.o7=new A.f(4294970369) +B.o8=new A.f(4294970370) +B.o9=new A.f(4294970371) +B.oa=new A.f(4294970372) +B.ob=new A.f(4294970373) +B.oc=new A.f(4294970374) +B.od=new A.f(4294970375) +B.oe=new A.f(4294970625) +B.of=new A.f(4294970626) +B.og=new A.f(4294970627) +B.oh=new A.f(4294970628) +B.oi=new A.f(4294970629) +B.oj=new A.f(4294970630) +B.ok=new A.f(4294970631) +B.ol=new A.f(4294970632) +B.om=new A.f(4294970633) +B.on=new A.f(4294970634) +B.oo=new A.f(4294970635) +B.op=new A.f(4294970636) +B.oq=new A.f(4294970637) +B.or=new A.f(4294970638) +B.os=new A.f(4294970639) +B.ot=new A.f(4294970640) +B.ou=new A.f(4294970641) +B.ov=new A.f(4294970642) +B.ow=new A.f(4294970643) +B.ox=new A.f(4294970644) +B.oy=new A.f(4294970645) +B.oz=new A.f(4294970646) +B.oA=new A.f(4294970647) +B.oB=new A.f(4294970648) +B.oC=new A.f(4294970649) +B.oD=new A.f(4294970650) +B.oE=new A.f(4294970651) +B.oF=new A.f(4294970652) +B.oG=new A.f(4294970653) +B.oH=new A.f(4294970654) +B.oI=new A.f(4294970655) +B.oJ=new A.f(4294970656) +B.oK=new A.f(4294970657) +B.oL=new A.f(4294970658) +B.oM=new A.f(4294970659) +B.oN=new A.f(4294970660) +B.oO=new A.f(4294970661) +B.oP=new A.f(4294970662) +B.oQ=new A.f(4294970663) +B.oR=new A.f(4294970664) +B.oS=new A.f(4294970665) +B.oT=new A.f(4294970666) +B.oU=new A.f(4294970667) +B.oV=new A.f(4294970668) +B.oW=new A.f(4294970669) +B.oX=new A.f(4294970670) +B.oY=new A.f(4294970671) +B.oZ=new A.f(4294970672) +B.p_=new A.f(4294970673) +B.p0=new A.f(4294970674) +B.p1=new A.f(4294970675) +B.p2=new A.f(4294970676) +B.p3=new A.f(4294970677) +B.p4=new A.f(4294970678) +B.p5=new A.f(4294970679) +B.p6=new A.f(4294970680) +B.p7=new A.f(4294970681) +B.p8=new A.f(4294970682) +B.p9=new A.f(4294970683) +B.pa=new A.f(4294970684) +B.pb=new A.f(4294970685) +B.pc=new A.f(4294970686) +B.pd=new A.f(4294970687) +B.pe=new A.f(4294970688) +B.pf=new A.f(4294970689) +B.pg=new A.f(4294970690) +B.ph=new A.f(4294970691) +B.pi=new A.f(4294970692) +B.pj=new A.f(4294970693) +B.pk=new A.f(4294970694) +B.pl=new A.f(4294970695) +B.pm=new A.f(4294970696) +B.pn=new A.f(4294970697) +B.po=new A.f(4294970698) +B.pp=new A.f(4294970699) +B.pq=new A.f(4294970700) +B.pr=new A.f(4294970701) +B.ps=new A.f(4294970702) +B.pt=new A.f(4294970703) +B.pu=new A.f(4294970704) +B.pv=new A.f(4294970705) +B.pw=new A.f(4294970706) +B.px=new A.f(4294970707) +B.py=new A.f(4294970708) +B.pz=new A.f(4294970709) +B.pA=new A.f(4294970710) +B.pB=new A.f(4294970711) +B.pC=new A.f(4294970712) +B.pD=new A.f(4294970713) +B.pE=new A.f(4294970714) +B.pF=new A.f(4294970715) +B.pG=new A.f(4294970882) +B.pH=new A.f(4294970884) +B.pI=new A.f(4294970885) +B.pJ=new A.f(4294970886) +B.pK=new A.f(4294970887) +B.pL=new A.f(4294970888) +B.pM=new A.f(4294970889) +B.pN=new A.f(4294971137) +B.pO=new A.f(4294971138) +B.pP=new A.f(4294971393) +B.pQ=new A.f(4294971394) +B.pR=new A.f(4294971395) +B.pS=new A.f(4294971396) +B.pT=new A.f(4294971397) +B.pU=new A.f(4294971398) +B.pV=new A.f(4294971399) +B.pW=new A.f(4294971400) +B.pX=new A.f(4294971401) +B.pY=new A.f(4294971402) +B.pZ=new A.f(4294971403) +B.q_=new A.f(4294971649) +B.q0=new A.f(4294971650) +B.q1=new A.f(4294971651) +B.q2=new A.f(4294971652) +B.q3=new A.f(4294971653) +B.q4=new A.f(4294971654) +B.q5=new A.f(4294971655) +B.q6=new A.f(4294971656) +B.q7=new A.f(4294971657) +B.q8=new A.f(4294971658) +B.q9=new A.f(4294971659) +B.qa=new A.f(4294971660) +B.qb=new A.f(4294971661) +B.qc=new A.f(4294971662) +B.qd=new A.f(4294971663) +B.qe=new A.f(4294971664) +B.qf=new A.f(4294971665) +B.qg=new A.f(4294971666) +B.qh=new A.f(4294971667) +B.qi=new A.f(4294971668) +B.qj=new A.f(4294971669) +B.qk=new A.f(4294971670) +B.ql=new A.f(4294971671) +B.qm=new A.f(4294971672) +B.qn=new A.f(4294971673) +B.qo=new A.f(4294971674) +B.qp=new A.f(4294971675) +B.qq=new A.f(4294971905) +B.qr=new A.f(4294971906) +B.FQ=new A.f(8589934592) +B.FR=new A.f(8589934593) +B.FS=new A.f(8589934594) +B.FT=new A.f(8589934595) +B.FU=new A.f(8589934608) +B.FV=new A.f(8589934609) +B.FW=new A.f(8589934610) +B.FX=new A.f(8589934611) +B.FY=new A.f(8589934612) +B.FZ=new A.f(8589934624) +B.G_=new A.f(8589934625) +B.G0=new A.f(8589934626) +B.G1=new A.f(8589935144) +B.G2=new A.f(8589935145) +B.G3=new A.f(8589935148) +B.G4=new A.f(8589935165) +B.G5=new A.f(8589935361) +B.G6=new A.f(8589935362) +B.G7=new A.f(8589935363) +B.G8=new A.f(8589935364) +B.G9=new A.f(8589935365) +B.Ga=new A.f(8589935366) +B.Gb=new A.f(8589935367) +B.Gc=new A.f(8589935368) +B.Gd=new A.f(8589935369) +B.Ge=new A.f(8589935370) +B.Gf=new A.f(8589935371) +B.Gg=new A.f(8589935372) +B.Gh=new A.f(8589935373) +B.Gi=new A.f(8589935374) +B.Gj=new A.f(8589935375) +B.Gk=new A.f(8589935376) +B.Gl=new A.f(8589935377) +B.Gm=new A.f(8589935378) +B.Gn=new A.f(8589935379) +B.Go=new A.f(8589935380) +B.Gp=new A.f(8589935381) +B.Gq=new A.f(8589935382) +B.Gr=new A.f(8589935383) +B.Gs=new A.f(8589935384) +B.Gt=new A.f(8589935385) +B.Gu=new A.f(8589935386) +B.Gv=new A.f(8589935387) +B.Gw=new A.f(8589935388) +B.Gx=new A.f(8589935389) +B.Gy=new A.f(8589935390) +B.Gz=new A.f(8589935391) +B.Hd=new A.d8([32,B.lZ,33,B.Fz,34,B.FA,35,B.FB,36,B.FC,37,B.FD,38,B.FE,39,B.FF,40,B.FG,41,B.FH,42,B.m_,43,B.qs,44,B.FI,45,B.qt,46,B.qu,47,B.qv,48,B.qw,49,B.qx,50,B.qy,51,B.qz,52,B.qA,53,B.qB,54,B.qC,55,B.qD,56,B.qE,57,B.qF,58,B.FJ,59,B.FK,60,B.FL,61,B.FM,62,B.FN,63,B.FO,64,B.FP,91,B.GA,92,B.GB,93,B.GC,94,B.GD,95,B.GE,96,B.GF,97,B.iA,98,B.qK,99,B.iB,100,B.Fg,101,B.lU,102,B.lV,103,B.Fh,104,B.Fi,105,B.Fj,106,B.Fk,107,B.Fl,108,B.Fm,109,B.Fn,110,B.lW,111,B.Fo,112,B.lX,113,B.Fp,114,B.Fq,115,B.Fr,116,B.lY,117,B.Fs,118,B.io,119,B.Ft,120,B.ip,121,B.Fu,122,B.dq,123,B.Fv,124,B.Fw,125,B.Fx,126,B.Fy,4294967297,B.m0,4294967304,B.am,4294967305,B.eZ,4294967309,B.f_,4294967323,B.dr,4294967423,B.af,4294967553,B.m1,4294967555,B.f0,4294967556,B.ds,4294967558,B.iq,4294967559,B.m2,4294967560,B.m3,4294967562,B.f1,4294967564,B.f2,4294967566,B.m4,4294967567,B.m5,4294967568,B.m6,4294967569,B.m7,4294968065,B.b_,4294968066,B.aU,4294968067,B.aV,4294968068,B.b0,4294968069,B.bV,4294968070,B.bW,4294968071,B.dt,4294968072,B.du,4294968321,B.ir,4294968322,B.m8,4294968323,B.m9,4294968324,B.ma,4294968325,B.mb,4294968326,B.mc,4294968327,B.is,4294968328,B.md,4294968329,B.me,4294968330,B.mf,4294968577,B.mg,4294968578,B.mh,4294968579,B.mi,4294968580,B.mj,4294968581,B.mk,4294968582,B.ml,4294968583,B.mm,4294968584,B.mn,4294968585,B.mo,4294968586,B.mp,4294968587,B.mq,4294968588,B.mr,4294968589,B.ms,4294968590,B.mt,4294968833,B.mu,4294968834,B.mv,4294968835,B.mw,4294968836,B.mx,4294968837,B.my,4294968838,B.mz,4294968839,B.mA,4294968840,B.mB,4294968841,B.mC,4294968842,B.mD,4294968843,B.mE,4294969089,B.mF,4294969090,B.mG,4294969091,B.mH,4294969092,B.mI,4294969093,B.mJ,4294969094,B.mK,4294969095,B.mL,4294969096,B.mM,4294969097,B.mN,4294969098,B.mO,4294969099,B.mP,4294969100,B.mQ,4294969101,B.mR,4294969102,B.mS,4294969103,B.mT,4294969104,B.mU,4294969105,B.mV,4294969106,B.mW,4294969107,B.mX,4294969108,B.mY,4294969109,B.mZ,4294969110,B.n_,4294969111,B.n0,4294969112,B.n1,4294969113,B.n2,4294969114,B.n3,4294969115,B.n4,4294969116,B.n5,4294969117,B.n6,4294969345,B.n7,4294969346,B.n8,4294969347,B.n9,4294969348,B.na,4294969349,B.nb,4294969350,B.nc,4294969351,B.nd,4294969352,B.ne,4294969353,B.nf,4294969354,B.ng,4294969355,B.nh,4294969356,B.ni,4294969357,B.nj,4294969358,B.nk,4294969359,B.nl,4294969360,B.nm,4294969361,B.nn,4294969362,B.no,4294969363,B.np,4294969364,B.nq,4294969365,B.nr,4294969366,B.ns,4294969367,B.nt,4294969368,B.nu,4294969601,B.nv,4294969602,B.nw,4294969603,B.nx,4294969604,B.ny,4294969605,B.nz,4294969606,B.nA,4294969607,B.nB,4294969608,B.nC,4294969857,B.nD,4294969858,B.nE,4294969859,B.nF,4294969860,B.nG,4294969861,B.nH,4294969863,B.nI,4294969864,B.nJ,4294969865,B.nK,4294969866,B.nL,4294969867,B.nM,4294969868,B.nN,4294969869,B.nO,4294969870,B.nP,4294969871,B.nQ,4294969872,B.nR,4294969873,B.nS,4294970113,B.nT,4294970114,B.nU,4294970115,B.nV,4294970116,B.nW,4294970117,B.nX,4294970118,B.nY,4294970119,B.nZ,4294970120,B.o_,4294970121,B.o0,4294970122,B.o1,4294970123,B.o2,4294970124,B.o3,4294970125,B.o4,4294970126,B.o5,4294970127,B.o6,4294970369,B.o7,4294970370,B.o8,4294970371,B.o9,4294970372,B.oa,4294970373,B.ob,4294970374,B.oc,4294970375,B.od,4294970625,B.oe,4294970626,B.of,4294970627,B.og,4294970628,B.oh,4294970629,B.oi,4294970630,B.oj,4294970631,B.ok,4294970632,B.ol,4294970633,B.om,4294970634,B.on,4294970635,B.oo,4294970636,B.op,4294970637,B.oq,4294970638,B.or,4294970639,B.os,4294970640,B.ot,4294970641,B.ou,4294970642,B.ov,4294970643,B.ow,4294970644,B.ox,4294970645,B.oy,4294970646,B.oz,4294970647,B.oA,4294970648,B.oB,4294970649,B.oC,4294970650,B.oD,4294970651,B.oE,4294970652,B.oF,4294970653,B.oG,4294970654,B.oH,4294970655,B.oI,4294970656,B.oJ,4294970657,B.oK,4294970658,B.oL,4294970659,B.oM,4294970660,B.oN,4294970661,B.oO,4294970662,B.oP,4294970663,B.oQ,4294970664,B.oR,4294970665,B.oS,4294970666,B.oT,4294970667,B.oU,4294970668,B.oV,4294970669,B.oW,4294970670,B.oX,4294970671,B.oY,4294970672,B.oZ,4294970673,B.p_,4294970674,B.p0,4294970675,B.p1,4294970676,B.p2,4294970677,B.p3,4294970678,B.p4,4294970679,B.p5,4294970680,B.p6,4294970681,B.p7,4294970682,B.p8,4294970683,B.p9,4294970684,B.pa,4294970685,B.pb,4294970686,B.pc,4294970687,B.pd,4294970688,B.pe,4294970689,B.pf,4294970690,B.pg,4294970691,B.ph,4294970692,B.pi,4294970693,B.pj,4294970694,B.pk,4294970695,B.pl,4294970696,B.pm,4294970697,B.pn,4294970698,B.po,4294970699,B.pp,4294970700,B.pq,4294970701,B.pr,4294970702,B.ps,4294970703,B.pt,4294970704,B.pu,4294970705,B.pv,4294970706,B.pw,4294970707,B.px,4294970708,B.py,4294970709,B.pz,4294970710,B.pA,4294970711,B.pB,4294970712,B.pC,4294970713,B.pD,4294970714,B.pE,4294970715,B.pF,4294970882,B.pG,4294970884,B.pH,4294970885,B.pI,4294970886,B.pJ,4294970887,B.pK,4294970888,B.pL,4294970889,B.pM,4294971137,B.pN,4294971138,B.pO,4294971393,B.pP,4294971394,B.pQ,4294971395,B.pR,4294971396,B.pS,4294971397,B.pT,4294971398,B.pU,4294971399,B.pV,4294971400,B.pW,4294971401,B.pX,4294971402,B.pY,4294971403,B.pZ,4294971649,B.q_,4294971650,B.q0,4294971651,B.q1,4294971652,B.q2,4294971653,B.q3,4294971654,B.q4,4294971655,B.q5,4294971656,B.q6,4294971657,B.q7,4294971658,B.q8,4294971659,B.q9,4294971660,B.qa,4294971661,B.qb,4294971662,B.qc,4294971663,B.qd,4294971664,B.qe,4294971665,B.qf,4294971666,B.qg,4294971667,B.qh,4294971668,B.qi,4294971669,B.qj,4294971670,B.qk,4294971671,B.ql,4294971672,B.qm,4294971673,B.qn,4294971674,B.qo,4294971675,B.qp,4294971905,B.qq,4294971906,B.qr,8589934592,B.FQ,8589934593,B.FR,8589934594,B.FS,8589934595,B.FT,8589934608,B.FU,8589934609,B.FV,8589934610,B.FW,8589934611,B.FX,8589934612,B.FY,8589934624,B.FZ,8589934625,B.G_,8589934626,B.G0,8589934848,B.dv,8589934849,B.f3,8589934850,B.bX,8589934851,B.cq,8589934852,B.dw,8589934853,B.f4,8589934854,B.dx,8589934855,B.f5,8589935088,B.it,8589935090,B.iu,8589935092,B.iv,8589935094,B.iw,8589935117,B.ix,8589935144,B.G1,8589935145,B.G2,8589935146,B.qG,8589935147,B.qH,8589935148,B.G3,8589935149,B.qI,8589935150,B.bY,8589935151,B.qJ,8589935152,B.iy,8589935153,B.dy,8589935154,B.bZ,8589935155,B.dz,8589935156,B.c_,8589935157,B.iz,8589935158,B.c0,8589935159,B.dA,8589935160,B.c1,8589935161,B.dB,8589935165,B.G4,8589935361,B.G5,8589935362,B.G6,8589935363,B.G7,8589935364,B.G8,8589935365,B.G9,8589935366,B.Ga,8589935367,B.Gb,8589935368,B.Gc,8589935369,B.Gd,8589935370,B.Ge,8589935371,B.Gf,8589935372,B.Gg,8589935373,B.Gh,8589935374,B.Gi,8589935375,B.Gj,8589935376,B.Gk,8589935377,B.Gl,8589935378,B.Gm,8589935379,B.Gn,8589935380,B.Go,8589935381,B.Gp,8589935382,B.Gq,8589935383,B.Gr,8589935384,B.Gs,8589935385,B.Gt,8589935386,B.Gu,8589935387,B.Gv,8589935388,B.Gw,8589935389,B.Gx,8589935390,B.Gy,8589935391,B.Gz],A.ao("d8")) +B.HQ={in:0,iw:1,ji:2,jw:3,mo:4,aam:5,adp:6,aue:7,ayx:8,bgm:9,bjd:10,ccq:11,cjr:12,cka:13,cmk:14,coy:15,cqu:16,drh:17,drw:18,gav:19,gfx:20,ggn:21,gti:22,guv:23,hrr:24,ibi:25,ilw:26,jeg:27,kgc:28,kgh:29,koj:30,krm:31,ktr:32,kvs:33,kwq:34,kxe:35,kzj:36,kzt:37,lii:38,lmm:39,meg:40,mst:41,mwj:42,myt:43,nad:44,ncp:45,nnx:46,nts:47,oun:48,pcr:49,pmc:50,pmu:51,ppa:52,ppr:53,pry:54,puz:55,sca:56,skk:57,tdu:58,thc:59,thx:60,tie:61,tkk:62,tlw:63,tmp:64,tne:65,tnf:66,tsf:67,uok:68,xba:69,xia:70,xkh:71,xsj:72,ybd:73,yma:74,ymt:75,yos:76,yuu:77} +B.b1=new A.bs(B.HQ,["id","he","yi","jv","ro","aas","dz","ktz","nun","bcg","drl","rki","mom","cmr","xch","pij","quh","khk","prs","dev","vaj","gvr","nyc","duz","jal","opa","gal","oyb","tdf","kml","kwv","bmf","dtp","gdj","yam","tvd","dtp","dtp","raq","rmx","cir","mry","vaj","mry","xny","kdz","ngv","pij","vaj","adx","huw","phr","bfy","lcq","prt","pub","hle","oyb","dtp","tpo","oyb","ras","twm","weo","tyj","kak","prs","taj","ema","cax","acn","waw","suj","rki","lrr","mtm","zom","yug"],t.li) +B.HT={KeyA:0,KeyB:1,KeyC:2,KeyD:3,KeyE:4,KeyF:5,KeyG:6,KeyH:7,KeyI:8,KeyJ:9,KeyK:10,KeyL:11,KeyM:12,KeyN:13,KeyO:14,KeyP:15,KeyQ:16,KeyR:17,KeyS:18,KeyT:19,KeyU:20,KeyV:21,KeyW:22,KeyX:23,KeyY:24,KeyZ:25,Digit1:26,Digit2:27,Digit3:28,Digit4:29,Digit5:30,Digit6:31,Digit7:32,Digit8:33,Digit9:34,Digit0:35,Minus:36,Equal:37,BracketLeft:38,BracketRight:39,Backslash:40,Semicolon:41,Quote:42,Backquote:43,Comma:44,Period:45,Slash:46} +B.iC=new A.bs(B.HT,["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0","-","=","[","]","\\",";","'","`",",",".","/"],t.li) +B.fB=new A.a2(B.lZ,!1,!1,!1,!1,B.j) +B.fC=new A.a2(B.f_,!1,!1,!1,!1,B.j) +B.Ky=new A.a2(B.ix,!1,!1,!1,!1,B.j) +B.wU=new A.a2(B.dr,!1,!1,!1,!1,B.j) +B.wS=new A.a2(B.eZ,!1,!1,!1,!1,B.j) +B.wT=new A.a2(B.eZ,!1,!0,!1,!1,B.j) +B.fv=new A.a2(B.b0,!1,!1,!1,!1,B.j) +B.fw=new A.a2(B.b_,!1,!1,!1,!1,B.j) +B.fz=new A.a2(B.aU,!1,!1,!1,!1,B.j) +B.fA=new A.a2(B.aV,!1,!1,!1,!1,B.j) +B.dZ=new A.a2(B.du,!1,!1,!1,!1,B.j) +B.dY=new A.a2(B.dt,!1,!1,!1,!1,B.j) +B.ze=new A.jY() +B.kd=new A.pE() +B.yA=new A.iy() +B.z3=new A.nZ() +B.zc=new A.oe() +B.fp=new A.K9(0,"line") +B.Jz=new A.eB(B.O,B.fp) +B.JB=new A.eB(B.L,B.fp) +B.Jy=new A.eB(B.aY,B.fp) +B.JA=new A.eB(B.bI,B.fp) +B.w6=new A.eB(B.O,B.j5) +B.He=new A.d8([B.fB,B.ze,B.fC,B.kd,B.Ky,B.kd,B.wU,B.yA,B.wS,B.z3,B.wT,B.zc,B.fv,B.Jz,B.fw,B.JB,B.fz,B.Jy,B.fA,B.JA,B.dZ,B.w6,B.dY,B.j6],t.Fp) +B.HN={alias:0,allScroll:1,basic:2,cell:3,click:4,contextMenu:5,copy:6,forbidden:7,grab:8,grabbing:9,help:10,move:11,none:12,noDrop:13,precise:14,progress:15,text:16,resizeColumn:17,resizeDown:18,resizeDownLeft:19,resizeDownRight:20,resizeLeft:21,resizeLeftRight:22,resizeRight:23,resizeRow:24,resizeUp:25,resizeUpDown:26,resizeUpLeft:27,resizeUpRight:28,resizeUpLeftDownRight:29,resizeUpRightDownLeft:30,verticalText:31,wait:32,zoomIn:33,zoomOut:34} +B.Hf=new A.bs(B.HN,["alias","all-scroll","default","cell","pointer","context-menu","copy","not-allowed","grab","grabbing","help","move","none","no-drop","crosshair","progress","text","col-resize","s-resize","sw-resize","se-resize","w-resize","ew-resize","e-resize","row-resize","n-resize","ns-resize","nw-resize","ne-resize","nwse-resize","nesw-resize","vertical-text","wait","zoom-in","zoom-out"],t.li) +B.rc=new A.k(16) +B.rd=new A.k(17) +B.dL=new A.k(18) +B.re=new A.k(19) +B.rf=new A.k(20) +B.rg=new A.k(21) +B.rh=new A.k(22) +B.ri=new A.k(23) +B.rj=new A.k(24) +B.v4=new A.k(65666) +B.v5=new A.k(65667) +B.v6=new A.k(65717) +B.rk=new A.k(392961) +B.rl=new A.k(392962) +B.rm=new A.k(392963) +B.rn=new A.k(392964) +B.ro=new A.k(392965) +B.rp=new A.k(392966) +B.rq=new A.k(392967) +B.rr=new A.k(392968) +B.rs=new A.k(392969) +B.rt=new A.k(392970) +B.ru=new A.k(392971) +B.rv=new A.k(392972) +B.rw=new A.k(392973) +B.rx=new A.k(392974) +B.ry=new A.k(392975) +B.rz=new A.k(392976) +B.rA=new A.k(392977) +B.rB=new A.k(392978) +B.rC=new A.k(392979) +B.rD=new A.k(392980) +B.rE=new A.k(392981) +B.rF=new A.k(392982) +B.rG=new A.k(392983) +B.rH=new A.k(392984) +B.rI=new A.k(392985) +B.rJ=new A.k(392986) +B.rK=new A.k(392987) +B.rL=new A.k(392988) +B.rM=new A.k(392989) +B.rN=new A.k(392990) +B.rO=new A.k(392991) +B.Im=new A.k(458752) +B.In=new A.k(458753) +B.Io=new A.k(458754) +B.Ip=new A.k(458755) +B.rP=new A.k(458756) +B.rQ=new A.k(458757) +B.rR=new A.k(458758) +B.rS=new A.k(458759) +B.rT=new A.k(458760) +B.rU=new A.k(458761) +B.rV=new A.k(458762) +B.rW=new A.k(458763) +B.rX=new A.k(458764) +B.rY=new A.k(458765) +B.rZ=new A.k(458766) +B.t_=new A.k(458767) +B.t0=new A.k(458768) +B.t1=new A.k(458769) +B.t2=new A.k(458770) +B.t3=new A.k(458771) +B.t4=new A.k(458772) +B.t5=new A.k(458773) +B.t6=new A.k(458774) +B.t7=new A.k(458775) +B.t8=new A.k(458776) +B.t9=new A.k(458777) +B.ta=new A.k(458778) +B.tb=new A.k(458779) +B.tc=new A.k(458780) +B.td=new A.k(458781) +B.te=new A.k(458782) +B.tf=new A.k(458783) +B.tg=new A.k(458784) +B.th=new A.k(458785) +B.ti=new A.k(458786) +B.tj=new A.k(458787) +B.tk=new A.k(458788) +B.tl=new A.k(458789) +B.tm=new A.k(458790) +B.tn=new A.k(458791) +B.to=new A.k(458792) +B.iP=new A.k(458793) +B.tp=new A.k(458794) +B.tq=new A.k(458795) +B.tr=new A.k(458796) +B.ts=new A.k(458797) +B.tt=new A.k(458798) +B.tu=new A.k(458799) +B.tv=new A.k(458800) +B.tw=new A.k(458801) +B.tx=new A.k(458803) +B.ty=new A.k(458804) +B.tz=new A.k(458805) +B.tA=new A.k(458806) +B.tB=new A.k(458807) +B.tC=new A.k(458808) +B.c3=new A.k(458809) +B.tD=new A.k(458810) +B.tE=new A.k(458811) +B.tF=new A.k(458812) +B.tG=new A.k(458813) +B.tH=new A.k(458814) +B.tI=new A.k(458815) +B.tJ=new A.k(458816) +B.tK=new A.k(458817) +B.tL=new A.k(458818) +B.tM=new A.k(458819) +B.tN=new A.k(458820) +B.tO=new A.k(458821) +B.tP=new A.k(458822) +B.fd=new A.k(458823) +B.tQ=new A.k(458824) +B.tR=new A.k(458825) +B.tS=new A.k(458826) +B.tT=new A.k(458827) +B.tU=new A.k(458828) +B.tV=new A.k(458829) +B.tW=new A.k(458830) +B.tX=new A.k(458831) +B.tY=new A.k(458832) +B.tZ=new A.k(458833) +B.u_=new A.k(458834) +B.fe=new A.k(458835) +B.u0=new A.k(458836) +B.u1=new A.k(458837) +B.u2=new A.k(458838) +B.u3=new A.k(458839) +B.u4=new A.k(458840) +B.u5=new A.k(458841) +B.u6=new A.k(458842) +B.u7=new A.k(458843) +B.u8=new A.k(458844) +B.u9=new A.k(458845) +B.ua=new A.k(458846) +B.ub=new A.k(458847) +B.uc=new A.k(458848) +B.ud=new A.k(458849) +B.ue=new A.k(458850) +B.uf=new A.k(458851) +B.ug=new A.k(458852) +B.uh=new A.k(458853) +B.ui=new A.k(458854) +B.uj=new A.k(458855) +B.uk=new A.k(458856) +B.ul=new A.k(458857) +B.um=new A.k(458858) +B.un=new A.k(458859) +B.uo=new A.k(458860) +B.up=new A.k(458861) +B.uq=new A.k(458862) +B.ur=new A.k(458863) +B.us=new A.k(458864) +B.ut=new A.k(458865) +B.uu=new A.k(458866) +B.uv=new A.k(458867) +B.uw=new A.k(458868) +B.ux=new A.k(458869) +B.uy=new A.k(458871) +B.uz=new A.k(458873) +B.uA=new A.k(458874) +B.uB=new A.k(458875) +B.uC=new A.k(458876) +B.uD=new A.k(458877) +B.uE=new A.k(458878) +B.uF=new A.k(458879) +B.uG=new A.k(458880) +B.uH=new A.k(458881) +B.uI=new A.k(458885) +B.uJ=new A.k(458887) +B.uK=new A.k(458888) +B.uL=new A.k(458889) +B.uM=new A.k(458890) +B.uN=new A.k(458891) +B.uO=new A.k(458896) +B.uP=new A.k(458897) +B.uQ=new A.k(458898) +B.uR=new A.k(458899) +B.uS=new A.k(458900) +B.uT=new A.k(458907) +B.uU=new A.k(458915) +B.uV=new A.k(458934) +B.uW=new A.k(458935) +B.uX=new A.k(458939) +B.uY=new A.k(458960) +B.uZ=new A.k(458961) +B.v_=new A.k(458962) +B.v0=new A.k(458963) +B.v1=new A.k(458964) +B.Iq=new A.k(458967) +B.v2=new A.k(458968) +B.v3=new A.k(458969) +B.cy=new A.k(458976) +B.cz=new A.k(458977) +B.cA=new A.k(458978) +B.cB=new A.k(458979) +B.dM=new A.k(458980) +B.dN=new A.k(458981) +B.cC=new A.k(458982) +B.dO=new A.k(458983) +B.Ir=new A.k(786528) +B.Is=new A.k(786529) +B.v7=new A.k(786543) +B.v8=new A.k(786544) +B.It=new A.k(786546) +B.Iu=new A.k(786547) +B.Iv=new A.k(786548) +B.Iw=new A.k(786549) +B.Ix=new A.k(786553) +B.Iy=new A.k(786554) +B.Iz=new A.k(786563) +B.IA=new A.k(786572) +B.IB=new A.k(786573) +B.IC=new A.k(786580) +B.ID=new A.k(786588) +B.IE=new A.k(786589) +B.v9=new A.k(786608) +B.va=new A.k(786609) +B.vb=new A.k(786610) +B.vc=new A.k(786611) +B.vd=new A.k(786612) +B.ve=new A.k(786613) +B.vf=new A.k(786614) +B.vg=new A.k(786615) +B.vh=new A.k(786616) +B.vi=new A.k(786637) +B.IF=new A.k(786639) +B.IG=new A.k(786661) +B.vj=new A.k(786819) +B.IH=new A.k(786820) +B.II=new A.k(786822) +B.vk=new A.k(786826) +B.IJ=new A.k(786829) +B.IK=new A.k(786830) +B.vl=new A.k(786834) +B.vm=new A.k(786836) +B.IL=new A.k(786838) +B.IM=new A.k(786844) +B.IN=new A.k(786846) +B.vn=new A.k(786847) +B.vo=new A.k(786850) +B.IO=new A.k(786855) +B.IP=new A.k(786859) +B.IQ=new A.k(786862) +B.vp=new A.k(786865) +B.IR=new A.k(786871) +B.vq=new A.k(786891) +B.IS=new A.k(786945) +B.IT=new A.k(786947) +B.IU=new A.k(786951) +B.IV=new A.k(786952) +B.vr=new A.k(786977) +B.vs=new A.k(786979) +B.vt=new A.k(786980) +B.vu=new A.k(786981) +B.vv=new A.k(786982) +B.vw=new A.k(786983) +B.vx=new A.k(786986) +B.IW=new A.k(786989) +B.IX=new A.k(786990) +B.vy=new A.k(786994) +B.IY=new A.k(787065) +B.vz=new A.k(787081) +B.vA=new A.k(787083) +B.vB=new A.k(787084) +B.vC=new A.k(787101) +B.vD=new A.k(787103) +B.Hg=new A.d8([16,B.rc,17,B.rd,18,B.dL,19,B.re,20,B.rf,21,B.rg,22,B.rh,23,B.ri,24,B.rj,65666,B.v4,65667,B.v5,65717,B.v6,392961,B.rk,392962,B.rl,392963,B.rm,392964,B.rn,392965,B.ro,392966,B.rp,392967,B.rq,392968,B.rr,392969,B.rs,392970,B.rt,392971,B.ru,392972,B.rv,392973,B.rw,392974,B.rx,392975,B.ry,392976,B.rz,392977,B.rA,392978,B.rB,392979,B.rC,392980,B.rD,392981,B.rE,392982,B.rF,392983,B.rG,392984,B.rH,392985,B.rI,392986,B.rJ,392987,B.rK,392988,B.rL,392989,B.rM,392990,B.rN,392991,B.rO,458752,B.Im,458753,B.In,458754,B.Io,458755,B.Ip,458756,B.rP,458757,B.rQ,458758,B.rR,458759,B.rS,458760,B.rT,458761,B.rU,458762,B.rV,458763,B.rW,458764,B.rX,458765,B.rY,458766,B.rZ,458767,B.t_,458768,B.t0,458769,B.t1,458770,B.t2,458771,B.t3,458772,B.t4,458773,B.t5,458774,B.t6,458775,B.t7,458776,B.t8,458777,B.t9,458778,B.ta,458779,B.tb,458780,B.tc,458781,B.td,458782,B.te,458783,B.tf,458784,B.tg,458785,B.th,458786,B.ti,458787,B.tj,458788,B.tk,458789,B.tl,458790,B.tm,458791,B.tn,458792,B.to,458793,B.iP,458794,B.tp,458795,B.tq,458796,B.tr,458797,B.ts,458798,B.tt,458799,B.tu,458800,B.tv,458801,B.tw,458803,B.tx,458804,B.ty,458805,B.tz,458806,B.tA,458807,B.tB,458808,B.tC,458809,B.c3,458810,B.tD,458811,B.tE,458812,B.tF,458813,B.tG,458814,B.tH,458815,B.tI,458816,B.tJ,458817,B.tK,458818,B.tL,458819,B.tM,458820,B.tN,458821,B.tO,458822,B.tP,458823,B.fd,458824,B.tQ,458825,B.tR,458826,B.tS,458827,B.tT,458828,B.tU,458829,B.tV,458830,B.tW,458831,B.tX,458832,B.tY,458833,B.tZ,458834,B.u_,458835,B.fe,458836,B.u0,458837,B.u1,458838,B.u2,458839,B.u3,458840,B.u4,458841,B.u5,458842,B.u6,458843,B.u7,458844,B.u8,458845,B.u9,458846,B.ua,458847,B.ub,458848,B.uc,458849,B.ud,458850,B.ue,458851,B.uf,458852,B.ug,458853,B.uh,458854,B.ui,458855,B.uj,458856,B.uk,458857,B.ul,458858,B.um,458859,B.un,458860,B.uo,458861,B.up,458862,B.uq,458863,B.ur,458864,B.us,458865,B.ut,458866,B.uu,458867,B.uv,458868,B.uw,458869,B.ux,458871,B.uy,458873,B.uz,458874,B.uA,458875,B.uB,458876,B.uC,458877,B.uD,458878,B.uE,458879,B.uF,458880,B.uG,458881,B.uH,458885,B.uI,458887,B.uJ,458888,B.uK,458889,B.uL,458890,B.uM,458891,B.uN,458896,B.uO,458897,B.uP,458898,B.uQ,458899,B.uR,458900,B.uS,458907,B.uT,458915,B.uU,458934,B.uV,458935,B.uW,458939,B.uX,458960,B.uY,458961,B.uZ,458962,B.v_,458963,B.v0,458964,B.v1,458967,B.Iq,458968,B.v2,458969,B.v3,458976,B.cy,458977,B.cz,458978,B.cA,458979,B.cB,458980,B.dM,458981,B.dN,458982,B.cC,458983,B.dO,786528,B.Ir,786529,B.Is,786543,B.v7,786544,B.v8,786546,B.It,786547,B.Iu,786548,B.Iv,786549,B.Iw,786553,B.Ix,786554,B.Iy,786563,B.Iz,786572,B.IA,786573,B.IB,786580,B.IC,786588,B.ID,786589,B.IE,786608,B.v9,786609,B.va,786610,B.vb,786611,B.vc,786612,B.vd,786613,B.ve,786614,B.vf,786615,B.vg,786616,B.vh,786637,B.vi,786639,B.IF,786661,B.IG,786819,B.vj,786820,B.IH,786822,B.II,786826,B.vk,786829,B.IJ,786830,B.IK,786834,B.vl,786836,B.vm,786838,B.IL,786844,B.IM,786846,B.IN,786847,B.vn,786850,B.vo,786855,B.IO,786859,B.IP,786862,B.IQ,786865,B.vp,786871,B.IR,786891,B.vq,786945,B.IS,786947,B.IT,786951,B.IU,786952,B.IV,786977,B.vr,786979,B.vs,786980,B.vt,786981,B.vu,786982,B.vv,786983,B.vw,786986,B.vx,786989,B.IW,786990,B.IX,786994,B.vy,787065,B.IY,787081,B.vz,787083,B.vA,787084,B.vB,787101,B.vC,787103,B.vD],A.ao("d8")) +B.jm=new A.a2(B.b_,!1,!1,!0,!1,B.j) +B.jj=new A.a2(B.aU,!1,!1,!0,!1,B.j) +B.jk=new A.a2(B.aV,!1,!1,!0,!1,B.j) +B.jl=new A.a2(B.b0,!1,!1,!0,!1,B.j) +B.wG=new A.a2(B.b_,!1,!1,!1,!0,B.j) +B.wD=new A.a2(B.aU,!1,!1,!1,!0,B.j) +B.wE=new A.a2(B.aV,!1,!1,!1,!0,B.j) +B.wF=new A.a2(B.b0,!1,!1,!1,!0,B.j) +B.wz=new A.a2(B.aU,!0,!1,!1,!1,B.j) +B.wA=new A.a2(B.aV,!0,!1,!1,!1,B.j) +B.wB=new A.a2(B.aU,!0,!0,!1,!1,B.j) +B.wC=new A.a2(B.aV,!0,!0,!1,!1,B.j) +B.qO=new A.d8([B.jm,B.k,B.jj,B.k,B.jk,B.k,B.jl,B.k,B.wG,B.k,B.wD,B.k,B.wE,B.k,B.wF,B.k,B.fw,B.k,B.fz,B.k,B.fA,B.k,B.fv,B.k,B.wz,B.k,B.wA,B.k,B.wB,B.k,B.wC,B.k,B.fB,B.k,B.fC,B.k],t.Fp) +B.HX={"123":0,"3dml":1,"3ds":2,"3g2":3,"3gp":4,"7z":5,aab:6,aac:7,aam:8,aas:9,abw:10,ac:11,acc:12,ace:13,acu:14,acutc:15,adp:16,aep:17,afm:18,afp:19,ahead:20,ai:21,aif:22,aifc:23,aiff:24,air:25,ait:26,ami:27,apk:28,appcache:29,application:30,apr:31,arc:32,asc:33,asf:34,asm:35,aso:36,asx:37,atc:38,atom:39,atomcat:40,atomsvc:41,atx:42,au:43,avi:44,avif:45,aw:46,azf:47,azs:48,azw:49,bat:50,bcpio:51,bdf:52,bdm:53,bed:54,bh2:55,bin:56,blb:57,blorb:58,bmi:59,bmp:60,book:61,box:62,boz:63,bpk:64,btif:65,bz:66,bz2:67,c:68,c11amc:69,c11amz:70,c4d:71,c4f:72,c4g:73,c4p:74,c4u:75,cab:76,caf:77,cap:78,car:79,cat:80,cb7:81,cba:82,cbr:83,cbt:84,cbz:85,cc:86,cct:87,ccxml:88,cdbcmsg:89,cdf:90,cdkey:91,cdmia:92,cdmic:93,cdmid:94,cdmio:95,cdmiq:96,cdx:97,cdxml:98,cdy:99,cer:100,cfs:101,cgm:102,chat:103,chm:104,chrt:105,cif:106,cii:107,cil:108,cla:109,class:110,clkk:111,clkp:112,clkt:113,clkw:114,clkx:115,clp:116,cmc:117,cmdf:118,cml:119,cmp:120,cmx:121,cod:122,com:123,conf:124,cpio:125,cpp:126,cpt:127,crd:128,crl:129,crt:130,cryptonote:131,csh:132,csml:133,csp:134,css:135,cst:136,csv:137,cu:138,curl:139,cww:140,cxt:141,cxx:142,dae:143,daf:144,dart:145,dataless:146,davmount:147,dbk:148,dcm:149,dcr:150,dcurl:151,dd2:152,ddd:153,deb:154,def:155,deploy:156,der:157,dfac:158,dgc:159,dic:160,dir:161,dis:162,dist:163,distz:164,djv:165,djvu:166,dll:167,dmg:168,dmp:169,dms:170,dna:171,doc:172,docm:173,docx:174,dot:175,dotm:176,dotx:177,dp:178,dpg:179,dra:180,dsc:181,dssc:182,dtb:183,dtd:184,dts:185,dtshd:186,dump:187,dvb:188,dvi:189,dwf:190,dwg:191,dxf:192,dxp:193,dxr:194,ecelp4800:195,ecelp7470:196,ecelp9600:197,ecma:198,edm:199,edx:200,efif:201,ei6:202,elc:203,emf:204,eml:205,emma:206,emz:207,eol:208,eot:209,eps:210,epub:211,es3:212,esa:213,esf:214,et3:215,etx:216,eva:217,evy:218,exe:219,exi:220,ext:221,ez:222,ez2:223,ez3:224,f:225,f4v:226,f77:227,f90:228,fbs:229,fcdt:230,fcs:231,fdf:232,fe_launch:233,fg5:234,fgd:235,fh:236,fh4:237,fh5:238,fh7:239,fhc:240,fig:241,flac:242,fli:243,flo:244,flv:245,flw:246,flx:247,fly:248,fm:249,fnc:250,for:251,fpx:252,frame:253,fsc:254,fst:255,ftc:256,fti:257,fvt:258,fxp:259,fxpl:260,fzs:261,g2w:262,g3:263,g3w:264,gac:265,gam:266,gbr:267,gca:268,gdl:269,geo:270,gex:271,ggb:272,ggt:273,ghf:274,gif:275,gim:276,glb:277,gltf:278,gml:279,gmx:280,gnumeric:281,gph:282,gpx:283,gqf:284,gqs:285,gram:286,gramps:287,gre:288,grv:289,grxml:290,gsf:291,gtar:292,gtm:293,gtw:294,gv:295,gxf:296,gxt:297,h:298,h261:299,h263:300,h264:301,hal:302,hbci:303,hdf:304,heic:305,heif:306,hh:307,hlp:308,hpgl:309,hpid:310,hps:311,hqx:312,htke:313,htm:314,html:315,hvd:316,hvp:317,hvs:318,i2g:319,icc:320,ice:321,icm:322,ico:323,ics:324,ief:325,ifb:326,ifm:327,iges:328,igl:329,igm:330,igs:331,igx:332,iif:333,imp:334,ims:335,in:336,ink:337,inkml:338,install:339,iota:340,ipfix:341,ipk:342,irm:343,irp:344,iso:345,itp:346,ivp:347,ivu:348,jad:349,jam:350,jar:351,java:352,jisp:353,jlt:354,jnlp:355,joda:356,jpe:357,jpeg:358,jpg:359,jpgm:360,jpgv:361,jpm:362,js:363,json:364,jsonml:365,kar:366,karbon:367,kfo:368,kia:369,kml:370,kmz:371,kne:372,knp:373,kon:374,kpr:375,kpt:376,kpxx:377,ksp:378,ktr:379,ktx:380,ktz:381,kwd:382,kwt:383,lasxml:384,latex:385,lbd:386,lbe:387,les:388,lha:389,link66:390,list:391,list3820:392,listafp:393,lnk:394,log:395,lostxml:396,lrf:397,lrm:398,ltf:399,lvp:400,lwp:401,lzh:402,m13:403,m14:404,m1v:405,m21:406,m2a:407,m2v:408,m3a:409,m3u:410,m3u8:411,m4a:412,m4b:413,m4u:414,m4v:415,ma:416,mads:417,mag:418,maker:419,man:420,mar:421,mathml:422,mb:423,mbk:424,mbox:425,mc1:426,mcd:427,mcurl:428,md:429,markdown:430,mdb:431,mdi:432,me:433,mesh:434,meta4:435,metalink:436,mets:437,mfm:438,mft:439,mgp:440,mgz:441,mid:442,midi:443,mie:444,mif:445,mime:446,mj2:447,mjp2:448,mjs:449,mk3d:450,mka:451,mks:452,mkv:453,mlp:454,mmd:455,mmf:456,mmr:457,mng:458,mny:459,mobi:460,mods:461,mov:462,movie:463,mp2:464,mp21:465,mp2a:466,mp3:467,mp4:468,mp4a:469,mp4s:470,mp4v:471,mpc:472,mpe:473,mpeg:474,mpg:475,mpg4:476,mpga:477,mpkg:478,mpm:479,mpn:480,mpp:481,mpt:482,mpy:483,mqy:484,mrc:485,mrcx:486,ms:487,mscml:488,mseed:489,mseq:490,msf:491,msh:492,msi:493,msl:494,msty:495,mts:496,mus:497,musicxml:498,mvb:499,mwf:500,mxf:501,mxl:502,mxml:503,mxs:504,mxu:505,"n-gage":506,n3:507,nb:508,nbp:509,nc:510,ncx:511,nfo:512,ngdat:513,nitf:514,nlu:515,nml:516,nnd:517,nns:518,nnw:519,npx:520,nsc:521,nsf:522,ntf:523,nzb:524,oa2:525,oa3:526,oas:527,obd:528,obj:529,oda:530,odb:531,odc:532,odf:533,odft:534,odg:535,odi:536,odm:537,odp:538,ods:539,odt:540,oga:541,ogg:542,ogv:543,ogx:544,omdoc:545,onepkg:546,onetmp:547,onetoc:548,onetoc2:549,opf:550,opml:551,oprc:552,org:553,osf:554,osfpvg:555,otc:556,otf:557,otg:558,oth:559,oti:560,otp:561,ots:562,ott:563,oxps:564,oxt:565,p:566,p10:567,p12:568,p7b:569,p7c:570,p7m:571,p7r:572,p7s:573,p8:574,pas:575,paw:576,pbd:577,pbm:578,pcap:579,pcf:580,pcl:581,pclxl:582,pct:583,pcurl:584,pcx:585,pdb:586,pdf:587,pfa:588,pfb:589,pfm:590,pfr:591,pfx:592,pgm:593,pgn:594,pgp:595,pic:596,pkg:597,pki:598,pkipath:599,plb:600,plc:601,plf:602,pls:603,pml:604,png:605,pnm:606,portpkg:607,pot:608,potm:609,potx:610,ppam:611,ppd:612,ppm:613,pps:614,ppsm:615,ppsx:616,ppt:617,pptm:618,pptx:619,pqa:620,prc:621,pre:622,prf:623,ps:624,psb:625,psd:626,psf:627,pskcxml:628,ptid:629,pub:630,pvb:631,pwn:632,pya:633,pyv:634,qam:635,qbo:636,qfx:637,qps:638,qt:639,qwd:640,qwt:641,qxb:642,qxd:643,qxl:644,qxt:645,ra:646,ram:647,rar:648,ras:649,rcprofile:650,rdf:651,rdz:652,rep:653,res:654,rgb:655,rif:656,rip:657,ris:658,rl:659,rlc:660,rld:661,rm:662,rmi:663,rmp:664,rms:665,rmvb:666,rnc:667,roa:668,roff:669,rp9:670,rpss:671,rpst:672,rq:673,rs:674,rsd:675,rss:676,rtf:677,rtx:678,s:679,s3m:680,saf:681,sbml:682,sc:683,scd:684,scm:685,scq:686,scs:687,scurl:688,sda:689,sdc:690,sdd:691,sdkd:692,sdkm:693,sdp:694,sdw:695,see:696,seed:697,sema:698,semd:699,semf:700,ser:701,setpay:702,setreg:703,"sfd-hdstx":704,sfs:705,sfv:706,sgi:707,sgl:708,sgm:709,sgml:710,sh:711,shar:712,shf:713,sid:714,sig:715,sil:716,silo:717,sis:718,sisx:719,sit:720,sitx:721,skd:722,skm:723,skp:724,skt:725,sldm:726,sldx:727,slt:728,sm:729,smf:730,smi:731,smil:732,smv:733,smzip:734,snd:735,snf:736,so:737,spc:738,spf:739,spl:740,spot:741,spp:742,spq:743,spx:744,sql:745,src:746,srt:747,sru:748,srx:749,ssdl:750,sse:751,ssf:752,ssml:753,st:754,stc:755,std:756,stf:757,sti:758,stk:759,stl:760,str:761,stw:762,sub:763,sus:764,susp:765,sv4cpio:766,sv4crc:767,svc:768,svd:769,svg:770,svgz:771,swa:772,swf:773,swi:774,sxc:775,sxd:776,sxg:777,sxi:778,sxm:779,sxw:780,t:781,t3:782,taglet:783,tao:784,tar:785,tcap:786,tcl:787,teacher:788,tei:789,teicorpus:790,tex:791,texi:792,texinfo:793,text:794,tfi:795,tfm:796,tga:797,thmx:798,tif:799,tiff:800,tmo:801,toml:802,torrent:803,tpl:804,tpt:805,tr:806,tra:807,trm:808,tsd:809,tsv:810,ttc:811,ttf:812,ttl:813,twd:814,twds:815,txd:816,txf:817,txt:818,u32:819,udeb:820,ufd:821,ufdl:822,ulx:823,umj:824,unityweb:825,uoml:826,uri:827,uris:828,urls:829,ustar:830,utz:831,uu:832,uva:833,uvd:834,uvf:835,uvg:836,uvh:837,uvi:838,uvm:839,uvp:840,uvs:841,uvt:842,uvu:843,uvv:844,uvva:845,uvvd:846,uvvf:847,uvvg:848,uvvh:849,uvvi:850,uvvm:851,uvvp:852,uvvs:853,uvvt:854,uvvu:855,uvvv:856,uvvx:857,uvvz:858,uvx:859,uvz:860,vcard:861,vcd:862,vcf:863,vcg:864,vcs:865,vcx:866,vis:867,viv:868,vob:869,vor:870,vox:871,vrml:872,vsd:873,vsf:874,vss:875,vst:876,vsw:877,vtu:878,vxml:879,w3d:880,wad:881,wasm:882,wav:883,wax:884,wbmp:885,wbs:886,wbxml:887,wcm:888,wdb:889,wdp:890,weba:891,webm:892,webmanifest:893,webp:894,wg:895,wgt:896,wks:897,wm:898,wma:899,wmd:900,wmf:901,wml:902,wmlc:903,wmls:904,wmlsc:905,wmv:906,wmx:907,wmz:908,woff:909,woff2:910,wpd:911,wpl:912,wps:913,wqd:914,wri:915,wrl:916,wsdl:917,wspolicy:918,wtb:919,wvx:920,x32:921,x3d:922,x3db:923,x3dbz:924,x3dv:925,x3dvz:926,x3dz:927,xaml:928,xap:929,xar:930,xbap:931,xbd:932,xbm:933,xdf:934,xdm:935,xdp:936,xdssc:937,xdw:938,xenc:939,xer:940,xfdf:941,xfdl:942,xht:943,xhtml:944,xhvml:945,xif:946,xla:947,xlam:948,xlc:949,xlf:950,xlm:951,xls:952,xlsb:953,xlsm:954,xlsx:955,xlt:956,xltm:957,xltx:958,xlw:959,xm:960,xml:961,xo:962,xop:963,xpi:964,xpl:965,xpm:966,xpr:967,xps:968,xpw:969,xpx:970,xsl:971,xslt:972,xsm:973,xspf:974,xul:975,xvm:976,xvml:977,xwd:978,xyz:979,xz:980,yang:981,yin:982,z1:983,z2:984,z3:985,z4:986,z5:987,z6:988,z7:989,z8:990,zaz:991,zip:992,zir:993,zirz:994,zmm:995} +B.f6=new A.bs(B.HX,["application/vnd.lotus-1-2-3","text/vnd.in3d.3dml","image/x-3ds","video/3gpp2","video/3gpp","application/x-7z-compressed","application/x-authorware-bin","audio/aac","application/x-authorware-map","application/x-authorware-seg","application/x-abiword","application/pkix-attr-cert","application/vnd.americandynamics.acc","application/x-ace-compressed","application/vnd.acucobol","application/vnd.acucorp","audio/adpcm","application/vnd.audiograph","application/x-font-type1","application/vnd.ibm.modcap","application/vnd.ahead.space","application/postscript","audio/x-aiff","audio/x-aiff","audio/x-aiff","application/vnd.adobe.air-application-installer-package+zip","application/vnd.dvb.ait","application/vnd.amiga.ami","application/vnd.android.package-archive","text/cache-manifest","application/x-ms-application","application/vnd.lotus-approach","application/x-freearc","application/pgp-signature","video/x-ms-asf","text/x-asm","application/vnd.accpac.simply.aso","video/x-ms-asf","application/vnd.acucorp","application/atom+xml","application/atomcat+xml","application/atomsvc+xml","application/vnd.antix.game-component","audio/basic","video/x-msvideo","image/avif","application/applixware","application/vnd.airzip.filesecure.azf","application/vnd.airzip.filesecure.azs","application/vnd.amazon.ebook","application/x-msdownload","application/x-bcpio","application/x-font-bdf","application/vnd.syncml.dm+wbxml","application/vnd.realvnc.bed","application/vnd.fujitsu.oasysprs","application/octet-stream","application/x-blorb","application/x-blorb","application/vnd.bmi","image/bmp","application/vnd.framemaker","application/vnd.previewsystems.box","application/x-bzip2","application/octet-stream","image/prs.btif","application/x-bzip","application/x-bzip2","text/x-c","application/vnd.cluetrust.cartomobile-config","application/vnd.cluetrust.cartomobile-config-pkg","application/vnd.clonk.c4group","application/vnd.clonk.c4group","application/vnd.clonk.c4group","application/vnd.clonk.c4group","application/vnd.clonk.c4group","application/vnd.ms-cab-compressed","audio/x-caf","application/vnd.tcpdump.pcap","application/vnd.curl.car","application/vnd.ms-pki.seccat","application/x-cbr","application/x-cbr","application/x-cbr","application/x-cbr","application/x-cbr","text/x-c","application/x-director","application/ccxml+xml","application/vnd.contact.cmsg","application/x-netcdf","application/vnd.mediastation.cdkey","application/cdmi-capability","application/cdmi-container","application/cdmi-domain","application/cdmi-object","application/cdmi-queue","chemical/x-cdx","application/vnd.chemdraw+xml","application/vnd.cinderella","application/pkix-cert","application/x-cfs-compressed","image/cgm","application/x-chat","application/vnd.ms-htmlhelp","application/vnd.kde.kchart","chemical/x-cif","application/vnd.anser-web-certificate-issue-initiation","application/vnd.ms-artgalry","application/vnd.claymore","application/java-vm","application/vnd.crick.clicker.keyboard","application/vnd.crick.clicker.palette","application/vnd.crick.clicker.template","application/vnd.crick.clicker.wordbank","application/vnd.crick.clicker","application/x-msclip","application/vnd.cosmocaller","chemical/x-cmdf","chemical/x-cml","application/vnd.yellowriver-custom-menu","image/x-cmx","application/vnd.rim.cod","application/x-msdownload","text/plain","application/x-cpio","text/x-c","application/mac-compactpro","application/x-mscardfile","application/pkix-crl","application/x-x509-ca-cert","application/vnd.rig.cryptonote","application/x-csh","chemical/x-csml","application/vnd.commonspace","text/css","application/x-director","text/csv","application/cu-seeme","text/vnd.curl","application/prs.cww","application/x-director","text/x-c","model/vnd.collada+xml","application/vnd.mobius.daf","text/x-dart","application/vnd.fdsn.seed","application/davmount+xml","application/docbook+xml","application/dicom","application/x-director","text/vnd.curl.dcurl","application/vnd.oma.dd2+xml","application/vnd.fujixerox.ddd","application/x-debian-package","text/plain","application/octet-stream","application/x-x509-ca-cert","application/vnd.dreamfactory","application/x-dgc-compressed","text/x-c","application/x-director","application/vnd.mobius.dis","application/octet-stream","application/octet-stream","image/vnd.djvu","image/vnd.djvu","application/x-msdownload","application/x-apple-diskimage","application/vnd.tcpdump.pcap","application/octet-stream","application/vnd.dna","application/msword","application/vnd.ms-word.document.macroenabled.12","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/msword","application/vnd.ms-word.template.macroenabled.12","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.osgi.dp","application/vnd.dpgraph","audio/vnd.dra","text/prs.lines.tag","application/dssc+der","application/x-dtbook+xml","application/xml-dtd","audio/vnd.dts","audio/vnd.dts.hd","application/octet-stream","video/vnd.dvb.file","application/x-dvi","model/vnd.dwf","image/vnd.dwg","image/vnd.dxf","application/vnd.spotfire.dxp","application/x-director","audio/vnd.nuera.ecelp4800","audio/vnd.nuera.ecelp7470","audio/vnd.nuera.ecelp9600","application/ecmascript","application/vnd.novadigm.edm","application/vnd.novadigm.edx","application/vnd.picsel","application/vnd.pg.osasli","application/octet-stream","application/x-msmetafile","message/rfc822","application/emma+xml","application/x-msmetafile","audio/vnd.digital-winds","application/vnd.ms-fontobject","application/postscript","application/epub+zip","application/vnd.eszigno3+xml","application/vnd.osgi.subsystem","application/vnd.epson.esf","application/vnd.eszigno3+xml","text/x-setext","application/x-eva","application/x-envoy","application/x-msdownload","application/exi","application/vnd.novadigm.ext","application/andrew-inset","application/vnd.ezpix-album","application/vnd.ezpix-package","text/x-fortran","video/x-f4v","text/x-fortran","text/x-fortran","image/vnd.fastbidsheet","application/vnd.adobe.formscentral.fcdt","application/vnd.isac.fcs","application/vnd.fdf","application/vnd.denovo.fcselayout-link","application/vnd.fujitsu.oasysgp","application/x-director","image/x-freehand","image/x-freehand","image/x-freehand","image/x-freehand","image/x-freehand","application/x-xfig","audio/x-flac","video/x-fli","application/vnd.micrografx.flo","video/x-flv","application/vnd.kde.kivio","text/vnd.fmi.flexstor","text/vnd.fly","application/vnd.framemaker","application/vnd.frogans.fnc","text/x-fortran","image/vnd.fpx","application/vnd.framemaker","application/vnd.fsc.weblaunch","image/vnd.fst","application/vnd.fluxtime.clip","application/vnd.anser-web-funds-transfer-initiation","video/vnd.fvt","application/vnd.adobe.fxp","application/vnd.adobe.fxp","application/vnd.fuzzysheet","application/vnd.geoplan","image/g3fax","application/vnd.geospace","application/vnd.groove-account","application/x-tads","application/rpki-ghostbusters","application/x-gca-compressed","model/vnd.gdl","application/vnd.dynageo","application/vnd.geometry-explorer","application/vnd.geogebra.file","application/vnd.geogebra.tool","application/vnd.groove-help","image/gif","application/vnd.groove-identity-message","model/gltf-binary","model/gltf+json","application/gml+xml","application/vnd.gmx","application/x-gnumeric","application/vnd.flographit","application/gpx+xml","application/vnd.grafeq","application/vnd.grafeq","application/srgs","application/x-gramps-xml","application/vnd.geometry-explorer","application/vnd.groove-injector","application/srgs+xml","application/x-font-ghostscript","application/x-gtar","application/vnd.groove-tool-message","model/vnd.gtw","text/vnd.graphviz","application/gxf","application/vnd.geonext","text/x-c","video/h261","video/h263","video/h264","application/vnd.hal+xml","application/vnd.hbci","application/x-hdf","image/heic","image/heif","text/x-c","application/winhlp","application/vnd.hp-hpgl","application/vnd.hp-hpid","application/vnd.hp-hps","application/mac-binhex40","application/vnd.kenameaapp","text/html","text/html","application/vnd.yamaha.hv-dic","application/vnd.yamaha.hv-voice","application/vnd.yamaha.hv-script","application/vnd.intergeo","application/vnd.iccprofile","x-conference/x-cooltalk","application/vnd.iccprofile","image/x-icon","text/calendar","image/ief","text/calendar","application/vnd.shana.informed.formdata","model/iges","application/vnd.igloader","application/vnd.insors.igm","model/iges","application/vnd.micrografx.igx","application/vnd.shana.informed.interchange","application/vnd.accpac.simply.imp","application/vnd.ms-ims","text/plain","application/inkml+xml","application/inkml+xml","application/x-install-instructions","application/vnd.astraea-software.iota","application/ipfix","application/vnd.shana.informed.package","application/vnd.ibm.rights-management","application/vnd.irepository.package+xml","application/x-iso9660-image","application/vnd.shana.informed.formtemplate","application/vnd.immervision-ivp","application/vnd.immervision-ivu","text/vnd.sun.j2me.app-descriptor","application/vnd.jam","application/java-archive","text/x-java-source","application/vnd.jisp","application/vnd.hp-jlyt","application/x-java-jnlp-file","application/vnd.joost.joda-archive","image/jpeg","image/jpeg","image/jpeg","video/jpm","video/jpeg","video/jpm","text/javascript","application/json","application/jsonml+json","audio/midi","application/vnd.kde.karbon","application/vnd.kde.kformula","application/vnd.kidspiration","application/vnd.google-earth.kml+xml","application/vnd.google-earth.kmz","application/vnd.kinar","application/vnd.kinar","application/vnd.kde.kontour","application/vnd.kde.kpresenter","application/vnd.kde.kpresenter","application/vnd.ds-keypoint","application/vnd.kde.kspread","application/vnd.kahootz","image/ktx","application/vnd.kahootz","application/vnd.kde.kword","application/vnd.kde.kword","application/vnd.las.las+xml","application/x-latex","application/vnd.llamagraphics.life-balance.desktop","application/vnd.llamagraphics.life-balance.exchange+xml","application/vnd.hhe.lesson-player","application/x-lzh-compressed","application/vnd.route66.link66+xml","text/plain","application/vnd.ibm.modcap","application/vnd.ibm.modcap","application/x-ms-shortcut","text/plain","application/lost+xml","application/octet-stream","application/vnd.ms-lrm","application/vnd.frogans.ltf","audio/vnd.lucent.voice","application/vnd.lotus-wordpro","application/x-lzh-compressed","application/x-msmediaview","application/x-msmediaview","video/mpeg","application/mp21","audio/mpeg","video/mpeg","audio/mpeg","audio/x-mpegurl","application/vnd.apple.mpegurl","audio/mp4","audio/mp4","video/vnd.mpegurl","video/x-m4v","application/mathematica","application/mads+xml","application/vnd.ecowin.chart","application/vnd.framemaker","text/troff","application/octet-stream","application/mathml+xml","application/mathematica","application/vnd.mobius.mbk","application/mbox","application/vnd.medcalcdata","application/vnd.mcd","text/vnd.curl.mcurl","text/markdown","text/markdown","application/x-msaccess","image/vnd.ms-modi","text/troff","model/mesh","application/metalink4+xml","application/metalink+xml","application/mets+xml","application/vnd.mfmp","application/rpki-manifest","application/vnd.osgeo.mapguide.package","application/vnd.proteus.magazine","audio/midi","audio/midi","application/x-mie","application/vnd.mif","message/rfc822","video/mj2","video/mj2","text/javascript","video/x-matroska","audio/x-matroska","video/x-matroska","video/x-matroska","application/vnd.dolby.mlp","application/vnd.chipnuts.karaoke-mmd","application/vnd.smaf","image/vnd.fujixerox.edmics-mmr","video/x-mng","application/x-msmoney","application/x-mobipocket-ebook","application/mods+xml","video/quicktime","video/x-sgi-movie","audio/mpeg","application/mp21","audio/mpeg","audio/mpeg","video/mp4","audio/mp4","application/mp4","video/mp4","application/vnd.mophun.certificate","video/mpeg","video/mpeg","video/mpeg","video/mp4","audio/mpeg","application/vnd.apple.installer+xml","application/vnd.blueice.multipass","application/vnd.mophun.application","application/vnd.ms-project","application/vnd.ms-project","application/vnd.ibm.minipay","application/vnd.mobius.mqy","application/marc","application/marcxml+xml","text/troff","application/mediaservercontrol+xml","application/vnd.fdsn.mseed","application/vnd.mseq","application/vnd.epson.msf","model/mesh","application/x-msdownload","application/vnd.mobius.msl","application/vnd.muvee.style","model/vnd.mts","application/vnd.musician","application/vnd.recordare.musicxml+xml","application/x-msmediaview","application/vnd.mfer","application/mxf","application/vnd.recordare.musicxml","application/xv+xml","application/vnd.triscape.mxs","video/vnd.mpegurl","application/vnd.nokia.n-gage.symbian.install","text/n3","application/mathematica","application/vnd.wolfram.player","application/x-netcdf","application/x-dtbncx+xml","text/x-nfo","application/vnd.nokia.n-gage.data","application/vnd.nitf","application/vnd.neurolanguage.nlu","application/vnd.enliven","application/vnd.noblenet-directory","application/vnd.noblenet-sealer","application/vnd.noblenet-web","image/vnd.net-fpx","application/x-conference","application/vnd.lotus-notes","application/vnd.nitf","application/x-nzb","application/vnd.fujitsu.oasys2","application/vnd.fujitsu.oasys3","application/vnd.fujitsu.oasys","application/x-msbinder","application/x-tgif","application/oda","application/vnd.oasis.opendocument.database","application/vnd.oasis.opendocument.chart","application/vnd.oasis.opendocument.formula","application/vnd.oasis.opendocument.formula-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.image","application/vnd.oasis.opendocument.text-master","application/vnd.oasis.opendocument.presentation","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.text","audio/ogg","audio/ogg","video/ogg","application/ogg","application/omdoc+xml","application/onenote","application/onenote","application/onenote","application/onenote","application/oebps-package+xml","text/x-opml","application/vnd.palm","application/vnd.lotus-organizer","application/vnd.yamaha.openscoreformat","application/vnd.yamaha.openscoreformat.osfpvg+xml","application/vnd.oasis.opendocument.chart-template","application/x-font-otf","application/vnd.oasis.opendocument.graphics-template","application/vnd.oasis.opendocument.text-web","application/vnd.oasis.opendocument.image-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.text-template","application/oxps","application/vnd.openofficeorg.extension","text/x-pascal","application/pkcs10","application/x-pkcs12","application/x-pkcs7-certificates","application/pkcs7-mime","application/pkcs7-mime","application/x-pkcs7-certreqresp","application/pkcs7-signature","application/pkcs8","text/x-pascal","application/vnd.pawaafile","application/vnd.powerbuilder6","image/x-portable-bitmap","application/vnd.tcpdump.pcap","application/x-font-pcf","application/vnd.hp-pcl","application/vnd.hp-pclxl","image/x-pict","application/vnd.curl.pcurl","image/x-pcx","application/vnd.palm","application/pdf","application/x-font-type1","application/x-font-type1","application/x-font-type1","application/font-tdpfr","application/x-pkcs12","image/x-portable-graymap","application/x-chess-pgn","application/pgp-encrypted","image/x-pict","application/octet-stream","application/pkixcmp","application/pkix-pkipath","application/vnd.3gpp.pic-bw-large","application/vnd.mobius.plc","application/vnd.pocketlearn","application/pls+xml","application/vnd.ctc-posml","image/png","image/x-portable-anymap","application/vnd.macports.portpkg","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.ms-powerpoint.addin.macroenabled.12","application/vnd.cups-ppd","image/x-portable-pixmap","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint.slideshow.macroenabled.12","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.palm","application/x-mobipocket-ebook","application/vnd.lotus-freelance","application/pics-rules","application/postscript","application/vnd.3gpp.pic-bw-small","image/vnd.adobe.photoshop","application/x-font-linux-psf","application/pskc+xml","application/vnd.pvi.ptid1","application/x-mspublisher","application/vnd.3gpp.pic-bw-var","application/vnd.3m.post-it-notes","audio/vnd.ms-playready.media.pya","video/vnd.ms-playready.media.pyv","application/vnd.epson.quickanime","application/vnd.intu.qbo","application/vnd.intu.qfx","application/vnd.publishare-delta-tree","video/quicktime","application/vnd.quark.quarkxpress","application/vnd.quark.quarkxpress","application/vnd.quark.quarkxpress","application/vnd.quark.quarkxpress","application/vnd.quark.quarkxpress","application/vnd.quark.quarkxpress","audio/x-pn-realaudio","audio/x-pn-realaudio","application/x-rar-compressed","image/x-cmu-raster","application/vnd.ipunplugged.rcprofile","application/rdf+xml","application/vnd.data-vision.rdz","application/vnd.businessobjects","application/x-dtbresource+xml","image/x-rgb","application/reginfo+xml","audio/vnd.rip","application/x-research-info-systems","application/resource-lists+xml","image/vnd.fujixerox.edmics-rlc","application/resource-lists-diff+xml","application/vnd.rn-realmedia","audio/midi","audio/x-pn-realaudio-plugin","application/vnd.jcp.javame.midlet-rms","application/vnd.rn-realmedia-vbr","application/relax-ng-compact-syntax","application/rpki-roa","text/troff","application/vnd.cloanto.rp9","application/vnd.nokia.radio-presets","application/vnd.nokia.radio-preset","application/sparql-query","application/rls-services+xml","application/rsd+xml","application/rss+xml","application/rtf","text/richtext","text/x-asm","audio/s3m","application/vnd.yamaha.smaf-audio","application/sbml+xml","application/vnd.ibm.secure-container","application/x-msschedule","application/vnd.lotus-screencam","application/scvp-cv-request","application/scvp-cv-response","text/vnd.curl.scurl","application/vnd.stardivision.draw","application/vnd.stardivision.calc","application/vnd.stardivision.impress","application/vnd.solent.sdkm+xml","application/vnd.solent.sdkm+xml","application/sdp","application/vnd.stardivision.writer","application/vnd.seemail","application/vnd.fdsn.seed","application/vnd.sema","application/vnd.semd","application/vnd.semf","application/java-serialized-object","application/set-payment-initiation","application/set-registration-initiation","application/vnd.hydrostatix.sof-data","application/vnd.spotfire.sfs","text/x-sfv","image/sgi","application/vnd.stardivision.writer-global","text/sgml","text/sgml","application/x-sh","application/x-shar","application/shf+xml","image/x-mrsid-image","application/pgp-signature","audio/silk","model/mesh","application/vnd.symbian.install","application/vnd.symbian.install","application/x-stuffit","application/x-stuffitx","application/vnd.koan","application/vnd.koan","application/vnd.koan","application/vnd.koan","application/vnd.ms-powerpoint.slide.macroenabled.12","application/vnd.openxmlformats-officedocument.presentationml.slide","application/vnd.epson.salt","application/vnd.stepmania.stepchart","application/vnd.stardivision.math","application/smil+xml","application/smil+xml","video/x-smv","application/vnd.stepmania.package","audio/basic","application/x-font-snf","application/octet-stream","application/x-pkcs7-certificates","application/vnd.yamaha.smaf-phrase","application/x-futuresplash","text/vnd.in3d.spot","application/scvp-vp-response","application/scvp-vp-request","audio/ogg","application/x-sql","application/x-wais-source","application/x-subrip","application/sru+xml","application/sparql-results+xml","application/ssdl+xml","application/vnd.kodak-descriptor","application/vnd.epson.ssf","application/ssml+xml","application/vnd.sailingtracker.track","application/vnd.sun.xml.calc.template","application/vnd.sun.xml.draw.template","application/vnd.wt.stf","application/vnd.sun.xml.impress.template","application/hyperstudio","application/vnd.ms-pki.stl","application/vnd.pg.format","application/vnd.sun.xml.writer.template","text/vnd.dvb.subtitle","application/vnd.sus-calendar","application/vnd.sus-calendar","application/x-sv4cpio","application/x-sv4crc","application/vnd.dvb.service","application/vnd.svd","image/svg+xml","image/svg+xml","application/x-director","application/x-shockwave-flash","application/vnd.aristanetworks.swi","application/vnd.sun.xml.calc","application/vnd.sun.xml.draw","application/vnd.sun.xml.writer.global","application/vnd.sun.xml.impress","application/vnd.sun.xml.math","application/vnd.sun.xml.writer","text/troff","application/x-t3vm-image","application/vnd.mynfc","application/vnd.tao.intent-module-archive","application/x-tar","application/vnd.3gpp2.tcap","application/x-tcl","application/vnd.smart.teacher","application/tei+xml","application/tei+xml","application/x-tex","application/x-texinfo","application/x-texinfo","text/plain","application/thraud+xml","application/x-tex-tfm","image/x-tga","application/vnd.ms-officetheme","image/tiff","image/tiff","application/vnd.tmobile-livetv","application/toml","application/x-bittorrent","application/vnd.groove-tool-template","application/vnd.trid.tpt","text/troff","application/vnd.trueapp","application/x-msterminal","application/timestamped-data","text/tab-separated-values","application/x-font-ttf","application/x-font-ttf","text/turtle","application/vnd.simtech-mindmapper","application/vnd.simtech-mindmapper","application/vnd.genomatix.tuxedo","application/vnd.mobius.txf","text/plain","application/x-authorware-bin","application/x-debian-package","application/vnd.ufdl","application/vnd.ufdl","application/x-glulx","application/vnd.umajin","application/vnd.unity","application/vnd.uoml+xml","text/uri-list","text/uri-list","text/uri-list","application/x-ustar","application/vnd.uiq.theme","text/x-uuencode","audio/vnd.dece.audio","application/vnd.dece.data","application/vnd.dece.data","image/vnd.dece.graphic","video/vnd.dece.hd","image/vnd.dece.graphic","video/vnd.dece.mobile","video/vnd.dece.pd","video/vnd.dece.sd","application/vnd.dece.ttml+xml","video/vnd.uvvu.mp4","video/vnd.dece.video","audio/vnd.dece.audio","application/vnd.dece.data","application/vnd.dece.data","image/vnd.dece.graphic","video/vnd.dece.hd","image/vnd.dece.graphic","video/vnd.dece.mobile","video/vnd.dece.pd","video/vnd.dece.sd","application/vnd.dece.ttml+xml","video/vnd.uvvu.mp4","video/vnd.dece.video","application/vnd.dece.unspecified","application/vnd.dece.zip","application/vnd.dece.unspecified","application/vnd.dece.zip","text/vcard","application/x-cdlink","text/x-vcard","application/vnd.groove-vcard","text/x-vcalendar","application/vnd.vcx","application/vnd.visionary","video/vnd.vivo","video/x-ms-vob","application/vnd.stardivision.writer","application/x-authorware-bin","model/vrml","application/vnd.visio","application/vnd.vsf","application/vnd.visio","application/vnd.visio","application/vnd.visio","model/vnd.vtu","application/voicexml+xml","application/x-director","application/x-doom","application/wasm","audio/x-wav","audio/x-ms-wax","image/vnd.wap.wbmp","application/vnd.criticaltools.wbs+xml","application/vnd.wap.wbxml","application/vnd.ms-works","application/vnd.ms-works","image/vnd.ms-photo","audio/webm","video/webm","application/manifest+json","image/webp","application/vnd.pmi.widget","application/widget","application/vnd.ms-works","video/x-ms-wm","audio/x-ms-wma","application/x-ms-wmd","application/x-msmetafile","text/vnd.wap.wml","application/vnd.wap.wmlc","text/vnd.wap.wmlscript","application/vnd.wap.wmlscriptc","video/x-ms-wmv","video/x-ms-wmx","application/x-ms-wmz","application/x-font-woff","font/woff2","application/vnd.wordperfect","application/vnd.ms-wpl","application/vnd.ms-works","application/vnd.wqd","application/x-mswrite","model/vrml","application/wsdl+xml","application/wspolicy+xml","application/vnd.webturbo","video/x-ms-wvx","application/x-authorware-bin","model/x3d+xml","model/x3d+binary","model/x3d+binary","model/x3d+vrml","model/x3d+vrml","model/x3d+xml","application/xaml+xml","application/x-silverlight-app","application/vnd.xara","application/x-ms-xbap","application/vnd.fujixerox.docuworks.binder","image/x-xbitmap","application/xcap-diff+xml","application/vnd.syncml.dm+xml","application/vnd.adobe.xdp+xml","application/dssc+xml","application/vnd.fujixerox.docuworks","application/xenc+xml","application/patch-ops-error+xml","application/vnd.adobe.xfdf","application/vnd.xfdl","application/xhtml+xml","application/xhtml+xml","application/xv+xml","image/vnd.xiff","application/vnd.ms-excel","application/vnd.ms-excel.addin.macroenabled.12","application/vnd.ms-excel","application/x-xliff+xml","application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.ms-excel.sheet.binary.macroenabled.12","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel","application/vnd.ms-excel.template.macroenabled.12","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.ms-excel","audio/xm","application/xml","application/vnd.olpc-sugar","application/xop+xml","application/x-xpinstall","application/xproc+xml","image/x-xpixmap","application/vnd.is-xpr","application/vnd.ms-xpsdocument","application/vnd.intercon.formnet","application/vnd.intercon.formnet","application/xml","application/xslt+xml","application/vnd.syncml+xml","application/xspf+xml","application/vnd.mozilla.xul+xml","application/xv+xml","application/xv+xml","image/x-xwindowdump","chemical/x-xyz","application/x-xz","application/yang","application/yin+xml","application/x-zmachine","application/x-zmachine","application/x-zmachine","application/x-zmachine","application/x-zmachine","application/x-zmachine","application/x-zmachine","application/x-zmachine","application/vnd.zzazz.deck+xml","application/zip","application/vnd.zul","application/vnd.zul","application/vnd.handheld-entertainment+xml"],t.li) +B.Hi=new A.bs(B.aB,[],A.ao("bs")) +B.qS=new A.bs(B.aB,[],A.ao("bs")) +B.Hk=new A.bs(B.aB,[],A.ao("bs")) +B.f7=new A.bs(B.aB,[],A.ao("bs")) +B.Hj=new A.bs(B.aB,[],A.ao("bs")) +B.qP=new A.bs(B.aB,[],A.ao("bs>")) +B.iD=new A.bs(B.aB,[],A.ao("bs")) +B.qT=new A.bs(B.aB,[],A.ao("bs")) +B.Hh=new A.bs(B.aB,[],A.ao("bs")) +B.qQ=new A.bs(B.aB,[],A.ao("bs>")) +B.HU={BU:0,DD:1,FX:2,TP:3,YD:4,ZR:5} +B.bd=new A.bs(B.HU,["MM","DE","FR","TL","YE","CD"],t.li) +B.HK={Abort:0,Again:1,AltLeft:2,AltRight:3,ArrowDown:4,ArrowLeft:5,ArrowRight:6,ArrowUp:7,AudioVolumeDown:8,AudioVolumeMute:9,AudioVolumeUp:10,Backquote:11,Backslash:12,Backspace:13,BracketLeft:14,BracketRight:15,BrightnessDown:16,BrightnessUp:17,BrowserBack:18,BrowserFavorites:19,BrowserForward:20,BrowserHome:21,BrowserRefresh:22,BrowserSearch:23,BrowserStop:24,CapsLock:25,Comma:26,ContextMenu:27,ControlLeft:28,ControlRight:29,Convert:30,Copy:31,Cut:32,Delete:33,Digit0:34,Digit1:35,Digit2:36,Digit3:37,Digit4:38,Digit5:39,Digit6:40,Digit7:41,Digit8:42,Digit9:43,DisplayToggleIntExt:44,Eject:45,End:46,Enter:47,Equal:48,Esc:49,Escape:50,F1:51,F10:52,F11:53,F12:54,F13:55,F14:56,F15:57,F16:58,F17:59,F18:60,F19:61,F2:62,F20:63,F21:64,F22:65,F23:66,F24:67,F3:68,F4:69,F5:70,F6:71,F7:72,F8:73,F9:74,Find:75,Fn:76,FnLock:77,GameButton1:78,GameButton10:79,GameButton11:80,GameButton12:81,GameButton13:82,GameButton14:83,GameButton15:84,GameButton16:85,GameButton2:86,GameButton3:87,GameButton4:88,GameButton5:89,GameButton6:90,GameButton7:91,GameButton8:92,GameButton9:93,GameButtonA:94,GameButtonB:95,GameButtonC:96,GameButtonLeft1:97,GameButtonLeft2:98,GameButtonMode:99,GameButtonRight1:100,GameButtonRight2:101,GameButtonSelect:102,GameButtonStart:103,GameButtonThumbLeft:104,GameButtonThumbRight:105,GameButtonX:106,GameButtonY:107,GameButtonZ:108,Help:109,Home:110,Hyper:111,Insert:112,IntlBackslash:113,IntlRo:114,IntlYen:115,KanaMode:116,KeyA:117,KeyB:118,KeyC:119,KeyD:120,KeyE:121,KeyF:122,KeyG:123,KeyH:124,KeyI:125,KeyJ:126,KeyK:127,KeyL:128,KeyM:129,KeyN:130,KeyO:131,KeyP:132,KeyQ:133,KeyR:134,KeyS:135,KeyT:136,KeyU:137,KeyV:138,KeyW:139,KeyX:140,KeyY:141,KeyZ:142,KeyboardLayoutSelect:143,Lang1:144,Lang2:145,Lang3:146,Lang4:147,Lang5:148,LaunchApp1:149,LaunchApp2:150,LaunchAssistant:151,LaunchControlPanel:152,LaunchMail:153,LaunchScreenSaver:154,MailForward:155,MailReply:156,MailSend:157,MediaFastForward:158,MediaPause:159,MediaPlay:160,MediaPlayPause:161,MediaRecord:162,MediaRewind:163,MediaSelect:164,MediaStop:165,MediaTrackNext:166,MediaTrackPrevious:167,MetaLeft:168,MetaRight:169,MicrophoneMuteToggle:170,Minus:171,NonConvert:172,NumLock:173,Numpad0:174,Numpad1:175,Numpad2:176,Numpad3:177,Numpad4:178,Numpad5:179,Numpad6:180,Numpad7:181,Numpad8:182,Numpad9:183,NumpadAdd:184,NumpadBackspace:185,NumpadClear:186,NumpadClearEntry:187,NumpadComma:188,NumpadDecimal:189,NumpadDivide:190,NumpadEnter:191,NumpadEqual:192,NumpadMemoryAdd:193,NumpadMemoryClear:194,NumpadMemoryRecall:195,NumpadMemoryStore:196,NumpadMemorySubtract:197,NumpadMultiply:198,NumpadParenLeft:199,NumpadParenRight:200,NumpadSubtract:201,Open:202,PageDown:203,PageUp:204,Paste:205,Pause:206,Period:207,Power:208,PrintScreen:209,PrivacyScreenToggle:210,Props:211,Quote:212,Resume:213,ScrollLock:214,Select:215,SelectTask:216,Semicolon:217,ShiftLeft:218,ShiftRight:219,ShowAllWindows:220,Slash:221,Sleep:222,Space:223,Super:224,Suspend:225,Tab:226,Turbo:227,Undo:228,WakeUp:229,ZoomToggle:230} +B.Hm=new A.bs(B.HK,[458907,458873,458978,458982,458833,458832,458831,458834,458881,458879,458880,458805,458801,458794,458799,458800,786544,786543,786980,786986,786981,786979,786983,786977,786982,458809,458806,458853,458976,458980,458890,458876,458875,458828,458791,458782,458783,458784,458785,458786,458787,458788,458789,458790,65717,786616,458829,458792,458798,458793,458793,458810,458819,458820,458821,458856,458857,458858,458859,458860,458861,458862,458811,458863,458864,458865,458866,458867,458812,458813,458814,458815,458816,458817,458818,458878,18,19,392961,392970,392971,392972,392973,392974,392975,392976,392962,392963,392964,392965,392966,392967,392968,392969,392977,392978,392979,392980,392981,392982,392983,392984,392985,392986,392987,392988,392989,392990,392991,458869,458826,16,458825,458852,458887,458889,458888,458756,458757,458758,458759,458760,458761,458762,458763,458764,458765,458766,458767,458768,458769,458770,458771,458772,458773,458774,458775,458776,458777,458778,458779,458780,458781,787101,458896,458897,458898,458899,458900,786836,786834,786891,786847,786826,786865,787083,787081,787084,786611,786609,786608,786637,786610,786612,786819,786615,786613,786614,458979,458983,24,458797,458891,458835,458850,458841,458842,458843,458844,458845,458846,458847,458848,458849,458839,458939,458968,458969,458885,458851,458836,458840,458855,458963,458962,458961,458960,458964,458837,458934,458935,458838,458868,458830,458827,458877,458824,458807,458854,458822,23,458915,458804,21,458823,458871,786850,458803,458977,458981,787103,458808,65666,458796,17,20,458795,22,458874,65667,786994],t.eL) +B.r3={AVRInput:0,AVRPower:1,Accel:2,Accept:3,Again:4,AllCandidates:5,Alphanumeric:6,AltGraph:7,AppSwitch:8,ArrowDown:9,ArrowLeft:10,ArrowRight:11,ArrowUp:12,Attn:13,AudioBalanceLeft:14,AudioBalanceRight:15,AudioBassBoostDown:16,AudioBassBoostToggle:17,AudioBassBoostUp:18,AudioFaderFront:19,AudioFaderRear:20,AudioSurroundModeNext:21,AudioTrebleDown:22,AudioTrebleUp:23,AudioVolumeDown:24,AudioVolumeMute:25,AudioVolumeUp:26,Backspace:27,BrightnessDown:28,BrightnessUp:29,BrowserBack:30,BrowserFavorites:31,BrowserForward:32,BrowserHome:33,BrowserRefresh:34,BrowserSearch:35,BrowserStop:36,Call:37,Camera:38,CameraFocus:39,Cancel:40,CapsLock:41,ChannelDown:42,ChannelUp:43,Clear:44,Close:45,ClosedCaptionToggle:46,CodeInput:47,ColorF0Red:48,ColorF1Green:49,ColorF2Yellow:50,ColorF3Blue:51,ColorF4Grey:52,ColorF5Brown:53,Compose:54,ContextMenu:55,Convert:56,Copy:57,CrSel:58,Cut:59,DVR:60,Delete:61,Dimmer:62,DisplaySwap:63,Eisu:64,Eject:65,End:66,EndCall:67,Enter:68,EraseEof:69,Esc:70,Escape:71,ExSel:72,Execute:73,Exit:74,F1:75,F10:76,F11:77,F12:78,F13:79,F14:80,F15:81,F16:82,F17:83,F18:84,F19:85,F2:86,F20:87,F21:88,F22:89,F23:90,F24:91,F3:92,F4:93,F5:94,F6:95,F7:96,F8:97,F9:98,FavoriteClear0:99,FavoriteClear1:100,FavoriteClear2:101,FavoriteClear3:102,FavoriteRecall0:103,FavoriteRecall1:104,FavoriteRecall2:105,FavoriteRecall3:106,FavoriteStore0:107,FavoriteStore1:108,FavoriteStore2:109,FavoriteStore3:110,FinalMode:111,Find:112,Fn:113,FnLock:114,GoBack:115,GoHome:116,GroupFirst:117,GroupLast:118,GroupNext:119,GroupPrevious:120,Guide:121,GuideNextDay:122,GuidePreviousDay:123,HangulMode:124,HanjaMode:125,Hankaku:126,HeadsetHook:127,Help:128,Hibernate:129,Hiragana:130,HiraganaKatakana:131,Home:132,Hyper:133,Info:134,Insert:135,InstantReplay:136,JunjaMode:137,KanaMode:138,KanjiMode:139,Katakana:140,Key11:141,Key12:142,LastNumberRedial:143,LaunchApplication1:144,LaunchApplication2:145,LaunchAssistant:146,LaunchCalendar:147,LaunchContacts:148,LaunchControlPanel:149,LaunchMail:150,LaunchMediaPlayer:151,LaunchMusicPlayer:152,LaunchPhone:153,LaunchScreenSaver:154,LaunchSpreadsheet:155,LaunchWebBrowser:156,LaunchWebCam:157,LaunchWordProcessor:158,Link:159,ListProgram:160,LiveContent:161,Lock:162,LogOff:163,MailForward:164,MailReply:165,MailSend:166,MannerMode:167,MediaApps:168,MediaAudioTrack:169,MediaClose:170,MediaFastForward:171,MediaLast:172,MediaPause:173,MediaPlay:174,MediaPlayPause:175,MediaRecord:176,MediaRewind:177,MediaSkip:178,MediaSkipBackward:179,MediaSkipForward:180,MediaStepBackward:181,MediaStepForward:182,MediaStop:183,MediaTopMenu:184,MediaTrackNext:185,MediaTrackPrevious:186,MicrophoneToggle:187,MicrophoneVolumeDown:188,MicrophoneVolumeMute:189,MicrophoneVolumeUp:190,ModeChange:191,NavigateIn:192,NavigateNext:193,NavigateOut:194,NavigatePrevious:195,New:196,NextCandidate:197,NextFavoriteChannel:198,NextUserProfile:199,NonConvert:200,Notification:201,NumLock:202,OnDemand:203,Open:204,PageDown:205,PageUp:206,Pairing:207,Paste:208,Pause:209,PinPDown:210,PinPMove:211,PinPToggle:212,PinPUp:213,Play:214,PlaySpeedDown:215,PlaySpeedReset:216,PlaySpeedUp:217,Power:218,PowerOff:219,PreviousCandidate:220,Print:221,PrintScreen:222,Process:223,Props:224,RandomToggle:225,RcLowBattery:226,RecordSpeedNext:227,Redo:228,RfBypass:229,Romaji:230,STBInput:231,STBPower:232,Save:233,ScanChannelsToggle:234,ScreenModeNext:235,ScrollLock:236,Select:237,Settings:238,ShiftLevel5:239,SingleCandidate:240,Soft1:241,Soft2:242,Soft3:243,Soft4:244,Soft5:245,Soft6:246,Soft7:247,Soft8:248,SpeechCorrectionList:249,SpeechInputToggle:250,SpellCheck:251,SplitScreenToggle:252,Standby:253,Subtitle:254,Super:255,Symbol:256,SymbolLock:257,TV:258,TV3DMode:259,TVAntennaCable:260,TVAudioDescription:261,TVAudioDescriptionMixDown:262,TVAudioDescriptionMixUp:263,TVContentsMenu:264,TVDataService:265,TVInput:266,TVInputComponent1:267,TVInputComponent2:268,TVInputComposite1:269,TVInputComposite2:270,TVInputHDMI1:271,TVInputHDMI2:272,TVInputHDMI3:273,TVInputHDMI4:274,TVInputVGA1:275,TVMediaContext:276,TVNetwork:277,TVNumberEntry:278,TVPower:279,TVRadioService:280,TVSatellite:281,TVSatelliteBS:282,TVSatelliteCS:283,TVSatelliteToggle:284,TVTerrestrialAnalog:285,TVTerrestrialDigital:286,TVTimer:287,Tab:288,Teletext:289,Undo:290,Unidentified:291,VideoModeNext:292,VoiceDial:293,WakeUp:294,Wink:295,Zenkaku:296,ZenkakuHankaku:297,ZoomIn:298,ZoomOut:299,ZoomToggle:300} +B.Hn=new A.bs(B.r3,[4294970632,4294970633,4294967553,4294968577,4294968578,4294969089,4294969090,4294967555,4294971393,4294968065,4294968066,4294968067,4294968068,4294968579,4294970625,4294970626,4294970627,4294970882,4294970628,4294970629,4294970630,4294970631,4294970884,4294970885,4294969871,4294969873,4294969872,4294967304,4294968833,4294968834,4294970369,4294970370,4294970371,4294970372,4294970373,4294970374,4294970375,4294971394,4294968835,4294971395,4294968580,4294967556,4294970634,4294970635,4294968321,4294969857,4294970642,4294969091,4294970636,4294970637,4294970638,4294970639,4294970640,4294970641,4294969092,4294968581,4294969093,4294968322,4294968323,4294968324,4294970703,4294967423,4294970643,4294970644,4294969108,4294968836,4294968069,4294971396,4294967309,4294968325,4294967323,4294967323,4294968326,4294968582,4294970645,4294969345,4294969354,4294969355,4294969356,4294969357,4294969358,4294969359,4294969360,4294969361,4294969362,4294969363,4294969346,4294969364,4294969365,4294969366,4294969367,4294969368,4294969347,4294969348,4294969349,4294969350,4294969351,4294969352,4294969353,4294970646,4294970647,4294970648,4294970649,4294970650,4294970651,4294970652,4294970653,4294970654,4294970655,4294970656,4294970657,4294969094,4294968583,4294967558,4294967559,4294971397,4294971398,4294969095,4294969096,4294969097,4294969098,4294970658,4294970659,4294970660,4294969105,4294969106,4294969109,4294971399,4294968584,4294968841,4294969110,4294969111,4294968070,4294967560,4294970661,4294968327,4294970662,4294969107,4294969112,4294969113,4294969114,4294971905,4294971906,4294971400,4294970118,4294970113,4294970126,4294970114,4294970124,4294970127,4294970115,4294970116,4294970117,4294970125,4294970119,4294970120,4294970121,4294970122,4294970123,4294970663,4294970664,4294970665,4294970666,4294968837,4294969858,4294969859,4294969860,4294971402,4294970667,4294970704,4294970715,4294970668,4294970669,4294970670,4294970671,4294969861,4294970672,4294970673,4294970674,4294970705,4294970706,4294970707,4294970708,4294969863,4294970709,4294969864,4294969865,4294970886,4294970887,4294970889,4294970888,4294969099,4294970710,4294970711,4294970712,4294970713,4294969866,4294969100,4294970675,4294970676,4294969101,4294971401,4294967562,4294970677,4294969867,4294968071,4294968072,4294970714,4294968328,4294968585,4294970678,4294970679,4294970680,4294970681,4294968586,4294970682,4294970683,4294970684,4294968838,4294968839,4294969102,4294969868,4294968840,4294969103,4294968587,4294970685,4294970686,4294970687,4294968329,4294970688,4294969115,4294970693,4294970694,4294969869,4294970689,4294970690,4294967564,4294968588,4294970691,4294967569,4294969104,4294969601,4294969602,4294969603,4294969604,4294969605,4294969606,4294969607,4294969608,4294971137,4294971138,4294969870,4294970692,4294968842,4294970695,4294967566,4294967567,4294967568,4294970697,4294971649,4294971650,4294971651,4294971652,4294971653,4294971654,4294971655,4294970698,4294971656,4294971657,4294971658,4294971659,4294971660,4294971661,4294971662,4294971663,4294971664,4294971665,4294971666,4294971667,4294970699,4294971668,4294971669,4294971670,4294971671,4294971672,4294971673,4294971674,4294971675,4294967305,4294970696,4294968330,4294967297,4294970700,4294971403,4294968843,4294970701,4294969116,4294969117,4294968589,4294968590,4294970702],t.eL) +B.Ho=new A.bs(B.r3,[B.ol,B.om,B.m1,B.mg,B.mh,B.mF,B.mG,B.f0,B.pP,B.b_,B.aU,B.aV,B.b0,B.mi,B.oe,B.of,B.og,B.pG,B.oh,B.oi,B.oj,B.ok,B.pH,B.pI,B.nQ,B.nS,B.nR,B.am,B.mu,B.mv,B.o7,B.o8,B.o9,B.oa,B.ob,B.oc,B.od,B.pQ,B.mw,B.pR,B.mj,B.ds,B.on,B.oo,B.ir,B.nD,B.ov,B.mH,B.op,B.oq,B.or,B.os,B.ot,B.ou,B.mI,B.mk,B.mJ,B.m8,B.m9,B.ma,B.pt,B.af,B.ow,B.ox,B.mY,B.mx,B.bV,B.pS,B.f_,B.mb,B.dr,B.dr,B.mc,B.ml,B.oy,B.n7,B.ng,B.nh,B.ni,B.nj,B.nk,B.nl,B.nm,B.nn,B.no,B.np,B.n8,B.nq,B.nr,B.ns,B.nt,B.nu,B.n9,B.na,B.nb,B.nc,B.nd,B.ne,B.nf,B.oz,B.oA,B.oB,B.oC,B.oD,B.oE,B.oF,B.oG,B.oH,B.oI,B.oJ,B.oK,B.mK,B.mm,B.iq,B.m2,B.pT,B.pU,B.mL,B.mM,B.mN,B.mO,B.oL,B.oM,B.oN,B.mV,B.mW,B.mZ,B.pV,B.mn,B.mC,B.n_,B.n0,B.bW,B.m3,B.oO,B.is,B.oP,B.mX,B.n1,B.n2,B.n3,B.qq,B.qr,B.pW,B.nY,B.nT,B.o5,B.nU,B.o3,B.o6,B.nV,B.nW,B.nX,B.o4,B.nZ,B.o_,B.o0,B.o1,B.o2,B.oQ,B.oR,B.oS,B.oT,B.my,B.nE,B.nF,B.nG,B.pY,B.oU,B.pu,B.pF,B.oV,B.oW,B.oX,B.oY,B.nH,B.oZ,B.p_,B.p0,B.pv,B.pw,B.px,B.py,B.nI,B.pz,B.nJ,B.nK,B.pJ,B.pK,B.pM,B.pL,B.mP,B.pA,B.pB,B.pC,B.pD,B.nL,B.mQ,B.p1,B.p2,B.mR,B.pX,B.f1,B.p3,B.nM,B.dt,B.du,B.pE,B.md,B.mo,B.p4,B.p5,B.p6,B.p7,B.mp,B.p8,B.p9,B.pa,B.mz,B.mA,B.mS,B.nN,B.mB,B.mT,B.mq,B.pb,B.pc,B.pd,B.me,B.pe,B.n4,B.pj,B.pk,B.nO,B.pf,B.pg,B.f2,B.mr,B.ph,B.m7,B.mU,B.nv,B.nw,B.nx,B.ny,B.nz,B.nA,B.nB,B.nC,B.pN,B.pO,B.nP,B.pi,B.mD,B.pl,B.m4,B.m5,B.m6,B.pn,B.q_,B.q0,B.q1,B.q2,B.q3,B.q4,B.q5,B.po,B.q6,B.q7,B.q8,B.q9,B.qa,B.qb,B.qc,B.qd,B.qe,B.qf,B.qg,B.qh,B.pp,B.qi,B.qj,B.qk,B.ql,B.qm,B.qn,B.qo,B.qp,B.eZ,B.pm,B.mf,B.m0,B.pq,B.pZ,B.mE,B.pr,B.n5,B.n6,B.ms,B.mt,B.ps],A.ao("bs")) +B.L2=new A.a2(B.am,!1,!1,!1,!1,B.j) +B.L3=new A.a2(B.am,!1,!0,!1,!1,B.j) +B.L9=new A.a2(B.af,!1,!1,!1,!1,B.j) +B.La=new A.a2(B.af,!1,!0,!1,!1,B.j) +B.L4=new A.a2(B.am,!1,!0,!0,!1,B.j) +B.L5=new A.a2(B.am,!1,!1,!0,!1,B.j) +B.Lb=new A.a2(B.af,!1,!0,!0,!1,B.j) +B.Lc=new A.a2(B.af,!1,!1,!0,!1,B.j) +B.qU=new A.d8([B.L2,B.k,B.L3,B.k,B.L9,B.k,B.La,B.k,B.L4,B.k,B.L5,B.k,B.Lb,B.k,B.Lc,B.k],t.Fp) +B.HW={type:0} +B.Hp=new A.bs(B.HW,["line"],t.li) +B.HS={Abort:0,Again:1,AltLeft:2,AltRight:3,ArrowDown:4,ArrowLeft:5,ArrowRight:6,ArrowUp:7,AudioVolumeDown:8,AudioVolumeMute:9,AudioVolumeUp:10,Backquote:11,Backslash:12,Backspace:13,BracketLeft:14,BracketRight:15,BrightnessDown:16,BrightnessUp:17,BrowserBack:18,BrowserFavorites:19,BrowserForward:20,BrowserHome:21,BrowserRefresh:22,BrowserSearch:23,BrowserStop:24,CapsLock:25,Comma:26,ContextMenu:27,ControlLeft:28,ControlRight:29,Convert:30,Copy:31,Cut:32,Delete:33,Digit0:34,Digit1:35,Digit2:36,Digit3:37,Digit4:38,Digit5:39,Digit6:40,Digit7:41,Digit8:42,Digit9:43,DisplayToggleIntExt:44,Eject:45,End:46,Enter:47,Equal:48,Escape:49,Esc:50,F1:51,F10:52,F11:53,F12:54,F13:55,F14:56,F15:57,F16:58,F17:59,F18:60,F19:61,F2:62,F20:63,F21:64,F22:65,F23:66,F24:67,F3:68,F4:69,F5:70,F6:71,F7:72,F8:73,F9:74,Find:75,Fn:76,FnLock:77,GameButton1:78,GameButton10:79,GameButton11:80,GameButton12:81,GameButton13:82,GameButton14:83,GameButton15:84,GameButton16:85,GameButton2:86,GameButton3:87,GameButton4:88,GameButton5:89,GameButton6:90,GameButton7:91,GameButton8:92,GameButton9:93,GameButtonA:94,GameButtonB:95,GameButtonC:96,GameButtonLeft1:97,GameButtonLeft2:98,GameButtonMode:99,GameButtonRight1:100,GameButtonRight2:101,GameButtonSelect:102,GameButtonStart:103,GameButtonThumbLeft:104,GameButtonThumbRight:105,GameButtonX:106,GameButtonY:107,GameButtonZ:108,Help:109,Home:110,Hyper:111,Insert:112,IntlBackslash:113,IntlRo:114,IntlYen:115,KanaMode:116,KeyA:117,KeyB:118,KeyC:119,KeyD:120,KeyE:121,KeyF:122,KeyG:123,KeyH:124,KeyI:125,KeyJ:126,KeyK:127,KeyL:128,KeyM:129,KeyN:130,KeyO:131,KeyP:132,KeyQ:133,KeyR:134,KeyS:135,KeyT:136,KeyU:137,KeyV:138,KeyW:139,KeyX:140,KeyY:141,KeyZ:142,KeyboardLayoutSelect:143,Lang1:144,Lang2:145,Lang3:146,Lang4:147,Lang5:148,LaunchApp1:149,LaunchApp2:150,LaunchAssistant:151,LaunchControlPanel:152,LaunchMail:153,LaunchScreenSaver:154,MailForward:155,MailReply:156,MailSend:157,MediaFastForward:158,MediaPause:159,MediaPlay:160,MediaPlayPause:161,MediaRecord:162,MediaRewind:163,MediaSelect:164,MediaStop:165,MediaTrackNext:166,MediaTrackPrevious:167,MetaLeft:168,MetaRight:169,MicrophoneMuteToggle:170,Minus:171,NonConvert:172,NumLock:173,Numpad0:174,Numpad1:175,Numpad2:176,Numpad3:177,Numpad4:178,Numpad5:179,Numpad6:180,Numpad7:181,Numpad8:182,Numpad9:183,NumpadAdd:184,NumpadBackspace:185,NumpadClear:186,NumpadClearEntry:187,NumpadComma:188,NumpadDecimal:189,NumpadDivide:190,NumpadEnter:191,NumpadEqual:192,NumpadMemoryAdd:193,NumpadMemoryClear:194,NumpadMemoryRecall:195,NumpadMemoryStore:196,NumpadMemorySubtract:197,NumpadMultiply:198,NumpadParenLeft:199,NumpadParenRight:200,NumpadSubtract:201,Open:202,PageDown:203,PageUp:204,Paste:205,Pause:206,Period:207,Power:208,PrintScreen:209,PrivacyScreenToggle:210,Props:211,Quote:212,Resume:213,ScrollLock:214,Select:215,SelectTask:216,Semicolon:217,ShiftLeft:218,ShiftRight:219,ShowAllWindows:220,Slash:221,Sleep:222,Space:223,Super:224,Suspend:225,Tab:226,Turbo:227,Undo:228,WakeUp:229,ZoomToggle:230} +B.qW=new A.bs(B.HS,[B.uT,B.uz,B.cA,B.cC,B.tZ,B.tY,B.tX,B.u_,B.uH,B.uF,B.uG,B.tz,B.tw,B.tp,B.tu,B.tv,B.v8,B.v7,B.vt,B.vx,B.vu,B.vs,B.vw,B.vr,B.vv,B.c3,B.tA,B.uh,B.cy,B.dM,B.uM,B.uC,B.uB,B.tU,B.tn,B.te,B.tf,B.tg,B.th,B.ti,B.tj,B.tk,B.tl,B.tm,B.v6,B.vh,B.tV,B.to,B.tt,B.iP,B.iP,B.tD,B.tM,B.tN,B.tO,B.uk,B.ul,B.um,B.un,B.uo,B.up,B.uq,B.tE,B.ur,B.us,B.ut,B.uu,B.uv,B.tF,B.tG,B.tH,B.tI,B.tJ,B.tK,B.tL,B.uE,B.dL,B.re,B.rk,B.rt,B.ru,B.rv,B.rw,B.rx,B.ry,B.rz,B.rl,B.rm,B.rn,B.ro,B.rp,B.rq,B.rr,B.rs,B.rA,B.rB,B.rC,B.rD,B.rE,B.rF,B.rG,B.rH,B.rI,B.rJ,B.rK,B.rL,B.rM,B.rN,B.rO,B.ux,B.tS,B.rc,B.tR,B.ug,B.uJ,B.uL,B.uK,B.rP,B.rQ,B.rR,B.rS,B.rT,B.rU,B.rV,B.rW,B.rX,B.rY,B.rZ,B.t_,B.t0,B.t1,B.t2,B.t3,B.t4,B.t5,B.t6,B.t7,B.t8,B.t9,B.ta,B.tb,B.tc,B.td,B.vC,B.uO,B.uP,B.uQ,B.uR,B.uS,B.vm,B.vl,B.vq,B.vn,B.vk,B.vp,B.vA,B.vz,B.vB,B.vc,B.va,B.v9,B.vi,B.vb,B.vd,B.vj,B.vg,B.ve,B.vf,B.cB,B.dO,B.rj,B.ts,B.uN,B.fe,B.ue,B.u5,B.u6,B.u7,B.u8,B.u9,B.ua,B.ub,B.uc,B.ud,B.u3,B.uX,B.v2,B.v3,B.uI,B.uf,B.u0,B.u4,B.uj,B.v0,B.v_,B.uZ,B.uY,B.v1,B.u1,B.uV,B.uW,B.u2,B.uw,B.tW,B.tT,B.uD,B.tQ,B.tB,B.ui,B.tP,B.ri,B.uU,B.ty,B.rg,B.fd,B.uy,B.vo,B.tx,B.cz,B.dN,B.vD,B.tC,B.v4,B.tr,B.rd,B.rf,B.tq,B.rh,B.uA,B.v5,B.vy],A.ao("bs")) +B.Hq=new A.xc(null,null,null,null,null,null,null,null) +B.Ay=new A.C(4284790262) +B.Au=new A.C(4282557941) +B.Aj=new A.C(4279592384) +B.Ah=new A.C(4279060385) +B.Hl=new A.d8([50,B.l2,100,B.l0,200,B.l_,300,B.Ay,400,B.Au,500,B.kT,600,B.kS,700,B.kR,800,B.Aj,900,B.Ah],A.ao("d8")) +B.dE=new A.HD(B.Hl,4280391411) +B.Hr=new A.nR(0,"padded") +B.Hs=new A.nR(1,"shrinkWrap") +B.cr=new A.nS(0,"canvas") +B.iE=new A.nS(1,"card") +B.qX=new A.nS(2,"circle") +B.f8=new A.nS(3,"button") +B.dF=new A.nS(4,"transparency") +B.Ht=new A.HL(null) +B.Hu=new A.xj(null) +B.Hv=new A.qC(null) +B.Hw=new A.hg("popRoute",null) +B.Hx=new A.dy("plugins.flutter.io/image_picker",B.ai) +B.iF=new A.dy("plugins.flutter.io/shared_preferences",B.ai) +B.dG=new A.dy("flutter_document_scan_sdk",B.ai) +B.Hy=new A.dy("flutter/service_worker",B.ai) +B.Hz=new A.dy("flutter.io/cameraPlugin/device",B.ai) +B.HA=new A.dy("dev.fluttercommunity.plus/share",B.ai) +B.qY=new A.dy("flutter/platform_views",B.ai) +B.HB=new A.dy("plugins.flutter.io/path_provider",B.ai) +B.dH=new A.dy("plugins.flutter.io/camera",B.ai) +B.HC=new A.dy("plugins.flutter.io/url_launcher",B.ai) +B.cw=new A.HW(0,"latestPointer") +B.iK=new A.HW(1,"averageBoundaryPointers") +B.r_=new A.nV(0,"clipRect") +B.r0=new A.nV(1,"clipRRect") +B.r1=new A.nV(2,"clipPath") +B.HD=new A.nV(3,"transform") +B.HE=new A.nV(4,"opacity") +B.HF=new A.HX(null) +B.HG=new A.xv(null,null,null,null,null,null,null,null,null,null,null) +B.HH=new A.xw(null,null,null,null,null,null,null,null,null,null) +B.dI=new A.I3(0,"traditional") +B.fa=new A.I3(1,"directional") +B.HI=new A.lC(!0) +B.HJ=new A.xx(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.h=new A.m(0,0) +B.r4=new A.hW(B.h,B.h) +B.I_=new A.m(1/0,1/0) +B.TZ=new A.m(0,-0.005) +B.I7=new A.m(-0.3333333333333333,0) +B.I8=new A.m(1/0,0) +B.an=new A.jN(0,"iOs") +B.fc=new A.jN(1,"android") +B.iM=new A.jN(2,"linux") +B.r7=new A.jN(3,"windows") +B.b2=new A.jN(4,"macOs") +B.I9=new A.jN(5,"unknown") +B.hn=new A.a11() +B.r8=new A.hX("flutter/textinput",B.hn) +B.iN=new A.hX("flutter/navigation",B.hn) +B.Ia=new A.hX("flutter/mousecursor",B.ai) +B.be=new A.hX("flutter/platform",B.hn) +B.Ib=new A.hX("flutter/keyboard",B.ai) +B.iO=new A.hX("flutter/restoration",B.ai) +B.r9=new A.hX("flutter/menu",B.ai) +B.Ic=new A.hX("flutter/backgesture",B.ai) +B.Id=new A.qJ(0,null) +B.Ie=new A.qJ(1,null) +B.If=new A.Ih(0,"portrait") +B.Ig=new A.Ih(1,"landscape") +B.Ih=new A.xG(null) +B.BK=new A.aJ(0,32,0,0) +B.N1=new A.n(!0,B.i,null,null,null,null,32,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.QZ=new A.cW("DOCUMENT SCANNER",null,B.N1,B.cH,null,null,null) +B.Ii=new A.cf(B.BK,B.QZ,null) +B.ra=new A.qO(null) +B.aN=new A.IJ(0,"fill") +B.Y=new A.IJ(1,"stroke") +B.Ij=new A.lF(1/0) +B.b3=new A.IL(0,"nonZero") +B.dK=new A.IL(1,"evenOdd") +B.aO=new A.o1(0,"created") +B.ao=new A.o1(1,"active") +B.cx=new A.o1(2,"pendingRetention") +B.Ik=new A.o1(3,"pendingUpdate") +B.rb=new A.o1(4,"released") +B.Il=new A.y_(null) +B.vE=new A.a6d(0,"rgba8888") +B.vF=new A.lH(0,"baseline") +B.vG=new A.lH(1,"aboveBaseline") +B.vH=new A.lH(2,"belowBaseline") +B.vI=new A.lH(3,"top") +B.iQ=new A.lH(4,"bottom") +B.vJ=new A.lH(5,"middle") +B.IZ=new A.y0(B.C,B.iQ,null,null) +B.vL=new A.IV(0,"opaque") +B.vM=new A.IV(2,"transparent") +B.vN=new A.jU(0,"cancel") +B.iR=new A.jU(1,"add") +B.J_=new A.jU(2,"remove") +B.c4=new A.jU(3,"hover") +B.J0=new A.jU(4,"down") +B.ff=new A.jU(5,"move") +B.vO=new A.jU(6,"up") +B.dP=new A.iS(0,"touch") +B.cD=new A.iS(1,"mouse") +B.fg=new A.iS(2,"stylus") +B.bx=new A.iS(4,"trackpad") +B.iS=new A.iS(5,"unknown") +B.fh=new A.qS(0,"none") +B.J1=new A.qS(1,"scroll") +B.J2=new A.qS(3,"scale") +B.J3=new A.qS(4,"unknown") +B.bB=new A.n(!0,B.i,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.R2=new A.cW("Delete",null,B.bB,null,null,null,null) +B.J4=new A.oc(0,B.R2,null,t.nE) +B.QV=new A.cW("Share",null,B.bB,null,null,null,null) +B.J5=new A.oc(1,B.QV,null,t.nE) +B.J6=new A.qU(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.N2=new A.n(!0,B.i,null,null,null,null,12,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.QY=new A.cW("Powered by Dynamsoft",null,B.N2,B.cH,null,null,null) +B.vQ=new A.lL(122,null,122,28,null,null,B.QY,null) +B.iT=new A.od(0,"platformDefault") +B.vR=new A.od(1,"inAppWebView") +B.vS=new A.od(2,"inAppBrowserView") +B.J7=new A.od(3,"externalApplication") +B.vT=new A.od(4,"externalNonBrowserApplication") +B.vU=new A.fL(0,"incrementable") +B.iU=new A.fL(1,"scrollable") +B.iV=new A.fL(10,"link") +B.iW=new A.fL(2,"button") +B.vV=new A.fL(3,"textField") +B.iX=new A.fL(4,"checkable") +B.vW=new A.fL(5,"heading") +B.vX=new A.fL(6,"image") +B.fi=new A.fL(7,"dialog") +B.iY=new A.fL(8,"platformView") +B.iZ=new A.fL(9,"generic") +B.J8=new A.qX(null,null,null,null,null) +B.J9=new A.qZ(null,null,null,null,null,null) +B.Ja=new A.aU(8,8) +B.Jb=new A.aU(1.5,1.5) +B.Jc=new A.au(0,0) +B.Jd=new A.au(0,!0) +B.dV=new A.cq(32,"scrollDown") +B.dU=new A.cq(16,"scrollUp") +B.Je=new A.au(B.dV,B.dU) +B.dX=new A.cq(8,"scrollRight") +B.dW=new A.cq(4,"scrollLeft") +B.Jf=new A.au(B.dX,B.dW) +B.Jg=new A.au(!1,!1) +B.Jh=new A.au(!1,null) +B.Ji=new A.au(!1,!0) +B.Jj=new A.au(B.dU,B.dV) +B.Jk=new A.au(B.dW,B.dX) +B.U_=new A.BG(null,null) +B.Jl=new A.au(!0,!1) +B.Jm=new A.au(!0,!0) +B.vY=new A.BK(0,0,1) +B.M=new A.D(0,0,0,0) +B.dR=new A.D(-1e9,-1e9,1e9,1e9) +B.dS=new A.yk(0,"identical") +B.Jn=new A.yk(2,"paint") +B.c5=new A.yk(3,"layout") +B.Jo=new A.a81(5,"max") +B.Jp=new A.d4(B.ah,B.v) +B.fm=new A.aU(2,2) +B.y9=new A.cH(B.fm,B.fm,B.fm,B.fm) +B.vZ=new A.d4(B.y9,B.v) +B.j0=new A.d4(B.h7,B.v) +B.fj=new A.aU(12,12) +B.ya=new A.cH(B.fj,B.fj,B.fj,B.fj) +B.Jq=new A.d4(B.ya,B.v) +B.fk=new A.aU(16,16) +B.yb=new A.cH(B.fk,B.fk,B.fk,B.fk) +B.w_=new A.d4(B.yb,B.v) +B.fl=new A.aU(28,28) +B.yc=new A.cH(B.fl,B.fl,B.fl,B.fl) +B.Jr=new A.d4(B.yc,B.v) +B.w0=new A.a8e(0,"none") +B.fn=new A.rb(0,"pop") +B.cE=new A.rb(1,"doNotPop") +B.w1=new A.rb(2,"bubble") +B.w2=new A.i1(null,null) +B.cc=new A.ac9(1,"down") +B.Cr=new A.hQ(983712,!1) +B.Ct=new A.nA(B.Cr,20,B.i,null,null) +B.PE=new A.n(!0,B.i,null,null,null,null,14,B.cm,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.R3=new A.cW(" License expired! Renew your license ->",null,B.PE,null,null,null,null) +B.EG=A.b(s([B.Ct,B.R3]),t.D) +B.Js=new A.yM(B.aH,B.a8,B.aM,B.V,null,B.cc,null,B.EG,null) +B.Jt=new A.yN(1333) +B.j1=new A.yN(2222) +B.Ju=new A.JW(null,null) +B.cF=new A.on(0,"idle") +B.Jv=new A.on(1,"transientCallbacks") +B.Jw=new A.on(2,"midFrameMicrotasks") +B.j2=new A.on(3,"persistentCallbacks") +B.w3=new A.on(4,"postFrameCallbacks") +B.w4=new A.a8K(0,"englishLike") +B.fo=new A.yW(0,"idle") +B.j3=new A.yW(1,"forward") +B.j4=new A.yW(2,"reverse") +B.JC=new A.oq(0,"explicit") +B.by=new A.oq(1,"keepVisibleAtEnd") +B.bz=new A.oq(2,"keepVisibleAtStart") +B.JD=new A.Kc(0,"manual") +B.JE=new A.Kc(1,"onDrag") +B.w7=new A.ri(0,"left") +B.w8=new A.ri(1,"right") +B.JF=new A.ri(2,"top") +B.w9=new A.ri(3,"bottom") +B.JG=new A.z2(null,null,null,null,null,null,null,null,null,null,null) +B.JH=new A.z3(null,null,null,null,null,null,null,null,null,null,null,null) +B.JI=new A.z4(null,null,null,null,null,null,null,null,null,null) +B.JJ=new A.z5(null,null) +B.JK=new A.ot(0,"startEdgeUpdate") +B.c6=new A.ot(1,"endEdgeUpdate") +B.JM=new A.ot(4,"selectWord") +B.JN=new A.ot(5,"selectParagraph") +B.j7=new A.rj(0,"previousLine") +B.j8=new A.rj(1,"nextLine") +B.fq=new A.rj(2,"forward") +B.fr=new A.rj(3,"backward") +B.bA=new A.z8(2,"none") +B.wb=new A.lU(null,null,B.bA,B.ij,!1) +B.wa=new A.lU(null,null,B.bA,B.ij,!0) +B.u=new A.lV(0,"next") +B.w=new A.lV(1,"previous") +B.x=new A.lV(2,"end") +B.j9=new A.lV(3,"pending") +B.dT=new A.lV(4,"none") +B.ja=new A.z8(0,"uncollapsed") +B.JO=new A.z8(1,"collapsed") +B.JP=new A.cq(1048576,"moveCursorBackwardByWord") +B.wc=new A.cq(128,"decrease") +B.JQ=new A.cq(16384,"paste") +B.fs=new A.cq(1,"tap") +B.JR=new A.cq(2048,"setSelection") +B.JS=new A.cq(2097152,"setText") +B.JT=new A.cq(256,"showOnScreen") +B.JU=new A.cq(262144,"dismiss") +B.wd=new A.cq(2,"longPress") +B.jb=new A.cq(32768,"didGainAccessibilityFocus") +B.JV=new A.cq(4096,"copy") +B.JW=new A.cq(4194304,"focus") +B.JX=new A.cq(512,"moveCursorForwardByCharacter") +B.JY=new A.cq(524288,"moveCursorForwardByWord") +B.we=new A.cq(64,"increase") +B.jc=new A.cq(65536,"didLoseAccessibilityFocus") +B.JZ=new A.cq(8192,"cut") +B.K_=new A.cq(1024,"moveCursorBackwardByCharacter") +B.K0=new A.c3(1024,"isObscured") +B.K1=new A.c3(1048576,"isReadOnly") +B.wf=new A.c3(128,"isEnabled") +B.K2=new A.c3(131072,"isToggled") +B.K3=new A.c3(134217728,"isExpanded") +B.wg=new A.c3(16384,"isImage") +B.K4=new A.c3(16777216,"isKeyboardKey") +B.K5=new A.c3(16,"isTextField") +B.jd=new A.c3(1,"hasCheckedState") +B.wh=new A.c3(2048,"scopesRoute") +B.wi=new A.c3(2097152,"isFocusable") +B.wj=new A.c3(256,"isInMutuallyExclusiveGroup") +B.K6=new A.c3(262144,"hasImplicitScrolling") +B.wk=new A.c3(2,"isChecked") +B.wl=new A.c3(32768,"isLiveRegion") +B.wm=new A.c3(32,"isFocused") +B.K7=new A.c3(33554432,"isCheckStateMixed") +B.wn=new A.c3(4096,"namesRoute") +B.K8=new A.c3(4194304,"isLink") +B.wo=new A.c3(4,"isSelected") +B.wp=new A.c3(512,"isHeader") +B.K9=new A.c3(524288,"isMultiline") +B.wq=new A.c3(64,"hasEnabledState") +B.Ka=new A.c3(65536,"hasToggledState") +B.Kb=new A.c3(67108864,"hasExpandedState") +B.je=new A.c3(8192,"isHidden") +B.Kc=new A.c3(8388608,"isSlider") +B.wr=new A.c3(8,"isButton") +B.ws=new A.ow("RenderViewport.twoPane") +B.Kd=new A.ow("RenderViewport.excludeFromScrolling") +B.N=new A.bP(4,"selected") +B.wt=new A.dx([B.N],t.El) +B.HV={javascript:0} +B.Ke=new A.dW(B.HV,1,t.fF) +B.jf=new A.dx([B.b2,B.iM,B.r7],A.ao("dx")) +B.HP={click:0,keyup:1,keydown:2,mouseup:3,mousedown:4,pointerdown:5,pointerup:6} +B.Kf=new A.dW(B.HP,7,t.fF) +B.HL={click:0,touchstart:1,touchend:2,pointerdown:3,pointermove:4,pointerup:5} +B.Kg=new A.dW(B.HL,6,t.fF) +B.vP=new A.iS(3,"invertedStylus") +B.wu=new A.dx([B.dP,B.fg,B.vP,B.bx,B.iS],t.Lu) +B.Kh=new A.dx([32,8203],t.Ih) +B.HM={serif:0,"sans-serif":1,monospace:2,cursive:3,fantasy:4,"system-ui":5,math:6,emoji:7,fangsong:8} +B.Ki=new A.dW(B.HM,9,t.fF) +B.Kj=new A.dx([B.as,B.at,B.bg],A.ao("dx")) +B.K=new A.bP(0,"hovered") +B.Kk=new A.dx([B.K],t.El) +B.HR={"canvaskit.js":0} +B.Kl=new A.dW(B.HR,1,t.fF) +B.I=new A.bP(2,"pressed") +B.Km=new A.dx([B.I],t.El) +B.R=new A.bP(1,"focused") +B.Kn=new A.dx([B.R],t.El) +B.Kp=new A.dW(B.aB,0,A.ao("dW>")) +B.Ko=new A.dW(B.aB,0,A.ao("dW")) +B.jg=new A.dW(B.aB,0,A.ao("dW")) +B.Kq=new A.dx([10,11,12,13,133,8232,8233],t.Ih) +B.Kr=new A.dx([B.vP,B.fg,B.dP,B.iS,B.bx],t.Lu) +B.HO={mailto:0,tel:1,sms:2} +B.Ks=new A.dW(B.HO,3,t.fF) +B.Kt=new A.zf(0,"success") +B.wv=new A.zf(1,"dismissed") +B.ww=new A.zf(2,"unavailable") +B.Ku=new A.oA(u.a,B.ww) +B.Kv=new A.oA("",B.wv) +B.az=new A.x5(1,"locked") +B.Kw=new A.a2(B.bY,!1,!0,!1,!1,B.az) +B.Kx=new A.a2(B.bY,!0,!0,!1,!1,B.az) +B.fu=new A.a2(B.bV,!1,!1,!1,!1,B.j) +B.ft=new A.a2(B.bW,!1,!1,!1,!1,B.j) +B.wy=new A.a2(B.b_,!1,!0,!1,!1,B.j) +B.jh=new A.a2(B.aU,!1,!0,!1,!1,B.j) +B.ji=new A.a2(B.aV,!1,!0,!1,!1,B.j) +B.wx=new A.a2(B.b0,!1,!0,!1,!1,B.j) +B.fy=new A.a2(B.bV,!1,!0,!1,!1,B.j) +B.fx=new A.a2(B.bW,!1,!0,!1,!1,B.j) +B.jr=new A.a2(B.dt,!1,!0,!1,!1,B.j) +B.KC=new A.a2(B.b_,!1,!0,!1,!0,B.j) +B.wH=new A.a2(B.aU,!1,!0,!1,!0,B.j) +B.wI=new A.a2(B.aV,!1,!0,!1,!0,B.j) +B.KB=new A.a2(B.b0,!1,!0,!1,!0,B.j) +B.wK=new A.a2(B.bV,!0,!1,!1,!1,B.j) +B.wJ=new A.a2(B.bW,!0,!1,!1,!1,B.j) +B.KA=new A.a2(B.b_,!0,!0,!1,!1,B.j) +B.Kz=new A.a2(B.b0,!0,!0,!1,!1,B.j) +B.KE=new A.a2(B.bV,!0,!0,!1,!1,B.j) +B.KD=new A.a2(B.bW,!0,!0,!1,!1,B.j) +B.jq=new A.a2(B.b_,!1,!0,!0,!1,B.j) +B.jn=new A.a2(B.aU,!1,!0,!0,!1,B.j) +B.jo=new A.a2(B.aV,!1,!0,!0,!1,B.j) +B.jp=new A.a2(B.b0,!1,!0,!0,!1,B.j) +B.KF=new A.a2(B.c1,!1,!0,!1,!1,B.az) +B.KH=new A.a2(B.dB,!1,!0,!1,!1,B.az) +B.KG=new A.a2(B.c1,!0,!0,!1,!1,B.az) +B.wO=new A.a2(B.iA,!1,!1,!1,!0,B.j) +B.wQ=new A.a2(B.iB,!1,!1,!1,!0,B.j) +B.wR=new A.a2(B.io,!1,!1,!1,!0,B.j) +B.wP=new A.a2(B.ip,!1,!1,!1,!0,B.j) +B.KI=new A.a2(B.dq,!1,!1,!1,!0,B.j) +B.KJ=new A.a2(B.dq,!1,!0,!1,!0,B.j) +B.js=new A.a2(B.iA,!0,!1,!1,!1,B.j) +B.KM=new A.a2(B.qK,!0,!1,!1,!1,B.j) +B.wM=new A.a2(B.iB,!0,!1,!1,!1,B.j) +B.KK=new A.a2(B.lU,!0,!1,!1,!1,B.j) +B.KL=new A.a2(B.lV,!0,!1,!1,!1,B.j) +B.KN=new A.a2(B.lW,!0,!1,!1,!1,B.j) +B.KO=new A.a2(B.lX,!0,!1,!1,!1,B.j) +B.KR=new A.a2(B.lY,!0,!1,!1,!1,B.j) +B.wN=new A.a2(B.io,!0,!1,!1,!1,B.j) +B.wL=new A.a2(B.ip,!0,!1,!1,!1,B.j) +B.KP=new A.a2(B.dq,!0,!1,!1,!1,B.j) +B.KQ=new A.a2(B.dq,!0,!0,!1,!1,B.j) +B.aA=new A.x5(2,"unlocked") +B.L_=new A.a2(B.dy,!1,!1,!1,!1,B.aA) +B.KU=new A.a2(B.bZ,!1,!1,!1,!1,B.aA) +B.KY=new A.a2(B.dz,!1,!1,!1,!1,B.aA) +B.KT=new A.a2(B.c_,!1,!1,!1,!1,B.aA) +B.KS=new A.a2(B.c0,!1,!1,!1,!1,B.aA) +B.KZ=new A.a2(B.dA,!1,!1,!1,!1,B.aA) +B.KX=new A.a2(B.bZ,!0,!1,!1,!1,B.aA) +B.KW=new A.a2(B.c_,!0,!1,!1,!1,B.aA) +B.KV=new A.a2(B.c0,!0,!1,!1,!1,B.aA) +B.L0=new A.a2(B.bY,!1,!1,!1,!1,B.aA) +B.L1=new A.a2(B.bY,!0,!1,!1,!1,B.aA) +B.L6=new A.a2(B.c1,!1,!1,!1,!1,B.aA) +B.L8=new A.a2(B.dB,!1,!1,!1,!1,B.aA) +B.L7=new A.a2(B.c1,!0,!1,!1,!1,B.aA) +B.jt=new A.a2(B.du,!1,!0,!1,!1,B.j) +B.Ll=new A.a2(B.dy,!1,!0,!1,!1,B.az) +B.Lf=new A.a2(B.bZ,!1,!0,!1,!1,B.az) +B.Lj=new A.a2(B.dz,!1,!0,!1,!1,B.az) +B.Le=new A.a2(B.c_,!1,!0,!1,!1,B.az) +B.Ld=new A.a2(B.c0,!1,!0,!1,!1,B.az) +B.Lk=new A.a2(B.dA,!1,!0,!1,!1,B.az) +B.Li=new A.a2(B.bZ,!0,!0,!1,!1,B.az) +B.Lh=new A.a2(B.c_,!0,!0,!1,!1,B.az) +B.Lg=new A.a2(B.c0,!0,!0,!1,!1,B.az) +B.Ln=new A.K(1e5,1e5) +B.Lo=new A.K(1280,720) +B.Lp=new A.K(1920,1080) +B.wV=new A.K(320,240) +B.Lq=new A.K(4096,2160) +B.wW=new A.K(40,40) +B.Lr=new A.K(48,48) +B.Lt=new A.K(720,480) +B.Lu=new A.K(1/0,46) +B.ju=new A.m0(0,0,null,null) +B.Lv=new A.m0(4,null,null,null) +B.Lw=new A.m0(null,34,null,null) +B.Lx=new A.m0(1/0,1/0,null,null) +B.Ly=new A.zn(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.wX=new A.KC(0,0,0,0,0,0,!1,!1,null,0) +B.Lz=new A.KI(0,"fixed") +B.LA=new A.KI(1,"floating") +B.LB=new A.iZ(1,"dismiss") +B.LC=new A.iZ(2,"swipe") +B.LD=new A.iZ(3,"hide") +B.U1=new A.iZ(4,"remove") +B.wY=new A.iZ(5,"timeout") +B.LE=new A.ru(null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.QR=new A.cW("No document detected. Please edit it manually.",null,null,null,null,null,null) +B.LF=new A.oD(B.QR,null,null,null,null,null,null,null,null,null,null,null,null,B.br,null,null,null,B.Z,null) +B.wZ=new A.zq(0,"permissive") +B.LG=new A.zq(1,"normal") +B.LH=new A.zq(2,"forced") +B.LI=new A.zt(0,"criticallyDamped") +B.LJ=new A.zt(1,"underDamped") +B.LK=new A.zt(2,"overDamped") +B.c7=new A.zv(0,"loose") +B.LL=new A.zv(1,"expand") +B.LM=new A.zv(2,"passthrough") +B.LN=new A.i5("",-1,"","","",-1,-1,"","asynchronous suspension") +B.LO=new A.i5("...",-1,"","","",-1,-1,"","...") +B.fD=new A.KU(0,"butt") +B.x_=new A.KU(2,"square") +B.e_=new A.aav(0,"miter") +B.LQ=new A.c6(0) +B.M0=new A.c6(0) +B.LZ=new A.c6(0) +B.LX=new A.c6(0) +B.LY=new A.c6(0) +B.LW=new A.c6(0) +B.M_=new A.c6(0) +B.LV=new A.c6(0) +B.LS=new A.c6(0) +B.LU=new A.c6(0) +B.LR=new A.c6(0) +B.LT=new A.c6(0) +B.M1=new A.c6(1) +B.M2=new A.c6(10) +B.M3=new A.c6(11) +B.M4=new A.c6(12) +B.M5=new A.c6(13) +B.M6=new A.c6(14) +B.M7=new A.c6(15) +B.M8=new A.c6(16) +B.M9=new A.c6(2) +B.Ma=new A.c6(3) +B.Mb=new A.c6(4) +B.Mc=new A.c6(5) +B.Md=new A.c6(6) +B.Me=new A.c6(7) +B.Mf=new A.c6(8) +B.Mg=new A.c6(9) +B.Mj=new A.zA(null,null,null,null,null,null,null,null,null) +B.Mk=new A.e1("_notificationCallStackDepth=") +B.Ml=new A.e1("_listeners=") +B.Mm=new A.e1("_reentrantlyRemovedListeners=") +B.Mn=new A.e1("_count") +B.Mo=new A.e1("_listeners") +B.Mp=new A.e1("_notificationCallStackDepth") +B.Mq=new A.e1("_reentrantlyRemovedListeners") +B.Mr=new A.e1("_removeAt") +B.Ms=new A.e1("_count=") +B.Mt=new A.j_("text") +B.x0=new A.KW(0,"click") +B.Mu=new A.KW(1,"alert") +B.Mv=new A.j0(B.o,null,B.a7,null,null,B.a7,B.a6,null) +B.Mw=new A.j0(B.o,null,B.a7,null,null,B.a6,B.a7,null) +B.x1=new A.aaI(2,"fill") +B.x2=new A.aaJ(1,"label") +B.Mx=new A.rB(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.My=new A.oH(null) +B.x3=new A.aaQ("tap") +B.l=new A.m4(0,"alphabetic") +B.H=new A.m4(1,"ideographic") +B.Mz=new A.zG(null) +B.jx=new A.rD(3,"none") +B.x4=new A.zH(B.jx) +B.x5=new A.rD(0,"words") +B.x6=new A.rD(1,"sentences") +B.x7=new A.rD(2,"characters") +B.e=new A.zI(0) +B.jy=new A.oJ(0,"character") +B.MC=new A.oJ(1,"word") +B.x8=new A.oJ(2,"paragraph") +B.MD=new A.oJ(3,"line") +B.ME=new A.oJ(4,"document") +B.x9=new A.L6(0,"proportional") +B.t=new A.L6(1,"even") +B.aW=new A.zL(2,"ellipsis") +B.MF=new A.zL(3,"visible") +B.xa=new A.ap(0,B.n) +B.xb=new A.cj(-1,-1) +B.xc=new A.L7(0,"left") +B.xd=new A.L7(1,"right") +B.MG=new A.zO(null,null,null) +B.OU=new A.n(!0,null,null,null,null,null,null,B.cm,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Af=new A.C(3506372608) +B.MB=new A.zI(1) +B.AS=new A.C(4294967040) +B.MA=new A.aaV(1,"double") +B.PP=new A.n(!0,B.Af,null,"monospace",null,null,48,B.lp,null,null,null,null,null,null,null,null,null,B.MB,B.AS,B.MA,null,"fallback style; consider putting your text in a Material",null,null,null,null) +B.Ok=new A.n(!0,B.E,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity displayLarge",null,null,null,null) +B.OL=new A.n(!0,B.E,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity displayMedium",null,null,null,null) +B.Ol=new A.n(!0,B.E,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity displaySmall",null,null,null,null) +B.Qs=new A.n(!0,B.E,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity headlineLarge",null,null,null,null) +B.Pi=new A.n(!0,B.E,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity headlineMedium",null,null,null,null) +B.Nc=new A.n(!0,B.G,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity headlineSmall",null,null,null,null) +B.QA=new A.n(!0,B.G,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity titleLarge",null,null,null,null) +B.Oo=new A.n(!0,B.G,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity titleMedium",null,null,null,null) +B.Ot=new A.n(!0,B.o,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity titleSmall",null,null,null,null) +B.Ps=new A.n(!0,B.G,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity bodyLarge",null,null,null,null) +B.P1=new A.n(!0,B.G,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity bodyMedium",null,null,null,null) +B.Q4=new A.n(!0,B.E,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity bodySmall",null,null,null,null) +B.MH=new A.n(!0,B.G,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity labelLarge",null,null,null,null) +B.Px=new A.n(!0,B.o,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity labelMedium",null,null,null,null) +B.N_=new A.n(!0,B.o,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity labelSmall",null,null,null,null) +B.QB=new A.db(B.Ok,B.OL,B.Ol,B.Qs,B.Pi,B.Nc,B.QA,B.Oo,B.Ot,B.Ps,B.P1,B.Q4,B.MH,B.Px,B.N_) +B.OR=new A.n(!1,null,null,null,null,null,112,B.hZ,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike displayLarge 2014",null,null,null,null) +B.MR=new A.n(!1,null,null,null,null,null,56,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike displayMedium 2014",null,null,null,null) +B.OM=new A.n(!1,null,null,null,null,null,45,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike displaySmall 2014",null,null,null,null) +B.P9=new A.n(!1,null,null,null,null,null,40,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike headlineLarge 2014",null,null,null,null) +B.N7=new A.n(!1,null,null,null,null,null,34,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike headlineMedium 2014",null,null,null,null) +B.On=new A.n(!1,null,null,null,null,null,24,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike headlineSmall 2014",null,null,null,null) +B.OC=new A.n(!1,null,null,null,null,null,20,B.U,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike titleLarge 2014",null,null,null,null) +B.O1=new A.n(!1,null,null,null,null,null,16,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike titleMedium 2014",null,null,null,null) +B.OW=new A.n(!1,null,null,null,null,null,14,B.U,null,0.1,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike titleSmall 2014",null,null,null,null) +B.O7=new A.n(!1,null,null,null,null,null,14,B.U,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike bodyLarge 2014",null,null,null,null) +B.Ou=new A.n(!1,null,null,null,null,null,14,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike bodyMedium 2014",null,null,null,null) +B.Om=new A.n(!1,null,null,null,null,null,12,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike bodySmall 2014",null,null,null,null) +B.OK=new A.n(!1,null,null,null,null,null,14,B.U,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike labelLarge 2014",null,null,null,null) +B.NO=new A.n(!1,null,null,null,null,null,12,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike labelMedium 2014",null,null,null,null) +B.PM=new A.n(!1,null,null,null,null,null,10,B.m,null,1.5,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike labelSmall 2014",null,null,null,null) +B.QC=new A.db(B.OR,B.MR,B.OM,B.P9,B.N7,B.On,B.OC,B.O1,B.OW,B.O7,B.Ou,B.Om,B.OK,B.NO,B.PM) +B.Qw=new A.n(!0,B.E,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond displayLarge",null,null,null,null) +B.Np=new A.n(!0,B.E,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond displayMedium",null,null,null,null) +B.Og=new A.n(!0,B.E,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond displaySmall",null,null,null,null) +B.PU=new A.n(!0,B.E,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond headlineLarge",null,null,null,null) +B.PF=new A.n(!0,B.E,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond headlineMedium",null,null,null,null) +B.Nh=new A.n(!0,B.G,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond headlineSmall",null,null,null,null) +B.PW=new A.n(!0,B.G,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond titleLarge",null,null,null,null) +B.PZ=new A.n(!0,B.G,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond titleMedium",null,null,null,null) +B.Qm=new A.n(!0,B.o,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond titleSmall",null,null,null,null) +B.PY=new A.n(!0,B.G,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond bodyLarge",null,null,null,null) +B.O4=new A.n(!0,B.G,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond bodyMedium",null,null,null,null) +B.MZ=new A.n(!0,B.E,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond bodySmall",null,null,null,null) +B.Qv=new A.n(!0,B.G,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond labelLarge",null,null,null,null) +B.Oi=new A.n(!0,B.o,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond labelMedium",null,null,null,null) +B.PL=new A.n(!0,B.o,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond labelSmall",null,null,null,null) +B.QD=new A.db(B.Qw,B.Np,B.Og,B.PU,B.PF,B.Nh,B.PW,B.PZ,B.Qm,B.PY,B.O4,B.MZ,B.Qv,B.Oi,B.PL) +B.Pq=new A.n(!0,B.F,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity displayLarge",null,null,null,null) +B.Qa=new A.n(!0,B.F,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity displayMedium",null,null,null,null) +B.Pr=new A.n(!0,B.F,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity displaySmall",null,null,null,null) +B.Qf=new A.n(!0,B.F,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity headlineLarge",null,null,null,null) +B.OQ=new A.n(!0,B.F,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity headlineMedium",null,null,null,null) +B.Pc=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity headlineSmall",null,null,null,null) +B.O0=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity titleLarge",null,null,null,null) +B.N9=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity titleMedium",null,null,null,null) +B.NB=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity titleSmall",null,null,null,null) +B.Pn=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity bodyLarge",null,null,null,null) +B.Q8=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity bodyMedium",null,null,null,null) +B.N3=new A.n(!0,B.F,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity bodySmall",null,null,null,null) +B.NC=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity labelLarge",null,null,null,null) +B.NL=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity labelMedium",null,null,null,null) +B.N5=new A.n(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity labelSmall",null,null,null,null) +B.QE=new A.db(B.Pq,B.Qa,B.Pr,B.Qf,B.OQ,B.Pc,B.O0,B.N9,B.NB,B.Pn,B.Q8,B.N3,B.NC,B.NL,B.N5) +B.OT=new A.n(!0,B.F,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView displayLarge",null,null,null,null) +B.Ob=new A.n(!0,B.F,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView displayMedium",null,null,null,null) +B.Qp=new A.n(!0,B.F,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView displaySmall",null,null,null,null) +B.Na=new A.n(!0,B.F,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView headlineLarge",null,null,null,null) +B.Nz=new A.n(!0,B.F,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView headlineMedium",null,null,null,null) +B.Pw=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView headlineSmall",null,null,null,null) +B.Ns=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView titleLarge",null,null,null,null) +B.NI=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView titleMedium",null,null,null,null) +B.OV=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView titleSmall",null,null,null,null) +B.Pu=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView bodyLarge",null,null,null,null) +B.No=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView bodyMedium",null,null,null,null) +B.Nu=new A.n(!0,B.F,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView bodySmall",null,null,null,null) +B.Qg=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView labelLarge",null,null,null,null) +B.Qt=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView labelMedium",null,null,null,null) +B.Q6=new A.n(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView labelSmall",null,null,null,null) +B.QF=new A.db(B.OT,B.Ob,B.Qp,B.Na,B.Nz,B.Pw,B.Ns,B.NI,B.OV,B.Pu,B.No,B.Nu,B.Qg,B.Qt,B.Q6) +B.PO=new A.n(!0,B.E,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino displayLarge",null,null,null,null) +B.PJ=new A.n(!0,B.E,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino displayMedium",null,null,null,null) +B.Qq=new A.n(!0,B.E,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino displaySmall",null,null,null,null) +B.NK=new A.n(!0,B.E,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino headlineLarge",null,null,null,null) +B.PQ=new A.n(!0,B.E,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino headlineMedium",null,null,null,null) +B.MQ=new A.n(!0,B.G,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino headlineSmall",null,null,null,null) +B.Ne=new A.n(!0,B.G,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino titleLarge",null,null,null,null) +B.NA=new A.n(!0,B.G,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino titleMedium",null,null,null,null) +B.Pz=new A.n(!0,B.o,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino titleSmall",null,null,null,null) +B.MM=new A.n(!0,B.G,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino bodyLarge",null,null,null,null) +B.Pm=new A.n(!0,B.G,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino bodyMedium",null,null,null,null) +B.P6=new A.n(!0,B.E,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino bodySmall",null,null,null,null) +B.PS=new A.n(!0,B.G,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino labelLarge",null,null,null,null) +B.Ny=new A.n(!0,B.o,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino labelMedium",null,null,null,null) +B.P3=new A.n(!0,B.o,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino labelSmall",null,null,null,null) +B.QG=new A.db(B.PO,B.PJ,B.Qq,B.NK,B.PQ,B.MQ,B.Ne,B.NA,B.Pz,B.MM,B.Pm,B.P6,B.PS,B.Ny,B.P3) +B.Qi=new A.n(!1,null,null,null,null,null,57,B.m,null,-0.25,null,B.H,1.12,B.t,null,null,null,null,null,null,null,"dense displayLarge 2021",null,null,null,null) +B.MP=new A.n(!1,null,null,null,null,null,45,B.m,null,0,null,B.H,1.16,B.t,null,null,null,null,null,null,null,"dense displayMedium 2021",null,null,null,null) +B.MS=new A.n(!1,null,null,null,null,null,36,B.m,null,0,null,B.H,1.22,B.t,null,null,null,null,null,null,null,"dense displaySmall 2021",null,null,null,null) +B.PK=new A.n(!1,null,null,null,null,null,32,B.m,null,0,null,B.H,1.25,B.t,null,null,null,null,null,null,null,"dense headlineLarge 2021",null,null,null,null) +B.Qz=new A.n(!1,null,null,null,null,null,28,B.m,null,0,null,B.H,1.29,B.t,null,null,null,null,null,null,null,"dense headlineMedium 2021",null,null,null,null) +B.ND=new A.n(!1,null,null,null,null,null,24,B.m,null,0,null,B.H,1.33,B.t,null,null,null,null,null,null,null,"dense headlineSmall 2021",null,null,null,null) +B.NY=new A.n(!1,null,null,null,null,null,22,B.m,null,0,null,B.H,1.27,B.t,null,null,null,null,null,null,null,"dense titleLarge 2021",null,null,null,null) +B.O8=new A.n(!1,null,null,null,null,null,16,B.U,null,0.15,null,B.H,1.5,B.t,null,null,null,null,null,null,null,"dense titleMedium 2021",null,null,null,null) +B.MV=new A.n(!1,null,null,null,null,null,14,B.U,null,0.1,null,B.H,1.43,B.t,null,null,null,null,null,null,null,"dense titleSmall 2021",null,null,null,null) +B.NU=new A.n(!1,null,null,null,null,null,16,B.m,null,0.5,null,B.H,1.5,B.t,null,null,null,null,null,null,null,"dense bodyLarge 2021",null,null,null,null) +B.Q1=new A.n(!1,null,null,null,null,null,14,B.m,null,0.25,null,B.H,1.43,B.t,null,null,null,null,null,null,null,"dense bodyMedium 2021",null,null,null,null) +B.Q2=new A.n(!1,null,null,null,null,null,12,B.m,null,0.4,null,B.H,1.33,B.t,null,null,null,null,null,null,null,"dense bodySmall 2021",null,null,null,null) +B.OZ=new A.n(!1,null,null,null,null,null,14,B.U,null,0.1,null,B.H,1.43,B.t,null,null,null,null,null,null,null,"dense labelLarge 2021",null,null,null,null) +B.Nj=new A.n(!1,null,null,null,null,null,12,B.U,null,0.5,null,B.H,1.33,B.t,null,null,null,null,null,null,null,"dense labelMedium 2021",null,null,null,null) +B.PA=new A.n(!1,null,null,null,null,null,11,B.U,null,0.5,null,B.H,1.45,B.t,null,null,null,null,null,null,null,"dense labelSmall 2021",null,null,null,null) +B.QH=new A.db(B.Qi,B.MP,B.MS,B.PK,B.Qz,B.ND,B.NY,B.O8,B.MV,B.NU,B.Q1,B.Q2,B.OZ,B.Nj,B.PA) +B.J=A.b(s(["Ubuntu","Cantarell","DejaVu Sans","Liberation Sans","Arial"]),t.s) +B.Q3=new A.n(!0,B.F,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki displayLarge",null,null,null,null) +B.PG=new A.n(!0,B.F,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki displayMedium",null,null,null,null) +B.Qx=new A.n(!0,B.F,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki displaySmall",null,null,null,null) +B.Qc=new A.n(!0,B.F,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki headlineLarge",null,null,null,null) +B.OO=new A.n(!0,B.F,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki headlineMedium",null,null,null,null) +B.O5=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki headlineSmall",null,null,null,null) +B.Qu=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki titleLarge",null,null,null,null) +B.Pe=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki titleMedium",null,null,null,null) +B.MU=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki titleSmall",null,null,null,null) +B.Qb=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki bodyLarge",null,null,null,null) +B.O9=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki bodyMedium",null,null,null,null) +B.PX=new A.n(!0,B.F,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki bodySmall",null,null,null,null) +B.OP=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki labelLarge",null,null,null,null) +B.Qd=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki labelMedium",null,null,null,null) +B.MI=new A.n(!0,B.i,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki labelSmall",null,null,null,null) +B.QI=new A.db(B.Q3,B.PG,B.Qx,B.Qc,B.OO,B.O5,B.Qu,B.Pe,B.MU,B.Qb,B.O9,B.PX,B.OP,B.Qd,B.MI) +B.PN=new A.n(!0,B.F,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond displayLarge",null,null,null,null) +B.NG=new A.n(!0,B.F,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond displayMedium",null,null,null,null) +B.Qr=new A.n(!0,B.F,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond displaySmall",null,null,null,null) +B.Py=new A.n(!0,B.F,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond headlineLarge",null,null,null,null) +B.Nl=new A.n(!0,B.F,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond headlineMedium",null,null,null,null) +B.MJ=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond headlineSmall",null,null,null,null) +B.PD=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond titleLarge",null,null,null,null) +B.NM=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond titleMedium",null,null,null,null) +B.PV=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond titleSmall",null,null,null,null) +B.MK=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond bodyLarge",null,null,null,null) +B.Pl=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond bodyMedium",null,null,null,null) +B.P5=new A.n(!0,B.F,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond bodySmall",null,null,null,null) +B.Nf=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond labelLarge",null,null,null,null) +B.Nm=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond labelMedium",null,null,null,null) +B.ML=new A.n(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond labelSmall",null,null,null,null) +B.QJ=new A.db(B.PN,B.NG,B.Qr,B.Py,B.Nl,B.MJ,B.PD,B.NM,B.PV,B.MK,B.Pl,B.P5,B.Nf,B.Nm,B.ML) +B.OE=new A.n(!0,B.E,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView displayLarge",null,null,null,null) +B.Ql=new A.n(!0,B.E,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView displayMedium",null,null,null,null) +B.Nx=new A.n(!0,B.E,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView displaySmall",null,null,null,null) +B.Q9=new A.n(!0,B.E,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView headlineLarge",null,null,null,null) +B.P7=new A.n(!0,B.E,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView headlineMedium",null,null,null,null) +B.NW=new A.n(!0,B.G,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView headlineSmall",null,null,null,null) +B.Pj=new A.n(!0,B.G,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView titleLarge",null,null,null,null) +B.P2=new A.n(!0,B.G,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView titleMedium",null,null,null,null) +B.Oz=new A.n(!0,B.o,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView titleSmall",null,null,null,null) +B.NX=new A.n(!0,B.G,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView bodyLarge",null,null,null,null) +B.NE=new A.n(!0,B.G,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView bodyMedium",null,null,null,null) +B.OA=new A.n(!0,B.E,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView bodySmall",null,null,null,null) +B.Ow=new A.n(!0,B.G,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView labelLarge",null,null,null,null) +B.Od=new A.n(!0,B.o,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView labelMedium",null,null,null,null) +B.O3=new A.n(!0,B.o,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView labelSmall",null,null,null,null) +B.QK=new A.db(B.OE,B.Ql,B.Nx,B.Q9,B.P7,B.NW,B.Pj,B.P2,B.Oz,B.NX,B.NE,B.OA,B.Ow,B.Od,B.O3) +B.P4=new A.n(!1,null,null,null,null,null,112,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall displayLarge 2014",null,null,null,null) +B.Q5=new A.n(!1,null,null,null,null,null,56,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall displayMedium 2014",null,null,null,null) +B.P0=new A.n(!1,null,null,null,null,null,45,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall displaySmall 2014",null,null,null,null) +B.OH=new A.n(!1,null,null,null,null,null,40,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall headlineLarge 2014",null,null,null,null) +B.NF=new A.n(!1,null,null,null,null,null,34,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall headlineMedium 2014",null,null,null,null) +B.OD=new A.n(!1,null,null,null,null,null,24,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall headlineSmall 2014",null,null,null,null) +B.Ov=new A.n(!1,null,null,null,null,null,21,B.cm,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall titleLarge 2014",null,null,null,null) +B.OB=new A.n(!1,null,null,null,null,null,17,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall titleMedium 2014",null,null,null,null) +B.Pa=new A.n(!1,null,null,null,null,null,15,B.U,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall titleSmall 2014",null,null,null,null) +B.Of=new A.n(!1,null,null,null,null,null,15,B.cm,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall bodyLarge 2014",null,null,null,null) +B.Qo=new A.n(!1,null,null,null,null,null,15,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall bodyMedium 2014",null,null,null,null) +B.NN=new A.n(!1,null,null,null,null,null,13,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall bodySmall 2014",null,null,null,null) +B.Oa=new A.n(!1,null,null,null,null,null,15,B.cm,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall labelLarge 2014",null,null,null,null) +B.Ox=new A.n(!1,null,null,null,null,null,12,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall labelMedium 2014",null,null,null,null) +B.Oe=new A.n(!1,null,null,null,null,null,11,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall labelSmall 2014",null,null,null,null) +B.QL=new A.db(B.P4,B.Q5,B.P0,B.OH,B.NF,B.OD,B.Ov,B.OB,B.Pa,B.Of,B.Qo,B.NN,B.Oa,B.Ox,B.Oe) +B.Nr=new A.n(!1,null,null,null,null,null,112,B.hZ,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense displayLarge 2014",null,null,null,null) +B.Q_=new A.n(!1,null,null,null,null,null,56,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense displayMedium 2014",null,null,null,null) +B.Nd=new A.n(!1,null,null,null,null,null,45,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense displaySmall 2014",null,null,null,null) +B.OF=new A.n(!1,null,null,null,null,null,40,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense headlineLarge 2014",null,null,null,null) +B.OJ=new A.n(!1,null,null,null,null,null,34,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense headlineMedium 2014",null,null,null,null) +B.Qe=new A.n(!1,null,null,null,null,null,24,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense headlineSmall 2014",null,null,null,null) +B.MW=new A.n(!1,null,null,null,null,null,21,B.U,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense titleLarge 2014",null,null,null,null) +B.Oy=new A.n(!1,null,null,null,null,null,17,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense titleMedium 2014",null,null,null,null) +B.O_=new A.n(!1,null,null,null,null,null,15,B.U,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense titleSmall 2014",null,null,null,null) +B.OS=new A.n(!1,null,null,null,null,null,15,B.U,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense bodyLarge 2014",null,null,null,null) +B.Oh=new A.n(!1,null,null,null,null,null,15,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense bodyMedium 2014",null,null,null,null) +B.Nq=new A.n(!1,null,null,null,null,null,13,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense bodySmall 2014",null,null,null,null) +B.ON=new A.n(!1,null,null,null,null,null,15,B.U,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense labelLarge 2014",null,null,null,null) +B.MX=new A.n(!1,null,null,null,null,null,12,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense labelMedium 2014",null,null,null,null) +B.OG=new A.n(!1,null,null,null,null,null,11,B.m,null,null,null,B.H,null,null,null,null,null,null,null,null,null,"dense labelSmall 2014",null,null,null,null) +B.QM=new A.db(B.Nr,B.Q_,B.Nd,B.OF,B.OJ,B.Qe,B.MW,B.Oy,B.O_,B.OS,B.Oh,B.Nq,B.ON,B.MX,B.OG) +B.MY=new A.n(!0,B.F,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino displayLarge",null,null,null,null) +B.Q0=new A.n(!0,B.F,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino displayMedium",null,null,null,null) +B.Qk=new A.n(!0,B.F,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino displaySmall",null,null,null,null) +B.NT=new A.n(!0,B.F,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino headlineLarge",null,null,null,null) +B.OI=new A.n(!0,B.F,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino headlineMedium",null,null,null,null) +B.Ng=new A.n(!0,B.i,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino headlineSmall",null,null,null,null) +B.Os=new A.n(!0,B.i,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino titleLarge",null,null,null,null) +B.N8=new A.n(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino titleMedium",null,null,null,null) +B.NQ=new A.n(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino titleSmall",null,null,null,null) +B.NH=new A.n(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino bodyLarge",null,null,null,null) +B.NZ=new A.n(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino bodyMedium",null,null,null,null) +B.Pk=new A.n(!0,B.F,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino bodySmall",null,null,null,null) +B.Pd=new A.n(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino labelLarge",null,null,null,null) +B.O2=new A.n(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino labelMedium",null,null,null,null) +B.Nk=new A.n(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino labelSmall",null,null,null,null) +B.QN=new A.db(B.MY,B.Q0,B.Qk,B.NT,B.OI,B.Ng,B.Os,B.N8,B.NQ,B.NH,B.NZ,B.Pk,B.Pd,B.O2,B.Nk) +B.Nb=new A.n(!1,null,null,null,null,null,57,B.m,null,-0.25,null,B.l,1.12,B.t,null,null,null,null,null,null,null,"englishLike displayLarge 2021",null,null,null,null) +B.O6=new A.n(!1,null,null,null,null,null,45,B.m,null,0,null,B.l,1.16,B.t,null,null,null,null,null,null,null,"englishLike displayMedium 2021",null,null,null,null) +B.Q7=new A.n(!1,null,null,null,null,null,36,B.m,null,0,null,B.l,1.22,B.t,null,null,null,null,null,null,null,"englishLike displaySmall 2021",null,null,null,null) +B.Ph=new A.n(!1,null,null,null,null,null,32,B.m,null,0,null,B.l,1.25,B.t,null,null,null,null,null,null,null,"englishLike headlineLarge 2021",null,null,null,null) +B.PC=new A.n(!1,null,null,null,null,null,28,B.m,null,0,null,B.l,1.29,B.t,null,null,null,null,null,null,null,"englishLike headlineMedium 2021",null,null,null,null) +B.Ni=new A.n(!1,null,null,null,null,null,24,B.m,null,0,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"englishLike headlineSmall 2021",null,null,null,null) +B.OY=new A.n(!1,null,null,null,null,null,22,B.m,null,0,null,B.l,1.27,B.t,null,null,null,null,null,null,null,"englishLike titleLarge 2021",null,null,null,null) +B.Po=new A.n(!1,null,null,null,null,null,16,B.U,null,0.15,null,B.l,1.5,B.t,null,null,null,null,null,null,null,"englishLike titleMedium 2021",null,null,null,null) +B.PR=new A.n(!1,null,null,null,null,null,14,B.U,null,0.1,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"englishLike titleSmall 2021",null,null,null,null) +B.Qn=new A.n(!1,null,null,null,null,null,16,B.m,null,0.5,null,B.l,1.5,B.t,null,null,null,null,null,null,null,"englishLike bodyLarge 2021",null,null,null,null) +B.Pb=new A.n(!1,null,null,null,null,null,14,B.m,null,0.25,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"englishLike bodyMedium 2021",null,null,null,null) +B.Qy=new A.n(!1,null,null,null,null,null,12,B.m,null,0.4,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"englishLike bodySmall 2021",null,null,null,null) +B.Oc=new A.n(!1,null,null,null,null,null,14,B.U,null,0.1,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"englishLike labelLarge 2021",null,null,null,null) +B.N6=new A.n(!1,null,null,null,null,null,12,B.U,null,0.5,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"englishLike labelMedium 2021",null,null,null,null) +B.Or=new A.n(!1,null,null,null,null,null,11,B.U,null,0.5,null,B.l,1.45,B.t,null,null,null,null,null,null,null,"englishLike labelSmall 2021",null,null,null,null) +B.QO=new A.db(B.Nb,B.O6,B.Q7,B.Ph,B.PC,B.Ni,B.OY,B.Po,B.PR,B.Qn,B.Pb,B.Qy,B.Oc,B.N6,B.Or) +B.Qh=new A.n(!0,B.E,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki displayLarge",null,null,null,null) +B.Nn=new A.n(!0,B.E,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki displayMedium",null,null,null,null) +B.Oj=new A.n(!0,B.E,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki displaySmall",null,null,null,null) +B.Pf=new A.n(!0,B.E,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki headlineLarge",null,null,null,null) +B.Pv=new A.n(!0,B.E,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki headlineMedium",null,null,null,null) +B.MN=new A.n(!0,B.G,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki headlineSmall",null,null,null,null) +B.NS=new A.n(!0,B.G,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki titleLarge",null,null,null,null) +B.MT=new A.n(!0,B.G,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki titleMedium",null,null,null,null) +B.OX=new A.n(!0,B.o,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki titleSmall",null,null,null,null) +B.PH=new A.n(!0,B.G,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki bodyLarge",null,null,null,null) +B.Op=new A.n(!0,B.G,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki bodyMedium",null,null,null,null) +B.PI=new A.n(!0,B.E,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki bodySmall",null,null,null,null) +B.PT=new A.n(!0,B.G,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki labelLarge",null,null,null,null) +B.Pg=new A.n(!0,B.o,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki labelMedium",null,null,null,null) +B.Pt=new A.n(!0,B.o,null,"Roboto",B.J,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki labelSmall",null,null,null,null) +B.QP=new A.db(B.Qh,B.Nn,B.Oj,B.Pf,B.Pv,B.MN,B.NS,B.MT,B.OX,B.PH,B.Op,B.PI,B.PT,B.Pg,B.Pt) +B.Pp=new A.n(!1,null,null,null,null,null,57,B.m,null,-0.25,null,B.l,1.12,B.t,null,null,null,null,null,null,null,"tall displayLarge 2021",null,null,null,null) +B.NJ=new A.n(!1,null,null,null,null,null,45,B.m,null,0,null,B.l,1.16,B.t,null,null,null,null,null,null,null,"tall displayMedium 2021",null,null,null,null) +B.PB=new A.n(!1,null,null,null,null,null,36,B.m,null,0,null,B.l,1.22,B.t,null,null,null,null,null,null,null,"tall displaySmall 2021",null,null,null,null) +B.N4=new A.n(!1,null,null,null,null,null,32,B.m,null,0,null,B.l,1.25,B.t,null,null,null,null,null,null,null,"tall headlineLarge 2021",null,null,null,null) +B.Qj=new A.n(!1,null,null,null,null,null,28,B.m,null,0,null,B.l,1.29,B.t,null,null,null,null,null,null,null,"tall headlineMedium 2021",null,null,null,null) +B.Nv=new A.n(!1,null,null,null,null,null,24,B.m,null,0,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"tall headlineSmall 2021",null,null,null,null) +B.MO=new A.n(!1,null,null,null,null,null,22,B.m,null,0,null,B.l,1.27,B.t,null,null,null,null,null,null,null,"tall titleLarge 2021",null,null,null,null) +B.Nw=new A.n(!1,null,null,null,null,null,16,B.U,null,0.15,null,B.l,1.5,B.t,null,null,null,null,null,null,null,"tall titleMedium 2021",null,null,null,null) +B.NP=new A.n(!1,null,null,null,null,null,14,B.U,null,0.1,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"tall titleSmall 2021",null,null,null,null) +B.Oq=new A.n(!1,null,null,null,null,null,16,B.m,null,0.5,null,B.l,1.5,B.t,null,null,null,null,null,null,null,"tall bodyLarge 2021",null,null,null,null) +B.P_=new A.n(!1,null,null,null,null,null,14,B.m,null,0.25,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"tall bodyMedium 2021",null,null,null,null) +B.NR=new A.n(!1,null,null,null,null,null,12,B.m,null,0.4,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"tall bodySmall 2021",null,null,null,null) +B.NV=new A.n(!1,null,null,null,null,null,14,B.U,null,0.1,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"tall labelLarge 2021",null,null,null,null) +B.P8=new A.n(!1,null,null,null,null,null,12,B.U,null,0.5,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"tall labelMedium 2021",null,null,null,null) +B.Nt=new A.n(!1,null,null,null,null,null,11,B.U,null,0.5,null,B.l,1.45,B.t,null,null,null,null,null,null,null,"tall labelSmall 2021",null,null,null,null) +B.QQ=new A.db(B.Pp,B.NJ,B.PB,B.N4,B.Qj,B.Nv,B.MO,B.Nw,B.NP,B.Oq,B.P_,B.NR,B.NV,B.P8,B.Nt) +B.xe=new A.n(!0,B.i,null,null,null,null,16,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.QS=new A.cW("Image Scan",null,B.xe,null,null,B.aW,null) +B.QT=new A.cW("Gray",null,B.bB,null,null,null,null) +B.QU=new A.cW("Document Scanner",null,B.bB,null,null,null,null) +B.QW=new A.cW("Edit Document",null,B.bB,null,null,null,null) +B.xf=new A.n(!0,B.i,null,null,null,null,14,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.R_=new A.cW("App Source Code >",null,B.xf,null,null,null,null) +B.R0=new A.cW("SDK Version",null,B.xf,null,null,null,null) +B.R1=new A.cW("Binary",null,B.bB,null,null,null,null) +B.R4=new A.cW("Edit Document",null,null,null,null,null,null) +B.R5=new A.cW("GET FREE TRIAL SDK",null,B.bB,null,null,null,null) +B.R6=new A.cW("Color",null,B.bB,null,null,null,null) +B.R7=new A.cW("Camera Scan",null,B.xe,null,null,B.aW,null) +B.U2=new A.abA(0,"system") +B.xh=new A.zR(0) +B.R8=new A.zR(0.5) +B.R9=new A.zS(null) +B.jz=new A.Le(0,"clamp") +B.jA=new A.Le(3,"decal") +B.Ra=new A.zT(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Rb=new A.zU(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Rc=new A.zW(0.01,1/0) +B.bj=new A.zW(0.001,0.001) +B.Rd=new A.zX(0,"darker") +B.c9=new A.zX(1,"lighter") +B.bk=new A.zX(2,"nearer") +B.Re=new A.zZ(null,null,null,null,null,null,null,null,null) +B.xi=new A.A0(0,"identity") +B.xj=new A.A0(1,"transform2d") +B.fE=new A.A0(2,"complex") +B.bC=new A.m8(0,"up") +B.bD=new A.m8(1,"right") +B.bE=new A.m8(2,"down") +B.bF=new A.m8(3,"left") +B.xk=new A.Lp(0,"closedLoop") +B.Rf=new A.Lp(1,"leaveFlutterView") +B.jB=A.bd("fT") +B.xl=A.bd("ps") +B.Rg=A.bd("pE") +B.Rh=A.bd("EE") +B.Ri=A.bd("cu") +B.Rj=A.bd("alW") +B.xm=A.bd("iy") +B.Rk=A.bd("aAR") +B.Rl=A.bd("hK") +B.Rm=A.bd("Zl") +B.Rn=A.bd("Zm") +B.Ro=A.bd("aAQ") +B.Rp=A.bd("a0U") +B.Rq=A.bd("a0V") +B.Rr=A.bd("a0W") +B.Rs=A.bd("U") +B.Rt=A.bd("bv>") +B.Ru=A.bd("hd") +B.xn=A.bd("hU") +B.xo=A.bd("arp") +B.Rv=A.bd("xd") +B.bG=A.bd("nQ") +B.Rw=A.bd("nZ") +B.Rx=A.bd("J") +B.Ry=A.bd("qK") +B.jC=A.bd("hY") +B.Rz=A.bd("iR") +B.RA=A.bd("oe") +B.RB=A.bd("jY") +B.jD=A.bd("fy") +B.RC=A.bd("lQ") +B.RD=A.bd("dn") +B.RE=A.bd("amX") +B.xp=A.bd("eB") +B.RF=A.bd("oy") +B.RG=A.bd("oB") +B.RH=A.bd("r") +B.xq=A.bd("fa") +B.RI=A.bd("abV") +B.RJ=A.bd("rM") +B.RK=A.bd("abW") +B.RL=A.bd("j3") +B.RM=A.bd("ans") +B.RN=A.bd("A8") +B.RO=A.bd("t_") +B.RP=A.bd("mq<@>") +B.RQ=A.bd("jg") +B.RR=A.bd("mk") +B.RS=A.bd("mB") +B.RT=new A.Ls(0,"scope") +B.jE=new A.Ls(1,"previouslyFocusedChild") +B.RU=new A.ck(11264,55297,B.p,t.O) +B.RV=new A.ck(1425,1775,B.T,t.O) +B.RW=new A.ck(1786,2303,B.T,t.O) +B.RX=new A.ck(192,214,B.p,t.O) +B.RY=new A.ck(216,246,B.p,t.O) +B.RZ=new A.ck(2304,8191,B.p,t.O) +B.S_=new A.ck(248,696,B.p,t.O) +B.S0=new A.ck(55298,55299,B.T,t.O) +B.S1=new A.ck(55300,55353,B.p,t.O) +B.S2=new A.ck(55354,55355,B.T,t.O) +B.S3=new A.ck(55356,56319,B.p,t.O) +B.S4=new A.ck(63744,64284,B.p,t.O) +B.S5=new A.ck(64285,65023,B.T,t.O) +B.S6=new A.ck(65024,65135,B.p,t.O) +B.S7=new A.ck(65136,65276,B.T,t.O) +B.S8=new A.ck(65277,65535,B.p,t.O) +B.S9=new A.ck(65,90,B.p,t.O) +B.Sa=new A.ck(768,1424,B.p,t.O) +B.Sb=new A.ck(8206,8206,B.p,t.O) +B.Sc=new A.ck(8207,8207,B.T,t.O) +B.Sd=new A.ck(97,122,B.p,t.O) +B.cI=new A.Lz(!1) +B.Se=new A.Lz(!0) +B.Sf=new A.dS("dismissible",A.ao("dS")) +B.a_=new A.i9(0,"monochrome") +B.Sg=new A.i9(1,"neutral") +B.Sh=new A.i9(2,"tonalSpot") +B.Si=new A.i9(3,"vibrant") +B.Sj=new A.i9(4,"expressive") +B.ca=new A.i9(5,"content") +B.cb=new A.i9(6,"fidelity") +B.Sk=new A.i9(7,"rainbow") +B.Sl=new A.i9(8,"fruitSalad") +B.xr=new A.ma(B.h,0,B.q,B.h) +B.jG=new A.ma(B.h,1,B.q,B.h) +B.cJ=new A.ht(B.h) +B.xs=new A.LC(1,"forward") +B.Sn=new A.LC(2,"backward") +B.So=new A.acg(1,"focused") +B.cL=new A.ke(0,0) +B.Sp=new A.ke(-2,-2) +B.fF=new A.cr(0,t.XR) +B.fG=new A.cr(24,t.XR) +B.LP=new A.eG(B.v) +B.e2=new A.cr(B.LP,A.ao("cr")) +B.Lm=new A.K(1/0,1/0) +B.e3=new A.cr(B.Lm,t.W7) +B.bl=new A.cr(B.Q,t.De) +B.Sq=new A.cr(B.Q,t.rc) +B.fH=new A.cr(B.wW,t.W7) +B.Ls=new A.K(64,40) +B.Sr=new A.cr(B.Ls,t.W7) +B.fI=new A.cr(B.ln,t.mD) +B.xt=new A.bP(3,"dragged") +B.jH=new A.bP(5,"scrolledUnder") +B.D=new A.bP(6,"disabled") +B.cd=new A.mc(0,"start") +B.St=new A.mc(1,"end") +B.Su=new A.mc(2,"center") +B.Sv=new A.mc(3,"spaceBetween") +B.Sw=new A.mc(4,"spaceAround") +B.Sx=new A.mc(5,"spaceEvenly") +B.jN=new A.A9(0,"start") +B.Sy=new A.A9(1,"end") +B.Sz=new A.A9(2,"center") +B.aq=new A.rZ(0,"forward") +B.fM=new A.rZ(1,"reverse") +B.SA=new A.An(0,"checkbox") +B.SB=new A.An(1,"radio") +B.SC=new A.An(2,"toggle") +B.SD=new A.Ap(0,"inside") +B.SE=new A.Ap(1,"higher") +B.SF=new A.Ap(2,"lower") +B.AW=new A.C(67108864) +B.Em=A.b(s([B.AW,B.Q]),t.t_) +B.SG=new A.ie(B.Em) +B.SH=new A.ie(null) +B.cN=new A.Nt(0,"horizontal") +B.cO=new A.Nt(1,"vertical") +B.bn=new A.AG(0,"ready") +B.xz=new A.AG(1,"possible") +B.e9=new A.AG(2,"accepted") +B.a1=new A.td(0,"initial") +B.ce=new A.td(1,"active") +B.SN=new A.td(2,"inactive") +B.xA=new A.td(3,"defunct") +B.SU=new A.NO(1,0,"forward") +B.SV=new A.NO(-1,1,"backward") +B.jP=new A.AM(0,"none") +B.SW=new A.AM(1,"forward") +B.SX=new A.AM(2,"reverse") +B.SY=new A.AP(0,"regular") +B.SZ=new A.AP(1,"small") +B.T_=new A.AP(3,"extended") +B.fN=new A.tk(0,"idle") +B.T0=new A.tk(1,"absorb") +B.fO=new A.tk(2,"pull") +B.xB=new A.tk(3,"recede") +B.cf=new A.mj(0,"pressed") +B.cP=new A.mj(1,"hover") +B.xC=new A.mj(2,"focus") +B.T1=new A.afJ(0,"standard") +B.ac=new A.B4(1,"maxWidth") +B.av=new A.B4(3,"maxHeight") +B.ag=new A.ig(1) +B.xD=new A.dT(0,"size") +B.jQ=new A.dT(11,"accessibleNavigation") +B.T2=new A.dT(12,"invertColors") +B.xE=new A.dT(13,"highContrast") +B.T3=new A.dT(16,"boldText") +B.fP=new A.dT(17,"navigationMode") +B.xF=new A.dT(18,"gestureSettings") +B.ea=new A.dT(2,"devicePixelRatio") +B.jR=new A.dT(4,"textScaler") +B.xG=new A.dT(5,"platformBrightness") +B.bH=new A.dT(6,"padding") +B.jS=new A.dT(7,"viewInsets") +B.T4=new A.dT(9,"viewPadding") +B.xH=new A.mp(1/0,1/0,1/0,1/0,1/0,1/0) +B.T5=new A.cy(B.cs,B.co) +B.eJ=new A.nK(1,"left") +B.T6=new A.cy(B.cs,B.eJ) +B.eK=new A.nK(2,"right") +B.T7=new A.cy(B.cs,B.eK) +B.T8=new A.cy(B.cs,B.bc) +B.T9=new A.cy(B.ct,B.co) +B.Ta=new A.cy(B.ct,B.eJ) +B.Tb=new A.cy(B.ct,B.eK) +B.Tc=new A.cy(B.ct,B.bc) +B.Td=new A.cy(B.cu,B.co) +B.Te=new A.cy(B.cu,B.eJ) +B.Tf=new A.cy(B.cu,B.eK) +B.Tg=new A.cy(B.cu,B.bc) +B.Th=new A.cy(B.cv,B.co) +B.Ti=new A.cy(B.cv,B.eJ) +B.Tj=new A.cy(B.cv,B.eK) +B.Tk=new A.cy(B.cv,B.bc) +B.Tl=new A.cy(B.iG,B.bc) +B.Tm=new A.cy(B.iH,B.bc) +B.Tn=new A.cy(B.iI,B.bc) +B.To=new A.cy(B.iJ,B.bc) +B.Tp=new A.Pf(null) +B.Tq=new A.Ph(null) +B.U4=new A.ahm(0,"material") +B.jT=new A.e5(1,"add") +B.Tt=new A.e5(10,"remove") +B.Tu=new A.e5(11,"popping") +B.Tv=new A.e5(12,"removing") +B.jU=new A.e5(13,"dispose") +B.Tw=new A.e5(14,"disposing") +B.fQ=new A.e5(15,"disposed") +B.Tx=new A.e5(2,"adding") +B.xI=new A.e5(3,"push") +B.jV=new A.e5(4,"pushReplace") +B.xJ=new A.e5(5,"pushing") +B.Ty=new A.e5(6,"replace") +B.eb=new A.e5(7,"idle") +B.Tz=new A.e5(8,"pop") +B.TA=new A.e5(9,"complete") +B.fR=new A.fh(0,"body") +B.fS=new A.fh(1,"appBar") +B.jX=new A.fh(10,"endDrawer") +B.fT=new A.fh(11,"statusBar") +B.fU=new A.fh(2,"bodyScrim") +B.fV=new A.fh(3,"bottomSheet") +B.cQ=new A.fh(4,"snackBar") +B.fW=new A.fh(5,"materialBanner") +B.jY=new A.fh(6,"persistentFooter") +B.fX=new A.fh(7,"bottomNavigationBar") +B.fY=new A.fh(8,"floatingActionButton") +B.jZ=new A.fh(9,"drawer") +B.k_=new A.RS(0,"trailing") +B.xL=new A.RS(1,"leading") +B.k0=new A.tT(0,"idle") +B.TB=new A.tT(1,"absorb") +B.k1=new A.tT(2,"pull") +B.k2=new A.tT(3,"recede") +B.TC=new A.CF(B.l8,B.hJ) +B.fZ=new A.CJ(0,"leading") +B.h_=new A.CJ(1,"middle") +B.h0=new A.CJ(2,"trailing") +B.TD=new A.Sp(0,"minimize") +B.TE=new A.Sp(1,"maximize")})();(function staticFields(){$.anU=null +$.fi=null +$.b8=A.bk("canvasKit") +$.Wf=A.bk("_instance") +$.azX=A.E(t.N,A.ao("a6")) +$.asP=!1 +$.aum=null +$.avm=0 +$.anZ=!1 +$.ik=A.b([],t.kZ) +$.amn=A.b([],t.no) +$.amm=0 +$.aml=0 +$.asQ=0 +$.ajE=0 +$.kz=A.b([],A.ao("v")) +$.al2=A.b([],t.nx) +$.aoo=null +$.aC4=A.bk("_instance") +$.a83=null +$.aay=null +$.ata=null +$.aoB=A.b([],t.l) +$.auE=B.BB +$.ky=A.b([],t.c) +$.Dn=B.la +$.u4=null +$.amA=null +$.arH=0 +$.avV=null +$.avR=null +$.auc=null +$.atF=0 +$.Jf=null +$.a_u=A.bk("_programCache") +$.arI=null +$.Kw=null +$.bi=null +$.zc=null +$.auF=null +$.asN=A.E(A.ao("zJ"),A.ao("L4")) +$.akb=null +$.auI=-1 +$.auH=-1 +$.auJ="" +$.auG="" +$.auK=-1 +$.Ud=A.E(t.N,t.e) +$.aut=null +$.auN=1 +$.ph=null +$.ag1=null +$.pk=A.b([],t.jl) +$.as1=null +$.a6K=0 +$.J7=A.aI6() +$.apC=null +$.apB=null +$.avw=null +$.av2=null +$.avS=null +$.aky=null +$.akV=null +$.aop=null +$.aht=A.b([],A.ao("v?>")) +$.u7=null +$.Do=null +$.Dp=null +$.ao2=!1 +$.ae=B.ad +$.auv=A.E(t.N,t.xd) +$.auR=A.E(t.C_,t.e) +$.avC=!1 +$.iA=A.aIA() +$.amd=0 +$.aBG=A.b([],A.ao("v")) +$.ari=null +$.U1=0 +$.ajP=null +$.anX=!1 +$.dY=null +$.anJ=!0 +$.anI=!1 +$.oO=A.b([],A.ao("v")) +$.jQ=null +$.iU=null +$.bC=null +$.Kk=null +$.aq_=0 +$.apY=A.E(t.S,t.I7) +$.apZ=A.E(t.I7,t.S) +$.a9q=0 +$.ee=null +$.rA=null +$.ani=null +$.ai=null +$.amP=-9007199254740992 +$.aC_=function(){var s=t.n +return A.b([A.b([0.001200833568784504,0.002389694492170889,0.0002795742885861124],s),A.b([0.0005891086651375999,0.0029785502573438758,0.0003270666104008398],s),A.b([0.00010146692491640572,0.0005364214359186694,0.0032979401770712076],s)],t.zg)}() +$.aBY=function(){var s=t.n +return A.b([A.b([1373.2198709594231,-1100.4251190754821,-7.278681089101213],s),A.b([-271.815969077903,559.6580465940733,-32.46047482791194],s),A.b([1.9622899599665666,-57.173814538844006,308.7233197812385],s)],t.zg)}() +$.wu=A.b([0.2126,0.7152,0.0722],t.n) +$.aBW=A.b([0.015176349177441876,0.045529047532325624,0.07588174588720938,0.10623444424209313,0.13658714259697685,0.16693984095186062,0.19729253930674434,0.2276452376616281,0.2579979360165119,0.28835063437139563,0.3188300904430532,0.350925934958123,0.3848314933096426,0.42057480301049466,0.458183274052838,0.4976837250274023,0.5391024159806381,0.5824650784040898,0.6277969426914107,0.6751227633498623,0.7244668422128921,0.775853049866786,0.829304845476233,0.8848452951698498,0.942497089126609,1.0022825574869039,1.0642236851973577,1.1283421258858297,1.1946592148522128,1.2631959812511864,1.3339731595349034,1.407011200216447,1.4823302800086415,1.5599503113873272,1.6398909516233677,1.7221716113234105,1.8068114625156377,1.8938294463134073,1.9832442801866852,2.075074464868551,2.1693382909216234,2.2660538449872063,2.36523901573795,2.4669114995532007,2.5710888059345764,2.6777882626779785,2.7870270208169257,2.898822059350997,3.0131901897720907,3.1301480604002863,3.2497121605402226,3.3718988244681087,3.4967242352587946,3.624204428461639,3.754355295633311,3.887192587735158,4.022731918402185,4.160988767090289,4.301978482107941,4.445716283538092,4.592217266055746,4.741496401646282,4.893568542229298,5.048448422192488,5.20615066083972,5.3666897647573375,5.5300801301023865,5.696336044816294,5.865471690767354,6.037501145825082,6.212438385869475,6.390297286737924,6.571091626112461,6.7548350853498045,6.941541251256611,7.131223617812143,7.323895587840543,7.5195704746346665,7.7182615035334345,7.919981813454504,8.124744458384042,8.332562408825165,8.543448553206703,8.757415699253682,8.974476575321063,9.194643831691977,9.417930041841839,9.644347703669503,9.873909240696694,10.106627003236781,10.342513269534024,10.58158024687427,10.8238400726681,11.069304815507364,11.317986476196008,11.569896988756009,11.825048221409341,12.083451977536606,12.345119996613247,12.610063955123938,12.878295467455942,13.149826086772048,13.42466730586372,13.702830557985108,13.984327217668513,14.269168601521828,14.55736596900856,14.848930523210871,15.143873411576273,15.44220572664832,15.743938506781891,16.04908273684337,16.35764934889634,16.66964922287304,16.985093187232053,17.30399201960269,17.62635644741625,17.95219714852476,18.281524751807332,18.614349837764564,18.95068293910138,19.290534541298456,19.633915083172692,19.98083495742689,20.331304511189067,20.685334046541502,21.042933821039977,21.404114048223256,21.76888489811322,22.137256497705877,22.50923893145328,22.884842241736916,23.264076429332462,23.6469514538663,24.033477234264016,24.42366364919083,24.817520537484558,25.21505769858089,25.61628489293138,26.021211842414342,26.429848230738664,26.842203703840827,27.258287870275353,27.678110301598522,28.10168053274597,28.529008062403893,28.96010235337422,29.39497283293396,29.83362889318845,30.276079891419332,30.722335150426627,31.172403958865512,31.62629557157785,32.08401920991837,32.54558406207592,33.010999283389665,33.4802739966603,33.953417292456834,34.430438229418264,34.911345834551085,35.39614910352207,35.88485700094671,36.37747846067349,36.87402238606382,37.37449765026789,37.87891309649659,38.38727753828926,38.89959975977785,39.41588851594697,39.93615253289054,40.460400508064545,40.98864111053629,41.520882981230194,42.05713473317016,42.597404951718396,43.141702194811224,43.6900349931913,44.24241185063697,44.798841244188324,45.35933162437017,45.92389141541209,46.49252901546552,47.065252796817916,47.64207110610409,48.22299226451468,48.808024568002054,49.3971762874833,49.9904556690408,50.587870934119984,51.189430279724725,51.79514187861014,52.40501387947288,53.0190544071392,53.637271562750364,54.259673423945976,54.88626804504493,55.517063457223934,56.15206766869424,56.79128866487574,57.43473440856916,58.08241284012621,58.734331877617365,59.39049941699807,60.05092333227251,60.715611475655585,61.38457167773311,62.057811747619894,62.7353394731159,63.417162620860914,64.10328893648692,64.79372614476921,65.48848194977529,66.18756403501224,66.89098006357258,67.59873767827808,68.31084450182222,69.02730813691093,69.74813616640164,70.47333615344107,71.20291564160104,71.93688215501312,72.67524319850172,73.41800625771542,74.16517879925733,74.9167682708136,75.67278210128072,76.43322770089146,77.1981124613393,77.96744375590167,78.74122893956174,79.51947534912904,80.30219030335869,81.08938110306934,81.88105503125999,82.67721935322541,83.4778813166706,84.28304815182372,85.09272707154808,85.90692527145302,86.72564993000343,87.54890820862819,88.3767072518277,89.2090541872801,90.04595612594655,90.88742016217518,91.73345337380438,92.58406282226491,93.43925555268066,94.29903859396902,95.16341895893969,96.03240364439274,96.9059996312159,97.78421388448044,98.6670533535366,99.55452497210776],t.n) +$.asr=A.b([0,21,51,121,151,191,271,321,360],t.n) +$.aEa=A.b([45,95,45,20,45,90,45,45,45],t.n) +$.aEb=A.b([120,120,20,45,20,15,20,120,120],t.n) +$.ass=A.b([0,41,61,101,131,181,251,301,360],t.n) +$.aEc=A.b([18,15,10,12,15,18,15,12,12],t.n) +$.aEd=A.b([35,30,20,25,30,35,30,25,25],t.n) +$.hF=function(){var s=t.n +return A.b([A.b([0.41233895,0.35762064,0.18051042],s),A.b([0.2126,0.7152,0.0722],s),A.b([0.01932141,0.11916382,0.95034478],s)],t.zg)}() +$.pO=A.b([95.047,100,108.883],t.n) +$.a9M=null +$.aCr=A.E(t.S,A.ao("aCq"))})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal,r=hunkHelpers.lazy +s($,"aKY","aoM",()=>A.HY(8)) +s($,"aOq","Ut",()=>A.I(A.I(A.ah(),"ClipOp"),"Intersect")) +s($,"aPf","ayx",()=>{var q="FontWeight" +return A.b([A.I(A.I(A.ah(),q),"Thin"),A.I(A.I(A.ah(),q),"ExtraLight"),A.I(A.I(A.ah(),q),"Light"),A.I(A.I(A.ah(),q),"Normal"),A.I(A.I(A.ah(),q),"Medium"),A.I(A.I(A.ah(),q),"SemiBold"),A.I(A.I(A.ah(),q),"Bold"),A.I(A.I(A.ah(),q),"ExtraBold"),A.I(A.I(A.ah(),q),"ExtraBlack")],t.J)}) +s($,"aPn","ayF",()=>{var q="TextDirection" +return A.b([A.I(A.I(A.ah(),q),"RTL"),A.I(A.I(A.ah(),q),"LTR")],t.J)}) +s($,"aPk","ayC",()=>{var q="TextAlign" +return A.b([A.I(A.I(A.ah(),q),"Left"),A.I(A.I(A.ah(),q),"Right"),A.I(A.I(A.ah(),q),"Center"),A.I(A.I(A.ah(),q),"Justify"),A.I(A.I(A.ah(),q),"Start"),A.I(A.I(A.ah(),q),"End")],t.J)}) +s($,"aPo","ayG",()=>{var q="TextHeightBehavior" +return A.b([A.I(A.I(A.ah(),q),"All"),A.I(A.I(A.ah(),q),"DisableFirstAscent"),A.I(A.I(A.ah(),q),"DisableLastDescent"),A.I(A.I(A.ah(),q),"DisableAll")],t.J)}) +s($,"aPh","ayz",()=>{var q="RectHeightStyle" +return A.b([A.I(A.I(A.ah(),q),"Tight"),A.I(A.I(A.ah(),q),"Max"),A.I(A.I(A.ah(),q),"IncludeLineSpacingMiddle"),A.I(A.I(A.ah(),q),"IncludeLineSpacingTop"),A.I(A.I(A.ah(),q),"IncludeLineSpacingBottom"),A.I(A.I(A.ah(),q),"Strut")],t.J)}) +s($,"aPi","ayA",()=>{var q="RectWidthStyle" +return A.b([A.I(A.I(A.ah(),q),"Tight"),A.I(A.I(A.ah(),q),"Max")],t.J)}) +s($,"aPd","apb",()=>A.b([A.I(A.I(A.ah(),"ClipOp"),"Difference"),A.I(A.I(A.ah(),"ClipOp"),"Intersect")],t.J)) +s($,"aPe","Ux",()=>{var q="FillType" +return A.b([A.I(A.I(A.ah(),q),"Winding"),A.I(A.I(A.ah(),q),"EvenOdd")],t.J)}) +s($,"aPc","ayw",()=>{var q="BlurStyle" +return A.b([A.I(A.I(A.ah(),q),"Normal"),A.I(A.I(A.ah(),q),"Solid"),A.I(A.I(A.ah(),q),"Outer"),A.I(A.I(A.ah(),q),"Inner")],t.J)}) +s($,"aPj","ayB",()=>{var q="StrokeCap" +return A.b([A.I(A.I(A.ah(),q),"Butt"),A.I(A.I(A.ah(),q),"Round"),A.I(A.I(A.ah(),q),"Square")],t.J)}) +s($,"aPg","ayy",()=>{var q="PaintStyle" +return A.b([A.I(A.I(A.ah(),q),"Fill"),A.I(A.I(A.ah(),q),"Stroke")],t.J)}) +s($,"aPb","apa",()=>{var q="BlendMode" +return A.b([A.I(A.I(A.ah(),q),"Clear"),A.I(A.I(A.ah(),q),"Src"),A.I(A.I(A.ah(),q),"Dst"),A.I(A.I(A.ah(),q),"SrcOver"),A.I(A.I(A.ah(),q),"DstOver"),A.I(A.I(A.ah(),q),"SrcIn"),A.I(A.I(A.ah(),q),"DstIn"),A.I(A.I(A.ah(),q),"SrcOut"),A.I(A.I(A.ah(),q),"DstOut"),A.I(A.I(A.ah(),q),"SrcATop"),A.I(A.I(A.ah(),q),"DstATop"),A.I(A.I(A.ah(),q),"Xor"),A.I(A.I(A.ah(),q),"Plus"),A.I(A.I(A.ah(),q),"Modulate"),A.I(A.I(A.ah(),q),"Screen"),A.I(A.I(A.ah(),q),"Overlay"),A.I(A.I(A.ah(),q),"Darken"),A.I(A.I(A.ah(),q),"Lighten"),A.I(A.I(A.ah(),q),"ColorDodge"),A.I(A.I(A.ah(),q),"ColorBurn"),A.I(A.I(A.ah(),q),"HardLight"),A.I(A.I(A.ah(),q),"SoftLight"),A.I(A.I(A.ah(),q),"Difference"),A.I(A.I(A.ah(),q),"Exclusion"),A.I(A.I(A.ah(),q),"Multiply"),A.I(A.I(A.ah(),q),"Hue"),A.I(A.I(A.ah(),q),"Saturation"),A.I(A.I(A.ah(),q),"Color"),A.I(A.I(A.ah(),q),"Luminosity")],t.J)}) +s($,"aPp","ayH",()=>{var q="TileMode" +return A.b([A.I(A.I(A.ah(),q),"Clamp"),A.I(A.I(A.ah(),q),"Repeat"),A.I(A.I(A.ah(),q),"Mirror"),A.I(A.I(A.ah(),q),"Decal")],t.J)}) +s($,"aOu","ay1",()=>{var q="FilterMode",p="MipmapMode",o="Linear",n=t.e +return A.an([B.hU,n.a({filter:A.I(A.I(A.ah(),q),"Nearest"),mipmap:A.I(A.I(A.ah(),p),"None")}),B.eB,n.a({filter:A.I(A.I(A.ah(),q),o),mipmap:A.I(A.I(A.ah(),p),"None")}),B.db,n.a({filter:A.I(A.I(A.ah(),q),o),mipmap:A.I(A.I(A.ah(),p),o)}),B.hV,n.a({B:0.3333333333333333,C:0.3333333333333333})],A.ao("nk"),n)}) +s($,"aOE","ay7",()=>{var q=A.HY(2) +q[0]=0 +q[1]=1 +return q}) +s($,"aP9","Uw",()=>A.aK5(4)) +s($,"aPm","ayE",()=>{var q="DecorationStyle" +return A.b([A.I(A.I(A.ah(),q),"Solid"),A.I(A.I(A.ah(),q),"Double"),A.I(A.I(A.ah(),q),"Dotted"),A.I(A.I(A.ah(),q),"Dashed"),A.I(A.I(A.ah(),q),"Wavy")],t.J)}) +s($,"aPl","ayD",()=>{var q="TextBaseline" +return A.b([A.I(A.I(A.ah(),q),"Alphabetic"),A.I(A.I(A.ah(),q),"Ideographic")],t.J)}) +r($,"aHO","ay3",()=>A.aHb()) +r($,"aP6","ayt",()=>A.df().gDY()+"roboto/v20/KFOmCnqEu92Fr1Me5WZLCzYlKw.ttf") +r($,"aOv","ap3",()=>A.aGX(A.pd(A.pd(A.aoE(),"window"),"FinalizationRegistry"),A.bb(new A.ajU()))) +r($,"aPJ","apj",()=>new A.a5q()) +s($,"aOC","ay5",()=>A.aD1(B.F8)) +s($,"aOB","alq",()=>A.a1L(A.aA7($.ay5()))) +s($,"aOp","ay_",()=>A.asD(A.I(A.ah(),"ParagraphBuilder"))) +s($,"aL1","aw8",()=>A.auj(A.pd(A.pd(A.pd(A.aoE(),"window"),"flutterCanvasKit"),"Paint"))) +s($,"aL0","aw7",()=>{var q=A.auj(A.pd(A.pd(A.pd(A.aoE(),"window"),"flutterCanvasKit"),"Paint")) +A.aED(q,0) +return q}) +s($,"aPR","ayQ",()=>{var q=t.N,p=A.ao("+breaks,graphemes,words(rM,rM,rM)"),o=A.amG(1e5,q,p),n=A.amG(1e4,q,p) +return new A.Qv(A.amG(20,q,p),n,o)}) +s($,"aOA","ay4",()=>A.an([B.lA,A.aod("grapheme"),B.lB,A.aod("word")],A.ao("wP"),t.e)) +s($,"aPw","ayM",()=>A.avl()) +s($,"aLs","br",()=>{var q,p=A.I(self.window,"screen") +p=p==null?null:A.I(p,"width") +if(p==null)p=0 +q=A.I(self.window,"screen") +q=q==null?null:A.I(q,"height") +return new A.G8(A.aEB(p,q==null?0:q))}) +s($,"aPv","ayL",()=>{var q=A.I(self.window,"trustedTypes") +q.toString +return A.aH2(q,"createPolicy","flutter-engine",t.e.a({createScriptURL:A.bb(new A.akj())}))}) +r($,"aPy","ape",()=>self.window.FinalizationRegistry!=null) +r($,"aPA","als",()=>self.window.OffscreenCanvas!=null) +s($,"aOw","ay2",()=>B.S.bB(A.an(["type","fontsChange"],t.N,t.z))) +r($,"aBM","awi",()=>A.qc()) +s($,"aPI","alt",()=>{var q=A.avj() +A.aqe(q,"width",0) +A.aqe(q,"height",0) +A.aq9(A.I(q,"style"),"absolute") +return q}) +s($,"aNV","ap1",()=>A.HY(4)) +r($,"aP8","ap9",()=>new A.a9I()) +s($,"aNA","axs",()=>A.arD(A.b([0,1,2,2,3,0],t.t))) +s($,"aPq","ayI",()=>A.aom(A.aom(A.aom(self.window,"Image"),"prototype"),"decode")!=null) +s($,"aOn","axY",()=>A.aAg("ftyp")) +s($,"aOG","ap5",()=>8589934852) +s($,"aOH","ay9",()=>8589934853) +s($,"aOI","ap6",()=>8589934848) +s($,"aOJ","aya",()=>8589934849) +s($,"aON","ap8",()=>8589934850) +s($,"aOO","ayd",()=>8589934851) +s($,"aOL","ap7",()=>8589934854) +s($,"aOM","ayc",()=>8589934855) +s($,"aOT","ayi",()=>458978) +s($,"aOU","ayj",()=>458982) +s($,"aPG","aph",()=>458976) +s($,"aPH","api",()=>458980) +s($,"aOX","aym",()=>458977) +s($,"aOY","ayn",()=>458981) +s($,"aOV","ayk",()=>458979) +s($,"aOW","ayl",()=>458983) +s($,"aOK","ayb",()=>A.an([$.ap5(),new A.ak2(),$.ay9(),new A.ak3(),$.ap6(),new A.ak4(),$.aya(),new A.ak5(),$.ap8(),new A.ak6(),$.ayd(),new A.ak7(),$.ap7(),new A.ak8(),$.ayc(),new A.ak9()],t.S,A.ao("M(iB)"))) +s($,"aPN","alu",()=>A.aJa(new A.al3())) +r($,"aLD","ali",()=>new A.GL(A.b([],A.ao("v<~(M)>")),A.ama(self.window,"(forced-colors: active)"))) +s($,"aLt","az",()=>A.aBl()) +r($,"aMJ","DQ",()=>{var q=t.N,p=t.S +q=new A.a6k(A.E(q,t._8),A.E(p,t.e),A.ay(q),A.E(p,q)) +q.afc("_default_document_create_element_visible",A.auu()) +q.xV("_default_document_create_element_invisible",A.auu(),!1) +return q}) +r($,"aMK","awW",()=>new A.a6m($.DQ())) +s($,"aMN","awY",()=>new A.a8p()) +s($,"aMO","aoU",()=>new A.F_()) +s($,"aMP","jk",()=>new A.afl(A.E(t.S,A.ao("tF")))) +s($,"aP5","am",()=>(A.df().gSf()!=null?A.df().gSf()==="canvaskit":$.av().gadw())?new A.v_(A.azW(),A.aEQ(!1),A.E(t.S,A.ao("rV"))):new A.GQ()) +r($,"aPz","ayN",()=>{var q=self.window.ImageDecoder +q=(q==null?null:A.amw(q))!=null&&$.av().gbx()===B.bJ +return q}) +s($,"aLF","awj",()=>A.i_("[a-z0-9\\s]+",!1,!1)) +s($,"aLG","awk",()=>A.i_("\\b\\d",!0,!1)) +s($,"aPS","pm",()=>A.aAZ(A.mI(0,0))) +s($,"aNd","axa",()=>{var q=A.aJ9("flt-ruler-host"),p=new A.JS(q),o=A.I(q,"style") +A.aq9(o,"fixed") +A.aAW(o,"hidden") +A.aAU(o,"hidden") +A.aAV(o,"0") +A.aAT(o,"0") +A.aAX(o,"0") +A.aAS(o,"0") +A.aH1($.az().gacQ().gcu().c,"appendChild",q) +A.aKh(p.gkx()) +return p}) +s($,"aPu","apd",()=>A.aFj(A.b([B.S9,B.Sd,B.RX,B.RY,B.S_,B.Sa,B.RV,B.RW,B.RZ,B.Sb,B.Sc,B.RU,B.S0,B.S1,B.S2,B.S3,B.S4,B.S5,B.S6,B.S7,B.S8],A.ao("v>")),null,A.ao("j1?"))) +r($,"aPW","DW",()=>A.aFk("000a!E000b000cF000d!D000w!R000y!A0013!B0018!M001a!N001c001lO001m!L001n!M001t002iK002n!P002p003eK003p!F004q!K004t!I0051!K0053!L0056!K005c005yK0060006uK006w00k7K00ke00lbK00lc00ofG00og00okK00om00onK00oq00otK00ou!M00ov!K00p2!K00p3!L00p400p6K00p8!K00pa00ptK00pv00s5K00s700w1K00w300w9G00wa010vK010x011yK01210124K0126!K0127!L0128013cK013d!M013e!K013l014tG014v!G014x014yG01500151G0153!G015c0162C0167016aC016b!K016c!L016o016tI01700171M0174017eG017g!I017k018qK018r019bG019c019lO019n!O019o!M019q019rK019s!G019t01cjK01cl!K01cm01csG01ct!I01cv01d0G01d101d2K01d301d4G01d601d9G01da01dbK01dc01dlO01dm01doK01dr!K01e7!I01e8!K01e9!G01ea01f3K01f401fuG01fx01idK01ie01ioG01ip!K01j401jdO01je01kaK01kb01kjG01kk01klK01ko!M01kq!K01kt!G01kw01lhK01li01llG01lm!K01ln01lvG01lw!K01lx01lzG01m0!K01m101m5G01mo01ncK01nd01nfG01nk01nuK01pc01pwK01py01qfK01qr01r5G01r6!I01r701s3G01s401tlK01tm01toG01tp!K01tq01u7G01u8!K01u901ufG01ug01upK01uq01urG01uu01v3O01v501vkK01vl01vnG01vp01vwK01vz01w0K01w301woK01wq01wwK01wy!K01x201x5K01x8!G01x9!K01xa01xgG01xj01xkG01xn01xpG01xq!K01xz!G01y401y5K01y701y9K01ya01ybG01ye01ynO01yo01ypK01z0!K01z2!G01z501z7G01z901zeK01zj01zkK01zn0208K020a020gK020i020jK020l020mK020o020pK020s!G020u020yG02130214G02170219G021d!G021l021oK021q!K021y0227O02280229G022a022cK022d!G022p022rG022t0231K02330235K0237023sK023u0240K02420243K02450249K024c!G024d!K024e024lG024n024pG024r024tG024w!K025c025dK025e025fG025i025rO0261!K02620267G0269026bG026d026kK026n026oK026r027cK027e027kK027m027nK027p027tK027w!G027x!K027y0284G02870288G028b028dG028l028nG028s028tK028v028xK028y028zG0292029bO029d!K029u!G029v!K029x02a2K02a602a8K02aa02adK02ah02aiK02ak!K02am02anK02ar02asK02aw02ayK02b202bdK02bi02bmG02bq02bsG02bu02bxG02c0!K02c7!G02cm02cvO02dc02dgG02dh02doK02dq02dsK02du02egK02ei02exK02f1!K02f202f8G02fa02fcG02fe02fhG02fp02fqG02fs02fuK02g002g1K02g202g3G02g602gfO02gw!K02gx02gzG02h102h8K02ha02hcK02he02i0K02i202ibK02id02ihK02ik!G02il!K02im02isG02iu02iwG02iy02j1G02j902jaG02ji!K02jk02jlK02jm02jnG02jq02jzO02k102k2K02kg02kjG02kk02ksK02ku02kwK02ky02m2K02m302m4G02m5!K02m602mcG02me02mgG02mi02mlG02mm!K02ms02muK02mv!G02n302n5K02n602n7G02na02njO02nu02nzK02o102o3G02o502omK02oq02pdK02pf02pnK02pp!K02ps02pyK02q2!G02q702qcG02qe!G02qg02qnG02qu02r3O02r602r7G02sx!G02t002t6G02tj02tqG02ts02u1O02wh!G02wk02wsG02x402x9G02xc02xlO02yo!K02zc02zdG02zk02ztO0305!G0307!G0309!G030e030fG030g030nK030p031oK031t032cG032e032fG032g032kK032l032vG032x033wG0346!G036z037iG037k037tO03860389G038e038gG038i038kG038n038tG038x0390G039e039pG039r!G039s03a1O03a203a5G03a803b9K03bb!K03bh!K03bk03cqK03cs03m0K03m203m5K03m803meK03mg!K03mi03mlK03mo03nsK03nu03nxK03o003owK03oy03p1K03p403paK03pc!K03pe03phK03pk03pyK03q003rkK03rm03rpK03rs03tmK03tp03trG03uo03v3K03vk03xxK03y003y5K03y904fgK04fj04fzK04g0!R04g104gqK04gw04iyK04j204jcK04jk04jwK04jy04k1K04k204k4G04kg04kxK04ky04l0G04lc04ltK04lu04lvG04m804mkK04mm04moK04mq04mrG04ok04pfG04pp!G04ps04q1O04qz04r1G04r2!I04r404rdO04rk04u0K04u804ucK04ud04ueG04uf04vcK04vd!G04ve!K04vk04xhK04xs04ymK04yo04yzG04z404zfG04zq04zzO053k053tO054w055iK055j055nG0579057iG057k058cG058f!G058g058pO058w0595O059s05a8G05c005c4G05c505dfK05dg05dwG05dx05e3K05e805ehO05ez05f7G05fk05fmG05fn05ggK05gh05gtG05gu05gvK05gw05h5O05h605idK05ie05irG05j405k3K05k405knG05kw05l5O05l905lbK05lc05llO05lm05mlK05mo05mwK05n405oaK05od05ofK05ow05oyG05p005pkG05pl05poK05pp!G05pq05pvK05pw!G05px05pyK05pz05q1G05q2!K05q805vjK05vk05x5G05x705xbG05xc0651K06540659K065c066dK066g066lK066o066vK066x!K066z!K0671!K0673067xK0680069gK069i069oK069q!K069u069wK069y06a4K06a806abK06ae06ajK06ao06b0K06b606b8K06ba06bgK06bk06bqR06bs06buR06bw!G06bx!Q06by06bzI06c806c9N06ck!N06cn!L06co06cpF06cq06cuI06cv!P06db06dcP06dg!M06dw!P06e7!R06e806ecI06ee06enI06ep!K06f3!K06fk06fwK06hc06i8G06iq!K06iv!K06iy06j7K06j9!K06jd06jhK06jo!K06jq!K06js!K06ju06jxK06jz06k9K06kc06kfK06kl06kpK06ku!K06lc06mgK079207ahK08ow08q6K08q808riK08rk08v8K08vf08viK08vj08vlG08vm08vnK08w008x1K08x3!K08x9!K08xc08yvK08z3!K08zj!G08zk0906K090g090mK090o090uK090w0912K0914091aK091c091iK091k091qK091s091yK09200926K09280933G094f!K09hc!R09hh!K09ii09inG09ip09itJ09iz09j0K09ll09lmG09ln09loJ09ls09oaJ09oc09ofJ09ol09prK09pt09seK09sw09trK09v409vjJ0a1c0a2mJ0a2o0a53J0vls0wi4K0wk00wl9K0wlc0wssK0wsw0wtbK0wtc0wtlO0wtm0wtnK0wu80wviK0wvj0wvmG0wvo0wvxG0wvz0wwtK0wwu0wwvG0www0wz3K0wz40wz5G0wzs0x4vK0x4y0x56K0x6d0x6pK0x6q!G0x6r0x6tK0x6u!G0x6v0x6yK0x6z!G0x700x7mK0x7n0x7rG0x7w!G0x8g0x9vK0xa80xa9G0xaa0xbnK0xbo0xc5G0xcg0xcpO0xcw0xddG0xde0xdjK0xdn!K0xdp0xdqK0xdr!G0xds0xe1O0xe20xetK0xeu0xf1G0xf40xfqK0xfr0xg3G0xgg0xh8K0xhc0xhfG0xhg0xiqK0xir0xj4G0xjj!K0xjk0xjtO0xk5!G0xkg0xkpO0xkw0xm0K0xm10xmeG0xmo0xmqK0xmr!G0xms0xmzK0xn00xn1G0xn40xndO0xob0xodG0xps!G0xpu0xpwG0xpz0xq0G0xq60xq7G0xq9!G0xr40xreK0xrf0xrjG0xrm0xroK0xrp0xrqG0xs10xs6K0xs90xseK0xsh0xsmK0xsw0xt2K0xt40xtaK0xtc0xuxK0xv40xyaK0xyb0xyiG0xyk0xylG0xyo0xyxO0xz416lfK16ls16meK16mj16nvK1dkw1dl2K1dlf1dljK1dlp!C1dlq!G1dlr1dm0C1dm21dmeC1dmg1dmkC1dmm!C1dmo1dmpC1dmr1dmsC1dmu1dn3C1dn41dptK1dqr1e0tK1e1c1e33K1e361e4nK1e5s1e63K1e681e6nG1e6o!M1e6r!L1e6s!M1e741e7jG1e7n1e7oP1e8d1e8fP1e8g!M1e8i!N1e8k!M1e8l!L1e9c1e9gK1e9i1ed8K1edb!I1edj!N1edo!M1edq!N1eds1ee1O1ee2!L1ee3!M1ee91eeyK1ef3!P1ef51efuK1eg61ehpJ1ehq1ehrG1ehs1eimK1eiq1eivK1eiy1ej3K1ej61ejbK1eje1ejgK1ek91ekbI1ekg1ekrK1ekt1eliK1elk1em2K1em41em5K1em71emlK1emo1en1K1eo01ereK1etc1eusK1eyl!G1f281f30K1f341f4gK1f4w!G1f5s1f6nK1f711f7uK1f801f91K1f921f96G1f9c1fa5K1fa81fb7K1fbc1fbjK1fbl1fbpK1fcw1fh9K1fhc1fhlO1fhs1firK1fiw1fjvK1fk01fl3K1flc1fmrK1fr41fzqK1g001g0lK1g0w1g13K1g5c1g5hK1g5k!K1g5m1g6tK1g6v1g6wK1g70!K1g731g7pK1g801g8mK1g8w1g9qK1gbk1gc2K1gc41gc5K1gcg1gd1K1gdc1ge1K1gg01ghjK1ghq1ghrK1gjk!K1gjl1gjnG1gjp1gjqG1gjw1gjzG1gk01gk3K1gk51gk7K1gk91gl1K1gl41gl6G1glb!G1gm81gn0K1gn41gnwK1gow1gp3K1gp51gpwK1gpx1gpyG1gqo1gs5K1gsg1gt1K1gtc1gtuK1gu81gupK1gxs1gzsK1h1c1h2qK1h341h4iK1h4w1h5vK1h5w1h5zG1h681h6hO1hfk1hgpK1hgr1hgsG1hgw1hgxK1hj41hjwK1hk7!K1hkg1hl1K1hl21hlcG1ho01hokK1hpc1hpyK1hq81hqaG1hqb1hrrK1hrs1hs6G1ht21htbO1htr1htuG1htv1hv3K1hv41hveG1hvh!I1hvx!I1hw01hwoK1hww1hx5O1hxc1hxeG1hxf1hyeK1hyf1hysG1hyu1hz3O1hz8!K1hz91hzaG1hzb!K1hzk1i0iK1i0j!G1i0m!K1i0w1i0yG1i0z1i2aK1i2b1i2oG1i2p1i2sK1i2x1i30G1i321i33G1i341i3dO1i3e!K1i3g!K1i4g1i4xK1i4z1i5nK1i5o1i5zG1i66!G1i801i86K1i88!K1i8a1i8dK1i8f1i8tK1i8v1i94K1i9c1iamK1ian1iayG1ib41ibdO1ibk1ibnG1ibp1ibwK1ibz1ic0K1ic31icoK1icq1icwK1icy1iczK1id11id5K1id71id8G1id9!K1ida1idgG1idj1idkG1idn1idpG1ids!K1idz!G1ie51ie9K1iea1iebG1iee1iekG1ieo1iesG1iio1ik4K1ik51ikmG1ikn1ikqK1ikw1il5O1ila!G1ilb1ildK1im81injK1ink1io3G1io41io5K1io7!K1iog1iopO1itc1iumK1iun1iutG1iuw1iv4G1ivs1ivvK1ivw1ivxG1iww1iy7K1iy81iyoG1iys!K1iz41izdO1j0g1j1mK1j1n1j1zG1j20!K1j281j2hO1j4t1j57G1j5c1j5lO1jb41jcbK1jcc1jcqG1jfk1jhbK1jhc1jhlO1ji71jieK1jih!K1jik1jirK1jit1jiuK1jiw1jjjK1jjk1jjpG1jjr1jjsG1jjv1jjyG1jjz!K1jk0!G1jk1!K1jk21jk3G1jkg1jkpO1jmo1jmvK1jmy1jo0K1jo11jo7G1joa1jogG1joh!K1joj!K1jok!G1jpc!K1jpd1jpmG1jpn1jqqK1jqr1jqxG1jqy!K1jqz1jr2G1jrb!G1jrk!K1jrl1jrvG1jrw1jt5K1jt61jtlG1jtp!K1juo1jw8K1k3k1k3sK1k3u1k4uK1k4v1k52G1k541k5bG1k5c!K1k5s1k61O1k6q1k7jK1k7m1k87G1k891k8mG1kao1kauK1kaw1kaxK1kaz1kc0K1kc11kc6G1kca!G1kcc1kcdG1kcf1kclG1kcm!K1kcn!G1kcw1kd5O1kdc1kdhK1kdj1kdkK1kdm1kehK1kei1kemG1keo1kepG1ker1kevG1kew!K1kf41kfdO1ko01koiK1koj1komG1kts!K1kw01lllK1log1lriK1ls01lxfK1o1s1oviK1ovk1ovsI1s001sg6K1z401zjsK1zk01zkuK1zkw1zl5O1zo01zotK1zow1zp0G1zpc1zqnK1zqo1zquG1zr41zr7K1zrk1zrtO1zs31zsnK1zst1ztbK20cg20e7K20hs20juK20jz!G20k0!K20k120ljG20lr20luG20lv20m7K20o020o1K20o3!K20o4!G20og20ohG2dc0!J2dlw2dlzJ2fpc2fsaK2fsg2fssK2fsw2ft4K2ftc2ftlK2ftp2ftqG2fts2ftvI2jxh2jxlG2jxp2jxuG2jxv2jy2I2jy32jyaG2jyd2jyjG2jze2jzhG2k3m2k3oG2kg02kicK2kie2kkcK2kke2kkfK2kki!K2kkl2kkmK2kkp2kksK2kku2kl5K2kl7!K2kl92klfK2klh2kn9K2knb2kneK2knh2knoK2knq2knwK2kny2kopK2kor2kouK2kow2kp0K2kp2!K2kp62kpcK2kpe2kytK2kyw2kzkK2kzm2l0aK2l0c2l16K2l182l1wK2l1y2l2sK2l2u2l3iK2l3k2l4eK2l4g2l54K2l562l60K2l622l6qK2l6s2l6zK2l722l8fO2lmo2lo6G2lob2lpoG2lpx!G2lqc!G2lqz2lr3G2lr52lrjG2mtc2mtiG2mtk2mu0G2mu32mu9G2mub2mucG2mue2muiG2n0g2n1oK2n1s2n1yG2n1z2n25K2n282n2hO2n2m!K2ncw2ne3K2ne42ne7G2ne82nehO2oe82ojoK2ok02ok6G2olc2on7K2on82oneG2onf!K2onk2ontO2pkw2pkzK2pl12plrK2plt2pluK2plw!K2plz!K2pm12pmaK2pmc2pmfK2pmh!K2pmj!K2pmq!K2pmv!K2pmx!K2pmz!K2pn12pn3K2pn52pn6K2pn8!K2pnb!K2pnd!K2pnf!K2pnh!K2pnj!K2pnl2pnmK2pno!K2pnr2pnuK2pnw2po2K2po42po7K2po92pocK2poe!K2pog2popK2por2pp7K2ppd2ppfK2pph2pplK2ppn2pq3K2q7k2q89K2q8g2q95K2q9c2qa1K2qcm2qdbH2qrf2qrjG2sc02sc9Ojny9!Ijnz4jo1rGjo5cjobzG",231,B.F5,B.xu,A.ao("cX"))) +s($,"aKU","aw5",()=>{var q=t.N +return new A.Vu(A.an(["birthday","bday","birthdayDay","bday-day","birthdayMonth","bday-month","birthdayYear","bday-year","countryCode","country","countryName","country-name","creditCardExpirationDate","cc-exp","creditCardExpirationMonth","cc-exp-month","creditCardExpirationYear","cc-exp-year","creditCardFamilyName","cc-family-name","creditCardGivenName","cc-given-name","creditCardMiddleName","cc-additional-name","creditCardName","cc-name","creditCardNumber","cc-number","creditCardSecurityCode","cc-csc","creditCardType","cc-type","email","email","familyName","family-name","fullStreetAddress","street-address","gender","sex","givenName","given-name","impp","impp","jobTitle","organization-title","language","language","middleName","additional-name","name","name","namePrefix","honorific-prefix","nameSuffix","honorific-suffix","newPassword","new-password","nickname","nickname","oneTimeCode","one-time-code","organizationName","organization","password","current-password","photo","photo","postalCode","postal-code","streetAddressLevel1","address-level1","streetAddressLevel2","address-level2","streetAddressLevel3","address-level3","streetAddressLevel4","address-level4","streetAddressLine1","address-line1","streetAddressLine2","address-line2","streetAddressLine3","address-line3","telephoneNumber","tel","telephoneNumberAreaCode","tel-area-code","telephoneNumberCountryCode","tel-country-code","telephoneNumberExtension","tel-extension","telephoneNumberLocal","tel-local","telephoneNumberLocalPrefix","tel-local-prefix","telephoneNumberLocalSuffix","tel-local-suffix","telephoneNumberNational","tel-national","transactionAmount","transaction-amount","transactionCurrency","transaction-currency","url","url","username","username"],q,q))}) +s($,"aPT","DV",()=>new A.a05()) +s($,"aPt","ayK",()=>A.HY(4)) +s($,"aPr","apc",()=>A.HY(16)) +s($,"aPs","ayJ",()=>A.aCJ($.apc())) +r($,"aPO","dj",()=>A.aB_(A.I(self.window,"console"))) +r($,"aLp","awf",()=>{var q=$.br(),p=A.hq(!1,t.i) +p=new A.FO(q,q.gnR(0),p) +p.MG() +return p}) +s($,"aOz","alp",()=>new A.ak0().$0()) +s($,"aLd","Um",()=>A.aJJ("_$dart_dartClosure")) +s($,"aPK","ayO",()=>B.ad.eM(new A.al1())) +s($,"aNn","axf",()=>A.ka(A.abU({ +toString:function(){return"$receiver$"}}))) +s($,"aNo","axg",()=>A.ka(A.abU({$method$:null, +toString:function(){return"$receiver$"}}))) +s($,"aNp","axh",()=>A.ka(A.abU(null))) +s($,"aNq","axi",()=>A.ka(function(){var $argumentsExpr$="$arguments$" +try{null.$method$($argumentsExpr$)}catch(q){return q.message}}())) +s($,"aNt","axl",()=>A.ka(A.abU(void 0))) +s($,"aNu","axm",()=>A.ka(function(){var $argumentsExpr$="$arguments$" +try{(void 0).$method$($argumentsExpr$)}catch(q){return q.message}}())) +s($,"aNs","axk",()=>A.ka(A.at6(null))) +s($,"aNr","axj",()=>A.ka(function(){try{null.$method$}catch(q){return q.message}}())) +s($,"aNw","axo",()=>A.ka(A.at6(void 0))) +s($,"aNv","axn",()=>A.ka(function(){try{(void 0).$method$}catch(q){return q.message}}())) +s($,"aP2","ayr",()=>A.ang(254)) +s($,"aOP","aye",()=>97) +s($,"aP0","ayp",()=>65) +s($,"aOQ","ayf",()=>122) +s($,"aP1","ayq",()=>90) +s($,"aOR","ayg",()=>48) +s($,"aNG","aoZ",()=>A.aFz()) +s($,"aLB","pl",()=>A.ao("a8").a($.ayO())) +s($,"aO6","axO",()=>A.amM(4096)) +s($,"aO4","axM",()=>new A.ajb().$0()) +s($,"aO5","axN",()=>new A.aja().$0()) +s($,"aNI","ap_",()=>A.aD3(A.kw(A.b([-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)))) +r($,"aNH","axw",()=>A.amM(0)) +s($,"aO7","Ur",()=>A.aGN()) +s($,"aO2","axK",()=>A.i_("^[\\-\\.0-9A-Z_a-z~]*$",!0,!1)) +s($,"aO3","axL",()=>typeof URLSearchParams=="function") +s($,"aOy","dt",()=>A.pj(B.Rx)) +s($,"aNg","DR",()=>{A.aDK() +return $.a6K}) +s($,"aP7","ayu",()=>A.aHg()) +s($,"aLx","awg",()=>A.i_("^(?:\\\\\\\\|[a-zA-Z]:[/\\\\])",!0,!1)) +s($,"aLy","awh",()=>$.all()?A.i_("[^/\\\\][/\\\\]+[^/\\\\]",!0,!1):A.i_("[^/]/+[^/]",!0,!1)) +s($,"aOD","ay6",()=>new A.J()) +s($,"aMM","awX",()=>A.aG4()) +s($,"aML","all",()=>{$.awX() +return!1}) +s($,"aMR","awZ",()=>{var q=new A.ag0(A.aD0(8)) +q.YD() +return q}) +s($,"aLr","di",()=>A.ey(A.arD(A.b([1],t.t)).buffer,0,null).getInt8(0)===1?B.aa:B.yE) +s($,"aPB","Uy",()=>new A.Wp(A.E(t.N,A.ao("kg")))) +s($,"aKV","aw6",()=>new A.Vw()) +r($,"aPx","av",()=>$.aw6()) +r($,"aP4","alr",()=>B.yT) +s($,"aPL","apk",()=>new A.a6n()) +s($,"aKX","aoL",()=>new A.J()) +r($,"azT","mM",()=>A.aCR()) +r($,"aPD","kH",()=>new A.Zt()) +s($,"aOF","ay8",()=>A.anb(1,1,500)) +r($,"aKR","aoK",()=>new A.Ea(B.q,B.q)) +s($,"aOZ","ayo",()=>A.fR(B.dJ,B.h,t.o)) +s($,"aOS","ayh",()=>A.fR(B.h,B.I7,t.o)) +r($,"aNQ","axC",()=>new A.Fw(B.SH,B.SG)) +s($,"aOo","axZ",()=>A.aIh($.av().gbZ())) +s($,"aKZ","aM",()=>A.bc(0,null,!1,t.Nw)) +s($,"aNP","DT",()=>new A.me(0,$.axB())) +s($,"aNO","axB",()=>A.aI9(0)) +s($,"aOs","Uu",()=>A.lw(null,t.N)) +s($,"aOt","ap2",()=>A.aEM()) +s($,"aNF","axv",()=>A.amM(8)) +s($,"aNf","axb",()=>A.i_("^\\s*at ([^\\s]+).*$",!0,!1)) +s($,"aPF","apg",()=>A.apQ(4294967295)) +s($,"aPE","apf",()=>A.apQ(3707764736)) +s($,"aNY","axH",()=>A.fR(0.75,1,t.i)) +s($,"aNZ","axI",()=>A.eY(B.R8)) +s($,"aLJ","awm",()=>A.eY(B.ay)) +s($,"aLK","awn",()=>A.eY(B.CQ)) +s($,"aOg","axW",()=>{var q=t.i +return A.b([A.at5(A.fR(0,0.4,q).h6(A.eY(B.AY)),0.166666,q),A.at5(A.fR(0.4,1,q).h6(A.eY(B.B_)),0.833334,q)],t.x0)}) +s($,"aOf","Us",()=>A.at4($.axW(),t.i)) +s($,"aO8","axP",()=>A.fR(0,1,t.i).h6(A.eY(B.CT))) +s($,"aO9","axQ",()=>A.fR(1.1,1,t.i).h6($.Us())) +s($,"aOa","axR",()=>A.fR(0.85,1,t.i).h6($.Us())) +s($,"aOb","axS",()=>A.fR(0,0.6,t.PM).h6(A.eY(B.CV))) +s($,"aOc","axT",()=>A.fR(1,0,t.i).h6(A.eY(B.CM))) +s($,"aOe","axV",()=>A.fR(1,1.05,t.i).h6($.Us())) +s($,"aOd","axU",()=>A.fR(1,0.9,t.i).h6($.Us())) +s($,"aNM","axz",()=>A.eY(B.CO).h6(A.eY(B.j1))) +s($,"aNN","axA",()=>A.eY(B.CN).h6(A.eY(B.j1))) +s($,"aNK","axx",()=>A.eY(B.j1)) +s($,"aNL","axy",()=>A.eY(B.Jt)) +s($,"aNR","axD",()=>A.fR(0.875,1,t.i).h6(A.eY(B.d7))) +s($,"aNm","axe",()=>A.aF3()) +s($,"aNl","axd",()=>new A.NI(A.E(A.ao("to"),t.we),5,A.ao("NI"))) +s($,"aMA","alk",()=>A.aD2(4)) +r($,"aMX","ax1",()=>B.Ag) +r($,"aMZ","ax3",()=>{var q=null +return A.asW(q,B.kU,q,q,q,q,"sans-serif",q,q,18,q,q,q,q,q,q,q,q,q,q,q)}) +r($,"aMY","ax2",()=>{var q=null +return A.arR(q,q,q,q,q,q,q,q,q,B.e0,B.p,q)}) +s($,"aO1","axJ",()=>A.aCK()) +s($,"aN_","ax4",()=>A.ang(65532)) +s($,"aO_","DU",()=>A.ang(65532)) +s($,"aO0","uq",()=>$.DU().length) +s($,"aP_","Uv",()=>98304) +s($,"aN6","alm",()=>A.lX()) +s($,"aN5","ax6",()=>A.arB(0)) +s($,"aN7","ax7",()=>A.arB(0)) +s($,"aN8","ax8",()=>A.aCL().a) +s($,"aPP","Uz",()=>{var q=t.N,p=t.L0 +return new A.a6e(A.E(q,A.ao("a6")),A.E(q,p),A.E(q,p))}) +s($,"aLL","awo",()=>A.an([4294967562,B.i2,4294967564,B.D3,4294967556,B.D4],t.S,t.SQ)) +s($,"aLM","awp",()=>{var q=t.r +return A.an([B.iu,A.bZ([B.bX,B.cq],q),B.iw,A.bZ([B.dx,B.f5],q),B.iv,A.bZ([B.dw,B.f4],q),B.it,A.bZ([B.dv,B.f3],q)],q,A.ao("ba"))}) +s($,"aPM","ayP",()=>new A.a6p()) +s($,"aMV","aoW",()=>new A.a6T(A.b([],A.ao("v<~(k_)>")),A.E(t.v3,t.r))) +s($,"aMU","ax0",()=>{var q=t.v3 +return A.an([B.Te,A.bZ([B.cA],q),B.Tf,A.bZ([B.cC],q),B.Tg,A.bZ([B.cA,B.cC],q),B.Td,A.bZ([B.cA],q),B.Ta,A.bZ([B.cz],q),B.Tb,A.bZ([B.dN],q),B.Tc,A.bZ([B.cz,B.dN],q),B.T9,A.bZ([B.cz],q),B.T6,A.bZ([B.cy],q),B.T7,A.bZ([B.dM],q),B.T8,A.bZ([B.cy,B.dM],q),B.T5,A.bZ([B.cy],q),B.Ti,A.bZ([B.cB],q),B.Tj,A.bZ([B.dO],q),B.Tk,A.bZ([B.cB,B.dO],q),B.Th,A.bZ([B.cB],q),B.Tl,A.bZ([B.c3],q),B.Tm,A.bZ([B.fe],q),B.Tn,A.bZ([B.fd],q),B.To,A.bZ([B.dL],q)],A.ao("cy"),A.ao("ba"))}) +s($,"aMT","aoV",()=>A.an([B.cA,B.dw,B.cC,B.f4,B.cz,B.bX,B.dN,B.cq,B.cy,B.dv,B.dM,B.f3,B.cB,B.dx,B.dO,B.f5,B.c3,B.ds,B.fe,B.f1,B.fd,B.f2],t.v3,t.r)) +s($,"aMS","ax_",()=>{var q=A.E(t.v3,t.r) +q.n(0,B.dL,B.iq) +q.L(0,$.aoV()) +return q}) +s($,"aNk","axc",()=>{var q=$.axG() +q=new A.L5(q,A.bZ([q],A.ao("zK")),A.E(t.N,A.ao("aN0"))) +q.c=B.r8 +q.gZH().j0(q.ga47()) +return q}) +s($,"aNW","axG",()=>new A.Py()) +r($,"aNE","axu",()=>{var q=A.ao("~(bp)") +return A.an([B.Rk,A.aq8(!0),B.Ro,A.aq8(!1),B.RE,new A.JL(A.xD(q)),B.Rw,new A.I5(A.xD(q)),B.RA,new A.J4(A.xD(q)),B.Rj,new A.FK(A.xD(q)),B.xp,A.aEf(),B.RB,new A.J8(A.xD(q)),B.RM,new A.LF(A.xD(q))],t.u,t.od)}) +s($,"aLf","alh",()=>{var q,p,o,n=t.v,m=A.E(t.Vz,n) +for(q=A.ao("a2"),p=0;p<2;++p){o=B.il[p] +m.L(0,A.an([A.dC(B.am,!1,!1,!1,o),B.kg,A.dC(B.am,!1,!0,!1,o),B.kj,A.dC(B.am,!0,!1,!1,o),B.kh,A.dC(B.af,!1,!1,!1,o),B.eh,A.dC(B.af,!1,!0,!1,o),B.ei,A.dC(B.af,!0,!1,!1,o),B.ki],q,n))}m.n(0,B.fz,B.ej) +m.n(0,B.fA,B.ek) +m.n(0,B.fv,B.cW) +m.n(0,B.fw,B.cX) +m.n(0,B.jh,B.hc) +m.n(0,B.ji,B.hd) +m.n(0,B.wx,B.el) +m.n(0,B.wy,B.em) +m.n(0,B.jj,B.cU) +m.n(0,B.jk,B.cV) +m.n(0,B.jl,B.he) +m.n(0,B.jm,B.hf) +m.n(0,B.jn,B.kq) +m.n(0,B.jo,B.kr) +m.n(0,B.jp,B.ko) +m.n(0,B.jq,B.kp) +m.n(0,B.wz,B.hg) +m.n(0,B.wA,B.hh) +m.n(0,B.wB,B.ku) +m.n(0,B.wC,B.kv) +m.n(0,B.Kz,B.ks) +m.n(0,B.KA,B.kt) +m.n(0,B.dZ,B.hi) +m.n(0,B.dY,B.hj) +m.n(0,B.jt,B.hk) +m.n(0,B.jr,B.hl) +m.n(0,B.wL,B.ke) +m.n(0,B.wM,B.kf) +m.n(0,B.wN,B.kz) +m.n(0,B.js,B.kB) +m.n(0,B.KP,B.kD) +m.n(0,B.KQ,B.kA) +m.n(0,B.fB,B.k) +m.n(0,B.fC,B.k) +return m}) +s($,"aLe","aoN",()=>$.alh()) +s($,"aLg","awa",()=>$.aoN()) +s($,"aLi","aoO",()=>A.an([B.Ld,B.hd,B.Le,B.hc,B.KF,B.el,B.Lf,B.em,B.Lg,B.kv,B.Lh,B.ku,B.KG,B.ks,B.Li,B.kt,B.KH,B.hk,B.Lj,B.hl,B.Lk,B.el,B.Ll,B.em,B.Kw,B.eh,B.Kx,B.ei,B.KS,B.ek,B.KT,B.ej,B.L6,B.cW,B.KU,B.cX,B.KV,B.hh,B.KW,B.hg,B.L7,B.yM,B.KX,B.yN,B.L8,B.hi,B.KY,B.hj,B.KZ,B.cW,B.L_,B.cX,B.L0,B.eh,B.L1,B.ei],t.Vz,t.v)) +s($,"aLj","awc",()=>{var q=A.lv($.alh(),t.Vz,t.v) +q.L(0,$.aoO()) +q.n(0,B.ft,B.cU) +q.n(0,B.fu,B.cV) +q.n(0,B.fx,B.kq) +q.n(0,B.fy,B.kr) +return q}) +s($,"aLl","aoP",()=>{var q,p,o,n=t.v,m=A.E(t.Vz,n) +for(q=A.ao("a2"),p=0;p<2;++p){o=B.il[p] +m.L(0,A.an([A.dC(B.am,!1,!1,!1,o),B.kg,A.dC(B.am,!0,!1,!1,o),B.kj,A.dC(B.am,!1,!1,!0,o),B.kh,A.dC(B.af,!1,!1,!1,o),B.eh,A.dC(B.af,!0,!1,!1,o),B.ei,A.dC(B.af,!1,!1,!0,o),B.ki],q,n))}m.n(0,B.fz,B.ej) +m.n(0,B.fA,B.ek) +m.n(0,B.fv,B.cW) +m.n(0,B.fw,B.cX) +m.n(0,B.jh,B.hc) +m.n(0,B.ji,B.hd) +m.n(0,B.wx,B.el) +m.n(0,B.wy,B.em) +m.n(0,B.jj,B.hg) +m.n(0,B.jk,B.hh) +m.n(0,B.jl,B.cU) +m.n(0,B.jm,B.cV) +m.n(0,B.jn,B.yQ) +m.n(0,B.jo,B.yR) +m.n(0,B.jp,B.yO) +m.n(0,B.jq,B.yP) +m.n(0,B.wD,B.cU) +m.n(0,B.wE,B.cV) +m.n(0,B.wF,B.he) +m.n(0,B.wG,B.hf) +m.n(0,B.wH,B.yG) +m.n(0,B.wI,B.yH) +m.n(0,B.KB,B.km) +m.n(0,B.KC,B.kn) +m.n(0,B.KR,B.zt) +m.n(0,B.ft,B.zh) +m.n(0,B.fu,B.zi) +m.n(0,B.fx,B.km) +m.n(0,B.fy,B.kn) +m.n(0,B.dZ,B.w6) +m.n(0,B.dY,B.j6) +m.n(0,B.jt,B.hk) +m.n(0,B.jr,B.hl) +m.n(0,B.wP,B.ke) +m.n(0,B.wQ,B.kf) +m.n(0,B.wR,B.kz) +m.n(0,B.wO,B.kB) +m.n(0,B.KI,B.kD) +m.n(0,B.KJ,B.kA) +m.n(0,B.KK,B.cV) +m.n(0,B.js,B.cU) +m.n(0,B.KL,B.ek) +m.n(0,B.KM,B.ej) +m.n(0,B.KN,B.cX) +m.n(0,B.KO,B.cW) +m.n(0,B.fB,B.k) +m.n(0,B.fC,B.k) +return m}) +s($,"aLh","awb",()=>$.aoP()) +s($,"aLn","awe",()=>{var q=A.lv($.alh(),t.Vz,t.v) +q.n(0,B.dZ,B.hi) +q.n(0,B.dY,B.hj) +q.n(0,B.ft,B.yI) +q.n(0,B.fu,B.yJ) +q.n(0,B.fx,B.yK) +q.n(0,B.fy,B.yL) +q.n(0,B.wJ,B.he) +q.n(0,B.wK,B.hf) +q.n(0,B.KD,B.ko) +q.n(0,B.KE,B.kp) +return q}) +s($,"aLm","aoQ",()=>{var q,p,o,n=t.v,m=A.E(t.Vz,n) +for(q=A.ao("a2"),p=0;p<2;++p){o=B.il[p] +m.L(0,A.an([A.dC(B.am,!1,!1,!1,o),B.k,A.dC(B.af,!1,!1,!1,o),B.k,A.dC(B.am,!0,!1,!1,o),B.k,A.dC(B.af,!0,!1,!1,o),B.k,A.dC(B.am,!1,!0,!1,o),B.k,A.dC(B.af,!1,!0,!1,o),B.k,A.dC(B.am,!1,!1,!0,o),B.k,A.dC(B.af,!1,!1,!0,o),B.k],q,n))}m.L(0,B.qO) +m.n(0,B.wL,B.k) +m.n(0,B.wP,B.k) +m.n(0,B.wM,B.k) +m.n(0,B.wQ,B.k) +m.n(0,B.wN,B.k) +m.n(0,B.wR,B.k) +m.n(0,B.js,B.k) +m.n(0,B.wO,B.k) +return m}) +s($,"aLk","awd",()=>{var q=A.lv(B.qO,t.Vz,t.v) +q.L(0,B.qU) +q.n(0,B.wU,B.k) +q.n(0,B.wS,B.k) +q.n(0,B.wT,B.k) +q.n(0,B.jq,B.k) +q.n(0,B.jp,B.k) +q.n(0,B.jh,B.k) +q.n(0,B.ji,B.k) +q.n(0,B.jn,B.k) +q.n(0,B.jo,B.k) +q.n(0,B.wH,B.k) +q.n(0,B.wI,B.k) +q.n(0,B.dZ,B.k) +q.n(0,B.dY,B.k) +q.n(0,B.fu,B.k) +q.n(0,B.ft,B.k) +q.n(0,B.jt,B.k) +q.n(0,B.jr,B.k) +q.n(0,B.fy,B.k) +q.n(0,B.fx,B.k) +q.n(0,B.wK,B.k) +q.n(0,B.wJ,B.k) +return q}) +r($,"aNU","ap0",()=>new A.Pe(B.Tq,B.a1)) +s($,"aNT","axF",()=>A.fR(1,0,t.i)) +s($,"aMC","io",()=>A.aqJ()) +s($,"aNS","axE",()=>A.cR(16667,0)) +s($,"aN1","ax5",()=>A.anb(0.5,1.1,100)) +s($,"aL3","alg",()=>A.avE(0.78)/A.avE(0.9)) +s($,"aOr","ay0",()=>A.a1G(A.bZ([B.it],t.r))) +s($,"aPa","ayv",()=>A.a1G(A.bZ([B.iu],t.r))) +s($,"aOh","axX",()=>A.a1G(A.bZ([B.iv],t.r))) +s($,"aP3","ays",()=>A.a1G(A.bZ([B.iw],t.r))) +s($,"aLz","aoR",()=>new A.J()) +r($,"aBD","kG",()=>{var q=new A.a4A() +q.n6($.aoR()) +return q}) +s($,"aPV","ayR",()=>new A.a6q(A.E(t.N,A.ao("a6?(cu?)")))) +s($,"aLI","aoS",()=>new A.J()) +r($,"aC9","awl",()=>{var q=new A.a4B() +q.n6($.aoS()) +return q}) +r($,"aLO","aoT",()=>{var q=null +return A.bf(q,q,!0,"background",new A.a1P(),q,new A.a1Q(),q)}) +r($,"aLU","aws",()=>A.bf(new A.a26(),A.bH(3,3,4.5,7),!1,"on_background",new A.a27(),null,new A.a28(),null)) +r($,"aMm","awN",()=>{var q=null +return A.bf(q,q,!0,"surface",new A.a3W(),q,new A.a3X(),q)}) +r($,"aMt","dG",()=>{var q=null +return A.bf(q,q,!0,"surface_dim",new A.a3S(),q,new A.a3T(),q)}) +r($,"aMn","dF",()=>{var q=null +return A.bf(q,q,!0,"surface_bright",new A.a3G(),q,new A.a3H(),q)}) +r($,"aMs","awS",()=>{var q=null +return A.bf(q,q,!0,"surface_container_lowest",new A.a3O(),q,new A.a3P(),q)}) +r($,"aMr","awR",()=>{var q=null +return A.bf(q,q,!0,"surface_container_low",new A.a3M(),q,new A.a3N(),q)}) +r($,"aMo","awO",()=>{var q=null +return A.bf(q,q,!0,"surface_container",new A.a3Q(),q,new A.a3R(),q)}) +r($,"aMp","awP",()=>{var q=null +return A.bf(q,q,!0,"surface_container_high",new A.a3I(),q,new A.a3J(),q)}) +r($,"aMq","awQ",()=>{var q=null +return A.bf(q,q,!0,"surface_container_highest",new A.a3K(),q,new A.a3L(),q)}) +r($,"aM4","awD",()=>A.bf(new A.a2K(),A.bH(4.5,7,11,21),!1,"on_surface",new A.a2L(),null,new A.a2M(),null)) +r($,"aMu","awT",()=>{var q=null +return A.bf(q,q,!0,"surface_variant",new A.a3U(),q,new A.a3V(),q)}) +r($,"aM5","awE",()=>A.bf(new A.a2H(),A.bH(3,4.5,7,11),!1,"on_surface_variant",new A.a2I(),null,new A.a2J(),null)) +r($,"aLT","alj",()=>{var q=null +return A.bf(q,q,!1,"inverse_surface",new A.a24(),q,new A.a25(),q)}) +r($,"aLR","awq",()=>A.bf(new A.a1Z(),A.bH(4.5,7,11,21),!1,"inverse_on_surface",new A.a2_(),null,new A.a20(),null)) +r($,"aMa","awJ",()=>A.bf(new A.a33(),A.bH(1.5,3,4.5,7),!1,"outline",new A.a34(),null,new A.a35(),null)) +r($,"aMb","awK",()=>A.bf(new A.a30(),A.bH(1,1,3,4.5),!1,"outline_variant",new A.a31(),null,new A.a32(),null)) +r($,"aMl","awM",()=>{var q=null +return A.bf(q,q,!1,"shadow",new A.a3E(),q,new A.a3F(),q)}) +r($,"aMg","awL",()=>{var q=null +return A.bf(q,q,!1,"scrim",new A.a3m(),q,new A.a3n(),q)}) +r($,"aMc","DG",()=>A.bf(new A.a3i(),A.bH(3,4.5,7,7),!0,"primary",new A.a3j(),null,new A.a3k(),new A.a3l())) +r($,"aLX","awv",()=>A.bf(new A.a2q(),A.bH(4.5,7,11,21),!1,"on_primary",new A.a2r(),null,new A.a2s(),null)) +r($,"aMd","DH",()=>A.bf(new A.a36(),A.bH(1,1,3,4.5),!0,"primary_container",new A.a37(),null,new A.a38(),new A.a39())) +r($,"aLY","aww",()=>A.bf(new A.a2f(),A.bH(4.5,7,11,21),!1,"on_primary_container",new A.a2g(),null,new A.a2h(),null)) +r($,"aLS","awr",()=>A.bf(new A.a21(),A.bH(3,4.5,7,7),!1,"inverse_primary",new A.a22(),null,new A.a23(),null)) +r($,"aMh","Up",()=>A.bf(new A.a3A(),A.bH(3,4.5,7,7),!0,"secondary",new A.a3B(),null,new A.a3C(),new A.a3D())) +r($,"aM0","awz",()=>A.bf(new A.a2E(),A.bH(4.5,7,11,21),!1,"on_secondary",new A.a2F(),null,new A.a2G(),null)) +r($,"aMi","DK",()=>A.bf(new A.a3o(),A.bH(1,1,3,4.5),!0,"secondary_container",new A.a3p(),null,new A.a3q(),new A.a3r())) +r($,"aM1","awA",()=>A.bf(new A.a2t(),A.bH(4.5,7,11,21),!1,"on_secondary_container",new A.a2u(),null,new A.a2v(),null)) +r($,"aMv","Uq",()=>A.bf(new A.a49(),A.bH(3,4.5,7,7),!0,"tertiary",new A.a4a(),null,new A.a4b(),new A.a4c())) +r($,"aM6","awF",()=>A.bf(new A.a2Y(),A.bH(4.5,7,11,21),!1,"on_tertiary",new A.a2Z(),null,new A.a3_(),null)) +r($,"aMw","DN",()=>A.bf(new A.a3Y(),A.bH(1,1,3,4.5),!0,"tertiary_container",new A.a3Z(),null,new A.a4_(),new A.a40())) +r($,"aM7","awG",()=>A.bf(new A.a2N(),A.bH(4.5,7,11,21),!1,"on_tertiary_container",new A.a2O(),null,new A.a2P(),null)) +r($,"aLP","Un",()=>A.bf(new A.a1V(),A.bH(3,4.5,7,7),!0,"error",new A.a1W(),null,new A.a1X(),new A.a1Y())) +r($,"aLV","awt",()=>A.bf(new A.a2c(),A.bH(4.5,7,11,21),!1,"on_error",new A.a2d(),null,new A.a2e(),null)) +r($,"aLQ","Uo",()=>A.bf(new A.a1R(),A.bH(1,1,3,4.5),!0,"error_container",new A.a1S(),null,new A.a1T(),new A.a1U())) +r($,"aLW","awu",()=>A.bf(new A.a29(),A.bH(4.5,7,11,21),!1,"on_error_container",new A.a2a(),null,new A.a2b(),null)) +r($,"aMe","DI",()=>A.bf(new A.a3e(),A.bH(1,1,3,4.5),!0,"primary_fixed",new A.a3f(),null,new A.a3g(),new A.a3h())) +r($,"aMf","DJ",()=>A.bf(new A.a3a(),A.bH(1,1,3,4.5),!0,"primary_fixed_dim",new A.a3b(),null,new A.a3c(),new A.a3d())) +r($,"aLZ","awx",()=>A.bf(new A.a2m(),A.bH(4.5,7,11,21),!1,"on_primary_fixed",new A.a2n(),new A.a2o(),new A.a2p(),null)) +r($,"aM_","awy",()=>A.bf(new A.a2i(),A.bH(3,4.5,7,11),!1,"on_primary_fixed_variant",new A.a2j(),new A.a2k(),new A.a2l(),null)) +r($,"aMj","DL",()=>A.bf(new A.a3w(),A.bH(1,1,3,4.5),!0,"secondary_fixed",new A.a3x(),null,new A.a3y(),new A.a3z())) +r($,"aMk","DM",()=>A.bf(new A.a3s(),A.bH(1,1,3,4.5),!0,"secondary_fixed_dim",new A.a3t(),null,new A.a3u(),new A.a3v())) +r($,"aM2","awB",()=>A.bf(new A.a2A(),A.bH(4.5,7,11,21),!1,"on_secondary_fixed",new A.a2B(),new A.a2C(),new A.a2D(),null)) +r($,"aM3","awC",()=>A.bf(new A.a2w(),A.bH(3,4.5,7,11),!1,"on_secondary_fixed_variant",new A.a2x(),new A.a2y(),new A.a2z(),null)) +r($,"aMx","DO",()=>A.bf(new A.a45(),A.bH(1,1,3,4.5),!0,"tertiary_fixed",new A.a46(),null,new A.a47(),new A.a48())) +r($,"aMy","DP",()=>A.bf(new A.a41(),A.bH(1,1,3,4.5),!0,"tertiary_fixed_dim",new A.a42(),null,new A.a43(),new A.a44())) +r($,"aM8","awH",()=>A.bf(new A.a2U(),A.bH(4.5,7,11,21),!1,"on_tertiary_fixed",new A.a2V(),new A.a2W(),new A.a2X(),null)) +r($,"aM9","awI",()=>A.bf(new A.a2Q(),A.bH(3,4.5,7,11),!1,"on_tertiary_fixed_variant",new A.a2R(),new A.a2S(),new A.a2T(),null)) +s($,"aNC","axt",()=>$.DS()) +s($,"aNB","DS",()=>{var q,p,o,n,m,l,k,j,i,h,g=63.66197723675813*A.n0(50)/100,f=A.aK6(0.1,50),e=$.pO[0],d=$.pO[1],c=$.pO[2],b=e*0.401288+d*0.650173+c*-0.051461,a=e*-0.250268+d*1.204414+c*0.045854,a0=e*-0.002079+d*0.048952+c*0.953127,a1=A.amI(0.59,0.69,0.9999999999999998),a2=1-0.2777777777777778*A.aJu((-g-42)/92) +if(a2>1)a2=1 +else if(a2<0)a2=0 +q=A.b([a2*(100/b)+1-a2,a2*(100/a)+1-a2,a2*(100/a0)+1-a2],t.n) +e=5*g +p=1/(e+1) +o=p*p*p*p +n=1-o +m=o*g+0.1*n*n*A.DB(e,0.3333333333333333) +l=A.n0(f)/$.pO[1] +e=A.aKr(l) +k=0.725/A.DB(l,0.2) +j=[A.DB(m*q[0]*b/100,0.42),A.DB(m*q[1]*a/100,0.42),A.DB(m*q[2]*a0/100,0.42)] +d=j[0] +c=j[1] +i=j[2] +h=[400*d/(d+27.13),400*c/(c+27.13),400*i/(i+27.13)] +return new A.ach(l,(40*h[0]+20*h[1]+h[2])/20*k,k,k,a1,1,q,m,A.DB(m,0.25),1.48+e)}) +s($,"aOx","ap4",()=>{var q=t.N +return new A.a4O(A.E(q,q),A.b([],t.gg))}) +s($,"aMF","awV",()=>new A.J()) +r($,"aME","awU",()=>{var q=new A.a4C() +q.n6($.awV()) +return q}) +s($,"aMH","up",()=>A.aqJ()) +s($,"aNa","aoX",()=>new A.J()) +r($,"aEy","ax9",()=>{var q=new A.a4D() +q.n6($.aoX()) +return q}) +s($,"aNb","aoY",()=>new A.J()) +r($,"aEz","aln",()=>{var q=new A.a4G() +q.n6($.aoY()) +return q}) +s($,"aNx","alo",()=>new A.J()) +r($,"aFp","axp",()=>{var q=new A.a4H() +q.n6($.alo()) +return q}) +r($,"aNz","axr",()=>new A.X7()) +s($,"aNy","axq",()=>{var q,p=J.H6(256,t.N) +for(q=0;q<256;++q)p[q]=B.d.mm(B.f.ia(q,16),2,"0") +return p}) +s($,"aL4","aw9",()=>$.awZ())})();(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({WebGL:J.qu,AbortPaymentEvent:J.d,AnimationEffectReadOnly:J.d,AnimationEffectTiming:J.d,AnimationEffectTimingReadOnly:J.d,AnimationEvent:J.d,AnimationPlaybackEvent:J.d,AnimationTimeline:J.d,AnimationWorkletGlobalScope:J.d,ApplicationCacheErrorEvent:J.d,AuthenticatorAssertionResponse:J.d,AuthenticatorAttestationResponse:J.d,AuthenticatorResponse:J.d,BackgroundFetchClickEvent:J.d,BackgroundFetchEvent:J.d,BackgroundFetchFailEvent:J.d,BackgroundFetchFetch:J.d,BackgroundFetchManager:J.d,BackgroundFetchSettledFetch:J.d,BackgroundFetchedEvent:J.d,BarProp:J.d,BarcodeDetector:J.d,BeforeInstallPromptEvent:J.d,BeforeUnloadEvent:J.d,BlobEvent:J.d,BluetoothRemoteGATTDescriptor:J.d,Body:J.d,BudgetState:J.d,CacheStorage:J.d,CanMakePaymentEvent:J.d,CanvasGradient:J.d,CanvasPattern:J.d,CanvasRenderingContext2D:J.d,Client:J.d,Clients:J.d,ClipboardEvent:J.d,CloseEvent:J.d,CompositionEvent:J.d,CookieStore:J.d,Coordinates:J.d,Credential:J.d,CredentialUserData:J.d,CredentialsContainer:J.d,Crypto:J.d,CryptoKey:J.d,CSS:J.d,CSSVariableReferenceValue:J.d,CustomElementRegistry:J.d,CustomEvent:J.d,DataTransfer:J.d,DataTransferItem:J.d,DeprecatedStorageInfo:J.d,DeprecatedStorageQuota:J.d,DeprecationReport:J.d,DetectedBarcode:J.d,DetectedFace:J.d,DetectedText:J.d,DeviceAcceleration:J.d,DeviceMotionEvent:J.d,DeviceOrientationEvent:J.d,DeviceRotationRate:J.d,DirectoryEntry:J.d,webkitFileSystemDirectoryEntry:J.d,FileSystemDirectoryEntry:J.d,DirectoryReader:J.d,WebKitDirectoryReader:J.d,webkitFileSystemDirectoryReader:J.d,FileSystemDirectoryReader:J.d,DocumentOrShadowRoot:J.d,DocumentTimeline:J.d,DOMError:J.d,DOMImplementation:J.d,Iterator:J.d,DOMMatrix:J.d,DOMMatrixReadOnly:J.d,DOMParser:J.d,DOMPoint:J.d,DOMPointReadOnly:J.d,DOMQuad:J.d,DOMStringMap:J.d,Entry:J.d,webkitFileSystemEntry:J.d,FileSystemEntry:J.d,ErrorEvent:J.d,Event:J.d,InputEvent:J.d,SubmitEvent:J.d,ExtendableEvent:J.d,ExtendableMessageEvent:J.d,External:J.d,FaceDetector:J.d,FederatedCredential:J.d,FetchEvent:J.d,FileEntry:J.d,webkitFileSystemFileEntry:J.d,FileSystemFileEntry:J.d,DOMFileSystem:J.d,WebKitFileSystem:J.d,webkitFileSystem:J.d,FileSystem:J.d,FocusEvent:J.d,FontFace:J.d,FontFaceSetLoadEvent:J.d,FontFaceSource:J.d,ForeignFetchEvent:J.d,FormData:J.d,GamepadButton:J.d,GamepadEvent:J.d,GamepadPose:J.d,Geolocation:J.d,Position:J.d,GeolocationPosition:J.d,HashChangeEvent:J.d,Headers:J.d,HTMLHyperlinkElementUtils:J.d,IdleDeadline:J.d,ImageBitmap:J.d,ImageBitmapRenderingContext:J.d,ImageCapture:J.d,ImageData:J.d,InputDeviceCapabilities:J.d,InstallEvent:J.d,IntersectionObserver:J.d,IntersectionObserverEntry:J.d,InterventionReport:J.d,KeyboardEvent:J.d,KeyframeEffect:J.d,KeyframeEffectReadOnly:J.d,MediaCapabilities:J.d,MediaCapabilitiesInfo:J.d,MediaDeviceInfo:J.d,MediaEncryptedEvent:J.d,MediaError:J.d,MediaKeyMessageEvent:J.d,MediaKeyStatusMap:J.d,MediaKeySystemAccess:J.d,MediaKeys:J.d,MediaKeysPolicy:J.d,MediaMetadata:J.d,MediaQueryListEvent:J.d,MediaSession:J.d,MediaSettingsRange:J.d,MediaStreamEvent:J.d,MediaStreamTrackEvent:J.d,MemoryInfo:J.d,MessageChannel:J.d,MessageEvent:J.d,Metadata:J.d,MIDIConnectionEvent:J.d,MIDIMessageEvent:J.d,MouseEvent:J.d,DragEvent:J.d,MutationEvent:J.d,MutationObserver:J.d,WebKitMutationObserver:J.d,MutationRecord:J.d,NavigationPreloadManager:J.d,Navigator:J.d,NavigatorAutomationInformation:J.d,NavigatorConcurrentHardware:J.d,NavigatorCookies:J.d,NavigatorUserMediaError:J.d,NodeFilter:J.d,NodeIterator:J.d,NonDocumentTypeChildNode:J.d,NonElementParentNode:J.d,NoncedElement:J.d,NotificationEvent:J.d,OffscreenCanvasRenderingContext2D:J.d,OverconstrainedError:J.d,PageTransitionEvent:J.d,PaintRenderingContext2D:J.d,PaintSize:J.d,PaintWorkletGlobalScope:J.d,PasswordCredential:J.d,Path2D:J.d,PaymentAddress:J.d,PaymentInstruments:J.d,PaymentManager:J.d,PaymentRequestEvent:J.d,PaymentRequestUpdateEvent:J.d,PaymentResponse:J.d,PerformanceEntry:J.d,PerformanceLongTaskTiming:J.d,PerformanceMark:J.d,PerformanceMeasure:J.d,PerformanceNavigation:J.d,PerformanceNavigationTiming:J.d,PerformanceObserver:J.d,PerformanceObserverEntryList:J.d,PerformancePaintTiming:J.d,PerformanceResourceTiming:J.d,PerformanceServerTiming:J.d,PerformanceTiming:J.d,Permissions:J.d,PhotoCapabilities:J.d,PointerEvent:J.d,PopStateEvent:J.d,PositionError:J.d,GeolocationPositionError:J.d,Presentation:J.d,PresentationConnectionAvailableEvent:J.d,PresentationConnectionCloseEvent:J.d,PresentationReceiver:J.d,ProgressEvent:J.d,PromiseRejectionEvent:J.d,PublicKeyCredential:J.d,PushEvent:J.d,PushManager:J.d,PushMessageData:J.d,PushSubscription:J.d,PushSubscriptionOptions:J.d,Range:J.d,RelatedApplication:J.d,ReportBody:J.d,ReportingObserver:J.d,ResizeObserver:J.d,ResizeObserverEntry:J.d,RTCCertificate:J.d,RTCDataChannelEvent:J.d,RTCDTMFToneChangeEvent:J.d,RTCIceCandidate:J.d,mozRTCIceCandidate:J.d,RTCLegacyStatsReport:J.d,RTCPeerConnectionIceEvent:J.d,RTCRtpContributingSource:J.d,RTCRtpReceiver:J.d,RTCRtpSender:J.d,RTCSessionDescription:J.d,mozRTCSessionDescription:J.d,RTCStatsResponse:J.d,RTCTrackEvent:J.d,Screen:J.d,ScrollState:J.d,ScrollTimeline:J.d,SecurityPolicyViolationEvent:J.d,Selection:J.d,SensorErrorEvent:J.d,SharedArrayBuffer:J.d,SpeechRecognitionAlternative:J.d,SpeechRecognitionError:J.d,SpeechRecognitionEvent:J.d,SpeechSynthesisEvent:J.d,SpeechSynthesisVoice:J.d,StaticRange:J.d,StorageEvent:J.d,StorageManager:J.d,StyleMedia:J.d,StylePropertyMap:J.d,StylePropertyMapReadonly:J.d,SyncEvent:J.d,SyncManager:J.d,TaskAttributionTiming:J.d,TextDetector:J.d,TextEvent:J.d,TextMetrics:J.d,TouchEvent:J.d,TrackDefault:J.d,TrackEvent:J.d,TransitionEvent:J.d,WebKitTransitionEvent:J.d,TreeWalker:J.d,TrustedHTML:J.d,TrustedScriptURL:J.d,TrustedURL:J.d,UIEvent:J.d,UnderlyingSourceBase:J.d,URLSearchParams:J.d,VRCoordinateSystem:J.d,VRDeviceEvent:J.d,VRDisplayCapabilities:J.d,VRDisplayEvent:J.d,VREyeParameters:J.d,VRFrameData:J.d,VRFrameOfReference:J.d,VRPose:J.d,VRSessionEvent:J.d,VRStageBounds:J.d,VRStageBoundsPoint:J.d,VRStageParameters:J.d,ValidityState:J.d,VideoPlaybackQuality:J.d,VideoTrack:J.d,VTTRegion:J.d,WheelEvent:J.d,WindowClient:J.d,WorkletAnimation:J.d,WorkletGlobalScope:J.d,XPathEvaluator:J.d,XPathExpression:J.d,XPathNSResolver:J.d,XPathResult:J.d,XMLSerializer:J.d,XSLTProcessor:J.d,Bluetooth:J.d,BluetoothCharacteristicProperties:J.d,BluetoothRemoteGATTServer:J.d,BluetoothRemoteGATTService:J.d,BluetoothUUID:J.d,BudgetService:J.d,Cache:J.d,DOMFileSystemSync:J.d,DirectoryEntrySync:J.d,DirectoryReaderSync:J.d,EntrySync:J.d,FileEntrySync:J.d,FileReaderSync:J.d,FileWriterSync:J.d,HTMLAllCollection:J.d,Mojo:J.d,MojoHandle:J.d,MojoInterfaceRequestEvent:J.d,MojoWatcher:J.d,NFC:J.d,PagePopupController:J.d,Report:J.d,Request:J.d,ResourceProgressEvent:J.d,Response:J.d,SubtleCrypto:J.d,USBAlternateInterface:J.d,USBConfiguration:J.d,USBConnectionEvent:J.d,USBDevice:J.d,USBEndpoint:J.d,USBInTransferResult:J.d,USBInterface:J.d,USBIsochronousInTransferPacket:J.d,USBIsochronousInTransferResult:J.d,USBIsochronousOutTransferPacket:J.d,USBIsochronousOutTransferResult:J.d,USBOutTransferResult:J.d,WorkerLocation:J.d,WorkerNavigator:J.d,Worklet:J.d,IDBCursor:J.d,IDBCursorWithValue:J.d,IDBFactory:J.d,IDBIndex:J.d,IDBKeyRange:J.d,IDBObjectStore:J.d,IDBObservation:J.d,IDBObserver:J.d,IDBObserverChanges:J.d,IDBVersionChangeEvent:J.d,SVGAngle:J.d,SVGAnimatedAngle:J.d,SVGAnimatedBoolean:J.d,SVGAnimatedEnumeration:J.d,SVGAnimatedInteger:J.d,SVGAnimatedLength:J.d,SVGAnimatedLengthList:J.d,SVGAnimatedNumber:J.d,SVGAnimatedNumberList:J.d,SVGAnimatedPreserveAspectRatio:J.d,SVGAnimatedRect:J.d,SVGAnimatedString:J.d,SVGAnimatedTransformList:J.d,SVGMatrix:J.d,SVGPoint:J.d,SVGPreserveAspectRatio:J.d,SVGRect:J.d,SVGUnitTypes:J.d,AudioListener:J.d,AudioParam:J.d,AudioProcessingEvent:J.d,AudioTrack:J.d,AudioWorkletGlobalScope:J.d,AudioWorkletProcessor:J.d,OfflineAudioCompletionEvent:J.d,PeriodicWave:J.d,WebGLActiveInfo:J.d,ANGLEInstancedArrays:J.d,ANGLE_instanced_arrays:J.d,WebGLBuffer:J.d,WebGLCanvas:J.d,WebGLColorBufferFloat:J.d,WebGLCompressedTextureASTC:J.d,WebGLCompressedTextureATC:J.d,WEBGL_compressed_texture_atc:J.d,WebGLCompressedTextureETC1:J.d,WEBGL_compressed_texture_etc1:J.d,WebGLCompressedTextureETC:J.d,WebGLCompressedTexturePVRTC:J.d,WEBGL_compressed_texture_pvrtc:J.d,WebGLCompressedTextureS3TC:J.d,WEBGL_compressed_texture_s3tc:J.d,WebGLCompressedTextureS3TCsRGB:J.d,WebGLContextEvent:J.d,WebGLDebugRendererInfo:J.d,WEBGL_debug_renderer_info:J.d,WebGLDebugShaders:J.d,WEBGL_debug_shaders:J.d,WebGLDepthTexture:J.d,WEBGL_depth_texture:J.d,WebGLDrawBuffers:J.d,WEBGL_draw_buffers:J.d,EXTsRGB:J.d,EXT_sRGB:J.d,EXTBlendMinMax:J.d,EXT_blend_minmax:J.d,EXTColorBufferFloat:J.d,EXTColorBufferHalfFloat:J.d,EXTDisjointTimerQuery:J.d,EXTDisjointTimerQueryWebGL2:J.d,EXTFragDepth:J.d,EXT_frag_depth:J.d,EXTShaderTextureLOD:J.d,EXT_shader_texture_lod:J.d,EXTTextureFilterAnisotropic:J.d,EXT_texture_filter_anisotropic:J.d,WebGLFramebuffer:J.d,WebGLGetBufferSubDataAsync:J.d,WebGLLoseContext:J.d,WebGLExtensionLoseContext:J.d,WEBGL_lose_context:J.d,OESElementIndexUint:J.d,OES_element_index_uint:J.d,OESStandardDerivatives:J.d,OES_standard_derivatives:J.d,OESTextureFloat:J.d,OES_texture_float:J.d,OESTextureFloatLinear:J.d,OES_texture_float_linear:J.d,OESTextureHalfFloat:J.d,OES_texture_half_float:J.d,OESTextureHalfFloatLinear:J.d,OES_texture_half_float_linear:J.d,OESVertexArrayObject:J.d,OES_vertex_array_object:J.d,WebGLProgram:J.d,WebGLQuery:J.d,WebGLRenderbuffer:J.d,WebGLRenderingContext:J.d,WebGL2RenderingContext:J.d,WebGLSampler:J.d,WebGLShader:J.d,WebGLShaderPrecisionFormat:J.d,WebGLSync:J.d,WebGLTexture:J.d,WebGLTimerQueryEXT:J.d,WebGLTransformFeedback:J.d,WebGLUniformLocation:J.d,WebGLVertexArrayObject:J.d,WebGLVertexArrayObjectOES:J.d,WebGL2RenderingContextBase:J.d,ArrayBuffer:A.lA,ArrayBufferView:A.xt,DataView:A.xq,Float32Array:A.xr,Float64Array:A.HZ,Int16Array:A.I_,Int32Array:A.xs,Int8Array:A.I0,Uint16Array:A.I1,Uint32Array:A.I2,Uint8ClampedArray:A.xu,CanvasPixelArray:A.xu,Uint8Array:A.iM,HTMLAudioElement:A.at,HTMLBRElement:A.at,HTMLBaseElement:A.at,HTMLBodyElement:A.at,HTMLButtonElement:A.at,HTMLCanvasElement:A.at,HTMLContentElement:A.at,HTMLDListElement:A.at,HTMLDataElement:A.at,HTMLDataListElement:A.at,HTMLDetailsElement:A.at,HTMLDialogElement:A.at,HTMLDivElement:A.at,HTMLEmbedElement:A.at,HTMLFieldSetElement:A.at,HTMLHRElement:A.at,HTMLHeadElement:A.at,HTMLHeadingElement:A.at,HTMLHtmlElement:A.at,HTMLIFrameElement:A.at,HTMLImageElement:A.at,HTMLInputElement:A.at,HTMLLIElement:A.at,HTMLLabelElement:A.at,HTMLLegendElement:A.at,HTMLLinkElement:A.at,HTMLMapElement:A.at,HTMLMediaElement:A.at,HTMLMenuElement:A.at,HTMLMetaElement:A.at,HTMLMeterElement:A.at,HTMLModElement:A.at,HTMLOListElement:A.at,HTMLObjectElement:A.at,HTMLOptGroupElement:A.at,HTMLOptionElement:A.at,HTMLOutputElement:A.at,HTMLParagraphElement:A.at,HTMLParamElement:A.at,HTMLPictureElement:A.at,HTMLPreElement:A.at,HTMLProgressElement:A.at,HTMLQuoteElement:A.at,HTMLScriptElement:A.at,HTMLShadowElement:A.at,HTMLSlotElement:A.at,HTMLSourceElement:A.at,HTMLSpanElement:A.at,HTMLStyleElement:A.at,HTMLTableCaptionElement:A.at,HTMLTableCellElement:A.at,HTMLTableDataCellElement:A.at,HTMLTableHeaderCellElement:A.at,HTMLTableColElement:A.at,HTMLTableElement:A.at,HTMLTableRowElement:A.at,HTMLTableSectionElement:A.at,HTMLTemplateElement:A.at,HTMLTextAreaElement:A.at,HTMLTimeElement:A.at,HTMLTitleElement:A.at,HTMLTrackElement:A.at,HTMLUListElement:A.at,HTMLUnknownElement:A.at,HTMLVideoElement:A.at,HTMLDirectoryElement:A.at,HTMLFontElement:A.at,HTMLFrameElement:A.at,HTMLFrameSetElement:A.at,HTMLMarqueeElement:A.at,HTMLElement:A.at,AccessibleNodeList:A.E2,HTMLAnchorElement:A.E7,HTMLAreaElement:A.Ee,Blob:A.uK,CDATASection:A.iu,CharacterData:A.iu,Comment:A.iu,ProcessingInstruction:A.iu,Text:A.iu,CSSPerspective:A.Fj,CSSCharsetRule:A.bN,CSSConditionRule:A.bN,CSSFontFaceRule:A.bN,CSSGroupingRule:A.bN,CSSImportRule:A.bN,CSSKeyframeRule:A.bN,MozCSSKeyframeRule:A.bN,WebKitCSSKeyframeRule:A.bN,CSSKeyframesRule:A.bN,MozCSSKeyframesRule:A.bN,WebKitCSSKeyframesRule:A.bN,CSSMediaRule:A.bN,CSSNamespaceRule:A.bN,CSSPageRule:A.bN,CSSRule:A.bN,CSSStyleRule:A.bN,CSSSupportsRule:A.bN,CSSViewportRule:A.bN,CSSStyleDeclaration:A.pT,MSStyleCSSProperties:A.pT,CSS2Properties:A.pT,CSSImageValue:A.er,CSSKeywordValue:A.er,CSSNumericValue:A.er,CSSPositionValue:A.er,CSSResourceValue:A.er,CSSUnitValue:A.er,CSSURLImageValue:A.er,CSSStyleValue:A.er,CSSMatrixComponent:A.hG,CSSRotation:A.hG,CSSScale:A.hG,CSSSkew:A.hG,CSSTranslation:A.hG,CSSTransformComponent:A.hG,CSSTransformValue:A.Fk,CSSUnparsedValue:A.Fl,DataTransferItemList:A.Fq,DOMException:A.FS,ClientRectList:A.vJ,DOMRectList:A.vJ,DOMRectReadOnly:A.vK,DOMStringList:A.FX,DOMTokenList:A.FZ,MathMLElement:A.ar,SVGAElement:A.ar,SVGAnimateElement:A.ar,SVGAnimateMotionElement:A.ar,SVGAnimateTransformElement:A.ar,SVGAnimationElement:A.ar,SVGCircleElement:A.ar,SVGClipPathElement:A.ar,SVGDefsElement:A.ar,SVGDescElement:A.ar,SVGDiscardElement:A.ar,SVGEllipseElement:A.ar,SVGFEBlendElement:A.ar,SVGFEColorMatrixElement:A.ar,SVGFEComponentTransferElement:A.ar,SVGFECompositeElement:A.ar,SVGFEConvolveMatrixElement:A.ar,SVGFEDiffuseLightingElement:A.ar,SVGFEDisplacementMapElement:A.ar,SVGFEDistantLightElement:A.ar,SVGFEFloodElement:A.ar,SVGFEFuncAElement:A.ar,SVGFEFuncBElement:A.ar,SVGFEFuncGElement:A.ar,SVGFEFuncRElement:A.ar,SVGFEGaussianBlurElement:A.ar,SVGFEImageElement:A.ar,SVGFEMergeElement:A.ar,SVGFEMergeNodeElement:A.ar,SVGFEMorphologyElement:A.ar,SVGFEOffsetElement:A.ar,SVGFEPointLightElement:A.ar,SVGFESpecularLightingElement:A.ar,SVGFESpotLightElement:A.ar,SVGFETileElement:A.ar,SVGFETurbulenceElement:A.ar,SVGFilterElement:A.ar,SVGForeignObjectElement:A.ar,SVGGElement:A.ar,SVGGeometryElement:A.ar,SVGGraphicsElement:A.ar,SVGImageElement:A.ar,SVGLineElement:A.ar,SVGLinearGradientElement:A.ar,SVGMarkerElement:A.ar,SVGMaskElement:A.ar,SVGMetadataElement:A.ar,SVGPathElement:A.ar,SVGPatternElement:A.ar,SVGPolygonElement:A.ar,SVGPolylineElement:A.ar,SVGRadialGradientElement:A.ar,SVGRectElement:A.ar,SVGScriptElement:A.ar,SVGSetElement:A.ar,SVGStopElement:A.ar,SVGStyleElement:A.ar,SVGElement:A.ar,SVGSVGElement:A.ar,SVGSwitchElement:A.ar,SVGSymbolElement:A.ar,SVGTSpanElement:A.ar,SVGTextContentElement:A.ar,SVGTextElement:A.ar,SVGTextPathElement:A.ar,SVGTextPositioningElement:A.ar,SVGTitleElement:A.ar,SVGUseElement:A.ar,SVGViewElement:A.ar,SVGGradientElement:A.ar,SVGComponentTransferFunctionElement:A.ar,SVGFEDropShadowElement:A.ar,SVGMPathElement:A.ar,Element:A.ar,AbsoluteOrientationSensor:A.Y,Accelerometer:A.Y,AccessibleNode:A.Y,AmbientLightSensor:A.Y,Animation:A.Y,ApplicationCache:A.Y,DOMApplicationCache:A.Y,OfflineResourceList:A.Y,BackgroundFetchRegistration:A.Y,BatteryManager:A.Y,BroadcastChannel:A.Y,CanvasCaptureMediaStreamTrack:A.Y,DedicatedWorkerGlobalScope:A.Y,EventSource:A.Y,FileReader:A.Y,FontFaceSet:A.Y,Gyroscope:A.Y,XMLHttpRequest:A.Y,XMLHttpRequestEventTarget:A.Y,XMLHttpRequestUpload:A.Y,LinearAccelerationSensor:A.Y,Magnetometer:A.Y,MediaDevices:A.Y,MediaKeySession:A.Y,MediaQueryList:A.Y,MediaRecorder:A.Y,MediaSource:A.Y,MediaStream:A.Y,MediaStreamTrack:A.Y,MessagePort:A.Y,MIDIAccess:A.Y,MIDIInput:A.Y,MIDIOutput:A.Y,MIDIPort:A.Y,NetworkInformation:A.Y,Notification:A.Y,OffscreenCanvas:A.Y,OrientationSensor:A.Y,PaymentRequest:A.Y,Performance:A.Y,PermissionStatus:A.Y,PresentationAvailability:A.Y,PresentationConnection:A.Y,PresentationConnectionList:A.Y,PresentationRequest:A.Y,RelativeOrientationSensor:A.Y,RemotePlayback:A.Y,RTCDataChannel:A.Y,DataChannel:A.Y,RTCDTMFSender:A.Y,RTCPeerConnection:A.Y,webkitRTCPeerConnection:A.Y,mozRTCPeerConnection:A.Y,ScreenOrientation:A.Y,Sensor:A.Y,ServiceWorker:A.Y,ServiceWorkerContainer:A.Y,ServiceWorkerGlobalScope:A.Y,ServiceWorkerRegistration:A.Y,SharedWorker:A.Y,SharedWorkerGlobalScope:A.Y,SpeechRecognition:A.Y,webkitSpeechRecognition:A.Y,SpeechSynthesis:A.Y,SpeechSynthesisUtterance:A.Y,VR:A.Y,VRDevice:A.Y,VRDisplay:A.Y,VRSession:A.Y,VisualViewport:A.Y,WebSocket:A.Y,Window:A.Y,DOMWindow:A.Y,Worker:A.Y,WorkerGlobalScope:A.Y,WorkerPerformance:A.Y,BluetoothDevice:A.Y,BluetoothRemoteGATTCharacteristic:A.Y,Clipboard:A.Y,MojoInterfaceInterceptor:A.Y,USB:A.Y,IDBDatabase:A.Y,IDBOpenDBRequest:A.Y,IDBVersionChangeRequest:A.Y,IDBRequest:A.Y,IDBTransaction:A.Y,AnalyserNode:A.Y,RealtimeAnalyserNode:A.Y,AudioBufferSourceNode:A.Y,AudioDestinationNode:A.Y,AudioNode:A.Y,AudioScheduledSourceNode:A.Y,AudioWorkletNode:A.Y,BiquadFilterNode:A.Y,ChannelMergerNode:A.Y,AudioChannelMerger:A.Y,ChannelSplitterNode:A.Y,AudioChannelSplitter:A.Y,ConstantSourceNode:A.Y,ConvolverNode:A.Y,DelayNode:A.Y,DynamicsCompressorNode:A.Y,GainNode:A.Y,AudioGainNode:A.Y,IIRFilterNode:A.Y,MediaElementAudioSourceNode:A.Y,MediaStreamAudioDestinationNode:A.Y,MediaStreamAudioSourceNode:A.Y,OscillatorNode:A.Y,Oscillator:A.Y,PannerNode:A.Y,AudioPannerNode:A.Y,webkitAudioPannerNode:A.Y,ScriptProcessorNode:A.Y,JavaScriptAudioNode:A.Y,StereoPannerNode:A.Y,WaveShaperNode:A.Y,EventTarget:A.Y,File:A.eu,FileList:A.Gk,FileWriter:A.Gl,HTMLFormElement:A.Gx,Gamepad:A.ev,History:A.GM,HTMLCollection:A.ny,HTMLFormControlsCollection:A.ny,HTMLOptionsCollection:A.ny,Location:A.Hx,MediaList:A.HJ,MIDIInputMap:A.HN,MIDIOutputMap:A.HO,MimeType:A.ex,MimeTypeArray:A.HP,Document:A.b3,DocumentFragment:A.b3,HTMLDocument:A.b3,ShadowRoot:A.b3,XMLDocument:A.b3,Attr:A.b3,DocumentType:A.b3,Node:A.b3,NodeList:A.xA,RadioNodeList:A.xA,Plugin:A.eA,PluginArray:A.IY,RTCStatsReport:A.JR,HTMLSelectElement:A.Kg,SourceBuffer:A.eD,SourceBufferList:A.KL,SpeechGrammar:A.eE,SpeechGrammarList:A.KN,SpeechRecognitionResult:A.eF,Storage:A.KQ,CSSStyleSheet:A.e0,StyleSheet:A.e0,TextTrack:A.eH,TextTrackCue:A.e2,VTTCue:A.e2,TextTrackCueList:A.L8,TextTrackList:A.L9,TimeRanges:A.Lf,Touch:A.eI,TouchList:A.Li,TrackDefaultList:A.Lj,URL:A.Lx,VideoTrackList:A.LA,CSSRuleList:A.MU,ClientRect:A.AB,DOMRect:A.AB,GamepadList:A.O4,NamedNodeMap:A.Bk,MozNamedAttrMap:A.Bk,SpeechRecognitionResultList:A.RM,StyleSheetList:A.RW,SVGLength:A.fC,SVGLengthList:A.Ho,SVGNumber:A.fJ,SVGNumberList:A.I9,SVGPointList:A.IZ,SVGStringList:A.KS,SVGTransform:A.fQ,SVGTransformList:A.Lm,AudioBuffer:A.Ei,AudioParamMap:A.Ej,AudioTrackList:A.Ek,AudioContext:A.kP,webkitAudioContext:A.kP,BaseAudioContext:A.kP,OfflineAudioContext:A.Ib}) +hunkHelpers.setOrUpdateLeafTags({WebGL:true,AbortPaymentEvent:true,AnimationEffectReadOnly:true,AnimationEffectTiming:true,AnimationEffectTimingReadOnly:true,AnimationEvent:true,AnimationPlaybackEvent:true,AnimationTimeline:true,AnimationWorkletGlobalScope:true,ApplicationCacheErrorEvent:true,AuthenticatorAssertionResponse:true,AuthenticatorAttestationResponse:true,AuthenticatorResponse:true,BackgroundFetchClickEvent:true,BackgroundFetchEvent:true,BackgroundFetchFailEvent:true,BackgroundFetchFetch:true,BackgroundFetchManager:true,BackgroundFetchSettledFetch:true,BackgroundFetchedEvent:true,BarProp:true,BarcodeDetector:true,BeforeInstallPromptEvent:true,BeforeUnloadEvent:true,BlobEvent:true,BluetoothRemoteGATTDescriptor:true,Body:true,BudgetState:true,CacheStorage:true,CanMakePaymentEvent:true,CanvasGradient:true,CanvasPattern:true,CanvasRenderingContext2D:true,Client:true,Clients:true,ClipboardEvent:true,CloseEvent:true,CompositionEvent:true,CookieStore:true,Coordinates:true,Credential:true,CredentialUserData:true,CredentialsContainer:true,Crypto:true,CryptoKey:true,CSS:true,CSSVariableReferenceValue:true,CustomElementRegistry:true,CustomEvent:true,DataTransfer:true,DataTransferItem:true,DeprecatedStorageInfo:true,DeprecatedStorageQuota:true,DeprecationReport:true,DetectedBarcode:true,DetectedFace:true,DetectedText:true,DeviceAcceleration:true,DeviceMotionEvent:true,DeviceOrientationEvent:true,DeviceRotationRate:true,DirectoryEntry:true,webkitFileSystemDirectoryEntry:true,FileSystemDirectoryEntry:true,DirectoryReader:true,WebKitDirectoryReader:true,webkitFileSystemDirectoryReader:true,FileSystemDirectoryReader:true,DocumentOrShadowRoot:true,DocumentTimeline:true,DOMError:true,DOMImplementation:true,Iterator:true,DOMMatrix:true,DOMMatrixReadOnly:true,DOMParser:true,DOMPoint:true,DOMPointReadOnly:true,DOMQuad:true,DOMStringMap:true,Entry:true,webkitFileSystemEntry:true,FileSystemEntry:true,ErrorEvent:true,Event:true,InputEvent:true,SubmitEvent:true,ExtendableEvent:true,ExtendableMessageEvent:true,External:true,FaceDetector:true,FederatedCredential:true,FetchEvent:true,FileEntry:true,webkitFileSystemFileEntry:true,FileSystemFileEntry:true,DOMFileSystem:true,WebKitFileSystem:true,webkitFileSystem:true,FileSystem:true,FocusEvent:true,FontFace:true,FontFaceSetLoadEvent:true,FontFaceSource:true,ForeignFetchEvent:true,FormData:true,GamepadButton:true,GamepadEvent:true,GamepadPose:true,Geolocation:true,Position:true,GeolocationPosition:true,HashChangeEvent:true,Headers:true,HTMLHyperlinkElementUtils:true,IdleDeadline:true,ImageBitmap:true,ImageBitmapRenderingContext:true,ImageCapture:true,ImageData:true,InputDeviceCapabilities:true,InstallEvent:true,IntersectionObserver:true,IntersectionObserverEntry:true,InterventionReport:true,KeyboardEvent:true,KeyframeEffect:true,KeyframeEffectReadOnly:true,MediaCapabilities:true,MediaCapabilitiesInfo:true,MediaDeviceInfo:true,MediaEncryptedEvent:true,MediaError:true,MediaKeyMessageEvent:true,MediaKeyStatusMap:true,MediaKeySystemAccess:true,MediaKeys:true,MediaKeysPolicy:true,MediaMetadata:true,MediaQueryListEvent:true,MediaSession:true,MediaSettingsRange:true,MediaStreamEvent:true,MediaStreamTrackEvent:true,MemoryInfo:true,MessageChannel:true,MessageEvent:true,Metadata:true,MIDIConnectionEvent:true,MIDIMessageEvent:true,MouseEvent:true,DragEvent:true,MutationEvent:true,MutationObserver:true,WebKitMutationObserver:true,MutationRecord:true,NavigationPreloadManager:true,Navigator:true,NavigatorAutomationInformation:true,NavigatorConcurrentHardware:true,NavigatorCookies:true,NavigatorUserMediaError:true,NodeFilter:true,NodeIterator:true,NonDocumentTypeChildNode:true,NonElementParentNode:true,NoncedElement:true,NotificationEvent:true,OffscreenCanvasRenderingContext2D:true,OverconstrainedError:true,PageTransitionEvent:true,PaintRenderingContext2D:true,PaintSize:true,PaintWorkletGlobalScope:true,PasswordCredential:true,Path2D:true,PaymentAddress:true,PaymentInstruments:true,PaymentManager:true,PaymentRequestEvent:true,PaymentRequestUpdateEvent:true,PaymentResponse:true,PerformanceEntry:true,PerformanceLongTaskTiming:true,PerformanceMark:true,PerformanceMeasure:true,PerformanceNavigation:true,PerformanceNavigationTiming:true,PerformanceObserver:true,PerformanceObserverEntryList:true,PerformancePaintTiming:true,PerformanceResourceTiming:true,PerformanceServerTiming:true,PerformanceTiming:true,Permissions:true,PhotoCapabilities:true,PointerEvent:true,PopStateEvent:true,PositionError:true,GeolocationPositionError:true,Presentation:true,PresentationConnectionAvailableEvent:true,PresentationConnectionCloseEvent:true,PresentationReceiver:true,ProgressEvent:true,PromiseRejectionEvent:true,PublicKeyCredential:true,PushEvent:true,PushManager:true,PushMessageData:true,PushSubscription:true,PushSubscriptionOptions:true,Range:true,RelatedApplication:true,ReportBody:true,ReportingObserver:true,ResizeObserver:true,ResizeObserverEntry:true,RTCCertificate:true,RTCDataChannelEvent:true,RTCDTMFToneChangeEvent:true,RTCIceCandidate:true,mozRTCIceCandidate:true,RTCLegacyStatsReport:true,RTCPeerConnectionIceEvent:true,RTCRtpContributingSource:true,RTCRtpReceiver:true,RTCRtpSender:true,RTCSessionDescription:true,mozRTCSessionDescription:true,RTCStatsResponse:true,RTCTrackEvent:true,Screen:true,ScrollState:true,ScrollTimeline:true,SecurityPolicyViolationEvent:true,Selection:true,SensorErrorEvent:true,SharedArrayBuffer:true,SpeechRecognitionAlternative:true,SpeechRecognitionError:true,SpeechRecognitionEvent:true,SpeechSynthesisEvent:true,SpeechSynthesisVoice:true,StaticRange:true,StorageEvent:true,StorageManager:true,StyleMedia:true,StylePropertyMap:true,StylePropertyMapReadonly:true,SyncEvent:true,SyncManager:true,TaskAttributionTiming:true,TextDetector:true,TextEvent:true,TextMetrics:true,TouchEvent:true,TrackDefault:true,TrackEvent:true,TransitionEvent:true,WebKitTransitionEvent:true,TreeWalker:true,TrustedHTML:true,TrustedScriptURL:true,TrustedURL:true,UIEvent:true,UnderlyingSourceBase:true,URLSearchParams:true,VRCoordinateSystem:true,VRDeviceEvent:true,VRDisplayCapabilities:true,VRDisplayEvent:true,VREyeParameters:true,VRFrameData:true,VRFrameOfReference:true,VRPose:true,VRSessionEvent:true,VRStageBounds:true,VRStageBoundsPoint:true,VRStageParameters:true,ValidityState:true,VideoPlaybackQuality:true,VideoTrack:true,VTTRegion:true,WheelEvent:true,WindowClient:true,WorkletAnimation:true,WorkletGlobalScope:true,XPathEvaluator:true,XPathExpression:true,XPathNSResolver:true,XPathResult:true,XMLSerializer:true,XSLTProcessor:true,Bluetooth:true,BluetoothCharacteristicProperties:true,BluetoothRemoteGATTServer:true,BluetoothRemoteGATTService:true,BluetoothUUID:true,BudgetService:true,Cache:true,DOMFileSystemSync:true,DirectoryEntrySync:true,DirectoryReaderSync:true,EntrySync:true,FileEntrySync:true,FileReaderSync:true,FileWriterSync:true,HTMLAllCollection:true,Mojo:true,MojoHandle:true,MojoInterfaceRequestEvent:true,MojoWatcher:true,NFC:true,PagePopupController:true,Report:true,Request:true,ResourceProgressEvent:true,Response:true,SubtleCrypto:true,USBAlternateInterface:true,USBConfiguration:true,USBConnectionEvent:true,USBDevice:true,USBEndpoint:true,USBInTransferResult:true,USBInterface:true,USBIsochronousInTransferPacket:true,USBIsochronousInTransferResult:true,USBIsochronousOutTransferPacket:true,USBIsochronousOutTransferResult:true,USBOutTransferResult:true,WorkerLocation:true,WorkerNavigator:true,Worklet:true,IDBCursor:true,IDBCursorWithValue:true,IDBFactory:true,IDBIndex:true,IDBKeyRange:true,IDBObjectStore:true,IDBObservation:true,IDBObserver:true,IDBObserverChanges:true,IDBVersionChangeEvent:true,SVGAngle:true,SVGAnimatedAngle:true,SVGAnimatedBoolean:true,SVGAnimatedEnumeration:true,SVGAnimatedInteger:true,SVGAnimatedLength:true,SVGAnimatedLengthList:true,SVGAnimatedNumber:true,SVGAnimatedNumberList:true,SVGAnimatedPreserveAspectRatio:true,SVGAnimatedRect:true,SVGAnimatedString:true,SVGAnimatedTransformList:true,SVGMatrix:true,SVGPoint:true,SVGPreserveAspectRatio:true,SVGRect:true,SVGUnitTypes:true,AudioListener:true,AudioParam:true,AudioProcessingEvent:true,AudioTrack:true,AudioWorkletGlobalScope:true,AudioWorkletProcessor:true,OfflineAudioCompletionEvent:true,PeriodicWave:true,WebGLActiveInfo:true,ANGLEInstancedArrays:true,ANGLE_instanced_arrays:true,WebGLBuffer:true,WebGLCanvas:true,WebGLColorBufferFloat:true,WebGLCompressedTextureASTC:true,WebGLCompressedTextureATC:true,WEBGL_compressed_texture_atc:true,WebGLCompressedTextureETC1:true,WEBGL_compressed_texture_etc1:true,WebGLCompressedTextureETC:true,WebGLCompressedTexturePVRTC:true,WEBGL_compressed_texture_pvrtc:true,WebGLCompressedTextureS3TC:true,WEBGL_compressed_texture_s3tc:true,WebGLCompressedTextureS3TCsRGB:true,WebGLContextEvent:true,WebGLDebugRendererInfo:true,WEBGL_debug_renderer_info:true,WebGLDebugShaders:true,WEBGL_debug_shaders:true,WebGLDepthTexture:true,WEBGL_depth_texture:true,WebGLDrawBuffers:true,WEBGL_draw_buffers:true,EXTsRGB:true,EXT_sRGB:true,EXTBlendMinMax:true,EXT_blend_minmax:true,EXTColorBufferFloat:true,EXTColorBufferHalfFloat:true,EXTDisjointTimerQuery:true,EXTDisjointTimerQueryWebGL2:true,EXTFragDepth:true,EXT_frag_depth:true,EXTShaderTextureLOD:true,EXT_shader_texture_lod:true,EXTTextureFilterAnisotropic:true,EXT_texture_filter_anisotropic:true,WebGLFramebuffer:true,WebGLGetBufferSubDataAsync:true,WebGLLoseContext:true,WebGLExtensionLoseContext:true,WEBGL_lose_context:true,OESElementIndexUint:true,OES_element_index_uint:true,OESStandardDerivatives:true,OES_standard_derivatives:true,OESTextureFloat:true,OES_texture_float:true,OESTextureFloatLinear:true,OES_texture_float_linear:true,OESTextureHalfFloat:true,OES_texture_half_float:true,OESTextureHalfFloatLinear:true,OES_texture_half_float_linear:true,OESVertexArrayObject:true,OES_vertex_array_object:true,WebGLProgram:true,WebGLQuery:true,WebGLRenderbuffer:true,WebGLRenderingContext:true,WebGL2RenderingContext:true,WebGLSampler:true,WebGLShader:true,WebGLShaderPrecisionFormat:true,WebGLSync:true,WebGLTexture:true,WebGLTimerQueryEXT:true,WebGLTransformFeedback:true,WebGLUniformLocation:true,WebGLVertexArrayObject:true,WebGLVertexArrayObjectOES:true,WebGL2RenderingContextBase:true,ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false,HTMLAudioElement:true,HTMLBRElement:true,HTMLBaseElement:true,HTMLBodyElement:true,HTMLButtonElement:true,HTMLCanvasElement:true,HTMLContentElement:true,HTMLDListElement:true,HTMLDataElement:true,HTMLDataListElement:true,HTMLDetailsElement:true,HTMLDialogElement:true,HTMLDivElement:true,HTMLEmbedElement:true,HTMLFieldSetElement:true,HTMLHRElement:true,HTMLHeadElement:true,HTMLHeadingElement:true,HTMLHtmlElement:true,HTMLIFrameElement:true,HTMLImageElement:true,HTMLInputElement:true,HTMLLIElement:true,HTMLLabelElement:true,HTMLLegendElement:true,HTMLLinkElement:true,HTMLMapElement:true,HTMLMediaElement:true,HTMLMenuElement:true,HTMLMetaElement:true,HTMLMeterElement:true,HTMLModElement:true,HTMLOListElement:true,HTMLObjectElement:true,HTMLOptGroupElement:true,HTMLOptionElement:true,HTMLOutputElement:true,HTMLParagraphElement:true,HTMLParamElement:true,HTMLPictureElement:true,HTMLPreElement:true,HTMLProgressElement:true,HTMLQuoteElement:true,HTMLScriptElement:true,HTMLShadowElement:true,HTMLSlotElement:true,HTMLSourceElement:true,HTMLSpanElement:true,HTMLStyleElement:true,HTMLTableCaptionElement:true,HTMLTableCellElement:true,HTMLTableDataCellElement:true,HTMLTableHeaderCellElement:true,HTMLTableColElement:true,HTMLTableElement:true,HTMLTableRowElement:true,HTMLTableSectionElement:true,HTMLTemplateElement:true,HTMLTextAreaElement:true,HTMLTimeElement:true,HTMLTitleElement:true,HTMLTrackElement:true,HTMLUListElement:true,HTMLUnknownElement:true,HTMLVideoElement:true,HTMLDirectoryElement:true,HTMLFontElement:true,HTMLFrameElement:true,HTMLFrameSetElement:true,HTMLMarqueeElement:true,HTMLElement:false,AccessibleNodeList:true,HTMLAnchorElement:true,HTMLAreaElement:true,Blob:false,CDATASection:true,CharacterData:true,Comment:true,ProcessingInstruction:true,Text:true,CSSPerspective:true,CSSCharsetRule:true,CSSConditionRule:true,CSSFontFaceRule:true,CSSGroupingRule:true,CSSImportRule:true,CSSKeyframeRule:true,MozCSSKeyframeRule:true,WebKitCSSKeyframeRule:true,CSSKeyframesRule:true,MozCSSKeyframesRule:true,WebKitCSSKeyframesRule:true,CSSMediaRule:true,CSSNamespaceRule:true,CSSPageRule:true,CSSRule:true,CSSStyleRule:true,CSSSupportsRule:true,CSSViewportRule:true,CSSStyleDeclaration:true,MSStyleCSSProperties:true,CSS2Properties:true,CSSImageValue:true,CSSKeywordValue:true,CSSNumericValue:true,CSSPositionValue:true,CSSResourceValue:true,CSSUnitValue:true,CSSURLImageValue:true,CSSStyleValue:false,CSSMatrixComponent:true,CSSRotation:true,CSSScale:true,CSSSkew:true,CSSTranslation:true,CSSTransformComponent:false,CSSTransformValue:true,CSSUnparsedValue:true,DataTransferItemList:true,DOMException:true,ClientRectList:true,DOMRectList:true,DOMRectReadOnly:false,DOMStringList:true,DOMTokenList:true,MathMLElement:true,SVGAElement:true,SVGAnimateElement:true,SVGAnimateMotionElement:true,SVGAnimateTransformElement:true,SVGAnimationElement:true,SVGCircleElement:true,SVGClipPathElement:true,SVGDefsElement:true,SVGDescElement:true,SVGDiscardElement:true,SVGEllipseElement:true,SVGFEBlendElement:true,SVGFEColorMatrixElement:true,SVGFEComponentTransferElement:true,SVGFECompositeElement:true,SVGFEConvolveMatrixElement:true,SVGFEDiffuseLightingElement:true,SVGFEDisplacementMapElement:true,SVGFEDistantLightElement:true,SVGFEFloodElement:true,SVGFEFuncAElement:true,SVGFEFuncBElement:true,SVGFEFuncGElement:true,SVGFEFuncRElement:true,SVGFEGaussianBlurElement:true,SVGFEImageElement:true,SVGFEMergeElement:true,SVGFEMergeNodeElement:true,SVGFEMorphologyElement:true,SVGFEOffsetElement:true,SVGFEPointLightElement:true,SVGFESpecularLightingElement:true,SVGFESpotLightElement:true,SVGFETileElement:true,SVGFETurbulenceElement:true,SVGFilterElement:true,SVGForeignObjectElement:true,SVGGElement:true,SVGGeometryElement:true,SVGGraphicsElement:true,SVGImageElement:true,SVGLineElement:true,SVGLinearGradientElement:true,SVGMarkerElement:true,SVGMaskElement:true,SVGMetadataElement:true,SVGPathElement:true,SVGPatternElement:true,SVGPolygonElement:true,SVGPolylineElement:true,SVGRadialGradientElement:true,SVGRectElement:true,SVGScriptElement:true,SVGSetElement:true,SVGStopElement:true,SVGStyleElement:true,SVGElement:true,SVGSVGElement:true,SVGSwitchElement:true,SVGSymbolElement:true,SVGTSpanElement:true,SVGTextContentElement:true,SVGTextElement:true,SVGTextPathElement:true,SVGTextPositioningElement:true,SVGTitleElement:true,SVGUseElement:true,SVGViewElement:true,SVGGradientElement:true,SVGComponentTransferFunctionElement:true,SVGFEDropShadowElement:true,SVGMPathElement:true,Element:false,AbsoluteOrientationSensor:true,Accelerometer:true,AccessibleNode:true,AmbientLightSensor:true,Animation:true,ApplicationCache:true,DOMApplicationCache:true,OfflineResourceList:true,BackgroundFetchRegistration:true,BatteryManager:true,BroadcastChannel:true,CanvasCaptureMediaStreamTrack:true,DedicatedWorkerGlobalScope:true,EventSource:true,FileReader:true,FontFaceSet:true,Gyroscope:true,XMLHttpRequest:true,XMLHttpRequestEventTarget:true,XMLHttpRequestUpload:true,LinearAccelerationSensor:true,Magnetometer:true,MediaDevices:true,MediaKeySession:true,MediaQueryList:true,MediaRecorder:true,MediaSource:true,MediaStream:true,MediaStreamTrack:true,MessagePort:true,MIDIAccess:true,MIDIInput:true,MIDIOutput:true,MIDIPort:true,NetworkInformation:true,Notification:true,OffscreenCanvas:true,OrientationSensor:true,PaymentRequest:true,Performance:true,PermissionStatus:true,PresentationAvailability:true,PresentationConnection:true,PresentationConnectionList:true,PresentationRequest:true,RelativeOrientationSensor:true,RemotePlayback:true,RTCDataChannel:true,DataChannel:true,RTCDTMFSender:true,RTCPeerConnection:true,webkitRTCPeerConnection:true,mozRTCPeerConnection:true,ScreenOrientation:true,Sensor:true,ServiceWorker:true,ServiceWorkerContainer:true,ServiceWorkerGlobalScope:true,ServiceWorkerRegistration:true,SharedWorker:true,SharedWorkerGlobalScope:true,SpeechRecognition:true,webkitSpeechRecognition:true,SpeechSynthesis:true,SpeechSynthesisUtterance:true,VR:true,VRDevice:true,VRDisplay:true,VRSession:true,VisualViewport:true,WebSocket:true,Window:true,DOMWindow:true,Worker:true,WorkerGlobalScope:true,WorkerPerformance:true,BluetoothDevice:true,BluetoothRemoteGATTCharacteristic:true,Clipboard:true,MojoInterfaceInterceptor:true,USB:true,IDBDatabase:true,IDBOpenDBRequest:true,IDBVersionChangeRequest:true,IDBRequest:true,IDBTransaction:true,AnalyserNode:true,RealtimeAnalyserNode:true,AudioBufferSourceNode:true,AudioDestinationNode:true,AudioNode:true,AudioScheduledSourceNode:true,AudioWorkletNode:true,BiquadFilterNode:true,ChannelMergerNode:true,AudioChannelMerger:true,ChannelSplitterNode:true,AudioChannelSplitter:true,ConstantSourceNode:true,ConvolverNode:true,DelayNode:true,DynamicsCompressorNode:true,GainNode:true,AudioGainNode:true,IIRFilterNode:true,MediaElementAudioSourceNode:true,MediaStreamAudioDestinationNode:true,MediaStreamAudioSourceNode:true,OscillatorNode:true,Oscillator:true,PannerNode:true,AudioPannerNode:true,webkitAudioPannerNode:true,ScriptProcessorNode:true,JavaScriptAudioNode:true,StereoPannerNode:true,WaveShaperNode:true,EventTarget:false,File:true,FileList:true,FileWriter:true,HTMLFormElement:true,Gamepad:true,History:true,HTMLCollection:true,HTMLFormControlsCollection:true,HTMLOptionsCollection:true,Location:true,MediaList:true,MIDIInputMap:true,MIDIOutputMap:true,MimeType:true,MimeTypeArray:true,Document:true,DocumentFragment:true,HTMLDocument:true,ShadowRoot:true,XMLDocument:true,Attr:true,DocumentType:true,Node:false,NodeList:true,RadioNodeList:true,Plugin:true,PluginArray:true,RTCStatsReport:true,HTMLSelectElement:true,SourceBuffer:true,SourceBufferList:true,SpeechGrammar:true,SpeechGrammarList:true,SpeechRecognitionResult:true,Storage:true,CSSStyleSheet:true,StyleSheet:true,TextTrack:true,TextTrackCue:true,VTTCue:true,TextTrackCueList:true,TextTrackList:true,TimeRanges:true,Touch:true,TouchList:true,TrackDefaultList:true,URL:true,VideoTrackList:true,CSSRuleList:true,ClientRect:true,DOMRect:true,GamepadList:true,NamedNodeMap:true,MozNamedAttrMap:true,SpeechRecognitionResultList:true,StyleSheetList:true,SVGLength:true,SVGLengthList:true,SVGNumber:true,SVGNumberList:true,SVGPointList:true,SVGStringList:true,SVGTransform:true,SVGTransformList:true,AudioBuffer:true,AudioParamMap:true,AudioTrackList:true,AudioContext:true,webkitAudioContext:true,BaseAudioContext:false,OfflineAudioContext:true}) +A.qG.$nativeSuperclassTag="ArrayBufferView" +A.Bl.$nativeSuperclassTag="ArrayBufferView" +A.Bm.$nativeSuperclassTag="ArrayBufferView" +A.lB.$nativeSuperclassTag="ArrayBufferView" +A.Bn.$nativeSuperclassTag="ArrayBufferView" +A.Bo.$nativeSuperclassTag="ArrayBufferView" +A.fI.$nativeSuperclassTag="ArrayBufferView" +A.Co.$nativeSuperclassTag="EventTarget" +A.Cp.$nativeSuperclassTag="EventTarget" +A.CG.$nativeSuperclassTag="EventTarget" +A.CH.$nativeSuperclassTag="EventTarget"})() +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.$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.$1$1=function(a){return this(a)} +Function.prototype.$1$0=function(){return this()} +Function.prototype.$2$1=function(a){return this(a)} +Function.prototype.$1$2=function(a,b){return this(a,b)} +Function.prototype.$2$0=function(){return this()} +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$5=function(a,b,c,d,e){return this(a,b,c,d,e)} +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=2.18.2 <4.0.0' - flutter: ">=2.5.0" - -dependencies: - flutter: - sdk: flutter - flutter_web_plugins: - sdk: flutter - plugin_platform_interface: ^2.0.2 - js: ^0.6.3 - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^2.0.0 - -flutter: - plugin: - platforms: - android: - package: com.dynamsoft.flutter_document_scan_sdk - pluginClass: FlutterDocumentScanSdkPlugin - ios: - pluginClass: FlutterDocumentScanSdkPlugin - linux: - pluginClass: FlutterDocumentScanSdkPlugin - windows: - pluginClass: FlutterDocumentScanSdkPluginCApi - web: - pluginClass: FlutterDocumentScanSdkWeb - fileName: flutter_document_scan_sdk_web.dart diff --git a/sample-image.png b/sample-image.png deleted file mode 100644 index de5924e..0000000 Binary files a/sample-image.png and /dev/null differ diff --git a/test/flutter_document_scan_sdk_method_channel_test.dart b/test/flutter_document_scan_sdk_method_channel_test.dart deleted file mode 100644 index af3b622..0000000 --- a/test/flutter_document_scan_sdk_method_channel_test.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk_method_channel.dart'; - -void main() { - MethodChannelFlutterDocumentScanSdk platform = MethodChannelFlutterDocumentScanSdk(); - const MethodChannel channel = MethodChannel('flutter_document_scan_sdk'); - - TestWidgetsFlutterBinding.ensureInitialized(); - - setUp(() { - channel.setMockMethodCallHandler((MethodCall methodCall) async { - return '42'; - }); - }); - - tearDown(() { - channel.setMockMethodCallHandler(null); - }); - - test('getPlatformVersion', () async { - expect(await platform.getPlatformVersion(), '42'); - }); -} diff --git a/test/flutter_document_scan_sdk_test.dart b/test/flutter_document_scan_sdk_test.dart deleted file mode 100644 index d81fc96..0000000 --- a/test/flutter_document_scan_sdk_test.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk_platform_interface.dart'; -import 'package:flutter_document_scan_sdk/flutter_document_scan_sdk_method_channel.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -class MockFlutterDocumentScanSdkPlatform - with MockPlatformInterfaceMixin - implements FlutterDocumentScanSdkPlatform { - - @override - Future getPlatformVersion() => Future.value('42'); -} - -void main() { - final FlutterDocumentScanSdkPlatform initialPlatform = FlutterDocumentScanSdkPlatform.instance; - - test('$MethodChannelFlutterDocumentScanSdk is the default instance', () { - expect(initialPlatform, isInstanceOf()); - }); - - test('getPlatformVersion', () async { - FlutterDocumentScanSdk flutterDocumentScanSdkPlugin = FlutterDocumentScanSdk(); - MockFlutterDocumentScanSdkPlatform fakePlatform = MockFlutterDocumentScanSdkPlatform(); - FlutterDocumentScanSdkPlatform.instance = fakePlatform; - - expect(await flutterDocumentScanSdkPlugin.getPlatformVersion(), '42'); - }); -} diff --git a/version.json b/version.json new file mode 100644 index 0000000..81beece --- /dev/null +++ b/version.json @@ -0,0 +1 @@ +{"app_name":"documentscanner","version":"1.0.0","build_number":"1","package_name":"documentscanner"} \ No newline at end of file diff --git a/windows/.gitignore b/windows/.gitignore deleted file mode 100644 index b3eb2be..0000000 --- a/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt deleted file mode 100644 index 981338f..0000000 --- a/windows/CMakeLists.txt +++ /dev/null @@ -1,55 +0,0 @@ -# The Flutter tooling requires that developers have a version of Visual Studio -# installed that includes CMake 3.14 or later. You should not increase this -# version, as doing so will cause the plugin to fail to compile for some -# customers of the plugin. -cmake_minimum_required(VERSION 3.14) - -# Project-level configuration. -set(PROJECT_NAME "flutter_document_scan_sdk") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "flutter_document_scan_sdk_plugin") - -link_directories("${PROJECT_SOURCE_DIR}/lib/") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "flutter_document_scan_sdk_plugin.cpp" - "flutter_document_scan_sdk_plugin.h" -) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} SHARED - "include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin_c_api.h" - "flutter_document_scan_sdk_plugin_c_api.cpp" - ${PLUGIN_SOURCES} -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin "DynamsoftCorex64" "DynamsoftDocumentNormalizerx64") - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(flutter_document_scan_sdk_bundled_libraries - "${PROJECT_SOURCE_DIR}/bin/" - PARENT_SCOPE -) diff --git a/windows/bin/DynamicImagex64.dll b/windows/bin/DynamicImagex64.dll deleted file mode 100644 index a230ef3..0000000 Binary files a/windows/bin/DynamicImagex64.dll and /dev/null differ diff --git a/windows/bin/DynamicPdfCorex64.dll b/windows/bin/DynamicPdfCorex64.dll deleted file mode 100644 index ba4a4d2..0000000 Binary files a/windows/bin/DynamicPdfCorex64.dll and /dev/null differ diff --git a/windows/bin/DynamicPdfx64.dll b/windows/bin/DynamicPdfx64.dll deleted file mode 100644 index 77fb82b..0000000 Binary files a/windows/bin/DynamicPdfx64.dll and /dev/null differ diff --git a/windows/bin/DynamsoftCorex64.dll b/windows/bin/DynamsoftCorex64.dll deleted file mode 100644 index 765742a..0000000 Binary files a/windows/bin/DynamsoftCorex64.dll and /dev/null differ diff --git a/windows/bin/DynamsoftDocumentNormalizerx64.dll b/windows/bin/DynamsoftDocumentNormalizerx64.dll deleted file mode 100644 index 0dddbfb..0000000 Binary files a/windows/bin/DynamsoftDocumentNormalizerx64.dll and /dev/null differ diff --git a/windows/bin/DynamsoftImageProcessingx64.dll b/windows/bin/DynamsoftImageProcessingx64.dll deleted file mode 100644 index 4e9d363..0000000 Binary files a/windows/bin/DynamsoftImageProcessingx64.dll and /dev/null differ diff --git a/windows/bin/DynamsoftIntermediateResultx64.dll b/windows/bin/DynamsoftIntermediateResultx64.dll deleted file mode 100644 index 0bbe261..0000000 Binary files a/windows/bin/DynamsoftIntermediateResultx64.dll and /dev/null differ diff --git a/windows/bin/vcomp140.dll b/windows/bin/vcomp140.dll deleted file mode 100644 index 18eb202..0000000 Binary files a/windows/bin/vcomp140.dll and /dev/null differ diff --git a/windows/flutter_document_scan_sdk_plugin.cpp b/windows/flutter_document_scan_sdk_plugin.cpp deleted file mode 100644 index 9d0f166..0000000 --- a/windows/flutter_document_scan_sdk_plugin.cpp +++ /dev/null @@ -1,356 +0,0 @@ -#include "flutter_document_scan_sdk_plugin.h" - -// This must be included before many other Windows headers. -#include - -// For getPlatformVersion; remove unless needed for your plugin implementation. -#include - -#include -#include -#include - -#include -#include - -namespace flutter_document_scan_sdk -{ - - // static - void FlutterDocumentScanSdkPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows *registrar) - { - auto channel = - std::make_unique>( - registrar->messenger(), "flutter_document_scan_sdk", - &flutter::StandardMethodCodec::GetInstance()); - - auto plugin = std::make_unique(); - - channel->SetMethodCallHandler( - [plugin_pointer = plugin.get()](const auto &call, auto result) - { - plugin_pointer->HandleMethodCall(call, std::move(result)); - }); - - registrar->AddPlugin(std::move(plugin)); - } - - FlutterDocumentScanSdkPlugin::FlutterDocumentScanSdkPlugin() - { - manager = new DocumentManager(); - manager->Init(); - } - - FlutterDocumentScanSdkPlugin::~FlutterDocumentScanSdkPlugin() - { - delete manager; - } - - void FlutterDocumentScanSdkPlugin::HandleMethodCall( - const flutter::MethodCall &method_call, - std::unique_ptr> result) - { - const auto *arguments = std::get_if(method_call.arguments()); - - if (method_call.method_name().compare("getPlatformVersion") == 0) - { - std::ostringstream version_stream; - version_stream << "Windows "; - if (IsWindows10OrGreater()) - { - version_stream << "10+"; - } - else if (IsWindows8OrGreater()) - { - version_stream << "8"; - } - else if (IsWindows7OrGreater()) - { - version_stream << "7"; - } - - version_stream << ". Dynamsoft Document Normalizer version: "; - version_stream << manager->GetVersion(); - result->Success(flutter::EncodableValue(version_stream.str())); - } - else if (method_call.method_name().compare("init") == 0) - { - std::string license; - int ret = 0; - - if (arguments) - { - auto license_it = arguments->find(EncodableValue("key")); - if (license_it != arguments->end()) - { - license = std::get(license_it->second); - } - ret = DocumentManager::SetLicense(license.c_str()); - } - - result->Success(EncodableValue(ret)); - } - else if (method_call.method_name().compare("setParameters") == 0) - { - std::string params; - EncodableList results; - int ret = 0; - - if (arguments) - { - auto params_it = arguments->find(EncodableValue("params")); - if (params_it != arguments->end()) - { - params = std::get(params_it->second); - } - ret = manager->SetParameters(params.c_str()); - } - - result->Success(EncodableValue(ret)); - } - else if (method_call.method_name().compare("getParameters") == 0) - { - result->Success(manager->GetParameters()); - } - else if (method_call.method_name().compare("save") == 0) - { - std::string filename; - EncodableList results; - int ret = 0; - - if (arguments) - { - auto filename_it = arguments->find(EncodableValue("filename")); - if (filename_it != arguments->end()) - { - filename = std::get(filename_it->second); - } - ret = manager->Save(filename.c_str()); - } - - result->Success(EncodableValue(ret)); - } - else if (method_call.method_name().compare("detectFile") == 0) - { - std::string filename; - EncodableList results; - - if (arguments) - { - auto filename_it = arguments->find(EncodableValue("file")); - if (filename_it != arguments->end()) - { - filename = std::get(filename_it->second); - } - - results = manager->DetectFile(filename.c_str()); - } - - result->Success(results); - } - else if (method_call.method_name().compare("detectBuffer") == 0) - { - std::vector bytes; - EncodableList results; - int width = 0, height = 0, stride = 0, format = 0; - - if (arguments) - { - auto bytes_it = arguments->find(EncodableValue("bytes")); - if (bytes_it != arguments->end()) - { - bytes = std::get>(bytes_it->second); - } - - auto width_it = arguments->find(EncodableValue("width")); - if (width_it != arguments->end()) - { - width = std::get(width_it->second); - } - - auto height_it = arguments->find(EncodableValue("height")); - if (height_it != arguments->end()) - { - height = std::get(height_it->second); - } - - auto stride_it = arguments->find(EncodableValue("stride")); - if (stride_it != arguments->end()) - { - stride = std::get(stride_it->second); - } - - auto format_it = arguments->find(EncodableValue("format")); - if (format_it != arguments->end()) - { - format = std::get(format_it->second); - } - manager->DetectBuffer(result, reinterpret_cast(bytes.data()), width, height, stride, format); - } - } - else if (method_call.method_name().compare("normalizeBuffer") == 0) - { - std::vector bytes; - EncodableMap results; - int width = 0, height = 0, stride = 0, format = 0; - int x1 = 0, y1 = 0, x2 = 0, y2 = 0, x3 = 0, y3 = 0, x4 = 0, y4 = 0; - - if (arguments) - { - auto bytes_it = arguments->find(EncodableValue("bytes")); - if (bytes_it != arguments->end()) - { - bytes = std::get>(bytes_it->second); - } - - auto width_it = arguments->find(EncodableValue("width")); - if (width_it != arguments->end()) - { - width = std::get(width_it->second); - } - - auto height_it = arguments->find(EncodableValue("height")); - if (height_it != arguments->end()) - { - height = std::get(height_it->second); - } - - auto stride_it = arguments->find(EncodableValue("stride")); - if (stride_it != arguments->end()) - { - stride = std::get(stride_it->second); - } - - auto format_it = arguments->find(EncodableValue("format")); - if (format_it != arguments->end()) - { - format = std::get(format_it->second); - } - - auto x1_it = arguments->find(EncodableValue("x1")); - if (x1_it != arguments->end()) - { - x1 = std::get(x1_it->second); - } - - auto y1_it = arguments->find(EncodableValue("y1")); - if (y1_it != arguments->end()) - { - y1 = std::get(y1_it->second); - } - - auto x2_it = arguments->find(EncodableValue("x2")); - if (x2_it != arguments->end()) - { - x2 = std::get(x2_it->second); - } - - auto y2_it = arguments->find(EncodableValue("y2")); - if (y2_it != arguments->end()) - { - y2 = std::get(y2_it->second); - } - - auto x3_it = arguments->find(EncodableValue("x3")); - if (x3_it != arguments->end()) - { - x3 = std::get(x3_it->second); - } - - auto y3_it = arguments->find(EncodableValue("y3")); - if (y3_it != arguments->end()) - { - y3 = std::get(y3_it->second); - } - - auto x4_it = arguments->find(EncodableValue("x4")); - if (x4_it != arguments->end()) - { - x4 = std::get(x4_it->second); - } - - auto y4_it = arguments->find(EncodableValue("y4")); - if (y4_it != arguments->end()) - { - y4 = std::get(y4_it->second); - } - - results = manager->NormalizeBuffer(reinterpret_cast(bytes.data()), width, height, stride, format, x1, y1, x2, y2, x3, y3, x4, y4); - } - result->Success(results); - } - else if (method_call.method_name().compare("normalizeFile") == 0) - { - std::string filename; - EncodableMap results; - int x1 = 0, y1 = 0, x2 = 0, y2 = 0, x3 = 0, y3 = 0, x4 = 0, y4 = 0; - - if (arguments) - { - auto filename_it = arguments->find(EncodableValue("file")); - if (filename_it != arguments->end()) - { - filename = std::get(filename_it->second); - } - - auto x1_it = arguments->find(EncodableValue("x1")); - if (x1_it != arguments->end()) - { - x1 = std::get(x1_it->second); - } - - auto y1_it = arguments->find(EncodableValue("y1")); - if (y1_it != arguments->end()) - { - y1 = std::get(y1_it->second); - } - - auto x2_it = arguments->find(EncodableValue("x2")); - if (x2_it != arguments->end()) - { - x2 = std::get(x2_it->second); - } - - auto y2_it = arguments->find(EncodableValue("y2")); - if (y2_it != arguments->end()) - { - y2 = std::get(y2_it->second); - } - - auto x3_it = arguments->find(EncodableValue("x3")); - if (x3_it != arguments->end()) - { - x3 = std::get(x3_it->second); - } - - auto y3_it = arguments->find(EncodableValue("y3")); - if (y3_it != arguments->end()) - { - y3 = std::get(y3_it->second); - } - - auto x4_it = arguments->find(EncodableValue("x4")); - if (x4_it != arguments->end()) - { - x4 = std::get(x4_it->second); - } - - auto y4_it = arguments->find(EncodableValue("y4")); - if (y4_it != arguments->end()) - { - y4 = std::get(y4_it->second); - } - - results = manager->NormalizeFile(filename.c_str(), x1, y1, x2, y2, x3, y3, x4, y4); - } - - result->Success(results); - } - else - { - result->NotImplemented(); - } - } - -} // namespace flutter_document_scan_sdk diff --git a/windows/flutter_document_scan_sdk_plugin.h b/windows/flutter_document_scan_sdk_plugin.h deleted file mode 100644 index 65d578f..0000000 --- a/windows/flutter_document_scan_sdk_plugin.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_H_ -#define FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_H_ - -#include -#include - -#include - -#include "include/document_manager.h" - -namespace flutter_document_scan_sdk { - -class FlutterDocumentScanSdkPlugin : public flutter::Plugin { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows *registrar); - - FlutterDocumentScanSdkPlugin(); - - virtual ~FlutterDocumentScanSdkPlugin(); - - // Disallow copy and assign. - FlutterDocumentScanSdkPlugin(const FlutterDocumentScanSdkPlugin&) = delete; - FlutterDocumentScanSdkPlugin& operator=(const FlutterDocumentScanSdkPlugin&) = delete; - - private: - DocumentManager *manager; - // Called when a method is called on this plugin's channel from Dart. - void HandleMethodCall( - const flutter::MethodCall &method_call, - std::unique_ptr> result); -}; - -} // namespace flutter_document_scan_sdk - -#endif // FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_H_ diff --git a/windows/flutter_document_scan_sdk_plugin_c_api.cpp b/windows/flutter_document_scan_sdk_plugin_c_api.cpp deleted file mode 100644 index 0dd6f37..0000000 --- a/windows/flutter_document_scan_sdk_plugin_c_api.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin_c_api.h" - -#include - -#include "flutter_document_scan_sdk_plugin.h" - -void FlutterDocumentScanSdkPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - flutter_document_scan_sdk::FlutterDocumentScanSdkPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/windows/include/DynamsoftCore.h b/windows/include/DynamsoftCore.h deleted file mode 100644 index 0a67aec..0000000 --- a/windows/include/DynamsoftCore.h +++ /dev/null @@ -1,748 +0,0 @@ -#ifndef __DYNAMSOFT_CORE_H__ -#define __DYNAMSOFT_CORE_H__ - -#define DYNAMSOFT_CORE_VERSION "2.0.1.0929" - -/**Successful. */ -#define DM_OK 0 - -/**Unknown error. */ -#define DMERR_UNKNOWN -10000 - -/**Not enough memory to perform the operation. */ -#define DMERR_NO_MEMORY -10001 - -/**Null pointer */ -#define DMERR_NULL_POINTER -10002 - -/**License invalid*/ -#define DMERR_LICENSE_INVALID -10003 - -/**License expired*/ -#define DMERR_LICENSE_EXPIRED -10004 - -/**File not found*/ -#define DMERR_FILE_NOT_FOUND -10005 - -/**The file type is not supported. */ -#define DMERR_FILETYPE_NOT_SUPPORTED -10006 - -/**The BPP (Bits Per Pixel) is not supported. */ -#define DMERR_BPP_NOT_SUPPORTED -10007 - -/**Failed to read the image. */ -#define DMERR_IMAGE_READ_FAILED -10012 - -/**Failed to read the TIFF image. */ -#define DMERR_TIFF_READ_FAILED -10013 - -/**The DIB (Device-Independent Bitmaps) buffer is invalid. */ -#define DMERR_DIB_BUFFER_INVALID -10018 - -/**Failed to read the PDF image. */ -#define DMERR_PDF_READ_FAILED -10021 - -/**The PDF DLL is missing. */ -#define DMERR_PDF_DLL_MISSING -10022 - -/** timeout. */ -#define DMERR_TIMEOUT -10026 -/**Recognition timeout. */ -#define DMERR_RECOGNITION_TIMEOUT -10026 - -/**Json parse failed*/ -#define DMERR_JSON_PARSE_FAILED -10030 - -/**Json type invalid*/ -#define DMERR_JSON_TYPE_INVALID -10031 - -/**Json key invalid*/ -#define DMERR_JSON_KEY_INVALID -10032 - -/**Json value invalid*/ -#define DMERR_JSON_VALUE_INVALID -10033 - -/**Json name key missing*/ -#define DMERR_JSON_NAME_KEY_MISSING -10034 - -/**The value of the key "Name" is duplicated.*/ -#define DMERR_JSON_NAME_VALUE_DUPLICATED -10035 - -/**Template name invalid*/ -#define DMERR_TEMPLATE_NAME_INVALID -10036 - -/**Parameter value invalid*/ -#define DMERR_PARAMETER_VALUE_INVALID -10038 - -/**Failed to set mode's argument.*/ -#define DMERR_SET_MODE_ARGUMENT_ERROR -10051 - -/**Failed to get mode's argument.*/ -#define DMERR_GET_MODE_ARGUMENT_ERROR -10055 - -/**No content has been detected.*/ -#define DDNERR_CONTENT_NOT_FOUND -50001 - -/*The quardrilateral is invalid*/ -#define DMERR_QUADRILATERAL_INVALID -10057 - -/**Failed to save file.*/ -#define DMERR_FILE_SAVE_FAILED -10058 - -/**The stage type is invalid.*/ -#define DMERR_STAGE_TYPE_INVALID -10059 - -/**The image orientation is invalid.*/ -#define DMERR_IMAGE_ORIENTATION_INVALID -10060 - -#ifndef _COMMON_PART1_ -#define _COMMON_PART1_ - -/**No license.*/ -#define DMERR_NO_LICENSE -20000 - -/**The Handshake Code is invalid.*/ -#define DMERR_HANDSHAKE_CODE_INVALID -20001 - -/**Failed to read or write license buffer. */ -#define DMERR_LICENSE_BUFFER_FAILED -20002 - -/**Failed to synchronize license info with license server. */ -#define DMERR_LICENSE_SYNC_FAILED -20003 - -/**Device dose not match with buffer. */ -#define DMERR_DEVICE_NOT_MATCH -20004 - -/**Failed to bind device. */ -#define DMERR_BIND_DEVICE_FAILED -20005 - -/**Interface InitLicenseFromDLS can not be used together with other license initiation interfaces. */ -#define DMERR_LICENSE_INTERFACE_CONFLICT -20006 - -/**License Client dll is missing.*/ -#define DMERR_LICENSE_CLIENT_DLL_MISSING -20007 - -/**Instance count is over limit.*/ -#define DMERR_INSTANCE_COUNT_OVER_LIMIT -20008 - -/**Interface InitLicenseFromDLS has to be called before creating any SDK objects.*/ -#define DMERR_LICENSE_INIT_SEQUENCE_FAILED -20009 - -/**Trial License*/ -#define DMERR_TRIAL_LICENSE -20010 - -/**Failed to reach License Server.*/ -#define DMERR_FAILED_TO_REACH_DLS -20200 - - -#endif - -#ifndef _COMMON_PART2_ -#define _COMMON_PART2_ -/** -* @enum ImagePixelFormat -* -* Describes the image pixel format. -* -*/ -typedef enum ImagePixelFormat -{ - /**0:Black, 1:White */ - IPF_BINARY, - - /**0:White, 1:Black */ - IPF_BINARYINVERTED, - - /**8bit gray */ - IPF_GRAYSCALED, - - /**NV21 */ - IPF_NV21, - - /**16bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_565, - - /**16bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_555, - - /**24bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_888, - - /**32bit with ARGB channel order stored in memory from high to low address*/ - IPF_ARGB_8888, - - /**48bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_161616, - - /**64bit with ARGB channel order stored in memory from high to low address*/ - IPF_ARGB_16161616, - - /**32bit with ABGR channel order stored in memory from high to low address*/ - IPF_ABGR_8888, - - /**64bit with ABGR channel order stored in memory from high to low address*/ - IPF_ABGR_16161616, - - /**24bit with BGR channel order stored in memory from high to low address*/ - IPF_BGR_888 - -}ImagePixelFormat; - -/** -* @enum GrayscaleTransformationMode -* -* Describes the grayscale transformation mode. -*/ -typedef enum GrayscaleTransformationMode -{ - /**Transforms to inverted grayscale. Recommended for light on dark images. */ - GTM_INVERTED = 0x01, - - /**Keeps the original grayscale. Recommended for dark on light images. */ - GTM_ORIGINAL = 0x02, - - /**Lets the library choose an algorithm automatically for grayscale transformation.*/ - GTM_AUTO = 0x04, - - /**Reserved setting for grayscale transformation mode.*/ -#if defined(_WIN32) || defined(_WIN64) - GTM_REV = 0x80000000, -#else - GTM_REV = -2147483648, -#endif - - /**Skips grayscale transformation. */ - GTM_SKIP = 0x00 - -}GrayscaleTransformationMode; - -/** -* @enum RegionPredetectionMode -* -* Describes the region predetection mode. -* -*/ -typedef enum RegionPredetectionMode -{ - /**Auto*/ - RPM_AUTO = 0x01, - - /**Takes the whole image as a region*/ - RPM_GENERAL = 0x02, - - /**Detects region using the general algorithm based on RGB colour contrast*/ - RPM_GENERAL_RGB_CONTRAST = 0x04, - - /**Detects region using the general algorithm based on gray contrast*/ - RPM_GENERAL_GRAY_CONTRAST = 0x08, - - /**Detects region using the general algorithm based on HSV colour contrast*/ - RPM_GENERAL_HSV_CONTRAST = 0x10, - - RPM_MANUAL_SPECIFICATION = 0x20, - /**Reserved setting for region predection mode.*/ -#if defined(_WIN32) || defined(_WIN64) - RPM_REV = 0x80000000, -#else - RPM_REV = -2147483648, -#endif - - /**Skip*/ - RPM_SKIP = 0 -}RegionPredetectionMode; - -/** -* @enum BinarizationMode -* -* Describes the binarization mode. -* -*/ -typedef enum BinarizationMode -{ - /**Not supported yet. */ - BM_AUTO = 0x01, - - /**Binarizes the image based on the local block. Check @ref BM for available argument settings.*/ - BM_LOCAL_BLOCK = 0x02, - - /**Performs image binarization based on the given threshold. Check @ref BM for available argument settings.*/ - BM_THRESHOLD = 0x04, - - /**Reserved setting for binarization mode.*/ -#if defined(_WIN32) || defined(_WIN64) - BM_REV = 0x80000000, -#else - BM_REV = -2147483648, -#endif - - /**Skips the binarization. */ - BM_SKIP = 0x00 -}BinarizationMode; - - -/** -* @enum ScaleUpMode -* -* Describes scale up mode. -* -*/ -typedef enum ScaleUpMode -{ - /**Skip the scale-up process.*/ - SUM_SKIP = 0x00, - - /**The library chooses an interpolation method automatically to scale up.*/ - SUM_AUTO = 0x01, - - /**Scales up using the linear interpolation method.*/ - SUM_LINEAR_INTERPOLATION = 0x02, - - /**Scales up using the nearest-neighbour interpolation method.*/ - SUM_NEAREST_NEIGHBOUR_INTERPOLATION = 0x04, - - /**Reserved setting for scale up mode.*/ -#if defined(_WIN32) || defined(_WIN64) - SUM_REV = 0x80000000 -#else - SUM_REV = -2147483648 -#endif -}ScaleUpMode; - -/** -* @enum ColourConversionMode -* -* Describes colour conversion mode. -* -*/ -typedef enum ColourConversionMode -{ - /**Skips the colour conversion.*/ - CICM_SKIP = 0x00, - - /**Converts a colour image to a grayscale image using the general RGB converting algorithm.*/ - CICM_GENERAL = 0x01, - - /**Converts a colour image to a grayscale image using one of the HSV channels.*/ - CICM_HSV = 0x02, - -#if defined(_WIN32) || defined(_WIN64) - CICM_REV = 0x80000000 -#else - CICM_REV = -2147483648 -#endif - -}ColourConversionMode; - -/** -* @enum TextureDetectionMode -* -* Describes the texture detection mode. -*/ -typedef enum TextureDetectionMode -{ - /**Not supported yet. */ - TDM_AUTO = 0x01, - - /**Detects texture using the general algorithm. Check @ref TDM for available argument settings.*/ - TDM_GENERAL_WIDTH_CONCENTRATION = 0x02, - - /**Reserved setting for texture detection mode.*/ -#if defined(_WIN32) || defined(_WIN64) - TDM_REV = 0x80000000, -#else - TDM_REV = -2147483648, -#endif - - /**Skips texture detection. */ - TDM_SKIP = 0x00 - -}TextureDetectionMode; - - -/** -* @enum PDFReadingMode -* -* Describes the PDF reading mode. -*/ -typedef enum PDFReadingMode -{ - /** Lets the library choose the reading mode automatically. */ - PDFRM_AUTO = 0x01, - - /** Detects barcode from vector data in PDF file.*/ - PDFRM_VECTOR = 0x02, - - /** Converts the PDF file to image(s) first, then perform barcode recognition.*/ - PDFRM_RASTER = 0x04, - - /**Reserved setting for PDF reading mode.*/ -#if defined(_WIN32) || defined(_WIN64) - PDFRM_REV = 0x80000000, -#else - PDFRM_REV = -2147483648, -#endif -}PDFReadingMode; - -/** -* @enum BarcodeFormat -* -* Describes the barcode types in BarcodeFormat group 1. All the formats can be combined, such as BF_CODE_39 | BF_CODE_128. -* Note: The barcode format our library will search for is composed of [BarcodeFormat group 1](@ref BarcodeFormat) and [BarcodeFormat group 2](@ref BarcodeFormat_2), so you need to specify the barcode format in group 1 and group 2 individually. -*/ -typedef enum BarcodeFormat -{ - /**All supported formats in BarcodeFormat group 1*/ -#if defined(_WIN32) || defined(_WIN64) - BF_ALL = 0xFE3FFFFF, -#else - BF_ALL = -29360129, -#endif - - /**Combined value of BF_CODABAR, BF_CODE_128, BF_CODE_39, BF_CODE_39_Extended, BF_CODE_93, BF_EAN_13, BF_EAN_8, INDUSTRIAL_25, BF_ITF, BF_UPC_A, BF_UPC_E, BF_MSI_CODE ,BF_ONED; */ - BF_ONED = 0x003007FF, - - /**Combined value of BF_GS1_DATABAR_OMNIDIRECTIONAL, BF_GS1_DATABAR_TRUNCATED, BF_GS1_DATABAR_STACKED, BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL, BF_GS1_DATABAR_EXPANDED, BF_GS1_DATABAR_EXPANDED_STACKED, BF_GS1_DATABAR_LIMITED*/ - BF_GS1_DATABAR = 0x0003F800, - - /**Code 39 */ - BF_CODE_39 = 0x1, - - /**Code 128 */ - BF_CODE_128 = 0x2, - - /**Code 93 */ - BF_CODE_93 = 0x4, - - /**Codabar */ - BF_CODABAR = 0x8, - - /**Interleaved 2 of 5 */ - BF_ITF = 0x10, - - /**EAN-13 */ - BF_EAN_13 = 0x20, - - /**EAN-8 */ - BF_EAN_8 = 0x40, - - /**UPC-A */ - BF_UPC_A = 0x80, - - /**UPC-E */ - BF_UPC_E = 0x100, - - /**Industrial 2 of 5 */ - BF_INDUSTRIAL_25 = 0x200, - - /**CODE39 Extended */ - BF_CODE_39_EXTENDED = 0x400, - - /**GS1 Databar Omnidirectional*/ - BF_GS1_DATABAR_OMNIDIRECTIONAL = 0x800, - - /**GS1 Databar Truncated*/ - BF_GS1_DATABAR_TRUNCATED = 0x1000, - - /**GS1 Databar Stacked*/ - BF_GS1_DATABAR_STACKED = 0x2000, - - /**GS1 Databar Stacked Omnidirectional*/ - BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL = 0x4000, - - /**GS1 Databar Expanded*/ - BF_GS1_DATABAR_EXPANDED = 0x8000, - - /**GS1 Databar Expaned Stacked*/ - BF_GS1_DATABAR_EXPANDED_STACKED = 0x10000, - - /**GS1 Databar Limited*/ - BF_GS1_DATABAR_LIMITED = 0x20000, - - /**Patch code. */ - BF_PATCHCODE = 0x00040000, - - /**PDF417 */ - BF_PDF417 = 0x02000000, - - /**QRCode */ - BF_QR_CODE = 0x04000000, - - /**DataMatrix */ - BF_DATAMATRIX = 0x08000000, - - /**AZTEC */ - BF_AZTEC = 0x10000000, - - /**MAXICODE */ - BF_MAXICODE = 0x20000000, - - /**Micro QR Code*/ - BF_MICRO_QR = 0x40000000, - - /**Micro PDF417*/ - BF_MICRO_PDF417 = 0x00080000, - - /**GS1 Composite Code*/ -#if defined(_WIN32) || defined(_WIN64) - BF_GS1_COMPOSITE = 0x80000000, -#else - BF_GS1_COMPOSITE = -2147483648, -#endif - - /**MSI Code*/ - BF_MSI_CODE = 0x100000, - - /*Code 11*/ - BF_CODE_11 = 0x200000, - - - /**No barcode format in BarcodeFormat group 1*/ - BF_NULL = 0x00 - -}BarcodeFormat; - - -/** -* @enum BarcodeFormat_2 -* -* Describes the barcode types in BarcodeFormat group 2. -* Note: The barcode format our library will search for is composed of [BarcodeFormat group 1](@ref BarcodeFormat) and [BarcodeFormat group 2](@ref BarcodeFormat_2), so you need to specify the barcode format in group 1 and group 2 individually. -*/ -typedef enum BarcodeFormat_2 -{ - /**No barcode format in BarcodeFormat group 2*/ - BF2_NULL = 0x00, - - /**Combined value of BF2_USPSINTELLIGENTMAIL, BF2_POSTNET, BF2_PLANET, BF2_AUSTRALIANPOST, BF2_RM4SCC.*/ - BF2_POSTALCODE = 0x01F00000, - - /**Nonstandard barcode */ - BF2_NONSTANDARD_BARCODE = 0x01, - - /**USPS Intelligent Mail.*/ - BF2_USPSINTELLIGENTMAIL = 0x00100000, - - /**Postnet.*/ - BF2_POSTNET = 0x00200000, - - /**Planet.*/ - BF2_PLANET = 0x00400000, - - /**Australian Post.*/ - BF2_AUSTRALIANPOST = 0x00800000, - - /**Royal Mail 4-State Customer Barcode.*/ - BF2_RM4SCC = 0x01000000, - - /**DotCode.*/ - BF2_DOTCODE = 0x02, - - /**_PHARMACODE_ONE_TRACK.*/ - BF2_PHARMACODE_ONE_TRACK = 0x04, - - /**PHARMACODE_TWO_TRACK.*/ - BF2_PHARMACODE_TWO_TRACK = 0x08, - - /**PHARMACODE.*/ - BF2_PHARMACODE = 0x0C -}BarcodeFormat_2; - - - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagDMPoint -{ - int coordinate[2]; -}DM_Point; - -typedef struct tagQuadrilateral -{ - /**The four points of the quadrilateral.*/ - DM_Point points[4]; - -}Quadrilateral,*PQuadrilateral; - -/** -* @struct ImageData -* -* Stores the image data. -* -*/ -typedef struct tagImageData -{ - /**The length of the image data byte.*/ - int bytesLength; - - /**The image data content in a byte array.*/ - unsigned char* bytes; - - /**The width of the image in pixels.*/ - int width; - - /**The height of the image in pixels.*/ - int height; - - /**The stride(or scan width) of the image.*/ - int stride; - - /**The image pixel format used in the image byte array.*/ - ImagePixelFormat format; - - /**The image orientation.*/ - int orientation; -}ImageData; - - -#pragma pack(pop) - -#endif - -/** -* @enum GrayscaleEnhancementMode -* -* Describes the grayscaleEnhancementMode. -* -*/ -typedef enum GrayscaleEnhancementMode -{ - /**Not supported yet. */ - GEM_AUTO = 0x01, - - /**Takes the unpreprocessed image for following operations. */ - GEM_GENERAL = 0x02, - - /**Preprocesses the image using the gray equalization algorithm. Check @ref IPM for available argument settings.*/ - GEM_GRAY_EQUALIZE = 0x04, - - /**Preprocesses the image using the gray smoothing algorithm. Check @ref IPM for available argument settings.*/ - GEM_GRAY_SMOOTH = 0x08, - - /**Preprocesses the image using the sharpening and smoothing algorithm. Check @ref IPM for available argument settings.*/ - GEM_SHARPEN_SMOOTH = 0x10, - - /**Reserved setting for image preprocessing mode.*/ -#if defined(_WIN32) || defined(_WIN64) - GEM_REV = 0x80000000, -#else - GEM_REV = -2147483648, -#endif - - /**Skips image preprocessing. */ - GEM_SKIP = 0x00 -}GrayscaleEnhancementMode; - - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagBarcodeResult -{ - BarcodeFormat barcodeFormat; - BarcodeFormat_2 barcodeFormat_2; - const char* text; - unsigned char* bytes; - int bytesLength; - Quadrilateral location; - int moduleSize; - int pageNumber; - char reserved[64]; -}BarcodeResult; - -typedef struct tagBarcodeResultArray -{ - int resultsCount; - BarcodeResult** results; -}BarcodeResultArray; -#pragma pack(pop) - -#if !defined(_WIN32) && !defined(_WIN64) -#define DM_API __attribute__((visibility("default"))) -#include -#else -#ifdef DM_EXPORTS -#define DM_API __declspec(dllexport) -#else -#define DM_API -#endif -#include -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - DM_API const char* DC_GetErrorString(int errorCode); - DM_API int DC_InitLicense(const char* pLicense, char errorMsgBuffer[], const int errorMsgBufferLen); - DM_API int DC_IsPointInQuadrilateral(const DM_Point* point, const Quadrilateral* quad); - DM_API int DC_GetQuadrilateralArea(const Quadrilateral* quad); - DM_API int DC_GetIdleInstanceCount(); -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus -namespace dynamsoft -{ - namespace core - { - class DM_API CLicenseManager - { - public: - static int InitLicense(const char* pLicense,char errorMsgBuffer[] = NULL,const int errorMsgBufferLen = 0); - static int GetIdleInstanceCount(); - }; - -#pragma pack(push) -#pragma pack(1) - - class DM_API CPoint - { - public: - int coordinate[2]; - }; - - class DM_API CQuadrilateral - { - public: - CPoint points[4]; - - bool IsPointInQuadrilateral(const CPoint* point) const; - int GetArea() const; - }; - - class DM_API CImageData - { - protected: - int bytesLength; - unsigned char* bytes; - int width; - int height; - int stride; - ImagePixelFormat format; - int orientation; - public: - CImageData(); - CImageData(int _l, unsigned char* _b, int _w, int _h, int _s, ImagePixelFormat _f, int _o = 0); - ~CImageData(); - - const unsigned char* const GetBytes() const; - int GetBytesLength() const; - int GetWidth() const; - int GetHeight() const; - int GetStride() const; - ImagePixelFormat GetImagePixelFormat() const; - int GetOrientation() const; - - private: - CImageData(const CImageData&) = delete; - CImageData& operator=(const CImageData&) = delete; - }; - -#pragma pack(pop) - } -} - -#endif -#endif \ No newline at end of file diff --git a/windows/include/DynamsoftDocumentNormalizer.h b/windows/include/DynamsoftDocumentNormalizer.h deleted file mode 100644 index 03b8553..0000000 --- a/windows/include/DynamsoftDocumentNormalizer.h +++ /dev/null @@ -1,191 +0,0 @@ -#pragma once - -#if !defined(_WIN32) && !defined(_WIN64) -#define DDN_API __attribute__((visibility("default"))) -#include -#else -#ifdef DDN_EXPORTS -#define DDN_API __declspec(dllexport) -#else -#define DDN_API -#endif -#include -#endif -#ifdef __IOS_WRAPPER__ -#include "DynamsoftCore_Inner.h" -#else -#include "DynamsoftCore.h" -#endif -#define DDN_VERSION "1.0.30.0602" - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagDetectedQuadResult -{ - Quadrilateral *location; - int confidenceAsDocumentBoundary; - -}DetectedQuadResult, *PDetectedQuadResult; - -typedef struct tagDetectedQuadResultArray -{ - int resultsCount; - PDetectedQuadResult *detectedQuadResults; -}DetectedQuadResultArray; - -typedef struct tagNormalizedImageResult -{ - ImageData *image; -}NormalizedImageResult; - -#pragma pack(pop) - - -#ifdef __cplusplus -extern "C" { -#endif - - DDN_API const char* DDN_GetVersion(); - - DDN_API void* DDN_CreateInstance(); - - DDN_API void DDN_DestroyInstance(void* normalizer); - - DDN_API int DDN_InitRuntimeSettingsFromString(void* normalizer, const char* content, char errorMsgBuffer[], const int errorMsgBufferLen); - - DDN_API int DDN_InitRuntimeSettingsFromFile(void* normalizer, const char* filePath, char errorMsgBuffer[], const int errorMsgBufferLen); - - DDN_API int DDN_OutputRuntimeSettingsToFile(void* normalizer, const char* templateName,const char* outputFilePath); - - DDN_API int DDN_OutputRuntimeSettingsToString(void* normalizer, const char* templateName, char** content); - - DDN_API void DDN_FreeString(char** content); - - DDN_API int DDN_DetectQuadFromFile(void* normalizer, const char* sourceFilePath, const char* templateName, DetectedQuadResultArray** result); - - DDN_API int DDN_DetectQuadFromBuffer(void* normalizer, const ImageData* sourceImage, const char* templateName, DetectedQuadResultArray** result); - - DDN_API int DDN_NormalizeFile(void* normalizer, const char* sourceFilePath, const char* templateName, const Quadrilateral *quad, NormalizedImageResult** result); - - DDN_API int DDN_NormalizeBuffer(void* normalizer, const ImageData* sourceImage, const char* templateName, const Quadrilateral *quad, NormalizedImageResult** result); - - DDN_API void DDN_FreeNormalizedImageResult(NormalizedImageResult** result); - - DDN_API void DDN_FreeDetectedQuadResultArray(DetectedQuadResultArray** results); - - DDN_API int NormalizedImageResult_SaveToFile(const NormalizedImageResult* normalizedImageResult, const char* filePath); - -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus - -class CDocumentNormalizerInner; - -namespace dynamsoft -{ - namespace dir - { - class CParameterTree; - } - namespace ddn - { -#pragma pack(push) -#pragma pack(1) - class DDN_API CDetectedQuadResult - { - protected: - core::CQuadrilateral *location; - int confidenceAsDocumentBoundary; - - public: - CDetectedQuadResult(core::CQuadrilateral* loc, int conf); - ~CDetectedQuadResult(); - - const core::CQuadrilateral* GetLocation(); - int GetConfidenceAsDocumentBoundary(); - - private: - CDetectedQuadResult(const CDetectedQuadResult&); - CDetectedQuadResult& operator=(const CDetectedQuadResult&); - }; - - class DDN_API CDetectedQuadResultArray - { - protected: - int resultsCount; - CDetectedQuadResult** detectedQuadResults; - - public: - CDetectedQuadResultArray(int count, CDetectedQuadResult** resArray); - ~CDetectedQuadResultArray(); - - int GetCount(); - int GetDetectedQuadResult(int index, CDetectedQuadResult** result); - - private: - CDetectedQuadResultArray(const CDetectedQuadResultArray&); - CDetectedQuadResultArray& operator=(const CDetectedQuadResultArray&); - }; - - class DDN_API CNormalizedImageResult - { - protected: - core::CImageData* image; - - public: - CNormalizedImageResult(core::CImageData* img); - ~CNormalizedImageResult(); - int SaveToFile(const char* filePath); - const core::CImageData* GetImageData(); - - private: - CNormalizedImageResult(const CNormalizedImageResult&); - CNormalizedImageResult& operator=(const CNormalizedImageResult&); - }; -#pragma pack(pop) - - class DDN_API CDocumentNormalizer - { - protected: - CDocumentNormalizerInner * m_DDNInner; - - public: - CDocumentNormalizer(); - - ~CDocumentNormalizer(); - - static const char* GetVersion(); - - int InitRuntimeSettingsFromString(const char* content, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - int InitRuntimeSettingsFromFile(const char* filePath, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - int OutputRuntimeSettingsToFile(const char* templateName,const char* outputFilePath); - - int OutputRuntimeSettingsToString(const char* templateName,char** content); - - int DetectQuad(const char* sourceFilePath, const char* templateName, CDetectedQuadResultArray** result); - - int DetectQuad(const core::CImageData* sourceImage, const char* templateName, CDetectedQuadResultArray** result); - - int Normalize(const char* sourceFilePath, const char* templateName, const core::CQuadrilateral *quad, CNormalizedImageResult** result); - - int Normalize(const core::CImageData* sourceImage, const char* templateName, const core::CQuadrilateral *quad, CNormalizedImageResult** result); - - static void FreeNormalizedImageResult(CNormalizedImageResult** result); - - static void FreeDetectedQuadResultArray(CDetectedQuadResultArray** results); - - static void FreeString(char** content); - - - private: - CDocumentNormalizer(const CDocumentNormalizer& r); - CDocumentNormalizer& operator=(const CDocumentNormalizer& r); - }; - } -} -#endif diff --git a/windows/include/document_manager.h b/windows/include/document_manager.h deleted file mode 100644 index 16c3145..0000000 --- a/windows/include/document_manager.h +++ /dev/null @@ -1,526 +0,0 @@ -#ifndef DOCUMENT_MANAGER_H_ -#define DOCUMENT_MANAGER_H_ - -#include "DynamsoftCore.h" -#include "DynamsoftDocumentNormalizer.h" - -#include -#include -#include - -#include - -#include -#include -#include -#include -#include - -using namespace std; -using namespace dynamsoft::ddn; -using namespace dynamsoft::core; - -using flutter::EncodableList; -using flutter::EncodableMap; -using flutter::EncodableValue; - -class Task -{ -public: - std::function func; - unsigned char *buffer; -}; - -class WorkerThread -{ -public: - std::mutex m; - std::condition_variable cv; - std::queue tasks = {}; - volatile bool running; - std::thread t; -}; - -class DocumentManager -{ -public: - ~DocumentManager() - { - clear(); - if (normalizer != NULL) - { - DDN_DestroyInstance(normalizer); - normalizer = NULL; - } - - FreeImage(); - }; - - void clearTasks() - { - if (worker->tasks.size() > 0) - { - for (int i = 0; i < worker->tasks.size(); i++) - { - free(worker->tasks.front().buffer); - worker->tasks.pop(); - } - } - } - - void clear() - { - if (worker) - { - std::unique_lock lk(worker->m); - worker->running = false; - - clearTasks(); - - worker->cv.notify_one(); - lk.unlock(); - - worker->t.join(); - delete worker; - worker = NULL; - printf("Quit native thread.\n"); - } - } - - const char *GetVersion() - { - return DDN_GetVersion(); - } - - void Init() - { - normalizer = DDN_CreateInstance(); - imageResult = NULL; - worker = new WorkerThread(); - worker->running = true; - worker->t = thread(&run, this); - } - - int SetParameters(const char *params) - { - int ret = 0; - - if (normalizer) - { - char errorMsgBuffer[512]; - ret = DDN_InitRuntimeSettingsFromString(normalizer, params, errorMsgBuffer, 512); - if (ret != DM_OK) - { - cout << errorMsgBuffer << endl; - } - } - - return ret; - } - - static void run(DocumentManager *self) - { - while (self->worker->running) - { - std::function task; - std::unique_lock lk(self->worker->m); - self->worker->cv.wait(lk, [&] - { return !self->worker->tasks.empty() || !self->worker->running; }); - if (!self->worker->running) - { - break; - } - task = std::move(self->worker->tasks.front().func); - self->worker->tasks.pop(); - lk.unlock(); - - task(); - } - } - - void queueTask(unsigned char *imageBuffer, int width, int height, int stride, int format, int len) - { - unsigned char *data = (unsigned char *)malloc(len); - memcpy(data, imageBuffer, len); - - std::unique_lock lk(worker->m); - clearTasks(); - std::function task_function = std::bind(processBuffer, this, data, width, height, stride, format); - Task task; - task.func = task_function; - task.buffer = data; - worker->tasks.push(task); - worker->cv.notify_one(); - lk.unlock(); - } - - ImagePixelFormat getPixelFormat(int format) - { - ImagePixelFormat pixelFormat = IPF_BGR_888; - switch (format) - { - case 0: - pixelFormat = IPF_BINARY; - break; - case 1: - pixelFormat = IPF_BINARYINVERTED; - break; - case 2: - pixelFormat = IPF_GRAYSCALED; - break; - case 3: - pixelFormat = IPF_NV21; - break; - case 4: - pixelFormat = IPF_RGB_565; - break; - case 5: - pixelFormat = IPF_RGB_555; - break; - case 6: - pixelFormat = IPF_RGB_888; - break; - case 7: - pixelFormat = IPF_ARGB_8888; - break; - case 8: - pixelFormat = IPF_RGB_161616; - break; - case 9: - pixelFormat = IPF_ARGB_16161616; - break; - case 10: - pixelFormat = IPF_ABGR_8888; - break; - case 11: - pixelFormat = IPF_ABGR_16161616; - break; - case 12: - pixelFormat = IPF_BGR_888; - break; - } - - return pixelFormat; - } - - static void processBuffer(DocumentManager *self, unsigned char *buffer, int width, int height, int stride, int format) - { - ImageData data; - data.bytes = buffer; - data.width = width; - data.height = height; - data.stride = stride; - data.format = self->getPixelFormat(format); - data.bytesLength = stride * height; - data.orientation = 0; - - DetectedQuadResultArray *pResults = NULL; - int ret = DDN_DetectQuadFromBuffer(self->normalizer, &data, "", &pResults); - if (ret) - { - printf("Detection error: %s\n", DC_GetErrorString(ret)); - } - - free(buffer); - EncodableList results = self->WrapResults(pResults); - std::unique_ptr> result = std::move(self->pendingResults.front()); - self->pendingResults.erase(self->pendingResults.begin()); - result->Success(results); - } - - static int SetLicense(const char *license) - { - char errorMsgBuffer[512]; - // Click https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform to get a trial license. - int ret = DC_InitLicense(license, errorMsgBuffer, 512); - if (ret != DM_OK) - { - cout << errorMsgBuffer << endl; - } - return ret; - } - - EncodableList WrapResults(DetectedQuadResultArray *pResults) - { - EncodableList out; - if (normalizer == NULL) - return out; - - if (pResults) - { - int count = pResults->resultsCount; - - for (int i = 0; i < count; i++) - { - EncodableMap map; - - DetectedQuadResult *quadResult = pResults->detectedQuadResults[i]; - int confidence = quadResult->confidenceAsDocumentBoundary; - DM_Point *points = quadResult->location->points; - int x1 = points[0].coordinate[0]; - int y1 = points[0].coordinate[1]; - int x2 = points[1].coordinate[0]; - int y2 = points[1].coordinate[1]; - int x3 = points[2].coordinate[0]; - int y3 = points[2].coordinate[1]; - int x4 = points[3].coordinate[0]; - int y4 = points[3].coordinate[1]; - - map[EncodableValue("confidence")] = EncodableValue(confidence); - map[EncodableValue("x1")] = EncodableValue(x1); - map[EncodableValue("y1")] = EncodableValue(y1); - map[EncodableValue("x2")] = EncodableValue(x2); - map[EncodableValue("y2")] = EncodableValue(y2); - map[EncodableValue("x3")] = EncodableValue(x3); - map[EncodableValue("y3")] = EncodableValue(y3); - map[EncodableValue("x4")] = EncodableValue(x4); - map[EncodableValue("y4")] = EncodableValue(y4); - out.push_back(map); - } - } - - if (pResults != NULL) - DDN_FreeDetectedQuadResultArray(&pResults); - - return out; - } - - EncodableList DetectFile(const char *filename) - { - EncodableList out; - if (normalizer == NULL) - return out; - - DetectedQuadResultArray *pResults = NULL; - - int ret = DDN_DetectQuadFromFile(normalizer, filename, "", &pResults); - if (ret) - { - printf("Detection error: %s\n", DC_GetErrorString(ret)); - } - - return WrapResults(pResults); - } - - EncodableMap createNormalizedImage() - { - EncodableMap map; - - if (imageResult) - { - ImageData *imageData = imageResult->image; - int width = imageData->width; - int height = imageData->height; - int stride = imageData->stride; - int format = (int)imageData->format; - unsigned char *data = imageData->bytes; - int orientation = imageData->orientation; - int length = imageData->bytesLength; - - map[EncodableValue("width")] = EncodableValue(width); - map[EncodableValue("height")] = EncodableValue(height); - map[EncodableValue("stride")] = EncodableValue(stride); - map[EncodableValue("format")] = EncodableValue(format); - map[EncodableValue("orientation")] = EncodableValue(orientation); - map[EncodableValue("length")] = EncodableValue(length); - - unsigned char *rgba = new unsigned char[width * height * 4]; - memset(rgba, 0, width * height * 4); - if (format == IPF_RGB_888) - { - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - - rgba[index * 4] = data[dataIndex]; // red - rgba[index * 4 + 1] = data[dataIndex + 1]; // green - rgba[index * 4 + 2] = data[dataIndex + 2]; // blue - rgba[index * 4 + 3] = 255; // alpha - dataIndex += 3; - } - } - } - else if (format == IPF_GRAYSCALED) - { - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - rgba[index * 4] = data[dataIndex]; - rgba[index * 4 + 1] = data[dataIndex]; - rgba[index * 4 + 2] = data[dataIndex]; - rgba[index * 4 + 3] = 255; - dataIndex += 1; - } - } - } - else if (format == IPF_BINARY) - { - unsigned char *grayscale = new unsigned char[width * height]; - binary2grayscale(data, grayscale, width, height, stride, length); - - int dataIndex = 0; - for (int i = 0; i < height; i++) - { - for (int j = 0; j < width; j++) - { - int index = i * width + j; - rgba[index * 4] = grayscale[dataIndex]; - rgba[index * 4 + 1] = grayscale[dataIndex]; - rgba[index * 4 + 2] = grayscale[dataIndex]; - rgba[index * 4 + 3] = 255; - dataIndex += 1; - } - } - - free(grayscale); - } - - std::vector rawBytes(rgba, rgba + width * height * 4); - map[EncodableValue("data")] = rawBytes; - - free(rgba); - } - - return map; - } - - EncodableMap NormalizeFile(const char *filename, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) - { - FreeImage(); - - Quadrilateral quad; - quad.points[0].coordinate[0] = x1; - quad.points[0].coordinate[1] = y1; - quad.points[1].coordinate[0] = x2; - quad.points[1].coordinate[1] = y2; - quad.points[2].coordinate[0] = x3; - quad.points[2].coordinate[1] = y3; - quad.points[3].coordinate[0] = x4; - quad.points[3].coordinate[1] = y4; - - int errorCode = DDN_NormalizeFile(normalizer, filename, "", &quad, &imageResult); - if (errorCode != DM_OK) - printf("%s\r\n", DC_GetErrorString(errorCode)); - - return createNormalizedImage(); - } - - EncodableMap NormalizeBuffer(const unsigned char *buffer, int width, int height, int stride, int format, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) - { - FreeImage(); - - ImageData data; - data.bytes = (unsigned char *)buffer; - data.width = width; - data.height = height; - data.stride = stride; - data.format = getPixelFormat(format); - data.bytesLength = stride * height; - data.orientation = 0; - - Quadrilateral quad; - quad.points[0].coordinate[0] = x1; - quad.points[0].coordinate[1] = y1; - quad.points[1].coordinate[0] = x2; - quad.points[1].coordinate[1] = y2; - quad.points[2].coordinate[0] = x3; - quad.points[2].coordinate[1] = y3; - quad.points[3].coordinate[0] = x4; - quad.points[3].coordinate[1] = y4; - - int errorCode = DDN_NormalizeBuffer(normalizer, &data, "", &quad, &imageResult); - if (errorCode != DM_OK) - printf("%s\r\n", DC_GetErrorString(errorCode)); - - return createNormalizedImage(); - } - - void binary2grayscale(unsigned char *data, unsigned char *output, int width, int height, int stride, int length) - { - int index = 0; - - int skip = stride * 8 - width; - int shift = 0; - int n = 1; - - for (int i = 0; i < length; ++i) - { - unsigned char b = data[i]; - int byteCount = 7; - while (byteCount >= 0) - { - int tmp = (b & (1 << byteCount)) >> byteCount; - - if (shift < stride * 8 * n - skip) - { - if (tmp == 1) - output[index] = 255; - else - output[index] = 0; - index += 1; - } - - byteCount -= 1; - shift += 1; - } - - if (shift == stride * 8 * n) - { - n += 1; - } - } - } - - EncodableValue GetParameters() - { - if (normalizer == NULL) - return EncodableValue(""); - - char *content = NULL; - DDN_OutputRuntimeSettingsToString(normalizer, "", &content); - EncodableValue params = EncodableValue((const char *)content); - if (content != NULL) - DDN_FreeString(&content); - return params; - } - - int Save(const char *filename) - { - if (imageResult == NULL) - return -1; - int ret = NormalizedImageResult_SaveToFile(imageResult, filename); - if (ret != DM_OK) - printf("NormalizedImageResult_SaveToFile: %s\r\n", DC_GetErrorString(ret)); - - return ret; - } - - void DetectBuffer(std::unique_ptr> &pendingResult, const unsigned char *buffer, int width, int height, int stride, int format) - { - pendingResults.push_back(std::move(pendingResult)); - queueTask((unsigned char *)buffer, width, height, stride, format, stride * height); - } - -private: - void *normalizer; - NormalizedImageResult *imageResult; - WorkerThread *worker; - vector>> pendingResults = {}; - - void FreeImage() - { - if (imageResult != NULL) - { - DDN_FreeNormalizedImageResult(&imageResult); - imageResult = NULL; - } - } -}; - -#endif \ No newline at end of file diff --git a/windows/include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin_c_api.h b/windows/include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin_c_api.h deleted file mode 100644 index 374e9e0..0000000 --- a/windows/include/flutter_document_scan_sdk/flutter_document_scan_sdk_plugin_c_api.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void FlutterDocumentScanSdkPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_FLUTTER_DOCUMENT_SCAN_SDK_PLUGIN_C_API_H_ diff --git a/windows/lib/DynamsoftCorex64.lib b/windows/lib/DynamsoftCorex64.lib deleted file mode 100644 index 9f967fb..0000000 Binary files a/windows/lib/DynamsoftCorex64.lib and /dev/null differ diff --git a/windows/lib/DynamsoftDocumentNormalizerx64.lib b/windows/lib/DynamsoftDocumentNormalizerx64.lib deleted file mode 100644 index 3b1b989..0000000 Binary files a/windows/lib/DynamsoftDocumentNormalizerx64.lib and /dev/null differ