changed repo structure

This commit is contained in:
2025-06-06 02:50:04 +02:00
parent e887de976a
commit 6e6ee357b8
8848 changed files with 2089898 additions and 9 deletions

View File

@@ -0,0 +1,109 @@
.class public final Lkotlin/io/encoding/Base64$Default;
.super Lkotlin/io/encoding/Base64;
.source "Base64.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/io/encoding/Base64;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Default"
.end annotation
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0007\n\u0002\u0010\u0008\n\u0002\u0008\u0005\n\u0002\u0010\u0012\n\u0002\u0008\u0003\n\u0002\u0010\u0005\n\u0002\u0008\u0002\u0008\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0001\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0004\u0010\u0005R\u0011\u0010\u0006\u001a\u00020\u0001\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0007\u0010\u0005R\u000e\u0010\u0008\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\tX\u0080T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000c\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\tX\u0080T\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u000e\u001a\u00020\u000fX\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0010\u0010\u0011R\u000e\u0010\u0012\u001a\u00020\u0013X\u0080T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0014\u001a\u00020\tX\u0080T\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0015"
}
d2 = {
"Lkotlin/io/encoding/Base64$Default;",
"Lkotlin/io/encoding/Base64;",
"()V",
"Mime",
"getMime",
"()Lkotlin/io/encoding/Base64;",
"UrlSafe",
"getUrlSafe",
"bitsPerByte",
"",
"bitsPerSymbol",
"bytesPerGroup",
"mimeGroupsPerLine",
"mimeLineLength",
"mimeLineSeparatorSymbols",
"",
"getMimeLineSeparatorSymbols$kotlin_stdlib",
"()[B",
"padSymbol",
"",
"symbolsPerGroup",
"kotlin-stdlib"
}
k = 0x1
mv = {
0x1,
0x8,
0x0
}
xi = 0x30
.end annotation
# direct methods
.method private constructor <init>()V
.locals 2
const/4 v0, 0x0
const/4 v1, 0x0
.line 527
invoke-direct {p0, v0, v0, v1}, Lkotlin/io/encoding/Base64;-><init>(ZZLkotlin/jvm/internal/DefaultConstructorMarker;)V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
invoke-direct {p0}, Lkotlin/io/encoding/Base64$Default;-><init>()V
return-void
.end method
# virtual methods
.method public final getMime()Lkotlin/io/encoding/Base64;
.locals 1
.line 563
invoke-static {}, Lkotlin/io/encoding/Base64;->access$getMime$cp()Lkotlin/io/encoding/Base64;
move-result-object v0
return-object v0
.end method
.method public final getMimeLineSeparatorSymbols$kotlin_stdlib()[B
.locals 1
.line 539
invoke-static {}, Lkotlin/io/encoding/Base64;->access$getMimeLineSeparatorSymbols$cp()[B
move-result-object v0
return-object v0
.end method
.method public final getUrlSafe()Lkotlin/io/encoding/Base64;
.locals 1
.line 551
invoke-static {}, Lkotlin/io/encoding/Base64;->access$getUrlSafe$cp()Lkotlin/io/encoding/Base64;
move-result-object v0
return-object v0
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,165 @@
.class public final Lkotlin/io/encoding/Base64JVMKt;
.super Ljava/lang/Object;
.source "Base64JVM.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u0000 \n\u0000\n\u0002\u0010\u0012\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\r\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0006\n\u0002\u0010\u000e\n\u0000\u001a%\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\u0008\u001a5\u0010\u0008\u001a\u00020\u0006*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\t\u001a\u00020\u00012\u0006\u0010\n\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\u0008\u001a%\u0010\u000b\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\u0008\u001a%\u0010\u000c\u001a\u00020\r*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\u0008\u00a8\u0006\u000e"
}
d2 = {
"platformCharsToBytes",
"",
"Lkotlin/io/encoding/Base64;",
"source",
"",
"startIndex",
"",
"endIndex",
"platformEncodeIntoByteArray",
"destination",
"destinationOffset",
"platformEncodeToByteArray",
"platformEncodeToString",
"",
"kotlin-stdlib"
}
k = 0x2
mv = {
0x1,
0x8,
0x0
}
xi = 0x30
.end annotation
# direct methods
.method private static final platformCharsToBytes(Lkotlin/io/encoding/Base64;Ljava/lang/CharSequence;II)[B
.locals 1
const-string v0, "<this>"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "source"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 12
instance-of v0, p1, Ljava/lang/String;
if-eqz v0, :cond_0
.line 13
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
move-result v0
invoke-virtual {p0, v0, p2, p3}, Lkotlin/io/encoding/Base64;->checkSourceBounds$kotlin_stdlib(III)V
.line 15
check-cast p1, Ljava/lang/String;
invoke-virtual {p1, p2, p3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
const-string p1, "this as java.lang.String\u2026ing(startIndex, endIndex)"
invoke-static {p0, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
sget-object p1, Lkotlin/text/Charsets;->ISO_8859_1:Ljava/nio/charset/Charset;
const-string p2, "null cannot be cast to non-null type java.lang.String"
invoke-static {p0, p2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0, p1}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object p0
const-string p1, "this as java.lang.String).getBytes(charset)"
invoke-static {p0, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
goto :goto_0
.line 17
:cond_0
invoke-virtual {p0, p1, p2, p3}, Lkotlin/io/encoding/Base64;->charsToBytesImpl$kotlin_stdlib(Ljava/lang/CharSequence;II)[B
move-result-object p0
:goto_0
return-object p0
.end method
.method private static final platformEncodeIntoByteArray(Lkotlin/io/encoding/Base64;[B[BIII)I
.locals 1
const-string v0, "<this>"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "source"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "destination"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 54
invoke-virtual/range {p0 .. p5}, Lkotlin/io/encoding/Base64;->encodeIntoByteArrayImpl$kotlin_stdlib([B[BIII)I
move-result p0
return p0
.end method
.method private static final platformEncodeToByteArray(Lkotlin/io/encoding/Base64;[BII)[B
.locals 1
const-string v0, "<this>"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "source"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 72
invoke-virtual {p0, p1, p2, p3}, Lkotlin/io/encoding/Base64;->encodeToByteArrayImpl$kotlin_stdlib([BII)[B
move-result-object p0
return-object p0
.end method
.method private static final platformEncodeToString(Lkotlin/io/encoding/Base64;[BII)Ljava/lang/String;
.locals 1
const-string v0, "<this>"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "source"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 33
invoke-virtual {p0, p1, p2, p3}, Lkotlin/io/encoding/Base64;->encodeToByteArrayImpl$kotlin_stdlib([BII)[B
move-result-object p0
new-instance p1, Ljava/lang/String;
.line 34
sget-object p2, Lkotlin/text/Charsets;->ISO_8859_1:Ljava/nio/charset/Charset;
invoke-direct {p1, p0, p2}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
return-object p1
.end method

View File

@@ -0,0 +1,413 @@
.class public final Lkotlin/io/encoding/Base64Kt;
.super Ljava/lang/Object;
.source "Base64.kt"
# annotations
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nBase64.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Base64.kt\nkotlin/io/encoding/Base64Kt\n+ 2 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,647:1\n13654#2,3:648\n13654#2,3:651\n*S KotlinDebug\n*F\n+ 1 Base64.kt\nkotlin/io/encoding/Base64Kt\n*L\n582#1:648,3\n601#1:651,3\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u0000\u001e\n\u0000\n\u0002\u0010\u0015\n\u0002\u0008\u0003\n\u0002\u0010\u0012\n\u0002\u0008\u0006\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0008\n\u0000\u001a\u0010\u0010\u000b\u001a\u00020\u000c2\u0006\u0010\r\u001a\u00020\u000eH\u0001\"\u0016\u0010\u0000\u001a\u00020\u00018\u0002X\u0083\u0004\u00a2\u0006\u0008\n\u0000\u0012\u0004\u0008\u0002\u0010\u0003\"\u0016\u0010\u0004\u001a\u00020\u00058\u0002X\u0083\u0004\u00a2\u0006\u0008\n\u0000\u0012\u0004\u0008\u0006\u0010\u0003\"\u0016\u0010\u0007\u001a\u00020\u00018\u0002X\u0083\u0004\u00a2\u0006\u0008\n\u0000\u0012\u0004\u0008\u0008\u0010\u0003\"\u0016\u0010\t\u001a\u00020\u00058\u0002X\u0083\u0004\u00a2\u0006\u0008\n\u0000\u0012\u0004\u0008\n\u0010\u0003\u00a8\u0006\u000f"
}
d2 = {
"base64DecodeMap",
"",
"getBase64DecodeMap$annotations",
"()V",
"base64EncodeMap",
"",
"getBase64EncodeMap$annotations",
"base64UrlDecodeMap",
"getBase64UrlDecodeMap$annotations",
"base64UrlEncodeMap",
"getBase64UrlEncodeMap$annotations",
"isInMimeAlphabet",
"",
"symbol",
"",
"kotlin-stdlib"
}
k = 0x2
mv = {
0x1,
0x8,
0x0
}
xi = 0x30
.end annotation
# static fields
.field private static final base64DecodeMap:[I
.field private static final base64EncodeMap:[B
.field private static final base64UrlDecodeMap:[I
.field private static final base64UrlEncodeMap:[B
# direct methods
.method static constructor <clinit>()V
.locals 10
const/16 v0, 0x40
.line 574
new-array v0, v0, [B
fill-array-data v0, :array_0
.line 570
sput-object v0, Lkotlin/io/encoding/Base64Kt;->base64EncodeMap:[B
const/16 v1, 0x100
.line 579
new-array v1, v1, [I
const/4 v6, 0x6
const/4 v7, 0x0
const/4 v3, -0x1
const/4 v4, 0x0
const/4 v5, 0x0
move-object v2, v1
.line 580
invoke-static/range {v2 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([IIIIILjava/lang/Object;)V
const/16 v2, 0x3d
const/4 v3, -0x2
.line 581
aput v3, v1, v2
.line 649
array-length v2, v0
const/4 v3, 0x0
move v4, v3
move v5, v4
:goto_0
if-ge v4, v2, :cond_0
aget-byte v6, v0, v4
add-int/lit8 v7, v5, 0x1
.line 583
aput v5, v1, v6
add-int/lit8 v4, v4, 0x1
move v5, v7
goto :goto_0
.line 579
:cond_0
sput-object v1, Lkotlin/io/encoding/Base64Kt;->base64DecodeMap:[I
const/16 v0, 0x40
.line 593
new-array v0, v0, [B
fill-array-data v0, :array_1
.line 589
sput-object v0, Lkotlin/io/encoding/Base64Kt;->base64UrlEncodeMap:[B
const/16 v1, 0x100
.line 598
new-array v1, v1, [I
const/4 v8, 0x6
const/4 v9, 0x0
const/4 v5, -0x1
const/4 v6, 0x0
const/4 v7, 0x0
move-object v4, v1
.line 599
invoke-static/range {v4 .. v9}, Lkotlin/collections/ArraysKt;->fill$default([IIIIILjava/lang/Object;)V
const/16 v2, 0x3d
const/4 v4, -0x2
.line 600
aput v4, v1, v2
.line 652
array-length v2, v0
move v4, v3
:goto_1
if-ge v3, v2, :cond_1
aget-byte v5, v0, v3
add-int/lit8 v6, v4, 0x1
.line 602
aput v4, v1, v5
add-int/lit8 v3, v3, 0x1
move v4, v6
goto :goto_1
.line 598
:cond_1
sput-object v1, Lkotlin/io/encoding/Base64Kt;->base64UrlDecodeMap:[I
return-void
nop
:array_0
.array-data 1
0x41t
0x42t
0x43t
0x44t
0x45t
0x46t
0x47t
0x48t
0x49t
0x4at
0x4bt
0x4ct
0x4dt
0x4et
0x4ft
0x50t
0x51t
0x52t
0x53t
0x54t
0x55t
0x56t
0x57t
0x58t
0x59t
0x5at
0x61t
0x62t
0x63t
0x64t
0x65t
0x66t
0x67t
0x68t
0x69t
0x6at
0x6bt
0x6ct
0x6dt
0x6et
0x6ft
0x70t
0x71t
0x72t
0x73t
0x74t
0x75t
0x76t
0x77t
0x78t
0x79t
0x7at
0x30t
0x31t
0x32t
0x33t
0x34t
0x35t
0x36t
0x37t
0x38t
0x39t
0x2bt
0x2ft
.end array-data
:array_1
.array-data 1
0x41t
0x42t
0x43t
0x44t
0x45t
0x46t
0x47t
0x48t
0x49t
0x4at
0x4bt
0x4ct
0x4dt
0x4et
0x4ft
0x50t
0x51t
0x52t
0x53t
0x54t
0x55t
0x56t
0x57t
0x58t
0x59t
0x5at
0x61t
0x62t
0x63t
0x64t
0x65t
0x66t
0x67t
0x68t
0x69t
0x6at
0x6bt
0x6ct
0x6dt
0x6et
0x6ft
0x70t
0x71t
0x72t
0x73t
0x74t
0x75t
0x76t
0x77t
0x78t
0x79t
0x7at
0x30t
0x31t
0x32t
0x33t
0x34t
0x35t
0x36t
0x37t
0x38t
0x39t
0x2dt
0x5ft
.end array-data
.end method
.method public static final synthetic access$getBase64DecodeMap$p()[I
.locals 1
.line 1
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64DecodeMap:[I
return-object v0
.end method
.method public static final synthetic access$getBase64EncodeMap$p()[B
.locals 1
.line 1
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64EncodeMap:[B
return-object v0
.end method
.method public static final synthetic access$getBase64UrlDecodeMap$p()[I
.locals 1
.line 1
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64UrlDecodeMap:[I
return-object v0
.end method
.method public static final synthetic access$getBase64UrlEncodeMap$p()[B
.locals 1
.line 1
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64UrlEncodeMap:[B
return-object v0
.end method
.method private static synthetic getBase64DecodeMap$annotations()V
.locals 0
return-void
.end method
.method private static synthetic getBase64EncodeMap$annotations()V
.locals 0
return-void
.end method
.method private static synthetic getBase64UrlDecodeMap$annotations()V
.locals 0
return-void
.end method
.method private static synthetic getBase64UrlEncodeMap$annotations()V
.locals 0
return-void
.end method
.method public static final isInMimeAlphabet(I)Z
.locals 2
if-ltz p0, :cond_0
.line 610
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64DecodeMap:[I
array-length v1, v0
if-ge p0, v1, :cond_0
aget p0, v0, p0
const/4 v0, -0x1
if-eq p0, v0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method

View File

@@ -0,0 +1,701 @@
.class final Lkotlin/io/encoding/DecodeInputStream;
.super Ljava/io/InputStream;
.source "Base64IOStream.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u00002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0005\n\u0002\u0010\u000b\n\u0002\u0008\u0004\n\u0002\u0010\u0002\n\u0002\u0008\u000f\u0008\u0003\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0001\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u00a2\u0006\u0002\u0010\u0005J\u0008\u0010\u0013\u001a\u00020\u0014H\u0016J \u0010\u0015\u001a\u00020\u00142\u0006\u0010\u0016\u001a\u00020\u00072\u0006\u0010\u0017\u001a\u00020\t2\u0006\u0010\u0018\u001a\u00020\tH\u0002J(\u0010\u0019\u001a\u00020\t2\u0006\u0010\u0016\u001a\u00020\u00072\u0006\u0010\u0017\u001a\u00020\t2\u0006\u0010\u001a\u001a\u00020\t2\u0006\u0010\u001b\u001a\u00020\tH\u0002J\u0010\u0010\u001c\u001a\u00020\t2\u0006\u0010\u001b\u001a\u00020\tH\u0002J\u0008\u0010\u001d\u001a\u00020\tH\u0016J \u0010\u001d\u001a\u00020\t2\u0006\u0010\u001e\u001a\u00020\u00072\u0006\u0010\u001f\u001a\u00020\t2\u0006\u0010\u0018\u001a\u00020\tH\u0016J\u0008\u0010 \u001a\u00020\tH\u0002J\u0008\u0010!\u001a\u00020\u0014H\u0002J\u0008\u0010\"\u001a\u00020\u0014H\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0008\u001a\u00020\tX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0014\u0010\n\u001a\u00020\t8BX\u0082\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u000b\u0010\u000cR\u000e\u0010\r\u001a\u00020\tX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0001X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u000fX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0010\u001a\u00020\u000fX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0011\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0012\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006#"
}
d2 = {
"Lkotlin/io/encoding/DecodeInputStream;",
"Ljava/io/InputStream;",
"input",
"base64",
"Lkotlin/io/encoding/Base64;",
"(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)V",
"byteBuffer",
"",
"byteBufferEndIndex",
"",
"byteBufferLength",
"getByteBufferLength",
"()I",
"byteBufferStartIndex",
"isClosed",
"",
"isEOF",
"singleByteBuffer",
"symbolBuffer",
"close",
"",
"copyByteBufferInto",
"dst",
"dstOffset",
"length",
"decodeSymbolBufferInto",
"dstEndIndex",
"symbolBufferLength",
"handlePaddingSymbol",
"read",
"destination",
"offset",
"readNextSymbol",
"resetByteBufferIfEmpty",
"shiftByteBufferToStartIfNeeded",
"kotlin-stdlib"
}
k = 0x1
mv = {
0x1,
0x8,
0x0
}
xi = 0x30
.end annotation
# instance fields
.field private final base64:Lkotlin/io/encoding/Base64;
.field private final byteBuffer:[B
.field private byteBufferEndIndex:I
.field private byteBufferStartIndex:I
.field private final input:Ljava/io/InputStream;
.field private isClosed:Z
.field private isEOF:Z
.field private final singleByteBuffer:[B
.field private final symbolBuffer:[B
# direct methods
.method public constructor <init>(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)V
.locals 1
const-string v0, "input"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "base64"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 67
invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
.line 65
iput-object p1, p0, Lkotlin/io/encoding/DecodeInputStream;->input:Ljava/io/InputStream;
.line 66
iput-object p2, p0, Lkotlin/io/encoding/DecodeInputStream;->base64:Lkotlin/io/encoding/Base64;
const/4 p1, 0x1
.line 70
new-array p1, p1, [B
iput-object p1, p0, Lkotlin/io/encoding/DecodeInputStream;->singleByteBuffer:[B
const/16 p1, 0x400
.line 72
new-array p2, p1, [B
iput-object p2, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
.line 74
new-array p1, p1, [B
iput-object p1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
return-void
.end method
.method private final copyByteBufferInto([BII)V
.locals 3
.line 173
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
.line 176
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
add-int v2, v1, p3
.line 173
invoke-static {v0, p1, p2, v1, v2}, Lkotlin/collections/ArraysKt;->copyInto([B[BIII)[B
.line 179
iget p1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
add-int/2addr p1, p3
iput p1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
.line 180
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->resetByteBufferIfEmpty()V
return-void
.end method
.method private final decodeSymbolBufferInto([BIII)I
.locals 7
.line 158
iget v6, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->base64:Lkotlin/io/encoding/Base64;
.line 159
iget-object v1, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
.line 160
iget-object v2, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
const/4 v4, 0x0
move v3, v6
move v5, p4
.line 158
invoke-virtual/range {v0 .. v5}, Lkotlin/io/encoding/Base64;->decodeIntoByteArray([B[BIII)I
move-result p4
add-int/2addr v6, p4
iput v6, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
.line 166
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->getByteBufferLength()I
move-result p4
sub-int/2addr p3, p2
invoke-static {p4, p3}, Ljava/lang/Math;->min(II)I
move-result p3
.line 167
invoke-direct {p0, p1, p2, p3}, Lkotlin/io/encoding/DecodeInputStream;->copyByteBufferInto([BII)V
.line 168
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->shiftByteBufferToStartIfNeeded()V
return p3
.end method
.method private final getByteBufferLength()I
.locals 2
.line 78
iget v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
sub-int/2addr v0, v1
return v0
.end method
.method private final handlePaddingSymbol(I)I
.locals 4
.line 202
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
const/16 v1, 0x3d
aput-byte v1, v0, p1
and-int/lit8 v0, p1, 0x3
const/4 v1, 0x2
if-ne v0, v1, :cond_1
.line 206
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->readNextSymbol()I
move-result v0
if-ltz v0, :cond_0
.line 208
iget-object v2, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
add-int/lit8 v3, p1, 0x1
int-to-byte v0, v0
aput-byte v0, v2, v3
:cond_0
add-int/2addr p1, v1
goto :goto_0
:cond_1
add-int/lit8 p1, p1, 0x1
:goto_0
return p1
.end method
.method private final readNextSymbol()I
.locals 2
.line 218
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->base64:Lkotlin/io/encoding/Base64;
invoke-virtual {v0}, Lkotlin/io/encoding/Base64;->isMimeScheme$kotlin_stdlib()Z
move-result v0
if-nez v0, :cond_0
.line 219
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->input:Ljava/io/InputStream;
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
move-result v0
return v0
.line 224
:cond_0
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->input:Ljava/io/InputStream;
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_1
.line 225
invoke-static {v0}, Lkotlin/io/encoding/Base64Kt;->isInMimeAlphabet(I)Z
move-result v1
if-eqz v1, :cond_0
:cond_1
return v0
.end method
.method private final resetByteBufferIfEmpty()V
.locals 2
.line 184
iget v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
if-ne v0, v1, :cond_0
const/4 v0, 0x0
.line 185
iput v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
.line 186
iput v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
:cond_0
return-void
.end method
.method private final shiftByteBufferToStartIfNeeded()V
.locals 4
.line 192
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
array-length v1, v0
iget v2, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
sub-int/2addr v1, v2
.line 193
iget-object v3, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
array-length v3, v3
div-int/lit8 v3, v3, 0x4
mul-int/lit8 v3, v3, 0x3
if-le v3, v1, :cond_0
.line 195
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
const/4 v3, 0x0
invoke-static {v0, v0, v3, v1, v2}, Lkotlin/collections/ArraysKt;->copyInto([B[BIII)[B
.line 196
iget v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
sub-int/2addr v0, v1
iput v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
.line 197
iput v3, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
:cond_0
return-void
.end method
# virtual methods
.method public close()V
.locals 1
.line 149
iget-boolean v0, p0, Lkotlin/io/encoding/DecodeInputStream;->isClosed:Z
if-nez v0, :cond_0
const/4 v0, 0x1
.line 150
iput-boolean v0, p0, Lkotlin/io/encoding/DecodeInputStream;->isClosed:Z
.line 151
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->input:Ljava/io/InputStream;
invoke-virtual {v0}, Ljava/io/InputStream;->close()V
:cond_0
return-void
.end method
.method public read()I
.locals 4
.line 81
iget v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
const/4 v2, 0x1
if-ge v0, v1, :cond_0
.line 82
iget-object v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
aget-byte v1, v1, v0
and-int/lit16 v1, v1, 0xff
add-int/2addr v0, v2
.line 83
iput v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
.line 84
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->resetByteBufferIfEmpty()V
return v1
.line 87
:cond_0
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->singleByteBuffer:[B
const/4 v1, 0x0
invoke-virtual {p0, v0, v1, v2}, Lkotlin/io/encoding/DecodeInputStream;->read([BII)I
move-result v0
const/4 v3, -0x1
if-eq v0, v3, :cond_2
if-ne v0, v2, :cond_1
.line 89
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->singleByteBuffer:[B
aget-byte v0, v0, v1
and-int/lit16 v3, v0, 0xff
goto :goto_0
:cond_1
new-instance v0, Ljava/lang/IllegalStateException;
.line 90
const-string v1, "Unreachable"
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_2
:goto_0
return v3
.end method
.method public read([BII)I
.locals 9
const-string v0, "destination"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
if-ltz p2, :cond_b
if-ltz p3, :cond_b
add-int v0, p2, p3
.line 95
array-length v1, p1
if-gt v0, v1, :cond_b
.line 98
iget-boolean v1, p0, Lkotlin/io/encoding/DecodeInputStream;->isClosed:Z
if-nez v1, :cond_a
.line 101
iget-boolean v1, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
const/4 v2, -0x1
if-eqz v1, :cond_0
return v2
:cond_0
const/4 v1, 0x0
if-nez p3, :cond_1
return v1
.line 108
:cond_1
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->getByteBufferLength()I
move-result v3
if-lt v3, p3, :cond_2
.line 109
invoke-direct {p0, p1, p2, p3}, Lkotlin/io/encoding/DecodeInputStream;->copyByteBufferInto([BII)V
return p3
.line 113
:cond_2
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->getByteBufferLength()I
move-result v3
sub-int/2addr p3, v3
add-int/lit8 p3, p3, 0x2
.line 114
div-int/lit8 p3, p3, 0x3
mul-int/lit8 p3, p3, 0x4
move v3, p2
.line 119
:goto_0
iget-boolean v4, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
if-nez v4, :cond_8
if-lez p3, :cond_8
.line 121
iget-object v4, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
array-length v4, v4
invoke-static {v4, p3}, Ljava/lang/Math;->min(II)I
move-result v4
move v5, v1
.line 123
:goto_1
iget-boolean v6, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
if-nez v6, :cond_5
if-ge v5, v4, :cond_5
.line 124
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->readNextSymbol()I
move-result v6
const/4 v7, 0x1
if-eq v6, v2, :cond_4
const/16 v8, 0x3d
if-eq v6, v8, :cond_3
.line 132
iget-object v7, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
int-to-byte v6, v6
aput-byte v6, v7, v5
add-int/lit8 v5, v5, 0x1
goto :goto_1
.line 128
:cond_3
invoke-direct {p0, v5}, Lkotlin/io/encoding/DecodeInputStream;->handlePaddingSymbol(I)I
move-result v5
.line 129
iput-boolean v7, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
goto :goto_1
.line 126
:cond_4
iput-boolean v7, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
goto :goto_1
:cond_5
if-nez v6, :cond_7
if-ne v5, v4, :cond_6
goto :goto_2
.line 138
:cond_6
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Check failed."
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_7
:goto_2
sub-int/2addr p3, v5
.line 142
invoke-direct {p0, p1, v3, v0, v5}, Lkotlin/io/encoding/DecodeInputStream;->decodeSymbolBufferInto([BIII)I
move-result v4
add-int/2addr v3, v4
goto :goto_0
:cond_8
if-ne v3, p2, :cond_9
if-eqz v4, :cond_9
goto :goto_3
:cond_9
sub-int v2, v3, p2
:goto_3
return v2
.line 99
:cond_a
new-instance p1, Ljava/io/IOException;
const-string p2, "The input stream is closed."
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p1
.line 96
:cond_b
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "offset: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p2
const-string v1, ", length: "
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p2
const-string p3, ", buffer size: "
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
array-length p1, p1
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v0
.end method

View File

@@ -0,0 +1,567 @@
.class final Lkotlin/io/encoding/EncodeOutputStream;
.super Ljava/io/OutputStream;
.source "Base64IOStream.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u00000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0008\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0003\n\u0002\u0010\u0002\n\u0002\u0008\r\u0008\u0003\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0001\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u00a2\u0006\u0002\u0010\u0005J\u0008\u0010\u000e\u001a\u00020\u000fH\u0002J\u0008\u0010\u0010\u001a\u00020\u000fH\u0016J \u0010\u0011\u001a\u00020\t2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\t2\u0006\u0010\u0014\u001a\u00020\tH\u0002J\u0008\u0010\u0015\u001a\u00020\u000fH\u0002J \u0010\u0016\u001a\u00020\t2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\t2\u0006\u0010\u0014\u001a\u00020\tH\u0002J\u0008\u0010\u0017\u001a\u00020\u000fH\u0016J \u0010\u0018\u001a\u00020\u000f2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0019\u001a\u00020\t2\u0006\u0010\u001a\u001a\u00020\tH\u0016J\u0010\u0010\u0018\u001a\u00020\u000f2\u0006\u0010\u001b\u001a\u00020\tH\u0016R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0008\u001a\u00020\tX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u000bX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000c\u001a\u00020\tX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0001X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u001c"
}
d2 = {
"Lkotlin/io/encoding/EncodeOutputStream;",
"Ljava/io/OutputStream;",
"output",
"base64",
"Lkotlin/io/encoding/Base64;",
"(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)V",
"byteBuffer",
"",
"byteBufferLength",
"",
"isClosed",
"",
"lineLength",
"symbolBuffer",
"checkOpen",
"",
"close",
"copyIntoByteBuffer",
"source",
"startIndex",
"endIndex",
"encodeByteBufferIntoOutput",
"encodeIntoOutput",
"flush",
"write",
"offset",
"length",
"b",
"kotlin-stdlib"
}
k = 0x1
mv = {
0x1,
0x8,
0x0
}
xi = 0x30
.end annotation
# instance fields
.field private final base64:Lkotlin/io/encoding/Base64;
.field private final byteBuffer:[B
.field private byteBufferLength:I
.field private isClosed:Z
.field private lineLength:I
.field private final output:Ljava/io/OutputStream;
.field private final symbolBuffer:[B
# direct methods
.method public constructor <init>(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)V
.locals 1
const-string v0, "output"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "base64"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 235
invoke-direct {p0}, Ljava/io/OutputStream;-><init>()V
.line 233
iput-object p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
.line 234
iput-object p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->base64:Lkotlin/io/encoding/Base64;
.line 238
invoke-virtual {p2}, Lkotlin/io/encoding/Base64;->isMimeScheme$kotlin_stdlib()Z
move-result p1
if-eqz p1, :cond_0
const/16 p1, 0x4c
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
iput p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
const/16 p1, 0x400
.line 240
new-array p1, p1, [B
iput-object p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->symbolBuffer:[B
const/4 p1, 0x3
.line 242
new-array p1, p1, [B
iput-object p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
return-void
.end method
.method private final checkOpen()V
.locals 2
.line 341
iget-boolean v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->isClosed:Z
if-nez v0, :cond_0
return-void
:cond_0
new-instance v0, Ljava/io/IOException;
const-string v1, "The output stream is closed."
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private final copyIntoByteBuffer([BII)I
.locals 4
.line 307
iget v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
const/4 v1, 0x3
rsub-int/lit8 v0, v0, 0x3
sub-int/2addr p3, p2
invoke-static {v0, p3}, Ljava/lang/Math;->min(II)I
move-result p3
.line 308
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
iget v2, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
add-int v3, p2, p3
invoke-static {p1, v0, v2, p2, v3}, Lkotlin/collections/ArraysKt;->copyInto([B[BIII)[B
.line 309
iget p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
add-int/2addr p1, p3
iput p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
if-ne p1, v1, :cond_0
.line 311
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->encodeByteBufferIntoOutput()V
:cond_0
return p3
.end method
.method private final encodeByteBufferIntoOutput()V
.locals 3
.line 317
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
iget v1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
const/4 v2, 0x0
invoke-direct {p0, v0, v2, v1}, Lkotlin/io/encoding/EncodeOutputStream;->encodeIntoOutput([BII)I
move-result v0
const/4 v1, 0x4
if-ne v0, v1, :cond_0
.line 319
iput v2, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
return-void
.line 318
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Check failed."
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private final encodeIntoOutput([BII)I
.locals 6
.line 323
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->base64:Lkotlin/io/encoding/Base64;
.line 325
iget-object v2, p0, Lkotlin/io/encoding/EncodeOutputStream;->symbolBuffer:[B
const/4 v3, 0x0
move-object v1, p1
move v4, p2
move v5, p3
.line 323
invoke-virtual/range {v0 .. v5}, Lkotlin/io/encoding/Base64;->encodeIntoByteArray([B[BIII)I
move-result p1
.line 330
iget p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
if-nez p2, :cond_1
.line 331
iget-object p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
sget-object p3, Lkotlin/io/encoding/Base64;->Default:Lkotlin/io/encoding/Base64$Default;
invoke-virtual {p3}, Lkotlin/io/encoding/Base64$Default;->getMimeLineSeparatorSymbols$kotlin_stdlib()[B
move-result-object p3
invoke-virtual {p2, p3}, Ljava/io/OutputStream;->write([B)V
const/16 p2, 0x4c
.line 332
iput p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
if-gt p1, p2, :cond_0
goto :goto_0
.line 333
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Check failed."
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 335
:cond_1
:goto_0
iget-object p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
iget-object p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->symbolBuffer:[B
const/4 v0, 0x0
invoke-virtual {p2, p3, v0, p1}, Ljava/io/OutputStream;->write([BII)V
.line 336
iget p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
sub-int/2addr p2, p1
iput p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
return p1
.end method
# virtual methods
.method public close()V
.locals 1
.line 295
iget-boolean v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->isClosed:Z
if-nez v0, :cond_1
const/4 v0, 0x1
.line 296
iput-boolean v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->isClosed:Z
.line 297
iget v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
if-eqz v0, :cond_0
.line 298
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->encodeByteBufferIntoOutput()V
.line 300
:cond_0
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:cond_1
return-void
.end method
.method public flush()V
.locals 1
.line 290
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->checkOpen()V
.line 291
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
invoke-virtual {v0}, Ljava/io/OutputStream;->flush()V
return-void
.end method
.method public write(I)V
.locals 3
.line 246
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->checkOpen()V
.line 247
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
iget v1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
int-to-byte p1, p1
aput-byte p1, v0, v1
const/4 p1, 0x3
if-ne v2, p1, :cond_0
.line 249
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->encodeByteBufferIntoOutput()V
:cond_0
return-void
.end method
.method public write([BII)V
.locals 4
const-string v0, "source"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 254
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->checkOpen()V
if-ltz p2, :cond_6
if-ltz p3, :cond_6
add-int v0, p2, p3
.line 255
array-length v1, p1
if-gt v0, v1, :cond_6
if-nez p3, :cond_0
return-void
.line 262
:cond_0
iget p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
const-string v1, "Check failed."
const/4 v2, 0x3
if-ge p3, v2, :cond_5
if-eqz p3, :cond_1
.line 268
invoke-direct {p0, p1, p2, v0}, Lkotlin/io/encoding/EncodeOutputStream;->copyIntoByteBuffer([BII)I
move-result p3
add-int/2addr p2, p3
.line 269
iget p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
if-eqz p3, :cond_1
return-void
:cond_1
:goto_0
add-int/lit8 p3, p2, 0x3
if-gt p3, v0, :cond_4
.line 275
iget-object p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->base64:Lkotlin/io/encoding/Base64;
invoke-virtual {p3}, Lkotlin/io/encoding/Base64;->isMimeScheme$kotlin_stdlib()Z
move-result p3
if-eqz p3, :cond_2
iget p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
goto :goto_1
:cond_2
iget-object p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->symbolBuffer:[B
array-length p3, p3
:goto_1
div-int/lit8 p3, p3, 0x4
sub-int v3, v0, p2
.line 276
div-int/2addr v3, v2
invoke-static {p3, v3}, Ljava/lang/Math;->min(II)I
move-result p3
mul-int/lit8 v3, p3, 0x3
add-int/2addr v3, p2
.line 279
invoke-direct {p0, p1, p2, v3}, Lkotlin/io/encoding/EncodeOutputStream;->encodeIntoOutput([BII)I
move-result p2
mul-int/lit8 p3, p3, 0x4
if-ne p2, p3, :cond_3
move p2, v3
goto :goto_0
.line 280
:cond_3
new-instance p1, Ljava/lang/IllegalStateException;
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 285
:cond_4
iget-object p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
const/4 v1, 0x0
invoke-static {p1, p3, v1, p2, v0}, Lkotlin/collections/ArraysKt;->copyInto([B[BIII)[B
sub-int/2addr v0, p2
.line 286
iput v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
return-void
.line 262
:cond_5
new-instance p1, Ljava/lang/IllegalStateException;
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 256
:cond_6
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "offset: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p2
const-string v1, ", length: "
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p2
const-string p3, ", source size: "
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
array-length p1, p1
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v0
.end method

View File

@@ -0,0 +1,68 @@
.class public interface abstract annotation Lkotlin/io/encoding/ExperimentalEncodingApi;
.super Ljava/lang/Object;
.source "ExperimentalEncodingApi.kt"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation runtime Ljava/lang/annotation/Documented;
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->CLASS:Ljava/lang/annotation/RetentionPolicy;
.end annotation
.annotation runtime Ljava/lang/annotation/Target;
value = {
.enum Ljava/lang/annotation/ElementType;->TYPE:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->FIELD:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->METHOD:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->PARAMETER:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->CONSTRUCTOR:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->LOCAL_VARIABLE:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->ANNOTATION_TYPE:Ljava/lang/annotation/ElementType;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0000\u0008\u0087\u0002\u0018\u00002\u00020\u0001B\u0000\u00a8\u0006\u0002"
}
d2 = {
"Lkotlin/io/encoding/ExperimentalEncodingApi;",
"",
"kotlin-stdlib"
}
k = 0x1
mv = {
0x1,
0x8,
0x0
}
xi = 0x30
.end annotation
.annotation runtime Lkotlin/annotation/MustBeDocumented;
.end annotation
.annotation runtime Lkotlin/annotation/Retention;
value = .enum Lkotlin/annotation/AnnotationRetention;->BINARY:Lkotlin/annotation/AnnotationRetention;
.end annotation
.annotation runtime Lkotlin/annotation/Target;
allowedTargets = {
.enum Lkotlin/annotation/AnnotationTarget;->CLASS:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->ANNOTATION_CLASS:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->PROPERTY:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->FIELD:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->LOCAL_VARIABLE:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->VALUE_PARAMETER:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->CONSTRUCTOR:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->FUNCTION:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->PROPERTY_GETTER:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->PROPERTY_SETTER:Lkotlin/annotation/AnnotationTarget;,
.enum Lkotlin/annotation/AnnotationTarget;->TYPEALIAS:Lkotlin/annotation/AnnotationTarget;
}
.end annotation

View File

@@ -0,0 +1,29 @@
.class public final Lkotlin/io/encoding/StreamEncodingKt;
.super Lkotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt;
.source "Base64IOStream.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
d1 = {
"kotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt"
}
k = 0x4
mv = {
0x1,
0x8,
0x0
}
xi = 0x31
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lkotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,80 @@
.class Lkotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt;
.super Ljava/lang/Object;
.source "Base64IOStream.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u0000\u0014\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u001a\u0014\u0010\u0000\u001a\u00020\u0001*\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003H\u0007\u001a\u0014\u0010\u0004\u001a\u00020\u0005*\u00020\u00052\u0006\u0010\u0002\u001a\u00020\u0003H\u0007\u00a8\u0006\u0006"
}
d2 = {
"decodingWith",
"Ljava/io/InputStream;",
"base64",
"Lkotlin/io/encoding/Base64;",
"encodingWith",
"Ljava/io/OutputStream;",
"kotlin-stdlib"
}
k = 0x5
mv = {
0x1,
0x8,
0x0
}
xi = 0x31
xs = "kotlin/io/encoding/StreamEncodingKt"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final decodingWith(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)Ljava/io/InputStream;
.locals 1
const-string v0, "<this>"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "base64"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 40
new-instance v0, Lkotlin/io/encoding/DecodeInputStream;
invoke-direct {v0, p0, p1}, Lkotlin/io/encoding/DecodeInputStream;-><init>(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)V
check-cast v0, Ljava/io/InputStream;
return-object v0
.end method
.method public static final encodingWith(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)Ljava/io/OutputStream;
.locals 1
const-string v0, "<this>"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "base64"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 59
new-instance v0, Lkotlin/io/encoding/EncodeOutputStream;
invoke-direct {v0, p0, p1}, Lkotlin/io/encoding/EncodeOutputStream;-><init>(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)V
check-cast v0, Ljava/io/OutputStream;
return-object v0
.end method