128038|function.hash-hmac|100|1671657811|pbuttelli at tutanota dot com|V2hpbGUgaW1wbGVtZW50aW5nIGEgVE9UUCBhcHBsaWNhdGlvbiwgcGxlYXNlIG5vdGUgdGhhdCBoYXNoX2htYWMoKSBtdXN0IHJlY2VpdmUgZGF0YSBpbiBiaW5hcnksIG5vdCBpbiBhIGhleGFkZWNpbWFsIHN0cmluZywgdG8gZ2VuZXJhdGUgYSB2YWxpZCBPVFAgYWNyb3NzIHBsYXRmb3Jtcy4KClRoaXMgcHJvYmxlbSBjYW4gYmUgZWFzaWx5IGZpeGVkIGJ5IGNvbnZlcnRpbmcgYSBoZXhhZGVjaW1hbCBzdHJpbmcgdG8gaXRzIGJpbmFyeSBmb3JtIGJlZm9yZSBwYXNzaW5nIGl0IHRvIGhhc2hfaG1hYygpLgoKPD9waHAKJHRpbWUgPSBoZXgyYmluKCcwMDAwMDAwMDAzNTIzZjc3Jyk7IC8vIHRpbWUgbXVzdCBiZSBpbiB0aGlzICJoZXhhZGVjaW1hbCBhbmQgcGFkZGVkIiBmb3JtCiRrZXkgPSBoZXgyYmluKCdiYjU3ZDEuLi4nKTsgLy8gMTYwLWJpdHMgPSA0MC1kaWdpdCBoZXhhZGVjaW1hbCAoNCBiaXRzKSA9IDMyLWRpZ2l0IGJhc2UzMiAoNSBiaXRzKQoKaGFzaF9obWFjKCdzaGExJywgJHRpbWUsICRrZXkpOwo/Pg==|4|0 125905|function.hash-hmac|50|1615458731|Pawel M.|RnVuY3Rpb24gZm9yIHRob3NlLCB3aG8gcmVhbGx5IG5lZWQgdG8gdXNlIGNyYzMyIGFsZ29yaXRobSBpbiBQSFA+Ny4xCgo8P3BocAogICAgZnVuY3Rpb24gaGFzaF9obWFjX2NyYzMyKHN0cmluZyAka2V5LCBzdHJpbmcgJGRhdGEpOiBzdHJpbmcKICAgIHsKICAgICAgICAkYiA9IDQ7CiAgICAgICAgaWYgKHN0cmxlbigka2V5KSA+ICRiKSB7CiAgICAgICAgICAgICRrZXkgPSBwYWNrKCJIKiIsIGhhc2goJ2NyYzMyJywgJGtleSkpOwogICAgICAgIH0KICAgICAgICAka2V5ICA9IHN0cl9wYWQoJGtleSwgJGIsIGNocigweDAwKSk7CiAgICAgICAgJGlwYWQgPSBzdHJfcGFkKCcnLCAkYiwgY2hyKDB4MzYpKTsKICAgICAgICAkb3BhZCA9IHN0cl9wYWQoJycsICRiLCBjaHIoMHg1YykpOwogICAgICAgICRrX2lwYWQgPSAka2V5IF4gJGlwYWQ7CiAgICAgICAgJGtfb3BhZCA9ICRrZXkgXiAkb3BhZDsKICAgICAgICByZXR1cm4gaGFzaCgnY3JjMzInLCAka19vcGFkIC4gaGFzaCgnY3JjMzInLCAka19pcGFkIC4gJGRhdGEsIHRydWUpKTsKICAgIH0KPz4=|2|2 122657|function.hash-hmac|84|1524516406|Korbendallas|VmVyeSBpbXBvcnRhbnQgbm90aWNlLCBpZiB5b3UgcGFzcyBhcnJheSB0byAkZGF0YSwgcGhwIHdpbGwgZ2VuZXJhdGUgYSBXYXJuaW5nLCByZXR1cm4gYSBOVUxMIGFuZCBjb250aW51ZSB5b3VyIGFwcGxpY2F0aW9uLiBXaGljaCBJIHRoaW5rIGlzIGNyaXRpY2FsIHZ1bG5lcmFiaWxpdHkgYXMgdGhpcyBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGF1dGhvcmlzYXRpb24gdHlwaWNhbGx5LgoKRXhhbXBsZToKPD9waHAKdmFyX2R1bXAoaGFzaF9obWFjKCdzaGEyNTYnLCBbXSwgJ3NlY3JldCcpKTsKCldBUk5JTkcgaGFzaF9obWFjKCkgZXhwZWN0cyBwYXJhbWV0ZXIgMiB0byBiZSBzdHJpbmcsIGFycmF5IGdpdmVuIG9uIGxpbmUgbnVtYmVyIDMKTlVMTAo/PgpPZiBjb3Vyc2Ugbm90IGRvY3VtZW50ZWQgZmVhdHVyZS4=|147|28 121983|function.hash-hmac|24|1512518541|omidbahrami1990 at gmail dot com|VGhpcyBJcyBUaGUgTW9zdCBTZWN1cmUgV2F5IFRvIEhhc2ggWW91ciBEYXRhLApJdCBXaWxsIEJlIEFsbW9zdCBJbXBvc3NpYmxlIFRvIFJldHJpZXZlIFlvdXIgRGF0YS4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC0tLSBDcmVhdGUgVHdvIFJhbmRvbSBLZXlzIEFuZCBTYXZlIFRoZW0gSW4gWW91ciBDb25maWd1cmF0aW9uIEZpbGUgLS0tCjw/cGhwCi8vIENyZWF0ZSBBIFJhbmRvbSBLZXkKZWNobyBiYXNlNjRfZW5jb2RlKG9wZW5zc2xfcmFuZG9tX3BzZXVkb19ieXRlcyg2NCkpOwo/PgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo8P3BocAovLyBTYXZlIFRoZSBLZXlzIEluIFlvdXIgQ29uZmlndXJhdGlvbiBGaWxlCmRlZmluZSgnRklSU1RLRVknLCdUTllhemxiWjFNcTNIRE1pRUZETHJSTVpCZnRGcXBVMklweXRneXRzYytqbVF5c0U4bG1pZ0t0bUdLK2V4QjMzN1pPY0Fnd1BwV21vUEhMNW5pTzNqQT09Jyk7CmRlZmluZSgnU0VDT05ES0VZJywnejVoaC9LYXg0K0hLWjhleE9sdkdsckhldi82WnluT0VuOTA0eWlpSWNXby9xTFhXU2ZMa3ptNE5TSmlHWHU0dVI3eHhVb3dPa08yNlZxQWkycDJEWVE9PScpOwo/PgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo8P3BocApmdW5jdGlvbiBzZWN1cmVkX2hhc2goJGRhdGEpCnsJCQokZmlyc3Rfa2V5ID0gYmFzZTY0X2RlY29kZShGSVJTVEtFWSk7CiRzZWNvbmRfa2V5ID0gYmFzZTY0X2RlY29kZShTRUNPTkRLRVkpOwkKCQokZmlyc3RfaGFzaGVkID0gaGFzaF9obWFjKCdzaGEzLTUxMicsICRkYXRhLCAkZmlyc3Rfa2V5LCBUUlVFKTsJCiRzZWNvbmRfaGFzaGVkID0gaGFzaF9obWFjKCdzaGEzLTUxMicsICRmaXJzdF9oYXNoZWQsICRzZWNvbmRfa2V5KTsKCnJldHVybiAkc2Vjb25kX2hhc2hlZDsKfQo/Pg==|4|13 120040|function.hash-hmac|83|1476374078|Michiel Thalen, Thalent|QXMgIE1pY2hhZWwgIHVnZ2VzdHMgd2Ugc2hvdWxkIHRha2UgY2FyZSBub3QgdG8gY29tcGFyZSB0aGUgaGFzaCB1c2luZyA9PSAob3IgPT09KS4gU2luY2UgUEhQIHZlcnNpb24gNS42IHdlIGNhbiBub3cgdXNlIGhhc2hfZXF1YWxzKCkuCgpTbyB0aGUgZXhhbXBsZSB3aWxsIGJlOgoKPD9waHAKICAgIGlmIChoYXNoX2VxdWFscygkaGFzaGVkX2V4cGVjdGVkLCAkaGFzaGVkX3ZhbHVlKSApIHsKICAgICAgICBlY2hvICJoYXNoZXMgbWF0Y2ghIjsKICAgIH0KPz4=|82|17 119095|function.hash-hmac|35|1459448690|droidlabour at gmail dot com|Rm9yIHNpZ25pbmcgYW4gQW1hem9uIEFXUyBxdWVyeSwgYmFzZTY0LWVuY29kZSB0aGUgYmluYXJ5IHZhbHVlOgoKPD9waHAKZWNobyBiYXNlNjRfZW5jb2RlKGhhc2hfaG1hYygic2hhMSIsICRSZXF1ZXN0LCAkQW1hem9uU2VjcmV0S2V5LCB0cnVlKSk7Cj8+|7|13 111435|function.hash-hmac|76|1361307141|Michael|UGxlYXNlIGJlIGNhcmVmdWwgd2hlbiBjb21wYXJpbmcgaGFzaGVzLiBJbiBjZXJ0YWluIGNhc2VzLCBpbmZvcm1hdGlvbiBjYW4gYmUgbGVha2VkIGJ5IHVzaW5nIGEgdGltaW5nIGF0dGFjay4gSXQgdGFrZXMgYWR2YW50YWdlIG9mIHRoZSA9PSBvcGVyYXRvciBvbmx5IGNvbXBhcmluZyB1bnRpbCBpdCBmaW5kcyBhIGRpZmZlcmVuY2UgaW4gdGhlIHR3byBzdHJpbmdzLiBUbyBwcmV2ZW50IGl0LCB5b3UgaGF2ZSB0d28gb3B0aW9ucy4NCg0KT3B0aW9uIDE6IGhhc2ggYm90aCBoYXNoZWQgc3RyaW5ncyBmaXJzdCAtIHRoaXMgZG9lc24ndCBzdG9wIHRoZSB0aW1pbmcgZGlmZmVyZW5jZSwgYnV0IGl0IG1ha2VzIHRoZSBpbmZvcm1hdGlvbiB1c2VsZXNzLg0KDQo8P3BocA0KICAgIGlmIChtZDUoJGhhc2hlZF92YWx1ZSkgPT09IG1kNSgkaGFzaGVkX2V4cGVjdGVkKSkgew0KICAgICAgICBlY2hvICJoYXNoZXMgbWF0Y2ghIjsNCiAgICB9DQo/Pg0KDQpPcHRpb24gMjogYWx3YXlzIGNvbXBhcmUgdGhlIHdob2xlIHN0cmluZy4NCg0KPD9waHANCiAgICBpZiAoaGFzaF9jb21wYXJlKCRoYXNoZWRfdmFsdWUsICRoYXNoZWRfZXhwZWN0ZWQpKSB7DQogICAgICAgIGVjaG8gImhhc2hlcyBtYXRjaCEiOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGhhc2hfY29tcGFyZSgkYSwgJGIpIHsNCiAgICAgICAgaWYgKCFpc19zdHJpbmcoJGEpIHx8ICFpc19zdHJpbmcoJGIpKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICRsZW4gPSBzdHJsZW4oJGEpOw0KICAgICAgICBpZiAoJGxlbiAhPT0gc3RybGVuKCRiKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgJHN0YXR1cyA9IDA7DQogICAgICAgIGZvciAoJGkgPSAwOyAkaSA8ICRsZW47ICRpKyspIHsNCiAgICAgICAgICAgICRzdGF0dXMgfD0gb3JkKCRhWyRpXSkgXiBvcmQoJGJbJGldKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gJHN0YXR1cyA9PT0gMDsNCiAgICB9DQo/Pg==|124|40 110288|function.hash-hmac|59|1349705580|pete dot walker at NOSPAM dot me dot com|QSBmdW5jdGlvbiBpbXBsZW1lbnRpbmcgdGhlIGFsZ29yaXRobSBvdXRsaW5lZCBpbiBSRkMgNjIzOCAoaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjIzOCkKCjw/cGhwCi8qKgogKiBUaGlzIGZ1bmN0aW9uIGltcGxlbWVudHMgdGhlIGFsZ29yaXRobSBvdXRsaW5lZAogKiBpbiBSRkMgNjIzOCBmb3IgVGltZS1CYXNlZCBPbmUtVGltZSBQYXNzd29yZHMKICoKICogQGxpbmsgaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjIzOAogKiBAcGFyYW0gc3RyaW5nICRrZXkgICAgdGhlIHN0cmluZyB0byB1c2UgZm9yIHRoZSBITUFDIGtleQogKiBAcGFyYW0gbWl4ZWQgICR0aW1lICAgYSB2YWx1ZSB0aGF0IHJlZmxlY3RzIGEgdGltZSAodW5peAogKiAgICAgICAgICAgICAgICAgICAgICAgdGltZSBpbiB0aGUgZXhhbXBsZSkKICogQHBhcmFtIGludCAgICAkZGlnaXRzIHRoZSBkZXNpcmVkIGxlbmd0aCBvZiB0aGUgT1RQCiAqIEBwYXJhbSBzdHJpbmcgJGNyeXB0byB0aGUgZGVzaXJlZCBITUFDIGNyeXB0byBhbGdvcml0aG0KICogQHJldHVybiBzdHJpbmcgdGhlIGdlbmVyYXRlZCBPVFAKICovCmZ1bmN0aW9uIG9hdXRoX3RvdHAoJGtleSwgJHRpbWUsICRkaWdpdHM9OCwgJGNyeXB0bz0nc2hhMjU2JykKewogICAgJGRpZ2l0cyA9IGludHZhbCgkZGlnaXRzKTsKICAgICRyZXN1bHQgPSBudWxsOwogICAgCiAgICAvLyBDb252ZXJ0IGNvdW50ZXIgdG8gYmluYXJ5ICg2NC1iaXQpICAgICAgIAogICAgJGRhdGEgPSBwYWNrKCdOTkMqJywgJHRpbWUgPj4gMzIsICR0aW1lICYgMHhGRkZGRkZGRik7CiAgICAKICAgIC8vIFBhZCB0byA4IGNoYXJzIChpZiBuZWNlc3NhcnkpCiAgICBpZiAoc3RybGVuICgkZGF0YSkgPCA4KSB7CiAgICAgICAgJGRhdGEgPSBzdHJfcGFkKCRkYXRhLCA4LCBjaHIoMCksIFNUUl9QQURfTEVGVCk7CiAgICB9ICAgICAgICAKICAgIAogICAgLy8gR2V0IHRoZSBoYXNoCiAgICAkaGFzaCA9IGhhc2hfaG1hYygkY3J5cHRvLCAkZGF0YSwgJGtleSk7CiAgICAKICAgIC8vIEdyYWIgdGhlIG9mZnNldAogICAgJG9mZnNldCA9IDIgKiBoZXhkZWMoc3Vic3RyKCRoYXNoLCBzdHJsZW4oJGhhc2gpIC0gMSwgMSkpOwogICAgCiAgICAvLyBHcmFiIHRoZSBwb3J0aW9uIHdlJ3JlIGludGVyZXN0ZWQgaW4KICAgICRiaW5hcnkgPSBoZXhkZWMoc3Vic3RyKCRoYXNoLCAkb2Zmc2V0LCA4KSkgJiAweDdmZmZmZmZmOwogICAgCiAgICAvLyBNb2R1bHVzCiAgICAkcmVzdWx0ID0gJGJpbmFyeSAlIHBvdygxMCwgJGRpZ2l0cyk7CiAgICAKICAgIC8vIFBhZCAoaWYgbmVjZXNzYXJ5KQogICAgJHJlc3VsdCA9IHN0cl9wYWQoJHJlc3VsdCwgJGRpZ2l0cywgIjAiLCBTVFJfUEFEX0xFRlQpOwogICAgCiAgICByZXR1cm4gJHJlc3VsdDsKfQo/Pg==|16|11 109409|function.hash-hmac|38|1342270343|relevant at celsius dot ee|PD9waHAgCi8qIEhlcmUgaXMgYSBzb2x1dGlvbiBmb3IgdGhvc2Ugd2hvIHVzZWQgaGFzaF9obWFjIAogICB3aXRoIFRpZ2VyIGFsZ29yaXRobSBpbiBQSFAgNS4xIC0gNS4zCiAgIGFuZCB3YW50IHRvIHVwZ3JhZGUgdG8gUEhQIDUuNCAob3IgbmV3ZXI/KS4KICAgCiAgIFRoZSBwcm9ibGVtIG9jY3VyZWQgYmVjYXVzZSB0aGUgb3JkZXIgb2YgYnl0ZXMgZm9yIFRpZ2VyCiAgIHdhcyBjaGFuZ2VkIHRvIGJpZyBlbmRpYW4gc2luY2UgUEhQIDUuNC4wLgogICAKICAgVGhlIHR3byBmdW5jdGlvbnMgYmVsb3cgYXNzZXJ0ICRhbGdvIGlzIG9uZSBvZiBUaWdlciBhbGdvcml0aG1zLCAKICAgZm9yIGV4YW1wbGUgdGlnZXIxNjAsNC4KICAgKi8KICAgIAojIHJlcGxhY2VzIGhhc2goJ3RpZ2VyLi4uCmZ1bmN0aW9uIGhhc2hfdGlnZXJfcmV2KCRhbGdvLCAkZGF0YSwgJHJhd19vdXRwdXQgPSBmYWxzZSkgewogICAgJGxlbiA9IGludHZhbChzdWJzdHIoJGFsZ28sIDUsIDMpKTsgIyAxMjgsIDE2MCBvciAxOTIgYml0cwogICAgJHRpbWVzID0gc3Vic3RyKCRhbGdvLCA5LCAxKTsgIyAzIG9yIDQKICAgICRyZXZoYXNoID0gaW1wbG9kZSgiIiwgYXJyYXlfbWFwKCJzdHJyZXYiLCAKICAgICAgICBzdHJfc3BsaXQoaGFzaCgndGlnZXIxOTIsJy4kdGltZXMsICRkYXRhLCB0cnVlKSwgOCkpKTsKICAgIGlmICgkbGVuIDwgMTkyKSAkcmV2aGFzaCA9IHN1YnN0cigkcmV2aGFzaCwgMCwgJGxlbiA+PiAzKTsKICAgIHJldHVybiAkcmF3X291dHB1dD8gJHJldmhhc2g6IGJpbjJoZXgoJHJldmhhc2gpOwp9CgojIHJlcGxhY2VzIGhhc2hfaG1hYygndGlnZXIuLi4KZnVuY3Rpb24gaGFzaF9obWFjX3RpZ2VyX3JldigkYWxnbywgJGRhdGEsICRrZXksICRyYXdfb3V0cHV0ID0gZmFsc2UpIHsKICAgIGlmIChzdHJsZW4oJGtleSkgPiA2NCkgJGtleSA9IGhhc2hfdGlnZXJfcmV2KCRhbGdvLCAka2V5KTsKICAgICRrZXkgPSBzdHJfcGFkKCRrZXksIDY0LCBjaHIoMCkpOwogICAgJG9fcGFkID0gc3RyX3JlcGVhdCgiXFwiLCA2NCkgXiAka2V5OyAjICJcIiA9IGNocigweDVDKQogICAgJGlfcGFkID0gc3RyX3JlcGVhdCgiNiIsIDY0KSBeICRrZXk7ICMgIjYiID0gY2hyKDB4MzYpCiAgICByZXR1cm4gaGFzaF90aWdlcl9yZXYoJGFsZ28sICRvX3BhZCAuIAogICAgICAgICAgIGhhc2hfdGlnZXJfcmV2KCRhbGdvLCAkaV9wYWQgLiAkZGF0YSwgdHJ1ZSksICRyYXdfb3V0cHV0KTsKfQoKIyBhbHdheXMgdGhlIG5ldyB2ZXJzaW9uIG9mIHRpZ2VyCmZ1bmN0aW9uIGhhc2hfaG1hY19uZXcoJGFsZ28sICRkYXRhLCAka2V5LCAkcmF3X291dHB1dCA9IGZhbHNlKSB7CiAgICBpZiAocGhwdmVyc2lvbigpID4gJzUuNCcgfHwgIXByZWdfbWF0Y2goJy9edGlnZXIoMTI4fDE2MHwxOTIpLCgzfDQpJC8nLCAkYWxnbykpIAogICAgICAgIHJldHVybiBoYXNoX2htYWMoJGFsZ28sICRkYXRhLCAka2V5LCAkcmF3X291dHB1dCk7CiAgICBlbHNlCiAgICAgICAgcmV0dXJuIGhhc2hfaG1hY190aWdlcl9yZXYoJGFsZ28sICRkYXRhLCAka2V5LCAkcmF3X291dHB1dCk7Cn0KCiMgYWx3YXlzIHRoZSBvbGQgdmVyc2lvbiBvZiB0aWdlcgpmdW5jdGlvbiBoYXNoX2htYWNfb2xkKCRhbGdvLCAkZGF0YSwgJGtleSwgJHJhd19vdXRwdXQgPSBmYWxzZSkgewogICAgaWYgKHBocHZlcnNpb24oKSA8ICc1LjQnIHx8ICFwcmVnX21hdGNoKCcvXnRpZ2VyKDEyOHwxNjB8MTkyKSwoM3w0KSQvJywgJGFsZ28pKSAKICAgICAgICByZXR1cm4gaGFzaF9obWFjKCRhbGdvLCAkZGF0YSwgJGtleSwgJHJhd19vdXRwdXQpOwogICAgZWxzZQogICAgICAgIHJldHVybiBoYXNoX2htYWNfdGlnZXJfcmV2KCRhbGdvLCAkZGF0YSwgJGtleSwgJHJhd19vdXRwdXQpOwp9CgojIGxldCdzIHRlc3QgaXQKJGFsZ28gPSAndGlnZXIxNjAsNCc7ICRwd2QgPSAnZm9vJzsgJGtleSA9ICdiYXInOwplY2hvIGhhc2hfaG1hYygkYWxnbywgJHB3ZCwgJGtleSksICI8YnI+IjsKZWNobyBoYXNoX2htYWNfdGlnZXJfcmV2KCRhbGdvLCAkcHdkLCAka2V5KSwgIjxicj4iOyAKZWNobyAiPGJyPiI7CmVjaG8gaGFzaF9obWFjX29sZCgkYWxnbywgJHB3ZCwgJGtleSksICI8YnI+IjsKZWNobyBoYXNoX2htYWNfbmV3KCRhbGdvLCAkcHdkLCAka2V5KSwgIjxicj4iOwoKLyogV2l0aCBQSFAgNS40IG91dHB1dCB3b3VsZCBiZSAKICAgNTkwNTQ2ZDlmNDI1MTg4ZGEzNWU1ZGZhNTMzMDZiYTM5NTM1NzFjYwogICBiZDY2NjQzMzBlZDk2YjliMzllZTA2MzI0MWI2MmU0M2Y1NDZhNDlkCgogICBiZDY2NjQzMzBlZDk2YjliMzllZTA2MzI0MWI2MmU0M2Y1NDZhNDlkCiAgIDU5MDU0NmQ5ZjQyNTE4OGRhMzVlNWRmYTUzMzA2YmEzOTUzNTcxY2MgICAKICAgIAogICBXaXRoIFBIUCA1LjMgCiAgIGJkNjY2NDMzMGVkOTZiOWIzOWVlMDYzMjQxYjYyZTQzZjU0NmE0OWQKICAgNTkwNTQ2ZDlmNDI1MTg4ZGEzNWU1ZGZhNTMzMDZiYTM5NTM1NzFjYwogICAKICAgYmQ2NjY0MzMwZWQ5NmI5YjM5ZWUwNjMyNDFiNjJlNDNmNTQ2YTQ5ZAogICA1OTA1NDZkOWY0MjUxODhkYTM1ZTVkZmE1MzMwNmJhMzk1MzU3MWNjICAgCiovCgo/Pg==|6|10 109260|function.hash-hmac|53|1341073800|havoc at NOSPAM defuse dot ca|SGVyZSBpcyBhbiBlZmZpY2llbnQgUEJES0YyIGltcGxlbWVudGF0aW9uOgoKPD9waHAKLyoKICogUEJLREYyIGtleSBkZXJpdmF0aW9uIGZ1bmN0aW9uIGFzIGRlZmluZWQgYnkgUlNBJ3MgUEtDUyAjNTogaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzI4OTgudHh0CiAqICRhbGdvcml0aG0gLSBUaGUgaGFzaCBhbGdvcml0aG0gdG8gdXNlLiBSZWNvbW1lbmRlZDogU0hBMjU2CiAqICRwYXNzd29yZCAtIFRoZSBwYXNzd29yZC4KICogJHNhbHQgLSBBIHNhbHQgdGhhdCBpcyB1bmlxdWUgdG8gdGhlIHBhc3N3b3JkLgogKiAkY291bnQgLSBJdGVyYXRpb24gY291bnQuIEhpZ2hlciBpcyBiZXR0ZXIsIGJ1dCBzbG93ZXIuIFJlY29tbWVuZGVkOiBBdCBsZWFzdCAxMDI0LgogKiAka2V5X2xlbmd0aCAtIFRoZSBsZW5ndGggb2YgdGhlIGRlcml2ZWQga2V5IGluIGJ5dGVzLgogKiAkcmF3X291dHB1dCAtIElmIHRydWUsIHRoZSBrZXkgaXMgcmV0dXJuZWQgaW4gcmF3IGJpbmFyeSBmb3JtYXQuIEhleCBlbmNvZGVkIG90aGVyd2lzZS4KICogUmV0dXJuczogQSAka2V5X2xlbmd0aC1ieXRlIGtleSBkZXJpdmVkIGZyb20gdGhlIHBhc3N3b3JkIGFuZCBzYWx0LgogKgogKiBUZXN0IHZlY3RvcnMgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmM2MDcwLnR4dAogKgogKiBUaGlzIGltcGxlbWVudGF0aW9uIG9mIFBCS0RGMiB3YXMgb3JpZ2luYWxseSBjcmVhdGVkIGJ5IGRlZnVzZS5jYQogKiBXaXRoIGltcHJvdmVtZW50cyBieSB2YXJpYXRpb25zLW9mLXNoYWRvdy5jb20KICovCmZ1bmN0aW9uIHBia2RmMigkYWxnb3JpdGhtLCAkcGFzc3dvcmQsICRzYWx0LCAkY291bnQsICRrZXlfbGVuZ3RoLCAkcmF3X291dHB1dCA9IGZhbHNlKQp7CiAgICAkYWxnb3JpdGhtID0gc3RydG9sb3dlcigkYWxnb3JpdGhtKTsKICAgIGlmKCFpbl9hcnJheSgkYWxnb3JpdGhtLCBoYXNoX2FsZ29zKCksIHRydWUpKQogICAgICAgIGRpZSgnUEJLREYyIEVSUk9SOiBJbnZhbGlkIGhhc2ggYWxnb3JpdGhtLicpOwogICAgaWYoJGNvdW50IDw9IDAgfHwgJGtleV9sZW5ndGggPD0gMCkKICAgICAgICBkaWUoJ1BCS0RGMiBFUlJPUjogSW52YWxpZCBwYXJhbWV0ZXJzLicpOwoKICAgICRoYXNoX2xlbmd0aCA9IHN0cmxlbihoYXNoKCRhbGdvcml0aG0sICIiLCB0cnVlKSk7CiAgICAkYmxvY2tfY291bnQgPSBjZWlsKCRrZXlfbGVuZ3RoIC8gJGhhc2hfbGVuZ3RoKTsKCiAgICAkb3V0cHV0ID0gIiI7CiAgICBmb3IoJGkgPSAxOyAkaSA8PSAkYmxvY2tfY291bnQ7ICRpKyspIHsKICAgICAgICAvLyAkaSBlbmNvZGVkIGFzIDQgYnl0ZXMsIGJpZyBlbmRpYW4uCiAgICAgICAgJGxhc3QgPSAkc2FsdCAuIHBhY2soIk4iLCAkaSk7CiAgICAgICAgLy8gZmlyc3QgaXRlcmF0aW9uCiAgICAgICAgJGxhc3QgPSAkeG9yc3VtID0gaGFzaF9obWFjKCRhbGdvcml0aG0sICRsYXN0LCAkcGFzc3dvcmQsIHRydWUpOwogICAgICAgIC8vIHBlcmZvcm0gdGhlIG90aGVyICRjb3VudCAtIDEgaXRlcmF0aW9ucwogICAgICAgIGZvciAoJGogPSAxOyAkaiA8ICRjb3VudDsgJGorKykgewogICAgICAgICAgICAkeG9yc3VtIF49ICgkbGFzdCA9IGhhc2hfaG1hYygkYWxnb3JpdGhtLCAkbGFzdCwgJHBhc3N3b3JkLCB0cnVlKSk7CiAgICAgICAgfQogICAgICAgICRvdXRwdXQgLj0gJHhvcnN1bTsKICAgIH0KCiAgICBpZigkcmF3X291dHB1dCkKICAgICAgICByZXR1cm4gc3Vic3RyKCRvdXRwdXQsIDAsICRrZXlfbGVuZ3RoKTsKICAgIGVsc2UKICAgICAgICByZXR1cm4gYmluMmhleChzdWJzdHIoJG91dHB1dCwgMCwgJGtleV9sZW5ndGgpKTsKfQo/Pg==|23|20 108978|function.hash-hmac|19|1339227538|martin dot papik at ipsec dot info|WWV0IGFub3RoZXIgT0FUSCBIT1RQIGZ1bmN0aW9uLiBIYXMgYSA2NCBiaXQgY291bnRlciBhbmQgaXMgYSBsb3Qgc2hvcnRlci4gRW5qb3kuCgo8P3BocAoKZnVuY3Rpb24gb2F0aF9ob3RwICgkc2VjcmV0LCAkY3RyLCAkbGVuPTYpIHsKICAgICAgICAkYmluY3RyID0gcGFjayAoJ05OQyonLCAkY3RyPj4zMiwgJGN0ciAmIDB4RkZGRkZGRkYpOwogICAgICAgICRoYXNoID0gaGFzaF9obWFjICgic2hhMSIsICRiaW5jdHIsICRzZWNyZXQpOwovLyBUaGlzIGlzIHdoZXJlIGhhc2hpbmcgc3RvcHMgYW5kIHRydW5jYXRpb24gYmVnaW5zCiAgICAgICAgJG9mcyA9IDIqaGV4ZGVjIChzdWJzdHIgKCRoYXNoLCAzOSwgMSkpOwogICAgICAgICRpbnQgPSBoZXhkZWMgKHN1YnN0ciAoJGhhc2gsICRvZnMsIDgpKSAmIDB4N0ZGRkZGRkY7CiAgICAgICAgJHBpbiA9IHN1YnN0ciAoJGludCwgLSRsZW4pOwogICAgICAgICRwaW4gPSBzdHJfcGFkICgkcGluLCAkbGVuLCAiMCIsIFNUUl9QQURfTEVGVCk7CiAgICAgICAgcmV0dXJuICRwaW47Cn0KCj8+|3|13 105099|function.hash-hmac|48|1311762247|josefkoh at hotmail dot com|U2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIGhtYWMgc2hhMQoKPD9waHAKCmZ1bmN0aW9uIGhtYWNfc2hhMSgka2V5LCAkZGF0YSkKewogICAgLy8gQWRqdXN0IGtleSB0byBleGFjdGx5IDY0IGJ5dGVzCiAgICBpZiAoc3RybGVuKCRrZXkpID4gNjQpIHsKICAgICAgICAka2V5ID0gc3RyX3BhZChzaGExKCRrZXksIHRydWUpLCA2NCwgY2hyKDApKTsKICAgIH0KICAgIGlmIChzdHJsZW4oJGtleSkgPCA2NCkgewogICAgICAgICRrZXkgPSBzdHJfcGFkKCRrZXksIDY0LCBjaHIoMCkpOwogICAgfQoKICAgIC8vIE91dHRlciBhbmQgSW5uZXIgcGFkCiAgICAkb3BhZCA9IHN0cl9yZXBlYXQoY2hyKDB4NUMpLCA2NCk7CiAgICAkaXBhZCA9IHN0cl9yZXBlYXQoY2hyKDB4MzYpLCA2NCk7CgogICAgLy8gWG9yIGtleSB3aXRoIG9wYWQgJiBpcGFkCiAgICBmb3IgKCRpID0gMDsgJGkgPCBzdHJsZW4oJGtleSk7ICRpKyspIHsKICAgICAgICAkb3BhZFskaV0gPSAkb3BhZFskaV0gXiAka2V5WyRpXTsKICAgICAgICAkaXBhZFskaV0gPSAkaXBhZFskaV0gXiAka2V5WyRpXTsKICAgIH0KCiAgICByZXR1cm4gc2hhMSgkb3BhZC5zaGExKCRpcGFkLiRkYXRhLCB0cnVlKSk7Cn0=|12|13 101540|function.hash-hmac|48|1293075888|Peter Terence Roux|VGhlIEltcGxlbWVudGF0aW9uIG9mIHRoZSBQQktERjIga2V5IGRlcml2YXRpb24gZnVuY3Rpb24gYXMgZGVzY3JpYmVkIGluIFJGQyAyODk4IGNhbiBiZSB1c2VkIHRvIG5vdCBvbmx5IGdldCB0aGUgaGFzaGVkIEtFWSBidXQgYWxzbyBhIHNwZWNpZmljIElWLg0KDQpUbyB1c2UsIG9uZSB3b3VsZCB1c2UgaXQgYXMgZm9sbG93czotDQoNCjw/cGhwDQogICRwID0gc3RyX2hhc2hfcGJrZGYyKCRwdywgJHNhbHQsIDEwLCAzMiwgJ3NoYTEnKTsNCiAgJHAgPSBiYXNlNjRfZW5jb2RlKCRwKTsNCg0KICAkaXYgPSBzdHJfaGFzaF9wYmtkZjIoJHB3LCAkc2FsdCwgMTAsIDE2LCAnc2hhMScsIDMyKTsNCiAgJGl2ID0gYmFzZTY0X2VuY29kZSgkaXYpOw0KPz4NCg0KVGhlIGZ1bmN0aW9uIHNob3VsZCBiZTotDQoNCjw/cGhwDQogIC8vIFBCS0RGMiBJbXBsZW1lbnRhdGlvbiAoZGVzY3JpYmVkIGluIFJGQyAyODk4KQ0KICAvLw0KICAvLyBAcGFyYW0gICBzdHJpbmcgIHAgICBwYXNzd29yZA0KICAvLyBAcGFyYW0gICBzdHJpbmcgIHMgICBzYWx0DQogIC8vIEBwYXJhbSAgIGludCAgICAgYyAgIGl0ZXJhdGlvbiBjb3VudCAodXNlIDEwMDAgb3IgaGlnaGVyKQ0KICAvLyBAcGFyYW0gICBpbnQgICAgIGtsICBkZXJpdmVkIGtleSBsZW5ndGgNCiAgLy8gQHBhcmFtICAgc3RyaW5nICBhICAgaGFzaCBhbGdvcml0aG0NCiAgLy8gQHBhcmFtICAgaW50ICAgICBzdCAgc3RhcnQgcG9zaXRpb24gb2YgcmVzdWx0DQogIC8vDQogIC8vIEByZXR1cm4gIHN0cmluZyAgZGVyaXZlZCBrZXkNCiAgZnVuY3Rpb24gc3RyX2hhc2hfcGJrZGYyKCRwLCAkcywgJGMsICRrbCwgJGEgPSAnc2hhMjU2JywgJHN0PTApDQogIHsNCiAgICAka2IgPSAkc3RhcnQrJGtsOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEtleSBibG9ja3MgdG8gY29tcHV0ZQ0KICAgICRkayA9ICcnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlcml2ZWQga2V5DQoNCiAgICAvLyBDcmVhdGUga2V5DQogICAgZm9yICgkYmxvY2s9MTsgJGJsb2NrPD0ka2I7ICRibG9jaysrKQ0KICAgIHsNCiAgICAgIC8vIEluaXRpYWwgaGFzaCBmb3IgdGhpcyBibG9jaw0KICAgICAgJGliID0gJGggPSBoYXNoX2htYWMoJGEsICRzIC4gcGFjaygnTicsICRibG9jayksICRwLCB0cnVlKTsNCg0KICAgICAgLy8gUGVyZm9ybSBibG9jayBpdGVyYXRpb25zDQogICAgICBmb3IgKCRpPTE7ICRpPCRjOyAkaSsrKQ0KICAgICAgew0KICAgICAgICAvLyBYT1IgZWFjaCBpdGVyYXRlDQogICAgICAgICRpYiBePSAoJGggPSBoYXNoX2htYWMoJGEsICRoLCAkcCwgdHJ1ZSkpOw0KICAgICAgfQ0KDQogICAgICAkZGsgLj0gJGliOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXBwZW5kIGl0ZXJhdGVkIGJsb2NrDQogICAgfQ0KDQogICAgLy8gUmV0dXJuIGRlcml2ZWQga2V5IG9mIGNvcnJlY3QgbGVuZ3RoDQogICAgcmV0dXJuIHN1YnN0cigkZGssICRzdGFydCwgJGtsKTsNCiAgfQ0KPz4=|13|14 100351|function.hash-hmac|53|1286704112|Siann Beck|Rm9yIHNpZ25pbmcgYW4gQW1hem9uIEFXUyBxdWVyeSwgYmFzZTY0LWVuY29kZSB0aGUgYmluYXJ5IHZhbHVlOgoKPD9waHAKICAkU2lnID0gYmFzZTY0X2VuY29kZShoYXNoX2htYWMoJ3NoYTI1NicsICRSZXF1ZXN0LCAkQW1hem9uU2VjcmV0S2V5LCB0cnVlKSk7Cj8+|54|48 93440|function.hash-hmac|61|1252538190|KC Cloyd|U29tZXRpbWVzIGEgaG9zdGluZyBwcm92aWRlciBkb2Vzbid0IHByb3ZpZGUgYWNjZXNzIHRvIHRoZSBIYXNoIGV4dGVuc2lvbi4gSGVyZSBpcyBhIGNsb25lIG9mIHRoZSBoYXNoX2htYWMgZnVuY3Rpb24geW91IGNhbiB1c2UgaW4gdGhlIGV2ZW50IHlvdSBuZWVkIGFuIEhNQUMgZ2VuZXJhdG9yIGFuZCBIYXNoIGlzIG5vdCBhdmFpbGFibGUuIEl0J3Mgb25seSB1c2FibGUgd2l0aCBNRDUgYW5kIFNIQTEgZW5jcnlwdGlvbiBhbGdvcml0aG1zLCBidXQgaXRzIG91dHB1dCBpcyBpZGVudGljYWwgdG8gdGhlIG9mZmljaWFsIGhhc2hfaG1hYyBmdW5jdGlvbiAoc28gZmFyIGF0IGxlYXN0KS4KCjw/cGhwCgpmdW5jdGlvbiBjdXN0b21faG1hYygkYWxnbywgJGRhdGEsICRrZXksICRyYXdfb3V0cHV0ID0gZmFsc2UpCnsKICAgICRhbGdvID0gc3RydG9sb3dlcigkYWxnbyk7CiAgICAkcGFjayA9ICdIJy5zdHJsZW4oJGFsZ28oJ3Rlc3QnKSk7CiAgICAkc2l6ZSA9IDY0OwogICAgJG9wYWQgPSBzdHJfcmVwZWF0KGNocigweDVDKSwgJHNpemUpOwogICAgJGlwYWQgPSBzdHJfcmVwZWF0KGNocigweDM2KSwgJHNpemUpOwoKICAgIGlmIChzdHJsZW4oJGtleSkgPiAkc2l6ZSkgewogICAgICAgICRrZXkgPSBzdHJfcGFkKHBhY2soJHBhY2ssICRhbGdvKCRrZXkpKSwgJHNpemUsIGNocigweDAwKSk7CiAgICB9IGVsc2UgewogICAgICAgICRrZXkgPSBzdHJfcGFkKCRrZXksICRzaXplLCBjaHIoMHgwMCkpOwogICAgfQoKICAgIGZvciAoJGkgPSAwOyAkaSA8IHN0cmxlbigka2V5KSAtIDE7ICRpKyspIHsKICAgICAgICAkb3BhZFskaV0gPSAkb3BhZFskaV0gXiAka2V5WyRpXTsKICAgICAgICAkaXBhZFskaV0gPSAkaXBhZFskaV0gXiAka2V5WyRpXTsKICAgIH0KCiAgICAkb3V0cHV0ID0gJGFsZ28oJG9wYWQucGFjaygkcGFjaywgJGFsZ28oJGlwYWQuJGRhdGEpKSk7CgogICAgcmV0dXJuICgkcmF3X291dHB1dCkgPyBwYWNrKCRwYWNrLCAkb3V0cHV0KSA6ICRvdXRwdXQ7Cn0KCj8+CgpFeGFtcGxlIFVzZToKCjw/cGhwCgpjdXN0b21faG1hYygnc2hhMScsICdIZWxsbywgd29ybGQhJywgJ3NlY3JldCcsIHRydWUpOwoKPz4=|22|14 91031|function.hash-hmac|35|1242893876|brent at thebrent dot net|VGhlIGhvdHAgYWxnb3JpdGhtcyBhYm92ZSB3b3JrIHdpdGggY291bnRlciB2YWx1ZXMgbGVzcyB0aGFuIDI1NiwgYnV0IHNpbmNlIHRoZSBjb3VudGVyIGNhbiBiZSBsYXJnZXIsIGl0J3MgbmVjZXNzYXJ5IHRvIGl0ZXJhdGUgdGhyb3VnaCBhbGwgdGhlIGJ5dGVzIG9mIHRoZSBjb3VudGVyOgoKPD9waHAKZnVuY3Rpb24gb2F0aF9ob3RwICgka2V5LCAkY291bnRlcikKewoJLy8gQ291bnRlcgoJLy90aGUgY291bnRlciB2YWx1ZSBjYW4gYmUgbW9yZSB0aGFuIG9uZSBieXRlIGxvbmcsIHNvIHdlIG5lZWQgdG8gZ28gbXVsdGlwbGUgdGltZXMKCSRjdXJfY291bnRlciA9IGFycmF5KDAsMCwwLDAsMCwwLDAsMCk7Cglmb3IoJGk9NzskaT49MDskaS0tKQoJewoJCSRjdXJfY291bnRlclskaV0gPSBwYWNrICgnQyonLCAkY291bnRlcik7CgkJJGNvdW50ZXIgPSAkY291bnRlciA+PiA4OwoJfQoJJGJpbl9jb3VudGVyID0gaW1wbG9kZSgkY3VyX2NvdW50ZXIpOwoJLy8gUGFkIHRvIDggY2hhcnMKCWlmIChzdHJsZW4gKCRiaW5fY291bnRlcikgPCA4KQoJewoJCSRiaW5fY291bnRlciA9IHN0cl9yZXBlYXQgKGNocigwKSwgOCAtIHN0cmxlbiAoJGJpbl9jb3VudGVyKSkgLiAkYmluX2NvdW50ZXI7Cgl9CgoJLy8gSE1BQwoJJGhhc2ggPSBoYXNoX2htYWMgKCdzaGExJywgJGJpbl9jb3VudGVyLCAka2V5KTsKCXJldHVybiAkaGFzaDsKfQoKZnVuY3Rpb24gb2F0aF90cnVuY2F0ZSgkaGFzaCwgJGxlbmd0aCA9IDYpCnsKCS8vIENvbnZlcnQgdG8gZGVjCglmb3JlYWNoKHN0cl9zcGxpdCgkaGFzaCwyKSBhcyAkaGV4KQoJewoJCSRobWFjX3Jlc3VsdFtdPWhleGRlYygkaGV4KTsKCX0KCgkvLyBGaW5kIG9mZnNldAoJJG9mZnNldCA9ICRobWFjX3Jlc3VsdFsxOV0gJiAweGY7CgoJLy8gQWxnb3JpdGhtIGZyb20gUkZDCglyZXR1cm4KCSgKCQkoKCRobWFjX3Jlc3VsdFskb2Zmc2V0KzBdICYgMHg3ZikgPDwgMjQgKSB8CgkJKCgkaG1hY19yZXN1bHRbJG9mZnNldCsxXSAmIDB4ZmYpIDw8IDE2ICkgfAoJCSgoJGhtYWNfcmVzdWx0WyRvZmZzZXQrMl0gJiAweGZmKSA8PCA4ICkgfAoJCSgkaG1hY19yZXN1bHRbJG9mZnNldCszXSAmIDB4ZmYpCgkpICUgcG93KDEwLCRsZW5ndGgpOwp9CnByaW50ICI8cHJlPiI7CnByaW50ICJDb21wYXJlIHJlc3VsdHMgd2l0aDoiOwpwcmludCAiIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LW1yYWloaS1vYXRoLWhtYWMtb3RwLTA0XG4iOwpwcmludCAiQ291bnRcdEhhc2hcdFx0XHRcdFx0XHRQaW5cbiI7CmZvcigkaT0wOyRpPD0xMDI0OyRpPSRpKzEyOCkKewogICBwcmludCAkaS4iXHQiLigkYT1vYXRoX2hvdHAoIjEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwkaSkpOwogICBwcmludCAiXHQiLm9hdGhfdHJ1bmNhdGUoJGEpLiJcbiI7Cn0KPz4=|6|11 89769|function.hash-hmac|15|1237722043|torben dot egmose at gmail dot com|SE9UUCBBbGdvcml0aG0gdGhhdCB3b3JrcyBhY2NvcmRpbmcgdG8gdGhlIFJDRiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1tcmFpaGktb2F0aC1obWFjLW90cC0wNApUaGUgdGVzdCBjYXNlcyBmcm9tIHRoZSBSQ0YgZG9jdW1lbnQgdGhlIEFTQ0lJIHN0cmluZyBhcyAiMTIzNDU2Nzg3OTAxMjM0NTY3ODkwIi4KQnV0IHRoZSBoZXggZGVjb2RlZCB0byBhIHN0cmluZyBpcyAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLgpTZWNyZXQ9IjEyMzQ1Njc4OTAxMjM0NTY3ODkwIjsKQ291bnQ6CjAgNzU1MjI0CjEgMjg3MDgyCjw/cGhwCmZ1bmN0aW9uIG9hdGhfaG90cCgka2V5LCRjb3VudGVyKSB7CgogICAvLyBDb252ZXJ0IHRvIHBhZGRlZCBiaW5hcnkgc3RyaW5nCiAgICRkYXRhID0gcGFjayAoJ0MqJywgJGNvdW50ZXIpOwogICAkZGF0YSA9IHN0cl9wYWQoJGRhdGEsOCxjaHIoMCksU1RSX1BBRF9MRUZUKTsKCiAgIC8vIEhNQUMKICAgcmV0dXJuIGhhc2hfaG1hYygnc2hhMScsJGRhdGEsJGtleSk7Cn0KCmZ1bmN0aW9uIG9hdGhfdHJ1bmNhdGUoJGhhc2gsICRsZW5ndGggPSA2KSB7CgogICAvLyBDb252ZXJ0IHRvIGRlYwogICBmb3JlYWNoKHN0cl9zcGxpdCgkaGFzaCwyKSBhcyAkaGV4KSB7CiAgICAgICRobWFjX3Jlc3VsdFtdPWhleGRlYygkaGV4KTsKICAgfQoKICAgLy8gRmluZCBvZmZzZXQKICAgJG9mZnNldCA9ICRobWFjX3Jlc3VsdFsxOV0gJiAweGY7CgogICAvLyBBbGdvcml0aG0gZnJvbSBSRkMKICAgcmV0dXJuICgKICAgICAgICAgKCgkaG1hY19yZXN1bHRbJG9mZnNldCswXSAmIDB4N2YpIDw8IDI0ICkgfAogICAgICAgICAoKCRobWFjX3Jlc3VsdFskb2Zmc2V0KzFdICYgMHhmZikgPDwgMTYgKSB8CiAgICAgICAgICgoJGhtYWNfcmVzdWx0WyRvZmZzZXQrMl0gJiAweGZmKSA8PCA4ICkgfAogICAgICAgICAoJGhtYWNfcmVzdWx0WyRvZmZzZXQrM10gJiAweGZmKQogICAgICAgICApICUgcG93KDEwLCRsZW5ndGgpOwp9CgpwcmludCAiPHByZT4iOwpwcmludCAiQ29tcGFyZSByZXN1bHRzIHdpdGg6IgpwcmludCAiIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LW1yYWloaS1vYXRoLWhtYWMtb3RwLTA0XG4iOwpwcmludCAiQ291bnRcdEhhc2hcdFx0XHRcdFx0XHRQaW5cbiI7CmZvcigkaT0wOyRpPDEwOyRpKyspCiAgIHByaW50ICRpLiJcdCIuKCRhPW9hdGhfaG90cCgiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLCRpKSkKICAgcHJpbnQgIlx0Ii5vYXRoX3RydW5jYXRlKCRhKS4iXG4iOw==|2|11 84223|function.hash-hmac|25|1215100492|Carlos Averett(caverett*@*corecodec,net)|R2VuZXJhdGluZyBPQVRILWNvbXBsaWFudCBPVFAgKG9uZSB0aW1lIHBhc3N3b3JkcykgcmVzdWx0cyBpbiBQSFA6Cgo8P3BocAokb3RwID0gb2F0aF90cnVuY2F0ZSAob2F0aF9ob3RwICgka2V5LCAkY291bnRlciksICRsZW5ndGgpOwpmdW5jdGlvbiBvYXRoX2hvdHAgKCRrZXksICRjb3VudGVyKSB7CiAgICAgICAgLy8gQ291bnRlcgogICAgICAgICRiaW5fY291bnRlciA9IHBhY2sgKCdDKicsICRjb3VudGVyKTsKCiAgICAgICAgLy8gUGFkIHRvIDggY2hhcnMKICAgICAgICBpZiAoc3RybGVuICgkYmluX2NvdW50ZXIpIDwgOCkgewogICAgICAgICAgICAgICAgJGJpbl9jb3VudGVyID0gc3RyX3JlcGVhdCAoY2hyKDApLCA4IC0gc3RybGVuICgkYmluX2NvdW50ZXIpKSAuICRiaW5fY291bnRlcjsKICAgICAgICB9CgogICAgICAgIC8vIEhNQUMKICAgICAgICAkaGFzaCA9IGhhc2hfaG1hYyAoJ3NoYTEnLCAkYmluX2NvdW50ZXIsICRrZXkpOwogICAgICAgIHJldHVybiAkaGFzaDsKfQoKZnVuY3Rpb24gb2F0aF90cnVuY2F0ZSAoJGhhc2gsICRsZW5ndGggPSA2KSB7CiAgICAgICAgLy8gVGhlIGxhc3QgYnl0ZSBpcyB1c2VkIGFzIGFuIG9mZnNldAogICAgICAgICRvZmZzZXQgPSBoZXhkZWMgKHN1YnN0ciAoJGhhc2gsIDM4KSkgJiAweGY7CgogICAgICAgIC8vIEV4dHJhY3QgdGhlIHJlbGV2YW50IHBhcnQsIGFuZCBjbGVhciB0aGUgZmlyc3QgYml0CiAgICAgICAgJGhleF90cnVuY2F0ZWQgPSBzdWJzdHIgKCRoYXNoLCAkb2Zmc2V0ICogMiwgOCk7CiAgICAgICAgJGJpbl90cnVuY2F0ZWQgPSBkZWNiaW4gKGhleGRlYyAoJGhleF90cnVuY2F0ZWQpKTsKICAgICAgICAkYmluX3RydW5jYXRlZFswXSA9ICcwJzsKICAgICAgICAkZGVjX3RydW5jYXRlZCA9IGJpbmRlYyAoJGJpbl90cnVuY2F0ZWQpOwoKICAgICAgICByZXR1cm4gc3Vic3RyICgkZGVjX3RydW5jYXRlZCwgMCAtICRsZW5ndGgpOwp9Cj8+|3|9