@supraio/client-daemon-js 0.0.0-mzwindows.288 → 0.0.0-nacl.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  (function() {
3
3
 
4
- var $goVersion = "go1.19.10";
4
+ var $goVersion = "go1.19.13";
5
5
  Error.stackTraceLimit = Infinity;
6
6
 
7
7
  var $NaN = NaN;
@@ -14587,7 +14587,7 @@ $packages["strconv"] = (function() {
14587
14587
  return $pkg;
14588
14588
  })();
14589
14589
  $packages["reflect"] = (function() {
14590
- var $pkg = {}, $init, errors, js, abi, bytealg, goarch, itoa, unsafeheader, math, runtime, strconv, sync, unicode, utf8, Value, flag, ValueError, MapIter, SliceHeader, Type, Kind, tflag, rtype, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, uncommonType, funcType, name, nameData, hiter, sliceType$1, ptrType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, ptrType$2, funcType$1, sliceType$7, sliceType$8, ptrType$6, ptrType$8, ptrType$9, sliceType$10, ptrType$10, sliceType$11, ptrType$11, ptrType$12, sliceType$12, ptrType$13, ptrType$14, funcType$2, sliceType$14, sliceType$15, ptrType$18, structType$3, sliceType$16, ptrType$19, ptrType$20, sliceType$17, sliceType$18, arrayType$6, sliceType$19, arrayType$7, sliceType$20, funcType$3, ptrType$23, arrayType$8, ptrType$24, funcType$4, funcType$5, ptrType$26, ptrType$27, bytesType, uint8Type, stringType, kindNames, initialized, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, copyVal, overflowFloat32, typesMustMatch, grow, Append, MakeMap, MakeMapWithSize, Indirect, convertOp, makeFloat, makeFloat32, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I, PtrTo, PointerTo, implements$1, specialChannelAssignability, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, methodValueCallCodePtr, methodValueCall, init, New, jsType, reflectType, setKindType, newName, newMethodName, resolveReflectName, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, makemap, keyFor, mapaccess, mapassign, mapdelete, mapaccess_faststr, mapassign_faststr, mapdelete_faststr, mapiterinit, mapiterkey, mapiterelem, mapiternext, maplen, cvtDirect, cvtSliceArrayPtr, Copy, methodReceiver, valueInterface, ifaceE2I, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, DeepEqual, deepValueEqualJs, stringsLastIndex, stringsHasPrefix, valueMethodName, verifyNotInHeapPtr;
14590
+ var $pkg = {}, $init, errors, js, abi, bytealg, goarch, itoa, unsafeheader, math, runtime, strconv, sync, unicode, utf8, Value, flag, ValueError, MapIter, Type, Kind, tflag, rtype, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, uncommonType, funcType, name, nameData, hiter, sliceType$1, ptrType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, ptrType$2, funcType$1, sliceType$7, sliceType$8, ptrType$6, ptrType$8, ptrType$9, sliceType$10, ptrType$10, sliceType$11, ptrType$11, ptrType$12, sliceType$12, ptrType$13, ptrType$14, funcType$2, sliceType$14, sliceType$15, ptrType$18, structType$3, sliceType$16, ptrType$19, ptrType$20, sliceType$17, sliceType$18, arrayType$6, sliceType$19, arrayType$7, sliceType$20, funcType$3, ptrType$23, arrayType$8, ptrType$24, funcType$4, funcType$5, ptrType$26, ptrType$27, bytesType, uint8Type, stringType, kindNames, initialized, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, copyVal, overflowFloat32, typesMustMatch, grow, Append, MakeMap, MakeMapWithSize, Indirect, convertOp, makeFloat, makeFloat32, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I, PtrTo, PointerTo, implements$1, specialChannelAssignability, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, methodValueCallCodePtr, methodValueCall, init, New, jsType, reflectType, setKindType, newName, newMethodName, resolveReflectName, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, makemap, keyFor, mapaccess, mapassign, mapdelete, mapaccess_faststr, mapassign_faststr, mapdelete_faststr, mapiterinit, mapiterkey, mapiterelem, mapiternext, maplen, cvtDirect, cvtSliceArrayPtr, Copy, methodReceiver, valueInterface, ifaceE2I, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, DeepEqual, deepValueEqualJs, stringsLastIndex, stringsHasPrefix, valueMethodName, verifyNotInHeapPtr;
14591
14591
  errors = $packages["errors"];
14592
14592
  js = $packages["github.com/gopherjs/gopherjs/js"];
14593
14593
  abi = $packages["internal/abi"];
@@ -14634,18 +14634,6 @@ $packages["reflect"] = (function() {
14634
14634
  this.m = m_;
14635
14635
  this.hiter = hiter_;
14636
14636
  });
14637
- SliceHeader = $pkg.SliceHeader = $newType(0, $kindStruct, "reflect.SliceHeader", true, "reflect", true, function(Data_, Len_, Cap_) {
14638
- this.$val = this;
14639
- if (arguments.length === 0) {
14640
- this.Data = 0;
14641
- this.Len = 0;
14642
- this.Cap = 0;
14643
- return;
14644
- }
14645
- this.Data = Data_;
14646
- this.Len = Len_;
14647
- this.Cap = Cap_;
14648
- });
14649
14637
  Type = $pkg.Type = $newType(8, $kindInterface, "reflect.Type", true, "reflect", true, null);
14650
14638
  Kind = $pkg.Kind = $newType(4, $kindUint, "reflect.Kind", true, "reflect", true, null);
14651
14639
  tflag = $pkg.tflag = $newType(1, $kindUint8, "reflect.tflag", true, "reflect", false, null);
@@ -19895,7 +19883,6 @@ $packages["reflect"] = (function() {
19895
19883
  Value.init("reflect", [{prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "ptr", name: "ptr", embedded: false, exported: false, typ: $UnsafePointer, tag: ""}, {prop: "flag", name: "flag", embedded: true, exported: false, typ: flag, tag: ""}]);
19896
19884
  ValueError.init("", [{prop: "Method", name: "Method", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Kind", name: "Kind", embedded: false, exported: true, typ: Kind, tag: ""}]);
19897
19885
  MapIter.init("reflect", [{prop: "m", name: "m", embedded: false, exported: false, typ: Value, tag: ""}, {prop: "hiter", name: "hiter", embedded: false, exported: false, typ: hiter, tag: ""}]);
19898
- SliceHeader.init("", [{prop: "Data", name: "Data", embedded: false, exported: true, typ: $Uintptr, tag: ""}, {prop: "Len", name: "Len", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "Cap", name: "Cap", embedded: false, exported: true, typ: $Int, tag: ""}]);
19899
19886
  Type.init([{prop: "Align", name: "Align", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "AssignableTo", name: "AssignableTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Bits", name: "Bits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "ChanDir", name: "ChanDir", pkg: "", typ: $funcType([], [ChanDir], false)}, {prop: "Comparable", name: "Comparable", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "ConvertibleTo", name: "ConvertibleTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldAlign", name: "FieldAlign", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$7], [StructField], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "Implements", name: "Implements", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "In", name: "In", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "IsVariadic", name: "IsVariadic", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Key", name: "Key", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}, {prop: "Name", name: "Name", pkg: "", typ: $funcType([], [$String], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumIn", name: "NumIn", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumOut", name: "NumOut", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Out", name: "Out", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "PkgPath", name: "PkgPath", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Size", name: "Size", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "common", name: "common", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "uncommon", name: "uncommon", pkg: "reflect", typ: $funcType([], [ptrType$10], false)}]);
19900
19887
  rtype.init("reflect", [{prop: "size", name: "size", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "ptrdata", name: "ptrdata", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "hash", name: "hash", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "tflag", name: "tflag", embedded: false, exported: false, typ: tflag, tag: ""}, {prop: "align", name: "align", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "fieldAlign", name: "fieldAlign", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "kind", name: "kind", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "equal", name: "equal", embedded: false, exported: false, typ: funcType$4, tag: ""}, {prop: "gcdata", name: "gcdata", embedded: false, exported: false, typ: ptrType$14, tag: ""}, {prop: "str", name: "str", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "ptrToThis", name: "ptrToThis", embedded: false, exported: false, typ: typeOff, tag: ""}]);
19901
19888
  method.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "mtyp", name: "mtyp", embedded: false, exported: false, typ: typeOff, tag: ""}, {prop: "ifn", name: "ifn", embedded: false, exported: false, typ: textOff, tag: ""}, {prop: "tfn", name: "tfn", embedded: false, exported: false, typ: textOff, tag: ""}]);
@@ -65700,7 +65687,7 @@ $packages["math/rand"] = (function() {
65700
65687
  return $pkg;
65701
65688
  })();
65702
65689
  $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
65703
- var $pkg = {}, $init, log, rand, os, syscall, time, sliceType, sliceType$1, seededRand, _r, _r$1, _r$2, _r$3, GenerateStringWithCharset, GenerateStringWithLength, WaitOnStopSignal;
65690
+ var $pkg = {}, $init, log, rand, os, syscall, time, sliceType, sliceType$1, seededRand, _r, _r$1, _r$2, _r$3, GenerateStringWithCharset, GenerateStringWithLength, WaitOnStopSignal, ClampedInt64;
65704
65691
  log = $packages["log"];
65705
65692
  rand = $packages["math/rand"];
65706
65693
  os = $packages["os"];
@@ -65742,18 +65729,29 @@ $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
65742
65729
  $go((function(signalChannel) { return function $b() {
65743
65730
  var {$s, $r, $c} = $restore(this, {});
65744
65731
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
65745
- $r = time.Sleep(new time.Duration(20116, 2437873664)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
65732
+ $r = time.Sleep(new time.Duration(140815, 4180213760)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
65746
65733
  $r = $send(signalChannel[0], new syscall.Signal(6)); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
65747
65734
  $s = -1; return;
65748
65735
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
65749
65736
  }; })(signalChannel), []);
65750
65737
  _r$4 = $recv(signalChannel[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
65751
65738
  sig = _r$4[0];
65752
- $r = log.Printf("Signal %s received (emulated after 24 hours).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
65739
+ $r = log.Printf("Signal %s received (emulated after 1 week).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
65753
65740
  $s = -1; return;
65754
65741
  /* */ } return; } var $f = {$blk: WaitOnStopSignal, $c: true, $r, _r$4, sig, signalChannel, $s};return $f;
65755
65742
  };
65756
65743
  $pkg.WaitOnStopSignal = WaitOnStopSignal;
65744
+ ClampedInt64 = function(value, min, max) {
65745
+ var max, min, value;
65746
+ if ((value.$high < min.$high || (value.$high === min.$high && value.$low < min.$low))) {
65747
+ return min;
65748
+ }
65749
+ if ((value.$high > max.$high || (value.$high === max.$high && value.$low > max.$low))) {
65750
+ return max;
65751
+ }
65752
+ return value;
65753
+ };
65754
+ $pkg.ClampedInt64 = ClampedInt64;
65757
65755
  $init = function() {
65758
65756
  $pkg.$init = function() {};
65759
65757
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -126365,7 +126363,7 @@ $packages["vendor/golang.org/x/crypto/hkdf"] = (function() {
126365
126363
  return $pkg;
126366
126364
  })();
126367
126365
  $packages["crypto/tls"] = (function() {
126368
- var $pkg = {}, $init, bytes, list, context, crypto, aes, cipher, des, ecdsa, ed25519, elliptic, hmac, boring, md5, rand, rc4, rsa, sha1, sha256, sha512, subtle, x509, binary, pem, errors, fmt, hash, cpu, io, big, net, os, runtime, strconv, strings, sync, atomic, time, chacha20poly1305, cryptobyte, curve25519, hkdf, listener, Dialer, sessionState, sessionStateTLS13, finishedHash, ecdheParameters, nistParameters, x25519Parameters, keyAgreement, rsaKeyAgreement, ecdheKeyAgreement, serverHandshakeStateTLS13, serverHandshakeState, marshalingFunction, clientHelloMsg, serverHelloMsg, encryptedExtensionsMsg, endOfEarlyDataMsg, keyUpdateMsg, newSessionTicketMsgTLS13, certificateRequestMsgTLS13, certificateMsg, certificateMsgTLS13, serverKeyExchangeMsg, certificateStatusMsg, serverHelloDoneMsg, clientKeyExchangeMsg, finishedMsg, certificateRequestMsg, certificateVerifyMsg, newSessionTicketMsg, helloRequestMsg, transcriptHash, clientHandshakeStateTLS13, clientHandshakeState, Conn, halfConn, permanentError, cbcMode, RecordHeaderError, atLeastReader, recordType, CurveID, keyShare, pskIdentity, ConnectionState, ClientAuthType, ClientSessionState, ClientSessionCache, SignatureScheme, ClientHelloInfo, CertificateRequestInfo, RenegotiationSupport, Config, ticketKey, Certificate, handshakeMessage, cipherSuite, cipherSuiteTLS13, aead, prefixNonceAEAD, xorNonceAEAD, constantTimeHash, cthWrapper, alert, binaryMarshaler, sliceType, sliceType$1, ptrType, sliceType$2, sliceType$3, arrayType, sliceType$4, sliceType$5, sliceType$6, sliceType$7, ptrType$1, ptrType$2, sliceType$8, ptrType$3, sliceType$9, structType, sliceType$10, ptrType$4, sliceType$11, ptrType$5, sliceType$12, sliceType$13, arrayType$1, arrayType$2, arrayType$3, arrayType$4, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, ptrType$25, ptrType$26, ptrType$27, ptrType$28, ptrType$29, ptrType$30, ptrType$31, ptrType$32, ptrType$33, ptrType$34, sliceType$14, sliceType$15, sliceType$16, ptrType$35, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, arrayType$5, ptrType$42, arrayType$6, ptrType$43, ptrType$44, ptrType$45, ptrType$46, structType$1, arrayType$7, ptrType$51, ptrType$52, ptrType$53, ptrType$54, ptrType$55, funcType, ptrType$56, ptrType$57, ptrType$58, ptrType$59, ptrType$60, ptrType$61, ptrType$62, ptrType$63, ptrType$64, funcType$1, funcType$2, ptrType$65, ptrType$66, ptrType$67, ptrType$68, ptrType$69, sliceType$18, funcType$3, mapType, funcType$4, funcType$5, funcType$6, funcType$7, funcType$8, funcType$9, funcType$10, funcType$11, funcType$12, ptrType$71, ptrType$72, ptrType$73, masterSecretLabel, keyExpansionLabel, clientFinishedLabel, serverFinishedLabel, fipsSupportedSignatureAlgorithms, errClientKeyExchange, errServerKeyExchange, testingOnlyForceClientHelloSignatureAlgorithms, outBufPool, errShutdown, errEarlyCloseWrite, _SignatureScheme_index_8, _CurveID_index_0, _ClientAuthType_index, directSigning, defaultSupportedSignatureAlgorithms, helloRetryRequestRandom, testingOnlyForceDowngradeCanary, deprecatedSessionTicketKey, supportedVersions, defaultCurvePreferences, errNoCertificates, writerMutex, emptyConfig, emptyConfig$24ptr, cipherSuites, cipherSuitesTLS13, cipherSuitesPreferenceOrder, cipherSuitesPreferenceOrderNoAES, disabledCipherSuites, defaultCipherSuitesLen, defaultCipherSuites, defaultCipherSuitesTLS13, defaultCipherSuitesTLS13NoAES, hasGCMAsmAMD64, hasGCMAsmARM64, hasGCMAsmS390X, hasAESGCMHardwareSupport, aesgcmCiphers, signaturePadding, rsaSignatureSchemes, alertText, Server, Client, NewListener, dial, LoadX509KeyPair, X509KeyPair, parsePrivateKey, splitPreMasterSecret, pHash, prf10, prf12, prfAndHashForVersion, prfForVersion, masterFromPreMasterSecret, keysFromMasterSecret, newFinishedHash, noExportedKeyingMaterial, ekmFromMasterSecret, needFIPS, supportedSignatureAlgorithms, fipsMinVersion, fipsMaxVersion, fipsCurvePreferences, fipsCipherSuites, generateECDHEParameters, curveForCurveID, sha1Hash, md5SHA1Hash, hashForServerKeyExchange, cloneHash, illegalClientHelloChange, negotiateALPN, supportsECDHE, clientHelloInfo, addBytesWithLength, addUint64, readUint64, readUint8LengthPrefixed, readUint16LengthPrefixed, readUint24LengthPrefixed, marshalCertificate, unmarshalCertificate, transcriptMsg, checkALPN, certificateRequestInfoFromMsg, clientSessionCacheKey, hostnameInSNI, extractPadding, roundUp, sliceForAppend, requiresClientCert, supportedVersionsFromMax, defaultConfig, unexpectedMessageError, isSupportedSignatureAlgorithm, selectCipherSuite, aesgcmPreferred, cipherRC4, cipher3DES, cipherAES, macSHA1, macSHA256, aeadAESGCM, aeadAESGCMTLS13, aeadChaCha20Poly1305, newConstantTimeHash, tls10MAC, rsaKA, ecdheECDSAKA, ecdheRSAKA, mutualCipherSuite, cipherSuiteByID, mutualCipherSuiteTLS13, cipherSuiteTLS13ByID, verifyHandshakeSignature, signedMessage, typeAndHashFromSignatureScheme, legacyTypeAndHashFromPublicKey, signatureSchemesForCertificate, selectSignatureScheme, unsupportedCertificateError;
126366
+ var $pkg = {}, $init, bytes, list, context, crypto, aes, cipher, des, ecdsa, ed25519, elliptic, hmac, boring, md5, rand, rc4, rsa, sha1, sha256, sha512, subtle, x509, binary, pem, errors, fmt, hash, cpu, godebug, io, big, net, os, runtime, strconv, strings, sync, atomic, time, chacha20poly1305, cryptobyte, curve25519, hkdf, listener, Dialer, sessionState, sessionStateTLS13, finishedHash, ecdheParameters, nistParameters, x25519Parameters, keyAgreement, rsaKeyAgreement, ecdheKeyAgreement, serverHandshakeStateTLS13, serverHandshakeState, marshalingFunction, clientHelloMsg, serverHelloMsg, encryptedExtensionsMsg, endOfEarlyDataMsg, keyUpdateMsg, newSessionTicketMsgTLS13, certificateRequestMsgTLS13, certificateMsg, certificateMsgTLS13, serverKeyExchangeMsg, certificateStatusMsg, serverHelloDoneMsg, clientKeyExchangeMsg, finishedMsg, certificateRequestMsg, certificateVerifyMsg, newSessionTicketMsg, helloRequestMsg, transcriptHash, clientHandshakeStateTLS13, clientHandshakeState, Conn, halfConn, permanentError, cbcMode, RecordHeaderError, atLeastReader, recordType, CurveID, keyShare, pskIdentity, ConnectionState, ClientAuthType, ClientSessionState, ClientSessionCache, SignatureScheme, ClientHelloInfo, CertificateRequestInfo, RenegotiationSupport, Config, ticketKey, Certificate, handshakeMessage, cipherSuite, cipherSuiteTLS13, aead, prefixNonceAEAD, xorNonceAEAD, constantTimeHash, cthWrapper, alert, binaryMarshaler, sliceType, sliceType$1, ptrType, sliceType$2, sliceType$3, arrayType, sliceType$4, sliceType$5, sliceType$6, sliceType$7, ptrType$1, ptrType$2, sliceType$8, ptrType$3, sliceType$9, structType, sliceType$10, ptrType$4, sliceType$11, ptrType$5, sliceType$12, sliceType$13, arrayType$1, arrayType$2, arrayType$3, arrayType$4, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, ptrType$25, ptrType$26, ptrType$27, ptrType$28, ptrType$29, ptrType$30, ptrType$31, ptrType$32, ptrType$33, ptrType$34, sliceType$14, sliceType$15, sliceType$16, ptrType$35, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, arrayType$5, ptrType$42, arrayType$6, ptrType$43, ptrType$44, ptrType$45, ptrType$46, structType$1, arrayType$7, ptrType$51, ptrType$52, ptrType$53, ptrType$54, ptrType$55, funcType, ptrType$56, ptrType$57, ptrType$58, ptrType$59, ptrType$60, ptrType$61, ptrType$62, ptrType$63, ptrType$64, funcType$1, funcType$2, ptrType$65, ptrType$66, ptrType$67, ptrType$68, ptrType$69, sliceType$18, funcType$3, mapType, funcType$4, funcType$5, funcType$6, funcType$7, funcType$8, funcType$9, funcType$10, funcType$11, funcType$12, ptrType$71, ptrType$72, ptrType$73, masterSecretLabel, keyExpansionLabel, clientFinishedLabel, serverFinishedLabel, fipsSupportedSignatureAlgorithms, errClientKeyExchange, errServerKeyExchange, testingOnlyForceClientHelloSignatureAlgorithms, outBufPool, errShutdown, errEarlyCloseWrite, _SignatureScheme_index_8, _CurveID_index_0, _ClientAuthType_index, directSigning, defaultSupportedSignatureAlgorithms, helloRetryRequestRandom, testingOnlyForceDowngradeCanary, deprecatedSessionTicketKey, supportedVersions, defaultCurvePreferences, errNoCertificates, writerMutex, emptyConfig, emptyConfig$24ptr, cipherSuites, cipherSuitesTLS13, cipherSuitesPreferenceOrder, cipherSuitesPreferenceOrderNoAES, disabledCipherSuites, defaultCipherSuitesLen, defaultCipherSuites, defaultCipherSuitesTLS13, defaultCipherSuitesTLS13NoAES, hasGCMAsmAMD64, hasGCMAsmARM64, hasGCMAsmS390X, hasAESGCMHardwareSupport, aesgcmCiphers, signaturePadding, rsaSignatureSchemes, alertText, Server, Client, NewListener, dial, LoadX509KeyPair, X509KeyPair, parsePrivateKey, splitPreMasterSecret, pHash, prf10, prf12, prfAndHashForVersion, prfForVersion, masterFromPreMasterSecret, keysFromMasterSecret, newFinishedHash, noExportedKeyingMaterial, ekmFromMasterSecret, needFIPS, supportedSignatureAlgorithms, fipsMinVersion, fipsMaxVersion, fipsCurvePreferences, fipsCipherSuites, generateECDHEParameters, curveForCurveID, sha1Hash, md5SHA1Hash, hashForServerKeyExchange, cloneHash, illegalClientHelloChange, negotiateALPN, supportsECDHE, clientHelloInfo, addBytesWithLength, addUint64, readUint64, readUint8LengthPrefixed, readUint16LengthPrefixed, readUint24LengthPrefixed, marshalCertificate, unmarshalCertificate, transcriptMsg, checkALPN, checkKeySize, certificateRequestInfoFromMsg, clientSessionCacheKey, hostnameInSNI, extractPadding, roundUp, sliceForAppend, requiresClientCert, supportedVersionsFromMax, defaultConfig, unexpectedMessageError, isSupportedSignatureAlgorithm, selectCipherSuite, aesgcmPreferred, cipherRC4, cipher3DES, cipherAES, macSHA1, macSHA256, aeadAESGCM, aeadAESGCMTLS13, aeadChaCha20Poly1305, newConstantTimeHash, tls10MAC, rsaKA, ecdheECDSAKA, ecdheRSAKA, mutualCipherSuite, cipherSuiteByID, mutualCipherSuiteTLS13, cipherSuiteTLS13ByID, verifyHandshakeSignature, signedMessage, typeAndHashFromSignatureScheme, legacyTypeAndHashFromPublicKey, signatureSchemesForCertificate, selectSignatureScheme, unsupportedCertificateError;
126369
126367
  bytes = $packages["bytes"];
126370
126368
  list = $packages["container/list"];
126371
126369
  context = $packages["context"];
@@ -126393,6 +126391,7 @@ $packages["crypto/tls"] = (function() {
126393
126391
  fmt = $packages["fmt"];
126394
126392
  hash = $packages["hash"];
126395
126393
  cpu = $packages["internal/cpu"];
126394
+ godebug = $packages["internal/godebug"];
126396
126395
  io = $packages["io"];
126397
126396
  big = $packages["math/big"];
126398
126397
  net = $packages["net"];
@@ -131260,7 +131259,7 @@ $packages["crypto/tls"] = (function() {
131260
131259
  };
131261
131260
  serverHandshakeState.prototype.sendFinished = function(out) { return this.$val.sendFinished(out); };
131262
131261
  Conn.ptr.prototype.processCertsFromClient = function(certificate) {
131263
- var {$24r, $24r$1, $24r$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, asn1Data, c, cert, certificate, certificates, certs, chains, err, err$1, err$2, i, opts, $s, $r, $c} = $restore(this, {certificate});
131262
+ var {$24r, $24r$1, $24r$2, $24r$3, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, _tuple$2, asn1Data, c, cert, certificate, certificates, certs, chains, err, err$1, err$2, i, max, n, ok, opts, $s, $r, $c} = $restore(this, {certificate});
131264
131263
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
131265
131264
  c = this;
131266
131265
  certificates = certificate.Certificate;
@@ -131286,21 +131285,39 @@ $packages["crypto/tls"] = (function() {
131286
131285
  $24r = _r$3;
131287
131286
  $s = 9; case 9: return $24r;
131288
131287
  /* } */ case 5:
131288
+ /* */ if (((i < 0 || i >= certs.$length) ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + i]).PublicKeyAlgorithm === 1) { $s = 10; continue; }
131289
+ /* */ $s = 11; continue;
131290
+ /* if (((i < 0 || i >= certs.$length) ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + i]).PublicKeyAlgorithm === 1) { */ case 10:
131291
+ n = $assertType(((i < 0 || i >= certs.$length) ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + i]).PublicKey, ptrType$11).N.BitLen();
131292
+ _r$4 = checkKeySize(n); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
131293
+ _tuple$1 = _r$4;
131294
+ max = _tuple$1[0];
131295
+ ok = _tuple$1[1];
131296
+ /* */ if (!ok) { $s = 13; continue; }
131297
+ /* */ $s = 14; continue;
131298
+ /* if (!ok) { */ case 13:
131299
+ _r$5 = c.sendAlert(42); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
131300
+ _r$5;
131301
+ _r$6 = fmt.Errorf("tls: client sent certificate containing RSA key larger than %d bits", new sliceType$7([new $Int(max)])); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
131302
+ $24r$1 = _r$6;
131303
+ $s = 17; case 17: return $24r$1;
131304
+ /* } */ case 14:
131305
+ /* } */ case 11:
131289
131306
  _i++;
131290
131307
  $s = 1; continue;
131291
131308
  case 2:
131292
- /* */ if ((certs.$length === 0) && requiresClientCert(c.config.ClientAuth)) { $s = 10; continue; }
131293
- /* */ $s = 11; continue;
131294
- /* if ((certs.$length === 0) && requiresClientCert(c.config.ClientAuth)) { */ case 10:
131295
- _r$4 = c.sendAlert(42); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
131296
- _r$4;
131309
+ /* */ if ((certs.$length === 0) && requiresClientCert(c.config.ClientAuth)) { $s = 18; continue; }
131310
+ /* */ $s = 19; continue;
131311
+ /* if ((certs.$length === 0) && requiresClientCert(c.config.ClientAuth)) { */ case 18:
131312
+ _r$7 = c.sendAlert(42); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
131313
+ _r$7;
131297
131314
  $s = -1; return errors.New("tls: client didn't provide a certificate");
131298
- /* } */ case 11:
131299
- /* */ if (c.config.ClientAuth >= 3 && certs.$length > 0) { $s = 13; continue; }
131300
- /* */ $s = 14; continue;
131301
- /* if (c.config.ClientAuth >= 3 && certs.$length > 0) { */ case 13:
131302
- _r$5 = c.config.time(); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
131303
- opts = new x509.VerifyOptions.ptr("", x509.NewCertPool(), c.config.ClientCAs, $clone(_r$5, time.Time), new sliceType$14([2]), 0);
131315
+ /* } */ case 19:
131316
+ /* */ if (c.config.ClientAuth >= 3 && certs.$length > 0) { $s = 21; continue; }
131317
+ /* */ $s = 22; continue;
131318
+ /* if (c.config.ClientAuth >= 3 && certs.$length > 0) { */ case 21:
131319
+ _r$8 = c.config.time(); /* */ $s = 23; case 23: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
131320
+ opts = new x509.VerifyOptions.ptr("", x509.NewCertPool(), c.config.ClientCAs, $clone(_r$8, time.Time), new sliceType$14([2]), 0);
131304
131321
  _ref$1 = $subslice(certs, 1);
131305
131322
  _i$1 = 0;
131306
131323
  while (true) {
@@ -131309,56 +131326,56 @@ $packages["crypto/tls"] = (function() {
131309
131326
  opts.Intermediates.AddCert(cert);
131310
131327
  _i$1++;
131311
131328
  }
131312
- _r$6 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).Verify($clone(opts, x509.VerifyOptions)); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
131313
- _tuple$1 = _r$6;
131314
- chains = _tuple$1[0];
131315
- err$1 = _tuple$1[1];
131316
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 17; continue; }
131317
- /* */ $s = 18; continue;
131318
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 17:
131319
- _r$7 = c.sendAlert(42); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
131320
- _r$7;
131321
- _r$8 = err$1.Error(); /* */ $s = 20; case 20: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
131322
- _r$9 = errors.New("tls: failed to verify client certificate: " + _r$8); /* */ $s = 21; case 21: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
131323
- $24r$1 = _r$9;
131324
- $s = 22; case 22: return $24r$1;
131325
- /* } */ case 18:
131329
+ _r$9 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).Verify($clone(opts, x509.VerifyOptions)); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
131330
+ _tuple$2 = _r$9;
131331
+ chains = _tuple$2[0];
131332
+ err$1 = _tuple$2[1];
131333
+ /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 25; continue; }
131334
+ /* */ $s = 26; continue;
131335
+ /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 25:
131336
+ _r$10 = c.sendAlert(42); /* */ $s = 27; case 27: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
131337
+ _r$10;
131338
+ _r$11 = err$1.Error(); /* */ $s = 28; case 28: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
131339
+ _r$12 = errors.New("tls: failed to verify client certificate: " + _r$11); /* */ $s = 29; case 29: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
131340
+ $24r$2 = _r$12;
131341
+ $s = 30; case 30: return $24r$2;
131342
+ /* } */ case 26:
131326
131343
  c.verifiedChains = chains;
131327
- /* } */ case 14:
131344
+ /* } */ case 22:
131328
131345
  c.peerCertificates = certs;
131329
131346
  c.ocspResponse = certificate.OCSPStaple;
131330
131347
  c.scts = certificate.SignedCertificateTimestamps;
131331
- /* */ if (certs.$length > 0) { $s = 23; continue; }
131332
- /* */ $s = 24; continue;
131333
- /* if (certs.$length > 0) { */ case 23:
131334
- _ref$2 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey;
131335
- /* */ if ($assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { $s = 25; continue; }
131336
- /* */ $s = 26; continue;
131337
- /* if ($assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { */ case 25:
131338
- $s = 27; continue;
131339
- /* } else { */ case 26:
131340
- _r$10 = c.sendAlert(43); /* */ $s = 28; case 28: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
131341
- _r$10;
131342
- _r$11 = fmt.Errorf("tls: client certificate contains an unsupported public key of type %T", new sliceType$7([(0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey])); /* */ $s = 29; case 29: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
131343
- $24r$2 = _r$11;
131344
- $s = 30; case 30: return $24r$2;
131345
- /* } */ case 27:
131346
- /* } */ case 24:
131347
- /* */ if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { $s = 31; continue; }
131348
+ /* */ if (certs.$length > 0) { $s = 31; continue; }
131348
131349
  /* */ $s = 32; continue;
131349
- /* if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { */ case 31:
131350
- _r$12 = c.config.VerifyPeerCertificate(certificates, c.verifiedChains); /* */ $s = 33; case 33: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
131351
- err$2 = _r$12;
131352
- /* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 34; continue; }
131353
- /* */ $s = 35; continue;
131354
- /* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 34:
131355
- _r$13 = c.sendAlert(42); /* */ $s = 36; case 36: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
131350
+ /* if (certs.$length > 0) { */ case 31:
131351
+ _ref$2 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey;
131352
+ /* */ if ($assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { $s = 33; continue; }
131353
+ /* */ $s = 34; continue;
131354
+ /* if ($assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { */ case 33:
131355
+ $s = 35; continue;
131356
+ /* } else { */ case 34:
131357
+ _r$13 = c.sendAlert(43); /* */ $s = 36; case 36: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
131356
131358
  _r$13;
131357
- $s = -1; return err$2;
131359
+ _r$14 = fmt.Errorf("tls: client certificate contains an unsupported public key of type %T", new sliceType$7([(0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey])); /* */ $s = 37; case 37: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
131360
+ $24r$3 = _r$14;
131361
+ $s = 38; case 38: return $24r$3;
131358
131362
  /* } */ case 35:
131359
131363
  /* } */ case 32:
131364
+ /* */ if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { $s = 39; continue; }
131365
+ /* */ $s = 40; continue;
131366
+ /* if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { */ case 39:
131367
+ _r$15 = c.config.VerifyPeerCertificate(certificates, c.verifiedChains); /* */ $s = 41; case 41: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
131368
+ err$2 = _r$15;
131369
+ /* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 42; continue; }
131370
+ /* */ $s = 43; continue;
131371
+ /* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 42:
131372
+ _r$16 = c.sendAlert(42); /* */ $s = 44; case 44: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
131373
+ _r$16;
131374
+ $s = -1; return err$2;
131375
+ /* } */ case 43:
131376
+ /* } */ case 40:
131360
131377
  $s = -1; return $ifaceNil;
131361
- /* */ } return; } var $f = {$blk: Conn.ptr.prototype.processCertsFromClient, $c: true, $r, $24r, $24r$1, $24r$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, asn1Data, c, cert, certificate, certificates, certs, chains, err, err$1, err$2, i, opts, $s};return $f;
131378
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.processCertsFromClient, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, _tuple$2, asn1Data, c, cert, certificate, certificates, certs, chains, err, err$1, err$2, i, max, n, ok, opts, $s};return $f;
131362
131379
  };
131363
131380
  Conn.prototype.processCertsFromClient = function(certificate) { return this.$val.processCertsFromClient(certificate); };
131364
131381
  clientHelloInfo = function(ctx, c, clientHello) {
@@ -135626,8 +135643,34 @@ $packages["crypto/tls"] = (function() {
135626
135643
  /* */ } return; } var $f = {$blk: clientHandshakeState.ptr.prototype.sendFinished, $c: true, $r, _r, _r$1, _r$2, _tuple, c, err, err$1, finished, hs, out, $s};return $f;
135627
135644
  };
135628
135645
  clientHandshakeState.prototype.sendFinished = function(out) { return this.$val.sendFinished(out); };
135646
+ checkKeySize = function(n) {
135647
+ var {_r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, err, max, max$1, n, ok, v, $s, $r, $c} = $restore(this, {n});
135648
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
135649
+ max = 0;
135650
+ ok = false;
135651
+ _r = godebug.Get("tlsmaxrsasize"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
135652
+ v = _r;
135653
+ if (!(v === "")) {
135654
+ _tuple = strconv.Atoi(v);
135655
+ max$1 = _tuple[0];
135656
+ err = _tuple[1];
135657
+ if ($interfaceIsEqual(err, $ifaceNil)) {
135658
+ _tmp = max$1;
135659
+ _tmp$1 = n <= max$1;
135660
+ max = _tmp;
135661
+ ok = _tmp$1;
135662
+ $s = -1; return [max, ok];
135663
+ }
135664
+ }
135665
+ _tmp$2 = 8192;
135666
+ _tmp$3 = n <= 8192;
135667
+ max = _tmp$2;
135668
+ ok = _tmp$3;
135669
+ $s = -1; return [max, ok];
135670
+ /* */ } return; } var $f = {$blk: checkKeySize, $c: true, $r, _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, err, max, max$1, n, ok, v, $s};return $f;
135671
+ };
135629
135672
  Conn.ptr.prototype.verifyServerCertificate = function(certificates) {
135630
- var {$24r, $24r$1, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, asn1Data, c, cert, cert$1, certificates, certs, err, err$1, err$2, err$3, i, opts, $s, $r, $c} = $restore(this, {certificates});
135673
+ var {$24r, $24r$1, $24r$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, _tuple$2, asn1Data, c, cert, cert$1, certificates, certs, err, err$1, err$2, err$3, i, max, n, ok, opts, $s, $r, $c} = $restore(this, {certificates});
135631
135674
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
135632
135675
  c = this;
135633
135676
  certs = $makeSlice(sliceType$12, certificates.$length);
@@ -135651,15 +135694,33 @@ $packages["crypto/tls"] = (function() {
135651
135694
  $24r = _r$3;
135652
135695
  $s = 9; case 9: return $24r;
135653
135696
  /* } */ case 5:
135697
+ /* */ if (cert.PublicKeyAlgorithm === 1) { $s = 10; continue; }
135698
+ /* */ $s = 11; continue;
135699
+ /* if (cert.PublicKeyAlgorithm === 1) { */ case 10:
135700
+ n = $assertType(cert.PublicKey, ptrType$11).N.BitLen();
135701
+ _r$4 = checkKeySize(n); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
135702
+ _tuple$1 = _r$4;
135703
+ max = _tuple$1[0];
135704
+ ok = _tuple$1[1];
135705
+ /* */ if (!ok) { $s = 13; continue; }
135706
+ /* */ $s = 14; continue;
135707
+ /* if (!ok) { */ case 13:
135708
+ _r$5 = c.sendAlert(42); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
135709
+ _r$5;
135710
+ _r$6 = fmt.Errorf("tls: server sent certificate containing RSA key larger than %d bits", new sliceType$7([new $Int(max)])); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
135711
+ $24r$1 = _r$6;
135712
+ $s = 17; case 17: return $24r$1;
135713
+ /* } */ case 14:
135714
+ /* } */ case 11:
135654
135715
  ((i < 0 || i >= certs.$length) ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + i] = cert);
135655
135716
  _i++;
135656
135717
  $s = 1; continue;
135657
135718
  case 2:
135658
- /* */ if (!c.config.InsecureSkipVerify) { $s = 10; continue; }
135659
- /* */ $s = 11; continue;
135660
- /* if (!c.config.InsecureSkipVerify) { */ case 10:
135661
- _r$4 = c.config.time(); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
135662
- opts = new x509.VerifyOptions.ptr(c.config.ServerName, x509.NewCertPool(), c.config.RootCAs, $clone(_r$4, time.Time), sliceType$14.nil, 0);
135719
+ /* */ if (!c.config.InsecureSkipVerify) { $s = 18; continue; }
135720
+ /* */ $s = 19; continue;
135721
+ /* if (!c.config.InsecureSkipVerify) { */ case 18:
135722
+ _r$7 = c.config.time(); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
135723
+ opts = new x509.VerifyOptions.ptr(c.config.ServerName, x509.NewCertPool(), c.config.RootCAs, $clone(_r$7, time.Time), sliceType$14.nil, 0);
135663
135724
  _ref$1 = $subslice(certs, 1);
135664
135725
  _i$1 = 0;
135665
135726
  while (true) {
@@ -135669,60 +135730,60 @@ $packages["crypto/tls"] = (function() {
135669
135730
  _i$1++;
135670
135731
  }
135671
135732
  err$1 = $ifaceNil;
135672
- _r$5 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).Verify($clone(opts, x509.VerifyOptions)); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
135673
- _tuple$1 = _r$5;
135674
- c.verifiedChains = _tuple$1[0];
135675
- err$1 = _tuple$1[1];
135676
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 14; continue; }
135677
- /* */ $s = 15; continue;
135678
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 14:
135679
- _r$6 = c.sendAlert(42); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
135680
- _r$6;
135733
+ _r$8 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).Verify($clone(opts, x509.VerifyOptions)); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
135734
+ _tuple$2 = _r$8;
135735
+ c.verifiedChains = _tuple$2[0];
135736
+ err$1 = _tuple$2[1];
135737
+ /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 22; continue; }
135738
+ /* */ $s = 23; continue;
135739
+ /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 22:
135740
+ _r$9 = c.sendAlert(42); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
135741
+ _r$9;
135681
135742
  $s = -1; return err$1;
135682
- /* } */ case 15:
135683
- /* } */ case 11:
135743
+ /* } */ case 23:
135744
+ /* } */ case 19:
135684
135745
  _ref$2 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey;
135685
- /* */ if ($assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { $s = 17; continue; }
135686
- /* */ $s = 18; continue;
135687
- /* switch (0) { default: if ($assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { */ case 17:
135688
- /* break; */ $s = 19; continue;
135689
- $s = 19; continue;
135690
- /* } else { */ case 18:
135691
- _r$7 = c.sendAlert(43); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
135692
- _r$7;
135693
- _r$8 = fmt.Errorf("tls: server's certificate contains an unsupported type of public key: %T", new sliceType$7([(0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey])); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
135694
- $24r$1 = _r$8;
135695
- $s = 22; case 22: return $24r$1;
135696
- /* } } */ case 19:
135746
+ /* */ if ($assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { $s = 25; continue; }
135747
+ /* */ $s = 26; continue;
135748
+ /* switch (0) { default: if ($assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { */ case 25:
135749
+ /* break; */ $s = 27; continue;
135750
+ $s = 27; continue;
135751
+ /* } else { */ case 26:
135752
+ _r$10 = c.sendAlert(43); /* */ $s = 28; case 28: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
135753
+ _r$10;
135754
+ _r$11 = fmt.Errorf("tls: server's certificate contains an unsupported type of public key: %T", new sliceType$7([(0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey])); /* */ $s = 29; case 29: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
135755
+ $24r$2 = _r$11;
135756
+ $s = 30; case 30: return $24r$2;
135757
+ /* } } */ case 27:
135697
135758
  c.peerCertificates = certs;
135698
- /* */ if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { $s = 23; continue; }
135699
- /* */ $s = 24; continue;
135700
- /* if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { */ case 23:
135701
- _r$9 = c.config.VerifyPeerCertificate(certificates, c.verifiedChains); /* */ $s = 25; case 25: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
135702
- err$2 = _r$9;
135703
- /* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 26; continue; }
135704
- /* */ $s = 27; continue;
135705
- /* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 26:
135706
- _r$10 = c.sendAlert(42); /* */ $s = 28; case 28: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
135707
- _r$10;
135759
+ /* */ if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { $s = 31; continue; }
135760
+ /* */ $s = 32; continue;
135761
+ /* if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { */ case 31:
135762
+ _r$12 = c.config.VerifyPeerCertificate(certificates, c.verifiedChains); /* */ $s = 33; case 33: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
135763
+ err$2 = _r$12;
135764
+ /* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 34; continue; }
135765
+ /* */ $s = 35; continue;
135766
+ /* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 34:
135767
+ _r$13 = c.sendAlert(42); /* */ $s = 36; case 36: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
135768
+ _r$13;
135708
135769
  $s = -1; return err$2;
135709
- /* } */ case 27:
135710
- /* } */ case 24:
135711
- /* */ if (!(c.config.VerifyConnection === $throwNilPointerError)) { $s = 29; continue; }
135712
- /* */ $s = 30; continue;
135713
- /* if (!(c.config.VerifyConnection === $throwNilPointerError)) { */ case 29:
135714
- _r$11 = c.config.VerifyConnection($clone(c.connectionStateLocked(), ConnectionState)); /* */ $s = 31; case 31: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
135715
- err$3 = _r$11;
135716
- /* */ if (!($interfaceIsEqual(err$3, $ifaceNil))) { $s = 32; continue; }
135717
- /* */ $s = 33; continue;
135718
- /* if (!($interfaceIsEqual(err$3, $ifaceNil))) { */ case 32:
135719
- _r$12 = c.sendAlert(42); /* */ $s = 34; case 34: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
135720
- _r$12;
135770
+ /* } */ case 35:
135771
+ /* } */ case 32:
135772
+ /* */ if (!(c.config.VerifyConnection === $throwNilPointerError)) { $s = 37; continue; }
135773
+ /* */ $s = 38; continue;
135774
+ /* if (!(c.config.VerifyConnection === $throwNilPointerError)) { */ case 37:
135775
+ _r$14 = c.config.VerifyConnection($clone(c.connectionStateLocked(), ConnectionState)); /* */ $s = 39; case 39: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
135776
+ err$3 = _r$14;
135777
+ /* */ if (!($interfaceIsEqual(err$3, $ifaceNil))) { $s = 40; continue; }
135778
+ /* */ $s = 41; continue;
135779
+ /* if (!($interfaceIsEqual(err$3, $ifaceNil))) { */ case 40:
135780
+ _r$15 = c.sendAlert(42); /* */ $s = 42; case 42: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
135781
+ _r$15;
135721
135782
  $s = -1; return err$3;
135722
- /* } */ case 33:
135723
- /* } */ case 30:
135783
+ /* } */ case 41:
135784
+ /* } */ case 38:
135724
135785
  $s = -1; return $ifaceNil;
135725
- /* */ } return; } var $f = {$blk: Conn.ptr.prototype.verifyServerCertificate, $c: true, $r, $24r, $24r$1, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, asn1Data, c, cert, cert$1, certificates, certs, err, err$1, err$2, err$3, i, opts, $s};return $f;
135786
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.verifyServerCertificate, $c: true, $r, $24r, $24r$1, $24r$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, _tuple$2, asn1Data, c, cert, cert$1, certificates, certs, err, err$1, err$2, err$3, i, max, n, ok, opts, $s};return $f;
135726
135787
  };
135727
135788
  Conn.prototype.verifyServerCertificate = function(certificates) { return this.$val.verifyServerCertificate(certificates); };
135728
135789
  certificateRequestInfoFromMsg = function(ctx, vers, certReq) {
@@ -139605,20 +139666,21 @@ $packages["crypto/tls"] = (function() {
139605
139666
  $r = fmt.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139606
139667
  $r = hash.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139607
139668
  $r = cpu.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139608
- $r = io.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139609
- $r = big.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139610
- $r = net.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139611
- $r = os.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139612
- $r = runtime.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139613
- $r = strconv.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139614
- $r = strings.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139615
- $r = sync.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139616
- $r = atomic.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139617
- $r = time.$init(); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139618
- $r = chacha20poly1305.$init(); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139619
- $r = cryptobyte.$init(); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139620
- $r = curve25519.$init(); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139621
- $r = hkdf.$init(); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139669
+ $r = godebug.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139670
+ $r = io.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139671
+ $r = big.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139672
+ $r = net.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139673
+ $r = os.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139674
+ $r = runtime.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139675
+ $r = strconv.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139676
+ $r = strings.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139677
+ $r = sync.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139678
+ $r = atomic.$init(); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139679
+ $r = time.$init(); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139680
+ $r = chacha20poly1305.$init(); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139681
+ $r = cryptobyte.$init(); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139682
+ $r = curve25519.$init(); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139683
+ $r = hkdf.$init(); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
139622
139684
  fipsSupportedSignatureAlgorithms = sliceType.nil;
139623
139685
  testingOnlyForceClientHelloSignatureAlgorithms = sliceType.nil;
139624
139686
  testingOnlyForceDowngradeCanary = false;
@@ -149876,7 +149938,7 @@ $packages["vendor/golang.org/x/net/http2/hpack"] = (function() {
149876
149938
  return $pkg;
149877
149939
  })();
149878
149940
  $packages["net/http"] = (function() {
149879
- var $pkg = {}, $init, bufio, bytes, gzip, list, context, rand$1, tls, base64, binary, errors, fmt, js$1, godebug, safefilepath, io, fs, log, math, rand, mime, multipart, net, httptrace, internal, ascii, textproto, url, os, path, filepath, reflect, runtime, sort, strconv, strings, sync, atomic, js, time, utf8, httpguts, httpproxy, hpack, idna, Transport, cancelKey, h2Transport, transportRequest, readTrackingBody, transportReadFromServerError, wantConn, wantConnQueue, erringRoundTripper, persistConnWriter, connectMethod, connectMethodKey, persistConn, readWriteCloserBody, nothingWrittenError, responseAndError, requestAndChan, writeRequest, httpError, tLogKey, bodyEOFSignal, gzipReader, tlsHandshakeTimeoutError, fakeLocker, connLRU, errorReader, byteReader, transferWriter, transferReader, unsupportedTEError, body, bodyLocked, finishAsyncByteRead, bufioFlushWriter, socksCommand, socksAuthMethod, socksReply, socksAddr, socksConn, socksDialer, socksUsernamePassword, sniffSig, exactSig, maskedSig, htmlSig, mp4Sig, textSig, Handler, ResponseWriter, conn, chunkWriter, response, atomicBool, writerOnly, readResult, connReader, expectContinueReader, extraHeader, closeWriter, statusError, HandlerFunc, redirectHandler, ServeMux, muxEntry, Server, ConnState, serverHandler, onceCloseListener, globalOptionsHandler, initALPNRequest, loggingConn, checkConnErrorWriter, streamReader, arrayReader, Response, ProtocolError, Request, requestBodyReadError, MaxBytesError, maxBytesReader, incomparable, contextKey, noBody, PushOptions, Header, stringWriter, keyValues, headerSorter, http2ClientConnPool, http2clientConnPoolIdleCloser, http2clientConnPool, http2dialCall, http2addConnCall, http2noDialClientConnPool, http2dataBuffer, http2ErrCode, http2ConnectionError, http2StreamError, http2goAwayFlowError, http2connError, http2pseudoHeaderError, http2duplicatePseudoHeaderError, http2headerFieldNameError, http2headerFieldValueError, http2flow, http2FrameType, http2Flags, http2FrameHeader, http2Frame, http2Framer, http2frameCache, http2DataFrame, http2SettingsFrame, http2PingFrame, http2GoAwayFrame, http2UnknownFrame, http2WindowUpdateFrame, http2HeadersFrame, http2HeadersFrameParam, http2PriorityFrame, http2PriorityParam, http2RSTStreamFrame, http2ContinuationFrame, http2PushPromiseFrame, http2PushPromiseParam, http2MetaHeadersFrame, http2goroutineLock, http2streamState, http2Setting, http2SettingID, http2gate, http2closeWaiter, http2bufferedWriter, http2httpError, http2connectionStater, http2sorter, http2incomparable, http2pipe, http2pipeBuffer, http2Server, http2serverInternalState, http2ServeConnOpts, http2serverConn, http2stream, http2readFrameResult, http2frameWriteResult, http2serverMessage, http2requestParam, http2bodyReadMsg, http2requestBody, http2responseWriter, http2responseWriterState, http2chunkWriter, http2startPushRequest, http2Transport, http2ClientConn, http2clientStream, http2stickyErrWriter, http2noCachedConnError, http2RoundTripOpt, http2ClientConnState, http2clientConnIdleState, http2clientConnReadLoop, http2GoAwayError, http2transportResponseBody, http2noBodyReader, http2missingBody, http2erringRoundTripper, http2gzipReader, http2noDialH2RoundTripper, http2writeFramer, http2writeContext, http2flushFrameWriter, http2writeSettings, http2writeGoAway, http2writeData, http2handlerPanicRST, http2writePingAck, http2writeSettingsAck, http2writeResHeaders, http2writePushPromise, http2write100ContinueHeadersFrame, http2writeWindowUpdate, http2WriteScheduler, http2OpenStreamOptions, http2FrameWriteRequest, http2writeQueue, http2writeQueuePool, http2PriorityWriteSchedulerConfig, http2priorityNodeState, http2priorityNode, http2sortPriorityNodeSiblings, http2priorityWriteScheduler, noTransport, XHRTransport, Cookie, SameSite, RoundTripper, requestTooLarger, baseContexter, I, ptrType, ptrType$1, sliceType, sliceType$1, ptrType$2, sliceType$2, sliceType$3, structType, sliceType$4, ptrType$4, sliceType$5, sliceType$6, ptrType$7, sliceType$7, funcType, arrayType, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, chanType, ptrType$14, ptrType$15, ptrType$16, mapType, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, sliceType$8, sliceType$9, ptrType$25, structType$1, ptrType$26, sliceType$10, sliceType$11, ptrType$27, ptrType$28, ptrType$29, ptrType$30, sliceType$12, ptrType$31, ptrType$32, ptrType$33, funcType$1, sliceType$13, ptrType$34, sliceType$14, arrayType$1, sliceType$15, sliceType$16, ptrType$35, arrayType$2, sliceType$17, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, ptrType$42, ptrType$43, ptrType$44, ptrType$45, ptrType$46, ptrType$47, structType$2, ptrType$48, ptrType$49, ptrType$50, ptrType$51, ptrType$52, ptrType$53, arrayType$3, arrayType$4, arrayType$5, sliceType$18, ptrType$54, ptrType$55, ptrType$56, ptrType$57, arrayType$6, ptrType$58, sliceType$19, ptrType$59, ptrType$60, ptrType$61, structType$3, ptrType$62, ptrType$63, ptrType$64, ptrType$65, ptrType$66, sliceType$20, ptrType$67, ptrType$68, sliceType$21, ptrType$69, ptrType$70, ptrType$71, ptrType$72, ptrType$73, arrayType$7, ptrType$74, ptrType$75, arrayType$8, sliceType$22, ptrType$76, ptrType$77, ptrType$78, ptrType$79, ptrType$80, ptrType$81, ptrType$82, ptrType$83, ptrType$84, ptrType$85, ptrType$86, ptrType$87, ptrType$88, ptrType$89, ptrType$90, funcType$2, ptrType$91, ptrType$92, ptrType$93, ptrType$94, ptrType$95, ptrType$96, ptrType$97, ptrType$98, ptrType$99, ptrType$100, ptrType$101, ptrType$102, interfaceType, ptrType$103, sliceType$23, ptrType$104, sliceType$24, ptrType$105, ptrType$106, sliceType$25, ptrType$107, ptrType$108, ptrType$109, funcType$3, sliceType$29, ptrType$112, ptrType$114, funcType$4, mapType$1, mapType$2, mapType$3, mapType$4, funcType$5, funcType$6, funcType$7, funcType$8, mapType$5, funcType$9, chanType$1, ptrType$115, ptrType$116, chanType$2, funcType$10, chanType$3, chanType$4, funcType$11, ptrType$117, chanType$5, chanType$6, chanType$7, ptrType$118, funcType$12, funcType$13, ptrType$119, ptrType$120, mapType$6, ptrType$121, chanType$8, ptrType$122, ptrType$123, funcType$14, ptrType$124, ptrType$125, ptrType$126, chanType$9, ptrType$127, chanType$10, ptrType$128, funcType$15, ptrType$129, mapType$7, funcType$16, mapType$8, funcType$17, funcType$18, funcType$19, mapType$9, mapType$10, ptrType$131, ptrType$132, ptrType$133, ptrType$134, ptrType$135, funcType$20, ptrType$136, ptrType$137, mapType$11, mapType$12, mapType$13, mapType$14, mapType$15, ptrType$138, funcType$21, ptrType$139, funcType$22, funcType$23, ptrType$140, ptrType$141, funcType$24, mapType$16, chanType$11, chanType$12, chanType$13, chanType$14, chanType$15, mapType$17, mapType$18, funcType$25, mapType$19, mapType$20, funcType$26, ptrType$142, ptrType$143, ptrType$144, funcType$27, ptrType$145, funcType$28, ptrType$146, mapType$21, ptrType$148, mapType$23, errCannotRewind, errKeepAlivesDisabled, errConnBroken, errCloseIdle, errTooManyIdle, errTooManyIdleHost, errCloseIdleConns, errReadLoopExiting, errIdleConnTimeout, errServerClosedIdle, zeroDialer, errCallerOwnsConn, errTimeout, errRequestCanceled, errRequestCanceledConn, testHookEnterRoundTrip, testHookWaitResLoop, testHookRoundTripRetried, testHookPrePendingDial, testHookPostPendingDial, testHookMu, testHookReadLoopBeforeNextRead, portMap, errReadOnClosedResBody, suppressedHeaders304, suppressedHeadersNoBody, excludedHeadersNoBody, singleCRLF, doubleCRLF, errTrailerEOF, nopCloserType, nopCloserWriterToType, socksnoDeadline, socksaLongTimeAgo, sniffSignatures, mp4ftype, mp4, crlf, colonSpace, bufioReaderPool, bufioWriter2kPool, bufioWriter2kPool$24ptr, bufioWriter4kPool, bufioWriter4kPool$24ptr, copyBufPool, errTooLarge, extraHeaderKeys, headerContentLength, headerDate, htmlReplacer, defaultServeMux, defaultServeMux$24ptr, stateName, silenceSemWarnContextKey, testHookServerServe, uniqNameMu, uniqNameNext, uint8Array, jsFetchMissing, errClosed, respExcludeHeader, reqWriteExcludeHeader, multipartByReader, errMissingHost, textprotoReaderPool, aLongTimeAgo, omitBundledHTTP2, headerNewlineToSpace, headerSorterPool, http2dataChunkSizeClasses, http2dataChunkPools, http2errReadEmpty, http2errCodeName, http2errFromPeer, http2errMixPseudoHeaderTypes, http2errPseudoAfterRegular, http2padZeros, http2frameName, http2flagName, http2frameParsers, http2fhBytes, http2ErrFrameTooLarge, http2errStreamID, http2errDepStreamID, http2errPadLength, http2errPadBytes, http2DebugGoroutines, http2goroutineSpace, http2littleBuf, http2commonBuildOnce, http2commonLowerHeader, http2commonCanonHeader, http2VerboseLogs, http2logFrameWrites, http2logFrameReads, http2inTests, http2clientPreface, http2stateName, http2settingName, http2bufWriterPool, http2errTimeout, http2sorterPool, http2errClosedPipeWrite, http2errClientDisconnected, http2errClosedBody, http2errHandlerComplete, http2errStreamClosed, http2responseWriterStatePool, http2testHookOnConn, http2testHookGetServerConn, http2testHookOnPanicMu, http2testHookOnPanic, http2settingsTimerMsg, http2idleTimerMsg, http2shutdownTimerMsg, http2gracefulShutdownMsg, http2errPrefaceTimeout, http2errChanPool, http2writeDataPool, http2errHandlerPanicked, http2goAwayTimeout, http2ErrRecursivePush, http2ErrPushLimitReached, http2connHeaders, http2got1xxFuncForTests, http2ErrNoCachedConn, http2errClientConnClosed, http2errClientConnUnusable, http2errClientConnGotGoAway, http2shutdownEnterWaitStateHook, http2errRequestCanceled, http2errStopReqBodyWrite, http2errStopReqBodyWriteAndCancel, http2errReqBodyTooLong, http2bufPool, http2errNilRequestURL, http2errClosedResponseBody, http2errResponseHeaderListSize, http2errRequestHeaderListSize, http2noBody, errSeeker, errNoOverlap, unixEpochTime, errMissingSeek, errMissingReadDir, cookieNameSanitizer, x, x$1, x$2, x$3, _r, x$5, x$6, setupRewindBody, rewindBody, is408Message, newReadWriteCloserBody, nop, canonicalAddr, cloneTLSConfig, newTransferWriter, noResponseBodyExpected, bodyAllowedForStatus, suppressedHeaders, readTransfer, chunked, isIdentity, isUnsupportedTEError, fixLength, shouldClose, fixTrailer, seeUpcomingDoubleCRLF, mergeSetHeader, parseContentLength, unwrapNopCloser, isKnownInMemoryReader, StatusText, sockssplitHostPort, socksNewDialer, DetectContentType, isWS, isTT, bufioWriterPool, newBufioReader, putBufioReader, newBufioWriterSize, putBufioWriter, appendTime, http1ServerSupportsRequest, checkWriteHeaderCode, relevantCaller, foreachHeaderElement, writeStatusLine, validNextProto, badRequestError, isCommonNetReadError, registerOnHitEOF, requestBodyRemains, Error, NotFound, NotFoundHandler, Redirect, htmlEscape, RedirectHandler, cleanPath, stripHostPort, appendSorted, newLoggingConn, numLeadingCRorLF, strSliceContains, tlsRecordHeaderLooksLikeHTTP, ReadResponse, fixPragmaCacheControl, isProtocolSwitchResponse, isProtocolSwitchHeader, badStringError, valueOrDefault, idnaASCII, cleanHost, removeZone, ParseHTTPVersion, validMethod, parseBasicAuth, parseRequestLine, newTextprotoReader, putTextprotoReader, readRequest, MaxBytesReader, copyValues, parsePostForm, requestMethodUsuallyLacksBody, hasPort, isNotToken, stringContainsCTLByte, hexEscapeNonASCII, CanonicalHeaderKey, hasToken, isTokenBoundary, http2asciiEqualFold, http2lower, http2isASCIIPrint, http2asciiToLower, http2isBadCipher, http2filterOutClientConn, http2shouldRetryDial, http2getDataBufferChunk, http2putDataBufferChunk, http2streamError, http2typeFrameParser, http2readFrameHeader, http2NewFramer, http2terminalReadFrameError, http2parseDataFrame, http2validStreamIDOrZero, http2validStreamID, http2parseSettingsFrame, http2parsePingFrame, http2parseGoAwayFrame, http2parseUnknownFrame, http2parseWindowUpdateFrame, http2parseHeadersFrame, http2parsePriorityFrame, http2parseRSTStreamFrame, http2parseContinuationFrame, http2parsePushPromise, http2readByte, http2readUint32, http2summarizeFrame, http2traceHasWroteHeaderField, http2traceWroteHeaderField, http2traceGot1xxResponseFunc, http2tlsUnderlyingConn, http2newGoroutineLock, http2curGoroutineID, http2parseUintBytes, http2cutoff64, http2buildCommonHeaderMapsOnce, http2buildCommonHeaderMaps, http2lowerHeader, init, http2validWireHeaderFieldName, http2httpCodeString, http2newBufferedWriter, http2mustUint31, http2bodyAllowedForStatus, http2validPseudoPath, http2ConfigureServer, http2serverConnBaseContext, http2errno, http2isClosedConnError, http2handleHeaderListTooLong, http2checkWriteHeaderCode, http2cloneHeader, http2foreachHeaderElement, http2checkValidHTTP2RequestHeaders, http2new400Handler, http2h1ServerKeepAlivesDisabled, http2configureTransports, http2isNoCachedConnError, http2authorityAddr, http2shouldRetryRequest, http2canRetryError, http2commaSeparatedTrailers, http2checkConnHeaders, http2actualContentLength, http2shouldSendReqContentLength, http2isEOFOrNetReadError, http2strSliceContains, http2isConnectionCloseRequest, http2registerHTTPSProtocol, http2traceGetConn, http2traceGotConn, http2traceWroteHeaders, http2traceGot100Continue, http2traceWait100Continue, http2traceWroteRequest, http2traceFirstResponseByte, http2writeEndsStream, http2splitHeaderBlock, http2encKV, http2encodeHeaders, http2NewPriorityWriteScheduler, readSetCookies, readCookies, validCookieDomain, validCookieExpires, isCookieDomainName, sanitizeCookieName, sanitizeCookieValue, validCookieValueByte, sanitizeCookiePath, validCookiePathByte, sanitizeOrWarn, parseCookieValue, isCookieNameValid, cloneURLValues, cloneURL, cloneMultipartForm, cloneMultipartFileHeader, basicAuth;
149941
+ var $pkg = {}, $init, bufio, bytes, gzip, list, context, rand$1, tls, base64, binary, errors, fmt, js$1, godebug, safefilepath, io, fs, log, math, rand, mime, multipart, net, httptrace, internal, ascii, textproto, url, os, path, filepath, reflect, runtime, sort, strconv, strings, sync, atomic, js, time, utf8, httpguts, httpproxy, hpack, idna, Transport, cancelKey, h2Transport, transportRequest, readTrackingBody, transportReadFromServerError, wantConn, wantConnQueue, erringRoundTripper, persistConnWriter, connectMethod, connectMethodKey, persistConn, readWriteCloserBody, nothingWrittenError, responseAndError, requestAndChan, writeRequest, httpError, tLogKey, bodyEOFSignal, gzipReader, tlsHandshakeTimeoutError, fakeLocker, connLRU, errorReader, byteReader, transferWriter, transferReader, unsupportedTEError, body, bodyLocked, finishAsyncByteRead, bufioFlushWriter, socksCommand, socksAuthMethod, socksReply, socksAddr, socksConn, socksDialer, socksUsernamePassword, sniffSig, exactSig, maskedSig, htmlSig, mp4Sig, textSig, Handler, ResponseWriter, conn, chunkWriter, response, atomicBool, writerOnly, readResult, connReader, expectContinueReader, extraHeader, closeWriter, statusError, HandlerFunc, redirectHandler, ServeMux, muxEntry, Server, ConnState, serverHandler, onceCloseListener, globalOptionsHandler, initALPNRequest, loggingConn, checkConnErrorWriter, streamReader, arrayReader, Response, ProtocolError, Request, requestBodyReadError, MaxBytesError, maxBytesReader, incomparable, contextKey, noBody, PushOptions, Header, stringWriter, keyValues, headerSorter, http2ClientConnPool, http2clientConnPoolIdleCloser, http2clientConnPool, http2dialCall, http2addConnCall, http2noDialClientConnPool, http2dataBuffer, http2ErrCode, http2ConnectionError, http2StreamError, http2goAwayFlowError, http2connError, http2pseudoHeaderError, http2duplicatePseudoHeaderError, http2headerFieldNameError, http2headerFieldValueError, http2flow, http2FrameType, http2Flags, http2FrameHeader, http2Frame, http2Framer, http2frameCache, http2DataFrame, http2SettingsFrame, http2PingFrame, http2GoAwayFrame, http2UnknownFrame, http2WindowUpdateFrame, http2HeadersFrame, http2HeadersFrameParam, http2PriorityFrame, http2PriorityParam, http2RSTStreamFrame, http2ContinuationFrame, http2PushPromiseFrame, http2PushPromiseParam, http2MetaHeadersFrame, http2goroutineLock, http2streamState, http2Setting, http2SettingID, http2gate, http2closeWaiter, http2bufferedWriter, http2httpError, http2connectionStater, http2sorter, http2incomparable, http2pipe, http2pipeBuffer, http2Server, http2serverInternalState, http2ServeConnOpts, http2serverConn, http2stream, http2readFrameResult, http2frameWriteResult, http2serverMessage, http2requestParam, http2bodyReadMsg, http2requestBody, http2responseWriter, http2responseWriterState, http2chunkWriter, http2startPushRequest, http2Transport, http2ClientConn, http2clientStream, http2stickyErrWriter, http2noCachedConnError, http2RoundTripOpt, http2ClientConnState, http2clientConnIdleState, http2clientConnReadLoop, http2GoAwayError, http2transportResponseBody, http2noBodyReader, http2missingBody, http2erringRoundTripper, http2gzipReader, http2noDialH2RoundTripper, http2writeFramer, http2writeContext, http2flushFrameWriter, http2writeSettings, http2writeGoAway, http2writeData, http2handlerPanicRST, http2writePingAck, http2writeSettingsAck, http2writeResHeaders, http2writePushPromise, http2write100ContinueHeadersFrame, http2writeWindowUpdate, http2WriteScheduler, http2OpenStreamOptions, http2FrameWriteRequest, http2writeQueue, http2writeQueuePool, http2PriorityWriteSchedulerConfig, http2priorityNodeState, http2priorityNode, http2sortPriorityNodeSiblings, http2priorityWriteScheduler, noTransport, XHRTransport, Cookie, SameSite, RoundTripper, requestTooLarger, baseContexter, I, ptrType, ptrType$1, sliceType, sliceType$1, ptrType$2, sliceType$2, sliceType$3, structType, sliceType$4, ptrType$4, sliceType$5, sliceType$6, ptrType$7, sliceType$7, funcType, arrayType, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, chanType, ptrType$14, ptrType$15, ptrType$16, mapType, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, sliceType$8, sliceType$9, ptrType$25, structType$1, ptrType$26, sliceType$10, sliceType$11, ptrType$27, ptrType$28, ptrType$29, ptrType$30, sliceType$12, ptrType$31, ptrType$32, ptrType$33, funcType$1, sliceType$13, ptrType$34, sliceType$14, arrayType$1, sliceType$15, sliceType$16, ptrType$35, arrayType$2, sliceType$17, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, ptrType$42, ptrType$43, ptrType$44, ptrType$45, ptrType$46, ptrType$47, structType$2, ptrType$48, ptrType$49, ptrType$50, ptrType$51, ptrType$52, ptrType$53, arrayType$3, arrayType$4, arrayType$5, sliceType$18, ptrType$54, ptrType$55, ptrType$56, ptrType$57, arrayType$6, ptrType$58, sliceType$19, ptrType$59, ptrType$60, ptrType$61, structType$3, ptrType$62, ptrType$63, ptrType$64, ptrType$65, ptrType$66, sliceType$20, ptrType$67, ptrType$68, sliceType$21, ptrType$69, ptrType$70, ptrType$71, ptrType$72, ptrType$73, arrayType$7, ptrType$74, ptrType$75, arrayType$8, sliceType$22, ptrType$76, ptrType$77, ptrType$78, ptrType$79, ptrType$80, ptrType$81, ptrType$82, ptrType$83, ptrType$84, ptrType$85, ptrType$86, ptrType$87, ptrType$88, ptrType$89, ptrType$90, funcType$2, ptrType$91, ptrType$92, ptrType$93, ptrType$94, ptrType$95, ptrType$96, ptrType$97, ptrType$98, ptrType$99, ptrType$100, ptrType$101, ptrType$102, interfaceType, ptrType$103, sliceType$23, ptrType$104, sliceType$24, ptrType$105, ptrType$106, sliceType$25, ptrType$107, ptrType$108, ptrType$109, funcType$3, sliceType$29, ptrType$112, ptrType$114, funcType$4, mapType$1, mapType$2, mapType$3, mapType$4, funcType$5, funcType$6, funcType$7, funcType$8, mapType$5, funcType$9, chanType$1, ptrType$115, ptrType$116, chanType$2, funcType$10, chanType$3, chanType$4, funcType$11, ptrType$117, chanType$5, chanType$6, chanType$7, ptrType$118, funcType$12, funcType$13, ptrType$119, ptrType$120, mapType$6, ptrType$121, chanType$8, ptrType$122, ptrType$123, funcType$14, ptrType$124, ptrType$125, ptrType$126, chanType$9, ptrType$127, chanType$10, ptrType$128, funcType$15, ptrType$129, mapType$7, funcType$16, mapType$8, funcType$17, funcType$18, funcType$19, mapType$9, mapType$10, ptrType$131, ptrType$132, ptrType$133, ptrType$134, ptrType$135, funcType$20, ptrType$136, ptrType$137, mapType$11, mapType$12, mapType$13, mapType$14, mapType$15, ptrType$138, funcType$21, ptrType$139, funcType$22, funcType$23, ptrType$140, ptrType$141, funcType$24, mapType$16, chanType$11, chanType$12, chanType$13, chanType$14, chanType$15, mapType$17, mapType$18, funcType$25, mapType$19, mapType$20, funcType$26, ptrType$142, ptrType$143, ptrType$144, funcType$27, ptrType$145, funcType$28, ptrType$146, mapType$21, ptrType$148, mapType$23, errCannotRewind, errKeepAlivesDisabled, errConnBroken, errCloseIdle, errTooManyIdle, errTooManyIdleHost, errCloseIdleConns, errReadLoopExiting, errIdleConnTimeout, errServerClosedIdle, zeroDialer, errCallerOwnsConn, errTimeout, errRequestCanceled, errRequestCanceledConn, testHookEnterRoundTrip, testHookWaitResLoop, testHookRoundTripRetried, testHookPrePendingDial, testHookPostPendingDial, testHookMu, testHookReadLoopBeforeNextRead, portMap, errReadOnClosedResBody, suppressedHeaders304, suppressedHeadersNoBody, excludedHeadersNoBody, singleCRLF, doubleCRLF, errTrailerEOF, nopCloserType, nopCloserWriterToType, socksnoDeadline, socksaLongTimeAgo, sniffSignatures, mp4ftype, mp4, crlf, colonSpace, bufioReaderPool, bufioWriter2kPool, bufioWriter2kPool$24ptr, bufioWriter4kPool, bufioWriter4kPool$24ptr, copyBufPool, errTooLarge, extraHeaderKeys, headerContentLength, headerDate, htmlReplacer, defaultServeMux, defaultServeMux$24ptr, stateName, silenceSemWarnContextKey, testHookServerServe, uniqNameMu, uniqNameNext, uint8Array, jsFetchMissing, errClosed, respExcludeHeader, reqWriteExcludeHeader, multipartByReader, errMissingHost, textprotoReaderPool, aLongTimeAgo, omitBundledHTTP2, headerNewlineToSpace, headerSorterPool, http2dataChunkSizeClasses, http2dataChunkPools, http2errReadEmpty, http2errCodeName, http2errFromPeer, http2errMixPseudoHeaderTypes, http2errPseudoAfterRegular, http2padZeros, http2frameName, http2flagName, http2frameParsers, http2fhBytes, http2ErrFrameTooLarge, http2errStreamID, http2errDepStreamID, http2errPadLength, http2errPadBytes, http2DebugGoroutines, http2goroutineSpace, http2littleBuf, http2commonBuildOnce, http2commonLowerHeader, http2commonCanonHeader, http2VerboseLogs, http2logFrameWrites, http2logFrameReads, http2inTests, http2clientPreface, http2stateName, http2settingName, http2bufWriterPool, http2errTimeout, http2sorterPool, http2errClosedPipeWrite, http2errClientDisconnected, http2errClosedBody, http2errHandlerComplete, http2errStreamClosed, http2responseWriterStatePool, http2testHookOnConn, http2testHookGetServerConn, http2testHookOnPanicMu, http2testHookOnPanic, http2settingsTimerMsg, http2idleTimerMsg, http2shutdownTimerMsg, http2gracefulShutdownMsg, http2errPrefaceTimeout, http2errChanPool, http2writeDataPool, http2errHandlerPanicked, http2goAwayTimeout, http2ErrRecursivePush, http2ErrPushLimitReached, http2connHeaders, http2got1xxFuncForTests, http2ErrNoCachedConn, http2errClientConnClosed, http2errClientConnUnusable, http2errClientConnGotGoAway, http2shutdownEnterWaitStateHook, http2errRequestCanceled, http2errStopReqBodyWrite, http2errStopReqBodyWriteAndCancel, http2errReqBodyTooLong, http2bufPool, http2errNilRequestURL, http2errClosedResponseBody, http2errResponseHeaderListSize, http2errRequestHeaderListSize, http2noBody, errSeeker, errNoOverlap, unixEpochTime, errMissingSeek, errMissingReadDir, cookieNameSanitizer, x, x$1, x$2, x$3, _r, x$5, x$6, setupRewindBody, rewindBody, is408Message, newReadWriteCloserBody, nop, canonicalAddr, cloneTLSConfig, newTransferWriter, noResponseBodyExpected, bodyAllowedForStatus, suppressedHeaders, readTransfer, chunked, isIdentity, isUnsupportedTEError, fixLength, shouldClose, fixTrailer, seeUpcomingDoubleCRLF, mergeSetHeader, parseContentLength, unwrapNopCloser, isKnownInMemoryReader, StatusText, sockssplitHostPort, socksNewDialer, DetectContentType, isWS, isTT, bufioWriterPool, newBufioReader, putBufioReader, newBufioWriterSize, putBufioWriter, appendTime, http1ServerSupportsRequest, checkWriteHeaderCode, relevantCaller, foreachHeaderElement, writeStatusLine, validNextProto, badRequestError, isCommonNetReadError, registerOnHitEOF, requestBodyRemains, Error, NotFound, NotFoundHandler, Redirect, htmlEscape, RedirectHandler, cleanPath, stripHostPort, appendSorted, newLoggingConn, numLeadingCRorLF, strSliceContains, tlsRecordHeaderLooksLikeHTTP, ReadResponse, fixPragmaCacheControl, isProtocolSwitchResponse, isProtocolSwitchHeader, badStringError, valueOrDefault, idnaASCII, removeZone, ParseHTTPVersion, validMethod, parseBasicAuth, parseRequestLine, newTextprotoReader, putTextprotoReader, readRequest, MaxBytesReader, copyValues, parsePostForm, requestMethodUsuallyLacksBody, hasPort, isNotToken, stringContainsCTLByte, hexEscapeNonASCII, CanonicalHeaderKey, hasToken, isTokenBoundary, http2asciiEqualFold, http2lower, http2isASCIIPrint, http2asciiToLower, http2isBadCipher, http2filterOutClientConn, http2shouldRetryDial, http2getDataBufferChunk, http2putDataBufferChunk, http2streamError, http2typeFrameParser, http2readFrameHeader, http2NewFramer, http2terminalReadFrameError, http2parseDataFrame, http2validStreamIDOrZero, http2validStreamID, http2parseSettingsFrame, http2parsePingFrame, http2parseGoAwayFrame, http2parseUnknownFrame, http2parseWindowUpdateFrame, http2parseHeadersFrame, http2parsePriorityFrame, http2parseRSTStreamFrame, http2parseContinuationFrame, http2parsePushPromise, http2readByte, http2readUint32, http2summarizeFrame, http2traceHasWroteHeaderField, http2traceWroteHeaderField, http2traceGot1xxResponseFunc, http2tlsUnderlyingConn, http2newGoroutineLock, http2curGoroutineID, http2parseUintBytes, http2cutoff64, http2buildCommonHeaderMapsOnce, http2buildCommonHeaderMaps, http2lowerHeader, init, http2validWireHeaderFieldName, http2httpCodeString, http2newBufferedWriter, http2mustUint31, http2bodyAllowedForStatus, http2validPseudoPath, http2ConfigureServer, http2serverConnBaseContext, http2errno, http2isClosedConnError, http2handleHeaderListTooLong, http2checkWriteHeaderCode, http2cloneHeader, http2foreachHeaderElement, http2checkValidHTTP2RequestHeaders, http2new400Handler, http2h1ServerKeepAlivesDisabled, http2configureTransports, http2isNoCachedConnError, http2authorityAddr, http2shouldRetryRequest, http2canRetryError, http2commaSeparatedTrailers, http2checkConnHeaders, http2actualContentLength, http2shouldSendReqContentLength, http2isEOFOrNetReadError, http2strSliceContains, http2isConnectionCloseRequest, http2registerHTTPSProtocol, http2traceGetConn, http2traceGotConn, http2traceWroteHeaders, http2traceGot100Continue, http2traceWait100Continue, http2traceWroteRequest, http2traceFirstResponseByte, http2writeEndsStream, http2splitHeaderBlock, http2encKV, http2encodeHeaders, http2NewPriorityWriteScheduler, readSetCookies, readCookies, validCookieDomain, validCookieExpires, isCookieDomainName, sanitizeCookieName, sanitizeCookieValue, validCookieValueByte, sanitizeCookiePath, validCookiePathByte, sanitizeOrWarn, parseCookieValue, isCookieNameValid, cloneURLValues, cloneURL, cloneMultipartForm, cloneMultipartFileHeader, basicAuth;
149880
149942
  bufio = $packages["bufio"];
149881
149943
  bytes = $packages["bytes"];
149882
149944
  gzip = $packages["compress/gzip"];
@@ -162519,7 +162581,7 @@ $packages["net/http"] = (function() {
162519
162581
  };
162520
162582
  Request.prototype.WriteProxy = function(w) { return this.$val.WriteProxy(w); };
162521
162583
  Request.ptr.prototype.write = function(w, usingProxy, extraHeaders, waitForContinue) {
162522
- var {$24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, bw, bw$1, bw$2, closed, err, err$1, extraHeaders, host, ok, ok$1, ok$2, r, ruri, trace, tw, userAgent, usingProxy, w, waitForContinue, x$7, $s, $deferred, $r, $c} = $restore(this, {w, usingProxy, extraHeaders, waitForContinue});
162584
+ var {$24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$16, $24r$17, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, bw, bw$1, bw$2, closed, err, err$1, extraHeaders, host, ok, ok$1, ok$2, r, ruri, trace, tw, userAgent, usingProxy, w, waitForContinue, x$7, $s, $deferred, $r, $c} = $restore(this, {w, usingProxy, extraHeaders, waitForContinue});
162523
162585
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
162524
162586
  closed = [closed];
162525
162587
  err = [err];
@@ -162555,21 +162617,44 @@ $packages["net/http"] = (function() {
162555
162617
  $s = -1; return;
162556
162618
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, closeErr, $s};return $f;
162557
162619
  }; })(closed, err, r, trace), []]);
162558
- _r$2 = cleanHost(r[0].Host); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
162559
- host = _r$2;
162560
- /* */ if (host === "") { $s = 5; continue; }
162561
- /* */ $s = 6; continue;
162562
- /* if (host === "") { */ case 5:
162563
- /* */ if (r[0].URL === ptrType$17.nil) { $s = 7; continue; }
162564
- /* */ $s = 8; continue;
162565
- /* if (r[0].URL === ptrType$17.nil) { */ case 7:
162620
+ host = r[0].Host;
162621
+ /* */ if (host === "") { $s = 4; continue; }
162622
+ /* */ $s = 5; continue;
162623
+ /* if (host === "") { */ case 4:
162624
+ /* */ if (r[0].URL === ptrType$17.nil) { $s = 6; continue; }
162625
+ /* */ $s = 7; continue;
162626
+ /* if (r[0].URL === ptrType$17.nil) { */ case 6:
162566
162627
  err[0] = errMissingHost;
162567
162628
  $24r = err[0];
162568
- $s = 9; case 9: return $24r;
162569
- /* } */ case 8:
162570
- _r$3 = cleanHost(r[0].URL.Host); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
162571
- host = _r$3;
162572
- /* } */ case 6:
162629
+ $s = 8; case 8: return $24r;
162630
+ /* } */ case 7:
162631
+ host = r[0].URL.Host;
162632
+ /* } */ case 5:
162633
+ _r$2 = httpguts.PunycodeHostPort(host); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
162634
+ _tuple = _r$2;
162635
+ host = _tuple[0];
162636
+ err[0] = _tuple[1];
162637
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 10; continue; }
162638
+ /* */ $s = 11; continue;
162639
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 10:
162640
+ err[0] = err[0];
162641
+ $24r$1 = err[0];
162642
+ $s = 12; case 12: return $24r$1;
162643
+ /* } */ case 11:
162644
+ /* */ if (!httpguts.ValidHostHeader(host)) { $s = 13; continue; }
162645
+ /* */ $s = 14; continue;
162646
+ /* if (!httpguts.ValidHostHeader(host)) { */ case 13:
162647
+ /* */ if (!usingProxy) { $s = 15; continue; }
162648
+ /* */ $s = 16; continue;
162649
+ /* if (!usingProxy) { */ case 15:
162650
+ host = "";
162651
+ $s = 17; continue;
162652
+ /* } else { */ case 16:
162653
+ err[0] = errors.New("http: invalid Host header");
162654
+ $24r$2 = err[0];
162655
+ $s = 18; case 18: return $24r$2;
162656
+ /* } */ case 17:
162657
+ /* } */ case 14:
162573
162658
  host = removeZone(host);
162574
162659
  ruri = r[0].URL.RequestURI();
162575
162660
  if (usingProxy && !(r[0].URL.Scheme === "") && r[0].URL.Opaque === "") {
@@ -162580,93 +162665,75 @@ $packages["net/http"] = (function() {
162580
162665
  ruri = r[0].URL.Opaque;
162581
162666
  }
162582
162667
  }
162583
- /* */ if (stringContainsCTLByte(ruri)) { $s = 11; continue; }
162584
- /* */ $s = 12; continue;
162585
- /* if (stringContainsCTLByte(ruri)) { */ case 11:
162668
+ /* */ if (stringContainsCTLByte(ruri)) { $s = 19; continue; }
162669
+ /* */ $s = 20; continue;
162670
+ /* if (stringContainsCTLByte(ruri)) { */ case 19:
162586
162671
  err[0] = errors.New("net/http: can't write control character in Request.URL");
162587
- $24r$1 = err[0];
162588
- $s = 13; case 13: return $24r$1;
162589
- /* } */ case 12:
162672
+ $24r$3 = err[0];
162673
+ $s = 21; case 21: return $24r$3;
162674
+ /* } */ case 20:
162590
162675
  bw = ptrType$12.nil;
162591
- _tuple = $assertType(w, io.ByteWriter, true);
162592
- ok = _tuple[1];
162676
+ _tuple$1 = $assertType(w, io.ByteWriter, true);
162677
+ ok = _tuple$1[1];
162593
162678
  if (!ok) {
162594
162679
  bw = bufio.NewWriter(w);
162595
162680
  w = bw;
162596
162681
  }
162597
- _r$4 = fmt.Fprintf(w, "%s %s HTTP/1.1\r\n", new sliceType([new $String(valueOrDefault(r[0].Method, "GET")), new $String(ruri)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
162598
- _tuple$1 = _r$4;
162599
- err[0] = _tuple$1[1];
162600
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 15; continue; }
162601
- /* */ $s = 16; continue;
162602
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 15:
162603
- err[0] = err[0];
162604
- $24r$2 = err[0];
162605
- $s = 17; case 17: return $24r$2;
162606
- /* } */ case 16:
162607
- _r$5 = fmt.Fprintf(w, "Host: %s\r\n", new sliceType([new $String(host)])); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
162608
- _tuple$2 = _r$5;
162682
+ _r$3 = fmt.Fprintf(w, "%s %s HTTP/1.1\r\n", new sliceType([new $String(valueOrDefault(r[0].Method, "GET")), new $String(ruri)])); /* */ $s = 22; case 22: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
162683
+ _tuple$2 = _r$3;
162609
162684
  err[0] = _tuple$2[1];
162610
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 19; continue; }
162611
- /* */ $s = 20; continue;
162612
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 19:
162685
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 23; continue; }
162686
+ /* */ $s = 24; continue;
162687
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 23:
162613
162688
  err[0] = err[0];
162614
- $24r$3 = err[0];
162615
- $s = 21; case 21: return $24r$3;
162616
- /* } */ case 20:
162617
- /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { $s = 22; continue; }
162618
- /* */ $s = 23; continue;
162619
- /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { */ case 22:
162620
- $r = trace[0].WroteHeaderField("Host", new sliceType$2([host])); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162621
- /* } */ case 23:
162622
- userAgent = "Go-http-client/1.1";
162623
- /* */ if (new Header(r[0].Header).has("User-Agent")) { $s = 25; continue; }
162624
- /* */ $s = 26; continue;
162625
- /* if (new Header(r[0].Header).has("User-Agent")) { */ case 25:
162626
- _r$6 = new Header(r[0].Header).Get("User-Agent"); /* */ $s = 27; case 27: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
162627
- userAgent = _r$6;
162628
- /* } */ case 26:
162629
- /* */ if (!(userAgent === "")) { $s = 28; continue; }
162630
- /* */ $s = 29; continue;
162631
- /* if (!(userAgent === "")) { */ case 28:
162632
- _r$7 = fmt.Fprintf(w, "User-Agent: %s\r\n", new sliceType([new $String(userAgent)])); /* */ $s = 30; case 30: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
162633
- _tuple$3 = _r$7;
162634
- err[0] = _tuple$3[1];
162635
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 31; continue; }
162636
- /* */ $s = 32; continue;
162637
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 31:
162638
- err[0] = err[0];
162639
- $24r$4 = err[0];
162640
- $s = 33; case 33: return $24r$4;
162641
- /* } */ case 32:
162642
- /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { $s = 34; continue; }
162643
- /* */ $s = 35; continue;
162644
- /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { */ case 34:
162645
- $r = trace[0].WroteHeaderField("User-Agent", new sliceType$2([userAgent])); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162646
- /* } */ case 35:
162647
- /* } */ case 29:
162648
- _r$8 = newTransferWriter(r[0]); /* */ $s = 37; case 37: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
162649
- _tuple$4 = _r$8;
162650
- tw = _tuple$4[0];
162651
- err[0] = _tuple$4[1];
162652
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 38; continue; }
162653
- /* */ $s = 39; continue;
162654
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 38:
162689
+ $24r$4 = err[0];
162690
+ $s = 25; case 25: return $24r$4;
162691
+ /* } */ case 24:
162692
+ _r$4 = fmt.Fprintf(w, "Host: %s\r\n", new sliceType([new $String(host)])); /* */ $s = 26; case 26: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
162693
+ _tuple$3 = _r$4;
162694
+ err[0] = _tuple$3[1];
162695
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 27; continue; }
162696
+ /* */ $s = 28; continue;
162697
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 27:
162655
162698
  err[0] = err[0];
162656
162699
  $24r$5 = err[0];
162657
- $s = 40; case 40: return $24r$5;
162658
- /* } */ case 39:
162659
- _r$9 = tw.writeHeader(w, trace[0]); /* */ $s = 41; case 41: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
162660
- err[0] = _r$9;
162661
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 42; continue; }
162662
- /* */ $s = 43; continue;
162663
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 42:
162664
- err[0] = err[0];
162665
- $24r$6 = err[0];
162666
- $s = 44; case 44: return $24r$6;
162667
- /* } */ case 43:
162668
- _r$10 = new Header(r[0].Header).writeSubset(w, reqWriteExcludeHeader, trace[0]); /* */ $s = 45; case 45: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
162669
- err[0] = _r$10;
162700
+ $s = 29; case 29: return $24r$5;
162701
+ /* } */ case 28:
162702
+ /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { $s = 30; continue; }
162703
+ /* */ $s = 31; continue;
162704
+ /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { */ case 30:
162705
+ $r = trace[0].WroteHeaderField("Host", new sliceType$2([host])); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162706
+ /* } */ case 31:
162707
+ userAgent = "Go-http-client/1.1";
162708
+ /* */ if (new Header(r[0].Header).has("User-Agent")) { $s = 33; continue; }
162709
+ /* */ $s = 34; continue;
162710
+ /* if (new Header(r[0].Header).has("User-Agent")) { */ case 33:
162711
+ _r$5 = new Header(r[0].Header).Get("User-Agent"); /* */ $s = 35; case 35: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
162712
+ userAgent = _r$5;
162713
+ /* } */ case 34:
162714
+ /* */ if (!(userAgent === "")) { $s = 36; continue; }
162715
+ /* */ $s = 37; continue;
162716
+ /* if (!(userAgent === "")) { */ case 36:
162717
+ _r$6 = fmt.Fprintf(w, "User-Agent: %s\r\n", new sliceType([new $String(userAgent)])); /* */ $s = 38; case 38: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
162718
+ _tuple$4 = _r$6;
162719
+ err[0] = _tuple$4[1];
162720
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 39; continue; }
162721
+ /* */ $s = 40; continue;
162722
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 39:
162723
+ err[0] = err[0];
162724
+ $24r$6 = err[0];
162725
+ $s = 41; case 41: return $24r$6;
162726
+ /* } */ case 40:
162727
+ /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { $s = 42; continue; }
162728
+ /* */ $s = 43; continue;
162729
+ /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { */ case 42:
162730
+ $r = trace[0].WroteHeaderField("User-Agent", new sliceType$2([userAgent])); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162731
+ /* } */ case 43:
162732
+ /* } */ case 37:
162733
+ _r$7 = newTransferWriter(r[0]); /* */ $s = 45; case 45: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
162734
+ _tuple$5 = _r$7;
162735
+ tw = _tuple$5[0];
162736
+ err[0] = _tuple$5[1];
162670
162737
  /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 46; continue; }
162671
162738
  /* */ $s = 47; continue;
162672
162739
  /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 46:
@@ -162674,111 +162741,129 @@ $packages["net/http"] = (function() {
162674
162741
  $24r$7 = err[0];
162675
162742
  $s = 48; case 48: return $24r$7;
162676
162743
  /* } */ case 47:
162677
- /* */ if (!(extraHeaders === false)) { $s = 49; continue; }
162678
- /* */ $s = 50; continue;
162679
- /* if (!(extraHeaders === false)) { */ case 49:
162680
- _r$11 = new Header(extraHeaders).write(w, trace[0]); /* */ $s = 51; case 51: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
162681
- err[0] = _r$11;
162682
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 52; continue; }
162683
- /* */ $s = 53; continue;
162684
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 52:
162685
- err[0] = err[0];
162686
- $24r$8 = err[0];
162687
- $s = 54; case 54: return $24r$8;
162688
- /* } */ case 53:
162689
- /* } */ case 50:
162690
- _r$12 = io.WriteString(w, "\r\n"); /* */ $s = 55; case 55: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
162691
- _tuple$5 = _r$12;
162692
- err[0] = _tuple$5[1];
162693
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 56; continue; }
162694
- /* */ $s = 57; continue;
162695
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 56:
162744
+ _r$8 = tw.writeHeader(w, trace[0]); /* */ $s = 49; case 49: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
162745
+ err[0] = _r$8;
162746
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 50; continue; }
162747
+ /* */ $s = 51; continue;
162748
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 50:
162749
+ err[0] = err[0];
162750
+ $24r$8 = err[0];
162751
+ $s = 52; case 52: return $24r$8;
162752
+ /* } */ case 51:
162753
+ _r$9 = new Header(r[0].Header).writeSubset(w, reqWriteExcludeHeader, trace[0]); /* */ $s = 53; case 53: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
162754
+ err[0] = _r$9;
162755
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 54; continue; }
162756
+ /* */ $s = 55; continue;
162757
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 54:
162696
162758
  err[0] = err[0];
162697
162759
  $24r$9 = err[0];
162698
- $s = 58; case 58: return $24r$9;
162699
- /* } */ case 57:
162700
- /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaders === $throwNilPointerError)) { $s = 59; continue; }
162701
- /* */ $s = 60; continue;
162702
- /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaders === $throwNilPointerError)) { */ case 59:
162703
- $r = trace[0].WroteHeaders(); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162704
- /* } */ case 60:
162705
- /* */ if (!(waitForContinue === $throwNilPointerError)) { $s = 62; continue; }
162706
- /* */ $s = 63; continue;
162707
- /* if (!(waitForContinue === $throwNilPointerError)) { */ case 62:
162708
- _tuple$6 = $assertType(w, ptrType$12, true);
162709
- bw$1 = _tuple$6[0];
162710
- ok$1 = _tuple$6[1];
162711
- /* */ if (ok$1) { $s = 64; continue; }
162712
- /* */ $s = 65; continue;
162713
- /* if (ok$1) { */ case 64:
162714
- _r$13 = bw$1.Flush(); /* */ $s = 66; case 66: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
162715
- err[0] = _r$13;
162716
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 67; continue; }
162717
- /* */ $s = 68; continue;
162718
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 67:
162760
+ $s = 56; case 56: return $24r$9;
162761
+ /* } */ case 55:
162762
+ /* */ if (!(extraHeaders === false)) { $s = 57; continue; }
162763
+ /* */ $s = 58; continue;
162764
+ /* if (!(extraHeaders === false)) { */ case 57:
162765
+ _r$10 = new Header(extraHeaders).write(w, trace[0]); /* */ $s = 59; case 59: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
162766
+ err[0] = _r$10;
162767
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 60; continue; }
162768
+ /* */ $s = 61; continue;
162769
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 60:
162770
+ err[0] = err[0];
162771
+ $24r$10 = err[0];
162772
+ $s = 62; case 62: return $24r$10;
162773
+ /* } */ case 61:
162774
+ /* } */ case 58:
162775
+ _r$11 = io.WriteString(w, "\r\n"); /* */ $s = 63; case 63: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
162776
+ _tuple$6 = _r$11;
162777
+ err[0] = _tuple$6[1];
162778
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 64; continue; }
162779
+ /* */ $s = 65; continue;
162780
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 64:
162781
+ err[0] = err[0];
162782
+ $24r$11 = err[0];
162783
+ $s = 66; case 66: return $24r$11;
162784
+ /* } */ case 65:
162785
+ /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaders === $throwNilPointerError)) { $s = 67; continue; }
162786
+ /* */ $s = 68; continue;
162787
+ /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaders === $throwNilPointerError)) { */ case 67:
162788
+ $r = trace[0].WroteHeaders(); /* */ $s = 69; case 69: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162789
+ /* } */ case 68:
162790
+ /* */ if (!(waitForContinue === $throwNilPointerError)) { $s = 70; continue; }
162791
+ /* */ $s = 71; continue;
162792
+ /* if (!(waitForContinue === $throwNilPointerError)) { */ case 70:
162793
+ _tuple$7 = $assertType(w, ptrType$12, true);
162794
+ bw$1 = _tuple$7[0];
162795
+ ok$1 = _tuple$7[1];
162796
+ /* */ if (ok$1) { $s = 72; continue; }
162797
+ /* */ $s = 73; continue;
162798
+ /* if (ok$1) { */ case 72:
162799
+ _r$12 = bw$1.Flush(); /* */ $s = 74; case 74: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
162800
+ err[0] = _r$12;
162801
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 75; continue; }
162802
+ /* */ $s = 76; continue;
162803
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 75:
162719
162804
  err[0] = err[0];
162720
- $24r$10 = err[0];
162721
- $s = 69; case 69: return $24r$10;
162722
- /* } */ case 68:
162723
- /* } */ case 65:
162724
- /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].Wait100Continue === $throwNilPointerError)) { $s = 70; continue; }
162725
- /* */ $s = 71; continue;
162726
- /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].Wait100Continue === $throwNilPointerError)) { */ case 70:
162727
- $r = trace[0].Wait100Continue(); /* */ $s = 72; case 72: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162728
- /* } */ case 71:
162729
- _r$14 = waitForContinue(); /* */ $s = 75; case 75: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
162730
- /* */ if (!_r$14) { $s = 73; continue; }
162731
- /* */ $s = 74; continue;
162732
- /* if (!_r$14) { */ case 73:
162805
+ $24r$12 = err[0];
162806
+ $s = 77; case 77: return $24r$12;
162807
+ /* } */ case 76:
162808
+ /* } */ case 73:
162809
+ /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].Wait100Continue === $throwNilPointerError)) { $s = 78; continue; }
162810
+ /* */ $s = 79; continue;
162811
+ /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].Wait100Continue === $throwNilPointerError)) { */ case 78:
162812
+ $r = trace[0].Wait100Continue(); /* */ $s = 80; case 80: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
162813
+ /* } */ case 79:
162814
+ _r$13 = waitForContinue(); /* */ $s = 83; case 83: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
162815
+ /* */ if (!_r$13) { $s = 81; continue; }
162816
+ /* */ $s = 82; continue;
162817
+ /* if (!_r$13) { */ case 81:
162733
162818
  closed[0] = true;
162734
- _r$15 = r[0].closeBody(); /* */ $s = 76; case 76: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
162735
- _r$15;
162819
+ _r$14 = r[0].closeBody(); /* */ $s = 84; case 84: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
162820
+ _r$14;
162736
162821
  err[0] = $ifaceNil;
162737
- $24r$11 = err[0];
162738
- $s = 77; case 77: return $24r$11;
162739
- /* } */ case 74:
162740
- /* } */ case 63:
162741
- _tuple$7 = $assertType(w, ptrType$12, true);
162742
- bw$2 = _tuple$7[0];
162743
- ok$2 = _tuple$7[1];
162744
- /* */ if (ok$2 && tw.FlushHeaders) { $s = 78; continue; }
162745
- /* */ $s = 79; continue;
162746
- /* if (ok$2 && tw.FlushHeaders) { */ case 78:
162747
- _r$16 = bw$2.Flush(); /* */ $s = 80; case 80: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
162748
- err$1 = _r$16;
162749
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 81; continue; }
162750
- /* */ $s = 82; continue;
162751
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 81:
162752
- err[0] = err$1;
162753
- $24r$12 = err[0];
162754
- $s = 83; case 83: return $24r$12;
162822
+ $24r$13 = err[0];
162823
+ $s = 85; case 85: return $24r$13;
162755
162824
  /* } */ case 82:
162756
- /* } */ case 79:
162825
+ /* } */ case 71:
162826
+ _tuple$8 = $assertType(w, ptrType$12, true);
162827
+ bw$2 = _tuple$8[0];
162828
+ ok$2 = _tuple$8[1];
162829
+ /* */ if (ok$2 && tw.FlushHeaders) { $s = 86; continue; }
162830
+ /* */ $s = 87; continue;
162831
+ /* if (ok$2 && tw.FlushHeaders) { */ case 86:
162832
+ _r$15 = bw$2.Flush(); /* */ $s = 88; case 88: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
162833
+ err$1 = _r$15;
162834
+ /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 89; continue; }
162835
+ /* */ $s = 90; continue;
162836
+ /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 89:
162837
+ err[0] = err$1;
162838
+ $24r$14 = err[0];
162839
+ $s = 91; case 91: return $24r$14;
162840
+ /* } */ case 90:
162841
+ /* } */ case 87:
162757
162842
  closed[0] = true;
162758
- _r$17 = tw.writeBody(w); /* */ $s = 84; case 84: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }
162759
- err[0] = _r$17;
162760
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 85; continue; }
162761
- /* */ $s = 86; continue;
162762
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 85:
162843
+ _r$16 = tw.writeBody(w); /* */ $s = 92; case 92: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
162844
+ err[0] = _r$16;
162845
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 93; continue; }
162846
+ /* */ $s = 94; continue;
162847
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 93:
162763
162848
  if ($interfaceIsEqual(tw.bodyReadError, err[0])) {
162764
162849
  err[0] = (x$7 = new requestBodyReadError.ptr(err[0]), new x$7.constructor.elem(x$7));
162765
162850
  }
162766
162851
  err[0] = err[0];
162767
- $24r$13 = err[0];
162768
- $s = 87; case 87: return $24r$13;
162769
- /* } */ case 86:
162770
- /* */ if (!(bw === ptrType$12.nil)) { $s = 88; continue; }
162771
- /* */ $s = 89; continue;
162772
- /* if (!(bw === ptrType$12.nil)) { */ case 88:
162773
- _r$18 = bw.Flush(); /* */ $s = 90; case 90: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }
162774
- err[0] = _r$18;
162775
- $24r$14 = err[0];
162776
- $s = 91; case 91: return $24r$14;
162777
- /* } */ case 89:
162852
+ $24r$15 = err[0];
162853
+ $s = 95; case 95: return $24r$15;
162854
+ /* } */ case 94:
162855
+ /* */ if (!(bw === ptrType$12.nil)) { $s = 96; continue; }
162856
+ /* */ $s = 97; continue;
162857
+ /* if (!(bw === ptrType$12.nil)) { */ case 96:
162858
+ _r$17 = bw.Flush(); /* */ $s = 98; case 98: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }
162859
+ err[0] = _r$17;
162860
+ $24r$16 = err[0];
162861
+ $s = 99; case 99: return $24r$16;
162862
+ /* } */ case 97:
162778
162863
  err[0] = $ifaceNil;
162779
- $24r$15 = err[0];
162780
- $s = 92; case 92: return $24r$15;
162781
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: Request.ptr.prototype.write, $c: true, $r, $24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, bw, bw$1, bw$2, closed, err, err$1, extraHeaders, host, ok, ok$1, ok$2, r, ruri, trace, tw, userAgent, usingProxy, w, waitForContinue, x$7, $s, $deferred};return $f; } }
162864
+ $24r$17 = err[0];
162865
+ $s = 100; case 100: return $24r$17;
162866
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: Request.ptr.prototype.write, $c: true, $r, $24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$16, $24r$17, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, bw, bw$1, bw$2, closed, err, err$1, extraHeaders, host, ok, ok$1, ok$2, r, ruri, trace, tw, userAgent, usingProxy, w, waitForContinue, x$7, $s, $deferred};return $f; } }
162782
162867
  };
162783
162868
  Request.prototype.write = function(w, usingProxy, extraHeaders, waitForContinue) { return this.$val.write(w, usingProxy, extraHeaders, waitForContinue); };
162784
162869
  idnaASCII = function(v) {
@@ -162792,40 +162877,6 @@ $packages["net/http"] = (function() {
162792
162877
  $s = 2; case 2: return $24r;
162793
162878
  /* */ } return; } var $f = {$blk: idnaASCII, $c: true, $r, $24r, _r$1, v, $s};return $f;
162794
162879
  };
162795
- cleanHost = function(in$1) {
162796
- var {_r$1, _r$2, _r$3, _tuple, _tuple$1, _tuple$2, a, a$1, err, err$1, host, i, in$1, port, $s, $r, $c} = $restore(this, {in$1});
162797
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
162798
- i = strings.IndexAny(in$1, " /");
162799
- if (!((i === -1))) {
162800
- in$1 = $substring(in$1, 0, i);
162801
- }
162802
- _r$1 = net.SplitHostPort(in$1); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
162803
- _tuple = _r$1;
162804
- host = _tuple[0];
162805
- port = _tuple[1];
162806
- err = _tuple[2];
162807
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
162808
- /* */ $s = 3; continue;
162809
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
162810
- _r$2 = idnaASCII(in$1); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
162811
- _tuple$1 = _r$2;
162812
- a = _tuple$1[0];
162813
- err$1 = _tuple$1[1];
162814
- if (!($interfaceIsEqual(err$1, $ifaceNil))) {
162815
- $s = -1; return in$1;
162816
- }
162817
- $s = -1; return a;
162818
- /* } */ case 3:
162819
- _r$3 = idnaASCII(host); /* */ $s = 5; case 5: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
162820
- _tuple$2 = _r$3;
162821
- a$1 = _tuple$2[0];
162822
- err = _tuple$2[1];
162823
- if (!($interfaceIsEqual(err, $ifaceNil))) {
162824
- $s = -1; return in$1;
162825
- }
162826
- $s = -1; return net.JoinHostPort(a$1, port);
162827
- /* */ } return; } var $f = {$blk: cleanHost, $c: true, $r, _r$1, _r$2, _r$3, _tuple, _tuple$1, _tuple$2, a, a$1, err, err$1, host, i, in$1, port, $s};return $f;
162828
- };
162829
162880
  removeZone = function(host) {
162830
162881
  var host, i, j;
162831
162882
  if (!strings.HasPrefix(host, "[")) {
@@ -180066,11 +180117,42 @@ $packages["github.com/supraio/client-daemon/pkg/clientscreen"] = (function() {
180066
180117
  return $pkg;
180067
180118
  })();
180068
180119
  $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
180069
- var $pkg = {}, $init, log, js, ptrType, sliceType, Await;
180120
+ var $pkg = {}, $init, errs, log, js, ptrType, sliceType, GetError, Await;
180121
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
180070
180122
  log = $packages["log"];
180071
180123
  js = $packages["syscall/js"];
180072
180124
  ptrType = $ptrType(js.Value);
180073
180125
  sliceType = $sliceType($emptyInterface);
180126
+ GetError = function(err) {
180127
+ var {$24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, err, $s, $r, $c} = $restore(this, {err});
180128
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
180129
+ /* */ if (err === ptrType.nil) { $s = 1; continue; }
180130
+ /* */ $s = 2; continue;
180131
+ /* if (err === ptrType.nil) { */ case 1:
180132
+ _r = errs.Errorf("Error is nil", sliceType.nil); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
180133
+ $24r = _r;
180134
+ $s = 4; case 4: return $24r;
180135
+ /* } */ case 2:
180136
+ /* */ if ($clone(err, js.Value).Type() === 4) { $s = 5; continue; }
180137
+ /* */ if ($clone(err, js.Value).Type() === 6) { $s = 6; continue; }
180138
+ /* */ $s = 7; continue;
180139
+ /* if ($clone(err, js.Value).Type() === 4) { */ case 5:
180140
+ _r$1 = errs.Errorf("%s", new sliceType([new $String($clone(err, js.Value).String())])); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
180141
+ $24r$1 = _r$1;
180142
+ $s = 10; case 10: return $24r$1;
180143
+ /* } else if ($clone(err, js.Value).Type() === 6) { */ case 6:
180144
+ _r$2 = errs.Errorf("%s, stack: %s", new sliceType([new $String($clone($clone(err, js.Value).Get("message"), js.Value).String()), new $String($clone($clone(err, js.Value).Get("stack"), js.Value).String())])); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
180145
+ $24r$2 = _r$2;
180146
+ $s = 12; case 12: return $24r$2;
180147
+ /* } else { */ case 7:
180148
+ _r$3 = errs.Errorf("Unknown error type: %v", new sliceType([err])); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
180149
+ $24r$3 = _r$3;
180150
+ $s = 14; case 14: return $24r$3;
180151
+ /* } */ case 8:
180152
+ $s = -1; return $ifaceNil;
180153
+ /* */ } return; } var $f = {$blk: GetError, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, err, $s};return $f;
180154
+ };
180155
+ $pkg.GetError = GetError;
180074
180156
  Await = function(awaitable) {
180075
180157
  var {$24r, $24r$1, _r, _r$1, _r$2, _selection, awaitable, catch$1, catchFunc, err, result, then, thenFunc, $s, $deferred, $r, $c} = $restore(this, {awaitable});
180076
180158
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
@@ -180087,7 +180169,7 @@ $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
180087
180169
  /* */ if (then[0] === $chanNil) { $s = 1; continue; }
180088
180170
  /* */ $s = 2; continue;
180089
180171
  /* if (then[0] === $chanNil) { */ case 1:
180090
- $r = log.Println(new sliceType([new $String("Promise already resolved cannot resolve again")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180172
+ $r = log.Printf("Promise already resolved cannot resolve again: %v\n", new sliceType([(0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180091
180173
  $s = -1; return $ifaceNil;
180092
180174
  /* } */ case 2:
180093
180175
  $r = $send(then[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -180101,17 +180183,19 @@ $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
180101
180183
  catch$1[0] = $chanNil;
180102
180184
  }; })(catch$1, then), []]);
180103
180185
  catchFunc = $clone(js.FuncOf((function(catch$1, then) { return function $b(this$1, args) {
180104
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
180186
+ var {_arg, _r, args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
180105
180187
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
180106
180188
  /* */ if (catch$1[0] === $chanNil) { $s = 1; continue; }
180107
180189
  /* */ $s = 2; continue;
180108
180190
  /* if (catch$1[0] === $chanNil) { */ case 1:
180109
- $r = log.Println(new sliceType([new $String("Promise already resolved cannot be rejected")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180191
+ _r = GetError((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
180192
+ _arg = _r;
180193
+ $r = errs.Print("Promise already resolved cannot be rejected", _arg); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180110
180194
  $s = -1; return $ifaceNil;
180111
180195
  /* } */ case 2:
180112
- $r = $send(catch$1[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180196
+ $r = $send(catch$1[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180113
180197
  $s = -1; return $ifaceNil;
180114
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
180198
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _r, args, this$1, $s};return $f;
180115
180199
  }; })(catch$1, then)), js.Func);
180116
180200
  $deferred.push([$methodVal($clone(catchFunc, js.Func), "Release"), []]);
180117
180201
  _r = $clone(awaitable, js.Value).Call("then", new sliceType([new thenFunc.constructor.elem(thenFunc)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
@@ -180138,8 +180222,9 @@ $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
180138
180222
  $init = function() {
180139
180223
  $pkg.$init = function() {};
180140
180224
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
180141
- $r = log.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180142
- $r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180225
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180226
+ $r = log.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180227
+ $r = js.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
180143
180228
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
180144
180229
  };
180145
180230
  $pkg.$init = $init;
@@ -181247,26 +181332,12 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
181247
181332
  };
181248
181333
  MetadataServer.prototype.handleData = function() { return this.$val.handleData(); };
181249
181334
  NewMetadataResponsiveSender = function(metadataServer, timeoutDuration) {
181250
- var metadataServer, timeoutDuration;
181251
- return new MetadataResponsiveSender.ptr(metadataServer, timeoutDuration, $makeMap($String.keyFor, []), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
181335
+ var metadataServer, s, timeoutDuration;
181336
+ s = new MetadataResponsiveSender.ptr(metadataServer, timeoutDuration, $makeMap($String.keyFor, []), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
181337
+ metadataServer.OnMessage($methodVal(s, "handleServerData"));
181338
+ return s;
181252
181339
  };
181253
181340
  $pkg.NewMetadataResponsiveSender = NewMetadataResponsiveSender;
181254
- MetadataResponsiveSender.ptr.prototype.Listen = function() {
181255
- var s;
181256
- s = this;
181257
- s.metadataServer.OnMessage($methodVal(s, "handleServerData"));
181258
- };
181259
- MetadataResponsiveSender.prototype.Listen = function() { return this.$val.Listen(); };
181260
- MetadataResponsiveSender.ptr.prototype.Close = function() {
181261
- var {$24r, _r, s, $s, $r, $c} = $restore(this, {});
181262
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181263
- s = this;
181264
- _r = s.metadataServer.Close(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181265
- $24r = _r;
181266
- $s = 2; case 2: return $24r;
181267
- /* */ } return; } var $f = {$blk: MetadataResponsiveSender.ptr.prototype.Close, $c: true, $r, $24r, _r, s, $s};return $f;
181268
- };
181269
- MetadataResponsiveSender.prototype.Close = function() { return this.$val.Close(); };
181270
181341
  MetadataResponsiveSender.ptr.prototype.SendServerWaitResponse = function(msgType, data) {
181271
181342
  var {$24r, $24r$1, $24r$2, _key, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _selection, _tuple, data, err, msgType, reqData, requestChan, requestID, resp, s, $s, $r, $c} = $restore(this, {msgType, data});
181272
181343
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -181585,7 +181656,7 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
181585
181656
  };
181586
181657
  Framer.prototype.parseFrames = function() { return this.$val.parseFrames(); };
181587
181658
  ptrType$1.methods = [{prop: "start", name: "start", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([sliceType$1], [$Int, $error], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "OnMessage", name: "OnMessage", pkg: "", typ: $funcType([funcType$1], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "handleData", name: "handleData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}];
181588
- ptrType$2.methods = [{prop: "Listen", name: "Listen", pkg: "", typ: $funcType([], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "SendServerWaitResponse", name: "SendServerWaitResponse", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [sliceType$1, $error], false)}, {prop: "handleServerData", name: "handleServerData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([message.MsgType, sliceType$1], [], false)}];
181659
+ ptrType$2.methods = [{prop: "SendServerWaitResponse", name: "SendServerWaitResponse", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [sliceType$1, $error], false)}, {prop: "handleServerData", name: "handleServerData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([message.MsgType, sliceType$1], [], false)}];
181589
181660
  ptrType$3.methods = [{prop: "Send", name: "Send", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [$error], false)}];
181590
181661
  ptrType$4.methods = [{prop: "Connect", name: "Connect", pkg: "", typ: $funcType([], [ptrType$1, $error], false)}];
181591
181662
  ptrType$5.methods = [{prop: "Send", name: "Send", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [$error], false)}];
@@ -182534,12 +182605,11 @@ $packages["github.com/nuberu/webgl/extensions"] = (function() {
182534
182605
  return $pkg;
182535
182606
  })();
182536
182607
  $packages["github.com/nuberu/webgl"] = (function() {
182537
- var $pkg = {}, $init, errors, fmt, extensions, types, reflect, runtime, js, RenderingContext, funcType, arrayType, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, sliceType$1, ptrType$7, arrayType$1, arrayType$2, arrayType$3, sliceType$2, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, sliceType$10, sliceType$11, sliceType$12, sliceType$13, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, sliceType$14, sliceType$15, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, WrapContext, FromCanvas, polyfillOldVersion, sliceToByteSlice, TypedArrayOf;
182608
+ var $pkg = {}, $init, errors, fmt, extensions, types, runtime, js, RenderingContext, funcType, arrayType, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, sliceType$1, ptrType$7, arrayType$1, arrayType$2, arrayType$3, sliceType$2, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, sliceType$10, sliceType$11, sliceType$12, sliceType$13, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, WrapContext, FromCanvas, polyfillOldVersion, TypedArrayOf;
182538
182609
  errors = $packages["errors"];
182539
182610
  fmt = $packages["fmt"];
182540
182611
  extensions = $packages["github.com/nuberu/webgl/extensions"];
182541
182612
  types = $packages["github.com/nuberu/webgl/types"];
182542
- reflect = $packages["reflect"];
182543
182613
  runtime = $packages["runtime"];
182544
182614
  js = $packages["syscall/js"];
182545
182615
  RenderingContext = $pkg.RenderingContext = $newType(0, $kindStruct, "webgl.RenderingContext", true, "github.com/nuberu/webgl", true, function(loaded_, js_, version_) {
@@ -182578,27 +182648,15 @@ $packages["github.com/nuberu/webgl"] = (function() {
182578
182648
  sliceType$8 = $sliceType($Int8);
182579
182649
  sliceType$9 = $sliceType($Int16);
182580
182650
  sliceType$10 = $sliceType($Int32);
182581
- sliceType$11 = $sliceType($Int64);
182582
- sliceType$12 = $sliceType($Uint64);
182583
- sliceType$13 = $sliceType($Float64);
182584
- ptrType$8 = $ptrType(reflect.SliceHeader);
182585
- ptrType$9 = $ptrType(sliceType$8);
182586
- ptrType$10 = $ptrType(sliceType$9);
182587
- ptrType$11 = $ptrType(sliceType$10);
182588
- ptrType$12 = $ptrType(sliceType$11);
182589
- ptrType$13 = $ptrType(sliceType$5);
182590
- ptrType$14 = $ptrType(sliceType$6);
182591
- ptrType$15 = $ptrType(sliceType$12);
182592
- ptrType$16 = $ptrType(sliceType$7);
182593
- ptrType$17 = $ptrType(sliceType$13);
182594
- sliceType$14 = $sliceType($Int);
182595
- sliceType$15 = $sliceType($Uint);
182596
- ptrType$18 = $ptrType(types.VertexArray);
182597
- ptrType$19 = $ptrType(types.ActiveInfo);
182598
- ptrType$20 = $ptrType(extensions.Extension);
182599
- ptrType$21 = $ptrType(extensions.LoseContext);
182600
- ptrType$22 = $ptrType(types.ShaderPrecisionFormat);
182601
- ptrType$23 = $ptrType(types.UniformLocation);
182651
+ sliceType$11 = $sliceType($Float64);
182652
+ sliceType$12 = $sliceType($Int);
182653
+ sliceType$13 = $sliceType($Uint);
182654
+ ptrType$8 = $ptrType(types.VertexArray);
182655
+ ptrType$9 = $ptrType(types.ActiveInfo);
182656
+ ptrType$10 = $ptrType(extensions.Extension);
182657
+ ptrType$11 = $ptrType(extensions.LoseContext);
182658
+ ptrType$12 = $ptrType(types.ShaderPrecisionFormat);
182659
+ ptrType$13 = $ptrType(types.UniformLocation);
182602
182660
  WrapContext = function(jsContext) {
182603
182661
  var context, jsContext;
182604
182662
  context = new RenderingContext.ptr(true, $clone(jsContext, js.Value), 0);
@@ -186396,96 +186454,10 @@ $packages["github.com/nuberu/webgl"] = (function() {
186396
186454
  /* */ } return; } var $f = {$blk: RenderingContext.ptr.prototype.Viewport, $c: true, $r, _r, c, height, width, x, y, $s};return $f;
186397
186455
  };
186398
186456
  RenderingContext.prototype.Viewport = function(x, y, width, height) { return this.$val.Viewport(x, y, width, height); };
186399
- sliceToByteSlice = function(s) {
186400
- var {_r, _ref, h, h$1, h$2, h$3, h$4, h$5, h$6, h$7, h$8, s, s$1, s$10, s$11, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, $s, $r, $c} = $restore(this, {s});
186401
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186402
- s$1 = [s$1];
186403
- s$2 = [s$2];
186404
- s$3 = [s$3];
186405
- s$4 = [s$4];
186406
- s$5 = [s$5];
186407
- s$6 = [s$6];
186408
- s$7 = [s$7];
186409
- s$8 = [s$8];
186410
- s$9 = [s$9];
186411
- _ref = s;
186412
- /* */ if ($assertType(_ref, sliceType$8, true)[1]) { $s = 1; continue; }
186413
- /* */ if ($assertType(_ref, sliceType$9, true)[1]) { $s = 2; continue; }
186414
- /* */ if ($assertType(_ref, sliceType$10, true)[1]) { $s = 3; continue; }
186415
- /* */ if ($assertType(_ref, sliceType$11, true)[1]) { $s = 4; continue; }
186416
- /* */ if ($assertType(_ref, sliceType$4, true)[1]) { $s = 5; continue; }
186417
- /* */ if ($assertType(_ref, sliceType$5, true)[1]) { $s = 6; continue; }
186418
- /* */ if ($assertType(_ref, sliceType$6, true)[1]) { $s = 7; continue; }
186419
- /* */ if ($assertType(_ref, sliceType$12, true)[1]) { $s = 8; continue; }
186420
- /* */ if ($assertType(_ref, sliceType$7, true)[1]) { $s = 9; continue; }
186421
- /* */ if ($assertType(_ref, sliceType$13, true)[1]) { $s = 10; continue; }
186422
- /* */ $s = 11; continue;
186423
- /* if ($assertType(_ref, sliceType$8, true)[1]) { */ case 1:
186424
- s$1[0] = _ref.$val;
186425
- h = ($pointerOfStructConversion(((s$1.$ptr || (s$1.$ptr = new ptrType$9(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$1)))), ptrType$8));
186426
- $s = -1; return ((h)).$get();
186427
- /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 2:
186428
- s$2[0] = _ref.$val;
186429
- h$1 = ($pointerOfStructConversion(((s$2.$ptr || (s$2.$ptr = new ptrType$10(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$2)))), ptrType$8));
186430
- h$1.Len = $imul(h$1.Len, (2));
186431
- h$1.Cap = $imul(h$1.Cap, (2));
186432
- $s = -1; return ((h$1)).$get();
186433
- /* } else if ($assertType(_ref, sliceType$10, true)[1]) { */ case 3:
186434
- s$3[0] = _ref.$val;
186435
- h$2 = ($pointerOfStructConversion(((s$3.$ptr || (s$3.$ptr = new ptrType$11(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$3)))), ptrType$8));
186436
- h$2.Len = $imul(h$2.Len, (4));
186437
- h$2.Cap = $imul(h$2.Cap, (4));
186438
- $s = -1; return ((h$2)).$get();
186439
- /* } else if ($assertType(_ref, sliceType$11, true)[1]) { */ case 4:
186440
- s$4[0] = _ref.$val;
186441
- h$3 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$12(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType$8));
186442
- h$3.Len = $imul(h$3.Len, (8));
186443
- h$3.Cap = $imul(h$3.Cap, (8));
186444
- $s = -1; return ((h$3)).$get();
186445
- /* } else if ($assertType(_ref, sliceType$4, true)[1]) { */ case 5:
186446
- s$10 = _ref.$val;
186447
- $s = -1; return s$10;
186448
- /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 6:
186449
- s$5[0] = _ref.$val;
186450
- h$4 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$13(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType$8));
186451
- h$4.Len = $imul(h$4.Len, (2));
186452
- h$4.Cap = $imul(h$4.Cap, (2));
186453
- $s = -1; return ((h$4)).$get();
186454
- /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 7:
186455
- s$6[0] = _ref.$val;
186456
- h$5 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$14(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType$8));
186457
- h$5.Len = $imul(h$5.Len, (4));
186458
- h$5.Cap = $imul(h$5.Cap, (4));
186459
- $s = -1; return ((h$5)).$get();
186460
- /* } else if ($assertType(_ref, sliceType$12, true)[1]) { */ case 8:
186461
- s$7[0] = _ref.$val;
186462
- h$6 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$15(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType$8));
186463
- h$6.Len = $imul(h$6.Len, (8));
186464
- h$6.Cap = $imul(h$6.Cap, (8));
186465
- $s = -1; return ((h$6)).$get();
186466
- /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 9:
186467
- s$8[0] = _ref.$val;
186468
- h$7 = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$16(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType$8));
186469
- h$7.Len = $imul(h$7.Len, (4));
186470
- h$7.Cap = $imul(h$7.Cap, (4));
186471
- $s = -1; return ((h$7)).$get();
186472
- /* } else if ($assertType(_ref, sliceType$13, true)[1]) { */ case 10:
186473
- s$9[0] = _ref.$val;
186474
- h$8 = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$17(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType$8));
186475
- h$8.Len = $imul(h$8.Len, (8));
186476
- h$8.Cap = $imul(h$8.Cap, (8));
186477
- $s = -1; return ((h$8)).$get();
186478
- /* } else { */ case 11:
186479
- s$11 = _ref;
186480
- _r = fmt.Sprintf("jsutil: unexpected value at sliceToBytesSlice: %T", new sliceType([s$11])); /* */ $s = 13; case 13: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186481
- $panic(new $String(_r));
186482
- /* } */ case 12:
186483
- $s = -1; return sliceType$4.nil;
186484
- /* */ } return; } var $f = {$blk: sliceToByteSlice, $c: true, $r, _r, _ref, h, h$1, h$2, h$3, h$4, h$5, h$6, h$7, h$8, s, s$1, s$10, s$11, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, $s};return $f;
186485
- };
186486
186457
  TypedArrayOf = function(s) {
186487
- var {$24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _q, _q$1, _q$2, _q$3, _q$4, _q$5, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, a, a$1, a$2, a$3, a$4, a$5, a$6, a$7, buf, buf$1, buf$2, buf$3, buf$4, buf$5, buf$6, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, $s, $r, $c} = $restore(this, {s});
186458
+ var {_i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _ref$1, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, i, i$1, i$2, i$3, i$4, i$5, i$6, result, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, v, v$1, v$2, v$3, v$4, v$5, v$6, $s, $r, $c} = $restore(this, {s});
186488
186459
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186460
+ result = new js.Value.ptr(null, false, arrayType.zero());
186489
186461
  _ref = s;
186490
186462
  /* */ if ($assertType(_ref, sliceType$8, true)[1]) { $s = 1; continue; }
186491
186463
  /* */ if ($assertType(_ref, sliceType$9, true)[1]) { $s = 2; continue; }
@@ -186494,123 +186466,123 @@ $packages["github.com/nuberu/webgl"] = (function() {
186494
186466
  /* */ if ($assertType(_ref, sliceType$5, true)[1]) { $s = 5; continue; }
186495
186467
  /* */ if ($assertType(_ref, sliceType$6, true)[1]) { $s = 6; continue; }
186496
186468
  /* */ if ($assertType(_ref, sliceType$7, true)[1]) { $s = 7; continue; }
186497
- /* */ if ($assertType(_ref, sliceType$13, true)[1]) { $s = 8; continue; }
186469
+ /* */ if ($assertType(_ref, sliceType$11, true)[1]) { $s = 8; continue; }
186498
186470
  /* */ $s = 9; continue;
186499
186471
  /* if ($assertType(_ref, sliceType$8, true)[1]) { */ case 1:
186500
186472
  s$1 = _ref.$val;
186501
- _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$1.$length)])); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186502
- a = $clone(_r, js.Value);
186503
- _arg = $clone(a, js.Value);
186504
- _r$1 = sliceToByteSlice(s$1); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186505
- _arg$1 = _r$1;
186506
- _r$2 = js.CopyBytesToJS(_arg, _arg$1); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186507
- _r$2;
186508
- runtime.KeepAlive(s$1);
186509
- buf = $clone($clone(a, js.Value).Get("buffer"), js.Value);
186510
- _r$3 = $clone($clone(js.Global(), js.Value).Get("Int8Array"), js.Value).New(new sliceType([new buf.constructor.elem(buf), (x = $clone(a, js.Value).Get("byteOffset"), new x.constructor.elem(x)), (x$1 = $clone(a, js.Value).Get("byteLength"), new x$1.constructor.elem(x$1))])); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186511
- $24r = _r$3;
186512
- $s = 15; case 15: return $24r;
186473
+ _r = $clone($clone(js.Global(), js.Value).Get("Int8Array"), js.Value).New(new sliceType([new $Int(s$1.$length)])); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186474
+ js.Value.copy(result, _r);
186475
+ _ref$1 = s$1;
186476
+ _i = 0;
186477
+ while (true) {
186478
+ if (!(_i < _ref$1.$length)) { break; }
186479
+ i = _i;
186480
+ v = ((_i < 0 || _i >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i]);
186481
+ $clone(result, js.Value).SetIndex(i, new $Int8(v));
186482
+ _i++;
186483
+ }
186484
+ $s = 10; continue;
186513
186485
  /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 2:
186514
186486
  s$2 = _ref.$val;
186515
- _r$4 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$2.$length, 2)))])); /* */ $s = 16; case 16: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
186516
- a$1 = $clone(_r$4, js.Value);
186517
- _arg$2 = $clone(a$1, js.Value);
186518
- _r$5 = sliceToByteSlice(s$2); /* */ $s = 17; case 17: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
186519
- _arg$3 = _r$5;
186520
- _r$6 = js.CopyBytesToJS(_arg$2, _arg$3); /* */ $s = 18; case 18: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
186521
- _r$6;
186522
- runtime.KeepAlive(s$2);
186523
- buf$1 = $clone($clone(a$1, js.Value).Get("buffer"), js.Value);
186524
- _r$7 = $clone($clone(js.Global(), js.Value).Get("Int16Array"), js.Value).New(new sliceType([new buf$1.constructor.elem(buf$1), (x$2 = $clone(a$1, js.Value).Get("byteOffset"), new x$2.constructor.elem(x$2)), new $Int((_q = $clone($clone(a$1, js.Value).Get("byteLength"), js.Value).Int() / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
186525
- $24r$1 = _r$7;
186526
- $s = 20; case 20: return $24r$1;
186487
+ _r$1 = $clone($clone(js.Global(), js.Value).Get("Int16Array"), js.Value).New(new sliceType([new $Int(s$2.$length)])); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186488
+ js.Value.copy(result, _r$1);
186489
+ _ref$2 = s$2;
186490
+ _i$1 = 0;
186491
+ while (true) {
186492
+ if (!(_i$1 < _ref$2.$length)) { break; }
186493
+ i$1 = _i$1;
186494
+ v$1 = ((_i$1 < 0 || _i$1 >= _ref$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$2.$array[_ref$2.$offset + _i$1]);
186495
+ $clone(result, js.Value).SetIndex(i$1, new $Int16(v$1));
186496
+ _i$1++;
186497
+ }
186498
+ $s = 10; continue;
186527
186499
  /* } else if ($assertType(_ref, sliceType$10, true)[1]) { */ case 3:
186528
186500
  s$3 = _ref.$val;
186529
- _r$8 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$3.$length, 4)))])); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
186530
- a$2 = $clone(_r$8, js.Value);
186531
- _arg$4 = $clone(a$2, js.Value);
186532
- _r$9 = sliceToByteSlice(s$3); /* */ $s = 22; case 22: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
186533
- _arg$5 = _r$9;
186534
- _r$10 = js.CopyBytesToJS(_arg$4, _arg$5); /* */ $s = 23; case 23: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
186535
- _r$10;
186536
- runtime.KeepAlive(s$3);
186537
- buf$2 = $clone($clone(a$2, js.Value).Get("buffer"), js.Value);
186538
- _r$11 = $clone($clone(js.Global(), js.Value).Get("Int32Array"), js.Value).New(new sliceType([new buf$2.constructor.elem(buf$2), (x$3 = $clone(a$2, js.Value).Get("byteOffset"), new x$3.constructor.elem(x$3)), new $Int((_q$1 = $clone($clone(a$2, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 24; case 24: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
186539
- $24r$2 = _r$11;
186540
- $s = 25; case 25: return $24r$2;
186501
+ _r$2 = $clone($clone(js.Global(), js.Value).Get("Int32Array"), js.Value).New(new sliceType([new $Int(s$3.$length)])); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186502
+ js.Value.copy(result, _r$2);
186503
+ _ref$3 = s$3;
186504
+ _i$2 = 0;
186505
+ while (true) {
186506
+ if (!(_i$2 < _ref$3.$length)) { break; }
186507
+ i$2 = _i$2;
186508
+ v$2 = ((_i$2 < 0 || _i$2 >= _ref$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$3.$array[_ref$3.$offset + _i$2]);
186509
+ $clone(result, js.Value).SetIndex(i$2, new $Int32(v$2));
186510
+ _i$2++;
186511
+ }
186512
+ $s = 10; continue;
186541
186513
  /* } else if ($assertType(_ref, sliceType$4, true)[1]) { */ case 4:
186542
186514
  s$4 = _ref.$val;
186543
- _r$12 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$4.$length)])); /* */ $s = 26; case 26: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
186544
- a$3 = $clone(_r$12, js.Value);
186545
- js.CopyBytesToJS($clone(a$3, js.Value), s$4);
186515
+ _r$3 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$4.$length)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186516
+ js.Value.copy(result, _r$3);
186517
+ js.CopyBytesToJS($clone(result, js.Value), s$4);
186546
186518
  runtime.KeepAlive(s$4);
186547
- $s = -1; return a$3;
186519
+ $s = 10; continue;
186548
186520
  /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 5:
186549
186521
  s$5 = _ref.$val;
186550
- _r$13 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$5.$length, 2)))])); /* */ $s = 27; case 27: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
186551
- a$4 = $clone(_r$13, js.Value);
186552
- _arg$6 = $clone(a$4, js.Value);
186553
- _r$14 = sliceToByteSlice(s$5); /* */ $s = 28; case 28: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
186554
- _arg$7 = _r$14;
186555
- _r$15 = js.CopyBytesToJS(_arg$6, _arg$7); /* */ $s = 29; case 29: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
186556
- _r$15;
186557
- runtime.KeepAlive(s$5);
186558
- buf$3 = $clone($clone(a$4, js.Value).Get("buffer"), js.Value);
186559
- _r$16 = $clone($clone(js.Global(), js.Value).Get("Uint16Array"), js.Value).New(new sliceType([new buf$3.constructor.elem(buf$3), (x$4 = $clone(a$4, js.Value).Get("byteOffset"), new x$4.constructor.elem(x$4)), new $Int((_q$2 = $clone($clone(a$4, js.Value).Get("byteLength"), js.Value).Int() / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 30; case 30: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
186560
- $24r$3 = _r$16;
186561
- $s = 31; case 31: return $24r$3;
186522
+ _r$4 = $clone($clone(js.Global(), js.Value).Get("Uint16Array"), js.Value).New(new sliceType([new $Int(s$5.$length)])); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
186523
+ js.Value.copy(result, _r$4);
186524
+ _ref$4 = s$5;
186525
+ _i$3 = 0;
186526
+ while (true) {
186527
+ if (!(_i$3 < _ref$4.$length)) { break; }
186528
+ i$3 = _i$3;
186529
+ v$3 = ((_i$3 < 0 || _i$3 >= _ref$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$4.$array[_ref$4.$offset + _i$3]);
186530
+ $clone(result, js.Value).SetIndex(i$3, new $Uint16(v$3));
186531
+ _i$3++;
186532
+ }
186533
+ $s = 10; continue;
186562
186534
  /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 6:
186563
186535
  s$6 = _ref.$val;
186564
- _r$17 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$6.$length, 4)))])); /* */ $s = 32; case 32: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }
186565
- a$5 = $clone(_r$17, js.Value);
186566
- _arg$8 = $clone(a$5, js.Value);
186567
- _r$18 = sliceToByteSlice(s$6); /* */ $s = 33; case 33: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }
186568
- _arg$9 = _r$18;
186569
- _r$19 = js.CopyBytesToJS(_arg$8, _arg$9); /* */ $s = 34; case 34: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }
186570
- _r$19;
186571
- runtime.KeepAlive(s$6);
186572
- buf$4 = $clone($clone(a$5, js.Value).Get("buffer"), js.Value);
186573
- _r$20 = $clone($clone(js.Global(), js.Value).Get("Uint32Array"), js.Value).New(new sliceType([new buf$4.constructor.elem(buf$4), (x$5 = $clone(a$5, js.Value).Get("byteOffset"), new x$5.constructor.elem(x$5)), new $Int((_q$3 = $clone($clone(a$5, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 35; case 35: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }
186574
- $24r$4 = _r$20;
186575
- $s = 36; case 36: return $24r$4;
186536
+ _r$5 = $clone($clone(js.Global(), js.Value).Get("Uint32Array"), js.Value).New(new sliceType([new $Int(s$6.$length)])); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
186537
+ js.Value.copy(result, _r$5);
186538
+ _ref$5 = s$6;
186539
+ _i$4 = 0;
186540
+ while (true) {
186541
+ if (!(_i$4 < _ref$5.$length)) { break; }
186542
+ i$4 = _i$4;
186543
+ v$4 = ((_i$4 < 0 || _i$4 >= _ref$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$5.$array[_ref$5.$offset + _i$4]);
186544
+ $clone(result, js.Value).SetIndex(i$4, new $Uint32(v$4));
186545
+ _i$4++;
186546
+ }
186547
+ $s = 10; continue;
186576
186548
  /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 7:
186577
186549
  s$7 = _ref.$val;
186578
- _r$21 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$7.$length, 4)))])); /* */ $s = 37; case 37: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }
186579
- a$6 = $clone(_r$21, js.Value);
186580
- _arg$10 = $clone(a$6, js.Value);
186581
- _r$22 = sliceToByteSlice(s$7); /* */ $s = 38; case 38: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }
186582
- _arg$11 = _r$22;
186583
- _r$23 = js.CopyBytesToJS(_arg$10, _arg$11); /* */ $s = 39; case 39: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }
186584
- _r$23;
186585
- runtime.KeepAlive(s$7);
186586
- buf$5 = $clone($clone(a$6, js.Value).Get("buffer"), js.Value);
186587
- _r$24 = $clone($clone(js.Global(), js.Value).Get("Float32Array"), js.Value).New(new sliceType([new buf$5.constructor.elem(buf$5), (x$6 = $clone(a$6, js.Value).Get("byteOffset"), new x$6.constructor.elem(x$6)), new $Int((_q$4 = $clone($clone(a$6, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$4 === _q$4 && _q$4 !== 1/0 && _q$4 !== -1/0) ? _q$4 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 40; case 40: if($c) { $c = false; _r$24 = _r$24.$blk(); } if (_r$24 && _r$24.$blk !== undefined) { break s; }
186588
- $24r$5 = _r$24;
186589
- $s = 41; case 41: return $24r$5;
186590
- /* } else if ($assertType(_ref, sliceType$13, true)[1]) { */ case 8:
186550
+ _r$6 = $clone($clone(js.Global(), js.Value).Get("Float32Array"), js.Value).New(new sliceType([new $Int(s$7.$length)])); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
186551
+ js.Value.copy(result, _r$6);
186552
+ _ref$6 = s$7;
186553
+ _i$5 = 0;
186554
+ while (true) {
186555
+ if (!(_i$5 < _ref$6.$length)) { break; }
186556
+ i$5 = _i$5;
186557
+ v$5 = ((_i$5 < 0 || _i$5 >= _ref$6.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$6.$array[_ref$6.$offset + _i$5]);
186558
+ $clone(result, js.Value).SetIndex(i$5, new $Float32(v$5));
186559
+ _i$5++;
186560
+ }
186561
+ $s = 10; continue;
186562
+ /* } else if ($assertType(_ref, sliceType$11, true)[1]) { */ case 8:
186591
186563
  s$8 = _ref.$val;
186592
- _r$25 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$8.$length, 8)))])); /* */ $s = 42; case 42: if($c) { $c = false; _r$25 = _r$25.$blk(); } if (_r$25 && _r$25.$blk !== undefined) { break s; }
186593
- a$7 = $clone(_r$25, js.Value);
186594
- _arg$12 = $clone(a$7, js.Value);
186595
- _r$26 = sliceToByteSlice(s$8); /* */ $s = 43; case 43: if($c) { $c = false; _r$26 = _r$26.$blk(); } if (_r$26 && _r$26.$blk !== undefined) { break s; }
186596
- _arg$13 = _r$26;
186597
- _r$27 = js.CopyBytesToJS(_arg$12, _arg$13); /* */ $s = 44; case 44: if($c) { $c = false; _r$27 = _r$27.$blk(); } if (_r$27 && _r$27.$blk !== undefined) { break s; }
186598
- _r$27;
186599
- runtime.KeepAlive(s$8);
186600
- buf$6 = $clone($clone(a$7, js.Value).Get("buffer"), js.Value);
186601
- _r$28 = $clone($clone(js.Global(), js.Value).Get("Float64Array"), js.Value).New(new sliceType([new buf$6.constructor.elem(buf$6), (x$7 = $clone(a$7, js.Value).Get("byteOffset"), new x$7.constructor.elem(x$7)), new $Int((_q$5 = $clone($clone(a$7, js.Value).Get("byteLength"), js.Value).Int() / 8, (_q$5 === _q$5 && _q$5 !== 1/0 && _q$5 !== -1/0) ? _q$5 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 45; case 45: if($c) { $c = false; _r$28 = _r$28.$blk(); } if (_r$28 && _r$28.$blk !== undefined) { break s; }
186602
- $24r$6 = _r$28;
186603
- $s = 46; case 46: return $24r$6;
186564
+ _r$7 = $clone($clone(js.Global(), js.Value).Get("Float64Array"), js.Value).New(new sliceType([new $Int(s$8.$length)])); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
186565
+ js.Value.copy(result, _r$7);
186566
+ _ref$7 = s$8;
186567
+ _i$6 = 0;
186568
+ while (true) {
186569
+ if (!(_i$6 < _ref$7.$length)) { break; }
186570
+ i$6 = _i$6;
186571
+ v$6 = ((_i$6 < 0 || _i$6 >= _ref$7.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$7.$array[_ref$7.$offset + _i$6]);
186572
+ $clone(result, js.Value).SetIndex(i$6, new $Float64(v$6));
186573
+ _i$6++;
186574
+ }
186575
+ $s = 10; continue;
186604
186576
  /* } else { */ case 9:
186605
186577
  s$9 = _ref;
186606
- _r$29 = fmt.Sprintf("jsutil: unexpected value at SliceToTypedArray: %T", new sliceType([s$9])); /* */ $s = 47; case 47: if($c) { $c = false; _r$29 = _r$29.$blk(); } if (_r$29 && _r$29.$blk !== undefined) { break s; }
186607
- $panic(new $String(_r$29));
186578
+ _r$8 = fmt.Sprintf("jsutil: unexpected value at SliceToTypedArray: %T", new sliceType([s$9])); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
186579
+ $panic(new $String(_r$8));
186608
186580
  /* } */ case 10:
186609
- $s = -1; return new js.Value.ptr(null, false, arrayType.zero());
186610
- /* */ } return; } var $f = {$blk: TypedArrayOf, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _q, _q$1, _q$2, _q$3, _q$4, _q$5, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, a, a$1, a$2, a$3, a$4, a$5, a$6, a$7, buf, buf$1, buf$2, buf$3, buf$4, buf$5, buf$6, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, $s};return $f;
186581
+ $s = -1; return result;
186582
+ /* */ } return; } var $f = {$blk: TypedArrayOf, $c: true, $r, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _ref$1, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, i, i$1, i$2, i$3, i$4, i$5, i$6, result, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, v, v$1, v$2, v$3, v$4, v$5, v$6, $s};return $f;
186611
186583
  };
186612
186584
  $pkg.TypedArrayOf = TypedArrayOf;
186613
- ptrType.methods = [{prop: "GetJs", name: "GetJs", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "GetDrawingBufferWidth", name: "GetDrawingBufferWidth", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetDrawingBufferHeight", name: "GetDrawingBufferHeight", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetCanvas", name: "GetCanvas", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "ActiveTexture", name: "ActiveTexture", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "AttachShader", name: "AttachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "BindAttribLocation", name: "BindAttribLocation", pkg: "", typ: $funcType([ptrType$1, $Int, $String], [], false)}, {prop: "BindBuffer", name: "BindBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$2], [], false)}, {prop: "BindFrameBuffer", name: "BindFrameBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$3], [], false)}, {prop: "BindRenderBuffer", name: "BindRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$4], [], false)}, {prop: "BindTexture", name: "BindTexture", pkg: "", typ: $funcType([types.GLEnum, ptrType$5], [], false)}, {prop: "BlendColor", name: "BlendColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "BlendEquation", name: "BlendEquation", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "BlendEquationSeparate", name: "BlendEquationSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFunc", name: "BlendFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFuncSeparate", name: "BlendFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "BufferDataBySize", name: "BufferDataBySize", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum], [], false)}, {prop: "BufferData", name: "BufferData", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum], [], false)}, {prop: "BufferDataI", name: "BufferDataI", pkg: "", typ: $funcType([types.GLEnum, sliceType$14, types.GLEnum], [], false)}, {prop: "BufferDataUI", name: "BufferDataUI", pkg: "", typ: $funcType([types.GLEnum, sliceType$6, types.GLEnum], [], false)}, {prop: "BufferDataUI16", name: "BufferDataUI16", pkg: "", typ: $funcType([types.GLEnum, sliceType$5, types.GLEnum], [], false)}, {prop: "BufferDataWithOffset", name: "BufferDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataIWithOffset", name: "BufferDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$14, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataUIWithOffset", name: "BufferDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$15, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferSubData", name: "BufferSubData", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7], [], false)}, {prop: "BufferSubDataI", name: "BufferSubDataI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$14], [], false)}, {prop: "BufferSubDataUI", name: "BufferSubDataUI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$15], [], false)}, {prop: "BufferSubDataWithOffset", name: "BufferSubDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7, $Uint, $Uint], [], false)}, {prop: "BufferSubDataIWithOffset", name: "BufferSubDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$14, $Uint, $Uint], [], false)}, {prop: "BufferSubDataUIWithOffset", name: "BufferSubDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$15, $Uint, $Uint], [], false)}, {prop: "CheckFrameBufferStatus", name: "CheckFrameBufferStatus", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "Clear", name: "Clear", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "ClearColor", name: "ClearColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "ClearDepth", name: "ClearDepth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "ClearStencil", name: "ClearStencil", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "ColorMask", name: "ColorMask", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Commit", name: "Commit", pkg: "", typ: $funcType([], [], false)}, {prop: "CompileShader", name: "CompileShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "CompressedTexImage2D", name: "CompressedTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DIn", name: "CompressedTexImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7], [], false)}, {prop: "CompressedTexImage2DOffset", name: "CompressedTexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DFromOffset", name: "CompressedTexImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DOffset", name: "CompressedTexImage3DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DFromOffset", name: "CompressedTexImage3DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2D", name: "CompressedTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum], [], false)}, {prop: "CompressedTexSubImage2DIn", name: "CompressedTexSubImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "CompressedTexSubImage2DFrom", name: "CompressedTexSubImage2DFrom", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2DFromOffset", name: "CompressedTexSubImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7, $Int, $Int], [], false)}, {prop: "CopyTexImage2D", name: "CopyTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CopyTexSubImage2D", name: "CopyTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CreateVertexArray", name: "CreateVertexArray", pkg: "", typ: $funcType([], [ptrType$18], false)}, {prop: "BindVertexArray", name: "BindVertexArray", pkg: "", typ: $funcType([ptrType$18], [], false)}, {prop: "CreateBuffer", name: "CreateBuffer", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "CreateFrameBuffer", name: "CreateFrameBuffer", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "CreateProgram", name: "CreateProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "CreateRenderBuffer", name: "CreateRenderBuffer", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "CreateShader", name: "CreateShader", pkg: "", typ: $funcType([types.GLEnum], [ptrType$6], false)}, {prop: "CreateFragmentShader", name: "CreateFragmentShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateVertexShader", name: "CreateVertexShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateTexture", name: "CreateTexture", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "CullFace", name: "CullFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DeleteBuffer", name: "DeleteBuffer", pkg: "", typ: $funcType([ptrType$2], [], false)}, {prop: "DeleteFrameBuffer", name: "DeleteFrameBuffer", pkg: "", typ: $funcType([ptrType$3], [], false)}, {prop: "DeleteProgram", name: "DeleteProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "DeleteRenderBuffer", name: "DeleteRenderBuffer", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "DeleteShader", name: "DeleteShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "DeleteTexture", name: "DeleteTexture", pkg: "", typ: $funcType([ptrType$5], [], false)}, {prop: "DepthFunc", name: "DepthFunc", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DepthMask", name: "DepthMask", pkg: "", typ: $funcType([$Bool], [], false)}, {prop: "DepthRange", name: "DepthRange", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "DetachShader", name: "DetachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "Disable", name: "Disable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DisableVertexAttribArray", name: "DisableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "DrawArrays", name: "DrawArrays", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int], [], false)}, {prop: "DrawElements", name: "DrawElements", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int64], [], false)}, {prop: "Enable", name: "Enable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "EnableVertexAttribArray", name: "EnableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Finnish", name: "Finnish", pkg: "", typ: $funcType([], [], false)}, {prop: "Flush", name: "Flush", pkg: "", typ: $funcType([], [], false)}, {prop: "FrameBufferRenderbuffer", name: "FrameBufferRenderbuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$4], [], false)}, {prop: "FrameBufferTexture2D", name: "FrameBufferTexture2D", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$5, $Int], [], false)}, {prop: "FrontFace", name: "FrontFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GenerateMipmap", name: "GenerateMipmap", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GetActiveAttrib", name: "GetActiveAttrib", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$19], false)}, {prop: "GetActiveUniform", name: "GetActiveUniform", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$19], false)}, {prop: "GetAttachedShaders", name: "GetAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [sliceType$1], false)}, {prop: "GetAttribLocation", name: "GetAttribLocation", pkg: "", typ: $funcType([ptrType$1, $String], [$Int], false)}, {prop: "GetBufferParameter", name: "GetBufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetContextAttributes", name: "GetContextAttributes", pkg: "", typ: $funcType([], [ptrType$7], false)}, {prop: "GetError", name: "GetError", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetExtension", name: "GetExtension", pkg: "", typ: $funcType([$String], [ptrType$20], false)}, {prop: "GetExtensionLoseContext", name: "GetExtensionLoseContext", pkg: "", typ: $funcType([], [ptrType$21], false)}, {prop: "GetFrameBufferAttachmentParameterInt", name: "GetFrameBufferAttachmentParameterInt", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetFrameBufferAttachmentParameterEnum", name: "GetFrameBufferAttachmentParameterEnum", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [types.GLEnum], false)}, {prop: "GetFrameBufferAttachmentParameterRenderBuffer", name: "GetFrameBufferAttachmentParameterRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$4], false)}, {prop: "GetFrameBufferAttachmentParameterTexture", name: "GetFrameBufferAttachmentParameterTexture", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$5], false)}, {prop: "GetParameter", name: "GetParameter", pkg: "", typ: $funcType([types.GLEnum], [js.Value], false)}, {prop: "GetParameterActiveTexture", name: "GetParameterActiveTexture", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterAliasedLineWidthRange", name: "GetParameterAliasedLineWidthRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAliasedPointSizeRange", name: "GetParameterAliasedPointSizeRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAlphaBits", name: "GetParameterAlphaBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterArrayBufferBinding", name: "GetParameterArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterBlend", name: "GetParameterBlend", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterBlendColor", name: "GetParameterBlendColor", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterBlendDstAlpha", name: "GetParameterBlendDstAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendDstRgb", name: "GetParameterBlendDstRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquation", name: "GetParameterBlendEquation", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationAlpha", name: "GetParameterBlendEquationAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationRgb", name: "GetParameterBlendEquationRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcAlpha", name: "GetParameterBlendSrcAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcRgb", name: "GetParameterBlendSrcRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlueBits", name: "GetParameterBlueBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterColorClearValue", name: "GetParameterColorClearValue", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterColorWritemask", name: "GetParameterColorWritemask", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterCompressedTextureFormats", name: "GetParameterCompressedTextureFormats", pkg: "", typ: $funcType([], [sliceType$2], false)}, {prop: "GetParameterCullFace", name: "GetParameterCullFace", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterCullFaceMode", name: "GetParameterCullFaceMode", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterCurrentProgram", name: "GetParameterCurrentProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "GetParameterDepthBits", name: "GetParameterDepthBits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterDepthFunc", name: "GetParameterDepthFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterElementArrayBufferBinding", name: "GetParameterElementArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterFrameBufferBinding", name: "GetParameterFrameBufferBinding", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "GetParameterFrontFace", name: "GetParameterFrontFace", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGenerateMipmapHint", name: "GetParameterGenerateMipmapHint", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGreenBits", name: "GetParameterGreenBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterImplementationColorReadFormat", name: "GetParameterImplementationColorReadFormat", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterImplementationColorReadType", name: "GetParameterImplementationColorReadType", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterLineWidth", name: "GetParameterLineWidth", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterCombinedTextureImageUnits", name: "GetParameterCombinedTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxCubeMapTextureSize", name: "GetParameterMaxCubeMapTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxFragmentUniformVectors", name: "GetParameterMaxFragmentUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxRenderBufferSize", name: "GetParameterMaxRenderBufferSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureImageUnits", name: "GetParameterMaxTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureSize", name: "GetParameterMaxTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVaryingVectors", name: "GetParameterMaxVaryingVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexAttribs", name: "GetParameterMaxVertexAttribs", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexTextureImageUnits", name: "GetParameterMaxVertexTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexUniformVectors", name: "GetParameterMaxVertexUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxViewportDims", name: "GetParameterMaxViewportDims", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterPackAlignment", name: "GetParameterPackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterPolygonOffsetFactor", name: "GetParameterPolygonOffsetFactor", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterPolygonOffsetFill", name: "GetParameterPolygonOffsetFill", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterPolygonOffsetUnits", name: "GetParameterPolygonOffsetUnits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterRedBits", name: "GetParameterRedBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterRenderBufferBinding", name: "GetParameterRenderBufferBinding", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "GetParameterRenderer", name: "GetParameterRenderer", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterSampleBuffers", name: "GetParameterSampleBuffers", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterSampleCoverageInvert", name: "GetParameterSampleCoverageInvert", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterSampleCoverageValue", name: "GetParameterSampleCoverageValue", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterSamples", name: "GetParameterSamples", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterScissorBox", name: "GetParameterScissorBox", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterScissorTest", name: "GetParameterScissorTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterShadingLanguageVersion", name: "GetParameterShadingLanguageVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterStencilBackFail", name: "GetParameterStencilBackFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackFunc", name: "GetParameterStencilBackFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthFail", name: "GetParameterStencilBackPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthPass", name: "GetParameterStencilBackPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackRef", name: "GetParameterStencilBackRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilBackValueMask", name: "GetParameterStencilBackValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBackWritemask", name: "GetParameterStencilBackWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBits", name: "GetParameterStencilBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilClearValue", name: "GetParameterStencilClearValue", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilFail", name: "GetParameterStencilFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilFunc", name: "GetParameterStencilFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthFail", name: "GetParameterStencilPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthPass", name: "GetParameterStencilPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilRef", name: "GetParameterStencilRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilTest", name: "GetParameterStencilTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterStencilValueMask", name: "GetParameterStencilValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilWritemask", name: "GetParameterStencilWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterSubpixelBits", name: "GetParameterSubpixelBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterTextureBinding2D", name: "GetParameterTextureBinding2D", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterTextureBindingCubeMap", name: "GetParameterTextureBindingCubeMap", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterUnpackAlignment", name: "GetParameterUnpackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterUnpackColorspaceConversionWebGL", name: "GetParameterUnpackColorspaceConversionWebGL", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterUnpackFlipYWebGL", name: "GetParameterUnpackFlipYWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterUnpackPremultiplyAlphaWebGL", name: "GetParameterUnpackPremultiplyAlphaWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterVendor", name: "GetParameterVendor", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterVersion", name: "GetParameterVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterViewport", name: "GetParameterViewport", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetProgramInfoLog", name: "GetProgramInfoLog", pkg: "", typ: $funcType([ptrType$1], [$String], false)}, {prop: "GetProgramParameter", name: "GetProgramParameter", pkg: "", typ: $funcType([ptrType$1, types.GLEnum], [js.Value], false)}, {prop: "GetProgramParameterDeleteStatus", name: "GetProgramParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterLinkStatus", name: "GetProgramParameterLinkStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterValidateStatus", name: "GetProgramParameterValidateStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterAttachedShaders", name: "GetProgramParameterAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveAttributes", name: "GetProgramParameterActiveAttributes", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniforms", name: "GetProgramParameterActiveUniforms", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterTransformFeedbackBufferMode", name: "GetProgramParameterTransformFeedbackBufferMode", pkg: "", typ: $funcType([ptrType$1], [types.GLEnum], false)}, {prop: "GetProgramParameterTransformFeedbackVaryings", name: "GetProgramParameterTransformFeedbackVaryings", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniformBlocks", name: "GetProgramParameterActiveUniformBlocks", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetRenderbufferParameter", name: "GetRenderbufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetRenderbufferParameterRenderBufferWidth", name: "GetRenderbufferParameterRenderBufferWidth", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferHeight", name: "GetRenderbufferParameterRenderBufferHeight", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferInternalFormat", name: "GetRenderbufferParameterRenderBufferInternalFormat", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetRenderbufferParameterRenderBufferGreenSize", name: "GetRenderbufferParameterRenderBufferGreenSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferBlueSize", name: "GetRenderbufferParameterRenderBufferBlueSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferRedSize", name: "GetRenderbufferParameterRenderBufferRedSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferAlphaSize", name: "GetRenderbufferParameterRenderBufferAlphaSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferDepthSize", name: "GetRenderbufferParameterRenderBufferDepthSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferStencilSize", name: "GetRenderbufferParameterRenderBufferStencilSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferSamples", name: "GetRenderbufferParameterRenderBufferSamples", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetShaderInfoLog", name: "GetShaderInfoLog", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetShaderParameter", name: "GetShaderParameter", pkg: "", typ: $funcType([ptrType$6, types.GLEnum], [js.Value], false)}, {prop: "GetShaderParameterDeleteStatus", name: "GetShaderParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterCompileStatus", name: "GetShaderParameterCompileStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterShaderType", name: "GetShaderParameterShaderType", pkg: "", typ: $funcType([ptrType$6], [types.GLEnum], false)}, {prop: "GetShaderPrecisionFormat", name: "GetShaderPrecisionFormat", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [ptrType$22], false)}, {prop: "GetShaderSource", name: "GetShaderSource", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetSupportedExtensions", name: "GetSupportedExtensions", pkg: "", typ: $funcType([], [sliceType$3], false)}, {prop: "GetTexParameter", name: "GetTexParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetTexParameterMagFilter", name: "GetTexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMinFilter", name: "GetTexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapS", name: "GetTexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapT", name: "GetTexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMaxAnisotropyExt", name: "GetTexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterBaseLevel", name: "GetTexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterCompareFunc", name: "GetTexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterCompareMode", name: "GetTexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterImmutableFormat", name: "GetTexParameterImmutableFormat", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "GetTexParameterImmutableLevels", name: "GetTexParameterImmutableLevels", pkg: "", typ: $funcType([types.GLEnum], [$Uint], false)}, {prop: "GetTexParameterMaxLever", name: "GetTexParameterMaxLever", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterMaxLOD", name: "GetTexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterMinLOD", name: "GetTexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterWrapR", name: "GetTexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetUniform", name: "GetUniform", pkg: "", typ: $funcType([ptrType$1, ptrType$23], [js.Value], false)}, {prop: "GetUniformLocation", name: "GetUniformLocation", pkg: "", typ: $funcType([ptrType$1, $String], [ptrType$23], false)}, {prop: "GetVertexAttrib", name: "GetVertexAttrib", pkg: "", typ: $funcType([$Int, types.GLEnum], [js.Value], false)}, {prop: "GetVertexAttribArrayBufferBinding", name: "GetVertexAttribArrayBufferBinding", pkg: "", typ: $funcType([$Int], [ptrType$2], false)}, {prop: "GetVertexAttribArrayBufferEnabled", name: "GetVertexAttribArrayBufferEnabled", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArraySize", name: "GetVertexAttribArraySize", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayStride", name: "GetVertexAttribArrayStride", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayType", name: "GetVertexAttribArrayType", pkg: "", typ: $funcType([$Int], [types.GLEnum], false)}, {prop: "GetVertexAttribArrayNormalized", name: "GetVertexAttribArrayNormalized", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribCurrentVertexAttrib", name: "GetVertexAttribCurrentVertexAttrib", pkg: "", typ: $funcType([$Int], [arrayType$2], false)}, {prop: "GetVertexAttribArrayInteger", name: "GetVertexAttribArrayInteger", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArrayDivisor", name: "GetVertexAttribArrayDivisor", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayDivisorAngle", name: "GetVertexAttribArrayDivisorAngle", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribOffset", name: "GetVertexAttribOffset", pkg: "", typ: $funcType([$Int, types.GLEnum], [$Int], false)}, {prop: "Hint", name: "Hint", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "IsBuffer", name: "IsBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsContextLost", name: "IsContextLost", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "IsEnabled", name: "IsEnabled", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "IsFrameBuffer", name: "IsFrameBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsProgram", name: "IsProgram", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsRenderbuffer", name: "IsRenderbuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsShader", name: "IsShader", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsTexture", name: "IsTexture", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "LineWidth", name: "LineWidth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "LinkProgram", name: "LinkProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "PixelStorei", name: "PixelStorei", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "PolygonOffset", name: "PolygonOffset", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "ReadPixels", name: "ReadPixels", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value], [], false)}, {prop: "ReadPixelsOffset", name: "ReadPixelsOffset", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value, $Uint], [], false)}, {prop: "ReadPixelsOffsetPointer", name: "ReadPixelsOffsetPointer", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, $Int], [], false)}, {prop: "RenderbufferStorage", name: "RenderbufferStorage", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [], false)}, {prop: "SampleCoverage", name: "SampleCoverage", pkg: "", typ: $funcType([$Float32, $Bool], [], false)}, {prop: "Scissor", name: "Scissor", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: "ShaderSource", name: "ShaderSource", pkg: "", typ: $funcType([ptrType$6, $String], [], false)}, {prop: "StencilFunc", name: "StencilFunc", pkg: "", typ: $funcType([types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilFuncSeparate", name: "StencilFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilMask", name: "StencilMask", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "StencilMaskSeparate", name: "StencilMaskSeparate", pkg: "", typ: $funcType([types.GLEnum, $Uint32], [], false)}, {prop: "StencilOp", name: "StencilOp", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "StencilOpSeparate", name: "StencilOpSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexImage2Db", name: "TexImage2Db", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$4], [], false)}, {prop: "TexImage2Dui16", name: "TexImage2Dui16", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$5], [], false)}, {prop: "TexImage2Dui32", name: "TexImage2Dui32", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$6], [], false)}, {prop: "TexImage2Df", name: "TexImage2Df", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "TexImage2DHtmlElement", name: "TexImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2DOffset", name: "TexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexImage2DHtmlElement2", name: "TexImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2D2", name: "TexImage2D2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$7, $Int], [], false)}, {prop: "TexParameterf", name: "TexParameterf", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Float32], [], false)}, {prop: "TexParameteri", name: "TexParameteri", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "texParameterEnum", name: "texParameterEnum", pkg: "github.com/nuberu/webgl", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMagFilter", name: "TexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMinFilter", name: "TexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapS", name: "TexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapT", name: "TexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxAnisotropyExt", name: "TexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum, $Float32], [], false)}, {prop: "TexParameterBaseLevel", name: "TexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterCompareFunc", name: "TexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterCompareMode", name: "TexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxLevel", name: "TexParameterMaxLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMaxLOD", name: "TexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMinLOD", name: "TexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterWrapR", name: "TexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexSubImage2D", name: "TexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DHtmlElement", name: "TexSubImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DOffset", name: "TexSubImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DOffset2", name: "TexSubImage2DOffset2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DHtmlElement2", name: "TexSubImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "Uniform1f", name: "Uniform1f", pkg: "", typ: $funcType([ptrType$23, $Float32], [], false)}, {prop: "Uniform1fv", name: "Uniform1fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform1i", name: "Uniform1i", pkg: "", typ: $funcType([ptrType$23, $Int], [], false)}, {prop: "Uniform1iv", name: "Uniform1iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform2f", name: "Uniform2f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32], [], false)}, {prop: "Uniform2fv", name: "Uniform2fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform2i", name: "Uniform2i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int], [], false)}, {prop: "Uniform2iv", name: "Uniform2iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform3f", name: "Uniform3f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform3fv", name: "Uniform3fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform3i", name: "Uniform3i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int, $Int], [], false)}, {prop: "Uniform3iv", name: "Uniform3iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform4f", name: "Uniform4f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform4fv", name: "Uniform4fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform4i", name: "Uniform4i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int, $Int, $Int], [], false)}, {prop: "Uniform4iv", name: "Uniform4iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "UniformMatrix2fv", name: "UniformMatrix2fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix3fv", name: "UniformMatrix3fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix4fv", name: "UniformMatrix4fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UseProgram", name: "UseProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "ValidateProgram", name: "ValidateProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "VertexAttrib1f", name: "VertexAttrib1f", pkg: "", typ: $funcType([$Int, $Float32], [], false)}, {prop: "VertexAttrib2f", name: "VertexAttrib2f", pkg: "", typ: $funcType([$Int, $Float32, $Float32], [], false)}, {prop: "VertexAttrib3f", name: "VertexAttrib3f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib4f", name: "VertexAttrib4f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib1fv", name: "VertexAttrib1fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib2fv", name: "VertexAttrib2fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib3fv", name: "VertexAttrib3fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib4fv", name: "VertexAttrib4fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttribPointer", name: "VertexAttribPointer", pkg: "", typ: $funcType([$Int, $Int, types.GLEnum, $Bool, $Int, $Int], [], false)}, {prop: "Viewport", name: "Viewport", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}];
186585
+ ptrType.methods = [{prop: "GetJs", name: "GetJs", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "GetDrawingBufferWidth", name: "GetDrawingBufferWidth", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetDrawingBufferHeight", name: "GetDrawingBufferHeight", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetCanvas", name: "GetCanvas", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "ActiveTexture", name: "ActiveTexture", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "AttachShader", name: "AttachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "BindAttribLocation", name: "BindAttribLocation", pkg: "", typ: $funcType([ptrType$1, $Int, $String], [], false)}, {prop: "BindBuffer", name: "BindBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$2], [], false)}, {prop: "BindFrameBuffer", name: "BindFrameBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$3], [], false)}, {prop: "BindRenderBuffer", name: "BindRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$4], [], false)}, {prop: "BindTexture", name: "BindTexture", pkg: "", typ: $funcType([types.GLEnum, ptrType$5], [], false)}, {prop: "BlendColor", name: "BlendColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "BlendEquation", name: "BlendEquation", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "BlendEquationSeparate", name: "BlendEquationSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFunc", name: "BlendFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFuncSeparate", name: "BlendFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "BufferDataBySize", name: "BufferDataBySize", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum], [], false)}, {prop: "BufferData", name: "BufferData", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum], [], false)}, {prop: "BufferDataI", name: "BufferDataI", pkg: "", typ: $funcType([types.GLEnum, sliceType$12, types.GLEnum], [], false)}, {prop: "BufferDataUI", name: "BufferDataUI", pkg: "", typ: $funcType([types.GLEnum, sliceType$6, types.GLEnum], [], false)}, {prop: "BufferDataUI16", name: "BufferDataUI16", pkg: "", typ: $funcType([types.GLEnum, sliceType$5, types.GLEnum], [], false)}, {prop: "BufferDataWithOffset", name: "BufferDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataIWithOffset", name: "BufferDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$12, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataUIWithOffset", name: "BufferDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$13, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferSubData", name: "BufferSubData", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7], [], false)}, {prop: "BufferSubDataI", name: "BufferSubDataI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$12], [], false)}, {prop: "BufferSubDataUI", name: "BufferSubDataUI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$13], [], false)}, {prop: "BufferSubDataWithOffset", name: "BufferSubDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7, $Uint, $Uint], [], false)}, {prop: "BufferSubDataIWithOffset", name: "BufferSubDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$12, $Uint, $Uint], [], false)}, {prop: "BufferSubDataUIWithOffset", name: "BufferSubDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$13, $Uint, $Uint], [], false)}, {prop: "CheckFrameBufferStatus", name: "CheckFrameBufferStatus", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "Clear", name: "Clear", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "ClearColor", name: "ClearColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "ClearDepth", name: "ClearDepth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "ClearStencil", name: "ClearStencil", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "ColorMask", name: "ColorMask", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Commit", name: "Commit", pkg: "", typ: $funcType([], [], false)}, {prop: "CompileShader", name: "CompileShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "CompressedTexImage2D", name: "CompressedTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DIn", name: "CompressedTexImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7], [], false)}, {prop: "CompressedTexImage2DOffset", name: "CompressedTexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DFromOffset", name: "CompressedTexImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DOffset", name: "CompressedTexImage3DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DFromOffset", name: "CompressedTexImage3DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2D", name: "CompressedTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum], [], false)}, {prop: "CompressedTexSubImage2DIn", name: "CompressedTexSubImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "CompressedTexSubImage2DFrom", name: "CompressedTexSubImage2DFrom", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2DFromOffset", name: "CompressedTexSubImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7, $Int, $Int], [], false)}, {prop: "CopyTexImage2D", name: "CopyTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CopyTexSubImage2D", name: "CopyTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CreateVertexArray", name: "CreateVertexArray", pkg: "", typ: $funcType([], [ptrType$8], false)}, {prop: "BindVertexArray", name: "BindVertexArray", pkg: "", typ: $funcType([ptrType$8], [], false)}, {prop: "CreateBuffer", name: "CreateBuffer", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "CreateFrameBuffer", name: "CreateFrameBuffer", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "CreateProgram", name: "CreateProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "CreateRenderBuffer", name: "CreateRenderBuffer", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "CreateShader", name: "CreateShader", pkg: "", typ: $funcType([types.GLEnum], [ptrType$6], false)}, {prop: "CreateFragmentShader", name: "CreateFragmentShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateVertexShader", name: "CreateVertexShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateTexture", name: "CreateTexture", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "CullFace", name: "CullFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DeleteBuffer", name: "DeleteBuffer", pkg: "", typ: $funcType([ptrType$2], [], false)}, {prop: "DeleteFrameBuffer", name: "DeleteFrameBuffer", pkg: "", typ: $funcType([ptrType$3], [], false)}, {prop: "DeleteProgram", name: "DeleteProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "DeleteRenderBuffer", name: "DeleteRenderBuffer", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "DeleteShader", name: "DeleteShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "DeleteTexture", name: "DeleteTexture", pkg: "", typ: $funcType([ptrType$5], [], false)}, {prop: "DepthFunc", name: "DepthFunc", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DepthMask", name: "DepthMask", pkg: "", typ: $funcType([$Bool], [], false)}, {prop: "DepthRange", name: "DepthRange", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "DetachShader", name: "DetachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "Disable", name: "Disable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DisableVertexAttribArray", name: "DisableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "DrawArrays", name: "DrawArrays", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int], [], false)}, {prop: "DrawElements", name: "DrawElements", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int64], [], false)}, {prop: "Enable", name: "Enable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "EnableVertexAttribArray", name: "EnableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Finnish", name: "Finnish", pkg: "", typ: $funcType([], [], false)}, {prop: "Flush", name: "Flush", pkg: "", typ: $funcType([], [], false)}, {prop: "FrameBufferRenderbuffer", name: "FrameBufferRenderbuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$4], [], false)}, {prop: "FrameBufferTexture2D", name: "FrameBufferTexture2D", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$5, $Int], [], false)}, {prop: "FrontFace", name: "FrontFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GenerateMipmap", name: "GenerateMipmap", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GetActiveAttrib", name: "GetActiveAttrib", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$9], false)}, {prop: "GetActiveUniform", name: "GetActiveUniform", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$9], false)}, {prop: "GetAttachedShaders", name: "GetAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [sliceType$1], false)}, {prop: "GetAttribLocation", name: "GetAttribLocation", pkg: "", typ: $funcType([ptrType$1, $String], [$Int], false)}, {prop: "GetBufferParameter", name: "GetBufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetContextAttributes", name: "GetContextAttributes", pkg: "", typ: $funcType([], [ptrType$7], false)}, {prop: "GetError", name: "GetError", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetExtension", name: "GetExtension", pkg: "", typ: $funcType([$String], [ptrType$10], false)}, {prop: "GetExtensionLoseContext", name: "GetExtensionLoseContext", pkg: "", typ: $funcType([], [ptrType$11], false)}, {prop: "GetFrameBufferAttachmentParameterInt", name: "GetFrameBufferAttachmentParameterInt", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetFrameBufferAttachmentParameterEnum", name: "GetFrameBufferAttachmentParameterEnum", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [types.GLEnum], false)}, {prop: "GetFrameBufferAttachmentParameterRenderBuffer", name: "GetFrameBufferAttachmentParameterRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$4], false)}, {prop: "GetFrameBufferAttachmentParameterTexture", name: "GetFrameBufferAttachmentParameterTexture", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$5], false)}, {prop: "GetParameter", name: "GetParameter", pkg: "", typ: $funcType([types.GLEnum], [js.Value], false)}, {prop: "GetParameterActiveTexture", name: "GetParameterActiveTexture", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterAliasedLineWidthRange", name: "GetParameterAliasedLineWidthRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAliasedPointSizeRange", name: "GetParameterAliasedPointSizeRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAlphaBits", name: "GetParameterAlphaBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterArrayBufferBinding", name: "GetParameterArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterBlend", name: "GetParameterBlend", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterBlendColor", name: "GetParameterBlendColor", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterBlendDstAlpha", name: "GetParameterBlendDstAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendDstRgb", name: "GetParameterBlendDstRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquation", name: "GetParameterBlendEquation", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationAlpha", name: "GetParameterBlendEquationAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationRgb", name: "GetParameterBlendEquationRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcAlpha", name: "GetParameterBlendSrcAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcRgb", name: "GetParameterBlendSrcRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlueBits", name: "GetParameterBlueBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterColorClearValue", name: "GetParameterColorClearValue", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterColorWritemask", name: "GetParameterColorWritemask", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterCompressedTextureFormats", name: "GetParameterCompressedTextureFormats", pkg: "", typ: $funcType([], [sliceType$2], false)}, {prop: "GetParameterCullFace", name: "GetParameterCullFace", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterCullFaceMode", name: "GetParameterCullFaceMode", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterCurrentProgram", name: "GetParameterCurrentProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "GetParameterDepthBits", name: "GetParameterDepthBits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterDepthFunc", name: "GetParameterDepthFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterElementArrayBufferBinding", name: "GetParameterElementArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterFrameBufferBinding", name: "GetParameterFrameBufferBinding", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "GetParameterFrontFace", name: "GetParameterFrontFace", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGenerateMipmapHint", name: "GetParameterGenerateMipmapHint", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGreenBits", name: "GetParameterGreenBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterImplementationColorReadFormat", name: "GetParameterImplementationColorReadFormat", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterImplementationColorReadType", name: "GetParameterImplementationColorReadType", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterLineWidth", name: "GetParameterLineWidth", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterCombinedTextureImageUnits", name: "GetParameterCombinedTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxCubeMapTextureSize", name: "GetParameterMaxCubeMapTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxFragmentUniformVectors", name: "GetParameterMaxFragmentUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxRenderBufferSize", name: "GetParameterMaxRenderBufferSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureImageUnits", name: "GetParameterMaxTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureSize", name: "GetParameterMaxTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVaryingVectors", name: "GetParameterMaxVaryingVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexAttribs", name: "GetParameterMaxVertexAttribs", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexTextureImageUnits", name: "GetParameterMaxVertexTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexUniformVectors", name: "GetParameterMaxVertexUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxViewportDims", name: "GetParameterMaxViewportDims", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterPackAlignment", name: "GetParameterPackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterPolygonOffsetFactor", name: "GetParameterPolygonOffsetFactor", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterPolygonOffsetFill", name: "GetParameterPolygonOffsetFill", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterPolygonOffsetUnits", name: "GetParameterPolygonOffsetUnits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterRedBits", name: "GetParameterRedBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterRenderBufferBinding", name: "GetParameterRenderBufferBinding", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "GetParameterRenderer", name: "GetParameterRenderer", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterSampleBuffers", name: "GetParameterSampleBuffers", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterSampleCoverageInvert", name: "GetParameterSampleCoverageInvert", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterSampleCoverageValue", name: "GetParameterSampleCoverageValue", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterSamples", name: "GetParameterSamples", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterScissorBox", name: "GetParameterScissorBox", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterScissorTest", name: "GetParameterScissorTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterShadingLanguageVersion", name: "GetParameterShadingLanguageVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterStencilBackFail", name: "GetParameterStencilBackFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackFunc", name: "GetParameterStencilBackFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthFail", name: "GetParameterStencilBackPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthPass", name: "GetParameterStencilBackPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackRef", name: "GetParameterStencilBackRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilBackValueMask", name: "GetParameterStencilBackValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBackWritemask", name: "GetParameterStencilBackWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBits", name: "GetParameterStencilBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilClearValue", name: "GetParameterStencilClearValue", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilFail", name: "GetParameterStencilFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilFunc", name: "GetParameterStencilFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthFail", name: "GetParameterStencilPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthPass", name: "GetParameterStencilPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilRef", name: "GetParameterStencilRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilTest", name: "GetParameterStencilTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterStencilValueMask", name: "GetParameterStencilValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilWritemask", name: "GetParameterStencilWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterSubpixelBits", name: "GetParameterSubpixelBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterTextureBinding2D", name: "GetParameterTextureBinding2D", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterTextureBindingCubeMap", name: "GetParameterTextureBindingCubeMap", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterUnpackAlignment", name: "GetParameterUnpackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterUnpackColorspaceConversionWebGL", name: "GetParameterUnpackColorspaceConversionWebGL", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterUnpackFlipYWebGL", name: "GetParameterUnpackFlipYWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterUnpackPremultiplyAlphaWebGL", name: "GetParameterUnpackPremultiplyAlphaWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterVendor", name: "GetParameterVendor", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterVersion", name: "GetParameterVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterViewport", name: "GetParameterViewport", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetProgramInfoLog", name: "GetProgramInfoLog", pkg: "", typ: $funcType([ptrType$1], [$String], false)}, {prop: "GetProgramParameter", name: "GetProgramParameter", pkg: "", typ: $funcType([ptrType$1, types.GLEnum], [js.Value], false)}, {prop: "GetProgramParameterDeleteStatus", name: "GetProgramParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterLinkStatus", name: "GetProgramParameterLinkStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterValidateStatus", name: "GetProgramParameterValidateStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterAttachedShaders", name: "GetProgramParameterAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveAttributes", name: "GetProgramParameterActiveAttributes", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniforms", name: "GetProgramParameterActiveUniforms", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterTransformFeedbackBufferMode", name: "GetProgramParameterTransformFeedbackBufferMode", pkg: "", typ: $funcType([ptrType$1], [types.GLEnum], false)}, {prop: "GetProgramParameterTransformFeedbackVaryings", name: "GetProgramParameterTransformFeedbackVaryings", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniformBlocks", name: "GetProgramParameterActiveUniformBlocks", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetRenderbufferParameter", name: "GetRenderbufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetRenderbufferParameterRenderBufferWidth", name: "GetRenderbufferParameterRenderBufferWidth", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferHeight", name: "GetRenderbufferParameterRenderBufferHeight", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferInternalFormat", name: "GetRenderbufferParameterRenderBufferInternalFormat", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetRenderbufferParameterRenderBufferGreenSize", name: "GetRenderbufferParameterRenderBufferGreenSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferBlueSize", name: "GetRenderbufferParameterRenderBufferBlueSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferRedSize", name: "GetRenderbufferParameterRenderBufferRedSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferAlphaSize", name: "GetRenderbufferParameterRenderBufferAlphaSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferDepthSize", name: "GetRenderbufferParameterRenderBufferDepthSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferStencilSize", name: "GetRenderbufferParameterRenderBufferStencilSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferSamples", name: "GetRenderbufferParameterRenderBufferSamples", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetShaderInfoLog", name: "GetShaderInfoLog", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetShaderParameter", name: "GetShaderParameter", pkg: "", typ: $funcType([ptrType$6, types.GLEnum], [js.Value], false)}, {prop: "GetShaderParameterDeleteStatus", name: "GetShaderParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterCompileStatus", name: "GetShaderParameterCompileStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterShaderType", name: "GetShaderParameterShaderType", pkg: "", typ: $funcType([ptrType$6], [types.GLEnum], false)}, {prop: "GetShaderPrecisionFormat", name: "GetShaderPrecisionFormat", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [ptrType$12], false)}, {prop: "GetShaderSource", name: "GetShaderSource", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetSupportedExtensions", name: "GetSupportedExtensions", pkg: "", typ: $funcType([], [sliceType$3], false)}, {prop: "GetTexParameter", name: "GetTexParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetTexParameterMagFilter", name: "GetTexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMinFilter", name: "GetTexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapS", name: "GetTexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapT", name: "GetTexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMaxAnisotropyExt", name: "GetTexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterBaseLevel", name: "GetTexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterCompareFunc", name: "GetTexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterCompareMode", name: "GetTexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterImmutableFormat", name: "GetTexParameterImmutableFormat", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "GetTexParameterImmutableLevels", name: "GetTexParameterImmutableLevels", pkg: "", typ: $funcType([types.GLEnum], [$Uint], false)}, {prop: "GetTexParameterMaxLever", name: "GetTexParameterMaxLever", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterMaxLOD", name: "GetTexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterMinLOD", name: "GetTexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterWrapR", name: "GetTexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetUniform", name: "GetUniform", pkg: "", typ: $funcType([ptrType$1, ptrType$13], [js.Value], false)}, {prop: "GetUniformLocation", name: "GetUniformLocation", pkg: "", typ: $funcType([ptrType$1, $String], [ptrType$13], false)}, {prop: "GetVertexAttrib", name: "GetVertexAttrib", pkg: "", typ: $funcType([$Int, types.GLEnum], [js.Value], false)}, {prop: "GetVertexAttribArrayBufferBinding", name: "GetVertexAttribArrayBufferBinding", pkg: "", typ: $funcType([$Int], [ptrType$2], false)}, {prop: "GetVertexAttribArrayBufferEnabled", name: "GetVertexAttribArrayBufferEnabled", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArraySize", name: "GetVertexAttribArraySize", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayStride", name: "GetVertexAttribArrayStride", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayType", name: "GetVertexAttribArrayType", pkg: "", typ: $funcType([$Int], [types.GLEnum], false)}, {prop: "GetVertexAttribArrayNormalized", name: "GetVertexAttribArrayNormalized", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribCurrentVertexAttrib", name: "GetVertexAttribCurrentVertexAttrib", pkg: "", typ: $funcType([$Int], [arrayType$2], false)}, {prop: "GetVertexAttribArrayInteger", name: "GetVertexAttribArrayInteger", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArrayDivisor", name: "GetVertexAttribArrayDivisor", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayDivisorAngle", name: "GetVertexAttribArrayDivisorAngle", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribOffset", name: "GetVertexAttribOffset", pkg: "", typ: $funcType([$Int, types.GLEnum], [$Int], false)}, {prop: "Hint", name: "Hint", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "IsBuffer", name: "IsBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsContextLost", name: "IsContextLost", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "IsEnabled", name: "IsEnabled", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "IsFrameBuffer", name: "IsFrameBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsProgram", name: "IsProgram", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsRenderbuffer", name: "IsRenderbuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsShader", name: "IsShader", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsTexture", name: "IsTexture", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "LineWidth", name: "LineWidth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "LinkProgram", name: "LinkProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "PixelStorei", name: "PixelStorei", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "PolygonOffset", name: "PolygonOffset", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "ReadPixels", name: "ReadPixels", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value], [], false)}, {prop: "ReadPixelsOffset", name: "ReadPixelsOffset", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value, $Uint], [], false)}, {prop: "ReadPixelsOffsetPointer", name: "ReadPixelsOffsetPointer", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, $Int], [], false)}, {prop: "RenderbufferStorage", name: "RenderbufferStorage", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [], false)}, {prop: "SampleCoverage", name: "SampleCoverage", pkg: "", typ: $funcType([$Float32, $Bool], [], false)}, {prop: "Scissor", name: "Scissor", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: "ShaderSource", name: "ShaderSource", pkg: "", typ: $funcType([ptrType$6, $String], [], false)}, {prop: "StencilFunc", name: "StencilFunc", pkg: "", typ: $funcType([types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilFuncSeparate", name: "StencilFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilMask", name: "StencilMask", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "StencilMaskSeparate", name: "StencilMaskSeparate", pkg: "", typ: $funcType([types.GLEnum, $Uint32], [], false)}, {prop: "StencilOp", name: "StencilOp", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "StencilOpSeparate", name: "StencilOpSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexImage2Db", name: "TexImage2Db", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$4], [], false)}, {prop: "TexImage2Dui16", name: "TexImage2Dui16", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$5], [], false)}, {prop: "TexImage2Dui32", name: "TexImage2Dui32", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$6], [], false)}, {prop: "TexImage2Df", name: "TexImage2Df", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "TexImage2DHtmlElement", name: "TexImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2DOffset", name: "TexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexImage2DHtmlElement2", name: "TexImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2D2", name: "TexImage2D2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$7, $Int], [], false)}, {prop: "TexParameterf", name: "TexParameterf", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Float32], [], false)}, {prop: "TexParameteri", name: "TexParameteri", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "texParameterEnum", name: "texParameterEnum", pkg: "github.com/nuberu/webgl", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMagFilter", name: "TexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMinFilter", name: "TexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapS", name: "TexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapT", name: "TexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxAnisotropyExt", name: "TexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum, $Float32], [], false)}, {prop: "TexParameterBaseLevel", name: "TexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterCompareFunc", name: "TexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterCompareMode", name: "TexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxLevel", name: "TexParameterMaxLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMaxLOD", name: "TexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMinLOD", name: "TexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterWrapR", name: "TexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexSubImage2D", name: "TexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DHtmlElement", name: "TexSubImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DOffset", name: "TexSubImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DOffset2", name: "TexSubImage2DOffset2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DHtmlElement2", name: "TexSubImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "Uniform1f", name: "Uniform1f", pkg: "", typ: $funcType([ptrType$13, $Float32], [], false)}, {prop: "Uniform1fv", name: "Uniform1fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform1i", name: "Uniform1i", pkg: "", typ: $funcType([ptrType$13, $Int], [], false)}, {prop: "Uniform1iv", name: "Uniform1iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform2f", name: "Uniform2f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32], [], false)}, {prop: "Uniform2fv", name: "Uniform2fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform2i", name: "Uniform2i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int], [], false)}, {prop: "Uniform2iv", name: "Uniform2iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform3f", name: "Uniform3f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform3fv", name: "Uniform3fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform3i", name: "Uniform3i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int, $Int], [], false)}, {prop: "Uniform3iv", name: "Uniform3iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform4f", name: "Uniform4f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform4fv", name: "Uniform4fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform4i", name: "Uniform4i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int, $Int, $Int], [], false)}, {prop: "Uniform4iv", name: "Uniform4iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "UniformMatrix2fv", name: "UniformMatrix2fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix3fv", name: "UniformMatrix3fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix4fv", name: "UniformMatrix4fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UseProgram", name: "UseProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "ValidateProgram", name: "ValidateProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "VertexAttrib1f", name: "VertexAttrib1f", pkg: "", typ: $funcType([$Int, $Float32], [], false)}, {prop: "VertexAttrib2f", name: "VertexAttrib2f", pkg: "", typ: $funcType([$Int, $Float32, $Float32], [], false)}, {prop: "VertexAttrib3f", name: "VertexAttrib3f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib4f", name: "VertexAttrib4f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib1fv", name: "VertexAttrib1fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib2fv", name: "VertexAttrib2fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib3fv", name: "VertexAttrib3fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib4fv", name: "VertexAttrib4fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttribPointer", name: "VertexAttribPointer", pkg: "", typ: $funcType([$Int, $Int, types.GLEnum, $Bool, $Int, $Int], [], false)}, {prop: "Viewport", name: "Viewport", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}];
186614
186586
  RenderingContext.init("github.com/nuberu/webgl", [{prop: "loaded", name: "loaded", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "js", name: "js", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "version", name: "version", embedded: false, exported: false, typ: $Uint, tag: ""}]);
186615
186587
  $init = function() {
186616
186588
  $pkg.$init = function() {};
@@ -186619,469 +186591,8 @@ $packages["github.com/nuberu/webgl"] = (function() {
186619
186591
  $r = fmt.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186620
186592
  $r = extensions.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186621
186593
  $r = types.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186622
- $r = reflect.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186623
- $r = runtime.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186624
- $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186625
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
186626
- };
186627
- $pkg.$init = $init;
186628
- return $pkg;
186629
- })();
186630
- $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
186631
- var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
186632
- focus = $packages["golang.org/x/mobile/event/focus"];
186633
- key = $packages["golang.org/x/mobile/event/key"];
186634
- mouse = $packages["golang.org/x/mobile/event/mouse"];
186635
- size = $packages["golang.org/x/mobile/event/size"];
186636
- geom = $packages["golang.org/x/mobile/geom"];
186637
- math = $packages["math"];
186638
- strings = $packages["strings"];
186639
- js = $packages["syscall/js"];
186640
- DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/internal/dom", true, function(eventChan_, releases_) {
186641
- this.$val = this;
186642
- if (arguments.length === 0) {
186643
- this.eventChan = $chanNil;
186644
- this.releases = sliceType$1.nil;
186645
- return;
186646
- }
186647
- this.eventChan = eventChan_;
186648
- this.releases = releases_;
186649
- });
186650
- sliceType = $sliceType($emptyInterface);
186651
- funcType = $funcType([], [], false);
186652
- sliceType$1 = $sliceType(funcType);
186653
- sliceType$2 = $sliceType($Int32);
186654
- chanType = $chanType($emptyInterface, false, false);
186655
- ptrType = $ptrType(DomEvents);
186656
- GetDocWidth = function() {
186657
- return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
186658
- };
186659
- $pkg.GetDocWidth = GetDocWidth;
186660
- GetDocHeight = function() {
186661
- return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
186662
- };
186663
- $pkg.GetDocHeight = GetDocHeight;
186664
- GetScreenWidth = function() {
186665
- return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
186666
- };
186667
- $pkg.GetScreenWidth = GetScreenWidth;
186668
- GetScreenHeight = function() {
186669
- return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
186670
- };
186671
- $pkg.GetScreenHeight = GetScreenHeight;
186672
- GetBrowserZoomRatio = function() {
186673
- var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
186674
- windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
186675
- windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
186676
- docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
186677
- scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
186678
- chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
186679
- scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
186680
- chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
186681
- scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
186682
- chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
186683
- return chromeZoom3;
186684
- };
186685
- $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
186686
- SetWindowWidth = function(newInnerWidth) {
186687
- var {_r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r, $c} = $restore(this, {newInnerWidth});
186688
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186689
- innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
186690
- outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
186691
- outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
186692
- newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
186693
- screenWidth = GetScreenWidth();
186694
- if (newOuterWidth > screenWidth) {
186695
- newOuterWidth = screenWidth;
186696
- }
186697
- _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186698
- _r;
186699
- $s = -1; return;
186700
- /* */ } return; } var $f = {$blk: SetWindowWidth, $c: true, $r, _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s};return $f;
186701
- };
186702
- $pkg.SetWindowWidth = SetWindowWidth;
186703
- SetWindowHeight = function(newInnerHeight) {
186704
- var {_r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r, $c} = $restore(this, {newInnerHeight});
186705
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186706
- innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
186707
- outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
186708
- outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
186709
- newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
186710
- screenHeight = GetScreenHeight();
186711
- if (newOuterHeight > screenHeight) {
186712
- newOuterHeight = screenHeight;
186713
- }
186714
- _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186715
- _r;
186716
- $s = -1; return;
186717
- /* */ } return; } var $f = {$blk: SetWindowHeight, $c: true, $r, _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s};return $f;
186718
- };
186719
- $pkg.SetWindowHeight = SetWindowHeight;
186720
- GetOrientation = function() {
186721
- var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
186722
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
186723
- orientation = [orientation];
186724
- orientation[0] = 0;
186725
- $deferred.push([(function(orientation) { return function() {
186726
- if (!($interfaceIsEqual($recover(), $ifaceNil))) {
186727
- orientation[0] = 0;
186728
- }
186729
- }; })(orientation), []]);
186730
- orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
186731
- /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
186732
- /* */ $s = 2; continue;
186733
- /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
186734
- orientation[0] = 2;
186735
- $24r = orientation[0];
186736
- $s = 3; case 3: return $24r;
186737
- /* } */ case 2:
186738
- /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
186739
- /* */ $s = 5; continue;
186740
- /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
186741
- orientation[0] = 2;
186742
- $24r$1 = orientation[0];
186743
- $s = 6; case 6: return $24r$1;
186744
- /* } */ case 5:
186745
- orientation[0] = 0;
186746
- $24r$2 = orientation[0];
186747
- $s = 7; case 7: return $24r$2;
186748
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
186749
- };
186750
- $pkg.GetOrientation = GetOrientation;
186751
- NewDomEvents = function() {
186752
- return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
186753
- };
186754
- $pkg.NewDomEvents = NewDomEvents;
186755
- DomEvents.ptr.prototype.GetEventChan = function() {
186756
- var d;
186757
- d = this;
186758
- return d.eventChan;
186759
- };
186760
- DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
186761
- DomEvents.ptr.prototype.Release = function() {
186762
- var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
186763
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186764
- d = this;
186765
- _ref = d.releases;
186766
- _i = 0;
186767
- /* while (true) { */ case 1:
186768
- /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
186769
- release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
186770
- $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186771
- _i++;
186772
- $s = 1; continue;
186773
- case 2:
186774
- $s = -1; return;
186775
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
186776
- };
186777
- DomEvents.prototype.Release = function() { return this.$val.Release(); };
186778
- DomEvents.ptr.prototype.BindEvents = function() {
186779
- var {d, $s, $r, $c} = $restore(this, {});
186780
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186781
- d = this;
186782
- $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186783
- $go($methodVal(d, "emitSizeEvent"), []);
186784
- $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186785
- $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186786
- $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186787
- $s = -1; return;
186788
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
186789
- };
186790
- DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
186791
- DomEvents.ptr.prototype.bindSizeEvents = function() {
186792
- var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
186793
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186794
- d = [d];
186795
- onResize = [onResize];
186796
- d[0] = this;
186797
- onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
186798
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
186799
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186800
- $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186801
- $s = -1; return $ifaceNil;
186802
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
186803
- }; })(d, onResize)), js.Func);
186804
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186805
- _r;
186806
- d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
186807
- var {_r$1, $s, $r, $c} = $restore(this, {});
186808
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186809
- _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186810
- _r$1;
186811
- $clone(onResize[0], js.Func).Release();
186812
- $s = -1; return;
186813
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
186814
- }; })(d, onResize));
186815
- $s = -1; return;
186816
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
186817
- };
186818
- DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
186819
- DomEvents.ptr.prototype.emitSizeEvent = function() {
186820
- var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
186821
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186822
- d = this;
186823
- _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186824
- orientation = _r;
186825
- pixelsPerPt = 1;
186826
- width = GetDocWidth();
186827
- height = GetDocHeight();
186828
- $r = $send(d.eventChan, (x = new size.Event.ptr(width, height, ((_q = width / ((pixelsPerPt >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), ((_q$1 = height / ((pixelsPerPt >> 0)), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), pixelsPerPt, orientation), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186829
- $s = -1; return;
186830
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
186831
- };
186832
- DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
186833
- DomEvents.ptr.prototype.bindMouseEvents = function() {
186834
- var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
186835
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186836
- d = [d];
186837
- onClick = [onClick];
186838
- onMove = [onMove];
186839
- onWheel = [onWheel];
186840
- d[0] = this;
186841
- onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186842
- var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186843
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186844
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186845
- _r;
186846
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), 0, getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 0), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186847
- $s = -1; return $ifaceNil;
186848
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
186849
- }; })(d, onClick, onMove, onWheel)), js.Func);
186850
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186851
- _r;
186852
- onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186853
- var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186854
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186855
- _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186856
- _r$1;
186857
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getMouseButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getMouseDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186858
- $s = -1; return $ifaceNil;
186859
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
186860
- }; })(d, onClick, onMove, onWheel)), js.Func);
186861
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186862
- _r$1;
186863
- _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186864
- _r$2;
186865
- onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186866
- var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186867
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186868
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getWheelButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 3), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186869
- $s = -1; return $ifaceNil;
186870
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
186871
- }; })(d, onClick, onMove, onWheel)), js.Func);
186872
- _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186873
- _r$3;
186874
- d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
186875
- var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
186876
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186877
- _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
186878
- _r$4;
186879
- _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
186880
- _r$5;
186881
- _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
186882
- _r$6;
186883
- _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
186884
- _r$7;
186885
- $clone(onMove[0], js.Func).Release();
186886
- $clone(onClick[0], js.Func).Release();
186887
- $clone(onWheel[0], js.Func).Release();
186888
- $s = -1; return;
186889
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
186890
- }; })(d, onClick, onMove, onWheel));
186891
- $s = -1; return;
186892
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
186893
- };
186894
- DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
186895
- getMouseDirection = function(ev) {
186896
- var dir, ev;
186897
- dir = 0;
186898
- dir = 0;
186899
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
186900
- dir = 1;
186901
- }
186902
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
186903
- dir = 2;
186904
- }
186905
- return dir;
186906
- };
186907
- getWheelButton = function(ev) {
186908
- var deltaX, deltaY, ev;
186909
- deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
186910
- deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
186911
- if (deltaY > 0) {
186912
- return -2;
186913
- }
186914
- if (deltaY < 0) {
186915
- return -1;
186916
- }
186917
- if (deltaX > 0) {
186918
- return -4;
186919
- }
186920
- if (deltaX < 0) {
186921
- return -3;
186922
- }
186923
- return 0;
186924
- };
186925
- getMouseButton = function(ev) {
186926
- var _1, ev;
186927
- _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
186928
- if (_1 === (0)) {
186929
- return 1;
186930
- } else if (_1 === (1)) {
186931
- return 2;
186932
- } else if (_1 === (2)) {
186933
- return 3;
186934
- } else if (_1 === (3)) {
186935
- return 8;
186936
- } else if (_1 === (4)) {
186937
- return 9;
186938
- } else {
186939
- return 0;
186940
- }
186941
- };
186942
- getEventModifiers = function(ev) {
186943
- var ev, mod;
186944
- mod = 0;
186945
- if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
186946
- mod = (mod | (4)) >>> 0;
186947
- }
186948
- if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
186949
- mod = (mod | (2)) >>> 0;
186950
- }
186951
- if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
186952
- mod = (mod | (1)) >>> 0;
186953
- }
186954
- if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
186955
- mod = (mod | (8)) >>> 0;
186956
- }
186957
- return mod;
186958
- };
186959
- DomEvents.ptr.prototype.bindFocusEvents = function() {
186960
- var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
186961
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186962
- d = [d];
186963
- onFocus = [onFocus];
186964
- d[0] = this;
186965
- onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
186966
- var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186967
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186968
- $r = $send(d[0].eventChan, (x = new focus.Event.ptr(isFocusIn($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186969
- $s = -1; return $ifaceNil;
186970
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
186971
- }; })(d, onFocus)), js.Func);
186972
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186973
- _r;
186974
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186975
- _r$1;
186976
- d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
186977
- var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
186978
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186979
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186980
- _r$2;
186981
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186982
- _r$3;
186983
- $clone(onFocus[0], js.Func).Release();
186984
- $s = -1; return;
186985
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
186986
- }; })(d, onFocus));
186987
- $s = -1; return;
186988
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
186989
- };
186990
- DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
186991
- isFocusIn = function(ev) {
186992
- var ev;
186993
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
186994
- return true;
186995
- }
186996
- return false;
186997
- };
186998
- DomEvents.ptr.prototype.bindKeyEvents = function() {
186999
- var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
187000
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187001
- d = [d];
187002
- onKey = [onKey];
187003
- d[0] = this;
187004
- onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
187005
- var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187006
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187007
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187008
- _r;
187009
- $r = $send(d[0].eventChan, (x = new key.Event.ptr(getKeyRune($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyCode($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187010
- $s = -1; return $ifaceNil;
187011
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
187012
- }; })(d, onKey)), js.Func);
187013
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187014
- _r;
187015
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
187016
- _r$1;
187017
- d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
187018
- var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
187019
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187020
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
187021
- _r$2;
187022
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
187023
- _r$3;
187024
- $clone(onKey[0], js.Func).Release();
187025
- $s = -1; return;
187026
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
187027
- }; })(d, onKey));
187028
- $s = -1; return;
187029
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
187030
- };
187031
- DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
187032
- getKeyRune = function(ev) {
187033
- var ev, key$1;
187034
- key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
187035
- if (key$1.$length === 1) {
187036
- return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
187037
- }
187038
- return -1;
187039
- };
187040
- getKeyDirection = function(ev) {
187041
- var dir, ev;
187042
- dir = 0;
187043
- dir = 0;
187044
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
187045
- dir = 1;
187046
- }
187047
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
187048
- dir = 2;
187049
- }
187050
- return dir;
187051
- };
187052
- getKeyCode = function(ev) {
187053
- var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
187054
- domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
187055
- _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
187056
- code = _tuple[0];
187057
- exists = _tuple[1];
187058
- if (exists) {
187059
- return code;
187060
- }
187061
- domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
187062
- _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
187063
- code$1 = _tuple$1[0];
187064
- exists$1 = _tuple$1[1];
187065
- if (exists$1) {
187066
- return code$1;
187067
- }
187068
- return 0;
187069
- };
187070
- ptrType.methods = [{prop: "GetEventChan", name: "GetEventChan", pkg: "", typ: $funcType([], [chanType], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "BindEvents", name: "BindEvents", pkg: "", typ: $funcType([], [], false)}, {prop: "bindSizeEvents", name: "bindSizeEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}];
187071
- DomEvents.init("golang.org/x/exp/shiny/driver/internal/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$1, tag: ""}]);
187072
- $init = function() {
187073
- $pkg.$init = function() {};
187074
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
187075
- $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187076
- $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187077
- $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187078
- $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187079
- $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187080
- $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187081
- $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187082
- $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187083
- keyCodesMap = $makeMap($String.keyFor, [{ k: "KeyA", v: 4 }, { k: "KeyB", v: 5 }, { k: "KeyC", v: 6 }, { k: "KeyD", v: 7 }, { k: "KeyE", v: 8 }, { k: "KeyF", v: 9 }, { k: "KeyG", v: 10 }, { k: "KeyH", v: 11 }, { k: "KeyI", v: 12 }, { k: "KeyJ", v: 13 }, { k: "KeyK", v: 14 }, { k: "KeyL", v: 15 }, { k: "KeyM", v: 16 }, { k: "KeyN", v: 17 }, { k: "KeyO", v: 18 }, { k: "KeyP", v: 19 }, { k: "KeyQ", v: 20 }, { k: "KeyR", v: 21 }, { k: "KeyS", v: 22 }, { k: "KeyT", v: 23 }, { k: "KeyU", v: 24 }, { k: "KeyV", v: 25 }, { k: "KeyW", v: 26 }, { k: "KeyX", v: 27 }, { k: "KeyY", v: 28 }, { k: "KeyZ", v: 29 }, { k: "Digit1", v: 30 }, { k: "Digit2", v: 31 }, { k: "Digit3", v: 32 }, { k: "Digit4", v: 33 }, { k: "Digit5", v: 34 }, { k: "Digit6", v: 35 }, { k: "Digit7", v: 36 }, { k: "Digit8", v: 37 }, { k: "Digit9", v: 38 }, { k: "Digit0", v: 39 }, { k: "Enter", v: 40 }, { k: "Escape", v: 41 }, { k: "Backspace", v: 42 }, { k: "Tab", v: 43 }, { k: "Space", v: 44 }, { k: "Minus", v: 45 }, { k: "Equal", v: 46 }, { k: "BracketLeft", v: 47 }, { k: "BracketRight", v: 48 }, { k: "Backslash", v: 49 }, { k: "Semicolon", v: 51 }, { k: "Quote", v: 52 }, { k: "Backquote", v: 53 }, { k: "Comma", v: 54 }, { k: "Period", v: 55 }, { k: "Slash", v: 56 }, { k: "CapsLock", v: 57 }, { k: "F1", v: 58 }, { k: "F2", v: 59 }, { k: "F3", v: 60 }, { k: "F4", v: 61 }, { k: "F5", v: 62 }, { k: "F6", v: 63 }, { k: "F7", v: 64 }, { k: "F8", v: 65 }, { k: "F9", v: 66 }, { k: "F10", v: 67 }, { k: "F11", v: 68 }, { k: "F12", v: 69 }, { k: "Pause", v: 72 }, { k: "Insert", v: 73 }, { k: "Home", v: 74 }, { k: "PageUp", v: 75 }, { k: "Delete", v: 76 }, { k: "End", v: 77 }, { k: "PageDown", v: 78 }, { k: "ArrowRight", v: 79 }, { k: "ArrowLeft", v: 80 }, { k: "ArrowDown", v: 81 }, { k: "ArrowUp", v: 82 }, { k: "NumLock", v: 83 }, { k: "NumpadDivide", v: 84 }, { k: "NumpadMultiply", v: 85 }, { k: "NumpadSubtract", v: 86 }, { k: "NumpadAdd", v: 87 }, { k: "NumpadEnter", v: 88 }, { k: "Numpad1", v: 89 }, { k: "Numpad2", v: 90 }, { k: "Numpad3", v: 91 }, { k: "Numpad4", v: 92 }, { k: "Numpad5", v: 93 }, { k: "Numpad6", v: 94 }, { k: "Numpad7", v: 95 }, { k: "Numpad8", v: 96 }, { k: "Numpad9", v: 97 }, { k: "Numpad0", v: 98 }, { k: "NumpadDecimal", v: 99 }, { k: "NumpadEqual", v: 103 }, { k: "F13", v: 104 }, { k: "F14", v: 105 }, { k: "F15", v: 106 }, { k: "F16", v: 107 }, { k: "F17", v: 108 }, { k: "F18", v: 109 }, { k: "F19", v: 110 }, { k: "F20", v: 111 }, { k: "F21", v: 112 }, { k: "F22", v: 113 }, { k: "F23", v: 114 }, { k: "F24", v: 115 }, { k: "Help", v: 117 }, { k: "ContextMenu", v: 118 }, { k: "VolumeMute", v: 127 }, { k: "VolumeUp", v: 128 }, { k: "VolumeDown", v: 129 }, { k: "ControlLeft", v: 224 }, { k: "ShiftLeft", v: 225 }, { k: "AltLeft", v: 226 }, { k: "MetaLeft", v: 227 }, { k: "ControlRight", v: 228 }, { k: "ShiftRight", v: 229 }, { k: "AltRight", v: 230 }, { k: "MetaRight", v: 231 }, { k: "PrintScreen", v: 0 }]);
187084
- keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
186594
+ $r = runtime.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186595
+ $r = js.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187085
186596
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
187086
186597
  };
187087
186598
  $pkg.$init = $init;
@@ -189204,6 +188715,466 @@ $packages["golang.org/x/exp/shiny/driver/internal/errscreen"] = (function() {
189204
188715
  $pkg.$init = $init;
189205
188716
  return $pkg;
189206
188717
  })();
188718
+ $packages["golang.org/x/exp/shiny/driver/util/dom"] = (function() {
188719
+ var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
188720
+ focus = $packages["golang.org/x/mobile/event/focus"];
188721
+ key = $packages["golang.org/x/mobile/event/key"];
188722
+ mouse = $packages["golang.org/x/mobile/event/mouse"];
188723
+ size = $packages["golang.org/x/mobile/event/size"];
188724
+ geom = $packages["golang.org/x/mobile/geom"];
188725
+ math = $packages["math"];
188726
+ strings = $packages["strings"];
188727
+ js = $packages["syscall/js"];
188728
+ DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/util/dom", true, function(eventChan_, releases_) {
188729
+ this.$val = this;
188730
+ if (arguments.length === 0) {
188731
+ this.eventChan = $chanNil;
188732
+ this.releases = sliceType$1.nil;
188733
+ return;
188734
+ }
188735
+ this.eventChan = eventChan_;
188736
+ this.releases = releases_;
188737
+ });
188738
+ sliceType = $sliceType($emptyInterface);
188739
+ funcType = $funcType([], [], false);
188740
+ sliceType$1 = $sliceType(funcType);
188741
+ sliceType$2 = $sliceType($Int32);
188742
+ chanType = $chanType($emptyInterface, false, false);
188743
+ ptrType = $ptrType(DomEvents);
188744
+ GetDocWidth = function() {
188745
+ return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
188746
+ };
188747
+ $pkg.GetDocWidth = GetDocWidth;
188748
+ GetDocHeight = function() {
188749
+ return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
188750
+ };
188751
+ $pkg.GetDocHeight = GetDocHeight;
188752
+ GetScreenWidth = function() {
188753
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
188754
+ };
188755
+ $pkg.GetScreenWidth = GetScreenWidth;
188756
+ GetScreenHeight = function() {
188757
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
188758
+ };
188759
+ $pkg.GetScreenHeight = GetScreenHeight;
188760
+ GetBrowserZoomRatio = function() {
188761
+ var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
188762
+ windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
188763
+ windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
188764
+ docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
188765
+ scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
188766
+ chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
188767
+ scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
188768
+ chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
188769
+ scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
188770
+ chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
188771
+ return chromeZoom3;
188772
+ };
188773
+ $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
188774
+ SetWindowWidth = function(newInnerWidth) {
188775
+ var {_r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r, $c} = $restore(this, {newInnerWidth});
188776
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188777
+ innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
188778
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
188779
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
188780
+ newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
188781
+ screenWidth = GetScreenWidth();
188782
+ if (newOuterWidth > screenWidth) {
188783
+ newOuterWidth = screenWidth;
188784
+ }
188785
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188786
+ _r;
188787
+ $s = -1; return;
188788
+ /* */ } return; } var $f = {$blk: SetWindowWidth, $c: true, $r, _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s};return $f;
188789
+ };
188790
+ $pkg.SetWindowWidth = SetWindowWidth;
188791
+ SetWindowHeight = function(newInnerHeight) {
188792
+ var {_r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r, $c} = $restore(this, {newInnerHeight});
188793
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188794
+ innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
188795
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
188796
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
188797
+ newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
188798
+ screenHeight = GetScreenHeight();
188799
+ if (newOuterHeight > screenHeight) {
188800
+ newOuterHeight = screenHeight;
188801
+ }
188802
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188803
+ _r;
188804
+ $s = -1; return;
188805
+ /* */ } return; } var $f = {$blk: SetWindowHeight, $c: true, $r, _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s};return $f;
188806
+ };
188807
+ $pkg.SetWindowHeight = SetWindowHeight;
188808
+ GetOrientation = function() {
188809
+ var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
188810
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
188811
+ orientation = [orientation];
188812
+ orientation[0] = 0;
188813
+ $deferred.push([(function(orientation) { return function() {
188814
+ if (!($interfaceIsEqual($recover(), $ifaceNil))) {
188815
+ orientation[0] = 0;
188816
+ }
188817
+ }; })(orientation), []]);
188818
+ orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
188819
+ /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
188820
+ /* */ $s = 2; continue;
188821
+ /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
188822
+ orientation[0] = 2;
188823
+ $24r = orientation[0];
188824
+ $s = 3; case 3: return $24r;
188825
+ /* } */ case 2:
188826
+ /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
188827
+ /* */ $s = 5; continue;
188828
+ /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
188829
+ orientation[0] = 2;
188830
+ $24r$1 = orientation[0];
188831
+ $s = 6; case 6: return $24r$1;
188832
+ /* } */ case 5:
188833
+ orientation[0] = 0;
188834
+ $24r$2 = orientation[0];
188835
+ $s = 7; case 7: return $24r$2;
188836
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
188837
+ };
188838
+ $pkg.GetOrientation = GetOrientation;
188839
+ NewDomEvents = function() {
188840
+ return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
188841
+ };
188842
+ $pkg.NewDomEvents = NewDomEvents;
188843
+ DomEvents.ptr.prototype.GetEventChan = function() {
188844
+ var d;
188845
+ d = this;
188846
+ return d.eventChan;
188847
+ };
188848
+ DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
188849
+ DomEvents.ptr.prototype.Release = function() {
188850
+ var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
188851
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188852
+ d = this;
188853
+ _ref = d.releases;
188854
+ _i = 0;
188855
+ /* while (true) { */ case 1:
188856
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
188857
+ release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
188858
+ $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188859
+ _i++;
188860
+ $s = 1; continue;
188861
+ case 2:
188862
+ $s = -1; return;
188863
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
188864
+ };
188865
+ DomEvents.prototype.Release = function() { return this.$val.Release(); };
188866
+ DomEvents.ptr.prototype.BindEvents = function() {
188867
+ var {d, $s, $r, $c} = $restore(this, {});
188868
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188869
+ d = this;
188870
+ $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188871
+ $go($methodVal(d, "emitSizeEvent"), []);
188872
+ $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188873
+ $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188874
+ $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188875
+ $s = -1; return;
188876
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
188877
+ };
188878
+ DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
188879
+ DomEvents.ptr.prototype.bindSizeEvents = function() {
188880
+ var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
188881
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188882
+ d = [d];
188883
+ onResize = [onResize];
188884
+ d[0] = this;
188885
+ onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
188886
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
188887
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188888
+ $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188889
+ $s = -1; return $ifaceNil;
188890
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
188891
+ }; })(d, onResize)), js.Func);
188892
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188893
+ _r;
188894
+ d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
188895
+ var {_r$1, $s, $r, $c} = $restore(this, {});
188896
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188897
+ _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
188898
+ _r$1;
188899
+ $clone(onResize[0], js.Func).Release();
188900
+ $s = -1; return;
188901
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
188902
+ }; })(d, onResize));
188903
+ $s = -1; return;
188904
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
188905
+ };
188906
+ DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
188907
+ DomEvents.ptr.prototype.emitSizeEvent = function() {
188908
+ var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
188909
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188910
+ d = this;
188911
+ _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188912
+ orientation = _r;
188913
+ pixelsPerPt = 1;
188914
+ width = GetDocWidth();
188915
+ height = GetDocHeight();
188916
+ $r = $send(d.eventChan, (x = new size.Event.ptr(width, height, ((_q = width / ((pixelsPerPt >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), ((_q$1 = height / ((pixelsPerPt >> 0)), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), pixelsPerPt, orientation), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188917
+ $s = -1; return;
188918
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
188919
+ };
188920
+ DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
188921
+ DomEvents.ptr.prototype.bindMouseEvents = function() {
188922
+ var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
188923
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188924
+ d = [d];
188925
+ onClick = [onClick];
188926
+ onMove = [onMove];
188927
+ onWheel = [onWheel];
188928
+ d[0] = this;
188929
+ onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
188930
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
188931
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188932
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188933
+ _r;
188934
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), 0, getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 0), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188935
+ $s = -1; return $ifaceNil;
188936
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
188937
+ }; })(d, onClick, onMove, onWheel)), js.Func);
188938
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188939
+ _r;
188940
+ onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
188941
+ var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
188942
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188943
+ _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
188944
+ _r$1;
188945
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getMouseButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getMouseDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188946
+ $s = -1; return $ifaceNil;
188947
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
188948
+ }; })(d, onClick, onMove, onWheel)), js.Func);
188949
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
188950
+ _r$1;
188951
+ _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
188952
+ _r$2;
188953
+ onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
188954
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
188955
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188956
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getWheelButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 3), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
188957
+ $s = -1; return $ifaceNil;
188958
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
188959
+ }; })(d, onClick, onMove, onWheel)), js.Func);
188960
+ _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
188961
+ _r$3;
188962
+ d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
188963
+ var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
188964
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188965
+ _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
188966
+ _r$4;
188967
+ _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
188968
+ _r$5;
188969
+ _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
188970
+ _r$6;
188971
+ _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
188972
+ _r$7;
188973
+ $clone(onMove[0], js.Func).Release();
188974
+ $clone(onClick[0], js.Func).Release();
188975
+ $clone(onWheel[0], js.Func).Release();
188976
+ $s = -1; return;
188977
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
188978
+ }; })(d, onClick, onMove, onWheel));
188979
+ $s = -1; return;
188980
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
188981
+ };
188982
+ DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
188983
+ getMouseDirection = function(ev) {
188984
+ var dir, ev;
188985
+ dir = 0;
188986
+ dir = 0;
188987
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
188988
+ dir = 1;
188989
+ }
188990
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
188991
+ dir = 2;
188992
+ }
188993
+ return dir;
188994
+ };
188995
+ getWheelButton = function(ev) {
188996
+ var deltaX, deltaY, ev;
188997
+ deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
188998
+ deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
188999
+ if (deltaY > 0) {
189000
+ return -2;
189001
+ }
189002
+ if (deltaY < 0) {
189003
+ return -1;
189004
+ }
189005
+ if (deltaX > 0) {
189006
+ return -4;
189007
+ }
189008
+ if (deltaX < 0) {
189009
+ return -3;
189010
+ }
189011
+ return 0;
189012
+ };
189013
+ getMouseButton = function(ev) {
189014
+ var _1, ev;
189015
+ _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
189016
+ if (_1 === (0)) {
189017
+ return 1;
189018
+ } else if (_1 === (1)) {
189019
+ return 2;
189020
+ } else if (_1 === (2)) {
189021
+ return 3;
189022
+ } else if (_1 === (3)) {
189023
+ return 8;
189024
+ } else if (_1 === (4)) {
189025
+ return 9;
189026
+ } else {
189027
+ return 0;
189028
+ }
189029
+ };
189030
+ getEventModifiers = function(ev) {
189031
+ var ev, mod;
189032
+ mod = 0;
189033
+ if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
189034
+ mod = (mod | (4)) >>> 0;
189035
+ }
189036
+ if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
189037
+ mod = (mod | (2)) >>> 0;
189038
+ }
189039
+ if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
189040
+ mod = (mod | (1)) >>> 0;
189041
+ }
189042
+ if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
189043
+ mod = (mod | (8)) >>> 0;
189044
+ }
189045
+ return mod;
189046
+ };
189047
+ DomEvents.ptr.prototype.bindFocusEvents = function() {
189048
+ var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
189049
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189050
+ d = [d];
189051
+ onFocus = [onFocus];
189052
+ d[0] = this;
189053
+ onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
189054
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189055
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189056
+ $r = $send(d[0].eventChan, (x = new focus.Event.ptr(isFocusIn($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189057
+ $s = -1; return $ifaceNil;
189058
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
189059
+ }; })(d, onFocus)), js.Func);
189060
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189061
+ _r;
189062
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189063
+ _r$1;
189064
+ d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
189065
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
189066
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189067
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
189068
+ _r$2;
189069
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
189070
+ _r$3;
189071
+ $clone(onFocus[0], js.Func).Release();
189072
+ $s = -1; return;
189073
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
189074
+ }; })(d, onFocus));
189075
+ $s = -1; return;
189076
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
189077
+ };
189078
+ DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
189079
+ isFocusIn = function(ev) {
189080
+ var ev;
189081
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
189082
+ return true;
189083
+ }
189084
+ return false;
189085
+ };
189086
+ DomEvents.ptr.prototype.bindKeyEvents = function() {
189087
+ var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
189088
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189089
+ d = [d];
189090
+ onKey = [onKey];
189091
+ d[0] = this;
189092
+ onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
189093
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189094
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189095
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189096
+ _r;
189097
+ $r = $send(d[0].eventChan, (x = new key.Event.ptr(getKeyRune($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyCode($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189098
+ $s = -1; return $ifaceNil;
189099
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
189100
+ }; })(d, onKey)), js.Func);
189101
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189102
+ _r;
189103
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189104
+ _r$1;
189105
+ d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
189106
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
189107
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189108
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
189109
+ _r$2;
189110
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
189111
+ _r$3;
189112
+ $clone(onKey[0], js.Func).Release();
189113
+ $s = -1; return;
189114
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
189115
+ }; })(d, onKey));
189116
+ $s = -1; return;
189117
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
189118
+ };
189119
+ DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
189120
+ getKeyRune = function(ev) {
189121
+ var ev, key$1;
189122
+ key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
189123
+ if (key$1.$length === 1) {
189124
+ return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
189125
+ }
189126
+ return -1;
189127
+ };
189128
+ getKeyDirection = function(ev) {
189129
+ var dir, ev;
189130
+ dir = 0;
189131
+ dir = 0;
189132
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
189133
+ dir = 1;
189134
+ }
189135
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
189136
+ dir = 2;
189137
+ }
189138
+ return dir;
189139
+ };
189140
+ getKeyCode = function(ev) {
189141
+ var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
189142
+ domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
189143
+ _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
189144
+ code = _tuple[0];
189145
+ exists = _tuple[1];
189146
+ if (exists) {
189147
+ return code;
189148
+ }
189149
+ domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
189150
+ _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
189151
+ code$1 = _tuple$1[0];
189152
+ exists$1 = _tuple$1[1];
189153
+ if (exists$1) {
189154
+ return code$1;
189155
+ }
189156
+ return 0;
189157
+ };
189158
+ ptrType.methods = [{prop: "GetEventChan", name: "GetEventChan", pkg: "", typ: $funcType([], [chanType], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "BindEvents", name: "BindEvents", pkg: "", typ: $funcType([], [], false)}, {prop: "bindSizeEvents", name: "bindSizeEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}];
189159
+ DomEvents.init("golang.org/x/exp/shiny/driver/util/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$1, tag: ""}]);
189160
+ $init = function() {
189161
+ $pkg.$init = function() {};
189162
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
189163
+ $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189164
+ $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189165
+ $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189166
+ $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189167
+ $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189168
+ $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189169
+ $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189170
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189171
+ keyCodesMap = $makeMap($String.keyFor, [{ k: "KeyA", v: 4 }, { k: "KeyB", v: 5 }, { k: "KeyC", v: 6 }, { k: "KeyD", v: 7 }, { k: "KeyE", v: 8 }, { k: "KeyF", v: 9 }, { k: "KeyG", v: 10 }, { k: "KeyH", v: 11 }, { k: "KeyI", v: 12 }, { k: "KeyJ", v: 13 }, { k: "KeyK", v: 14 }, { k: "KeyL", v: 15 }, { k: "KeyM", v: 16 }, { k: "KeyN", v: 17 }, { k: "KeyO", v: 18 }, { k: "KeyP", v: 19 }, { k: "KeyQ", v: 20 }, { k: "KeyR", v: 21 }, { k: "KeyS", v: 22 }, { k: "KeyT", v: 23 }, { k: "KeyU", v: 24 }, { k: "KeyV", v: 25 }, { k: "KeyW", v: 26 }, { k: "KeyX", v: 27 }, { k: "KeyY", v: 28 }, { k: "KeyZ", v: 29 }, { k: "Digit1", v: 30 }, { k: "Digit2", v: 31 }, { k: "Digit3", v: 32 }, { k: "Digit4", v: 33 }, { k: "Digit5", v: 34 }, { k: "Digit6", v: 35 }, { k: "Digit7", v: 36 }, { k: "Digit8", v: 37 }, { k: "Digit9", v: 38 }, { k: "Digit0", v: 39 }, { k: "Enter", v: 40 }, { k: "Escape", v: 41 }, { k: "Backspace", v: 42 }, { k: "Tab", v: 43 }, { k: "Space", v: 44 }, { k: "Minus", v: 45 }, { k: "Equal", v: 46 }, { k: "BracketLeft", v: 47 }, { k: "BracketRight", v: 48 }, { k: "Backslash", v: 49 }, { k: "Semicolon", v: 51 }, { k: "Quote", v: 52 }, { k: "Backquote", v: 53 }, { k: "Comma", v: 54 }, { k: "Period", v: 55 }, { k: "Slash", v: 56 }, { k: "CapsLock", v: 57 }, { k: "F1", v: 58 }, { k: "F2", v: 59 }, { k: "F3", v: 60 }, { k: "F4", v: 61 }, { k: "F5", v: 62 }, { k: "F6", v: 63 }, { k: "F7", v: 64 }, { k: "F8", v: 65 }, { k: "F9", v: 66 }, { k: "F10", v: 67 }, { k: "F11", v: 68 }, { k: "F12", v: 69 }, { k: "Pause", v: 72 }, { k: "Insert", v: 73 }, { k: "Home", v: 74 }, { k: "PageUp", v: 75 }, { k: "Delete", v: 76 }, { k: "End", v: 77 }, { k: "PageDown", v: 78 }, { k: "ArrowRight", v: 79 }, { k: "ArrowLeft", v: 80 }, { k: "ArrowDown", v: 81 }, { k: "ArrowUp", v: 82 }, { k: "NumLock", v: 83 }, { k: "NumpadDivide", v: 84 }, { k: "NumpadMultiply", v: 85 }, { k: "NumpadSubtract", v: 86 }, { k: "NumpadAdd", v: 87 }, { k: "NumpadEnter", v: 88 }, { k: "Numpad1", v: 89 }, { k: "Numpad2", v: 90 }, { k: "Numpad3", v: 91 }, { k: "Numpad4", v: 92 }, { k: "Numpad5", v: 93 }, { k: "Numpad6", v: 94 }, { k: "Numpad7", v: 95 }, { k: "Numpad8", v: 96 }, { k: "Numpad9", v: 97 }, { k: "Numpad0", v: 98 }, { k: "NumpadDecimal", v: 99 }, { k: "NumpadEqual", v: 103 }, { k: "F13", v: 104 }, { k: "F14", v: 105 }, { k: "F15", v: 106 }, { k: "F16", v: 107 }, { k: "F17", v: 108 }, { k: "F18", v: 109 }, { k: "F19", v: 110 }, { k: "F20", v: 111 }, { k: "F21", v: 112 }, { k: "F22", v: 113 }, { k: "F23", v: 114 }, { k: "F24", v: 115 }, { k: "Help", v: 117 }, { k: "ContextMenu", v: 118 }, { k: "VolumeMute", v: 127 }, { k: "VolumeUp", v: 128 }, { k: "VolumeDown", v: 129 }, { k: "ControlLeft", v: 224 }, { k: "ShiftLeft", v: 225 }, { k: "AltLeft", v: 226 }, { k: "MetaLeft", v: 227 }, { k: "ControlRight", v: 228 }, { k: "ShiftRight", v: 229 }, { k: "AltRight", v: 230 }, { k: "MetaRight", v: 231 }, { k: "PrintScreen", v: 0 }]);
189172
+ keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
189173
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
189174
+ };
189175
+ $pkg.$init = $init;
189176
+ return $pkg;
189177
+ })();
189207
189178
  $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
189208
189179
  var $pkg = {}, $init, screen, image, draw, ConvertYCbCrToRGBA;
189209
189180
  screen = $packages["golang.org/x/exp/shiny/screen"];
@@ -189238,12 +189209,12 @@ $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
189238
189209
  return $pkg;
189239
189210
  })();
189240
189211
  $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
189241
- var $pkg = {}, $init, fmt, webgl, types, dom, errscreen, imageutil, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, ArrayBufferSlice, YCbCrJS, BufferImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$3, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, texCoordsVertices, elementsIndices, newWindow, Main, main, newScreenImpl, newBuffer;
189212
+ var $pkg = {}, $init, fmt, webgl, types, errscreen, dom, imageutil, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, ArrayBufferSlice, YCbCrJS, BufferImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$3, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, texCoordsVertices, elementsIndices, newWindow, Main, main, newScreenImpl, newBuffer;
189242
189213
  fmt = $packages["fmt"];
189243
189214
  webgl = $packages["github.com/nuberu/webgl"];
189244
189215
  types = $packages["github.com/nuberu/webgl/types"];
189245
- dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
189246
189216
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
189217
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
189247
189218
  imageutil = $packages["golang.org/x/exp/shiny/imageutil"];
189248
189219
  screen = $packages["golang.org/x/exp/shiny/screen"];
189249
189220
  f64 = $packages["golang.org/x/image/math/f64"];
@@ -190041,8 +190012,8 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
190041
190012
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190042
190013
  $r = webgl.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190043
190014
  $r = types.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190044
- $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190045
- $r = errscreen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190015
+ $r = errscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190016
+ $r = dom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190046
190017
  $r = imageutil.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190047
190018
  $r = screen.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190048
190019
  $r = f64.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -190059,7 +190030,7 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
190059
190030
  return $pkg;
190060
190031
  })();
190061
190032
  $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function() {
190062
- var $pkg = {}, $init, errs, general, webgldriver, image, js, H264Decoder, sliceType, ptrType, funcType, arrayType, sliceType$1, ptrType$1, NewDecoder;
190033
+ var $pkg = {}, $init, errs, general, webgldriver, image, js, H264Decoder, sliceType, ptrType, funcType, arrayType, sliceType$1, ptrType$1, IsAvailable, NewDecoder;
190063
190034
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190064
190035
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190065
190036
  webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
@@ -190079,6 +190050,10 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190079
190050
  arrayType = $arrayType(funcType, 0);
190080
190051
  sliceType$1 = $sliceType($Uint8);
190081
190052
  ptrType$1 = $ptrType(H264Decoder);
190053
+ IsAvailable = function() {
190054
+ return !$clone($clone(js.Global(), js.Value).Get("h264Decoder"), js.Value).IsUndefined();
190055
+ };
190056
+ $pkg.IsAvailable = IsAvailable;
190082
190057
  NewDecoder = function(header) {
190083
190058
  var decoder, header;
190084
190059
  decoder = $clone($clone(js.Global(), js.Value).Get("h264Decoder"), js.Value);
@@ -190156,11 +190131,284 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190156
190131
  $pkg.$init = $init;
190157
190132
  return $pkg;
190158
190133
  })();
190134
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"] = (function() {
190135
+ var $pkg = {}, $init, js, ptrType, sliceType, initiateReset, jsNaClDecoder, ResetBeforeNextDecode, ShouldResetOnNextDecode, MarkResetDone, IsAvailable, CreateJsNaClDecoder, GetJsNaClDecoder, RemoveJsNaClDecoder;
190136
+ js = $packages["syscall/js"];
190137
+ ptrType = $ptrType(js.Value);
190138
+ sliceType = $sliceType($emptyInterface);
190139
+ ResetBeforeNextDecode = function() {
190140
+ initiateReset = true;
190141
+ };
190142
+ $pkg.ResetBeforeNextDecode = ResetBeforeNextDecode;
190143
+ ShouldResetOnNextDecode = function() {
190144
+ return initiateReset;
190145
+ };
190146
+ $pkg.ShouldResetOnNextDecode = ShouldResetOnNextDecode;
190147
+ MarkResetDone = function() {
190148
+ initiateReset = false;
190149
+ };
190150
+ $pkg.MarkResetDone = MarkResetDone;
190151
+ IsAvailable = function() {
190152
+ return !$clone($clone(js.Global(), js.Value).Get("createNaClDecoder"), js.Value).IsUndefined();
190153
+ };
190154
+ $pkg.IsAvailable = IsAvailable;
190155
+ CreateJsNaClDecoder = function() {
190156
+ var {_r, createdJsNaClDecoder, $s, $r, $c} = $restore(this, {});
190157
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190158
+ createdJsNaClDecoder = [createdJsNaClDecoder];
190159
+ if (!(jsNaClDecoder === ptrType.nil)) {
190160
+ $panic(new $String("JsNaClDecoder already created"));
190161
+ }
190162
+ _r = $clone(js.Global(), js.Value).Call("createNaClDecoder", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190163
+ createdJsNaClDecoder[0] = $clone(_r, js.Value);
190164
+ jsNaClDecoder = createdJsNaClDecoder[0];
190165
+ $s = -1; return jsNaClDecoder;
190166
+ /* */ } return; } var $f = {$blk: CreateJsNaClDecoder, $c: true, $r, _r, createdJsNaClDecoder, $s};return $f;
190167
+ };
190168
+ $pkg.CreateJsNaClDecoder = CreateJsNaClDecoder;
190169
+ GetJsNaClDecoder = function() {
190170
+ return jsNaClDecoder;
190171
+ };
190172
+ $pkg.GetJsNaClDecoder = GetJsNaClDecoder;
190173
+ RemoveJsNaClDecoder = function() {
190174
+ jsNaClDecoder = ptrType.nil;
190175
+ };
190176
+ $pkg.RemoveJsNaClDecoder = RemoveJsNaClDecoder;
190177
+ $init = function() {
190178
+ $pkg.$init = function() {};
190179
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190180
+ $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190181
+ jsNaClDecoder = ptrType.nil;
190182
+ initiateReset = false;
190183
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190184
+ };
190185
+ $pkg.$init = $init;
190186
+ return $pkg;
190187
+ })();
190188
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function() {
190189
+ var $pkg = {}, $init, errs, jshelper, general, jsdecoder, js, NaClDecoder, sliceType, ptrType, sliceType$1, ptrType$1, IsAvailable, NewDecoder;
190190
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190191
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190192
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190193
+ jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
190194
+ js = $packages["syscall/js"];
190195
+ NaClDecoder = $pkg.NaClDecoder = $newType(0, $kindStruct, "nacldecoder.NaClDecoder", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder", true, function(initialized_) {
190196
+ this.$val = this;
190197
+ if (arguments.length === 0) {
190198
+ this.initialized = false;
190199
+ return;
190200
+ }
190201
+ this.initialized = initialized_;
190202
+ });
190203
+ sliceType = $sliceType($emptyInterface);
190204
+ ptrType = $ptrType(js.Value);
190205
+ sliceType$1 = $sliceType($Uint8);
190206
+ ptrType$1 = $ptrType(NaClDecoder);
190207
+ IsAvailable = function() {
190208
+ return jsdecoder.IsAvailable();
190209
+ };
190210
+ $pkg.IsAvailable = IsAvailable;
190211
+ NewDecoder = function(header) {
190212
+ var header;
190213
+ return new NaClDecoder.ptr(false);
190214
+ };
190215
+ $pkg.NewDecoder = NewDecoder;
190216
+ NaClDecoder.ptr.prototype.initialize = function(param) {
190217
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, config, err, graphics3DContext, initPromise, initResult, m, param, $s, $r, $c} = $restore(this, {param});
190218
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190219
+ m = this;
190220
+ _r = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190221
+ config = $clone(_r, js.Value);
190222
+ _r$1 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190223
+ graphics3DContext = $clone(_r$1, js.Value);
190224
+ $clone(config, js.Value).Set("graphics3DContext", new graphics3DContext.constructor.elem(graphics3DContext));
190225
+ $clone(config, js.Value).Set("profile", new $Int(0));
190226
+ $clone(config, js.Value).Set("acceleration", new $Int(2));
190227
+ $clone(config, js.Value).Set("minPictureCount", new $Int(0));
190228
+ _r$2 = $clone(jsdecoder.GetJsNaClDecoder(), js.Value).Call("initialize", new sliceType([new config.constructor.elem(config)])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190229
+ initPromise = $clone(_r$2, js.Value);
190230
+ _r$3 = jshelper.Await($clone(initPromise, js.Value)); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190231
+ _tuple = _r$3;
190232
+ initResult = _tuple[0];
190233
+ err = _tuple[1];
190234
+ /* */ if (!(err === ptrType.nil)) { $s = 5; continue; }
190235
+ /* */ $s = 6; continue;
190236
+ /* if (!(err === ptrType.nil)) { */ case 5:
190237
+ _r$4 = jshelper.GetError(err); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190238
+ _r$5 = _r$4.Error(); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190239
+ _arg = new $String(_r$5);
190240
+ _r$6 = errs.Errorf("Failed to initialize NaCl Decoder: %s", new sliceType([_arg])); /* */ $s = 9; case 9: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190241
+ $24r = _r$6;
190242
+ $s = 10; case 10: return $24r;
190243
+ /* } */ case 6:
190244
+ /* */ if (!(($clone(initResult, js.Value).Float() === 0))) { $s = 11; continue; }
190245
+ /* */ $s = 12; continue;
190246
+ /* if (!(($clone(initResult, js.Value).Float() === 0))) { */ case 11:
190247
+ _r$7 = errs.Errorf("Failed to initialize NaCl Decoder: %f", new sliceType([new $Float64($clone(initResult, js.Value).Float())])); /* */ $s = 13; case 13: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
190248
+ $24r$1 = _r$7;
190249
+ $s = 14; case 14: return $24r$1;
190250
+ /* } */ case 12:
190251
+ $s = -1; return $ifaceNil;
190252
+ /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.initialize, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, config, err, graphics3DContext, initPromise, initResult, m, param, $s};return $f;
190253
+ };
190254
+ NaClDecoder.prototype.initialize = function(param) { return this.$val.initialize(param); };
190255
+ NaClDecoder.ptr.prototype.reset = function() {
190256
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, m, resetPromise, resetResult, $s, $r, $c} = $restore(this, {});
190257
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190258
+ m = this;
190259
+ _r = $clone(jsdecoder.GetJsNaClDecoder(), js.Value).Call("reset", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190260
+ resetPromise = $clone(_r, js.Value);
190261
+ _r$1 = jshelper.Await($clone(resetPromise, js.Value)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190262
+ _tuple = _r$1;
190263
+ resetResult = _tuple[0];
190264
+ err = _tuple[1];
190265
+ /* */ if (!(err === ptrType.nil)) { $s = 3; continue; }
190266
+ /* */ $s = 4; continue;
190267
+ /* if (!(err === ptrType.nil)) { */ case 3:
190268
+ _r$2 = jshelper.GetError(err); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190269
+ _r$3 = _r$2.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190270
+ _arg = new $String(_r$3);
190271
+ _r$4 = errs.Errorf("Failed to reset NaCl Decoder: %s", new sliceType([_arg])); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190272
+ $24r = _r$4;
190273
+ $s = 8; case 8: return $24r;
190274
+ /* } */ case 4:
190275
+ /* */ if (!(($clone(resetResult, js.Value).Float() === 0))) { $s = 9; continue; }
190276
+ /* */ $s = 10; continue;
190277
+ /* if (!(($clone(resetResult, js.Value).Float() === 0))) { */ case 9:
190278
+ _r$5 = errs.Errorf("Failed to reset NaCl Decoder with code: %f", new sliceType([new $Float64($clone(resetResult, js.Value).Float())])); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190279
+ $24r$1 = _r$5;
190280
+ $s = 12; case 12: return $24r$1;
190281
+ /* } */ case 10:
190282
+ $s = -1; return $ifaceNil;
190283
+ /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.reset, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, m, resetPromise, resetResult, $s};return $f;
190284
+ };
190285
+ NaClDecoder.prototype.reset = function() { return this.$val.reset(); };
190286
+ NaClDecoder.ptr.prototype.destroy = function() {
190287
+ var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, destroyPromise, err, m, $s, $r, $c} = $restore(this, {});
190288
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190289
+ m = this;
190290
+ _r = $clone(jsdecoder.GetJsNaClDecoder(), js.Value).Call("destroy", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190291
+ destroyPromise = $clone(_r, js.Value);
190292
+ _r$1 = jshelper.Await($clone(destroyPromise, js.Value)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190293
+ _tuple = _r$1;
190294
+ err = _tuple[1];
190295
+ /* */ if (!(err === ptrType.nil)) { $s = 3; continue; }
190296
+ /* */ $s = 4; continue;
190297
+ /* if (!(err === ptrType.nil)) { */ case 3:
190298
+ _r$2 = jshelper.GetError(err); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190299
+ _r$3 = _r$2.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190300
+ _arg = new $String(_r$3);
190301
+ _r$4 = errs.Errorf("Failed to destroy NaCl Decoder: %s", new sliceType([_arg])); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190302
+ $24r = _r$4;
190303
+ $s = 8; case 8: return $24r;
190304
+ /* } */ case 4:
190305
+ $s = -1; return $ifaceNil;
190306
+ /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.destroy, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, destroyPromise, err, m, $s};return $f;
190307
+ };
190308
+ NaClDecoder.prototype.destroy = function() { return this.$val.destroy(); };
190309
+ NaClDecoder.ptr.prototype.Decode = function(nal, outputBuffer) {
190310
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, decodeArgs, decodePromise, decodeResult, err, err$1, err$2, jsNaClDecoder, m, nal, outputBuffer, pictureBuffer, pictureUint8Array, $s, $r, $c} = $restore(this, {nal, outputBuffer});
190311
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190312
+ m = this;
190313
+ /* */ if (jsdecoder.ShouldResetOnNextDecode()) { $s = 1; continue; }
190314
+ /* */ $s = 2; continue;
190315
+ /* if (jsdecoder.ShouldResetOnNextDecode()) { */ case 1:
190316
+ _r = m.reset(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190317
+ err = _r;
190318
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }
190319
+ /* */ $s = 5; continue;
190320
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:
190321
+ $r = errs.Print("Failed to reset NaCl Decoder", err); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190322
+ _r$1 = m.destroy(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190323
+ err = _r$1;
190324
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 8; continue; }
190325
+ /* */ $s = 9; continue;
190326
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 8:
190327
+ $r = errs.Print("Failed to destroy NaCl Decoder", err); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190328
+ /* } */ case 9:
190329
+ jsdecoder.RemoveJsNaClDecoder();
190330
+ /* } */ case 5:
190331
+ m.initialized = false;
190332
+ jsdecoder.MarkResetDone();
190333
+ /* } */ case 2:
190334
+ jsNaClDecoder = jsdecoder.GetJsNaClDecoder();
190335
+ /* */ if (jsNaClDecoder === ptrType.nil) { $s = 11; continue; }
190336
+ /* */ $s = 12; continue;
190337
+ /* if (jsNaClDecoder === ptrType.nil) { */ case 11:
190338
+ _r$2 = jsdecoder.CreateJsNaClDecoder(); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190339
+ jsNaClDecoder = _r$2;
190340
+ /* } */ case 12:
190341
+ /* */ if (!m.initialized) { $s = 14; continue; }
190342
+ /* */ $s = 15; continue;
190343
+ /* if (!m.initialized) { */ case 14:
190344
+ _r$3 = m.initialize(nal); /* */ $s = 16; case 16: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190345
+ err$1 = _r$3;
190346
+ if (!($interfaceIsEqual(err$1, $ifaceNil))) {
190347
+ $s = -1; return err$1;
190348
+ }
190349
+ m.initialized = true;
190350
+ /* } */ case 15:
190351
+ _r$4 = $clone($clone(js.Global(), js.Value).Get("ArrayBuffer"), js.Value).New(new sliceType([new $Int(nal.$length)])); /* */ $s = 17; case 17: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190352
+ pictureBuffer = $clone(_r$4, js.Value);
190353
+ _r$5 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new pictureBuffer.constructor.elem(pictureBuffer)])); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190354
+ pictureUint8Array = $clone(_r$5, js.Value);
190355
+ js.CopyBytesToJS($clone(pictureUint8Array, js.Value), nal);
190356
+ _r$6 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 19; case 19: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190357
+ decodeArgs = $clone(_r$6, js.Value);
190358
+ $clone(decodeArgs, js.Value).Set("decodeId", new $Int(0));
190359
+ $clone(decodeArgs, js.Value).Set("data", new pictureBuffer.constructor.elem(pictureBuffer));
190360
+ _r$7 = $clone(jsNaClDecoder, js.Value).Call("decode", new sliceType([new decodeArgs.constructor.elem(decodeArgs)])); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
190361
+ decodePromise = $clone(_r$7, js.Value);
190362
+ _r$8 = jshelper.Await($clone(decodePromise, js.Value)); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
190363
+ _tuple = _r$8;
190364
+ decodeResult = _tuple[0];
190365
+ err$2 = _tuple[1];
190366
+ /* */ if (!(err$2 === ptrType.nil)) { $s = 22; continue; }
190367
+ /* */ $s = 23; continue;
190368
+ /* if (!(err$2 === ptrType.nil)) { */ case 22:
190369
+ _r$9 = jshelper.GetError(err$2); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
190370
+ _r$10 = _r$9.Error(); /* */ $s = 25; case 25: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
190371
+ _arg = new $String(_r$10);
190372
+ _r$11 = errs.Errorf("Failed to decode frame: %s", new sliceType([_arg])); /* */ $s = 26; case 26: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
190373
+ $24r = _r$11;
190374
+ $s = 27; case 27: return $24r;
190375
+ /* } */ case 23:
190376
+ /* */ if (!(($clone(decodeResult, js.Value).Float() === 0))) { $s = 28; continue; }
190377
+ /* */ $s = 29; continue;
190378
+ /* if (!(($clone(decodeResult, js.Value).Float() === 0))) { */ case 28:
190379
+ _r$12 = errs.Errorf("Failed to decode frame with code: %f", new sliceType([new $Float64($clone(decodeResult, js.Value).Float())])); /* */ $s = 30; case 30: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
190380
+ $24r$1 = _r$12;
190381
+ $s = 31; case 31: return $24r$1;
190382
+ /* } */ case 29:
190383
+ $s = -1; return $ifaceNil;
190384
+ /* */ } return; } var $f = {$blk: NaClDecoder.ptr.prototype.Decode, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, decodeArgs, decodePromise, decodeResult, err, err$1, err$2, jsNaClDecoder, m, nal, outputBuffer, pictureBuffer, pictureUint8Array, $s};return $f;
190385
+ };
190386
+ NaClDecoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
190387
+ NaClDecoder.ptr.prototype.Release = function(outputBuffer) {
190388
+ var m, outputBuffer;
190389
+ m = this;
190390
+ };
190391
+ NaClDecoder.prototype.Release = function(outputBuffer) { return this.$val.Release(outputBuffer); };
190392
+ ptrType$1.methods = [{prop: "initialize", name: "initialize", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([sliceType$1], [$error], false)}, {prop: "reset", name: "reset", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([], [$error], false)}, {prop: "destroy", name: "destroy", pkg: "github.com/supraio/client-daemon/pkg/x264/nacldecoder", typ: $funcType([], [$error], false)}, {prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType$1, general.OutputBuffer], [$error], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([general.OutputBuffer], [], false)}];
190393
+ NaClDecoder.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder", [{prop: "initialized", name: "initialized", embedded: false, exported: false, typ: $Bool, tag: ""}]);
190394
+ $init = function() {
190395
+ $pkg.$init = function() {};
190396
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190397
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190398
+ $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190399
+ $r = general.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190400
+ $r = jsdecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190401
+ $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190402
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190403
+ };
190404
+ $pkg.$init = $init;
190405
+ return $pkg;
190406
+ })();
190159
190407
  $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190160
- var $pkg = {}, $init, fmt, dom, errscreen, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, YCbCrJS, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newWindow, Main, main, newScreenImpl, newBuffer;
190408
+ var $pkg = {}, $init, fmt, errscreen, dom, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, YCbCrJS, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newWindow, Main, main, newScreenImpl, newBuffer;
190161
190409
  fmt = $packages["fmt"];
190162
- dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
190163
190410
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
190411
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
190164
190412
  screen = $packages["golang.org/x/exp/shiny/screen"];
190165
190413
  f64 = $packages["golang.org/x/image/math/f64"];
190166
190414
  image = $packages["image"];
@@ -190568,8 +190816,8 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190568
190816
  $pkg.$init = function() {};
190569
190817
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190570
190818
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190571
- $r = dom.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190572
- $r = errscreen.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190819
+ $r = errscreen.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190820
+ $r = dom.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190573
190821
  $r = screen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190574
190822
  $r = f64.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190575
190823
  $r = image.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -190583,7 +190831,7 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190583
190831
  return $pkg;
190584
190832
  })();
190585
190833
  $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190586
- var $pkg = {}, $init, hex, webgl, errs, jshelper, general, canvasdriver, image, js, Decoder, sliceType, funcType, arrayType, ptrType, sliceType$1, ptrType$1, sliceType$2, ptrType$2, NewDecoder;
190834
+ var $pkg = {}, $init, hex, webgl, errs, jshelper, general, canvasdriver, image, js, Decoder, sliceType, funcType, arrayType, ptrType, sliceType$1, ptrType$1, sliceType$2, ptrType$2, IsAvailable, NewDecoder;
190587
190835
  hex = $packages["encoding/hex"];
190588
190836
  webgl = $packages["github.com/nuberu/webgl"];
190589
190837
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
@@ -190614,6 +190862,10 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190614
190862
  ptrType$1 = $ptrType(canvasdriver.BufferImpl);
190615
190863
  sliceType$2 = $sliceType($Uint8);
190616
190864
  ptrType$2 = $ptrType(Decoder);
190865
+ IsAvailable = function() {
190866
+ return !$clone($clone(js.Global(), js.Value).Get("VideoDecoder"), js.Value).IsUndefined();
190867
+ };
190868
+ $pkg.IsAvailable = IsAvailable;
190617
190869
  NewDecoder = function(header) {
190618
190870
  var header, rejects, resolves;
190619
190871
  resolves = new sliceType([]);
@@ -190697,7 +190949,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190697
190949
  };
190698
190950
  Decoder.prototype.detectCodecName = function(nal) { return this.$val.detectCodecName(nal); };
190699
190951
  Decoder.ptr.prototype.Decode = function(nal, outputBuffer) {
190700
- var {$24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, chunk, chunkOpts, d, displayHeight, displayWidth, err, errDec, errMessage, frame, frameData, framePromise, framePromiseCb, frameType, nal, outputBuffer, racePromise, timeoutPromise, timeoutPromiseCb, x, ycbcrImg, ycbcrJSImg, $s, $r, $c} = $restore(this, {nal, outputBuffer});
190952
+ var {$24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, chunk, chunkOpts, d, displayHeight, displayWidth, err, errDec, frame, frameData, framePromise, framePromiseCb, frameType, nal, outputBuffer, racePromise, timeoutPromise, timeoutPromiseCb, x, ycbcrImg, ycbcrJSImg, $s, $r, $c} = $restore(this, {nal, outputBuffer});
190701
190953
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190702
190954
  d = [d];
190703
190955
  d[0] = this;
@@ -190773,13 +191025,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190773
191025
  /* */ if (!(err === ptrType.nil)) { $s = 24; continue; }
190774
191026
  /* */ $s = 25; continue;
190775
191027
  /* if (!(err === ptrType.nil)) { */ case 24:
190776
- errMessage = "";
190777
- if ($clone(err, js.Value).Type() === 4) {
190778
- errMessage = $clone(err, js.Value).String();
190779
- } else {
190780
- errMessage = $clone($clone(err, js.Value).Get("message"), js.Value).String();
190781
- }
190782
- _r$10 = errs.Errorf(errMessage, sliceType$1.nil); /* */ $s = 26; case 26: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
191028
+ _r$10 = jshelper.GetError(err); /* */ $s = 26; case 26: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
190783
191029
  $24r$1 = _r$10;
190784
191030
  $s = 27; case 27: return $24r$1;
190785
191031
  /* } */ case 25:
@@ -190792,7 +191038,7 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190792
191038
  image.Rectangle.copy(ycbcrImg.Rect, image.Rect(0, 0, displayWidth, displayHeight));
190793
191039
  ycbcrImg.SubsampleRatio = 2;
190794
191040
  $s = -1; return $ifaceNil;
190795
- /* */ } return; } var $f = {$blk: Decoder.ptr.prototype.Decode, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, chunk, chunkOpts, d, displayHeight, displayWidth, err, errDec, errMessage, frame, frameData, framePromise, framePromiseCb, frameType, nal, outputBuffer, racePromise, timeoutPromise, timeoutPromiseCb, x, ycbcrImg, ycbcrJSImg, $s};return $f;
191041
+ /* */ } return; } var $f = {$blk: Decoder.ptr.prototype.Decode, $c: true, $r, $24r, $24r$1, _arg, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, chunk, chunkOpts, d, displayHeight, displayWidth, err, errDec, frame, frameData, framePromise, framePromiseCb, frameType, nal, outputBuffer, racePromise, timeoutPromise, timeoutPromiseCb, x, ycbcrImg, ycbcrJSImg, $s};return $f;
190796
191042
  };
190797
191043
  Decoder.prototype.Decode = function(nal, outputBuffer) { return this.$val.Decode(nal, outputBuffer); };
190798
191044
  Decoder.ptr.prototype.Release = function(outputBuffer) {
@@ -190856,12 +191102,12 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190856
191102
  return $pkg;
190857
191103
  })();
190858
191104
  $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190859
- var $pkg = {}, $init, errs, general, h264_decoder, webcodecs, js, Decoder, H264Decoder, ptrType, sliceType, sliceType$1, NewH264Decoder;
191105
+ var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs, Decoder, H264Decoder, ptrType, sliceType, sliceType$1, NewH264Decoder;
190860
191106
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190861
191107
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190862
191108
  h264_decoder = $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"];
191109
+ nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
190863
191110
  webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
190864
- js = $packages["syscall/js"];
190865
191111
  Decoder = $pkg.Decoder = $newType(8, $kindInterface, "x264.Decoder", true, "github.com/supraio/client-daemon/pkg/x264", true, null);
190866
191112
  H264Decoder = $pkg.H264Decoder = $newType(0, $kindStruct, "x264.H264Decoder", true, "github.com/supraio/client-daemon/pkg/x264", true, function(decoder_) {
190867
191113
  this.$val = this;
@@ -190878,20 +191124,24 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190878
191124
  var {$24r, _r, decoder, header, $s, $r, $c} = $restore(this, {header});
190879
191125
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190880
191126
  decoder = $ifaceNil;
190881
- /* */ if (!$clone($clone(js.Global(), js.Value).Get("VideoDecoder"), js.Value).IsUndefined()) { $s = 1; continue; }
190882
- /* */ if (!$clone($clone(js.Global(), js.Value).Get("h264Decoder"), js.Value).IsUndefined()) { $s = 2; continue; }
190883
- /* */ $s = 3; continue;
190884
- /* if (!$clone($clone(js.Global(), js.Value).Get("VideoDecoder"), js.Value).IsUndefined()) { */ case 1:
191127
+ /* */ if (nacldecoder.IsAvailable()) { $s = 1; continue; }
191128
+ /* */ if (webcodecs.IsAvailable()) { $s = 2; continue; }
191129
+ /* */ if (h264_decoder.IsAvailable()) { $s = 3; continue; }
191130
+ /* */ $s = 4; continue;
191131
+ /* if (nacldecoder.IsAvailable()) { */ case 1:
191132
+ decoder = nacldecoder.NewDecoder(header);
191133
+ $s = 5; continue;
191134
+ /* } else if (webcodecs.IsAvailable()) { */ case 2:
190885
191135
  decoder = webcodecs.NewDecoder(header);
190886
- $s = 4; continue;
190887
- /* } else if (!$clone($clone(js.Global(), js.Value).Get("h264Decoder"), js.Value).IsUndefined()) { */ case 2:
191136
+ $s = 5; continue;
191137
+ /* } else if (h264_decoder.IsAvailable()) { */ case 3:
190888
191138
  decoder = h264_decoder.NewDecoder(header);
190889
- $s = 4; continue;
190890
- /* } else { */ case 3:
190891
- _r = errs.Errorf("Not available any h264 decoder adapter in JS", sliceType.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191139
+ $s = 5; continue;
191140
+ /* } else { */ case 4:
191141
+ _r = errs.Errorf("Not available any h264 decoder adapter in JS", sliceType.nil); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190892
191142
  $24r = [ptrType.nil, _r];
190893
- $s = 6; case 6: return $24r;
190894
- /* } */ case 4:
191143
+ $s = 7; case 7: return $24r;
191144
+ /* } */ case 5:
190895
191145
  $s = -1; return [new H264Decoder.ptr(decoder), $ifaceNil];
190896
191146
  /* */ } return; } var $f = {$blk: NewH264Decoder, $c: true, $r, $24r, _r, decoder, header, $s};return $f;
190897
191147
  };
@@ -190924,8 +191174,390 @@ $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190924
191174
  $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190925
191175
  $r = general.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190926
191176
  $r = h264_decoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190927
- $r = webcodecs.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190928
- $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191177
+ $r = nacldecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191178
+ $r = webcodecs.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191179
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191180
+ };
191181
+ $pkg.$init = $init;
191182
+ return $pkg;
191183
+ })();
191184
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] = (function() {
191185
+ var $pkg = {}, $init, errs, jshelper, jsdecoder, dom, screen, f64, image, color, draw, log, sync, js, windowImpl, screenImpl, BufferImpl, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, funcType, arrayType, ptrType$4, sliceType$1, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, newWindow, newScreenImpl, Main, main, newBuffer;
191186
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191187
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
191188
+ jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
191189
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
191190
+ screen = $packages["golang.org/x/exp/shiny/screen"];
191191
+ f64 = $packages["golang.org/x/image/math/f64"];
191192
+ image = $packages["image"];
191193
+ color = $packages["image/color"];
191194
+ draw = $packages["image/draw"];
191195
+ log = $packages["log"];
191196
+ sync = $packages["sync"];
191197
+ js = $packages["syscall/js"];
191198
+ windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "nacldriver.windowImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(screen_, mutex_, renderingInProgress_, domEvents_, released_) {
191199
+ this.$val = this;
191200
+ if (arguments.length === 0) {
191201
+ this.screen = ptrType.nil;
191202
+ this.mutex = ptrType$1.nil;
191203
+ this.renderingInProgress = false;
191204
+ this.domEvents = ptrType$2.nil;
191205
+ this.released = false;
191206
+ return;
191207
+ }
191208
+ this.screen = screen_;
191209
+ this.mutex = mutex_;
191210
+ this.renderingInProgress = renderingInProgress_;
191211
+ this.domEvents = domEvents_;
191212
+ this.released = released_;
191213
+ });
191214
+ screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "nacldriver.screenImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(doc_) {
191215
+ this.$val = this;
191216
+ if (arguments.length === 0) {
191217
+ this.doc = new js.Value.ptr(null, false, arrayType.zero());
191218
+ return;
191219
+ }
191220
+ this.doc = doc_;
191221
+ });
191222
+ BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "nacldriver.BufferImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", true, function(screen_, size_) {
191223
+ this.$val = this;
191224
+ if (arguments.length === 0) {
191225
+ this.screen = ptrType.nil;
191226
+ this.size = new image.Point.ptr(0, 0);
191227
+ return;
191228
+ }
191229
+ this.screen = screen_;
191230
+ this.size = size_;
191231
+ });
191232
+ sliceType = $sliceType($emptyInterface);
191233
+ ptrType = $ptrType(screenImpl);
191234
+ ptrType$1 = $ptrType(sync.Mutex);
191235
+ ptrType$2 = $ptrType(dom.DomEvents);
191236
+ ptrType$3 = $ptrType(js.Value);
191237
+ funcType = $funcType([], [], false);
191238
+ arrayType = $arrayType(funcType, 0);
191239
+ ptrType$4 = $ptrType(image.RGBA);
191240
+ sliceType$1 = $sliceType($Uint8);
191241
+ ptrType$5 = $ptrType(screen.DrawOptions);
191242
+ ptrType$6 = $ptrType(windowImpl);
191243
+ ptrType$7 = $ptrType(screen.NewWindowOptions);
191244
+ ptrType$8 = $ptrType(image.YCbCr);
191245
+ ptrType$9 = $ptrType(BufferImpl);
191246
+ newWindow = function(screen$1, opts) {
191247
+ var {_r, _r$1, domEvents, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
191248
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191249
+ /* */ if (!(opts.Title === "")) { $s = 1; continue; }
191250
+ /* */ $s = 2; continue;
191251
+ /* if (!(opts.Title === "")) { */ case 1:
191252
+ _r = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType([new $String("title")])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191253
+ _r$1 = $clone(_r, js.Value).Call("item", new sliceType([new $Int(0)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191254
+ $r = $clone(_r$1, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191255
+ /* } */ case 2:
191256
+ domEvents = dom.NewDomEvents();
191257
+ w = new windowImpl.ptr(screen$1, new sync.Mutex.ptr(0, 0), false, domEvents, false);
191258
+ $s = -1; return w;
191259
+ /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, domEvents, opts, screen$1, w, $s};return $f;
191260
+ };
191261
+ windowImpl.ptr.prototype.Release = function() {
191262
+ var {w, $s, $deferred, $r, $c} = $restore(this, {});
191263
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
191264
+ w = this;
191265
+ $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191266
+ $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
191267
+ /* */ if (w.released) { $s = 2; continue; }
191268
+ /* */ $s = 3; continue;
191269
+ /* if (w.released) { */ case 2:
191270
+ $s = 4; case 4: return;
191271
+ /* } */ case 3:
191272
+ $r = w.domEvents.Release(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191273
+ w.released = true;
191274
+ $s = -1; return;
191275
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.Release, $c: true, $r, w, $s, $deferred};return $f; } }
191276
+ };
191277
+ windowImpl.prototype.Release = function() { return this.$val.Release(); };
191278
+ windowImpl.ptr.prototype.Publish = function() {
191279
+ var w;
191280
+ w = this;
191281
+ if (w.released) {
191282
+ return new screen.PublishResult.ptr(false);
191283
+ }
191284
+ return new screen.PublishResult.ptr(false);
191285
+ };
191286
+ windowImpl.prototype.Publish = function() { return this.$val.Publish(); };
191287
+ windowImpl.ptr.prototype.Send = function(event) {
191288
+ var event, w;
191289
+ w = this;
191290
+ if (w.released) {
191291
+ return;
191292
+ }
191293
+ $panic(new $String("Not implemented"));
191294
+ };
191295
+ windowImpl.prototype.Send = function(event) { return this.$val.Send(event); };
191296
+ windowImpl.ptr.prototype.SendFirst = function(event) {
191297
+ var event, w;
191298
+ w = this;
191299
+ if (w.released) {
191300
+ return;
191301
+ }
191302
+ $panic(new $String("Not implemented"));
191303
+ };
191304
+ windowImpl.prototype.SendFirst = function(event) { return this.$val.SendFirst(event); };
191305
+ windowImpl.ptr.prototype.NextEvent = function() {
191306
+ var {_r, ev, w, $s, $r, $c} = $restore(this, {});
191307
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191308
+ w = this;
191309
+ _r = $recv(w.domEvents.GetEventChan()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191310
+ ev = _r[0];
191311
+ $s = -1; return ev;
191312
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.NextEvent, $c: true, $r, _r, ev, w, $s};return $f;
191313
+ };
191314
+ windowImpl.prototype.NextEvent = function() { return this.$val.NextEvent(); };
191315
+ windowImpl.ptr.prototype.Upload = function(dp, src, sr) {
191316
+ var {_r, dp, sr, src, w, $s, $r, $c} = $restore(this, {dp, src, sr});
191317
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191318
+ w = this;
191319
+ if (w.released) {
191320
+ $s = -1; return;
191321
+ }
191322
+ _r = errs.Errorf("Not implemented, use UploadYCbCr instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191323
+ $panic(_r);
191324
+ $s = -1; return;
191325
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.Upload, $c: true, $r, _r, dp, sr, src, w, $s};return $f;
191326
+ };
191327
+ windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
191328
+ windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
191329
+ var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s, $r, $c} = $restore(this, {dp, src, sr});
191330
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191331
+ w = this;
191332
+ if (w.released) {
191333
+ $s = -1; return;
191334
+ }
191335
+ /* */ if (jsdecoder.ShouldResetOnNextDecode()) { $s = 1; continue; }
191336
+ /* */ $s = 2; continue;
191337
+ /* if (jsdecoder.ShouldResetOnNextDecode()) { */ case 1:
191338
+ $r = log.Println(new sliceType([new $String("NaClDecoder is resetting, skipping frame rendering")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191339
+ $s = -1; return;
191340
+ /* } */ case 2:
191341
+ jsNaClDecoder = jsdecoder.GetJsNaClDecoder();
191342
+ /* */ if (jsNaClDecoder === ptrType$3.nil) { $s = 4; continue; }
191343
+ /* */ $s = 5; continue;
191344
+ /* if (jsNaClDecoder === ptrType$3.nil) { */ case 4:
191345
+ $r = log.Println(new sliceType([new $String("JsNaClDecoder is not created, skipping frame rendering")])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191346
+ $s = -1; return;
191347
+ /* } */ case 5:
191348
+ $r = w.mutex.Lock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191349
+ _r = $clone(jsNaClDecoder, js.Value).Call("getPicture", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191350
+ picturePromise = $clone(_r, js.Value);
191351
+ _r$1 = jshelper.Await($clone(picturePromise, js.Value)); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191352
+ _tuple = _r$1;
191353
+ picture = _tuple[0];
191354
+ err = _tuple[1];
191355
+ $r = w.mutex.Unlock(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191356
+ /* */ if (!(err === ptrType$3.nil)) { $s = 11; continue; }
191357
+ /* */ $s = 12; continue;
191358
+ /* if (!(err === ptrType$3.nil)) { */ case 11:
191359
+ jsdecoder.ResetBeforeNextDecode();
191360
+ _r$2 = jshelper.GetError(err); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191361
+ _arg = _r$2;
191362
+ $r = errs.Print("Failed to get picture: %s", _arg); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191363
+ $s = -1; return;
191364
+ /* } */ case 12:
191365
+ /* */ if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { $s = 15; continue; }
191366
+ /* */ $s = 16; continue;
191367
+ /* if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { */ case 15:
191368
+ w.renderingInProgress = true;
191369
+ _r$3 = $clone(jsNaClDecoder, js.Value).Call("render", new sliceType([(x = picture, new x.constructor.elem(x))])); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191370
+ renderPromise = $clone(_r$3, js.Value);
191371
+ _r$4 = jshelper.Await($clone(renderPromise, js.Value)); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
191372
+ _tuple$1 = _r$4;
191373
+ renderResult = _tuple$1[0];
191374
+ err$1 = _tuple$1[1];
191375
+ w.renderingInProgress = false;
191376
+ /* */ if (!(err$1 === ptrType$3.nil)) { $s = 19; continue; }
191377
+ /* */ $s = 20; continue;
191378
+ /* if (!(err$1 === ptrType$3.nil)) { */ case 19:
191379
+ _r$5 = jshelper.GetError(err$1); /* */ $s = 21; case 21: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
191380
+ _arg$1 = _r$5;
191381
+ $r = errs.Print("Failed to render frame: %s", _arg$1); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191382
+ $s = -1; return;
191383
+ /* } */ case 20:
191384
+ /* */ if (!(($clone(renderResult, js.Value).Float() === 0))) { $s = 23; continue; }
191385
+ /* */ $s = 24; continue;
191386
+ /* if (!(($clone(renderResult, js.Value).Float() === 0))) { */ case 23:
191387
+ $r = log.Printf("Failed to render frame with code: %f\n", new sliceType([new $Float64($clone(renderResult, js.Value).Float())])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191388
+ $s = -1; return;
191389
+ /* } */ case 24:
191390
+ /* } */ case 16:
191391
+ _r$6 = $clone(jsNaClDecoder, js.Value).Call("recyclePicture", new sliceType([(x$1 = picture, new x$1.constructor.elem(x$1))])); /* */ $s = 26; case 26: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
191392
+ _r$6;
191393
+ $s = -1; return;
191394
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s};return $f;
191395
+ };
191396
+ windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
191397
+ windowImpl.ptr.prototype.Fill = function(dr, src, op) {
191398
+ var dr, op, src, w;
191399
+ w = this;
191400
+ if (w.released) {
191401
+ return;
191402
+ }
191403
+ $panic(new $String("Not implemented"));
191404
+ };
191405
+ windowImpl.prototype.Fill = function(dr, src, op) { return this.$val.Fill(dr, src, op); };
191406
+ windowImpl.ptr.prototype.Draw = function(src2dst, src, sr, op, opts) {
191407
+ var op, opts, sr, src, src2dst, w;
191408
+ w = this;
191409
+ if (w.released) {
191410
+ return;
191411
+ }
191412
+ $panic(new $String("Not implemented"));
191413
+ };
191414
+ windowImpl.prototype.Draw = function(src2dst, src, sr, op, opts) { return this.$val.Draw(src2dst, src, sr, op, opts); };
191415
+ windowImpl.ptr.prototype.DrawUniform = function(src2dst, src, sr, op, opts) {
191416
+ var op, opts, sr, src, src2dst, w;
191417
+ w = this;
191418
+ if (w.released) {
191419
+ return;
191420
+ }
191421
+ $panic(new $String("Not implemented"));
191422
+ };
191423
+ windowImpl.prototype.DrawUniform = function(src2dst, src, sr, op, opts) { return this.$val.DrawUniform(src2dst, src, sr, op, opts); };
191424
+ windowImpl.ptr.prototype.Copy = function(dp, src, sr, op, opts) {
191425
+ var dp, op, opts, sr, src, w;
191426
+ w = this;
191427
+ if (w.released) {
191428
+ return;
191429
+ }
191430
+ $panic(new $String("Not implemented"));
191431
+ };
191432
+ windowImpl.prototype.Copy = function(dp, src, sr, op, opts) { return this.$val.Copy(dp, src, sr, op, opts); };
191433
+ windowImpl.ptr.prototype.Scale = function(dr, src, sr, op, opts) {
191434
+ var dr, op, opts, sr, src, w;
191435
+ w = this;
191436
+ if (w.released) {
191437
+ return;
191438
+ }
191439
+ $panic(new $String("Not implemented"));
191440
+ };
191441
+ windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
191442
+ newScreenImpl = function() {
191443
+ var s;
191444
+ s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
191445
+ return [s, $ifaceNil];
191446
+ };
191447
+ screenImpl.ptr.prototype.NewBuffer = function(size) {
191448
+ var buffer, s, size;
191449
+ s = this;
191450
+ buffer = newBuffer(s, $clone(size, image.Point));
191451
+ return [buffer, $ifaceNil];
191452
+ };
191453
+ screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
191454
+ screenImpl.ptr.prototype.NewTexture = function(size) {
191455
+ var {$24r, _r, s, size, $s, $r, $c} = $restore(this, {size});
191456
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191457
+ s = this;
191458
+ _r = errs.Errorf("Texture not implemented", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191459
+ $24r = [$ifaceNil, _r];
191460
+ $s = 2; case 2: return $24r;
191461
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewTexture, $c: true, $r, $24r, _r, s, size, $s};return $f;
191462
+ };
191463
+ screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
191464
+ screenImpl.ptr.prototype.NewWindow = function(opts) {
191465
+ var {_r, opts, s, window, $s, $r, $c} = $restore(this, {opts});
191466
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191467
+ s = this;
191468
+ _r = newWindow(s, opts); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191469
+ window = _r;
191470
+ $s = -1; return [window, $ifaceNil];
191471
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewWindow, $c: true, $r, _r, opts, s, window, $s};return $f;
191472
+ };
191473
+ screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
191474
+ Main = function(f) {
191475
+ var {_r, err, f, $s, $r, $c} = $restore(this, {f});
191476
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191477
+ _r = main(f); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191478
+ err = _r;
191479
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
191480
+ $panic(err);
191481
+ }
191482
+ $s = -1; return;
191483
+ /* */ } return; } var $f = {$blk: Main, $c: true, $r, _r, err, f, $s};return $f;
191484
+ };
191485
+ $pkg.Main = Main;
191486
+ main = function(f) {
191487
+ var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
191488
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191489
+ retErr = $ifaceNil;
191490
+ _tuple = newScreenImpl();
191491
+ s = _tuple[0];
191492
+ err = _tuple[1];
191493
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
191494
+ retErr = err;
191495
+ $s = -1; return retErr;
191496
+ }
191497
+ $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191498
+ retErr = $ifaceNil;
191499
+ $s = -1; return retErr;
191500
+ /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
191501
+ };
191502
+ newBuffer = function(screen$1, size) {
191503
+ var b, screen$1, size;
191504
+ b = new BufferImpl.ptr(screen$1, $clone(size, image.Point));
191505
+ return b;
191506
+ };
191507
+ BufferImpl.ptr.prototype.Size = function() {
191508
+ var b;
191509
+ b = this;
191510
+ return b.size;
191511
+ };
191512
+ BufferImpl.prototype.Size = function() { return this.$val.Size(); };
191513
+ BufferImpl.ptr.prototype.Bounds = function() {
191514
+ var b;
191515
+ b = this;
191516
+ return new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(b.size, image.Point));
191517
+ };
191518
+ BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
191519
+ BufferImpl.ptr.prototype.RGBA = function() {
191520
+ var {_r, b, $s, $r, $c} = $restore(this, {});
191521
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191522
+ b = this;
191523
+ _r = errs.Errorf("Not implemented RGBA(), use PictureResult() instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191524
+ $panic(_r);
191525
+ $s = -1; return ptrType$4.nil;
191526
+ /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.RGBA, $c: true, $r, _r, b, $s};return $f;
191527
+ };
191528
+ BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
191529
+ BufferImpl.ptr.prototype.YCbCr = function() {
191530
+ var b;
191531
+ b = this;
191532
+ return new image.YCbCr.ptr(sliceType$1.nil, sliceType$1.nil, sliceType$1.nil, 0, 0, 0, $clone(b.Bounds(), image.Rectangle));
191533
+ };
191534
+ BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
191535
+ BufferImpl.ptr.prototype.Release = function() {
191536
+ var b;
191537
+ b = this;
191538
+ };
191539
+ BufferImpl.prototype.Release = function() { return this.$val.Release(); };
191540
+ ptrType$6.methods = [{prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}];
191541
+ ptrType.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType$7], [screen.Window, $error], false)}];
191542
+ ptrType$9.methods = [{prop: "Size", name: "Size", pkg: "", typ: $funcType([], [image.Point], false)}, {prop: "Bounds", name: "Bounds", pkg: "", typ: $funcType([], [image.Rectangle], false)}, {prop: "RGBA", name: "RGBA", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$8], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
191543
+ windowImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "renderingInProgress", name: "renderingInProgress", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}]);
191544
+ screenImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
191545
+ BufferImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}]);
191546
+ $init = function() {
191547
+ $pkg.$init = function() {};
191548
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
191549
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191550
+ $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191551
+ $r = jsdecoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191552
+ $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191553
+ $r = screen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191554
+ $r = f64.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191555
+ $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191556
+ $r = color.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191557
+ $r = draw.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191558
+ $r = log.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191559
+ $r = sync.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191560
+ $r = js.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190929
191561
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190930
191562
  };
190931
191563
  $pkg.$init = $init;
@@ -191024,13 +191656,14 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
191024
191656
  return $pkg;
191025
191657
  })();
191026
191658
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191027
- var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, input, message, netclient, netpacket, netstream, stats, window, x264, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, X264FrameRenderer, ScreenWindow, ProcessInfo, ProcessInfoManager, FrameCollector, FrameMapItem, Frame, FrameType, ptrType, ptrType$1, ptrType$2, funcType, sliceType, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, sliceType$1, sliceType$2, structType, sliceType$3, ptrType$11, ptrType$12, funcType$1, ptrType$13, chanType, chanType$1, chanType$2, chanType$3, chanType$4, mapType, NewX264FrameRenderer, NewScreenWindow, MainDriver, NewProcessInfoManager, NewFrameCollector;
191659
+ var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, helper, input, message, netclient, netpacket, netstream, stats, window, x264, nacldecoder, nacldriver, webcodecs, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, X264FrameRenderer, ScreenWindow, ProcessInfo, ProcessInfoManager, FrameCollector, FrameMapItem, Frame, FrameType, ptrType, ptrType$1, ptrType$2, funcType, sliceType, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, sliceType$1, sliceType$2, structType, sliceType$3, ptrType$10, ptrType$11, funcType$1, ptrType$12, ptrType$13, chanType, chanType$1, chanType$2, chanType$3, chanType$4, mapType, NewX264FrameRenderer, NewScreenWindow, MainDriver, NewProcessInfoManager, NewFrameCollector;
191028
191660
  binary = $packages["encoding/binary"];
191029
191661
  json = $packages["encoding/json"];
191030
191662
  query = $packages["github.com/google/go-querystring/query"];
191031
191663
  clientscreen = $packages["github.com/supraio/client-daemon/pkg/clientscreen"];
191032
191664
  clipboard = $packages["github.com/supraio/client-daemon/pkg/clipboard"];
191033
191665
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191666
+ helper = $packages["github.com/supraio/client-daemon/pkg/helper"];
191034
191667
  input = $packages["github.com/supraio/client-daemon/pkg/input"];
191035
191668
  message = $packages["github.com/supraio/client-daemon/pkg/message"];
191036
191669
  netclient = $packages["github.com/supraio/client-daemon/pkg/netclient"];
@@ -191039,6 +191672,9 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191039
191672
  stats = $packages["github.com/supraio/client-daemon/pkg/stats"];
191040
191673
  window = $packages["github.com/supraio/client-daemon/pkg/window"];
191041
191674
  x264 = $packages["github.com/supraio/client-daemon/pkg/x264"];
191675
+ nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
191676
+ nacldriver = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"];
191677
+ webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
191042
191678
  canvasdriver = $packages["golang.org/x/exp/shiny/driver/canvasdriver"];
191043
191679
  webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
191044
191680
  screen = $packages["golang.org/x/exp/shiny/screen"];
@@ -191071,7 +191707,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191071
191707
  this.stats = stats_;
191072
191708
  this.dec = dec_;
191073
191709
  });
191074
- ScreenWindow = $pkg.ScreenWindow = $newType(0, $kindStruct, "render.ScreenWindow", true, "github.com/supraio/client-daemon/pkg/render", true, function(processInfoManager_, screenDriver_, screenHost_, metadataDriver_, metadataHost_, clientID_, clientSecret_, screenID_, secure_, screenSize_, renderMutex_, timeoutDuration_, closed_, stats_, onClose_, window_, screen_, screenConn_, screenReconnecting_, metadataServer_, frameCollector_, x264Renderer_, screenSender_, metadataSender_, metadataResponsiveSender_, sizeHandler_, keyHandler_, mouseHandler_, healthchecker_, keyEventChan_, mouseEventChan_, sizeEventChan_, focusEventChan_, winCloseChannel_) {
191710
+ ScreenWindow = $pkg.ScreenWindow = $newType(0, $kindStruct, "render.ScreenWindow", true, "github.com/supraio/client-daemon/pkg/render", true, function(processInfoManager_, screenDriver_, screenHost_, metadataDriver_, metadataHost_, clientID_, clientSecret_, screenID_, secure_, screenSize_, renderMutex_, timeoutDuration_, closed_, stats_, onClose_, window_, screen_, screenConn_, screenReconnecting_, metadataServer_, frameCollector_, x264Renderer_, sizeHandler_, keyHandler_, mouseHandler_, healthchecker_, keyEventChan_, mouseEventChan_, sizeEventChan_, focusEventChan_, winCloseChannel_) {
191075
191711
  this.$val = this;
191076
191712
  if (arguments.length === 0) {
191077
191713
  this.processInfoManager = ptrType$2.nil;
@@ -191096,13 +191732,10 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191096
191732
  this.metadataServer = ptrType$3.nil;
191097
191733
  this.frameCollector = ptrType$4.nil;
191098
191734
  this.x264Renderer = ptrType$5.nil;
191099
- this.screenSender = $ifaceNil;
191100
- this.metadataSender = $ifaceNil;
191101
- this.metadataResponsiveSender = ptrType$6.nil;
191102
- this.sizeHandler = ptrType$7.nil;
191103
- this.keyHandler = ptrType$8.nil;
191104
- this.mouseHandler = ptrType$9.nil;
191105
- this.healthchecker = ptrType$10.nil;
191735
+ this.sizeHandler = ptrType$6.nil;
191736
+ this.keyHandler = ptrType$7.nil;
191737
+ this.mouseHandler = ptrType$8.nil;
191738
+ this.healthchecker = ptrType$9.nil;
191106
191739
  this.keyEventChan = $chanNil;
191107
191740
  this.mouseEventChan = $chanNil;
191108
191741
  this.sizeEventChan = $chanNil;
@@ -191132,9 +191765,6 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191132
191765
  this.metadataServer = metadataServer_;
191133
191766
  this.frameCollector = frameCollector_;
191134
191767
  this.x264Renderer = x264Renderer_;
191135
- this.screenSender = screenSender_;
191136
- this.metadataSender = metadataSender_;
191137
- this.metadataResponsiveSender = metadataResponsiveSender_;
191138
191768
  this.sizeHandler = sizeHandler_;
191139
191769
  this.keyHandler = keyHandler_;
191140
191770
  this.mouseHandler = mouseHandler_;
@@ -191220,78 +191850,85 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191220
191850
  ptrType$3 = $ptrType(netclient.MetadataServer);
191221
191851
  ptrType$4 = $ptrType(FrameCollector);
191222
191852
  ptrType$5 = $ptrType(X264FrameRenderer);
191223
- ptrType$6 = $ptrType(netclient.MetadataResponsiveSender);
191224
- ptrType$7 = $ptrType(window.SizeHandler);
191225
- ptrType$8 = $ptrType(input.KeyHandler);
191226
- ptrType$9 = $ptrType(input.MouseHandler);
191227
- ptrType$10 = $ptrType(netclient.Healthchecker);
191853
+ ptrType$6 = $ptrType(window.SizeHandler);
191854
+ ptrType$7 = $ptrType(input.KeyHandler);
191855
+ ptrType$8 = $ptrType(input.MouseHandler);
191856
+ ptrType$9 = $ptrType(netclient.Healthchecker);
191228
191857
  sliceType$1 = $sliceType($emptyInterface);
191229
191858
  sliceType$2 = $sliceType($Uint8);
191230
191859
  structType = $structType("", []);
191231
191860
  sliceType$3 = $sliceType($String);
191232
- ptrType$11 = $ptrType(Frame);
191233
- ptrType$12 = $ptrType(FrameMapItem);
191861
+ ptrType$10 = $ptrType(Frame);
191862
+ ptrType$11 = $ptrType(FrameMapItem);
191234
191863
  funcType$1 = $funcType([], [$error], false);
191864
+ ptrType$12 = $ptrType(netclient.MetadataResponsiveSender);
191235
191865
  ptrType$13 = $ptrType(ScreenWindow);
191236
191866
  chanType = $chanType(key.Event, false, false);
191237
191867
  chanType$1 = $chanType(mouse.Event, false, false);
191238
191868
  chanType$2 = $chanType(size.Event, false, false);
191239
191869
  chanType$3 = $chanType(focus.Event, false, false);
191240
191870
  chanType$4 = $chanType($emptyInterface, false, false);
191241
- mapType = $mapType($Uint16, ptrType$12);
191871
+ mapType = $mapType($Uint16, ptrType$11);
191242
191872
  NewX264FrameRenderer = function(screenBuffer, window$1, stats$1) {
191243
191873
  var screenBuffer, stats$1, window$1;
191244
191874
  return new X264FrameRenderer.ptr(screenBuffer, window$1, stats$1, ptrType$1.nil);
191245
191875
  };
191246
191876
  $pkg.NewX264FrameRenderer = NewX264FrameRenderer;
191247
191877
  X264FrameRenderer.ptr.prototype.Render = function(frame) {
191248
- var {_arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, _tuple, err, frame, r, $s, $deferred, $r, $c} = $restore(this, {frame});
191249
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
191250
- r = this;
191878
+ var {_r, _r$1, _tuple, err, frame, r, $s, $r, $c} = $restore(this, {frame});
191879
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191880
+ r = [r];
191881
+ r[0] = this;
191251
191882
  err = $ifaceNil;
191252
- /* */ if (r.dec === ptrType$1.nil) { $s = 1; continue; }
191883
+ /* */ if (r[0].dec === ptrType$1.nil) { $s = 1; continue; }
191253
191884
  /* */ $s = 2; continue;
191254
- /* if (r.dec === ptrType$1.nil) { */ case 1:
191885
+ /* if (r[0].dec === ptrType$1.nil) { */ case 1:
191255
191886
  _r = x264.NewH264Decoder(frame.buffer); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191256
191887
  _tuple = _r;
191257
- r.dec = _tuple[0];
191888
+ r[0].dec = _tuple[0];
191258
191889
  err = _tuple[1];
191259
191890
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }
191260
191891
  /* */ $s = 5; continue;
191261
191892
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:
191262
191893
  $r = errs.Print("Decoder cannot be created", err); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191263
- $s = 7; case 7: return;
191894
+ $s = -1; return;
191264
191895
  /* } */ case 5:
191265
191896
  /* } */ case 2:
191266
- $r = r.stats.NotifyFrameDecodeStarted(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191267
- _r$1 = r.dec.Decode(frame.buffer, r.screenBuffer); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191897
+ $r = r[0].stats.NotifyFrameDecodeStarted(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191898
+ _r$1 = r[0].dec.Decode(frame.buffer, r[0].screenBuffer); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191268
191899
  err = _r$1;
191269
- $r = r.stats.NotifyFrameDecodeEnded(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191270
- $deferred.push([$methodVal(r.dec, "Release"), [r.screenBuffer]]);
191900
+ $r = r[0].stats.NotifyFrameDecodeEnded(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191901
+ $r = r[0].dec.Release(r[0].screenBuffer); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191271
191902
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 11; continue; }
191272
191903
  /* */ $s = 12; continue;
191273
191904
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 11:
191274
191905
  $r = errs.Print("Frame cannot be decoded", err); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191275
- $s = 14; case 14: return;
191906
+ $s = -1; return;
191276
191907
  /* } */ case 12:
191277
- $r = r.stats.NotifyFrameRenderStarted(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191278
- _arg = $clone(new image.Point.ptr(0, 0), image.Point);
191279
- _arg$1 = r.screenBuffer;
191280
- _r$2 = r.screenBuffer.YCbCr(); /* */ $s = 16; case 16: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191281
- _arg$2 = $clone(_r$2.Rect, image.Rectangle);
191282
- $r = r.window.UploadYCbCr(_arg, _arg$1, _arg$2); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191283
- _r$3 = r.window.Publish(); /* */ $s = 18; case 18: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191284
- _r$3;
191285
- $r = r.stats.NotifyFrameRenderEnded(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191908
+ $go((function(r) { return function $b() {
191909
+ var {_arg, _arg$1, _arg$2, _r$2, _r$3, $s, $r, $c} = $restore(this, {});
191910
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191911
+ $r = r[0].stats.NotifyFrameRenderStarted(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191912
+ _arg = $clone(new image.Point.ptr(0, 0), image.Point);
191913
+ _arg$1 = r[0].screenBuffer;
191914
+ _r$2 = r[0].screenBuffer.YCbCr(); /* */ $s = 2; case 2: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191915
+ _arg$2 = $clone(_r$2.Rect, image.Rectangle);
191916
+ $r = r[0].window.UploadYCbCr(_arg, _arg$1, _arg$2); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191917
+ _r$3 = r[0].window.Publish(); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191918
+ _r$3;
191919
+ $r = r[0].stats.NotifyFrameRenderEnded(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191920
+ $s = -1; return;
191921
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _arg$1, _arg$2, _r$2, _r$3, $s};return $f;
191922
+ }; })(r), []);
191286
191923
  $s = -1; return;
191287
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: X264FrameRenderer.ptr.prototype.Render, $c: true, $r, _arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, _tuple, err, frame, r, $s, $deferred};return $f; } }
191924
+ /* */ } return; } var $f = {$blk: X264FrameRenderer.ptr.prototype.Render, $c: true, $r, _r, _r$1, _tuple, err, frame, r, $s};return $f;
191288
191925
  };
191289
191926
  X264FrameRenderer.prototype.Render = function(frame) { return this.$val.Render(frame); };
191290
191927
  NewScreenWindow = function(processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, screenSize, timeoutDuration) {
191291
191928
  var {$24r, _r, clientID, clientSecret, metadataDriver, metadataHost, processInfoManager, screenDriver, screenHost, screenID, screenSize, secure, timeoutDuration, $s, $r, $c} = $restore(this, {processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, screenSize, timeoutDuration});
191292
191929
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191293
191930
  _r = stats.NewStats(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191294
- $24r = new ScreenWindow.ptr(processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, $clone(screenSize, image.Point), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex), timeoutDuration, true, _r, sliceType.nil, $ifaceNil, $ifaceNil, $ifaceNil, false, ptrType$3.nil, ptrType$4.nil, ptrType$5.nil, $ifaceNil, $ifaceNil, ptrType$6.nil, ptrType$7.nil, ptrType$8.nil, ptrType$9.nil, ptrType$10.nil, new $Chan(key.Event, 0), new $Chan(mouse.Event, 0), new $Chan(size.Event, 0), new $Chan(focus.Event, 0), new $Chan($emptyInterface, 0));
191931
+ $24r = new ScreenWindow.ptr(processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, $clone(screenSize, image.Point), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex), timeoutDuration, true, _r, sliceType.nil, $ifaceNil, $ifaceNil, $ifaceNil, false, ptrType$3.nil, ptrType$4.nil, ptrType$5.nil, ptrType$6.nil, ptrType$7.nil, ptrType$8.nil, ptrType$9.nil, new $Chan(key.Event, 0), new $Chan(mouse.Event, 0), new $Chan(size.Event, 0), new $Chan(focus.Event, 0), new $Chan($emptyInterface, 0));
191295
191932
  $s = 2; case 2: return $24r;
191296
191933
  /* */ } return; } var $f = {$blk: NewScreenWindow, $c: true, $r, $24r, _r, clientID, clientSecret, metadataDriver, metadataHost, processInfoManager, screenDriver, screenHost, screenID, screenSize, secure, timeoutDuration, $s};return $f;
191297
191934
  };
@@ -191351,22 +191988,17 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191351
191988
  $s = -1; return;
191352
191989
  }
191353
191990
  w.closed = true;
191354
- w.healthchecker.Close();
191355
- w.healthchecker = ptrType$10.nil;
191356
- w.keyHandler.Close();
191357
- w.keyHandler = ptrType$8.nil;
191358
- w.mouseHandler.Close();
191359
- w.mouseHandler = ptrType$9.nil;
191360
- w.sizeHandler.Close();
191361
- w.sizeHandler = ptrType$7.nil;
191362
- _r = w.screenSender.Send(3, new sliceType$2([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191991
+ if (!(w.healthchecker === ptrType$9.nil)) {
191992
+ w.healthchecker.Close();
191993
+ w.healthchecker = ptrType$9.nil;
191994
+ }
191995
+ _r = w.createScreenSender().Send(3, new sliceType$2([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191363
191996
  err = _r;
191364
191997
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
191365
191998
  /* */ $s = 3; continue;
191366
191999
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
191367
192000
  $r = errs.Print("Cannot close screen stream", err); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191368
192001
  /* } */ case 3:
191369
- w.screenSender = $ifaceNil;
191370
192002
  _r$1 = w.metadataServer.Close(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191371
192003
  err = _r$1;
191372
192004
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 6; continue; }
@@ -191559,7 +192191,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191559
192191
  $r = errs.Print("Cannot encode clipboard info", err$1); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191560
192192
  /* continue; */ $s = 1; continue;
191561
192193
  /* } */ case 9:
191562
- _r$3 = w[0].metadataSender.Send(47, data); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
192194
+ _r$3 = w[0].createMetadataSender().Send(47, data); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191563
192195
  err$1 = _r$3;
191564
192196
  /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 12; continue; }
191565
192197
  /* */ $s = 13; continue;
@@ -191601,7 +192233,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191601
192233
  };
191602
192234
  ScreenWindow.prototype.retriableOpen = function(retries, open) { return this.$val.retriableOpen(retries, open); };
191603
192235
  ScreenWindow.ptr.prototype.openMetadata = function() {
191604
- var {_r, _r$1, _r$2, _r$3, _tuple, _tuple$1, _tuple$2, conn, connect, err, metadataClient, w, $s, $r, $c} = $restore(this, {});
192236
+ var {_r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, _tuple$2, conn, connect, err, metadataClient, metadataSender, metadataServerErr, netStreamErr, w, $s, $r, $c} = $restore(this, {});
191605
192237
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191606
192238
  w = [w];
191607
192239
  w[0] = this;
@@ -191625,44 +192257,87 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191625
192257
  _tuple$2 = _r$2;
191626
192258
  w[0].metadataServer = _tuple$2[0];
191627
192259
  err = _tuple$2[1];
191628
- if (!($interfaceIsEqual(err, $ifaceNil))) {
192260
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }
192261
+ /* */ $s = 5; continue;
192262
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:
192263
+ _r$3 = conn.Close(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
192264
+ netStreamErr = _r$3;
192265
+ /* */ if (!($interfaceIsEqual(netStreamErr, $ifaceNil))) { $s = 7; continue; }
192266
+ /* */ $s = 8; continue;
192267
+ /* if (!($interfaceIsEqual(netStreamErr, $ifaceNil))) { */ case 7:
192268
+ $r = errs.Print("Cannot close metadata connection", netStreamErr); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192269
+ /* } */ case 8:
191629
192270
  $s = -1; return err;
191630
- }
191631
- w[0].metadataSender = netclient.NewMetadataMessageSender(w[0].metadataServer);
191632
- w[0].metadataResponsiveSender = netclient.NewMetadataResponsiveSender(w[0].metadataServer, w[0].timeoutDuration);
191633
- w[0].metadataResponsiveSender.Listen();
191634
- w[0].keyHandler = input.NewKeyHandler(w[0].keyEventChan, w[0].focusEventChan, w[0].metadataSender);
191635
- _r$3 = w[0].keyHandler.Start(); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191636
- err = _r$3;
192271
+ /* } */ case 5:
192272
+ _r$4 = w[0].sendStats(); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
192273
+ err = _r$4;
192274
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 11; continue; }
192275
+ /* */ $s = 12; continue;
192276
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 11:
192277
+ _r$5 = w[0].metadataServer.Close(); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
192278
+ metadataServerErr = _r$5;
192279
+ /* */ if (!($interfaceIsEqual(metadataServerErr, $ifaceNil))) { $s = 14; continue; }
192280
+ /* */ $s = 15; continue;
192281
+ /* if (!($interfaceIsEqual(metadataServerErr, $ifaceNil))) { */ case 14:
192282
+ $r = errs.Print("Cannot close metadata connection", metadataServerErr); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192283
+ /* } */ case 15:
192284
+ $s = -1; return err;
192285
+ /* } */ case 12:
192286
+ metadataSender = w[0].createMetadataSender();
192287
+ w[0].keyHandler = input.NewKeyHandler(w[0].keyEventChan, w[0].focusEventChan, metadataSender);
192288
+ _r$6 = w[0].keyHandler.Start(); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
192289
+ err = _r$6;
191637
192290
  if (!($interfaceIsEqual(err, $ifaceNil))) {
191638
192291
  $s = -1; return err;
191639
192292
  }
191640
- w[0].mouseHandler = input.NewMouseHandler(w[0].mouseEventChan, w[0].metadataSender);
192293
+ w[0].mouseHandler = input.NewMouseHandler(w[0].mouseEventChan, metadataSender);
191641
192294
  w[0].mouseHandler.Start();
191642
- w[0].sizeHandler = window.NewSizeHandler(w[0].sizeEventChan, w[0].metadataSender);
192295
+ w[0].sizeHandler = window.NewSizeHandler(w[0].sizeEventChan, metadataSender);
191643
192296
  w[0].sizeHandler.Start();
191644
192297
  $go($methodVal(w[0], "startTimestampSyncing"), []);
191645
192298
  $go($methodVal(w[0], "startStatsSyncing"), []);
191646
192299
  w[0].metadataServer.OnClose((function(w) { return function $b() {
191647
- var {_r$4, err$1, $s, $r, $c} = $restore(this, {});
192300
+ var {_r$7, err$1, $s, $r, $c} = $restore(this, {});
191648
192301
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192302
+ w[0].metadataServer = ptrType$3.nil;
191649
192303
  w[0].keyHandler.Close();
192304
+ w[0].keyHandler = ptrType$7.nil;
191650
192305
  w[0].mouseHandler.Close();
192306
+ w[0].mouseHandler = ptrType$8.nil;
191651
192307
  w[0].sizeHandler.Close();
191652
- _r$4 = w[0].retriableOpen(-1, $methodVal(w[0], "openMetadata")); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
191653
- err$1 = _r$4;
192308
+ w[0].sizeHandler = ptrType$6.nil;
192309
+ _r$7 = w[0].retriableOpen(-1, $methodVal(w[0], "openMetadata")); /* */ $s = 1; case 1: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
192310
+ err$1 = _r$7;
191654
192311
  /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 2; continue; }
191655
192312
  /* */ $s = 3; continue;
191656
192313
  /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 2:
191657
192314
  $r = errs.Print("Reconnecting metadata", err$1); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191658
192315
  /* } */ case 3:
191659
192316
  $s = -1; return;
191660
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, err$1, $s};return $f;
192317
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$7, err$1, $s};return $f;
191661
192318
  }; })(w));
191662
192319
  $s = -1; return $ifaceNil;
191663
- /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.openMetadata, $c: true, $r, _r, _r$1, _r$2, _r$3, _tuple, _tuple$1, _tuple$2, conn, connect, err, metadataClient, w, $s};return $f;
192320
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.openMetadata, $c: true, $r, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, _tuple$2, conn, connect, err, metadataClient, metadataSender, metadataServerErr, netStreamErr, w, $s};return $f;
191664
192321
  };
191665
192322
  ScreenWindow.prototype.openMetadata = function() { return this.$val.openMetadata(); };
192323
+ ScreenWindow.ptr.prototype.createMetadataResponsiveSender = function() {
192324
+ var w;
192325
+ w = this;
192326
+ return netclient.NewMetadataResponsiveSender(w.metadataServer, w.timeoutDuration);
192327
+ };
192328
+ ScreenWindow.prototype.createMetadataResponsiveSender = function() { return this.$val.createMetadataResponsiveSender(); };
192329
+ ScreenWindow.ptr.prototype.createMetadataSender = function() {
192330
+ var w;
192331
+ w = this;
192332
+ return netclient.NewMetadataMessageSender(w.metadataServer);
192333
+ };
192334
+ ScreenWindow.prototype.createMetadataSender = function() { return this.$val.createMetadataSender(); };
192335
+ ScreenWindow.ptr.prototype.createScreenSender = function() {
192336
+ var w;
192337
+ w = this;
192338
+ return netclient.NewMessageSender(w.screenConn);
192339
+ };
192340
+ ScreenWindow.prototype.createScreenSender = function() { return this.$val.createScreenSender(); };
191666
192341
  ScreenWindow.ptr.prototype.startTimestampSyncing = function() {
191667
192342
  var {_r, _r$1, _r$2, _tuple, err, latencyEnd, latencyNano, latencyStart, serverTimestamp, serverTimestampAhead, serverTimestampData, w, x, x$1, x$2, $s, $r, $c} = $restore(this, {});
191668
192343
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -191670,27 +192345,33 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191670
192345
  $r = time.Sleep(new time.Duration(1, 705032704)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191671
192346
  /* while (true) { */ case 2:
191672
192347
  /* if (!(!w.closed)) { break; } */ if(!(!w.closed)) { $s = 3; continue; }
191673
- _r = time.Now(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192348
+ /* */ if (w.metadataServer === ptrType$3.nil) { $s = 4; continue; }
192349
+ /* */ $s = 5; continue;
192350
+ /* if (w.metadataServer === ptrType$3.nil) { */ case 4:
192351
+ $r = time.Sleep(new time.Duration(1, 705032704)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192352
+ /* continue; */ $s = 2; continue;
192353
+ /* } */ case 5:
192354
+ _r = time.Now(); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191674
192355
  latencyStart = $clone(_r, time.Time);
191675
- _r$1 = w.metadataResponsiveSender.SendServerWaitResponse(46, new sliceType$2([])); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
192356
+ _r$1 = w.createMetadataResponsiveSender().SendServerWaitResponse(46, new sliceType$2([])); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191676
192357
  _tuple = _r$1;
191677
192358
  serverTimestampData = _tuple[0];
191678
192359
  err = _tuple[1];
191679
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 6; continue; }
191680
- /* */ $s = 7; continue;
191681
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 6:
191682
- $r = errs.Print("Timestamp sync", err); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191683
- $r = time.Sleep(new time.Duration(1, 705032704)); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192360
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 9; continue; }
192361
+ /* */ $s = 10; continue;
192362
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 9:
192363
+ $r = errs.Print("Timestamp sync", err); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192364
+ $r = time.Sleep(new time.Duration(1, 705032704)); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191684
192365
  /* continue; */ $s = 2; continue;
191685
- /* } */ case 7:
192366
+ /* } */ case 10:
191686
192367
  serverTimestamp = $clone(binary.BigEndian, binary.bigEndian).Uint64(serverTimestampData);
191687
- _r$2 = time.Now(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
192368
+ _r$2 = time.Now(); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191688
192369
  latencyEnd = $clone(_r$2, time.Time);
191689
192370
  latencyNano = $div64($clone(latencyEnd, time.Time).Sub($clone(latencyStart, time.Time)).Nanoseconds(), new $Int64(0, 2), false);
191690
192371
  serverTimestampAhead = (x = (x$1 = (new $Int64(serverTimestamp.$high, serverTimestamp.$low)), new $Int64(x$1.$high + latencyNano.$high, x$1.$low + latencyNano.$low)), x$2 = $clone(latencyEnd, time.Time).UnixNano(), new $Int64(x.$high - x$2.$high, x.$low - x$2.$low));
191691
192372
  w.stats.SetLatency(latencyNano);
191692
192373
  w.stats.SetServerTimestampAhead(serverTimestampAhead);
191693
- $r = time.Sleep(new time.Duration(6, 4230196224)); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192374
+ $r = time.Sleep(new time.Duration(6, 4230196224)); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191694
192375
  $s = 2; continue;
191695
192376
  case 3:
191696
192377
  $s = -1; return;
@@ -191698,60 +192379,87 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191698
192379
  };
191699
192380
  ScreenWindow.prototype.startTimestampSyncing = function() { return this.$val.startTimestampSyncing(); };
191700
192381
  ScreenWindow.ptr.prototype.startStatsSyncing = function() {
191701
- var {_r, _r$1, _tuple, _tuple$1, clientStats, data, err, w, $s, $r, $c} = $restore(this, {});
192382
+ var {_r, err, w, $s, $r, $c} = $restore(this, {});
191702
192383
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191703
192384
  w = this;
191704
192385
  $r = time.Sleep(new time.Duration(0, 1000000000)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191705
192386
  /* while (true) { */ case 2:
191706
192387
  /* if (!(!w.closed)) { break; } */ if(!(!w.closed)) { $s = 3; continue; }
191707
- clientStats = w.stats.GetClientStats();
191708
- _r = json.Marshal(clientStats); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191709
- _tuple = _r;
191710
- data = _tuple[0];
191711
- err = _tuple[1];
191712
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 5; continue; }
191713
- /* */ $s = 6; continue;
191714
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 5:
191715
- $r = errs.Print("Stats serialize", err); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191716
- $r = time.Sleep(new time.Duration(1, 705032704)); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192388
+ /* */ if (w.metadataServer === ptrType$3.nil) { $s = 4; continue; }
192389
+ /* */ $s = 5; continue;
192390
+ /* if (w.metadataServer === ptrType$3.nil) { */ case 4:
192391
+ $r = time.Sleep(new time.Duration(1, 705032704)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191717
192392
  /* continue; */ $s = 2; continue;
191718
- /* } */ case 6:
191719
- _r$1 = w.metadataResponsiveSender.SendServerWaitResponse(48, data); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191720
- _tuple$1 = _r$1;
191721
- err = _tuple$1[1];
191722
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 10; continue; }
191723
- /* */ $s = 11; continue;
191724
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 10:
191725
- $r = errs.Print("Stats sync", err); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191726
- $r = time.Sleep(new time.Duration(1, 705032704)); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192393
+ /* } */ case 5:
192394
+ _r = w.sendStats(); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192395
+ err = _r;
192396
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 8; continue; }
192397
+ /* */ $s = 9; continue;
192398
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 8:
192399
+ $r = errs.Print("Stats sync", err); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192400
+ $r = time.Sleep(new time.Duration(1, 705032704)); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191727
192401
  /* continue; */ $s = 2; continue;
191728
- /* } */ case 11:
191729
- $r = time.Sleep(new time.Duration(0, 1000000000)); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192402
+ /* } */ case 9:
192403
+ $r = time.Sleep(new time.Duration(0, 1000000000)); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191730
192404
  $s = 2; continue;
191731
192405
  case 3:
191732
192406
  $s = -1; return;
191733
- /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.startStatsSyncing, $c: true, $r, _r, _r$1, _tuple, _tuple$1, clientStats, data, err, w, $s};return $f;
192407
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.startStatsSyncing, $c: true, $r, _r, err, w, $s};return $f;
191734
192408
  };
191735
192409
  ScreenWindow.prototype.startStatsSyncing = function() { return this.$val.startStatsSyncing(); };
192410
+ ScreenWindow.ptr.prototype.sendStats = function() {
192411
+ var {_r, _r$1, _tuple, _tuple$1, clientStats, data, err, w, $s, $r, $c} = $restore(this, {});
192412
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192413
+ w = this;
192414
+ clientStats = w.stats.GetClientStats();
192415
+ _r = json.Marshal(clientStats); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
192416
+ _tuple = _r;
192417
+ data = _tuple[0];
192418
+ err = _tuple[1];
192419
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
192420
+ $s = -1; return err;
192421
+ }
192422
+ _r$1 = w.createMetadataResponsiveSender().SendServerWaitResponse(48, data); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
192423
+ _tuple$1 = _r$1;
192424
+ err = _tuple$1[1];
192425
+ $s = -1; return err;
192426
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.sendStats, $c: true, $r, _r, _r$1, _tuple, _tuple$1, clientStats, data, err, w, $s};return $f;
192427
+ };
192428
+ ScreenWindow.prototype.sendStats = function() { return this.$val.sendStats(); };
192429
+ ScreenWindow.ptr.prototype.getHealthcheckTimeout = function() {
192430
+ var clampedTimeoutMs, frameDurationMs, framerate, timeoutMs, w;
192431
+ w = this;
192432
+ framerate = w.stats.GetFrameRate();
192433
+ if (framerate === 0) {
192434
+ return new time.Duration(2, 1410065408);
192435
+ }
192436
+ frameDurationMs = $div64(new $Int64(0, 1), (new $Int64(0, framerate)), false);
192437
+ timeoutMs = $mul64(frameDurationMs, new $Int64(0, 60));
192438
+ clampedTimeoutMs = helper.ClampedInt64(timeoutMs, new $Int64(0, 1000), new $Int64(0, 10000));
192439
+ return $mul64((new time.Duration(clampedTimeoutMs.$high, clampedTimeoutMs.$low)), new time.Duration(0, 1000000));
192440
+ };
192441
+ ScreenWindow.prototype.getHealthcheckTimeout = function() { return this.$val.getHealthcheckTimeout(); };
191736
192442
  ScreenWindow.ptr.prototype.openScreen = function() {
191737
- var {_r, _r$1, _r$2, _tuple, _tuple$1, conn, connect, err, lastFrameID, maxPacketSize, msgData, w, $s, $r, $c} = $restore(this, {});
192443
+ var {_r, _r$1, _r$2, _tuple, _tuple$1, conn, connect, err, lastFrameID, maxPacketSize, msgData, screenSender, w, $s, $r, $c} = $restore(this, {});
191738
192444
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
192445
+ err = [err];
192446
+ screenSender = [screenSender];
191739
192447
  w = [w];
191740
192448
  w[0] = this;
191741
- err = $ifaceNil;
192449
+ err[0] = $ifaceNil;
191742
192450
  _r = netpacket.Create(w[0].screenDriver); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191743
192451
  _tuple = _r;
191744
192452
  connect = _tuple[0];
191745
- err = _tuple[1];
191746
- if (!($interfaceIsEqual(err, $ifaceNil))) {
191747
- $s = -1; return err;
192453
+ err[0] = _tuple[1];
192454
+ if (!($interfaceIsEqual(err[0], $ifaceNil))) {
192455
+ $s = -1; return err[0];
191748
192456
  }
191749
192457
  _r$1 = connect(w[0].screenHost, new time.Duration(0, 1000000000), w[0].secure); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
191750
192458
  _tuple$1 = _r$1;
191751
192459
  conn = _tuple$1[0];
191752
- err = _tuple$1[1];
191753
- if (!($interfaceIsEqual(err, $ifaceNil))) {
191754
- $s = -1; return err;
192460
+ err[0] = _tuple$1[1];
192461
+ if (!($interfaceIsEqual(err[0], $ifaceNil))) {
192462
+ $s = -1; return err[0];
191755
192463
  }
191756
192464
  w[0].screenConn = conn;
191757
192465
  lastFrameID = 65535;
@@ -191760,62 +192468,62 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191760
192468
  }
191761
192469
  maxPacketSize = netpacket.GetMaxPacketSize(w[0].screenDriver);
191762
192470
  w[0].frameCollector = NewFrameCollector(conn, w[0].stats, lastFrameID, maxPacketSize);
191763
- w[0].screenSender = netclient.NewMessageSender(conn);
192471
+ screenSender[0] = w[0].createScreenSender();
191764
192472
  msgData = (new sliceType$2($stringToBytes(w[0].clientID + w[0].clientSecret + w[0].screenID)));
191765
- _r$2 = w[0].screenSender.Send(1, msgData); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
191766
- err = _r$2;
191767
- if (!($interfaceIsEqual(err, $ifaceNil))) {
191768
- $s = -1; return err;
192473
+ _r$2 = screenSender[0].Send(1, msgData); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
192474
+ err[0] = _r$2;
192475
+ if (!($interfaceIsEqual(err[0], $ifaceNil))) {
192476
+ $s = -1; return err[0];
191769
192477
  }
191770
- w[0].healthchecker = netclient.NewHealthchecker(w[0].screenSender);
192478
+ w[0].healthchecker = netclient.NewHealthchecker(screenSender[0]);
191771
192479
  w[0].healthchecker.Start();
191772
- $go((function(w) { return function $b() {
191773
- var {_r$3, _r$4, _r$5, _r$6, _r$7, err$1, originalHealthchecker, originalScreenConn, originalScreenSender, $s, $r, $c} = $restore(this, {});
192480
+ w[0].screenReconnecting = false;
192481
+ $go((function(err, screenSender, w) { return function $b() {
192482
+ var {_r$3, _r$4, _r$5, _r$6, _r$7, err$1, $s, $r, $c} = $restore(this, {});
191774
192483
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191775
192484
  /* while (true) { */ case 1:
191776
192485
  /* if (!(!w[0].closed)) { break; } */ if(!(!w[0].closed)) { $s = 2; continue; }
191777
192486
  $r = time.Sleep(new time.Duration(0, 1000000000)); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191778
192487
  _r$3 = time.Now(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
191779
- _r$4 = $clone($clone(w[0].stats.GetLastFrameAt(), time.Time).Add(new time.Duration(0, 1000000000)), time.Time).Before($clone(_r$3, time.Time)); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
192488
+ _r$4 = $clone($clone(w[0].stats.GetLastFrameAt(), time.Time).Add(w[0].getHealthcheckTimeout()), time.Time).Before($clone(_r$3, time.Time)); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
191780
192489
  /* */ if (_r$4) { $s = 4; continue; }
191781
192490
  /* */ $s = 5; continue;
191782
192491
  /* if (_r$4) { */ case 4:
191783
192492
  w[0].screenReconnecting = true;
191784
- originalHealthchecker = w[0].healthchecker;
191785
- originalScreenConn = w[0].screenConn;
191786
- originalScreenSender = w[0].screenSender;
191787
- _r$5 = w[0].retriableOpen(-1, $methodVal(w[0], "openScreen")); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
191788
- err$1 = _r$5;
191789
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 9; continue; }
192493
+ if (!(w[0].healthchecker === ptrType$9.nil)) {
192494
+ w[0].healthchecker.Close();
192495
+ w[0].healthchecker = ptrType$9.nil;
192496
+ }
192497
+ _r$5 = screenSender[0].Send(3, new sliceType$2([])); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
192498
+ err[0] = _r$5;
192499
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 9; continue; }
191790
192500
  /* */ $s = 10; continue;
191791
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 9:
191792
- $r = errs.Print("Reconnecting screen", err$1); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192501
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 9:
192502
+ $r = errs.Print("Could not send disconnect msg to screen", err[0]); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191793
192503
  /* } */ case 10:
191794
- originalHealthchecker.Close();
191795
- _r$6 = originalScreenSender.Send(3, new sliceType$2([])); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
191796
- err$1 = _r$6;
191797
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 13; continue; }
192504
+ _r$6 = w[0].screenConn.Close(); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
192505
+ err[0] = _r$6;
192506
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 13; continue; }
191798
192507
  /* */ $s = 14; continue;
191799
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 13:
191800
- $r = errs.Print("Could not send disconnect msg to screen", err$1); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192508
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 13:
192509
+ $r = errs.Print("Could disconnect screen", err[0]); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191801
192510
  /* } */ case 14:
191802
- _r$7 = originalScreenConn.Close(); /* */ $s = 16; case 16: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
192511
+ _r$7 = w[0].retriableOpen(-1, $methodVal(w[0], "openScreen")); /* */ $s = 16; case 16: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
191803
192512
  err$1 = _r$7;
191804
192513
  /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 17; continue; }
191805
192514
  /* */ $s = 18; continue;
191806
192515
  /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 17:
191807
- $r = errs.Print("Could disconnect screen", err$1); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192516
+ $r = errs.Print("Reconnecting screen", err$1); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191808
192517
  /* } */ case 18:
191809
- w[0].screenReconnecting = false;
191810
192518
  /* break; */ $s = 2; continue;
191811
192519
  /* } */ case 5:
191812
192520
  $s = 1; continue;
191813
192521
  case 2:
191814
192522
  $s = -1; return;
191815
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$3, _r$4, _r$5, _r$6, _r$7, err$1, originalHealthchecker, originalScreenConn, originalScreenSender, $s};return $f;
191816
- }; })(w), []);
192523
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$3, _r$4, _r$5, _r$6, _r$7, err$1, $s};return $f;
192524
+ }; })(err, screenSender, w), []);
191817
192525
  $s = -1; return $ifaceNil;
191818
- /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.openScreen, $c: true, $r, _r, _r$1, _r$2, _tuple, _tuple$1, conn, connect, err, lastFrameID, maxPacketSize, msgData, w, $s};return $f;
192526
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.openScreen, $c: true, $r, _r, _r$1, _r$2, _tuple, _tuple$1, conn, connect, err, lastFrameID, maxPacketSize, msgData, screenSender, w, $s};return $f;
191819
192527
  };
191820
192528
  ScreenWindow.prototype.openScreen = function() { return this.$val.openScreen(); };
191821
192529
  ScreenWindow.ptr.prototype.startStream = function() {
@@ -191850,21 +192558,20 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191850
192558
  /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 4; continue; }
191851
192559
  /* */ $s = 5; continue;
191852
192560
  /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 4:
191853
- /* */ if (!w[0].closed) { $s = 6; continue; }
191854
- /* */ $s = 7; continue;
191855
- /* if (!w[0].closed) { */ case 6:
191856
- $r = errs.Print("Frame error, skipping", err$1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191857
- /* } */ case 7:
191858
- $r = time.Sleep(new time.Duration(0, 100000000)); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191859
- /* */ if (w[0].screenReconnecting) { $s = 10; continue; }
191860
- /* */ $s = 11; continue;
191861
- /* if (w[0].screenReconnecting) { */ case 10:
191862
- $r = time.Sleep(new time.Duration(0, 1000000000)); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191863
- /* } */ case 11:
192561
+ $r = time.Sleep(new time.Duration(0, 100000000)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192562
+ /* */ if (w[0].screenReconnecting) { $s = 7; continue; }
192563
+ /* */ if (!w[0].closed) { $s = 8; continue; }
192564
+ /* */ $s = 9; continue;
192565
+ /* if (w[0].screenReconnecting) { */ case 7:
192566
+ $r = time.Sleep(new time.Duration(0, 1000000000)); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192567
+ $s = 9; continue;
192568
+ /* } else if (!w[0].closed) { */ case 8:
192569
+ $r = errs.Print("Frame error, skipping", err$1); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192570
+ /* } */ case 9:
191864
192571
  /* continue; */ $s = 1; continue;
191865
192572
  /* } */ case 5:
191866
192573
  $go($methodVal(w[0], "renderFrame"), [frame]);
191867
- $r = w[0].stats.NotifyFrame(frame); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192574
+ $r = w[0].stats.NotifyFrame(frame); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191868
192575
  $s = 1; continue;
191869
192576
  case 2:
191870
192577
  $s = -1; return;
@@ -191900,14 +192607,18 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191900
192607
  MainDriver = function(f) {
191901
192608
  var {f, $s, $r, $c} = $restore(this, {f});
191902
192609
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191903
- /* */ if ($clone($clone(js.Global(), js.Value).Get("VideoDecoder"), js.Value).IsUndefined()) { $s = 1; continue; }
191904
- /* */ $s = 2; continue;
191905
- /* if ($clone($clone(js.Global(), js.Value).Get("VideoDecoder"), js.Value).IsUndefined()) { */ case 1:
191906
- $r = webgldriver.Main(f); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191907
- $s = 3; continue;
191908
- /* } else { */ case 2:
191909
- $r = canvasdriver.Main(f); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191910
- /* } */ case 3:
192610
+ /* */ if (nacldecoder.IsAvailable()) { $s = 1; continue; }
192611
+ /* */ if (webcodecs.IsAvailable()) { $s = 2; continue; }
192612
+ /* */ $s = 3; continue;
192613
+ /* if (nacldecoder.IsAvailable()) { */ case 1:
192614
+ $r = nacldriver.Main(f); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192615
+ $s = 4; continue;
192616
+ /* } else if (webcodecs.IsAvailable()) { */ case 2:
192617
+ $r = canvasdriver.Main(f); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192618
+ $s = 4; continue;
192619
+ /* } else { */ case 3:
192620
+ $r = webgldriver.Main(f); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192621
+ /* } */ case 4:
191911
192622
  $s = -1; return;
191912
192623
  /* */ } return; } var $f = {$blk: MainDriver, $c: true, $r, f, $s};return $f;
191913
192624
  };
@@ -192098,13 +192809,13 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
192098
192809
  bufferLength = _tuple[0];
192099
192810
  err = _tuple[1];
192100
192811
  if (!($interfaceIsEqual(err, $ifaceNil))) {
192101
- $s = -1; return [ptrType$11.nil, err];
192812
+ $s = -1; return [ptrType$10.nil, err];
192102
192813
  }
192103
192814
  headerSize = 6;
192104
192815
  frameID = $clone(binary.BigEndian, binary.bigEndian).Uint16($subslice(packetBuffer, 0, 2));
192105
192816
  seq = $clone(binary.BigEndian, binary.bigEndian).Uint16($subslice(packetBuffer, 2, 4));
192106
192817
  total = $clone(binary.BigEndian, binary.bigEndian).Uint16($subslice(packetBuffer, 4, 6));
192107
- _tuple$1 = (_entry = $mapIndex(c.framesMap,$Uint16.keyFor(frameID)), _entry !== undefined ? [_entry.v, true] : [ptrType$12.nil, false]);
192818
+ _tuple$1 = (_entry = $mapIndex(c.framesMap,$Uint16.keyFor(frameID)), _entry !== undefined ? [_entry.v, true] : [ptrType$11.nil, false]);
192108
192819
  frameMapItem = _tuple$1[0];
192109
192820
  frameExists = _tuple$1[1];
192110
192821
  /* */ if (!frameExists || (seq === 0) || !((total === frameMapItem.total))) { $s = 4; continue; }
@@ -192148,7 +192859,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
192148
192859
  /* } */ case 8:
192149
192860
  $s = 1; continue;
192150
192861
  case 2:
192151
- $s = -1; return [ptrType$11.nil, $ifaceNil];
192862
+ $s = -1; return [ptrType$10.nil, $ifaceNil];
192152
192863
  /* */ } return; } var $f = {$blk: FrameCollector.ptr.prototype.CollectFrame, $c: true, $r, _entry, _key, _r, _tuple, _tuple$1, buffer, bufferLength, bufferSize, c, dataEndsAt, dataPartSize, dataStartsAt, err, frameExists, frameID, frameMapItem, headerSize, packetBuffer, received, seq, total, $s};return $f;
192153
192864
  };
192154
192865
  FrameCollector.prototype.CollectFrame = function() { return this.$val.CollectFrame(); };
@@ -192158,13 +192869,13 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
192158
192869
  return f.timestamp;
192159
192870
  };
192160
192871
  Frame.prototype.GetTimestmap = function() { return this.$val.GetTimestmap(); };
192161
- ptrType$5.methods = [{prop: "Render", name: "Render", pkg: "", typ: $funcType([ptrType$11], [], false)}];
192162
- ptrType$13.methods = [{prop: "Start", name: "Start", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "startWindow", name: "startWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "startClipboard", name: "startClipboard", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "retriableOpen", name: "retriableOpen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, funcType$1], [$error], false)}, {prop: "openMetadata", name: "openMetadata", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "startTimestampSyncing", name: "startTimestampSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "startStatsSyncing", name: "startStatsSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "openScreen", name: "openScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "startStream", name: "startStream", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "renderFrame", name: "renderFrame", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([ptrType$11], [], false)}];
192872
+ ptrType$5.methods = [{prop: "Render", name: "Render", pkg: "", typ: $funcType([ptrType$10], [], false)}];
192873
+ ptrType$13.methods = [{prop: "Start", name: "Start", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "startWindow", name: "startWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "startClipboard", name: "startClipboard", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "retriableOpen", name: "retriableOpen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, funcType$1], [$error], false)}, {prop: "openMetadata", name: "openMetadata", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createMetadataResponsiveSender", name: "createMetadataResponsiveSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [ptrType$12], false)}, {prop: "createMetadataSender", name: "createMetadataSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "createScreenSender", name: "createScreenSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "startTimestampSyncing", name: "startTimestampSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "startStatsSyncing", name: "startStatsSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "sendStats", name: "sendStats", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "getHealthcheckTimeout", name: "getHealthcheckTimeout", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [time.Duration], false)}, {prop: "openScreen", name: "openScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "startStream", name: "startStream", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "renderFrame", name: "renderFrame", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([ptrType$10], [], false)}];
192163
192874
  ptrType$2.methods = [{prop: "CreateProcessInfo", name: "CreateProcessInfo", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "RemoveProcessInfo", name: "RemoveProcessInfo", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "WaitProcess", name: "WaitProcess", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "GetProcessInfo", name: "GetProcessInfo", pkg: "", typ: $funcType([$String], [ProcessInfo, $error], false)}, {prop: "ListScreenIDs", name: "ListScreenIDs", pkg: "", typ: $funcType([], [sliceType$3, $error], false)}, {prop: "getUserProcessDirPath", name: "getUserProcessDirPath", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$String], false)}];
192164
- ptrType$4.methods = [{prop: "CollectFrame", name: "CollectFrame", pkg: "", typ: $funcType([], [ptrType$11, $error], false)}];
192165
- ptrType$11.methods = [{prop: "GetTimestmap", name: "GetTimestmap", pkg: "", typ: $funcType([], [$Uint64], false)}];
192875
+ ptrType$4.methods = [{prop: "CollectFrame", name: "CollectFrame", pkg: "", typ: $funcType([], [ptrType$10, $error], false)}];
192876
+ ptrType$10.methods = [{prop: "GetTimestmap", name: "GetTimestmap", pkg: "", typ: $funcType([], [$Uint64], false)}];
192166
192877
  X264FrameRenderer.init("github.com/supraio/client-daemon/pkg/render", [{prop: "screenBuffer", name: "screenBuffer", embedded: false, exported: false, typ: screen.Buffer, tag: ""}, {prop: "window", name: "window", embedded: false, exported: false, typ: screen.Window, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "dec", name: "dec", embedded: false, exported: false, typ: ptrType$1, tag: ""}]);
192167
- ScreenWindow.init("github.com/supraio/client-daemon/pkg/render", [{prop: "processInfoManager", name: "processInfoManager", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "screenDriver", name: "screenDriver", embedded: false, exported: false, typ: netpacket.Driver, tag: ""}, {prop: "screenHost", name: "screenHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "metadataDriver", name: "metadataDriver", embedded: false, exported: false, typ: netstream.Driver, tag: ""}, {prop: "metadataHost", name: "metadataHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientID", name: "clientID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientSecret", name: "clientSecret", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenID", name: "screenID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "secure", name: "secure", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "screenSize", name: "screenSize", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "renderMutex", name: "renderMutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "onClose", name: "onClose", embedded: false, exported: false, typ: sliceType, tag: ""}, {prop: "window", name: "window", embedded: false, exported: false, typ: screen.Window, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: screen.Screen, tag: ""}, {prop: "screenConn", name: "screenConn", embedded: false, exported: false, typ: netpacket.ReaderWriterCloser, tag: ""}, {prop: "screenReconnecting", name: "screenReconnecting", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "metadataServer", name: "metadataServer", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "frameCollector", name: "frameCollector", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "x264Renderer", name: "x264Renderer", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "screenSender", name: "screenSender", embedded: false, exported: false, typ: message.Sender, tag: ""}, {prop: "metadataSender", name: "metadataSender", embedded: false, exported: false, typ: message.Sender, tag: ""}, {prop: "metadataResponsiveSender", name: "metadataResponsiveSender", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "sizeHandler", name: "sizeHandler", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "keyHandler", name: "keyHandler", embedded: false, exported: false, typ: ptrType$8, tag: ""}, {prop: "mouseHandler", name: "mouseHandler", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "healthchecker", name: "healthchecker", embedded: false, exported: false, typ: ptrType$10, tag: ""}, {prop: "keyEventChan", name: "keyEventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "mouseEventChan", name: "mouseEventChan", embedded: false, exported: false, typ: chanType$1, tag: ""}, {prop: "sizeEventChan", name: "sizeEventChan", embedded: false, exported: false, typ: chanType$2, tag: ""}, {prop: "focusEventChan", name: "focusEventChan", embedded: false, exported: false, typ: chanType$3, tag: ""}, {prop: "winCloseChannel", name: "winCloseChannel", embedded: false, exported: false, typ: chanType$4, tag: ""}]);
192878
+ ScreenWindow.init("github.com/supraio/client-daemon/pkg/render", [{prop: "processInfoManager", name: "processInfoManager", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "screenDriver", name: "screenDriver", embedded: false, exported: false, typ: netpacket.Driver, tag: ""}, {prop: "screenHost", name: "screenHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "metadataDriver", name: "metadataDriver", embedded: false, exported: false, typ: netstream.Driver, tag: ""}, {prop: "metadataHost", name: "metadataHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientID", name: "clientID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientSecret", name: "clientSecret", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenID", name: "screenID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "secure", name: "secure", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "screenSize", name: "screenSize", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "renderMutex", name: "renderMutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "onClose", name: "onClose", embedded: false, exported: false, typ: sliceType, tag: ""}, {prop: "window", name: "window", embedded: false, exported: false, typ: screen.Window, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: screen.Screen, tag: ""}, {prop: "screenConn", name: "screenConn", embedded: false, exported: false, typ: netpacket.ReaderWriterCloser, tag: ""}, {prop: "screenReconnecting", name: "screenReconnecting", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "metadataServer", name: "metadataServer", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "frameCollector", name: "frameCollector", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "x264Renderer", name: "x264Renderer", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "sizeHandler", name: "sizeHandler", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "keyHandler", name: "keyHandler", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "mouseHandler", name: "mouseHandler", embedded: false, exported: false, typ: ptrType$8, tag: ""}, {prop: "healthchecker", name: "healthchecker", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "keyEventChan", name: "keyEventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "mouseEventChan", name: "mouseEventChan", embedded: false, exported: false, typ: chanType$1, tag: ""}, {prop: "sizeEventChan", name: "sizeEventChan", embedded: false, exported: false, typ: chanType$2, tag: ""}, {prop: "focusEventChan", name: "focusEventChan", embedded: false, exported: false, typ: chanType$3, tag: ""}, {prop: "winCloseChannel", name: "winCloseChannel", embedded: false, exported: false, typ: chanType$4, tag: ""}]);
192168
192879
  ProcessInfo.init("", [{prop: "ScreenID", name: "ScreenID", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Pid", name: "Pid", embedded: false, exported: true, typ: $Int, tag: ""}]);
192169
192880
  ProcessInfoManager.init("github.com/supraio/client-daemon/pkg/render", [{prop: "username", name: "username", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "processDir", name: "processDir", embedded: false, exported: false, typ: $String, tag: ""}]);
192170
192881
  FrameCollector.init("github.com/supraio/client-daemon/pkg/render", [{prop: "conn", name: "conn", embedded: false, exported: false, typ: netpacket.ReaderWriterCloser, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "framesMap", name: "framesMap", embedded: false, exported: false, typ: mapType, tag: ""}, {prop: "lastFullFrameID", name: "lastFullFrameID", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "maxPacketSize", name: "maxPacketSize", embedded: false, exported: false, typ: $Int, tag: ""}]);
@@ -192179,32 +192890,36 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
192179
192890
  $r = clientscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192180
192891
  $r = clipboard.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192181
192892
  $r = errs.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192182
- $r = input.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192183
- $r = message.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192184
- $r = netclient.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192185
- $r = netpacket.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192186
- $r = netstream.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192187
- $r = stats.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192188
- $r = window.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192189
- $r = x264.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192190
- $r = canvasdriver.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192191
- $r = webgldriver.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192192
- $r = screen.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192193
- $r = focus.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192194
- $r = key.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192195
- $r = lifecycle.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192196
- $r = mouse.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192197
- $r = size.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192198
- $r = image.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192199
- $r = io.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192200
- $r = ioutil.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192201
- $r = log.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192202
- $r = os.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192203
- $r = path.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192204
- $r = strings.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192205
- $r = sync.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192206
- $r = js.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192207
- $r = time.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192893
+ $r = helper.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192894
+ $r = input.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192895
+ $r = message.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192896
+ $r = netclient.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192897
+ $r = netpacket.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192898
+ $r = netstream.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192899
+ $r = stats.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192900
+ $r = window.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192901
+ $r = x264.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192902
+ $r = nacldecoder.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192903
+ $r = nacldriver.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192904
+ $r = webcodecs.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192905
+ $r = canvasdriver.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192906
+ $r = webgldriver.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192907
+ $r = screen.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192908
+ $r = focus.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192909
+ $r = key.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192910
+ $r = lifecycle.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192911
+ $r = mouse.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192912
+ $r = size.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192913
+ $r = image.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192914
+ $r = io.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192915
+ $r = ioutil.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192916
+ $r = log.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192917
+ $r = os.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192918
+ $r = path.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192919
+ $r = strings.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192920
+ $r = sync.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192921
+ $r = js.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192922
+ $r = time.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
192208
192923
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
192209
192924
  };
192210
192925
  $pkg.$init = $init;