diff --git a/cmd/fyne/internal/mobile/dex.go b/cmd/fyne/internal/mobile/dex.go index 01b500c3b6..a460cf0b29 100644 --- a/cmd/fyne/internal/mobile/dex.go +++ b/cmd/fyne/internal/mobile/dex.go @@ -6,199 +6,204 @@ package mobile -var dexStr = `ZGV4CjAzNQA4NdtpfkJRS5OXDBsIzpY2XYmNQdc27Ob4JwAAcAAAAHhWNBIAAAAAAAAAAC` + - `gnAADGAAAAcAAAAC8AAACIAwAAQQAAAEQEAAAUAAAAUAcAAGwAAADwBwAABgAAAFALAADo` + - `GwAAEAwAAAYXAAAIFwAADRcAABUXAAApFwAAQBcAAFAXAABgFwAAZhcAAH0XAACAFwAAhR` + - `cAAIsXAACQFwAAlhcAAJkXAACdFwAAohcAAKYXAACrFwAAsBcAAM4XAADvFwAAChgAACQY` + - `AABHGAAAbBgAAJEYAACyGAAAyxgAAN4YAAD6GAAADxkAACUZAAA+GQAAWhkAAG4ZAACjGQ` + - `AAwxkAAO8ZAAAEGgAAKxoAAEIaAABfGgAAjhoAAKkaAADUGgAA+RoAABkbAAApGwAAQxsA` + - `AFobAAB5GwAAjRsAAKMbAAC3GwAAyxsAAOIbAAAHHAAALBwAAFEcAAB4HAAAnRwAAMAcAA` + - `DWHAAA4RwAAOocAAAEHQAADx0AABIdAAAWHQAAGx0AACIdAAAoHQAALB0AADEdAAA4HQAA` + - `RB0AAEkdAABNHQAAUB0AAFQdAABZHQAAbh0AAHIdAAB+HQAAih0AAJYdAACiHQAArh0AAL` + - `odAADHHQAA1B0AAOQdAADuHQAACR4AACEeAAAzHgAASR4AAHAeAACVHgAAvx4AAOEeAAAC` + - `HwAAHh8AADcfAABKHwAAWB8AAGIfAABxHwAAgR8AAJEfAAChHwAAsR8AALQfAAC8HwAA3x` + - `8AAPMfAAABIAAABiAAABcgAAAoIAAANSAAAEMgAABVIAAAXiAAAGwgAAB3IAAAgiAAAJUg` + - `AACjIAAAsCAAAMUgAADOIAAA2SAAAOsgAAAHIQAAISEAADwhAABVIQAAYCEAAGohAAB1IQ` + - `AAhSEAAKMhAAC1IQAAvSEAAMshAADkIQAA8iEAAAEiAAARIgAAICIAACYiAAAuIgAANCIA` + - `AEEiAABVIgAAfiIAAIkiAACTIgAAmSIAAKMiAAC1IgAAzSIAANciAADnIgAA9iIAAAAjAA` + - `AOIwAAEyMAACIjAAAvIwAAPiMAAEwjAABdIwAAZiMAAG8jAAB+IwAAiiMAAJgjAACmIwAA` + - `tCMAAMMjAADKIwAA4iMAAO8jAAD3IwAA/yMAAAkkAAAOJAAAFiQAADokAABIJAAAVSQAAG` + - `ckAABuJAAAdSQAAAkAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAd` + - `AAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKg` + - `AAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcA` + - `AAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAARAAAAE8AAABSAAAACQAAAAAAAAAAAA` + - `AACgAAAAAAAADsFQAACwAAAAAAAAD0FQAADAAAAAAAAAAAFgAADQAAAAAAAAAIFgAADgAA` + - `AAIAAAAAAAAADgAAAAQAAAAAAAAADwAAAAQAAAAUFgAAEwAAAAQAAAAcFgAAEQAAAAQAAA` + - `AkFgAAEwAAAAQAAAAAFgAAEwAAAAQAAAAsFgAAEgAAAAUAAAA0FgAADgAAAAYAAAAAAAAA` + - `DgAAAAcAAAAAAAAADgAAAAgAAAAAAAAADgAAAAoAAAAAAAAADgAAAA0AAAAAAAAADwAAAB` + - `IAAAAUFgAADgAAABQAAAAAAAAADwAAABQAAAAUFgAADgAAABYAAAAAAAAADgAAABcAAAAA` + - `AAAAEQAAABkAAAA8FgAAEwAAABkAAABEFgAADgAAAB0AAAAAAAAAEAAAAB4AAADsFQAAEQ` + - `AAACEAAAAkFgAADgAAACMAAAAAAAAAEQAAACMAAAAkFgAAEQAAACMAAAA8FgAAEwAAACMA` + - `AABMFgAADgAAACsAAAAAAAAARAAAACwAAAAAAAAARQAAACwAAAAUFgAARgAAACwAAADsFQ` + - `AARwAAACwAAABUFgAASAAAACwAAABgFgAASQAAACwAAABsFgAASgAAACwAAAB0FgAASQAA` + - `ACwAAAB8FgAASQAAACwAAACEFgAASQAAACwAAACMFgAASQAAACwAAACUFgAASQAAACwAAA` + - `DkFQAASQAAACwAAADcFQAATAAAACwAAACcFgAATQAAACwAAAC0FgAASQAAACwAAAC8FgAA` + - `SQAAACwAAADEFgAASwAAACwAAADMFgAASQAAACwAAADUFQAASQAAACwAAAAkFgAATQAAAC` + - `wAAAAAFgAASQAAACwAAADYFgAASQAAACwAAAA8FgAASgAAACwAAADgFgAATQAAACwAAABM` + - `FgAATgAAACwAAADoFgAATwAAAC0AAAAAAAAAUQAAAC0AAADwFgAAUQAAAC0AAAD4FgAAUA` + - `AAAC0AAADEFgAAUAAAAC0AAAAAFwAAEQAAAC4AAAAkFgAABQAMAJ8AAAAHAAAAvgAAAAkA` + - `AACYAAAACQAAAL0AAAALAAAAQQAAACYAKwC6AAAAJgAAAMIAAAAnACsAugAAACgAKwC6AA` + - `AAKQAqALsAAAAqACsAugAAACsAAAADAAAAKwAAAAQAAAArAAAABQAAACsAAAAGAAAAKwAA` + - `AD8AAAArAAAAQgAAACsAKwCQAAAAKwAZAJ4AAAArACMAoQAAAAEAIQACAAAAAQAoAKMAAA` + - `ABACoApAAAAAQANAACAAAABAAJAFsAAAAEAAcAXQAAAAQACABsAAAABAAFAHoAAAAEABAA` + - `fAAAAAQACgCnAAAABAALAKcAAAAEAAkAsAAAAAYADAB4AAAACAAOAHsAAAAJACEAAgAAAA` + - `kAAACRAAAACQAAAMQAAAAKABwAvAAAAAwAHQCFAAAAEAADAHEAAAAQAAQAcQAAABIAAQB2` + - `AAAAEgASAJoAAAAUAC0AXgAAABQAAAB+AAAAFAATAIIAAAAUABYAgwAAABQAAACMAAAAFA` + - `ARAI4AAAAUACkAjwAAABYAEwB9AAAAFwAAAIcAAAAXAAAAiAAAABcAAACJAAAAFwAAAIoA` + - `AAAYADwAkwAAABgAPQC2AAAAGQAmAAIAAAAZACwAXwAAABkAIQBqAAAAGQA7AKgAAAAZAC` + - `IArAAAABkAIgCtAAAAGQAwAK4AAAAZADEArwAAABkAIgCxAAAAGgAjAAIAAAAdABwAdwAA` + - `AB4AAACZAAAAHgAaALkAAAAeABwAvAAAACEAIQACAAAAIwA+AGsAAAAjAD8AcgAAACMAAA` + - `CZAAAAIwBAALcAAAAkADQAmwAAACYAOAACAAAAJgAhAKkAAAAnADcAAgAAACcAIQCpAAAA` + - `KAA3AAIAAAAoAC4ApQAAACkANgACAAAAKQArAGAAAAApADIAaQAAACkAMgCmAAAAKgA3AA` + - `IAAAAqACEAqQAAACsAIQACAAAAKwAXAFQAAAArABgAVQAAACsAHgBWAAAAKwAfAFcAAAAr` + - `ACAAWAAAACsAOQBZAAAAKwAvAFwAAAArACEAbQAAACsANABuAAAAKwA1AG8AAAArACIAcA` + - `AAACsANAB0AAAAKwAUAHUAAAArABkAeQAAACsABgB/AAAAKwANAIAAAAArAA8AgQAAACsA` + - `AgCEAAAAKwAbAIYAAAArABwAiwAAACsAFQCNAAAAKwAhAJIAAAArACQAlQAAACsAIQCWAA` + - `AAKwA0AJcAAAArACEAmgAAACsAJQCiAAAAKwAoAKMAAAArACoApAAAACsAMwCqAAAAKwA6` + - `AKsAAAArACEAsgAAACsANACzAAAAKwA1ALQAAAArACIAtQAAACsAJwC4AAAAKwAhAMAAAA` + - `ArACgAwQAAACYAAAAAAAAAIQAAANQVAAAIAAAAhBUAADYmAAAAAAAAJwAAAAAAAAAhAAAA` + - `1BUAAAgAAACUFQAASiYAAAAAAAAoAAAAAAAAACEAAADcFQAACAAAAKQVAABbJgAAAAAAAC` + - `kAAAAAAAAAIQAAAOQVAAAIAAAAtBUAAGwmAAAAAAAAKgAAAAAAAAAhAAAA1BUAAAgAAADE` + - `FQAAhSYAAAAAAAArAAAAAQAAAAEAAAAAAAAACAAAAAAAAACWJgAAJyYAAAIAAAD7JQAAAi` + - `YAAAIAAAALJgAAAiYAAAIAAAASJgAAAiYAAAIAAAAZJgAAAiYAAAIAAAAgJgAAAiYAAAMA` + - `AwABAAAAeCQAAAgAAABbAQUAWQIGAHAQMwAAAA4ABgABAAMAAAB/JAAAeAAAABUBAEASYh` + - `IEFACQAAgAUlMGACsDZQAAABoCBwAaA78AcSATADIAVFIFAHEQRgACAAwCbiApABIAVFEF` + - `AHEQRgABAAwBbiAqAAEAVFAFABoBAABxIEkAEABUUAUAcRBGAAAADAAaAQAAbiAsABAAVF` + - `AFAHEQRgAAAAwAbiAtAEAAVFAFAHEQRgAAAAwAbhAnAAAAVFAFAHEQRgAAAAwAbhAoAAAA` + - `VFAFABoBlABuIFgAEAAMAB8AGABUUQUAcRBGAAEADAFuMCQAEAQOAAEhKKwUAJIACAABIS` + - `inAAAAAQMAAAAAAAoAAABdAAAAXwAAAAIAAgABAAAAmiQAAAYAAABbAQcAcBAzAAAADgAD` + - `AAEAAgAAAKAkAAAMAAAAVCAHAHEQRgAAAAwAEwEIAG4gLQAQAA4AAgACAAEAAACnJAAABg` + - `AAAFsBCABwEDMAAAAOAAsACgABAAAAriQAAAYAAABUEAgAbhBqAAAADgACAAIAAQAAAL4k` + - `AAAGAAAAWwEJAHAQMwAAAA4AAgACAAAAAADFJAAAAQAAAA4AAAAFAAUAAAAAAMwkAAABAA` + - `AADgAAAAgABQADAAAA1iQAAFAAAAByEDAABAAKAFQxCQBUEQoAcRBIAAEADAFuEDYAAQAK` + - `ATcQLQBUMAkAVAAKAFQxCQBUEQoAcRBIAAEADAFuEDYAAQAKAXIQMAAEAAoCcjAxABQCDA` + - `FyEDIAAQAMAXEgSwAQAFQwCQBUAAoAchAyAAQADAFxIEkAEAAOAHIQMAAEAAoAVDEJAFQR` + - `CgBxEEgAAQAMAW4QNgABAAoBNRDk/yjiAgACAAEAAADqJAAABgAAAFsBCgBwEDMAAAAOAA` + - `UAAQADAAAA8SQAAE4AAAAS41RACgAiARkAcQBKAAAADAJwICUAIQBxIEcAEABUQAoAcRBG` + - `AAAADAATAQgAbiAtABAAVEAKAHEQRgAAAAwAFAGQAAgAbiAqABAAIgAaAHAwLgAwA1RBCg` + - `BxEEYAAQAMAW4gKwABAFRBCgBUQgoAcRBGAAIADAJuMEwAIQBUQAoAcRBGAAAADAAiASkA` + - `cCA/AEEAbiAmABAADgACAAEAAQAAAAAlAAAKAAAAcBAAAAEAGgAAAFsQEwBpAREADgACAA` + - `EAAAAAAAglAAADAAAAVBASABEAAAACAAIAAAAAAA4lAAADAAAAWwESABEBAAACAAEAAAAA` + - `ABUlAAADAAAAVBATABEAAAACAAIAAAAAABslAAADAAAAWwETABEBAAABAAAAAAAAACIlAA` + - `ADAAAAYgARABEAAAACAAIAAgAAACclAAAEAAAAcCBeABAADgAHAAMAAwABAC4lAAAZAAAA` + - `EvBxEBYABAAMAW4wFQBRBgoBOQEDAA8AARAo/g0BGgIHABoDcwBxMBQAMgEo9Q0BKPMAAA` + - `EAAAAHAAEAAQIRFx8OAAABAAAAAQAAAD8lAAAGAAAAYgARAG4QTQAAAA4ABAABAAMAAQBF` + - `JQAAMwAAAG4QVQADAAwAbhBUAAMADAFuEAcAAQAMARMCgABuMAwAEAIMAFQBAAA5AQoAGg` + - `AHABoBnQBxIBMAEAAOAFQAAAAaAWEAbiASABAADABxEDgAAAAo9A0AGgEHABoCnABxMBQA` + - `IQAo6wAAAAAAACkAAQABAR8qAgABAAIAAABWJQAACQAAACIAKgBwIEMAEABuIGMAAQAOAA` + - `AAAgABAAIAAABfJQAABgAAAGIAEQBuIE4AEAAOAAMAAgADAAAAZyUAAAYAAABiABEAbjBP` + - `ABACDgACAAEAAgAAAHAlAAAGAAAAYgARAG4gUAAQAA4ABAABAAMAAAB3JQAAJAAAABoAlA` + - `BuIFgAAwAMAB8AGAAUAQIAAgFuIFIAEwAMAW4QGQABAAwBbhAcAAEADAESAm4wIwAQAiIA` + - `JwBwIDsAMABuIGMAAwAOAAYAAgADAAAAgCUAAFcAAAASEyIABAAaAWMAcCADABAAGgFoAG` + - `4gNQBRAAoBOAEcAGABBAATAhUANCEWACIABAAaAWQAcCADABAAbiAFADAAGgFAAHEgBgAQ` + - `AAwAbjBpAAQDDgAaAcUAbiA0ABUACgE4AR4AYAEEABMCEwA0IRgAGgEBAG4gCwAQABoBZg` + - `AaAlMAbiA3ACUADAJuMAoAEAIaAWUAbiAEABAAKNNuIAsAUAAaAWUAbiAEABAAKMoAAAYA` + - `AwADAAAAlCUAAD4AAAAiAAQAGgFiAHAgAwAQABoBxQBuIDQAFAAKATgBLQBgAQQAEwITAD` + - `QhJwAaAQEAbiALABAAGgFmABoCUwBuIDcAJAAMAm4wCgAQAhoBZwBuMAkAEAUaAWUAbiAE` + - `ABAAGgFDAHEgBgAQAAwAEiFuMGkAAwEOAG4gCwBAACjoAwACAAMAAACmJQAACQAAACIAJg` + - `BwMDkAEAJuIGMAAQAOAAAAAgABAAEAAACvJQAACQAAAG4QUwABAAwAbhAvAAAADAARAAAA` + - `BQAEAAIAAAC0JQAAHAAAABIQMgIGABIgMgIDAA4AEvAyAwgAGgAAAHAgUQABACj3bhAIAA` + - `QADABuEBEAAAAMAHAgUQABACjrAgACAAIAAADGJQAABwAAAG8gAQAQAG4gawAQAA4AAAAE` + - `AAIAAgAAAM8lAAAoAAAAcBBfAAIAbyACADIAcBBlAAIAbhBWAAIADABuEA0AAAAMAG4gaw` + - `ACABQAAgACAW4gUgACAAwAbhAZAAAADAAiASgAcCA9ACEAbiAXABAADgAHAAEABQABANwl` + - `AABgAAAAbhBaAAYADABuEB4AAAAMAG4QGgAAAAwAOQADAA4AbhAiAAAACgFuEB8AAAAKAm` + - `4QIAAAAAoDbhAhAAAACgBwUFwAFjIo7A0AIgAJAHAQDgAAAG4QWgAGAAwBbhAeAAEADAFu` + - `IB0AAQAUAQIAAgFuIFIAFgAMAW4QGQABAAwBUgIDAG4QGAABAAoDbhAPAAAACgSxQ1IEAw` + - `CxQ1IEAgBuEBsAAQAKAW4QEAAAAAoFsVFSAAIAkQABAHBQXAAmQyivAAAAACIAAQABASAj` + - `BAACAAIAAADxJQAADwAAAFIwAQDdAAAwEwEgADMQBwASEHAgZAACAA4AEgAo+wAAEAwAAA` + - `AAAAAAAAAAAAAAABwMAAAAAAAAAAAAAAAAAAAoDAAAAAAAAAAAAAAAAAAANAwAAAAAAAAA` + - `AAAAAAAAAEAMAAAAAAAAAAAAAAAAAAABAAAAIgAAAAEAAAATAAAAAQAAAA8AAAACAAAAAA` + - `AAAAMAAAAAAAAAAAAAAAIAAAAjACMAAwAAACMAIwAlAAAAAQAAAAAAAAACAAAABAAeAAEA` + - `AAAjAAAAAgAAACMALgACAAAAAgAAAAEAAAArAAAAAgAAACsAGQACAAAAKwAjAAQAAAAAAA` + - `AAAAAAAAMAAAAAAAAABAAAAAEAAAADAAAAAgAAAAQAAAABAAAABwAAAAEAAAAJAAAAAQAA` + - `AAwAAAABAAAADgAAAAkAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAUABUAAQAAABUAAA` + - `ABAAAAHgAAAAQAAAAeAAAAAAAAAAEAAAAqAAAAAgAAACsAAAABAAAALQAAAAIAAAANAAAA` + - `AgAAABQAAAABAAAAIQAAAAMqLyoABjxpbml0PgASREVGQVVMVF9JTlBVVF9UWVBFABVERU` + - `ZBVUxUX0tFWUJPQVJEX0NPREUADkZJTEVfT1BFTl9DT0RFAA5GSUxFX1NBVkVfQ09ERQAE` + - `RnluZQAVR29OYXRpdmVBY3Rpdml0eS5qYXZhAAFJAANJSUkABElJSUkAA0lMTAAESUxMTA` + - `ABTAACTEkAA0xJSQACTEwAA0xMSQADTExMABxMYW5kcm9pZC9hcHAvTmF0aXZlQWN0aXZp` + - `dHk7AB9MYW5kcm9pZC9jb250ZW50L0NvbXBvbmVudE5hbWU7ABlMYW5kcm9pZC9jb250ZW` + - `50L0NvbnRleHQ7ABhMYW5kcm9pZC9jb250ZW50L0ludGVudDsAIUxhbmRyb2lkL2NvbnRl` + - `bnQvcG0vQWN0aXZpdHlJbmZvOwAjTGFuZHJvaWQvY29udGVudC9wbS9QYWNrYWdlTWFuYW` + - `dlcjsAI0xhbmRyb2lkL2NvbnRlbnQvcmVzL0NvbmZpZ3VyYXRpb247AB9MYW5kcm9pZC9j` + - `b250ZW50L3Jlcy9SZXNvdXJjZXM7ABdMYW5kcm9pZC9ncmFwaGljcy9SZWN0OwARTGFuZH` + - `JvaWQvbmV0L1VyaTsAGkxhbmRyb2lkL29zL0J1aWxkJFZFUlNJT047ABNMYW5kcm9pZC9v` + - `cy9CdW5kbGU7ABRMYW5kcm9pZC9vcy9JQmluZGVyOwAXTGFuZHJvaWQvdGV4dC9FZGl0YW` + - `JsZTsAGkxhbmRyb2lkL3RleHQvVGV4dFdhdGNoZXI7ABJMYW5kcm9pZC91dGlsL0xvZzsA` + - `M0xhbmRyb2lkL3ZpZXcvS2V5Q2hhcmFjdGVyTWFwJFVuYXZhaWxhYmxlRXhjZXB0aW9uOw` + - `AeTGFuZHJvaWQvdmlldy9LZXlDaGFyYWN0ZXJNYXA7ACpMYW5kcm9pZC92aWV3L1ZpZXck` + - `T25MYXlvdXRDaGFuZ2VMaXN0ZW5lcjsAE0xhbmRyb2lkL3ZpZXcvVmlldzsAJUxhbmRyb2` + - `lkL3ZpZXcvVmlld0dyb3VwJExheW91dFBhcmFtczsAFUxhbmRyb2lkL3ZpZXcvV2luZG93` + - `OwAbTGFuZHJvaWQvdmlldy9XaW5kb3dJbnNldHM7AC1MYW5kcm9pZC92aWV3L2lucHV0bW` + - `V0aG9kL0lucHV0TWV0aG9kTWFuYWdlcjsAGUxhbmRyb2lkL3dpZGdldC9FZGl0VGV4dDsA` + - `KUxhbmRyb2lkL3dpZGdldC9GcmFtZUxheW91dCRMYXlvdXRQYXJhbXM7ACNMZGFsdmlrL2` + - `Fubm90YXRpb24vRW5jbG9zaW5nTWV0aG9kOwAeTGRhbHZpay9hbm5vdGF0aW9uL0lubmVy` + - `Q2xhc3M7AA5MamF2YS9pby9GaWxlOwAYTGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7ABVMam` + - `F2YS9sYW5nL0V4Y2VwdGlvbjsAHUxqYXZhL2xhbmcvTm9TdWNoTWV0aG9kRXJyb3I7ABJM` + - `amF2YS9sYW5nL09iamVjdDsAFExqYXZhL2xhbmcvUnVubmFibGU7ABJMamF2YS9sYW5nL1` + - `N0cmluZzsAEkxqYXZhL2xhbmcvU3lzdGVtOwAVTGphdmEvbGFuZy9UaHJvd2FibGU7ACNM` + - `b3JnL2dvbGFuZy9hcHAvR29OYXRpdmVBY3Rpdml0eSQxOwAjTG9yZy9nb2xhbmcvYXBwL0` + - `dvTmF0aXZlQWN0aXZpdHkkMjsAI0xvcmcvZ29sYW5nL2FwcC9Hb05hdGl2ZUFjdGl2aXR5` + - `JDM7ACVMb3JnL2dvbGFuZy9hcHAvR29OYXRpdmVBY3Rpdml0eSQ0JDE7ACNMb3JnL2dvbG` + - `FuZy9hcHAvR29OYXRpdmVBY3Rpdml0eSQ0OwAhTG9yZy9nb2xhbmcvYXBwL0dvTmF0aXZl` + - `QWN0aXZpdHk7ABROVU1CRVJfS0VZQk9BUkRfQ09ERQAJT3BlbiBGaWxlAAdTREtfSU5UAB` + - `hTSU5HTEVMSU5FX0tFWUJPQVJEX0NPREUACVNhdmUgRmlsZQABVgACVkkAA1ZJSQAFVklJ` + - `SUkABFZJSUwAAlZMAANWTEkABVZMSUlJAApWTElJSUlJSUlJAANWTEwAAlZaAAFaAAJaTA` + - `ADWkxJABNbTGphdmEvbGFuZy9TdHJpbmc7AAJcfAAKYWNjZXNzJDAwMAAKYWNjZXNzJDAw` + - `MgAKYWNjZXNzJDEwMAAKYWNjZXNzJDEwMgAKYWNjZXNzJDIwMAAKYWNjZXNzJDMwMAALYW` + - `NjZXNzRmxhZ3MAC2FkZENhdGVnb3J5AA5hZGRDb250ZW50VmlldwAIYWRkRmxhZ3MAGWFk` + - `ZE9uTGF5b3V0Q2hhbmdlTGlzdGVuZXIAFmFkZFRleHRDaGFuZ2VkTGlzdGVuZXIAEGFmdG` + - `VyVGV4dENoYW5nZWQAFGFuZHJvaWQuYXBwLmxpYl9uYW1lACVhbmRyb2lkLmludGVudC5h` + - `Y3Rpb24uQ1JFQVRFX0RPQ1VNRU5UACNhbmRyb2lkLmludGVudC5hY3Rpb24uT1BFTl9ET0` + - `NVTUVOVAAoYW5kcm9pZC5pbnRlbnQuYWN0aW9uLk9QRU5fRE9DVU1FTlRfVFJFRQAgYW5k` + - `cm9pZC5pbnRlbnQuY2F0ZWdvcnkuT1BFTkFCTEUAH2FuZHJvaWQuaW50ZW50LmV4dHJhLk` + - `1JTUVfVFlQRVMAGmFuZHJvaWQuaW50ZW50LmV4dHJhLlRJVExFABdhcHBsaWNhdGlvbi94` + - `LWRpcmVjdG9yeQARYmVmb3JlVGV4dENoYW5nZWQADGJyaW5nVG9Gcm9udAAIY29udGFpbn` + - `MADWNyZWF0ZUNob29zZXIADmRvSGlkZUtleWJvYXJkAA5kb1Nob3dGaWxlT3BlbgAOZG9T` + - `aG93RmlsZVNhdmUADmRvU2hvd0tleWJvYXJkAAFlAAZlcXVhbHMAIWV4Y2VwdGlvbiByZW` + - `FkaW5nIEtleUNoYXJhY3Rlck1hcAASZmlsZVBpY2tlclJldHVybmVkAAxmaW5kVmlld0J5` + - `SWQAA2dldAAPZ2V0QWJzb2x1dGVQYXRoAA9nZXRBY3Rpdml0eUluZm8AC2dldENhY2hlRG` + - `lyAAxnZXRDb21wb25lbnQAEGdldENvbmZpZ3VyYXRpb24AB2dldERhdGEADGdldERlY29y` + - `VmlldwAJZ2V0SGVpZ2h0AAlnZXRJbnRlbnQAEWdldFBhY2thZ2VNYW5hZ2VyAAxnZXRSZX` + - `NvdXJjZXMAC2dldFJvb3RWaWV3ABNnZXRSb290V2luZG93SW5zZXRzAAdnZXRSdW5lAAln` + - `ZXRTdHJpbmcAEGdldFN5c3RlbVNlcnZpY2UAGmdldFN5c3RlbVdpbmRvd0luc2V0Qm90dG` + - `9tABhnZXRTeXN0ZW1XaW5kb3dJbnNldExlZnQAGWdldFN5c3RlbVdpbmRvd0luc2V0Umln` + - `aHQAF2dldFN5c3RlbVdpbmRvd0luc2V0VG9wAAlnZXRUbXBkaXIACGdldFdpZHRoAAlnZX` + - `RXaW5kb3cADmdldFdpbmRvd1Rva2VuABxnZXRXaW5kb3dWaXNpYmxlRGlzcGxheUZyYW1l` + - `ABBnb05hdGl2ZUFjdGl2aXR5AAZoZWlnaHQADGhpZGVLZXlib2FyZAAXaGlkZVNvZnRJbn` + - `B1dEZyb21XaW5kb3cADGlucHV0X21ldGhvZAANaW5zZXRzQ2hhbmdlZAAOa2V5Ym9hcmRE` + - `ZWxldGUADWtleWJvYXJkVHlwZWQABGxlZnQABmxlbmd0aAAEbG9hZAALbG9hZExpYnJhcn` + - `kAEmxvYWRMaWJyYXJ5IGZhaWxlZAAnbG9hZExpYnJhcnk6IG5vIG1hbmlmZXN0IG1ldGFk` + - `YXRhIGZvdW5kAAltVGV4dEVkaXQACG1ldGFEYXRhAARuYW1lAAhvbGRTdGF0ZQAQb25BY3` + - `Rpdml0eVJlc3VsdAAWb25Db25maWd1cmF0aW9uQ2hhbmdlZAAIb25DcmVhdGUADm9uTGF5` + - `b3V0Q2hhbmdlAA1vblRleHRDaGFuZ2VkAAhwdXRFeHRyYQAMcmVxdWVzdEZvY3VzAANydW` + - `4ADXJ1bk9uVWlUaHJlYWQAC3NldERhcmtNb2RlAA1zZXRJbWVPcHRpb25zAAxzZXRJbnB1` + - `dFR5cGUAD3NldExheW91dFBhcmFtcwAHc2V0VGV4dAAHc2V0VHlwZQANc2V0VmlzaWJpbG` + - `l0eQAKc2V0dXBFbnRyeQAMc2hvd0ZpbGVPcGVuAAxzaG93RmlsZVNhdmUADHNob3dLZXli` + - `b2FyZAANc2hvd1NvZnRJbnB1dAAFc3BsaXQAFnN0YXJ0QWN0aXZpdHlGb3JSZXN1bHQAC3` + - `N1YlNlcXVlbmNlAAZ0aGlzJDAABnRoaXMkMQAIdG9TdHJpbmcAA3RvcAAGdWlNb2RlACJ1` + - `bmtub3duIGtleWJvYXJkIHR5cGUsIHVzZSBkZWZhdWx0AAx1cGRhdGVMYXlvdXQAC3VwZG` + - `F0ZVRoZW1lABB2YWwka2V5Ym9hcmRUeXBlAAV2YWx1ZQAFd2lkdGgAAXwAUQIAAAcOAFQA` + - `B3cQAg5ZeZaXeLSWlpellgJtLCBLAnQdAH4BAAcOAIEBAAcOtADYAQEABw4A2wEJAAAAAA` + - `AAAAAABw5aAO0BAQAHDgD/AQEABw4A+wEEAAAAAAcOAPABBAAAAAAHDgESDwEfE7QCex0A` + - `4QEBAAcOAOQBAAcd4bTEW5a1AhTgADEABw44Ti0AGwEABw4AGwIAAAcOABsBAAcOABsCAA` + - `AHDgAbAAcOABsCAAAHDgCsAQMAAAAHHYc0AnssIB6DAHYABw5aAMMBAAcOS6NMS38Cex2H` + - `Sx4A4QEABw4CIoYAhwEBAAcOWgCbAQIAAAcOWgBNAQAHDloAegAHDoe0iIwAiwEBAAcdeO` + - `F4RJYCdx3hWrRqPACfAQIAAAcOeOFat1papQJ7HQBRAQAHDgIihgA2AAcOAIgCAwAAAAcO` + - `AgxoAnkdPGxLAJgCAQAHDjw8ANIBAQAHDjw8PLW0jAA7AAcOwwIOLAJ2HYeFTB5atbT/0A` + - `CdAgEABw6WPBsAAhsBwwEaUAIcAloEAKABHgIbAcMBGk0CGwHDARpiAhsBwwEaRAIbAcMB` + - `GmUGRJAACAQABAEEAgQCBAEAAgEBBZAgAZAgOYCABMwYOgHsGAABAQEHkCA7gIAE7Bo8AY` + - `gbAAEBAQiQID2AgASwGz4BzBsAAQEDCZAgP4CABOgbQAGEHAEBmBwBAawcAAEBAQqQIEOA` + - `gATcHUQB+B0HAhMKCxoBGgEaARoBGgEaAQoSAgECRYGABKQfAYggyB8BiCDgHwGIIPgfAY` + - `ggkCABiCCoIAGIIMAgBoICAAYI2CAECKwhAYICAAGCAgABggIAAQLIIQWCAgABAswiAQjw` + - `IgEIjCMBCKgjTQDEIwEAnCQBANwlAQDoJgkAjCcHBLAnAQH4JwEBmCgIAPgoAQTUKhEAAA` + - `AAAAAAAQAAAAAAAAABAAAAxgAAAHAAAAACAAAALwAAAIgDAAADAAAAQQAAAEQEAAAEAAAA` + - `FAAAAFAHAAAFAAAAbAAAAPAHAAAGAAAABgAAAFALAAADEAAABQAAABAMAAABIAAAJAAAAE` + - `wMAAAGIAAABQAAAIQVAAABEAAAIgAAANQVAAACIAAAxgAAAAYXAAADIAAAJAAAAHgkAAAE` + - `IAAABgAAAPslAAAFIAAAAQAAACcmAAAAIAAABgAAADYmAAAAEAAAAQAAACgnAAA=` + +var dexStr = `ZGV4CjAzNQDRcRqsKmUZq4EJMuU65rLQ+QSW3sAcpf74KAAAcAAAAHhWNBIAAAAAAAAAAC` + + `goAADLAAAAcAAAAC8AAACcAwAAQgAAAFgEAAAUAAAAcAcAAHAAAAAQCAAABgAAAJALAACo` + + `HAAAUAwAAMIXAADEFwAAyRcAAMwXAADUFwAA6BcAAP8XAAAPGAAAHxgAACUYAAA8GAAAPx` + + `gAAEQYAABKGAAATxgAAFUYAABYGAAAXBgAAGEYAABmGAAAahgAAG8YAAB0GAAAkhgAALMY` + + `AADOGAAA6BgAAAsZAAAwGQAAVRkAAHYZAACPGQAAohkAAL4ZAADTGQAA6RkAAAIaAAAeGg` + + `AAMhoAAGcaAACHGgAAsxoAAMgaAADvGgAABhsAACMbAABSGwAAbRsAAJgbAAC9GwAA3RsA` + + `AO0bAAAHHAAAHhwAAD0cAABRHAAAZxwAAHscAACPHAAAphwAAMscAADwHAAAFR0AADwdAA` + + `BhHQAAhB0AAJodAAClHQAArh0AAMgdAADTHQAA1h0AANodAADfHQAA5h0AAOwdAADwHQAA` + + `9R0AAPwdAAAIHgAADR4AABEeAAAUHgAAGB4AAB0eAAAyHgAANh4AAEIeAABOHgAAWh4AAG` + + `YeAAByHgAAfh4AAIoeAACXHgAApB4AALQeAAC+HgAA2R4AAPEeAAADHwAAGR8AAEAfAABl` + + `HwAAjx8AALEfAADSHwAA7h8AAAcgAAAaIAAAKCAAADIgAABBIAAAUSAAAGEgAABxIAAAgS` + + `AAAIQgAACMIAAAryAAAMMgAADRIAAA1iAAAOcgAAD4IAAABSEAABMhAAAlIQAALiEAADwh` + + `AABHIQAAUiEAAGUhAABzIQAAgCEAAJUhAACeIQAAqSEAALshAADXIQAA8SEAAAwiAAAlIg` + + `AAMCIAAD8iAABJIgAAVCIAAGQiAACCIgAAlCIAAJwiAACqIgAAwyIAANEiAADZIgAA6CIA` + + `APgiAAAHIwAADSMAABUjAAAbIwAAKCMAADwjAABlIwAAcCMAAHojAACAIwAAiiMAAJwjAA` + + `C0IwAAviMAAM4jAADdIwAA5yMAAPUjAAD6IwAACSQAABYkAAAlJAAAMyQAAEQkAABNJAAA` + + `ViQAAGUkAABxJAAAfyQAAI0kAACbJAAAqiQAALEkAADJJAAA1iQAAN4kAADmJAAA8CQAAP` + + `UkAAD9JAAAISUAAC8lAAA8JQAATiUAAFUlAABcJQAACgAAABYAAAAXAAAAGAAAABkAAAAa` + + `AAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJw` + + `AAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQA` + + `AAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABGAA` + + `AAUQAAAFQAAAAKAAAAAAAAAAAAAAALAAAAAAAAAKAWAAAMAAAAAAAAAKgWAAANAAAAAAAA` + + `ALQWAAAOAAAAAAAAALwWAAAPAAAAAgAAAAAAAAAPAAAABAAAAAAAAAAQAAAABAAAAMgWAA` + + `AVAAAABAAAANAWAAATAAAABAAAANgWAAAVAAAABAAAALQWAAAVAAAABAAAAOAWAAAUAAAA` + + `BQAAAOgWAAAPAAAABgAAAAAAAAAPAAAABwAAAAAAAAAPAAAACAAAAAAAAAAPAAAACgAAAA` + + `AAAAAPAAAADQAAAAAAAAASAAAADgAAAPAWAAAQAAAAEgAAAMgWAAAPAAAAFAAAAAAAAAAQ` + + `AAAAFAAAAMgWAAAPAAAAFgAAAAAAAAAPAAAAFwAAAAAAAAATAAAAGQAAAPgWAAAVAAAAGQ` + + `AAAAAXAAAPAAAAHQAAAAAAAAARAAAAHgAAAKAWAAATAAAAIQAAANgWAAAPAAAAIwAAAAAA` + + `AAATAAAAIwAAANgWAAATAAAAIwAAAPgWAAAVAAAAIwAAAAgXAAAPAAAAKwAAAAAAAABGAA` + + `AALAAAAAAAAABHAAAALAAAAMgWAABIAAAALAAAAKAWAABJAAAALAAAABAXAABKAAAALAAA` + + `ABwXAABLAAAALAAAACgXAABMAAAALAAAADAXAABLAAAALAAAADgXAABLAAAALAAAAEAXAA` + + `BLAAAALAAAAEgXAABLAAAALAAAAFAXAABLAAAALAAAAJgWAABLAAAALAAAAJAWAABOAAAA` + + `LAAAAFgXAABPAAAALAAAAHAXAABLAAAALAAAAHgXAABLAAAALAAAAIAXAABNAAAALAAAAI` + + `gXAABLAAAALAAAAIgWAABLAAAALAAAANgWAABPAAAALAAAALQWAABLAAAALAAAAJQXAABL` + + `AAAALAAAAPgWAABMAAAALAAAAJwXAABPAAAALAAAAAgXAABQAAAALAAAAKQXAABRAAAALQ` + + `AAAAAAAABTAAAALQAAAKwXAABTAAAALQAAALQXAABSAAAALQAAAIAXAABSAAAALQAAALwX` + + `AAATAAAALgAAANgWAAAFAAwApAAAAAcAAADDAAAACQAAAJ0AAAAJAAAAwgAAAAsAAABDAA` + + `AAJgArAL8AAAAmAAAAxwAAACcAKwC/AAAAKAArAL8AAAApACoAwAAAACoAKwC/AAAAKwAA` + + `AAQAAAArAAAABQAAACsAAAAGAAAAKwAAAAcAAAArAAAAQQAAACsAAABEAAAAKwArAJQAAA` + + `ArABkAowAAACsAIwCmAAAAAQAiAAMAAAABACkAqAAAAAEAKwCpAAAABAA1AAMAAAAEAAkA` + + `XgAAAAQABwBgAAAABAAIAG8AAAAEAAUAfQAAAAQAEAB/AAAABAAKAKwAAAAEAAsArAAAAA` + + `QACQC1AAAABgAMAHsAAAAIAA4AfgAAAAkAIgADAAAACQAAAJUAAAAJAAAAyQAAAAoAHQDB` + + `AAAADAAeAIgAAAAOABIAmQAAAA4AAACeAAAAEAADAHQAAAAQAAQAdAAAABIAAQB5AAAAEg` + + `ATAJ8AAAAUAC4AYQAAABQAAACBAAAAFAAUAIUAAAAUABcAhgAAABQAAACQAAAAFAARAJIA` + + `AAAUACoAkwAAABYAFACAAAAAFwAAAIoAAAAXAAAAiwAAABcAAACMAAAAFwAAAI0AAAAYAD` + + `0AlwAAABgAPgC7AAAAGQAnAAMAAAAZAC0AYgAAABkAIgBtAAAAGQAAAI8AAAAZADwArQAA` + + `ABkAIwCxAAAAGQAjALIAAAAZADEAswAAABkAMgC0AAAAGQAjALYAAAAaACQAAwAAAB0AHQ` + + `B6AAAAHgAAAJ4AAAAeABsAvgAAAB4AHQDBAAAAIQAiAAMAAAAjAD8AbgAAACMAQAB1AAAA` + + `IwAAAJ4AAAAjAEEAvAAAACQANQCgAAAAJgA5AAMAAAAmACIArgAAACcAOAADAAAAJwAiAK` + + `4AAAAoADgAAwAAACgALwCqAAAAKQA3AAMAAAApACwAYwAAACkAMwBsAAAAKQAzAKsAAAAq` + + `ADgAAwAAACoAIgCuAAAAKwAiAAMAAAArABgAVgAAACsAGQBXAAAAKwAfAFgAAAArACAAWQ` + + `AAACsAIQBaAAAAKwA6AFsAAAArADgAXAAAACsAMABfAAAAKwAiAHAAAAArADUAcQAAACsA` + + `NgByAAAAKwAjAHMAAAArADUAdwAAACsAFQB4AAAAKwAaAHwAAAArAAYAggAAACsADQCDAA` + + `AAKwAPAIQAAAArAAIAhwAAACsAHACJAAAAKwAdAI4AAAArABYAkQAAACsAIgCWAAAAKwAl` + + `AJoAAAArACIAmwAAACsANQCcAAAAKwAiAJ8AAAArACYApwAAACsAKQCoAAAAKwArAKkAAA` + + `ArADQArwAAACsAOwCwAAAAKwAiALcAAAArADUAuAAAACsANgC5AAAAKwAjALoAAAArACgA` + + `vQAAACsAIgDFAAAAKwApAMYAAAAmAAAAAAAAACEAAACIFgAACQAAADgWAAAxJwAAAAAAAC` + + `cAAAAAAAAAIQAAAIgWAAAJAAAASBYAAEUnAAAAAAAAKAAAAAAAAAAhAAAAkBYAAAkAAABY` + + `FgAAVicAAAAAAAApAAAAAAAAACEAAACYFgAACQAAAGgWAABnJwAAAAAAACoAAAAAAAAAIQ` + + `AAAIgWAAAJAAAAeBYAAIAnAAAAAAAAKwAAAAEAAAABAAAAAAAAAAkAAAAAAAAAkScAACIn` + + `AAACAAAA9iYAAP0mAAACAAAABicAAP0mAAACAAAADScAAP0mAAACAAAAFCcAAP0mAAACAA` + + `AAGycAAP0mAAADAAMAAQAAAF8lAAAIAAAAWwEFAFkCBgBwEDYAAAAOAAYAAQADAAAAZiUA` + + `AIQAAAAVAQBAEmISBBQAkAAIAFRTBQBxEEkAAwAMA24QKgADAAoDOQMDAA4AUlMGACsDZA` + + `AAABoCCAAaA8QAcSAVADIAVFIFAHEQSQACAAwCbiAsABIAVFEFAHEQSQABAAwBbiAtAAEA` + + `VFAFABoBAgBxIEwAEABUUAUAcRBJAAAADAAaAQIAbiAvABAAVFAFAHEQSQAAAAwAbiAwAE` + + `AAVFAFAHEQSQAAAAwAbhApAAAAVFAFAHEQSQAAAAwAbhArAAAAVFAFABoBmABuIFwAEAAM` + + `AB8AGABUUQUAcRBJAAEADAFuMCYAEAQooQEhKKwUAJIACAABISinAAEDAAAAAAAKAAAAXQ` + + `AAAF8AAAACAAIAAQAAAIUlAAAGAAAAWwEHAHAQNgAAAA4AAwABAAIAAACMJQAADAAAAFQg` + + `BwBxEEkAAAAMABMBCABuIDAAEAAOAAIAAgABAAAAkyUAAAYAAABbAQgAcBA2AAAADgALAA` + + `oAAQAAAJolAAAGAAAAVBAIAG4QbgAAAA4AAgACAAEAAACqJQAABgAAAFsBCQBwEDYAAAAO` + + `AAQAAgADAAAAsSUAABcAAAByEBQAAwAKABIRNRARAFQgCQBUAAoAGgECAHEgTAAQABIAGg` + + `ECAHIwEwADAQ4AAAAFAAUAAAAAALslAAABAAAADgAAAAcABQADAAAAxSUAAEkAAAByEDMA` + + `AwAKAFQhCQBUEQoAcRBLAAEADAFuEDkAAQAKATcQHwBUIAkAVAAKAJABBAZyMDQAQwEMAX` + + `IQNQABAAwBcSBOABAAVCAJAFQACgByEDUAAwAMAXEgTAAQAA4AchAzAAMACgBUIQkAVBEK` + + `AHEQSwABAAwBbhA5AAEACgE1EOT/VCAJAFQACgBxEE8AAAAo2wAAAgACAAEAAADcJQAABg` + + `AAAFsBCgBwEDYAAAAOAAUAAQADAAAA4yUAAGAAAAAS41RACgAiARkAcQBNAAAADAJwICcA` + + `IQBxIEoAEABUQAoAcRBJAAAADAATAQgAbiAwABAAVEAKAHEQSQAAAAwAFAGQAAgAbiAtAB` + + `AAIgAaAHAwMQAwA1RBCgBxEEkAAQAMAW4gLgABAFRBCgBUQgoAcRBJAAIADAJuMFAAIQBU` + + `QAoAGgECAHEgTAAQAFRACgBxEEkAAAAMABoBAgBuIC8AEABUQAoAcRBJAAAADAAiASkAcC` + + `BCAEEAbiAoABAADgACAAEAAQAAAPQlAAAKAAAAcBAAAAEAGgAAAFsQEwBpAREADgACAAEA` + + `AAAAAPwlAAADAAAAVBASABEAAAACAAIAAAAAAAImAAADAAAAWwESABEBAAACAAEAAAAAAA` + + `kmAAADAAAAVBATABEAAAACAAIAAAAAAA8mAAADAAAAWwETABEBAAABAAAAAAAAABYmAAAD` + + `AAAAYgARABEAAAACAAIAAgAAABsmAAAEAAAAcCBiABAADgABAAEAAQAAACImAAAEAAAAcB` + + `BhAAAADgAHAAMAAwABACgmAAAZAAAAEvBxEBgABAAMAW4wFwBRBgoBOQEDAA8AARAo/g0B` + + `GgIIABoDdgBxMBYAMgEo9Q0BKPMAAAEAAAAHAAEAAQIRFx8OAAABAAAAAQAAADkmAAAGAA` + + `AAYgARAG4QUQAAAA4ABAABAAMAAQA/JgAAMwAAAG4QWQADAAwAbhBYAAMADAFuEAcAAQAM` + + `ARMCgABuMAwAEAIMAFQBAAA5AQoAGgAIABoBogBxIBUAEAAOAFQAAAAaAWQAbiASABAADA` + + `BxEDsAAAAo9A0AGgEIABoCoQBxMBYAIQAo6wAAAAAAACkAAQABAR8qAgABAAIAAABQJgAA` + + `CQAAACIAKgBwIEYAEABuIGcAAQAOAAAAAgABAAIAAABZJgAABgAAAGIAEQBuIFIAEAAOAA` + + `MAAgADAAAAYSYAAAYAAABiABEAbjBTABACDgACAAEAAgAAAGomAAAGAAAAYgARAG4gVAAQ` + + `AA4ABAABAAMAAABxJgAAJAAAABoAmABuIFwAAwAMAB8AGAAUAQIAAgFuIFYAEwAMAW4QGw` + + `ABAAwBbhAeAAEADAESAm4wJQAQAiIAJwBwID4AMABuIGcAAwAOAAYAAgADAAAAeyYAAFcA` + + `AAASEyIABAAaAWYAcCADABAAGgFrAG4gOABRAAoBOAEcAGABBAATAhUANCEWACIABAAaAW` + + `cAcCADABAAbiAFADAAGgFCAHEgBgAQAAwAbjBtAAQDDgAaAcoAbiA3ABUACgE4AR4AYAEE` + + `ABMCEwA0IRgAGgEBAG4gCwAQABoBaQAaAlUAbiA6ACUADAJuMAoAEAIaAWgAbiAEABAAKN` + + `NuIAsAUAAaAWgAbiAEABAAKMoAAAYAAwADAAAAjyYAAD4AAAAiAAQAGgFlAHAgAwAQABoB` + + `ygBuIDcAFAAKATgBLQBgAQQAEwITADQhJwAaAQEAbiALABAAGgFpABoCVQBuIDoAJAAMAm` + + `4wCgAQAhoBagBuMAkAEAUaAWgAbiAEABAAGgFFAHEgBgAQAAwAEiFuMG0AAwEOAG4gCwBA` + + `ACjoAwACAAMAAAChJgAACQAAACIAJgBwMDwAEAJuIGcAAQAOAAAAAgABAAEAAACqJgAACQ` + + `AAAG4QVwABAAwAbhAyAAAADAARAAAABQAEAAIAAACvJgAAHAAAABIQMgIGABIgMgIDAA4A` + + `EvAyAwgAGgAAAHAgVQABACj3bhAIAAQADABuEBEAAAAMAHAgVQABACjrAgACAAIAAADBJg` + + `AABwAAAG8gAQAQAG4gbwAQAA4AAAAEAAIAAgAAAMomAAAoAAAAcBBjAAIAbyACADIAcBBp` + + `AAIAbhBaAAIADABuEA0AAAAMAG4gbwACABQAAgACAW4gVgACAAwAbhAbAAAADAAiASgAcC` + + `BAACEAbiAZABAADgAHAAEABQABANcmAABgAAAAbhBeAAYADABuECAAAAAMAG4QHAAAAAwA` + + `OQADAA4AbhAkAAAACgFuECEAAAAKAm4QIgAAAAoDbhAjAAAACgBwUGAAFjIo7A0AIgAJAH` + + `AQDgAAAG4QXgAGAAwBbhAgAAEADAFuIB8AAQAUAQIAAgFuIFYAFgAMAW4QGwABAAwBUgID` + + `AG4QGgABAAoDbhAPAAAACgSxQ1IEAwCxQ1IEAgBuEB0AAQAKAW4QEAAAAAoFsVFSAAIAkQ` + + `ABAHBQYAAmQyivAAAAACIAAQABASAjBAACAAIAAADsJgAADwAAAFIwAQDdAAAwEwEgADMQ` + + `BwASEHAgaAACAA4AEgAo+wAAUAwAAAAAAAAAAAAAAAAAAFwMAAAAAAAAAAAAAAAAAABoDA` + + `AAAAAAAAAAAAAAAAAAdAwAAAAAAAAAAAAAAAAAAIAMAAAAAAAAAAAAAAAAAAABAAAAIgAA` + + `AAEAAAATAAAAAQAAAA8AAAACAAAAAAAAAAMAAAAAAAAAAAAAAAIAAAAjACMAAwAAACMAIw` + + `AlAAAAAQAAAAAAAAACAAAABAAeAAEAAAAjAAAAAgAAACMALgACAAAAAgAAAAIAAAAAAB4A` + + `AQAAACsAAAACAAAAKwAZAAIAAAArACMABAAAAAAAAAAAAAAAAwAAAAAAAAAEAAAAAQAAAA` + + `MAAAACAAAABAAAAAEAAAAHAAAAAQAAAAkAAAABAAAADAAAAAEAAAAOAAAACQAAABQAAAAA` + + `AAAAAAAAAAAAAAAAAAAAAgAAABQAFQABAAAAFQAAAAEAAAAeAAAABAAAAB4AAAAAAAAAAQ` + + `AAACoAAAACAAAAKwAAAAEAAAAtAAAAAgAAAA0AAAACAAAAFAAAAAEAAAAhAAAAAyovKgAB` + + `MAAGPGluaXQ+ABJERUZBVUxUX0lOUFVUX1RZUEUAFURFRkFVTFRfS0VZQk9BUkRfQ09ERQ` + + `AORklMRV9PUEVOX0NPREUADkZJTEVfU0FWRV9DT0RFAARGeW5lABVHb05hdGl2ZUFjdGl2` + + `aXR5LmphdmEAAUkAA0lJSQAESUlJSQADSUxMAARJTExMAAFMAAJMSQADTElJAANMSUwAAk` + + `xMAANMTEkAA0xMTAAcTGFuZHJvaWQvYXBwL05hdGl2ZUFjdGl2aXR5OwAfTGFuZHJvaWQv` + + `Y29udGVudC9Db21wb25lbnROYW1lOwAZTGFuZHJvaWQvY29udGVudC9Db250ZXh0OwAYTG` + + `FuZHJvaWQvY29udGVudC9JbnRlbnQ7ACFMYW5kcm9pZC9jb250ZW50L3BtL0FjdGl2aXR5` + + `SW5mbzsAI0xhbmRyb2lkL2NvbnRlbnQvcG0vUGFja2FnZU1hbmFnZXI7ACNMYW5kcm9pZC` + + `9jb250ZW50L3Jlcy9Db25maWd1cmF0aW9uOwAfTGFuZHJvaWQvY29udGVudC9yZXMvUmVz` + + `b3VyY2VzOwAXTGFuZHJvaWQvZ3JhcGhpY3MvUmVjdDsAEUxhbmRyb2lkL25ldC9Vcmk7AB` + + `pMYW5kcm9pZC9vcy9CdWlsZCRWRVJTSU9OOwATTGFuZHJvaWQvb3MvQnVuZGxlOwAUTGFu` + + `ZHJvaWQvb3MvSUJpbmRlcjsAF0xhbmRyb2lkL3RleHQvRWRpdGFibGU7ABpMYW5kcm9pZC` + + `90ZXh0L1RleHRXYXRjaGVyOwASTGFuZHJvaWQvdXRpbC9Mb2c7ADNMYW5kcm9pZC92aWV3` + + `L0tleUNoYXJhY3Rlck1hcCRVbmF2YWlsYWJsZUV4Y2VwdGlvbjsAHkxhbmRyb2lkL3ZpZX` + + `cvS2V5Q2hhcmFjdGVyTWFwOwAqTGFuZHJvaWQvdmlldy9WaWV3JE9uTGF5b3V0Q2hhbmdl` + + `TGlzdGVuZXI7ABNMYW5kcm9pZC92aWV3L1ZpZXc7ACVMYW5kcm9pZC92aWV3L1ZpZXdHcm` + + `91cCRMYXlvdXRQYXJhbXM7ABVMYW5kcm9pZC92aWV3L1dpbmRvdzsAG0xhbmRyb2lkL3Zp` + + `ZXcvV2luZG93SW5zZXRzOwAtTGFuZHJvaWQvdmlldy9pbnB1dG1ldGhvZC9JbnB1dE1ldG` + + `hvZE1hbmFnZXI7ABlMYW5kcm9pZC93aWRnZXQvRWRpdFRleHQ7AClMYW5kcm9pZC93aWRn` + + `ZXQvRnJhbWVMYXlvdXQkTGF5b3V0UGFyYW1zOwAjTGRhbHZpay9hbm5vdGF0aW9uL0VuY2` + + `xvc2luZ01ldGhvZDsAHkxkYWx2aWsvYW5ub3RhdGlvbi9Jbm5lckNsYXNzOwAOTGphdmEv` + + `aW8vRmlsZTsAGExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOwAVTGphdmEvbGFuZy9FeGNlcH` + + `Rpb247AB1MamF2YS9sYW5nL05vU3VjaE1ldGhvZEVycm9yOwASTGphdmEvbGFuZy9PYmpl` + + `Y3Q7ABRMamF2YS9sYW5nL1J1bm5hYmxlOwASTGphdmEvbGFuZy9TdHJpbmc7ABJMamF2YS` + + `9sYW5nL1N5c3RlbTsAFUxqYXZhL2xhbmcvVGhyb3dhYmxlOwAjTG9yZy9nb2xhbmcvYXBw` + + `L0dvTmF0aXZlQWN0aXZpdHkkMTsAI0xvcmcvZ29sYW5nL2FwcC9Hb05hdGl2ZUFjdGl2aX` + + `R5JDI7ACNMb3JnL2dvbGFuZy9hcHAvR29OYXRpdmVBY3Rpdml0eSQzOwAlTG9yZy9nb2xh` + + `bmcvYXBwL0dvTmF0aXZlQWN0aXZpdHkkNCQxOwAjTG9yZy9nb2xhbmcvYXBwL0dvTmF0aX` + + `ZlQWN0aXZpdHkkNDsAIUxvcmcvZ29sYW5nL2FwcC9Hb05hdGl2ZUFjdGl2aXR5OwAUTlVN` + + `QkVSX0tFWUJPQVJEX0NPREUACU9wZW4gRmlsZQAHU0RLX0lOVAAYU0lOR0xFTElORV9LRV` + + `lCT0FSRF9DT0RFAAlTYXZlIEZpbGUAAVYAAlZJAANWSUkABVZJSUlJAARWSUlMAAJWTAAD` + + `VkxJAAVWTElJSQAKVkxJSUlJSUlJSQADVkxMAAJWWgABWgACWkwAA1pMSQATW0xqYXZhL2` + + `xhbmcvU3RyaW5nOwACXHwACmFjY2VzcyQwMDAACmFjY2VzcyQwMDIACmFjY2VzcyQxMDAA` + + `CmFjY2VzcyQxMDIACmFjY2VzcyQyMDAACmFjY2VzcyQzMDAACmFjY2VzcyQ0MDAAC2FjY2` + + `Vzc0ZsYWdzAAthZGRDYXRlZ29yeQAOYWRkQ29udGVudFZpZXcACGFkZEZsYWdzABlhZGRP` + + `bkxheW91dENoYW5nZUxpc3RlbmVyABZhZGRUZXh0Q2hhbmdlZExpc3RlbmVyABBhZnRlcl` + + `RleHRDaGFuZ2VkABRhbmRyb2lkLmFwcC5saWJfbmFtZQAlYW5kcm9pZC5pbnRlbnQuYWN0` + + `aW9uLkNSRUFURV9ET0NVTUVOVAAjYW5kcm9pZC5pbnRlbnQuYWN0aW9uLk9QRU5fRE9DVU` + + `1FTlQAKGFuZHJvaWQuaW50ZW50LmFjdGlvbi5PUEVOX0RPQ1VNRU5UX1RSRUUAIGFuZHJv` + + `aWQuaW50ZW50LmNhdGVnb3J5Lk9QRU5BQkxFAB9hbmRyb2lkLmludGVudC5leHRyYS5NSU` + + `1FX1RZUEVTABphbmRyb2lkLmludGVudC5leHRyYS5USVRMRQAXYXBwbGljYXRpb24veC1k` + + `aXJlY3RvcnkAEWJlZm9yZVRleHRDaGFuZ2VkAAxicmluZ1RvRnJvbnQACGNvbnRhaW5zAA` + + `1jcmVhdGVDaG9vc2VyAA5kb0hpZGVLZXlib2FyZAAOZG9TaG93RmlsZU9wZW4ADmRvU2hv` + + `d0ZpbGVTYXZlAA5kb1Nob3dLZXlib2FyZAABZQAGZXF1YWxzACFleGNlcHRpb24gcmVhZG` + + `luZyBLZXlDaGFyYWN0ZXJNYXAAEmZpbGVQaWNrZXJSZXR1cm5lZAAMZmluZFZpZXdCeUlk` + + `AANnZXQAD2dldEFic29sdXRlUGF0aAAPZ2V0QWN0aXZpdHlJbmZvAAtnZXRDYWNoZURpcg` + + `AMZ2V0Q29tcG9uZW50ABBnZXRDb25maWd1cmF0aW9uAAdnZXREYXRhAAxnZXREZWNvclZp` + + `ZXcACWdldEhlaWdodAAJZ2V0SW50ZW50ABFnZXRQYWNrYWdlTWFuYWdlcgAMZ2V0UmVzb3` + + `VyY2VzAAtnZXRSb290VmlldwATZ2V0Um9vdFdpbmRvd0luc2V0cwAHZ2V0UnVuZQAJZ2V0` + + `U3RyaW5nABBnZXRTeXN0ZW1TZXJ2aWNlABpnZXRTeXN0ZW1XaW5kb3dJbnNldEJvdHRvbQ` + + `AYZ2V0U3lzdGVtV2luZG93SW5zZXRMZWZ0ABlnZXRTeXN0ZW1XaW5kb3dJbnNldFJpZ2h0` + + `ABdnZXRTeXN0ZW1XaW5kb3dJbnNldFRvcAAJZ2V0VG1wZGlyAA1nZXRWaXNpYmlsaXR5AA` + + `hnZXRXaWR0aAAJZ2V0V2luZG93AA5nZXRXaW5kb3dUb2tlbgAcZ2V0V2luZG93VmlzaWJs` + + `ZURpc3BsYXlGcmFtZQAQZ29OYXRpdmVBY3Rpdml0eQAGaGVpZ2h0AAxoaWRlS2V5Ym9hcm` + + `QAF2hpZGVTb2Z0SW5wdXRGcm9tV2luZG93AAxpbnB1dF9tZXRob2QABmluc2VydAANaW5z` + + `ZXRzQ2hhbmdlZAAOa2V5Ym9hcmREZWxldGUADWtleWJvYXJkVHlwZWQABGxlZnQABmxlbm` + + `d0aAAEbG9hZAALbG9hZExpYnJhcnkAEmxvYWRMaWJyYXJ5IGZhaWxlZAAnbG9hZExpYnJh` + + `cnk6IG5vIG1hbmlmZXN0IG1ldGFkYXRhIGZvdW5kAAltVGV4dEVkaXQACG1ldGFEYXRhAA` + + `RuYW1lAAhvbGRTdGF0ZQAQb25BY3Rpdml0eVJlc3VsdAAWb25Db25maWd1cmF0aW9uQ2hh` + + `bmdlZAAIb25DcmVhdGUADm9uTGF5b3V0Q2hhbmdlAA1vblRleHRDaGFuZ2VkAAhwdXRFeH` + + `RyYQAMcmVxdWVzdEZvY3VzAANydW4ADXJ1bk9uVWlUaHJlYWQAC3NldERhcmtNb2RlAA1z` + + `ZXRJbWVPcHRpb25zAAxzZXRJbnB1dFR5cGUAD3NldExheW91dFBhcmFtcwAHc2V0VGV4dA` + + `AHc2V0VHlwZQANc2V0VmlzaWJpbGl0eQAKc2V0dXBFbnRyeQAMc2hvd0ZpbGVPcGVuAAxz` + + `aG93RmlsZVNhdmUADHNob3dLZXlib2FyZAANc2hvd1NvZnRJbnB1dAAFc3BsaXQAFnN0YX` + + `J0QWN0aXZpdHlGb3JSZXN1bHQAC3N1YlNlcXVlbmNlAAZ0aGlzJDAABnRoaXMkMQAIdG9T` + + `dHJpbmcAA3RvcAAGdWlNb2RlACJ1bmtub3duIGtleWJvYXJkIHR5cGUsIHVzZSBkZWZhdW` + + `x0AAx1cGRhdGVMYXlvdXQAC3VwZGF0ZVRoZW1lABB2YWwka2V5Ym9hcmRUeXBlAAV2YWx1` + + `ZQAFd2lkdGgAAXwAUQIAAAcOAFUAB3cCIsICYx0CDll5lph4tZaWl6UCbLMgSwJ0HQCEAQ` + + `EABw4AhwEABw60AN4BAQAHDgDhAQkAAAAAAAAAAAAHDloA9wEBAAcOAIsCAQAHDniWawCG` + + `AgQAAAAABw4A+gEEAAAAAAcOARIPAREUtAJ6HQESEADnAQEABw4A6gEABx3htMRblrZ4tQ` + + `Ib4AAxAAcOOE4tABsBAAcOABsCAAAHDgAbAQAHDgAbAgAABw4AGwAHDgAbAgAABw4AGwEA` + + `Bw4AsgEDAAAABx2HNAJ7LCAegwB8AAcOWgDJAQAHDkujTEt/Ansdh0seAOcBAAcOAi2GAI` + + `0BAQAHDloAoQECAAAHDloATQEABw5aAIABAAcOh7SIjACRAQEABx144XhElgJ3HeFatGo8` + + `AKUBAgAABw544Vq3WlqlAnsdAFEBAAcOAiiGADYABw4AmQIDAAAABw4CDGgCeR08bEsAqQ` + + `IBAAcOPDwA2AEBAAcOPDw8tbSMADsABw7DAg4sAnYdh4VMHlq1tP/QAK4CAQAHDpY8GwAC` + + `GwHIARpUAhwCXQQApQEeAhsByAEaUQIbAcgBGmYCGwHIARpHAhsByAEaaQZEkAAIBAAEAQ` + + `QCBAIEAQACAQEFkCABkCA8gIAEjBk9AawZAAEBAQeQID6AgATEGz8B4BsAAQEBCJAgQICA` + + `BIgcQQGkHAABAQMJkCBCgIAEwBxDAdwcAQGcHQEBsB0AAQEBCpAgRoCABNQeRwHwHgcCFA` + + `oLGgEaARoBGgEaARoBChICAQJIgYAEwCABiCDkIAGIIPwgAYgglCEBiCCsIQGIIMQhAYgg` + + `3CEBiCD0IQaCAgAGCIwiBAjgIgGCAgABggIAAYICAAEC/CIFggIAAQKAJAEIpCQBCMAkAQ` + + `jcJFEA+CQBANAlAQCQJwEAnCgJAMAoBwTkKAEBrCkBAcwpCACsKgEEiCwRAAAAAAAAAAEA` + + `AAAAAAAAAQAAAMsAAABwAAAAAgAAAC8AAACcAwAAAwAAAEIAAABYBAAABAAAABQAAABwBw` + + `AABQAAAHAAAAAQCAAABgAAAAYAAACQCwAAAxAAAAUAAABQDAAAASAAACUAAACMDAAABiAA` + + `AAUAAAA4FgAAARAAACMAAACIFgAAAiAAAMsAAADCFwAAAyAAACUAAABfJQAABCAAAAYAAA` + + `D2JgAABSAAAAEAAAAiJwAAACAAAAYAAAAxJwAAABAAAAEAAAAoKAAA` + `` diff --git a/go.mod b/go.mod index 4a14cb47af..fc45781416 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/akavel/rsrc v0.8.0 // indirect github.com/fredbi/uri v0.0.0-20181227131451-3dcfdacbaaf3 github.com/fsnotify/fsnotify v1.4.9 - github.com/fyne-io/mobile v0.1.3-0.20210510125822-9a3fcd853577 + github.com/fyne-io/mobile v0.1.3-0.20210524083716-78f416561547 github.com/go-gl/gl v0.0.0-20210426225639-a3bfa832c8aa github.com/go-gl/glfw/v3.3/glfw v0.0.0-20210410170116-ea3d685f79fb github.com/go-ole/go-ole v1.2.5 diff --git a/go.sum b/go.sum index 705a0651ce..c53acc32ef 100644 --- a/go.sum +++ b/go.sum @@ -12,8 +12,8 @@ github.com/fredbi/uri v0.0.0-20181227131451-3dcfdacbaaf3 h1:FDqhDm7pcsLhhWl1QtD8 github.com/fredbi/uri v0.0.0-20181227131451-3dcfdacbaaf3/go.mod h1:CzM2G82Q9BDUvMTGHnXf/6OExw/Dz2ivDj48nVg7Lg8= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fyne-io/mobile v0.1.3-0.20210510125822-9a3fcd853577 h1:xCW6aKh2deFRK6wfCsdTWDg2iSUvj8zYxoHeQt3mvyc= -github.com/fyne-io/mobile v0.1.3-0.20210510125822-9a3fcd853577/go.mod h1:/kOrWrZB6sasLbEy2JIvr4arEzQTXBTZGb3Y96yWbHY= +github.com/fyne-io/mobile v0.1.3-0.20210524083716-78f416561547 h1:q3mR3AT73LxwifSK+gNEQFweMiKLXt3p373X5xbIK+4= +github.com/fyne-io/mobile v0.1.3-0.20210524083716-78f416561547/go.mod h1:/kOrWrZB6sasLbEy2JIvr4arEzQTXBTZGb3Y96yWbHY= github.com/go-gl/gl v0.0.0-20210426225639-a3bfa832c8aa h1:yiL6tST9ZuWBXiymIdM0j6yeLwMVGXDoybpXqnbJpCk= github.com/go-gl/gl v0.0.0-20210426225639-a3bfa832c8aa/go.mod h1:wjpnOv6ONl2SuJSxqCPVaPZibGFdSci9HFocT9qtVYM= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20210410170116-ea3d685f79fb h1:T6gaWBvRzJjuOrdCtg8fXXjKai2xSDqWTcKFUPuw8Tw= diff --git a/internal/driver/gomobile/driver.go b/internal/driver/gomobile/driver.go index dd583ed18b..f6717e7515 100644 --- a/internal/driver/gomobile/driver.go +++ b/internal/driver/gomobile/driver.go @@ -28,6 +28,7 @@ import ( const ( tapMoveThreshold = 4.0 // how far can we move before it is a drag tapSecondaryDelay = 300 * time.Millisecond // how long before secondary tap + backspaceDelay = 50 * time.Millisecond // how quickly can a user type backspace in succession ) // Configuration is the system information about the current device @@ -49,6 +50,8 @@ type mobileDriver struct { animation *animation.Runner currentSize size.Event + lastBackspace time.Time + theme fyne.ThemeVariant onConfigChanged func(*Configuration) painting bool @@ -470,6 +473,14 @@ func (d *mobileDriver) typeDownCanvas(canvas *mobileCanvas, r rune, code key.Cod r = runeToPrintable(r) keyEvent := &fyne.KeyEvent{Name: keyName} + // If backspace was too quick, we received a real backspace followed by simulated backspace + if keyEvent.Name == fyne.KeyBackspace { + if time.Since(d.lastBackspace) < backspaceDelay { + return + } + d.lastBackspace = time.Now() + } + if canvas.Focused() != nil { if keyName != "" { canvas.Focused().TypedKey(keyEvent) diff --git a/vendor/github.com/fyne-io/mobile/app/GoNativeActivity.java b/vendor/github.com/fyne-io/mobile/app/GoNativeActivity.java index e03e3b8a7e..2e4afe7dea 100644 --- a/vendor/github.com/fyne-io/mobile/app/GoNativeActivity.java +++ b/vendor/github.com/fyne-io/mobile/app/GoNativeActivity.java @@ -81,6 +81,10 @@ void doShowKeyboard(final int keyboardType) { runOnUiThread(new Runnable() { @Override public void run() { + // If keyboard is already up, ignore request + if (mTextEdit.getVisibility() == View.VISIBLE) { + return; + } int imeOptions = EditorInfo.IME_FLAG_NO_ENTER_ACTION; int inputType = DEFAULT_INPUT_TYPE; switch (keyboardType) { @@ -102,8 +106,10 @@ public void run() { mTextEdit.setImeOptions(imeOptions); mTextEdit.setInputType(inputType); - oldState = ""; - mTextEdit.setText(""); + // always place one character so all keyboards can send backspace + oldState = "0"; + mTextEdit.setText("0"); + mTextEdit.setVisibility(View.VISIBLE); mTextEdit.bringToFront(); mTextEdit.requestFocus(); @@ -234,13 +240,18 @@ public void run() { mTextEdit.setLayoutParams(mEditTextLayoutParams); addContentView(mTextEdit, mEditTextLayoutParams); + // always place one character so all keyboards can send backspace + oldState = "0"; + mTextEdit.setText("0"); + mTextEdit.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.length() > oldState.length()) { - keyboardTyped(s.subSequence(oldState.length(), s.length()).toString()); + keyboardTyped(s.subSequence(start,start+count).toString()); } else if (s.length() < oldState.length()) { - // backspace key seems to be sent even for soft content + // send a backspace + keyboardDelete(); } oldState = s.toString(); @@ -252,6 +263,12 @@ public void beforeTextChanged(CharSequence s, int start, int count, int after) { @Override public void afterTextChanged(Editable s) { + // always place one character so all keyboards can send backspace + if (s.length() < 1) { + oldState = "0"; + s.insert(0,"0"); + return; + } } }); } diff --git a/vendor/modules.txt b/vendor/modules.txt index 129770dcdf..b1658a85d1 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -12,7 +12,7 @@ github.com/davecgh/go-spew/spew github.com/fredbi/uri # github.com/fsnotify/fsnotify v1.4.9 github.com/fsnotify/fsnotify -# github.com/fyne-io/mobile v0.1.3-0.20210510125822-9a3fcd853577 +# github.com/fyne-io/mobile v0.1.3-0.20210524083716-78f416561547 github.com/fyne-io/mobile/app github.com/fyne-io/mobile/app/internal/callfn github.com/fyne-io/mobile/event/key