I discovered a bug in the no-ip dynamic dns free hostname auto renewal/confirmation script written by loblab
Turritopsis Dohrnii Teo En Ming <[email protected]> Sun, 16 Aug 2020 17:46:19 +0800
| Newsgroups | gmane.linux.lfs.general |
|---|---|
| Message-ID | <[email protected]> |
U3ViamVjdDogSSBkaXNjb3ZlcmVkIGEgYnVnIGluIHRoZSBuby1pcCBkeW5hbWljIGRucyBmcmVl IGhvc3RuYW1lIGF1dG8gCnJlbmV3YWwvY29uZmlybWF0aW9uIHNjcmlwdCB3cml0dGVuIGJ5IGxv YmxhYgoKR29vZCBkYXkgZnJvbSBTaW5nYXBvcmUsCgpQcm9ncmFtbWluZyBjb2RlIHRyb3VibGVz aG9vdGluZyBwZXJzb246IE1yLiBUdXJyaXRvcHNpcyBEb2hybmlpIFRlbyBFbiAKTWluZyAoVGFy Z2V0ZWQgSW5kaXZpZHVhbCkKQ291bnRyeTogU2luZ2Fwb3JlCkRhdGU6IDE1IHRvIDE2IEF1Z3Vz dCAyMDIwIFNpbmdhcG9yZSBUaW1lIChTYXR1cmRheSBhbmQgU3VuZGF5KQoKTXkgSVQgY29uc3Vs dGluZyBjb21wYW55IGluIFNpbmdhcG9yZSBhc2tlZCBtZSB0byBpbnN0YWxsIGEgTGludXggCnZp cnR1YWwgbWFjaGluZSBzbyB0aGF0IHdlIGNhbiBydW4gbm8taXAgZHluYW1pYyBkbnMgZnJlZSBo b3N0bmFtZSBhdXRvIApyZW5ld2FsL2NvbmZpcm1hdGlvbiBzY3JpcHQgd3JpdHRlbiBieSBsb2Js YWIuIEkgYW0gYW4gSVQgY29uc3VsdGFudCBpbiAKU2luZ2Fwb3JlLCA0MiB5ZWFycyBvbGQgYXMg b2YgMTYgQXVnIDIwMjAuCgpJIGFtIG5vdCBhIFB5dGhvbiBvciBKYXZhIHByb2dyYW1tZXIgb3Ig c29mdHdhcmUgZGV2ZWxvcGVyLiBUaGUgbGFzdCAKdGltZSBJIGhhZCBmb3JtYWwgdHJhaW5pbmcg aW4gc3RydWN0dXJlZCBDIHByb2dyYW1taW5nIChub3QgQysrIG9iamVjdGVkIApvcmllbnRlZCBw cm9ncmFtbWluZykgd2FzIG1vcmUgdGhhbiAyMCB5ZWFycyBhZ28gYXQgU2luZ2Fwb3JlIApQb2x5 dGVjaG5pYyAoRGlwbG9tYSBpbiBNZWNoYXRyb25pY3MgRW5naW5lZXJpbmcgY291cnNlIHllYXIg MTk5NS0xOTk4KS4gCkFsdGhvdWdoIEkgYW0gbm90IGEgcHJvZ3JhbW1lciBvciBzb2Z0d2FyZSBk ZXZlbG9wZXIsIEkgY2FuIHN0aWxsIG1vcmUgCm9yIGxlc3MgdW5kZXJzdGFuZCB0aGUgZmxvdyBv ZiBwcm9ncmFtbWluZyBjb2RlLgoKSSBjaG9zZSBEZWJpYW4gMTAuNSA2NC1iaXQgTGludXggdG8g aW5zdGFsbCBhcyBteSB2aXJ0dWFsIG1hY2hpbmUvZ3Vlc3QgCm9wZXJhdGluZyBzeXN0ZW0gYmVj YXVzZSBsb2JsYWIgbWVudGlvbmVkIHRoYXQgaGlzIHNjcmlwdHMgaGF2ZSBiZWVuIAp0ZXN0ZWQg b24gRGViaWFuIDkueC8xMC54LiBCdXQgZmlyc3QgSSBoYXZlIHRvIGluc3RhbGwgVk13YXJlIApX b3Jrc3RhdGlvbiBQcm8gMTUuNS42IGluIG15IFVidW50dSAxOC4wNC4zIExUUyBMaW51eCBkZXNr dG9wIG9wZXJhdGluZyAKc3lzdGVtLiBUaGUgaXNvIGZpbGUgSSBkb3dubG9hZGVkIGlzIGRlYmlh bi0xMC41LjAtYW1kNjQtbmV0aW5zdC5pc28uCgpUaGUgdmlydHVhbCBuZXR3b3JrIGFkYXB0ZXIg aW4gbXkgRGViaWFuIDEwLjUgTGludXggdmlydHVhbCBtYWNoaW5lIHdhcyAKY29uZmlndXJlZCB0 byB1c2UgTmV0d29yayBBZGRyZXNzIFRyYW5zbGF0aW9uIChOQVQpLiBZb3UgY2FuIHZlcmlmeSB0 aGUgCklQIGFkZHJlc3Mgb2YgeW91ciBWTSB3aXRoIHRoZSBmb2xsb3dpbmcgTGludXggY29tbWFu ZHM6CgokIGlwIGEKCiQgaXAgcm91dGUKCkdpdmUgeW91ciBEZWJpYW4gMTAuNSBMaW51eCBWTSBh dCBsZWFzdCAyIEdCIG9mIFJBTS4KCkFmdGVyIGluc3RhbGxpbmcgRGViaWFuIDEwLjUgTGludXgg dmlydHVhbCBtYWNoaW5lIChtaW5pbWFsIGluc3RhbGxhdGlvbiAKd2l0aCBTU0ggc2VydmVyIGFu ZCBzdGFuZGFyZCBzeXN0ZW0gdXRpbGl0aWVzKSwgSSBuZWVkIHRvIGRvIGEgZmV3IG1vcmUgCnRo aW5ncywgYXMgZm9sbG93cy4KCiMgYXB0IGluc3RhbGwgc3VkbwoKIyB1c2VybW9kIC1hRyBzdWRv IHRlby1lbi1taW5nCgojIGdyb3VwcyB0ZW8tZW4tbWluZwoKU28gdGhhdCBJIGNhbiBzdWRvIGFz IGEgcmVndWxhciBMaW51eCB1c2VyLgoKIyBhcHQgaW5zdGFsbCBnaXQKClRoZW4gSSBkb3dubG9h ZGVkIHRoZSBuby1pcCBkZG5zIGZyZWUgaG9zdG5hbWUgYXV0byByZW5ld2FsL2NvbmZpcm1hdGlv biAKc2NyaXB0IHVzaW5nIGdpdCBjbG9uZS4KClNvZnR3YXJlOiBTY3JpcHQgdG8gYXV0byByZW5l dy9jb25maXJtIG5vaXAuY29tIGZyZWUgaG9zdHMKRG93bmxvYWQgbGluazogaHR0cHM6Ly9naXRo dWIuY29tL2xvYmxhYi9ub2lwLXJlbmV3ClByb2dyYW1tZXI6IGxvYmxhYgoKSSBiZWxpZXZlIHBy b2dyYW1tZXIgbG9ibGFiIGlzIGJhc2VkIGluIENoaW5hLgoKVGhlIHZlcnNpb24gb2YgdGhlIHNj cmlwdHMgSSBkb3dubG9hZGVkIGlzIDEuMSBkYXRlZCAxOCBNYXkgMjAyMC4KClRoZSBjb21wb3Np dGlvbiBvZiB0aGUgc29mdHdhcmUgaXMgNTguNCUgUHl0aG9uIHByb2dyYW1taW5nIGxhbmd1YWdl LCAKMzYlIExpbnV4IHNoZWxsIHNjcmlwdHMsIGFuZCA1LjYlIERvY2tlcmZpbGUuCgpJIHRyaWVk IHRvIHJ1biBzZXR1cC5zaCBMaW51eCBzaGVsbCBzY3JpcHQgYW5kIGNob29zZSAiSW5zdGFsbC9S ZXBhaXIgClNjcmlwdCIuIEJ1dCBJIGZvdW5kIG91dCB0aGF0IG5vdGhpbmcgaXMgYmVpbmcgaW5z dGFsbGVkIGluIAovdXNyL2xvY2FsL2JpbiBhZnRlciBhIGZldyBpbnN0YWxsYXRpb24gYXR0ZW1w dHMuCgpJIHRob3VnaHQgdGhlIHNjcmlwdHMvaW5zdGFsbGF0aW9uIHdlcmUgYmVpbmcgYmxvY2tl ZCBieSBBcHBBcm1vciwgc28gSSAKd2VudCB0byBkaXNhYmxlIEFwcEFybW9yIHVzaW5nIHRoZSBm b2xsb3dpbmcgTGludXggY29tbWFuZHMuCgokIHN1ZG8gbWtkaXIgLXAgL2V0Yy9kZWZhdWx0L2dy dWIuZAokIGVjaG8gJ0dSVUJfQ01ETElORV9MSU5VWF9ERUZBVUxUPSIkR1JVQl9DTURMSU5FX0xJ TlVYX0RFRkFVTFQgCmFwcGFybW9yPTAiJyBcCiAgIHwgc3VkbyB0ZWUgL2V0Yy9kZWZhdWx0L2dy dWIuZC9hcHBhcm1vci5jZmcKJCBzdWRvIHVwZGF0ZS1ncnViCiQgc3VkbyByZWJvb3QKCiQgYWEt ZW5hYmxlZAokIHN1ZG8gYWEtc3RhdHVzCgpCdXQgQXBwQXJtb3IgaXMgTk9UIHRoZSBjYXVzZSBv ZiB0aGUgcHJvYmxlbS4KCkkgYmVnYW4gdG8gZXhhbWluZSB0aGUgUHl0aG9uIHByb2dyYW1taW5n IGNvZGUgYW5kIExpbnV4IHNoZWxsIHNjcmlwdHMuCgpGb3IgdGhlIHNldHVwLnNoIHNjcmlwdCwg d2hlbiB5b3UgY2hvb3NlICJJbnN0YWxsL1JlcGFpciBTY3JpcHQiLCBpdCAKd2lsbCBjYWxsIHRo ZSBpbnN0YWxsZXIoKSBmdW5jdGlvbi4gSW5zaWRlIHRoZSBpbnN0YWxsZXIoKSBmdW5jdGlvbiwg aXQgCndpbGwgY2FsbCB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucywgaW4gc2VxdWVuY2U6Cgpjb25m aWcoKSwgaW5zdGFsbCgpLCBkZXBsb3koKQoKV2hlbiB0aGUgaW5zdGFsbCgpIGZ1bmN0aW9uIHdh cyBjYWxsZWQsIGl0IHRyaWVkIHRvIGV4ZWN1dGUgdGhlIApmb2xsb3dpbmcgTGludXggY29tbWFu ZDoKCiRTVURPIGFwdCAteSBpbnN0YWxsIGNocm9taXVtLWJyb3dzZXIgIyBVcGRhdGUgQ2hyb21p dW0gQnJvd3NlciBvciAKc2NyaXB0IHdvbid0IHdvcmsuCgpFeGVjdXRpbmcgdGhlIGFib3ZlIExp bnV4IGNvbW1hbmQgcmVzdWx0ZWQgaW4gYW4gRVJST1IgYmVjYXVzZSBEZWJpYW4gCjEwLjUgTGlu dXggZG9lcyBub3QgaGF2ZSB0aGUgY2hyb21pdW0tYnJvd3NlciBzb2Z0d2FyZSBwYWNrYWdlLiBJ bnN0ZWFkIAppdCBoYXMgdGhlIGNocm9taXVtIHBhY2thZ2UuCgpXaGVuIHRoZSBhYm92ZSBlcnJv ciBpcyBlbmNvdW50ZXJlZCwgdGhlIGluc3RhbGxlciBzY3JpcHQgQUJPUlRFRCAKUFJFTUFUVVJF TFkgYW5kIGNvdWxkIG5vdCBjb250aW51ZSBydW5uaW5nLiBUaGUgaW5zdGFsbGVyIHNjcmlwdCBj b3VsZCAKbm90IHJ1biB0byBjb21wbGV0aW9uLiBUaGlzIGlzIHRoZSBidWcuCgpUbyBmaXggdGhl IGJ1ZywgSSBoYXZlIHRvIENPTU1FTlQgT1VUL0RJU0FCTEUgdGhlIGZvbGxvd2luZyBsaW5lIGlu IApzZXR1cC5zaCBzY3JpcHQ6CgokU1VETyBhcHQgLXkgaW5zdGFsbCBjaHJvbWl1bS1icm93c2Vy ICMgVXBkYXRlIENocm9taXVtIEJyb3dzZXIgb3IgCnNjcmlwdCB3b24ndCB3b3JrLgoKQW5kIGFk ZCB0aGUgZm9sbG93aW5nIGxpbmUgYmVsb3cgdGhlIGFib3ZlLW1lbnRpb25lZCBsaW5lOgoKJFNV RE8gYXB0IC15IGluc3RhbGwgY2hyb21pdW0KCkl0IGZpeGVkIHRoZSBidWcuIEkgcmFuIHNldHVw LnNoIHNjcmlwdCBhZ2FpbiwgY2hvb3NlICJJbnN0YWxsL1JlcGFpciAKU2NyaXB0IiwgYW5kIHRo ZSBpbnN0YWxsZXIgcmFuIHRvIGNvbXBsZXRpb24uIEZpbmFsbHkgdGhlIHNjcmlwdHMgYXJlIApp bnN0YWxsZWQgaW4gL3Vzci9sb2NhbC9iaW4uCgpQbGVhc2UgRE8gTk9UIGFkZCB5b3VyIG5vLWlw IGFjY291bnQgcGFzc3dvcmQgdG8gbm9pcC1yZW5ldy5zaCBzY3JpcHQgCm1hbnVhbGx5IGluIHBs YWluIHRleHQgYmVjYXVzZSBpdCBoYXMgdG8gYmUgQmFzZTY0IGVuY29kZWQvZW5jcnlwdGVkLiBJ ZiAKeW91IGFkZCB5b3VyIG5vLWlwIGFjY291bnQgcGFzc3dvcmQgZGlyZWN0bHkgdG8gbm9pcC1y ZW5ldy5zaCBzY3JpcHQsIAp5b3Ugd2lsbCBnZXQgYW4gIkluY29ycmVjdCBQYWRkaW5nIiBQeXRo b24gcHJvZ3JhbW1pbmcgYmFzZTY0IGVycm9yIApjb2RlLgoKWW91IG5lZWQgdG8gc3VwcGx5IHRo ZSBuby1pcCBhY2NvdW50IHBhc3N3b3JkIHdoZW4geW91IHJ1biB0aGUgaW5zdGFsbGVyIApzY3Jp cHQuIFdoZW4gdGhlIGluc3RhbGxlciBzY3JpcHQgY2FsbHMgdGhlIGRlcGxveSgpIGZ1bmN0aW9u LCBpdCB3aWxsIAphbHNvIGNhbGwgdGhlIG5vaXAoKSBmdW5jdGlvbi4KClRoZSBub2lwKCkgZnVu Y3Rpb24gaXMgYXMgZm9sbG93czoKCmZ1bmN0aW9uIG5vaXAoKSB7CiAgICAgZWNobyAiRW50ZXIg eW91ciBOby1JUCBBY2NvdW50IGRldGFpbHMuLi4iCiAgICAgcmVhZCAtcCAnVXNlcm5hbWU6ICcg dXNlcnZhcgogICAgIHJlYWQgLXNwICdQYXNzd29yZDogJyBwYXNzdmFyCgogICAgIHBhc3N2YXI9 YGVjaG8gLW4gJHBhc3N2YXIgfCBiYXNlNjRgCiAgICAgZWNobwoKICAgICAkU1VETyBzZWQgLWkg J3MvVVNFUk5BTUU9Ii4qIi9VU0VSTkFNRT0iJyR1c2VydmFyJyIvMScgJElOU1RFWEUKICAgICAk U1VETyBzZWQgLWkgJ3MvUEFTU1dPUkQ9Ii4qIi9QQVNTV09SRD0iJyRwYXNzdmFyJyIvMScgJElO U1RFWEUKfQoKT2JzZXJ2ZSB0aGF0IGl0IHdpbGwgdXNlIGJhc2U2NCBlbmNvZGluZyB0byBlbmNy eXB0IHlvdXIgc3VwcGxpZWQgbm8taXAgCmFjY291bnQgcGFzc3dvcmQgaW4gL3Vzci9sb2NhbC9i aW4vbm9pcC1yZW5ldy0kVVNFUi4KCldoZW4geW91IHJ1biB0aGUgbm9pcC1yZW5ldy5zaCBzY3Jp cHQsIGl0IHdpbGwgY2FsbCB0aGUgbm9pcC1yZW5ldy5weSAKcHl0aG9uIHNjcmlwdC4KCkluc2lk ZSB0aGUgbm9pcC1yZW5ldy5weSBweXRob24gc2NyaXB0LCB0aGUgY29kZSBpcyBhcyBmb2xsb3dz OgoKICAgICBkZWYgbG9naW4oc2VsZik6CiAgICAgICAgIHNlbGYubG9nZ2VyLmxvZyhmIk9wZW5p bmcge1JvYm90LkxPR0lOX1VSTH0uLi4iKQogICAgICAgICBzZWxmLmJyb3dzZXIuZ2V0KFJvYm90 LkxPR0lOX1VSTCkKICAgICAgICAgaWYgc2VsZi5kZWJ1ZyA+IDE6CiAgICAgICAgICAgICBzZWxm LmJyb3dzZXIuc2F2ZV9zY3JlZW5zaG90KCJkZWJ1ZzEucG5nIikKCiAgICAgICAgIHNlbGYubG9n Z2VyLmxvZygiTG9nZ2luZyBpbi4uLiIpCiAgICAgICAgIGVsZV91c3IgPSBzZWxmLmJyb3dzZXIu ZmluZF9lbGVtZW50X2J5X25hbWUoInVzZXJuYW1lIikKICAgICAgICAgZWxlX3B3ZCA9IHNlbGYu YnJvd3Nlci5maW5kX2VsZW1lbnRfYnlfbmFtZSgicGFzc3dvcmQiKQogICAgICAgICBlbGVfdXNy LnNlbmRfa2V5cyhzZWxmLnVzZXJuYW1lKQogICAgICAgICAKZWxlX3B3ZC5zZW5kX2tleXMoYmFz ZTY0LmI2NGRlY29kZShzZWxmLnBhc3N3b3JkKS5kZWNvZGUoJ3V0Zi04JykpCiAgICAgICAgIHNl bGYuYnJvd3Nlci5maW5kX2VsZW1lbnRfYnlfbmFtZSgiTG9naW4iKS5jbGljaygpCiAgICAgICAg IGlmIHNlbGYuZGVidWcgPiAxOgogICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAg ICAgc2VsZi5icm93c2VyLnNhdmVfc2NyZWVuc2hvdCgiZGVidWcyLnBuZyIpCgpUaGUgcHl0aG9u IHNjcmlwdCB3aWxsIHVzZSBiYXNlNjQgZGVjb2RpbmcgdG8gZGVjb2RlIHlvdXIgZW5jcnlwdGVk IApuby1pcCBhY2NvdW50IHBhc3N3b3JkIHdoZW4gaXQgdHJpZXMgdG8gbG9naW4gdG8gbm9pcC5j b20gcG9ydGFsLgoKV2hlbiB5b3UgcnVuIHRoZSBzZXR1cC5zaCBpbnN0YWxsZXIgc2NyaXB0LCBp dCB3aWxsIGFsc28gaW5zdGFsbC9jb3B5IAp0aGUgbm9pcC1yZW5ldy5zaCBzY3JpcHQgYXMgL3Vz ci9sb2NhbC9iaW4vbm9pcC1yZW5ldy0kVVNFUiBvciAKL3Vzci9sb2NhbC9iaW4vbm9pcC1yZW5l dy10ZW8tZW4tbWluZyBpbiBteSBjYXNlLiBUaGUgCi91c3IvbG9jYWwvYmluL25vaXAtcmVuZXct JFVTRVIgc2NyaXB0IGlzIHRoZSBzY3JpcHQgeW91IHNob3VsZCBub3JtYWxseSAKcnVuLgoKWW91 IHNob3VsZCB0aGVuIGluc3RhbGwgdGhlIGZvbGxvd2luZyBjcm9udGFiIChzY2hlZHVsZWQgdGFz aykgdXNpbmcgCmNyb250YWIgLWU6CgozMCAwICogKiAqIC91c3IvbG9jYWwvYmluL25vaXAtcmVu ZXctJFVTRVIgL3Zhci9sb2cvbm9pcC1yZW5ldy8kVVNFUgoKWW91IGNhbiB2ZXJpZnkgeW91ciBj cm9udGFiIChzY2hlZHVsZWQgdGFzaykgaXMgaW5zdGFsbGVkIGJ5IHJ1bm5pbmcKCiQgY3JvbnRh YiAtbAoKVGhlIHNjaGVkdWxlZCB0YXNrIHdpbGwgcnVuIGF0IDEyLjMwIEFNIGF0IG1pZG5pZ2h0 IGV2ZXJ5IGRheS4KCllvdSBzaG91bGQgYWxzbyBjaGVjayB0aGUgbG9ncyBhdCAvdmFyL2xvZy9u b2lwLXJlbmV3LyRVU0VSCgpUaGlzIGVzc2F5IGFsc28gc2VydmVzIGFzIGEgdHV0b3JpYWwgb24g aG93IHRvIHVzZSB0aGUgbm8taXAgZGRucyBmcmVlIApob3N0bmFtZSBhdXRvIHJlbmV3YWwvY29u ZmlybWF0aW9uIHNjcmlwdCBzaW5jZSB0aGVyZSBpcyBhIGxhY2sgb2YgCmRldGFpbGVkIGRvY3Vt ZW50YXRpb24uCgoKCgoKCgoKCgoKCi0tIAotLS0tLUJFR0lOIEVNQUlMIFNJR05BVFVSRS0tLS0t CgpUaGUgR29zcGVsIGZvciBhbGwgVGFyZ2V0ZWQgSW5kaXZpZHVhbHMgKFRJcyk6CgpbVGhlIE5l dyBZb3JrIFRpbWVzXSBNaWNyb3dhdmUgV2VhcG9ucyBBcmUgUHJpbWUgU3VzcGVjdCBpbiBJbGxz IG9mClUuUy4gRW1iYXNzeSBXb3JrZXJzCgpMaW5rOiAKaHR0cHM6Ly93d3cubnl0aW1lcy5jb20v MjAxOC8wOS8wMS9zY2llbmNlL3NvbmljLWF0dGFjay1jdWJhLW1pY3Jvd2F2ZS5odG1sCgoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKU2luZ2Fwb3JlYW4gTXIuIFR1cnJpdG9w c2lzIERvaHJuaWkgVGVvIEVuIE1pbmcncyBBY2FkZW1pYwpRdWFsaWZpY2F0aW9ucyBhcyBhdCAx NCBGZWIgMjAxOSBhbmQgcmVmdWdlZSBzZWVraW5nIGF0dGVtcHRzIGF0IHRoZSAKVW5pdGVkIE5h dGlvbnMgUmVmdWdlZSBBZ2VuY3kgQmFuZ2tvayAoMjEgTWFyIDIwMTcpLCBpbiBUYWl3YW4gKDUg QXVnIAoyMDE5KSBhbmQgQXVzdHJhbGlhICgyNSBEZWMgMjAxOSB0byA5IEphbiAyMDIwKToKClsx XSBodHRwczovL3RkdGVtY2VydHMud29yZHByZXNzLmNvbS8KClsyXSBodHRwczovL3RkdGVtY2Vy dHMuYmxvZ3Nwb3Quc2cvCgpbM10gaHR0cHM6Ly93d3cuc2NyaWJkLmNvbS91c2VyLzI3MDEyNTA0 OS9UZW8tRW4tTWluZwoKLS0tLS1FTkQgRU1BSUwgU0lHTkFUVVJFLS0tLS0KLS0gCmh0dHA6Ly9s aXN0cy5saW51eGZyb21zY3JhdGNoLm9yZy9saXN0aW5mby9sZnMtY2hhdApGQVE6IGh0dHA6Ly93 d3cubGludXhmcm9tc2NyYXRjaC5vcmcvYmxmcy9mYXEuaHRtbApVbnN1YnNjcmliZTogU2VlIHRo ZSBhYm92ZSBpbmZvcm1hdGlvbiBwYWdlCg==