package okhttp3; import com.google.common.net.HttpHeaders; import io.sentry.protocol.OperatingSystem; import java.io.IOException; import java.util.ArrayList; import java.util.List; import kotlin.Deprecated; import kotlin.DeprecationLevel; import kotlin.Metadata; import kotlin.ReplaceWith; import kotlin.jvm.JvmStatic; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.jvm.internal.Intrinsics; import kotlin.text.Typography; import okhttp3.Headers; import okhttp3.RequestBody; import okhttp3.internal.Util; import okio.Buffer; import okio.BufferedSink; import okio.ByteString; /* compiled from: MultipartBody.kt */ @Metadata(bv = {1, 0, 3}, d1 = {"\u0000N\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\n\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0004\u0018\u0000 #2\u00020\u0001:\u0003\"#$B%\b\u0000\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\f\u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\b0\u0007¢\u0006\u0002\u0010\tJ\r\u0010\n\u001a\u00020\u000bH\u0007¢\u0006\u0002\b\u0015J\b\u0010\r\u001a\u00020\u000eH\u0016J\b\u0010\u000f\u001a\u00020\u0005H\u0016J\u000e\u0010\u0016\u001a\u00020\b2\u0006\u0010\u0017\u001a\u00020\u0012J\u0013\u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\b0\u0007H\u0007¢\u0006\u0002\b\u0018J\r\u0010\u0011\u001a\u00020\u0012H\u0007¢\u0006\u0002\b\u0019J\r\u0010\u0004\u001a\u00020\u0005H\u0007¢\u0006\u0002\b\u001aJ\u001a\u0010\u001b\u001a\u00020\u000e2\b\u0010\u001c\u001a\u0004\u0018\u00010\u001d2\u0006\u0010\u001e\u001a\u00020\u001fH\u0002J\u0010\u0010 \u001a\u00020!2\u0006\u0010\u001c\u001a\u00020\u001dH\u0016R\u0011\u0010\n\u001a\u00020\u000b8G¢\u0006\u0006\u001a\u0004\b\n\u0010\fR\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000f\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u0019\u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\b0\u00078\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0010R\u0011\u0010\u0011\u001a\u00020\u00128G¢\u0006\u0006\u001a\u0004\b\u0011\u0010\u0013R\u0013\u0010\u0004\u001a\u00020\u00058\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0004\u0010\u0014¨\u0006%"}, d2 = {"Lokhttp3/MultipartBody;", "Lokhttp3/RequestBody;", "boundaryByteString", "Lokio/ByteString;", "type", "Lokhttp3/MediaType;", "parts", "", "Lokhttp3/MultipartBody$Part;", "(Lokio/ByteString;Lokhttp3/MediaType;Ljava/util/List;)V", "boundary", "", "()Ljava/lang/String;", "contentLength", "", "contentType", "()Ljava/util/List;", "size", "", "()I", "()Lokhttp3/MediaType;", "-deprecated_boundary", "part", "index", "-deprecated_parts", "-deprecated_size", "-deprecated_type", "writeOrCountBytes", "sink", "Lokio/BufferedSink;", "countBytes", "", "writeTo", "", "Builder", "Companion", "Part", "okhttp"}, k = 1, mv = {1, 4, 0}) /* loaded from: classes3.dex */ public final class MultipartBody extends RequestBody { private static final byte[] DASHDASH; private final ByteString boundaryByteString; private long contentLength; private final MediaType contentType; private final List parts; private final MediaType type; /* renamed from: Companion, reason: from kotlin metadata */ public static final Companion INSTANCE = new Companion(null); public static final MediaType MIXED = MediaType.INSTANCE.get("multipart/mixed"); public static final MediaType ALTERNATIVE = MediaType.INSTANCE.get("multipart/alternative"); public static final MediaType DIGEST = MediaType.INSTANCE.get("multipart/digest"); public static final MediaType PARALLEL = MediaType.INSTANCE.get("multipart/parallel"); public static final MediaType FORM = MediaType.INSTANCE.get("multipart/form-data"); private static final byte[] COLONSPACE = {(byte) 58, (byte) 32}; private static final byte[] CRLF = {(byte) 13, (byte) 10}; @Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "parts", imports = {})) /* renamed from: -deprecated_parts, reason: not valid java name */ public final List m7349deprecated_parts() { return this.parts; } @Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "type", imports = {})) /* renamed from: -deprecated_type, reason: not valid java name and from getter */ public final MediaType getType() { return this.type; } @Override // okhttp3.RequestBody /* renamed from: contentType, reason: from getter */ public MediaType getContentType() { return this.contentType; } public final List parts() { return this.parts; } public final MediaType type() { return this.type; } public MultipartBody(ByteString boundaryByteString, MediaType type, List parts) { Intrinsics.checkNotNullParameter(boundaryByteString, "boundaryByteString"); Intrinsics.checkNotNullParameter(type, "type"); Intrinsics.checkNotNullParameter(parts, "parts"); this.boundaryByteString = boundaryByteString; this.type = type; this.parts = parts; this.contentType = MediaType.INSTANCE.get(type + "; boundary=" + boundary()); this.contentLength = -1L; } public final String boundary() { return this.boundaryByteString.utf8(); } public final int size() { return this.parts.size(); } public final Part part(int index) { return this.parts.get(index); } @Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "boundary", imports = {})) /* renamed from: -deprecated_boundary, reason: not valid java name */ public final String m7348deprecated_boundary() { return boundary(); } @Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "size", imports = {})) /* renamed from: -deprecated_size, reason: not valid java name */ public final int m7350deprecated_size() { return size(); } @Override // okhttp3.RequestBody public long contentLength() throws IOException { long j = this.contentLength; if (j != -1) { return j; } long writeOrCountBytes = writeOrCountBytes(null, true); this.contentLength = writeOrCountBytes; return writeOrCountBytes; } @Override // okhttp3.RequestBody public void writeTo(BufferedSink sink) throws IOException { Intrinsics.checkNotNullParameter(sink, "sink"); writeOrCountBytes(sink, false); } private final long writeOrCountBytes(BufferedSink sink, boolean countBytes) throws IOException { Buffer buffer = null; if (countBytes) { buffer = new Buffer(); sink = buffer; } int size = this.parts.size(); long j = 0; for (int i = 0; i < size; i++) { Part part = this.parts.get(i); Headers headers = part.headers(); RequestBody body = part.body(); Intrinsics.checkNotNull(sink); sink.write(DASHDASH); sink.write(this.boundaryByteString); sink.write(CRLF); if (headers != null) { int size2 = headers.size(); for (int i2 = 0; i2 < size2; i2++) { sink.writeUtf8(headers.name(i2)).write(COLONSPACE).writeUtf8(headers.value(i2)).write(CRLF); } } MediaType contentType = body.getContentType(); if (contentType != null) { sink.writeUtf8("Content-Type: ").writeUtf8(contentType.getMediaType()).write(CRLF); } long contentLength = body.contentLength(); if (contentLength != -1) { sink.writeUtf8("Content-Length: ").writeDecimalLong(contentLength).write(CRLF); } else if (countBytes) { Intrinsics.checkNotNull(buffer); buffer.clear(); return -1L; } byte[] bArr = CRLF; sink.write(bArr); if (countBytes) { j += contentLength; } else { body.writeTo(sink); } sink.write(bArr); } Intrinsics.checkNotNull(sink); byte[] bArr2 = DASHDASH; sink.write(bArr2); sink.write(this.boundaryByteString); sink.write(bArr2); sink.write(CRLF); if (!countBytes) { return j; } Intrinsics.checkNotNull(buffer); long size3 = j + buffer.size(); buffer.clear(); return size3; } /* compiled from: MultipartBody.kt */ @Metadata(bv = {1, 0, 3}, d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0007\u0018\u0000 \u000b2\u00020\u0001:\u0001\u000bB\u0019\b\u0002\u0012\b\u0010\u0002\u001a\u0004\u0018\u00010\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\r\u0010\u0004\u001a\u00020\u0005H\u0007¢\u0006\u0002\b\tJ\u000f\u0010\u0002\u001a\u0004\u0018\u00010\u0003H\u0007¢\u0006\u0002\b\nR\u0013\u0010\u0004\u001a\u00020\u00058\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0004\u0010\u0007R\u0015\u0010\u0002\u001a\u0004\u0018\u00010\u00038\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0002\u0010\b¨\u0006\f"}, d2 = {"Lokhttp3/MultipartBody$Part;", "", "headers", "Lokhttp3/Headers;", "body", "Lokhttp3/RequestBody;", "(Lokhttp3/Headers;Lokhttp3/RequestBody;)V", "()Lokhttp3/RequestBody;", "()Lokhttp3/Headers;", "-deprecated_body", "-deprecated_headers", "Companion", "okhttp"}, k = 1, mv = {1, 4, 0}) /* loaded from: classes3.dex */ public static final class Part { /* renamed from: Companion, reason: from kotlin metadata */ public static final Companion INSTANCE = new Companion(null); private final RequestBody body; private final Headers headers; @JvmStatic public static final Part create(Headers headers, RequestBody requestBody) { return INSTANCE.create(headers, requestBody); } @JvmStatic public static final Part create(RequestBody requestBody) { return INSTANCE.create(requestBody); } @JvmStatic public static final Part createFormData(String str, String str2) { return INSTANCE.createFormData(str, str2); } @JvmStatic public static final Part createFormData(String str, String str2, RequestBody requestBody) { return INSTANCE.createFormData(str, str2, requestBody); } @Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "body", imports = {})) /* renamed from: -deprecated_body, reason: not valid java name and from getter */ public final RequestBody getBody() { return this.body; } @Deprecated(level = DeprecationLevel.ERROR, message = "moved to val", replaceWith = @ReplaceWith(expression = "headers", imports = {})) /* renamed from: -deprecated_headers, reason: not valid java name and from getter */ public final Headers getHeaders() { return this.headers; } public final RequestBody body() { return this.body; } public final Headers headers() { return this.headers; } private Part(Headers headers, RequestBody requestBody) { this.headers = headers; this.body = requestBody; } public /* synthetic */ Part(Headers headers, RequestBody requestBody, DefaultConstructorMarker defaultConstructorMarker) { this(headers, requestBody); } /* compiled from: MultipartBody.kt */ @Metadata(bv = {1, 0, 3}, d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u001a\u0010\u0003\u001a\u00020\u00042\b\u0010\u0005\u001a\u0004\u0018\u00010\u00062\u0006\u0010\u0007\u001a\u00020\bH\u0007J\u0010\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0007\u001a\u00020\bH\u0007J\u0018\u0010\t\u001a\u00020\u00042\u0006\u0010\n\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\u000bH\u0007J\"\u0010\t\u001a\u00020\u00042\u0006\u0010\n\u001a\u00020\u000b2\b\u0010\r\u001a\u0004\u0018\u00010\u000b2\u0006\u0010\u0007\u001a\u00020\bH\u0007¨\u0006\u000e"}, d2 = {"Lokhttp3/MultipartBody$Part$Companion;", "", "()V", "create", "Lokhttp3/MultipartBody$Part;", "headers", "Lokhttp3/Headers;", "body", "Lokhttp3/RequestBody;", "createFormData", "name", "", "value", "filename", "okhttp"}, k = 1, mv = {1, 4, 0}) /* loaded from: classes3.dex */ public static final class Companion { private Companion() { } public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } @JvmStatic public final Part create(RequestBody body) { Intrinsics.checkNotNullParameter(body, "body"); return create(null, body); } @JvmStatic public final Part create(Headers headers, RequestBody body) { Intrinsics.checkNotNullParameter(body, "body"); DefaultConstructorMarker defaultConstructorMarker = null; if (!((headers != null ? headers.get(HttpHeaders.CONTENT_TYPE) : null) == null)) { throw new IllegalArgumentException("Unexpected header: Content-Type".toString()); } if (!((headers != null ? headers.get(HttpHeaders.CONTENT_LENGTH) : null) == null)) { throw new IllegalArgumentException("Unexpected header: Content-Length".toString()); } return new Part(headers, body, defaultConstructorMarker); } @JvmStatic public final Part createFormData(String name, String value) { Intrinsics.checkNotNullParameter(name, "name"); Intrinsics.checkNotNullParameter(value, "value"); return createFormData(name, null, RequestBody.Companion.create$default(RequestBody.INSTANCE, value, (MediaType) null, 1, (Object) null)); } @JvmStatic public final Part createFormData(String name, String filename, RequestBody body) { Intrinsics.checkNotNullParameter(name, "name"); Intrinsics.checkNotNullParameter(body, "body"); StringBuilder sb = new StringBuilder(); sb.append("form-data; name="); MultipartBody.INSTANCE.appendQuotedString$okhttp(sb, name); if (filename != null) { sb.append("; filename="); MultipartBody.INSTANCE.appendQuotedString$okhttp(sb, filename); } String sb2 = sb.toString(); Intrinsics.checkNotNullExpressionValue(sb2, "StringBuilder().apply(builderAction).toString()"); return create(new Headers.Builder().addUnsafeNonAscii(HttpHeaders.CONTENT_DISPOSITION, sb2).build(), body); } } } /* compiled from: MultipartBody.kt */ @Metadata(bv = {1, 0, 3}, d1 = {"\u0000@\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010!\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\u0018\u00002\u00020\u0001B\u0011\b\u0007\u0012\b\b\u0002\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0016\u0010\u000b\u001a\u00020\u00002\u0006\u0010\f\u001a\u00020\u00032\u0006\u0010\r\u001a\u00020\u0003J \u0010\u000b\u001a\u00020\u00002\u0006\u0010\f\u001a\u00020\u00032\b\u0010\u000e\u001a\u0004\u0018\u00010\u00032\u0006\u0010\u000f\u001a\u00020\u0010J\u0018\u0010\u0011\u001a\u00020\u00002\b\u0010\u0012\u001a\u0004\u0018\u00010\u00132\u0006\u0010\u000f\u001a\u00020\u0010J\u000e\u0010\u0011\u001a\u00020\u00002\u0006\u0010\u0014\u001a\u00020\bJ\u000e\u0010\u0011\u001a\u00020\u00002\u0006\u0010\u000f\u001a\u00020\u0010J\u0006\u0010\u0015\u001a\u00020\u0016J\u000e\u0010\u0017\u001a\u00020\u00002\u0006\u0010\t\u001a\u00020\nR\u000e\u0010\u0002\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\b0\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\nX\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u0018"}, d2 = {"Lokhttp3/MultipartBody$Builder;", "", "boundary", "", "(Ljava/lang/String;)V", "Lokio/ByteString;", "parts", "", "Lokhttp3/MultipartBody$Part;", "type", "Lokhttp3/MediaType;", "addFormDataPart", "name", "value", "filename", "body", "Lokhttp3/RequestBody;", "addPart", "headers", "Lokhttp3/Headers;", "part", OperatingSystem.JsonKeys.BUILD, "Lokhttp3/MultipartBody;", "setType", "okhttp"}, k = 1, mv = {1, 4, 0}) /* loaded from: classes3.dex */ public static final class Builder { private final ByteString boundary; private final List parts; private MediaType type; /* JADX WARN: Multi-variable type inference failed */ public Builder() { this(null, 1, 0 == true ? 1 : 0); } public Builder(String boundary) { Intrinsics.checkNotNullParameter(boundary, "boundary"); this.boundary = ByteString.INSTANCE.encodeUtf8(boundary); this.type = MultipartBody.MIXED; this.parts = new ArrayList(); } /* JADX WARN: Illegal instructions before constructor call */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public /* synthetic */ Builder(java.lang.String r1, int r2, kotlin.jvm.internal.DefaultConstructorMarker r3) { /* r0 = this; r2 = r2 & 1 if (r2 == 0) goto L11 java.util.UUID r1 = java.util.UUID.randomUUID() java.lang.String r1 = r1.toString() java.lang.String r2 = "UUID.randomUUID().toString()" kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r1, r2) L11: r0.(r1) return */ throw new UnsupportedOperationException("Method not decompiled: okhttp3.MultipartBody.Builder.(java.lang.String, int, kotlin.jvm.internal.DefaultConstructorMarker):void"); } public final Builder setType(MediaType type) { Intrinsics.checkNotNullParameter(type, "type"); if (!Intrinsics.areEqual(type.type(), "multipart")) { throw new IllegalArgumentException(("multipart != " + type).toString()); } this.type = type; return this; } public final Builder addPart(RequestBody body) { Intrinsics.checkNotNullParameter(body, "body"); addPart(Part.INSTANCE.create(body)); return this; } public final Builder addPart(Headers headers, RequestBody body) { Intrinsics.checkNotNullParameter(body, "body"); addPart(Part.INSTANCE.create(headers, body)); return this; } public final Builder addFormDataPart(String name, String value) { Intrinsics.checkNotNullParameter(name, "name"); Intrinsics.checkNotNullParameter(value, "value"); addPart(Part.INSTANCE.createFormData(name, value)); return this; } public final Builder addFormDataPart(String name, String filename, RequestBody body) { Intrinsics.checkNotNullParameter(name, "name"); Intrinsics.checkNotNullParameter(body, "body"); addPart(Part.INSTANCE.createFormData(name, filename, body)); return this; } public final Builder addPart(Part part) { Intrinsics.checkNotNullParameter(part, "part"); this.parts.add(part); return this; } public final MultipartBody build() { if (!(!this.parts.isEmpty())) { throw new IllegalStateException("Multipart body must have at least one part.".toString()); } return new MultipartBody(this.boundary, this.type, Util.toImmutableList(this.parts)); } } /* compiled from: MultipartBody.kt */ @Metadata(bv = {1, 0, 3}, d1 = {"\u00000\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0007\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u001d\u0010\r\u001a\u00020\u000e*\u00060\u000fj\u0002`\u00102\u0006\u0010\u0011\u001a\u00020\u0012H\u0000¢\u0006\u0002\b\u0013R\u0010\u0010\u0003\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0006X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0006X\u0082\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\t\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\n\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\u000b\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\f\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000¨\u0006\u0014"}, d2 = {"Lokhttp3/MultipartBody$Companion;", "", "()V", "ALTERNATIVE", "Lokhttp3/MediaType;", "COLONSPACE", "", "CRLF", "DASHDASH", "DIGEST", "FORM", "MIXED", "PARALLEL", "appendQuotedString", "", "Ljava/lang/StringBuilder;", "Lkotlin/text/StringBuilder;", "key", "", "appendQuotedString$okhttp", "okhttp"}, k = 1, mv = {1, 4, 0}) /* loaded from: classes3.dex */ public static final class Companion { private Companion() { } public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } public final void appendQuotedString$okhttp(StringBuilder appendQuotedString, String key) { Intrinsics.checkNotNullParameter(appendQuotedString, "$this$appendQuotedString"); Intrinsics.checkNotNullParameter(key, "key"); appendQuotedString.append(Typography.quote); int length = key.length(); for (int i = 0; i < length; i++) { char charAt = key.charAt(i); if (charAt == '\n') { appendQuotedString.append("%0A"); } else if (charAt == '\r') { appendQuotedString.append("%0D"); } else if (charAt == '\"') { appendQuotedString.append("%22"); } else { appendQuotedString.append(charAt); } } appendQuotedString.append(Typography.quote); } } static { byte b = (byte) 45; DASHDASH = new byte[]{b, b}; } }