.class public final Lokio/Utf8; .super Ljava/lang/Object; .source "Utf8.kt" # annotations .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nUtf8.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Utf8.kt\nokio/Utf8\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 -Util.kt\nokio/-Util\n*L\n1#1,549:1\n393#1,9:553\n127#1:562\n402#1,18:564\n434#1,4:583\n127#1:587\n440#1,10:589\n127#1:599\n450#1,5:600\n127#1:605\n455#1,22:606\n492#1,4:629\n127#1:633\n498#1,2:635\n127#1:637\n502#1,10:638\n127#1:648\n512#1,5:649\n127#1:654\n517#1,5:655\n127#1:660\n522#1,26:661\n393#1,9:688\n127#1:697\n402#1,18:699\n434#1,4:718\n127#1:722\n440#1,10:724\n127#1:734\n450#1,5:735\n127#1:740\n455#1,22:741\n492#1,4:764\n127#1:768\n498#1,2:770\n127#1:772\n502#1,10:773\n127#1:783\n512#1,5:784\n127#1:789\n517#1,5:790\n127#1:795\n522#1,26:796\n127#1:822\n127#1:824\n127#1:826\n127#1:828\n127#1:830\n127#1:832\n127#1:834\n127#1:836\n127#1:838\n1#2:550\n66#3:551\n60#3:552\n66#3:563\n60#3:582\n66#3:588\n60#3:628\n66#3:634\n60#3:687\n66#3:698\n60#3:717\n66#3:723\n60#3:763\n66#3:769\n66#3:823\n66#3:825\n66#3:827\n66#3:829\n66#3:831\n66#3:833\n66#3:835\n66#3:837\n66#3:839\n*E\n*S KotlinDebug\n*F\n+ 1 Utf8.kt\nokio/Utf8\n*L\n225#1,9:553\n225#1:562\n225#1,18:564\n229#1,4:583\n229#1:587\n229#1,10:589\n229#1:599\n229#1,5:600\n229#1:605\n229#1,22:606\n233#1,4:629\n233#1:633\n233#1,2:635\n233#1:637\n233#1,10:638\n233#1:648\n233#1,5:649\n233#1:654\n233#1,5:655\n233#1:660\n233#1,26:661\n273#1,9:688\n273#1:697\n273#1,18:699\n277#1,4:718\n277#1:722\n277#1,10:724\n277#1:734\n277#1,5:735\n277#1:740\n277#1,22:741\n281#1,4:764\n281#1:768\n281#1,2:770\n281#1:772\n281#1,10:773\n281#1:783\n281#1,5:784\n281#1:789\n281#1,5:790\n281#1:795\n281#1,26:796\n401#1:822\n437#1:824\n449#1:826\n454#1:828\n495#1:830\n499#1:832\n511#1:834\n516#1:836\n521#1:838\n127#1:551\n223#1:552\n225#1:563\n227#1:582\n229#1:588\n231#1:628\n233#1:634\n271#1:687\n273#1:698\n275#1:717\n277#1:723\n279#1:763\n281#1:769\n401#1:823\n437#1:825\n449#1:827\n454#1:829\n495#1:831\n499#1:833\n511#1:835\n516#1:837\n521#1:839\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; bv = { 0x1, 0x0, 0x3 } d1 = { "\u0000D\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0005\n\u0002\u0010\u0005\n\u0000\n\u0002\u0010\u000c\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0004\n\u0002\u0010\u0012\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\u0008\u0004\n\u0002\u0010\u000e\n\u0002\u0008\u0002\n\u0002\u0010\t\n\u0002\u0008\u0002\u001a\u0011\u0010\u000b\u001a\u00020\u000c2\u0006\u0010\r\u001a\u00020\u0001H\u0080\u0008\u001a\u0011\u0010\u000e\u001a\u00020\u000c2\u0006\u0010\u000f\u001a\u00020\u0007H\u0080\u0008\u001a4\u0010\u0010\u001a\u00020\u0001*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u00f8\u0001\u0000\u001a4\u0010\u0017\u001a\u00020\u0001*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u00f8\u0001\u0000\u001a4\u0010\u0018\u001a\u00020\u0001*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u00f8\u0001\u0000\u001a4\u0010\u0019\u001a\u00020\u0016*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\t\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u00f8\u0001\u0000\u001a4\u0010\u001a\u001a\u00020\u0016*\u00020\u001b2\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0007\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u00f8\u0001\u0000\u001a4\u0010\u001c\u001a\u00020\u0016*\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00012\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u0015H\u0080\u0008\u00f8\u0001\u0000\u001a%\u0010\u001d\u001a\u00020\u001e*\u00020\u001b2\u0008\u0008\u0002\u0010\u0012\u001a\u00020\u00012\u0008\u0008\u0002\u0010\u0013\u001a\u00020\u0001H\u0007\u00a2\u0006\u0002\u0008\u001f\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0002\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0003\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0004\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0005\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0006\u001a\u00020\u0007X\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\u0008\u001a\u00020\tX\u0080T\u00a2\u0006\u0002\n\u0000\"\u000e\u0010\n\u001a\u00020\u0001X\u0080T\u00a2\u0006\u0002\n\u0000\u0082\u0002\u0007\n\u0005\u0008\u009920\u0001\u00a8\u0006 " } d2 = { "HIGH_SURROGATE_HEADER", "", "LOG_SURROGATE_HEADER", "MASK_2BYTES", "MASK_3BYTES", "MASK_4BYTES", "REPLACEMENT_BYTE", "", "REPLACEMENT_CHARACTER", "", "REPLACEMENT_CODE_POINT", "isIsoControl", "", "codePoint", "isUtf8Continuation", "byte", "process2Utf8Bytes", "", "beginIndex", "endIndex", "yield", "Lkotlin/Function1;", "", "process3Utf8Bytes", "process4Utf8Bytes", "processUtf16Chars", "processUtf8Bytes", "", "processUtf8CodePoints", "utf8Size", "", "size", "okio" } k = 0x2 mv = { 0x1, 0x4, 0x0 } .end annotation # static fields .field public static final HIGH_SURROGATE_HEADER:I = 0xd7c0 .field public static final LOG_SURROGATE_HEADER:I = 0xdc00 .field public static final MASK_2BYTES:I = 0xf80 .field public static final MASK_3BYTES:I = -0x1e080 .field public static final MASK_4BYTES:I = 0x381f80 .field public static final REPLACEMENT_BYTE:B = 0x3ft .field public static final REPLACEMENT_CHARACTER:C = '\ufffd' .field public static final REPLACEMENT_CODE_POINT:I = 0xfffd # direct methods .method public static final isIsoControl(I)Z .locals 1 if-ltz p0, :cond_0 const/16 v0, 0x1f if-ge v0, p0, :cond_2 :cond_0 const/16 v0, 0x7f if-le v0, p0, :cond_1 goto :goto_0 :cond_1 const/16 v0, 0x9f if-lt v0, p0, :cond_3 :cond_2 const/4 p0, 0x1 goto :goto_1 :cond_3 :goto_0 const/4 p0, 0x0 :goto_1 return p0 .end method .method public static final isUtf8Continuation(B)Z .locals 1 and-int/lit16 p0, p0, 0xc0 const/16 v0, 0x80 if-ne p0, v0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public static final process2Utf8Bytes([BIILkotlin/jvm/functions/Function1;)I .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Integer;", "Lkotlin/Unit;", ">;)I" } .end annotation const-string v0, "$this$process2Utf8Bytes" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V add-int/lit8 v0, p1, 0x1 const v1, 0xfffd .line 394 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 const/4 v2, 0x1 if-gt p2, v0, :cond_0 invoke-interface {p3, v1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v2 .line 399 :cond_0 aget-byte p1, p0, p1 .line 400 aget-byte p0, p0, v0 and-int/lit16 p2, p0, 0xc0 const/16 v0, 0x80 if-ne p2, v0, :cond_2 xor-int/lit16 p0, p0, 0xf80 shl-int/lit8 p1, p1, 0x6 xor-int/2addr p0, p1 if-ge p0, v0, :cond_1 .line 413 invoke-interface {p3, v1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 .line 416 :cond_1 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-interface {p3, p0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_0 const/4 p0, 0x2 return p0 .line 402 :cond_2 invoke-interface {p3, v1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v2 .end method .method public static final process3Utf8Bytes([BIILkotlin/jvm/functions/Function1;)I .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Integer;", "Lkotlin/Unit;", ">;)I" } .end annotation const-string v0, "$this$process3Utf8Bytes" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V add-int/lit8 v0, p1, 0x2 const/16 v1, 0x80 const/4 v2, 0x1 const v3, 0xfffd .line 436 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v3 const/4 v4, 0x2 if-gt p2, v0, :cond_1 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/2addr p1, v2 if-le p2, p1, :cond_0 .line 437 aget-byte p0, p0, p1 and-int/lit16 p0, p0, 0xc0 if-ne p0, v1, :cond_0 return v4 :cond_0 return v2 .line 447 :cond_1 aget-byte p2, p0, p1 add-int/2addr p1, v2 .line 448 aget-byte p1, p0, p1 and-int/lit16 v5, p1, 0xc0 if-ne v5, v1, :cond_6 .line 453 aget-byte p0, p0, v0 and-int/lit16 v0, p0, 0xc0 if-ne v0, v1, :cond_5 const v0, -0x1e080 xor-int/2addr p0, v0 shl-int/lit8 p1, p1, 0x6 xor-int/2addr p0, p1 shl-int/lit8 p1, p2, 0xc xor-int/2addr p0, p1 const/16 p1, 0x800 if-ge p0, p1, :cond_2 .line 467 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1 :cond_2 const p1, 0xd800 if-le p1, p0, :cond_3 goto :goto_0 :cond_3 const p1, 0xdfff if-lt p1, p0, :cond_4 .line 470 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1 .line 473 :cond_4 :goto_0 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-interface {p3, p0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_1 const/4 p0, 0x3 return p0 .line 455 :cond_5 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v4 .line 450 :cond_6 invoke-interface {p3, v3}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v2 .end method .method public static final process4Utf8Bytes([BIILkotlin/jvm/functions/Function1;)I .locals 8 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Integer;", "Lkotlin/Unit;", ">;)I" } .end annotation const-string v0, "$this$process4Utf8Bytes" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V add-int/lit8 v0, p1, 0x3 const/4 v1, 0x2 const/4 v2, 0x1 const/16 v3, 0x80 const v4, 0xfffd .line 494 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 const/4 v5, 0x3 if-gt p2, v0, :cond_2 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p3, p1, 0x1 if-le p2, p3, :cond_1 .line 495 aget-byte p3, p0, p3 and-int/lit16 p3, p3, 0xc0 if-ne p3, v3, :cond_1 add-int/2addr p1, v1 if-le p2, p1, :cond_0 .line 499 aget-byte p0, p0, p1 and-int/lit16 p0, p0, 0xc0 if-ne p0, v3, :cond_0 return v5 :cond_0 return v1 :cond_1 return v2 .line 509 :cond_2 aget-byte p2, p0, p1 add-int/lit8 v6, p1, 0x1 .line 510 aget-byte v6, p0, v6 and-int/lit16 v7, v6, 0xc0 if-ne v7, v3, :cond_9 add-int/2addr p1, v1 .line 515 aget-byte p1, p0, p1 and-int/lit16 v2, p1, 0xc0 if-ne v2, v3, :cond_8 .line 520 aget-byte p0, p0, v0 and-int/lit16 v0, p0, 0xc0 if-ne v0, v3, :cond_7 const v0, 0x381f80 xor-int/2addr p0, v0 shl-int/lit8 p1, p1, 0x6 xor-int/2addr p0, p1 shl-int/lit8 p1, v6, 0xc xor-int/2addr p0, p1 shl-int/lit8 p1, p2, 0x12 xor-int/2addr p0, p1 const p1, 0x10ffff if-le p0, p1, :cond_3 .line 535 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1 :cond_3 const p1, 0xd800 if-le p1, p0, :cond_4 goto :goto_0 :cond_4 const p1, 0xdfff if-lt p1, p0, :cond_5 .line 538 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1 :cond_5 :goto_0 const/high16 p1, 0x10000 if-ge p0, p1, :cond_6 .line 541 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1 .line 544 :cond_6 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-interface {p3, p0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_1 const/4 p0, 0x4 return p0 .line 522 :cond_7 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v5 .line 517 :cond_8 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v1 .line 512 :cond_9 invoke-interface {p3, v4}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return v2 .end method .method public static final processUtf16Chars([BIILkotlin/jvm/functions/Function1;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Character;", "Lkotlin/Unit;", ">;)V" } .end annotation const-string v0, "$this$processUtf16Chars" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V :cond_0 :goto_0 if-ge p1, p2, :cond_19 .line 258 aget-byte v0, p0, p1 if-ltz v0, :cond_1 int-to-char v0, v0 .line 262 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 :goto_1 if-ge p1, p2, :cond_0 .line 267 aget-byte v0, p0, p1 if-ltz v0, :cond_0 add-int/lit8 p1, p1, 0x1 int-to-char v0, v0 .line 268 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1 :cond_1 shr-int/lit8 v1, v0, 0x5 const/4 v2, -0x2 const/4 v3, 0x2 const/16 v4, 0x80 const/4 v5, 0x1 const v6, 0xfffd if-ne v1, v2, :cond_7 add-int/lit8 v1, p1, 0x1 if-gt p2, v1, :cond_4 :cond_2 int-to-char v0, v6 .line 273 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :cond_3 :goto_2 move v3, v5 goto :goto_4 .line 695 :cond_4 aget-byte v1, p0, v1 and-int/lit16 v2, v1, 0xc0 if-ne v2, v4, :cond_2 xor-int/lit16 v1, v1, 0xf80 shl-int/lit8 v0, v0, 0x6 xor-int/2addr v0, v1 if-ge v0, v4, :cond_5 int-to-char v0, v6 goto :goto_3 :cond_5 int-to-char v0, v0 .line 273 :goto_3 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :cond_6 :goto_4 add-int/2addr p1, v3 goto :goto_0 :cond_7 shr-int/lit8 v1, v0, 0x4 const v7, 0xd800 const v8, 0xdfff const/4 v9, 0x3 if-ne v1, v2, :cond_e add-int/lit8 v1, p1, 0x2 if-gt p2, v1, :cond_8 int-to-char v0, v6 .line 277 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; add-int/lit8 v0, p1, 0x1 if-le p2, v0, :cond_3 .line 721 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_3 goto :goto_4 :cond_8 add-int/lit8 v2, p1, 0x1 .line 732 aget-byte v2, p0, v2 and-int/lit16 v10, v2, 0xc0 if-ne v10, v4, :cond_d .line 738 aget-byte v1, p0, v1 and-int/lit16 v5, v1, 0xc0 if-ne v5, v4, :cond_c const v3, -0x1e080 xor-int/2addr v1, v3 shl-int/lit8 v2, v2, 0x6 xor-int/2addr v1, v2 shl-int/lit8 v0, v0, 0xc xor-int/2addr v0, v1 const/16 v1, 0x800 if-ge v0, v1, :cond_9 :goto_5 int-to-char v0, v6 .line 277 :goto_6 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto :goto_8 :cond_9 if-le v7, v0, :cond_a goto :goto_7 :cond_a if-lt v8, v0, :cond_b goto :goto_5 :cond_b :goto_7 int-to-char v0, v0 goto :goto_6 :goto_8 move v3, v9 goto :goto_4 :cond_c int-to-char v0, v6 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto :goto_4 :cond_d int-to-char v0, v6 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto/16 :goto_2 :cond_e shr-int/lit8 v1, v0, 0x3 if-ne v1, v2, :cond_18 add-int/lit8 v1, p1, 0x3 if-gt p2, v1, :cond_f .line 291 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; .line 293 sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; add-int/lit8 v0, p1, 0x1 if-le p2, v0, :cond_3 .line 767 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_3 add-int/lit8 v0, p1, 0x2 if-le p2, v0, :cond_6 .line 771 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_6 :goto_9 goto :goto_8 :cond_f add-int/lit8 v2, p1, 0x1 .line 781 aget-byte v2, p0, v2 and-int/lit16 v10, v2, 0xc0 if-ne v10, v4, :cond_17 add-int/lit8 v5, p1, 0x2 .line 787 aget-byte v5, p0, v5 and-int/lit16 v10, v5, 0xc0 if-ne v10, v4, :cond_16 .line 793 aget-byte v1, p0, v1 and-int/lit16 v3, v1, 0xc0 if-ne v3, v4, :cond_15 const v3, 0x381f80 xor-int/2addr v1, v3 shl-int/lit8 v3, v5, 0x6 xor-int/2addr v1, v3 shl-int/lit8 v2, v2, 0xc xor-int/2addr v1, v2 shl-int/lit8 v0, v0, 0x12 xor-int/2addr v0, v1 const v1, 0x10ffff if-le v0, v1, :cond_11 .line 291 :cond_10 :goto_a invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; .line 293 :goto_b sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto :goto_d :cond_11 if-le v7, v0, :cond_12 goto :goto_c :cond_12 if-lt v8, v0, :cond_13 goto :goto_a :cond_13 :goto_c const/high16 v1, 0x10000 if-ge v0, v1, :cond_14 goto :goto_a :cond_14 if-eq v0, v6, :cond_10 ushr-int/lit8 v1, v0, 0xa const v2, 0xd7c0 add-int/2addr v1, v2 int-to-char v1, v1 .line 287 invoke-static {v1}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v1 invoke-interface {p3, v1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; and-int/lit16 v0, v0, 0x3ff const v1, 0xdc00 add-int/2addr v0, v1 int-to-char v0, v0 .line 289 invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_b :goto_d const/4 v3, 0x4 goto/16 :goto_4 .line 291 :cond_15 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; .line 293 sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto :goto_9 .line 291 :cond_16 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; .line 293 sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto/16 :goto_4 .line 291 :cond_17 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; .line 293 sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto/16 :goto_2 .line 298 :cond_18 invoke-static {v6}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 goto/16 :goto_0 :cond_19 return-void .end method .method public static final processUtf8Bytes(Ljava/lang/String;IILkotlin/jvm/functions/Function1;)V .locals 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "II", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Byte;", "Lkotlin/Unit;", ">;)V" } .end annotation const-string v0, "$this$processUtf8Bytes" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V :cond_0 :goto_0 if-ge p1, p2, :cond_7 .line 140 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result v0 const/16 v1, 0x80 .line 143 invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->compare(II)I move-result v2 if-gez v2, :cond_1 int-to-byte v0, v0 .line 145 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 :goto_1 if-ge p1, p2, :cond_0 .line 149 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result v0 invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->compare(II)I move-result v0 if-gez v0, :cond_0 add-int/lit8 v0, p1, 0x1 .line 150 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result p1 int-to-byte p1, p1 invoke-static {p1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object p1 invoke-interface {p3, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; move p1, v0 goto :goto_1 :cond_1 const/16 v2, 0x800 .line 154 invoke-static {v0, v2}, Lkotlin/jvm/internal/Intrinsics;->compare(II)I move-result v2 if-gez v2, :cond_2 shr-int/lit8 v2, v0, 0x6 or-int/lit16 v2, v2, 0xc0 int-to-byte v2, v2 .line 157 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; and-int/lit8 v0, v0, 0x3f or-int/2addr v0, v1 int-to-byte v0, v0 .line 158 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :goto_2 add-int/lit8 p1, p1, 0x1 goto :goto_0 :cond_2 const v2, 0xd800 const/16 v3, 0x3f if-gt v2, v0, :cond_6 const v2, 0xdfff if-ge v2, v0, :cond_3 goto :goto_4 :cond_3 const v4, 0xdbff .line 177 invoke-static {v0, v4}, Lkotlin/jvm/internal/Intrinsics;->compare(II)I move-result v4 if-gtz v4, :cond_5 add-int/lit8 v4, p1, 0x1 if-le p2, v4, :cond_5 .line 179 invoke-virtual {p0, v4}, Ljava/lang/String;->charAt(I)C move-result v5 const v6, 0xdc00 if-gt v6, v5, :cond_5 if-ge v2, v5, :cond_4 goto :goto_3 :cond_4 shl-int/lit8 v0, v0, 0xa .line 186 invoke-virtual {p0, v4}, Ljava/lang/String;->charAt(I)C move-result v2 add-int/2addr v0, v2 const v2, -0x35fdc00 add-int/2addr v0, v2 shr-int/lit8 v2, v0, 0x12 or-int/lit16 v2, v2, 0xf0 int-to-byte v2, v2 .line 191 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; shr-int/lit8 v2, v0, 0xc and-int/2addr v2, v3 or-int/2addr v2, v1 int-to-byte v2, v2 .line 192 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; shr-int/lit8 v2, v0, 0x6 and-int/2addr v2, v3 or-int/2addr v2, v1 int-to-byte v2, v2 .line 193 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; and-int/2addr v0, v3 or-int/2addr v0, v1 int-to-byte v0, v0 .line 194 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x2 goto/16 :goto_0 .line 180 :cond_5 :goto_3 invoke-static {v3}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_2 :cond_6 :goto_4 shr-int/lit8 v2, v0, 0xc or-int/lit16 v2, v2, 0xe0 int-to-byte v2, v2 .line 166 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; shr-int/lit8 v2, v0, 0x6 and-int/2addr v2, v3 or-int/2addr v2, v1 int-to-byte v2, v2 .line 167 invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v2 invoke-interface {p3, v2}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; and-int/lit8 v0, v0, 0x3f or-int/2addr v0, v1 int-to-byte v0, v0 .line 168 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_2 :cond_7 return-void .end method .method public static final processUtf8CodePoints([BIILkotlin/jvm/functions/Function1;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "([BII", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Integer;", "Lkotlin/Unit;", ">;)V" } .end annotation const-string v0, "$this$processUtf8CodePoints" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "yield" invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V :cond_0 :goto_0 if-ge p1, p2, :cond_18 .line 211 aget-byte v0, p0, p1 if-ltz v0, :cond_1 .line 215 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 :goto_1 if-ge p1, p2, :cond_0 .line 219 aget-byte v0, p0, p1 if-ltz v0, :cond_0 add-int/lit8 p1, p1, 0x1 .line 220 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1 :cond_1 shr-int/lit8 v1, v0, 0x5 const/4 v2, -0x2 const/4 v3, 0x2 const/16 v4, 0x80 const/4 v5, 0x1 const v6, 0xfffd if-ne v1, v2, :cond_7 add-int/lit8 v1, p1, 0x1 if-gt p2, v1, :cond_4 .line 225 :cond_2 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :cond_3 :goto_2 move v3, v5 goto :goto_4 .line 560 :cond_4 aget-byte v1, p0, v1 and-int/lit16 v2, v1, 0xc0 if-ne v2, v4, :cond_2 xor-int/lit16 v1, v1, 0xf80 shl-int/lit8 v0, v0, 0x6 xor-int/2addr v0, v1 if-ge v0, v4, :cond_5 .line 225 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 goto :goto_3 :cond_5 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 :goto_3 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :cond_6 :goto_4 add-int/2addr p1, v3 goto :goto_0 :cond_7 shr-int/lit8 v1, v0, 0x4 const v7, 0xd800 const v8, 0xdfff const/4 v9, 0x3 if-ne v1, v2, :cond_e add-int/lit8 v1, p1, 0x2 if-gt p2, v1, :cond_8 .line 229 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; add-int/lit8 v0, p1, 0x1 if-le p2, v0, :cond_3 .line 586 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_3 goto :goto_4 :cond_8 add-int/lit8 v2, p1, 0x1 .line 597 aget-byte v2, p0, v2 and-int/lit16 v10, v2, 0xc0 if-ne v10, v4, :cond_d .line 603 aget-byte v1, p0, v1 and-int/lit16 v5, v1, 0xc0 if-ne v5, v4, :cond_c const v3, -0x1e080 xor-int/2addr v1, v3 shl-int/lit8 v2, v2, 0x6 xor-int/2addr v1, v2 shl-int/lit8 v0, v0, 0xc xor-int/2addr v0, v1 const/16 v1, 0x800 if-ge v0, v1, :cond_9 .line 229 :goto_5 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 :goto_6 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto :goto_8 :cond_9 if-le v7, v0, :cond_a goto :goto_7 :cond_a if-lt v8, v0, :cond_b goto :goto_5 :cond_b :goto_7 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 goto :goto_6 :goto_8 move v3, v9 goto :goto_4 :cond_c invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto :goto_4 :cond_d invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto/16 :goto_2 :cond_e shr-int/lit8 v1, v0, 0x3 if-ne v1, v2, :cond_17 add-int/lit8 v1, p1, 0x3 if-gt p2, v1, :cond_f .line 233 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; add-int/lit8 v0, p1, 0x1 if-le p2, v0, :cond_3 .line 632 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_3 add-int/lit8 v0, p1, 0x2 if-le p2, v0, :cond_6 .line 636 aget-byte v0, p0, v0 and-int/lit16 v0, v0, 0xc0 if-ne v0, v4, :cond_6 :goto_9 goto :goto_8 :cond_f add-int/lit8 v2, p1, 0x1 .line 646 aget-byte v2, p0, v2 and-int/lit16 v10, v2, 0xc0 if-ne v10, v4, :cond_16 add-int/lit8 v5, p1, 0x2 .line 652 aget-byte v5, p0, v5 and-int/lit16 v10, v5, 0xc0 if-ne v10, v4, :cond_15 .line 658 aget-byte v1, p0, v1 and-int/lit16 v3, v1, 0xc0 if-ne v3, v4, :cond_14 const v3, 0x381f80 xor-int/2addr v1, v3 shl-int/lit8 v3, v5, 0x6 xor-int/2addr v1, v3 shl-int/lit8 v2, v2, 0xc xor-int/2addr v1, v2 shl-int/lit8 v0, v0, 0x12 xor-int/2addr v0, v1 const v1, 0x10ffff if-le v0, v1, :cond_10 .line 233 :goto_a invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 :goto_b invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto :goto_d :cond_10 if-le v7, v0, :cond_11 goto :goto_c :cond_11 if-lt v8, v0, :cond_12 goto :goto_a :cond_12 :goto_c const/high16 v1, 0x10000 if-ge v0, v1, :cond_13 goto :goto_a :cond_13 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 goto :goto_b :goto_d const/4 v3, 0x4 goto/16 :goto_4 :cond_14 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto :goto_9 :cond_15 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto/16 :goto_4 :cond_16 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; goto/16 :goto_2 .line 238 :cond_17 invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 p1, p1, 0x1 goto/16 :goto_0 :cond_18 return-void .end method .method public static final size(Ljava/lang/String;)J .locals 3 const/4 v0, 0x3 const/4 v1, 0x0 const/4 v2, 0x0 invoke-static {p0, v2, v2, v0, v1}, Lokio/Utf8;->size$default(Ljava/lang/String;IIILjava/lang/Object;)J move-result-wide v0 return-wide v0 .end method .method public static final size(Ljava/lang/String;I)J .locals 3 const/4 v0, 0x2 const/4 v1, 0x0 const/4 v2, 0x0 invoke-static {p0, p1, v2, v0, v1}, Lokio/Utf8;->size$default(Ljava/lang/String;IIILjava/lang/Object;)J move-result-wide p0 return-wide p0 .end method .method public static final size(Ljava/lang/String;II)J .locals 10 const-string v0, "$this$utf8Size" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const/4 v0, 0x0 const/4 v1, 0x1 if-ltz p1, :cond_0 move v2, v1 goto :goto_0 :cond_0 move v2, v0 :goto_0 if-eqz v2, :cond_d if-lt p2, p1, :cond_1 move v2, v1 goto :goto_1 :cond_1 move v2, v0 :goto_1 if-eqz v2, :cond_c .line 80 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v2 if-gt p2, v2, :cond_2 goto :goto_2 :cond_2 move v1, v0 :goto_2 if-eqz v1, :cond_b const-wide/16 v1, 0x0 :goto_3 if-ge p1, p2, :cond_a .line 85 invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C move-result v3 const/16 v4, 0x80 const-wide/16 v5, 0x1 if-ge v3, v4, :cond_3 add-long/2addr v1, v5 :goto_4 add-int/lit8 p1, p1, 0x1 goto :goto_3 :cond_3 const/16 v4, 0x800 if-ge v3, v4, :cond_4 const/4 v3, 0x2 :goto_5 int-to-long v3, v3 add-long/2addr v1, v3 goto :goto_4 :cond_4 const v4, 0xd800 if-lt v3, v4, :cond_9 const v4, 0xdfff if-le v3, v4, :cond_5 goto :goto_8 :cond_5 add-int/lit8 v7, p1, 0x1 if-ge v7, p2, :cond_6 .line 100 invoke-virtual {p0, v7}, Ljava/lang/String;->charAt(I)C move-result v8 goto :goto_6 :cond_6 move v8, v0 :goto_6 const v9, 0xdbff if-gt v3, v9, :cond_8 const v3, 0xdc00 if-lt v8, v3, :cond_8 if-le v8, v4, :cond_7 goto :goto_7 :cond_7 const/4 v3, 0x4 int-to-long v3, v3 add-long/2addr v1, v3 add-int/lit8 p1, p1, 0x2 goto :goto_3 :cond_8 :goto_7 add-long/2addr v1, v5 move p1, v7 goto :goto_3 :cond_9 :goto_8 const/4 v3, 0x3 goto :goto_5 :cond_a return-wide v1 .line 80 :cond_b new-instance p1, Ljava/lang/StringBuilder; const-string v0, "endIndex > string.length: " invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string p2, " > " invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p0 invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 new-instance p1, Ljava/lang/IllegalArgumentException; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .line 79 :cond_c new-instance p0, Ljava/lang/StringBuilder; const-string v0, "endIndex < beginIndex: " invoke-direct {p0, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 const-string p2, " < " invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 new-instance p1, Ljava/lang/IllegalArgumentException; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .line 78 :cond_d new-instance p0, Ljava/lang/StringBuilder; const-string p2, "beginIndex < 0: " invoke-direct {p0, p2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 new-instance p1, Ljava/lang/IllegalArgumentException; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V check-cast p1, Ljava/lang/Throwable; throw p1 .end method .method public static synthetic size$default(Ljava/lang/String;IIILjava/lang/Object;)J .locals 0 and-int/lit8 p4, p3, 0x1 if-eqz p4, :cond_0 const/4 p1, 0x0 :cond_0 and-int/lit8 p3, p3, 0x2 if-eqz p3, :cond_1 .line 77 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p2 :cond_1 invoke-static {p0, p1, p2}, Lokio/Utf8;->size(Ljava/lang/String;II)J move-result-wide p0 return-wide p0 .end method