127309|class.iterator|0|1658302349|InvisibleSmiley|SWYgeW91IGltcGxlbWVudGVkIEl0ZXJhdG9yIG1ldGhvZHMgbmV4dCgpIGFuZCByZXdpbmQoKSBieSBjYWxsaW5nIGFycmF5IGZ1bmN0aW9ucyBuZXh0KCkgYW5kIHJlc2V0KCkgYW5kIHJldHVybmluZyB0aGVpciByZXN1bHRzLCBiZSBhZHZpc2VkIHRoYXQgdGhpcyB2aW9sYXRlcyB0aGUgdGVudGF0aXZlIHJldHVybiB0eXBlcyAodm9pZCBpbiBib3RoIGNhc2VzKSBpbnRyb2R1Y2VkIHdpdGggUEhQIDguMS4KCllvdSBjYW4gYWRkIHRoZSAjW1xSZXR1cm5UeXBlV2lsbENoYW5nZV0gYXR0cmlidXRlIHRvIGJvdGggbWV0aG9kIGltcGxlbWVudGF0aW9ucyBidXQgdGhhdCB3aWxsIG9ubHkgZGVsYXkgdGhlIGlzc3VlIHVudGlsIFBIUCA5LjAgY29tZXMgYXJvdW5kLgoKQmV0dGVyIGFkYXB0IHlvdXIgaW1wbGVtZW50YXRpb25zIG5vdyAoc3RvcCByZXR1cm5pbmcgYW55dGhpbmcgZnJvbSB0aGVzZSBtZXRob2RzKSBhbmQsIGlmIG5lZWQgYmUsIG9ubHkgYWRkIHRoZSByZXR1cm4gdHlwZSBkZWNsYXJhdGlvbnMgbGF0ZXIu|0|1 125802|class.iterator|50|1612910512|Andrew Roffey|LyoqCiAqIEl0ZXJhdGUgIGEgZGlyZWN0b3J5IHRyZWUgYnkgd2Fsa2luZyB0aGUgdHJlZS4gRm9yIGVhY2ggZGlyZWN0b3J5IGluCiAqIHRoZSB0cmVlIHJvb3RlZCBhdCBkaXJlY3RvcnkgJHBhcmVudF9kaXIgKGluY2x1ZGluZyAkcGFyZW50X2RpcgogKiBpdHNlbGYpLCBpdCByZXR1cm5zICRkaXJwYXRoID0+IGFycmF5KCRkaXJuYW1lcywgJGZpbGVuYW1lcykuCiAqCiAqICRkaXJwYXRoIGlzIGEgc3RyaW5nLCB0aGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5LiAkZGlybmFtZXMgaXMgYSBsaXN0CiAqIG9mIHRoZSBuYW1lcyBvZiB0aGUgc3ViZGlyZWN0b3JpZXMgaW4gZGlycGF0aCAoZXhjbHVkaW5nICcuJyBhbmQKICogJy4uJykuICRmaWxlbmFtZXMgaXMgYSBsaXN0IG9mIHRoZSBuYW1lcyBvZiB0aGUgbm9uLWRpcmVjdG9yeSBmaWxlcyBpbgogKiAkZGlycGF0aC4KICoKICogSW5zcGlyZWQgYnkgUHl0aG9uIG9zLndhbGs7IHNlZQogKiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvb3MuaHRtbCNvcy53YWxrCiAqIEltcGxlbWVudGVkIGFzIGFuIGl0ZXJhdG9yIHJhdGhlciB0aGFuIGEgZ2VuZXJhdG9yLgogKgogKiBAcmV0dXJuIGFycmF5CiAqLwoKY2xhc3Mgd2Fsa2VyIGltcGxlbWVudHMgSXRlcmF0b3IgewogIHByaXZhdGUgJHBhcmVudF9kaXIgPSAnJzsKICBwcml2YXRlICRkID0gMDsgLy8gaXRlcmF0b3IKICBwcml2YXRlICRkaXJzID0gYXJyYXkoKTsgLy8gaW5kZXhlZCBieSBpdGVyYXRvcgogIHByaXZhdGUgJGRpcnN0YWNrOwogIHByaXZhdGUgJGRpc2NvdmVyZWQgPSBhcnJheSgpOyAvLyBpbmRleGVkIGJ5IGRpcmVjdG9yeQogIHByaXZhdGUgJHY7IC8vIGN1cnJlbnQgZGlyZWN0b3J5CiAgcHJpdmF0ZSAkY3VyX2Rpcm5hbWVzID0gYXJyYXkoKTsgLy8gY3VycmVudCBzdWJkaXJzCiAgcHJpdmF0ZSAkY3VyX2ZpbGVuYW1lcyA9IGFycmF5KCk7IC8vIGN1cnJlbnQgZmlsZXMgaW4gZGlyZWN0b3J5CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcGFyZW50X2RpcikgewogICAgJHRoaXMtPnBhcmVudF9kaXIgPSAkcGFyZW50X2RpcjsKICAgICR0aGlzLT5kID0gMDsKICAgICR0aGlzLT5kaXJzWyR0aGlzLT5kXSA9ICRwYXJlbnRfZGlyOwogICAgJHRoaXMtPmRpcnN0YWNrID0gbmV3IFNwbFN0YWNrKCk7CiAgICAkdGhpcy0+ZGlyc3RhY2stPnB1c2goJHBhcmVudF9kaXIpOwogICAgJHRoaXMtPmRpc2NvdmVyZWQgPSBhcnJheSgkcGFyZW50X2RpciA9PiB0cnVlKTsKICAgICR0aGlzLT52ID0gJHBhcmVudF9kaXI7CiAgICAkdGhpcy0+Y3VyX2Rpcm5hbWVzID0gYXJyYXkoKTsKICAgICR0aGlzLT5jdXJfZmlsZW5hbWVzID0gYXJyYXkoKTsKICAgICR0aGlzLT5uZXh0KCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gcmV3aW5kKCkgewogICAgJHRoaXMtPl9fY29uc3RydWN0KCR0aGlzLT5wYXJlbnRfZGlyKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBjdXJyZW50KCkgewogICAgcmV0dXJuIGFycmF5KCR0aGlzLT5jdXJfZGlybmFtZXMsICR0aGlzLT5jdXJfZmlsZW5hbWVzKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBrZXkoKSB7CiAgICByZXR1cm4gJHRoaXMtPnY7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gbmV4dCgpIHsKICAgICsrJHRoaXMtPmQ7CiAgICAkdGhpcy0+diA9ICR0aGlzLT5kaXJzdGFjay0+cG9wKCk7CiAgICAkdGhpcy0+ZGlyc1skdGhpcy0+ZF0gPSAkdGhpcy0+djsKICAgICR0aGlzLT5jdXJfZGlybmFtZXMgPSBhcnJheSgpOwogICAgJHRoaXMtPmN1cl9maWxlbmFtZXMgPSBhcnJheSgpOwogICAgaWYgKCEkZGggPSBvcGVuZGlyKCR0aGlzLT52KSkgewogICAgICAvLyBvcGVuZGlyIGVtaXRzIEVfV0FSTklORyBpZiB1bmFibGUgdG8gb3BlbiBkaXJlY3RvcnksIGxpa2VseSBkdWUKICAgICAgLy8gdG8gYSBwZXJtaXNzaW9ucyBpc3N1ZSBvciBkaXJlY3RvcnkgcmVtb3ZlZCBiZWZvcmUgd2UgY291bGQgZ2V0CiAgICAgIC8vIHRoZXJlCiAgICAgIHJldHVybjsKICAgIH0KICAgIC8vIGRpc2NvdmVyIHRoZSBkaXJlY3RvcmllcywgcmV0dXJuIGRpcmVjdG9yaWVzIGFuZCBmaWxlcwogICAgd2hpbGUgKGZhbHNlICE9PSAoJGZuID0gcmVhZGRpcigkZGgpKSkgewogICAgICBpZiAoJGZuICE9ICcuJyAmJiAkZm4gIT09ICcuLicpIHsKICAgICAgICAkZnVsbGZuID0gJHRoaXMtPnYgLiAnLycgLiAkZm47CiAgICAgICAgaWYgKGlzX2RpcigkZnVsbGZuKSkgewoJICAkdGhpcy0+Y3VyX2Rpcm5hbWVzW10gPSAkZm47CiAgICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoJGZ1bGxmbiwgJHRoaXMtPmRpc2NvdmVyZWQpKSB7CiAgICAgICAgICAgICR0aGlzLT5kaXNjb3ZlcmVkWyRmdWxsZm5dID0gdHJ1ZTsKCSAgICAkdGhpcy0+ZGlyc3RhY2stPnB1c2goJGZ1bGxmbik7CgkgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgJHRoaXMtPmN1cl9maWxlbmFtZXNbXSA9ICRmbjsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIGNsb3NlZGlyKCRkaCk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gdmFsaWQoKSB7CiAgICByZXR1cm4gJHRoaXMtPmRpcnN0YWNrLT5jb3VudCgpOwogIH0KfQoKJHRyZWUgPSBuZXcgd2Fsa2VyKCIvdG1wIik7CmZvcmVhY2ggKCR0cmVlIGFzICRwYXJlbnRfZGlyID0+ICRub2RlcykgewogICRzdWJkaXJzID0gJG5vZGVzWzBdOwogICRmaWxlcyA9ICRub2Rlc1sxXTsKICBwcmludGYoIiVzXG4iLCAkcGFyZW50X2Rpcik7CiAgaWYgKCRzdWJkaXJzKSBwcmludGYoIiAgJXNcbiIsIGltcGxvZGUoIi9cbiAgIiwgJHN1YmRpcnMpKTsKICBpZiAoJGZpbGVzKSBwcmludGYoIiAgJXNcbiIsIGltcGxvZGUoIlxuICAiLCAkZmlsZXMpKTsKICBwcmludCgiXG4iKTsKfQ==|1|1 125201|class.iterator|50|1595388382|sofe2038 at gmail dot com|VGhlICJzY2FsYXIiIHJlc3RyaWN0aW9uIG9uIGtleSgpIGlzIG5vIGxvbmdlciB0cnVlLiBBIHNpbXBsZSBleGFtcGxlIGlzIHRoYXQgR2VuZXJhdG9ycyBjYW4geWllbGQgbm9uLXNjYWxhciBrZXlzLg==|2|2 124513|class.iterator|80|1576511854|jeroen at asystance dot nl|Um9ja2V0SW5BQm9nJ3Mgc2VlbWluZ2x5IHRyaXZpYWwgdEl0ZXJhdG9yX2FycmF5IGNsYXNzIGhhcyBvbmUgaHVnZSBwcm9ibGVtICh3aGljaCBqdXN0IGNvc3QgbWUgYSBjb3VwbGUgb2YgaG91cnMpLgoKQ29uc2lkZXIgdGhpcyBleGFtcGxlLCB1c2luZyB0aGVpciBjbGFzczoKPD9waHAKJHZhbHVlcyA9IFsnb25lJywgJ3R3bycsICd0aHJlZSddOwpmb3JlYWNoICgkdmFsdWVzIGFzICR2KSB7fQokY3VycmVudCA9IGN1cnJlbnQoJHZhbHVlcyk7Ci8vICRjdXJyZW50ID09PSAnb25lJywgYXMgeW91IHdvdWxkIGV4cGVjdAoKJGl0ZXJhdG9yID0gbmV3IHRJdGVyYXRvcl9hcnJheSgkdmFsdWVzKTsKZm9yZWFjaCAoJGl0ZXJhdG9yIGFzICR2KSB7fQokY3VycmVudCA9ICRpdGVyYXRvci0+Y3VycmVudCgpOyAgICAvLyBkbyBOT1QgdXNlIGN1cnJlbnQoJGl0ZXJhdG9yKSBvciBrZXkoJGl0ZXJhdG9yKSEhIQovLyAkY3VycmVudCA9PT0gZmFsc2UsIGJ1dCB3aHk/Cj8+ClRoZSBwcm9ibGVtIGlzIHRoYXQgZm9yZWFjaCByZXNldHMgYXJyYXlzLCBidXQgZG9lc24ndCBjYWxsIEl0ZXJhdG9yOjpyZXdpbmQgb24gb2JqZWN0cyEKCkkgYWxzbyB0aGluayBpdCdzIGEgZGVzaWduIG1pc3Rha2UgdGhhdCBmb3JlYWNoIHdvcmtzIHdpdGggSXRlcmF0b3IsIGJ1dCBjdXJyZW50KCksIGtleSgpIGFuZCBlbmQoKSBkb24ndCAtIHRoZXNlIGl0ZXJhdGUgb3ZlciB0aGUgb2JqZWN0cyBmaWVsZHMuCgpJIGp1c3QgcmVmYWN0b3JlZCBzb21lIGNvZGUgdG8gdXNlIGFuIEl0ZXJhdG9yIGluc3RlYWQgb2YgYW4gYXJyYXksIGFuZCBpdCBicm9rZSBpbiBzZXZlcmFsIHZlcnkgdW5leHBlY3RlZCB3YXlzIGJlY2F1c2Ugb2YgdGhlc2UgZGlmZmVyZW5jZXMu|4|1 123423|class.iterator|17|1544584172|shaun at slickdesign dot com dot au|V2l0aCBhIGxhcmdlIG51bWJlciBvZiBgY3VycmVudGAsIGBuZXh0YCwgYGtleWAsIGFuZCBgcmVzZXRgIGFycmF5IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucywgY2FyZSBuZWVkcyB0byBiZSB0YWtlbiB0byBlbnN1cmUgdGhhdCBkZWxldGlvbnMgYW5kIG5lc3RlZCBsb29wcyBhcmUgYWNjb3VudGVkIGZvciBhcHByb3ByaWF0ZWx5IGZvciBlYWNoIHNpdHVhdGlvbi4KClRoZSBmb2xsb3dpbmcgY2xhc3MgaGFzIGJlZW4gY29waWVkIGZyb20gYSBwcmV2aW91cyBjb21tZW50IGFuZCBtb2RpZmllZCB0byBhbGxvdyBpdCB0byBiZSB1c2VkIHdpdGhpbiBuZXN0ZWQgbG9vcHMuCgo8P3BocAojIENvbW1lbnQgcmVtb3ZlZCBmb3IgYnJldml0eS4KCmNsYXNzIHRJdGVyYXRvcl9hcnJheSBpbXBsZW1lbnRzIEl0ZXJhdG9yIHsKICBwcml2YXRlICRteUFycmF5OwogIC8vIFN0b3JlIGVhY2ggaXRlcmF0aW9uIGluIGEgc2VwYXJhdGUgYXJyYXkuCiAgcHJpdmF0ZSAkaXRlcmF0aW9ucyA9IFtdOwogIHByaXZhdGUgJGkgPSAtMTsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkZ2l2ZW5BcnJheSApIHsKICAgICR0aGlzLT5teUFycmF5ID0gJGdpdmVuQXJyYXk7CiAgfQogIGZ1bmN0aW9uIHJld2luZCgpIHsKICAgIC8vIFJld2luZCBpcyBjYWxsZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsb29wLiBUaGlzIGlzIHdoZXJlIHdlIGNhbiBhcHBlbmQgdGhlIGN1cnJlbnQgYXJyYXkgdG8gc3RhcnQgb3VyIG5ldyBpdGVyYXRpb24uCiAgICAkdGhpcy0+aXRlcmF0aW9uc1tdID0gJHRoaXMtPm15QXJyYXk7CiAgICAkdGhpcy0+aSsrOwogICAgcmV0dXJuIHJlc2V0KCAkdGhpcy0+aXRlcmF0aW9uc1sgJHRoaXMtPmkgXSApOwogIH0KICBmdW5jdGlvbiBjdXJyZW50KCkgewogICAgcmV0dXJuIGN1cnJlbnQoICR0aGlzLT5pdGVyYXRpb25zWyAkdGhpcy0+aSBdICk7CiAgfQogIGZ1bmN0aW9uIGtleSgpIHsKICAgIHJldHVybiBrZXkoICR0aGlzLT5pdGVyYXRpb25zWyAkdGhpcy0+aSBdICk7CiAgfQogIGZ1bmN0aW9uIG5leHQoKSB7CiAgICByZXR1cm4gbmV4dCggJHRoaXMtPml0ZXJhdGlvbnNbICR0aGlzLT5pIF0gKTsKICB9CiAgZnVuY3Rpb24gdmFsaWQoKSB7CiAgICBpZiAoIG51bGwgPT09ICR0aGlzLT5rZXkoKSApIHsKICAgICAgLy8gU3RhbmRhcmQgdmFsaWQgY2hlY2suIFdoZW4gbnVsbCBpcyByZXR1cm5lZCB0aGUgbG9vcCBoYXMgZmluaXNoZWQsIHNvIHdlIGRlY3JlbWVudCB0aGUgaW5kZXggYW5kIHJlbW92ZSB0aGUgbGF0ZXN0IGl0ZXJhdGlvbi4KICAgICAgYXJyYXlfcG9wKCAkdGhpcy0+aXRlcmF0aW9ucyApOwogICAgICAkdGhpcy0+aS0tOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9Cn0KCi8vIEV4YW1wbGU6CiRhID0gbmV3IHRJdGVyYXRvcl9hcnJheSggWzEsIDJdICk7CmZvcmVhY2ggKCAkYSBhcyAkayA9PiAkdiApIHsKICBlY2hvICIgJGsgPT4gJHY6XG4iOwogIGZvcmVhY2ggKCAkYSBhcyAkayA9PiAkdiApIHsKICAgIGVjaG8gIiAgJGsgPT4gJHYsXG4iOwogIH0KfQovLyBPdXRwdXQ6CiMgMCA9PiAxOgojICAwID0+IDEsCiMgIDEgPT4gMiwKIyAxID0+IDI6CiMgIDAgPT4gMSwKIyAgMSA9PiAyLAoKPz4=|1|5 118838|class.iterator|67|1455454319|Anonymous|QW4gaW50ZXJlc3RpbmcgZmFjdCB0aGF0IEkgZGlkbid0IHJlYWQgaW4gdGhlIGRvYzoKCnRoZSBrZXkoKSBtZXRob2QgaXMgY2FsbGVkIG9ubHkgaWYgeW91ciBmb3JlYWNoIGxvb3AgbmVlZHMgaXQuCgpGb3IgaW5zdGFuY2UsIHRoZSBmb2xsb3dpbmcgbG9vcCBjYWxscyB0aGUga2V5KCkgbWV0aG9kOgoKPD9waHAKZm9yZWFjaCgkaXQgYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgIHZhcl9kdW1wKCRrZXksICR2YWx1ZSk7CiAgICBlY2hvICJcbiI7Cn0KPz4KCkJ1dCB0aGUgZm9sbG93aW5nIGxvb3AgZG9lc24ndDoKCjw/cGhwCmZvcmVhY2goJGl0IGFzICR2YWx1ZSkgewogICAgdmFyX2R1bXAoJHZhbHVlKTsKICAgIGVjaG8gIlxuIjsKfQo/Pg==|10|5 114776|class.iterator|62|1396626111|Gilles A|RXhhbXBsZXMgb2YgdXNlCjw/cGhwCmNsYXNzIG15SXRlcmF0b3IgaW1wbGVtZW50cyBJdGVyYXRvciAKCXsKICAgIHByaXZhdGUgCiAgICAJJF9hcnJheSA9IGFycmF5KCk7CiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGFycmF5KSAKICAgIAl7CgkJJHRoaXMtPl9hcnJheSA9ICRhcnJheTsKICAgIAl9CiAgICBwdWJsaWMgZnVuY3Rpb24gcmV3aW5kKCkgCiAgICAJewogICAgCXJlc2V0KCR0aGlzLT5fYXJyYXkpOwogICAgCX0KICAgIHB1YmxpYyBmdW5jdGlvbiBjdXJyZW50KCkgCiAgICAJewogICAgICAgIHJldHVybiBjdXJyZW50KCR0aGlzLT5fYXJyYXkpOwogICAgCX0KICAgIHB1YmxpYyBmdW5jdGlvbiBrZXkoKSAKICAgIAl7CiAgICAgICAgcmV0dXJuIGtleSgkdGhpcy0+X2FycmF5KTsKICAgIAl9CiAgICBwdWJsaWMgZnVuY3Rpb24gbmV4dCgpIAogICAgCXsKICAgICAgICBuZXh0KCR0aGlzLT5fYXJyYXkpOwogICAgCX0KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZCgpIAogICAgCXsKICAgICAgICByZXR1cm4gJHRoaXMtPmtleSgpICE9PSBudWxsOwogICAgCX0KCX0KCiRpdCA9IG5ldyBteUl0ZXJhdG9yKGFycmF5KCdmb29fMScgPT4gJ2Jhcl8xJywnZm9vXzInID0+ICdiYXJfMicpKTsKCi8vZXhhbXBsZSAxIDogZm9yZWFjaAoKZm9yZWFjaCgkaXQgYXMgJGtleSA9PiAkdmFsdWUpIAoJewogICAgdmFyX2R1bXAoJGtleSwgJHZhbHVlKTsKCX0KICAgIAovL2V4YW1wbGUgMiA6IHdoaWxlCgokaXQgLT4gcmV3aW5kKCk7CndoaWxlKCRpdC0+dmFsaWQoKSkKCXsKICAgIHZhcl9kdW1wKCRpdC0+a2V5KCksICRpdC0+Y3VycmVudCgpKTsKICAgIAogICAgJGl0LT5uZXh0KCk7Cgl9CiAKLy9leGFtcGxlIDMgOiBmb3IKCmZvcigkaXQtPnJld2luZCgpOyRpdC0+dmFsaWQoKTskaXQtPm5leHQoKSkKCXsKICAgdmFyX2R1bXAoJGl0LT5rZXkoKSwgJGl0LT5jdXJyZW50KCkpOwogICAgfQo/Pg==|16|10 112499|class.iterator|46|1371969205|Daniel Lo Nigro|SWYgeW91J3JlIHVzaW5nIFBIUCA1LjUgb3IgYWJvdmUgYW5kIGFyZSBjcmVhdGluZyBhIHNpbXBsZSBpdGVyYXRvciwgY29uc2lkZXIgdXNpbmcgYSBnZW5lcmF0b3IgZnVuY3Rpb24gaW5zdGVhZC4gVGhlcmUgaXMgc2lnbmlmaWNhbnRseSBsZXNzIGJvaWxlcnBsYXRlIGNvZGUgYW5kIHRoZSBjb2RlIGlzIGVhc2llciB0byByZWFkLiBodHRwOi8vYXUxLnBocC5uZXQvZ2VuZXJhdG9ycw==|11|13 108609|class.iterator|82|1336662664|fetidfrog at gmail dot com|SWYgeW91IGhhdmUgYSBjdXN0b20gaXRlcmF0b3IgdGhhdCBtYXkgdGhyb3cgYW4gZXhjZXB0aW9uIGluIGl0J3MgY3VycmVudCgpIG1ldGhvZCwgdGhlcmUgaXMgbm8gd2F5IHRvIGNhdGNoIHRoZSBleGNlcHRpb24gd2l0aG91dCBicmVha2luZyBhIGZvcmVhY2ggbG9vcC4KClRoZSBmb2xsb3dpbmcgZm9yIGxvb3AgYWxsb3dzIHlvdSB0byBza2lwIGVsZW1lbnRzIGZvciB3aGljaCAkaXRlcmF0b3ItPmN1cnJlbnQoKSB0aHJvd3MgYW4gZXhjZXB0aW9uLCByYXRoZXIgdGhhbiBicmVha2luZyB0aGUgbG9vcC4KCjw/cGhwCmZvciAoJGl0ZXJhdG9yLT5yZXdpbmQoKTsgJGl0ZXJhdG9yLT52YWxpZCgpOyAkaXRlcmF0b3ItPm5leHQoKSkgewoJdHJ5IHsKCQkkdmFsdWUgPSAkaXRlcmF0b3ItPmN1cnJlbnQoKTsKCX0gY2F0Y2ggKEV4Y2VwdGlvbiAkZXhjZXB0aW9uKSB7CgkJY29udGludWU7Cgl9CgoJIyAuLi4KfQo/Pg==|31|7 106010|class.iterator|47|1317564405|dwlnetnl at users dot sourceforge dot net|QmUgYXdhcmUgdGhhdCB3aGVuIHlvdSBjYWxsIGEgbWV0aG9kIGxpa2UgY3VycmVudCgkdGhpcykgd2l0aGluIHRoZSBJdGVyYXRvciBjbGFzcywgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGNsYXNzIGFyZSByZXR1cm5lZCBhbmQgdGhlIEl0ZXJhdG9yJ3MgY3VycmVudCgpIGlzbid0IGNhbGxlZC4gVGhpcyBpcyBiZWNhdXNlIGN1cnJlbnQoKSBhcHBsaWVzIHRvIGFycmF5cyBhbmQgdGhlIEl0ZXJhdG9yIGNsYXNzIGlzIHRoZW4gaW50ZXJwcmV0YXRlZCBhcyBhbiBhcnJheS4=|9|10 105121|class.iterator|55|1311854428|ct|PD9waHAKCi8qCiAqIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBJdGVyYXRvcgogKiB3aXRoIHNpbXBsZVhNTCB0byByZW1vdmUgYSBub2RlIGFuZCBnZW5lcmF0ZSBhIG5ldyBYTUwgZmlsZS4KICogCiAqIHByb2plY3QueG1sIGZpbGU6CiAqIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CiAqIC4uLgogKiA8ZGF0YT4KICogIDxpdGVtPgogKiAgICAgIDx2YWx1ZT5vbmU8L3ZhbHVlPgogKiAgPC9pdGVtPgogKiAgPGl0ZW0+CiAqICAgICAgPHZhbHVlPnR3bzwvdmFsdWU+CiAqICA8L2l0ZW0+CiAqICAuLi4KICogPC9kYXRhPgogKiAKICovCgpjbGFzcyBwYXJzZVhNTCBpbXBsZW1lbnRzIEl0ZXJhdG9yIHsKICAgIAogICAgcHJpdmF0ZSAkcG9zaXRpb247CiAgICBwcml2YXRlICR4bWw7CiAgICBwdWJsaWMgJGl0ZW07CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgewogICAgICAgIAogICAgICAgICR0aGlzLT5wb3NpdGlvbiA9IDA7CiAgICAgICAgJHRoaXMtPnhtbCA9IHNpbXBsZXhtbF9sb2FkX2ZpbGUoJ3Byb2plY3QueG1sJyk7CiAgICAgICAgICAgICAgICAKICAgIH0KICAgIAogICAgcHVibGljIGZ1bmN0aW9uIHVuc2V0SXRlbSgpIHsKICAgICAgICAKICAgICAgICBmb3JlYWNoICgkdGhpcyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgIAogICAgICAgICAgICBpZiAoJHZhbHVlLT52YWx1ZSA9PSAkdGhpcy0+aXRlbSApIHsKICAgICAgICAKICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT54bWwtPmRhdGEtPml0ZW1bJGtleV0pOwogICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgICR0aGlzLT5ta1hNTCgpOwogICAgfQogICAgCiAgICBwdWJsaWMgZnVuY3Rpb24gbWtYTUwoKSB7CiAgICAgICAgCiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJ3Byb2plY3QueG1sJywgJHRoaXMtPnhtbC0+YXNYTUwoKSApOwogICAgICAgIAogICAgfQoKICAgIGZ1bmN0aW9uIHJld2luZCgpIHsKICAgICAgICAkdGhpcy0+cG9zaXRpb24gPSAwOwogICAgfQoKICAgIGZ1bmN0aW9uIGN1cnJlbnQoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT54bWwtPmRhdGEtPml0ZW1bJHRoaXMtPnBvc2l0aW9uXTsKICAgIH0KCiAgICBmdW5jdGlvbiBrZXkoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wb3NpdGlvbjsKICAgIH0KCiAgICBmdW5jdGlvbiBuZXh0KCkgewogICAgICAgICsrJHRoaXMtPnBvc2l0aW9uOwogICAgfQoKICAgIGZ1bmN0aW9uIHZhbGlkKCkgewogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+eG1sLT5kYXRhLT5pdGVtWyR0aGlzLT5wb3NpdGlvbl0pOwogICAgfQogICAgCn0KCiRpdGVtUmVtb3ZlID0gbmV3IHBhcnNlWE1MKCk7CgokaXRlbVJlbW92ZS0+aXRlbSA9ICJvbmUiOwoKJGl0ZW1SZW1vdmUtPnVuc2V0SXRlbSgpOwoKPz4=|6|5 104720|class.iterator|57|1309675404|geompse at gmail dot com|QmUgY2FyZWZ1bGwgd2l0aCBJdGVyYXRvciB3aGVuIHVzaW5nIG5lc3RlZCBsb29wcyBvciBkZWxldGluZyBpdGVtcyBpbnNpZGUgdGhlIGNvbGxlY3Rpb24gd2hpbGUgbG9vcGluZyBvdmVyIGl0LgpJdCBjYW4gYmUgdHJpY2t5IHRvIGRldGVjdC4KVGhpcyB1bmV4cGVjdGVkIGJlaGF2aW9yIGlzIHBlcnRpbmVudCBpZiB5b3UgdGhpbmsgYWJvdXQgaXQgbG9uZyBlbm91Z2guCgo8P3BocAoKZm9yZWFjaCgkaXQgYXMgJGtleSA9PiAkdmFsdWUpCiAgICBlY2hvICR2YWx1ZTsKI291dHB1dDogdmFsdWUxLCB2YWx1ZTIsIHZhbHVlMwoKZm9yZWFjaCgkaXQgYXMgJGtleSA9PiAkdmFsdWUpCiAgICBmb3JlYWNoKCRpdCBhcyAka2V5ID0+ICR2YWx1ZSkKICAgICAgICBlY2hvICR2YWx1ZTsKI291dHB1dDogdmFsdWUxLCB2YWx1ZTIsIHZhbHVlMwoKZm9yZWFjaCgkaXQgYXMgJGtleSA9PiAkdmFsdWUpCiAgICBmb3JlYWNoKGNsb25lICRpdCBhcyAka2V5ID0+ICR2YWx1ZSkKICAgICAgICBlY2hvICR2YWx1ZTsKI291dHB1dDogdmFsdWUxLCB2YWx1ZTIsIHZhbHVlMywgdmFsdWUxLCB2YWx1ZTIsIHZhbHVlMywgdmFsdWUxLCB2YWx1ZTIsIHZhbHVlMwoKZm9yZWFjaCgkaXQgYXMgJGtleSA9PiAkdmFsdWUpCnsKICAgIGVjaG8gJHZhbHVlOwogICAgYXJyYXlfc2hpZnQoJGl0LT52YWx1ZXMpOwp9CiNvdXB1dDogdmFsdWUxLCB2YWx1ZTMKCj8+|12|9 101381|class.iterator|50|1292246150|kent at marketacumen dot com|Rm9yIEl0ZXJhdG9ycyBpbXBsZW1lbnQgZGF0YWJhc2UgcXVlcmllcywgd2hhdCBJJ3ZlIGZvdW5kIGlzIHRoYXQgaWYgeW91IHdhbnQgdG8gY2hhaW4gbXVsdGlwbGUgaXRlcmF0b3JzIHRvZ2V0aGVyIHVzaW5nIGEgIk11bHRpcGxlSXRlcmF0b3IiIHRoZW4geW91ICpkbyBub3QqIHdhbnQgOjpyZXdpbmQoKSB0byBhY3R1YWxseSBleGVjdXRlIHlvdXIgcXVlcnksIGVzcGVjaWFsbHkgaWYgaXQncyBleHBlbnNpdmUuCgpJbnN0ZWFkLCB3aGF0IEkndmUgZG9uZSBpcyBpbXBsZW1lbnQgdGhhdCBwb3J0aW9uIGluICJ2YWxpZC4iIAoKZS5nLgoKPD9waHAKY2xhc3MgRGF0YWJhc2VfUmVzdWx0X0l0ZXJhdG9yIHsKICAgIC4uLgogICAgcHJpdmF0ZSAkX2RiX3Jlc291cmNlID0gbnVsbDsKICAgIHByaXZhdGUgJF9sb2FkZWQgPSBmYWxzZTsKICAgIHByaXZhdGUgJF92YWxpZCA9IGZhbHNlOwoKICAgIGZ1bmN0aW9uIHJld2luZCgpIHsKICAgICAgICBpZiAoJHRoaXMtPl9kYl9yZXNvdXJjZSkgewogICAgICAgICAgICBteXNxbF9mcmVlKCR0aGlzLT5fZGJfcmVzb3VyY2UpOwogICAgICAgICAgICAkdGhpcy0+X2RiX3Jlc291cmNlID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPl9sb2FkZWQgPSBmYWxzZTsKICAgICAgICAkdGhpcy0+X3ZhbGlkID0gZmFsc2U7CiAgICB9CgogICAgZnVuY3Rpb24gdmFsaWQoKSB7CiAgICAgICAgaWYgKCR0aGlzLT5fbG9hZGVkKSB7CiAgICAgICAgICAgICR0aGlzLT5sb2FkKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdGhpcy0+X3ZhbGlkOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gbG9hZCgpIHsKICAgICAgICAkdGhpcy0+X2RiX3Jlc291cmNlID0gbXlzcWxfcXVlcnkoLi4uKTsKICAgICAgICAkdGhpcy0+X2xvYWRlZCA9IHRydWU7CiAgICAgICAgJHRoaXMtPm5leHQoKTsgLy8gU2V0cyBfdmFsaWQKICAgIH0KfQo/PgoKVGhhdCB3YXkgaWYgeW91IGNoYWluIG11bHRpcGxlIHF1ZXJpZXMgaW4gYSAiTXVsdGlwbGVJdGVyYXRvciIgdG9nZXRoZXIsIHRoZSAicmV3aW5kIiBjYWxsICh3aGljaCByZXdpbmRzIGFsbCBpdGVyYXRvcnMgYXQgb25jZSkgZG9lcyBub3QgZXhlY3V0ZSBldmVyeSBxdWVyeSBhdCBvbmNlLiAKCkluIGFkZGl0aW9uLCBJIGZvdW5kIHRoYXQgdGhlIE11bHRpcGxlSXRlcmF0b3IgbWF5IG5vdyB3b3JrIGJlc3QgZm9yIG90aGVyIHJlYXNvbnMsIGJ1dCBzdGlsbCwgdGhlIGFib3ZlIGlzIGEgZ29vZCBpZGVhIHRvIHBvc3Rwb25lIHF1ZXJpZXMgdW50aWwgdGhlIGxhc3QgcG9zc2libGUgbW9tZW50IHRoZXkgYXJlIG5lZWRlZC4=|6|6 96691|class.iterator|91|1268302124|robert_e_lee at dell dot com|T3JkZXIgb2Ygb3BlcmF0aW9ucyB3aGVuIHVzaW5nIGEgZm9yZWFjaCBsb29wOgoKMS4gQmVmb3JlIHRoZSBmaXJzdCBpdGVyYXRpb24gb2YgdGhlIGxvb3AsIEl0ZXJhdG9yOjpyZXdpbmQoKSBpcyBjYWxsZWQuCjIuIEJlZm9yZSBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUgbG9vcCwgSXRlcmF0b3I6OnZhbGlkKCkgaXMgY2FsbGVkLgozYS4gSXQgSXRlcmF0b3I6OnZhbGlkKCkgcmV0dXJucyBmYWxzZSwgdGhlIGxvb3AgaXMgdGVybWluYXRlZC4KM2IuIElmIEl0ZXJhdG9yOjp2YWxpZCgpIHJldHVybnMgdHJ1ZSwgSXRlcmF0b3I6OmN1cnJlbnQoKSBhbmQKSXRlcmF0b3I6OmtleSgpIGFyZSBjYWxsZWQuCjQuIFRoZSBsb29wIGJvZHkgaXMgZXZhbHVhdGVkLgo1LiBBZnRlciBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUgbG9vcCwgSXRlcmF0b3I6Om5leHQoKSBpcyBjYWxsZWQgYW5kIHdlIHJlcGVhdCBmcm9tIHN0ZXAgMiBhYm92ZS4KClRoaXMgaXMgcm91Z2hseSBlcXVpdmFsZW50IHRvOgoKPD9waHAKJGl0LT5yZXdpbmQoKTsKCndoaWxlICgkaXQtPnZhbGlkKCkpCnsKICAgICRrZXkgPSAkaXQtPmtleSgpOwogICAgJHZhbHVlID0gJGl0LT5jdXJyZW50KCk7CgogICAgLy8gLi4uCgogICAgJGl0LT5uZXh0KCk7Cn0KPz4KClRoZSBsb29wIGlzbid0IHRlcm1pbmF0ZWQgdW50aWwgSXRlcmF0b3I6OnZhbGlkKCkgcmV0dXJucyBmYWxzZSBvciB0aGUgYm9keSBvZiB0aGUgbG9vcCBleGVjdXRlcyBhIGJyZWFrIHN0YXRlbWVudC4KClRoZSBvbmx5IHR3byBtZXRob2RzIHRoYXQgYXJlIGFsd2F5cyBleGVjdXRlZCBhcmUgSXRlcmF0b3I6OnJld2luZCgpIGFuZCBJdGVyYXRvcjo6dmFsaWQoKSAodW5sZXNzIHJld2luZCB0aHJvd3MgYW4gZXhjZXB0aW9uKS4KClRoZSBJdGVyYXRvcjo6bmV4dCgpIG1ldGhvZCBuZWVkIG5vdCByZXR1cm4gYW55dGhpbmcuIEl0IGlzIGRlZmluZWQgYXMgcmV0dXJuaW5nIHZvaWQuIE9uIHRoZSBvdGhlciBoYW5kLCBzb21ldGltZXMgaXQgaXMgY29udmVuaWVudCBmb3IgdGhpcyBtZXRob2QgdG8gcmV0dXJuIHNvbWV0aGluZywgaW4gd2hpY2ggY2FzZSB5b3UgY2FuIGRvIHNvIGlmIHlvdSB3YW50LgoKSWYgeW91ciBpdGVyYXRvciBpcyBkb2luZyBzb21ldGhpbmcgZXhwZW5zaXZlLCBsaWtlIG1ha2luZyBhIGRhdGFiYXNlIHF1ZXJ5IGFuZCBpdGVyYXRpbmcgb3ZlciB0aGUgcmVzdWx0IHNldCwgdGhlIGJlc3QgcGxhY2UgdG8gbWFrZSB0aGUgcXVlcnkgaXMgcHJvYmFibHkgaW4gdGhlIEl0ZXJhdG9yOjpyZXdpbmQoKSBpbXBsZW1lbnRhdGlvbi4KCkluIHRoaXMgY2FzZSwgdGhlIGNvbnN0cnVjdGlvbiBvZiB0aGUgaXRlcmF0b3IgaXRzZWxmIGNhbiBiZSBjaGVhcCwgYW5kIGFmdGVyIGNvbnN0cnVjdGlvbiB5b3UgY2FuIGNvbnRpbnVlIHRvIHNldCB0aGUgcHJvcGVydGllcyBvZiB0aGUgcXVlcnkgYWxsIHRoZSB3YXkgdXAgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZm9yZWFjaCBsb29wIHNpbmNlIHRoZQpJdGVyYXRvcjo6cmV3aW5kKCkgbWV0aG9kIGlzbid0IGNhbGxlZCB1bnRpbCB0aGVuLgoKVGhpbmdzIHRvIGtlZXAgaW4gbWluZCB3aGVuIG1ha2luZyBhIGRhdGFiYXNlIHJlc3VsdCBzZXQgaXRlcmF0b3I6CgoqIE1ha2Ugc3VyZSB5b3UgY2xvc2UgeW91ciBjdXJzb3Igb3Igb3RoZXJ3aXNlIGNsZWFuIHVwIGFueSBwcmV2aW91cyBxdWVyeSBhdCB0aGUgdG9wIG9mIHRoZSByZXdpbmQgbWV0aG9kLiBPdGhlcndpc2UgeW91ciBjb2RlIHdpbGwgYnJlYWsgaWYgdGhlIHNhbWUgaXRlcmF0b3IgaXMgdXNlZCBpbiB0d28gY29uc2VjdXRpdmUgZm9yZWFjaCBsb29wcyB3aGVuIHRoZSBmaXJzdCBsb29wIHRlcm1pbmF0ZXMgd2l0aCBhIGJyZWFrIHN0YXRlbWVudCBiZWZvcmUgYWxsIHRoZSByZXN1bHRzIGFyZSBpdGVyYXRlZCBvdmVyLgoKKiBNYWtlIHN1cmUgeW91ciByZXdpbmQoKSBpbXBsZW1lbnRhdGlvbiB0cmllcyB0byBncmFiIHRoZSBmaXJzdCByZXN1bHQgc28gdGhhdCB0aGUgc3Vic2VxdWVudCBjYWxsIHRvIHZhbGlkKCkgd2lsbCBrbm93IHdoZXRoZXIgb3Igbm90IHRoZSByZXN1bHQgc2V0IGlzIGVtcHR5LiBJIGRvIHRoaXMgYnkgZXhwbGljaXRseSBjYWxsaW5nIG5leHQoKSBmcm9tIHRoZSBlbmQgb2YgbXkgcmV3aW5kKCkgaW1wbGVtZW50YXRpb24uCgoqIEZvciB0aGluZ3MgbGlrZSByZXN1bHQgc2V0IGl0ZXJhdG9ycywgdGhlcmUgcmVhbGx5IGlzbid0IGFsd2F5cyBhICJrZXkiIHRoYXQgeW91IGNhbiByZXR1cm4sIHVubGVzcyB5b3Uga25vdyB5b3UgaGF2ZSBhIHNjYWxhciBwcmltYXJ5IGtleSBjb2x1bW4gaW4gdGhlIHF1ZXJ5LiBVbmZvcnR1bmF0ZWx5LCB0aGVyZSB3aWxsIGJlIGNhc2VzIHdoZXJlIGVpdGhlciB0aGUgaXRlcmF0b3IgZG9lc24ndCBrbm93IHRoZSBwcmltYXJ5IGtleSBjb2x1bW4gYmVjYXVzZSBpdCBpc24ndCBwcm92aWRpbmcgdGhlIHF1ZXJ5LCB0aGUgbmF0dXJlIG9mIHRoZSBxdWVyeSBpcyBzdWNoIHRoYXQgYSBwcmltYXJ5IGtleSBpc24ndCBhcHBsaWNhYmxlLCB0aGUgaXRlcmF0b3IgaXMgaXRlcmF0aW5nIG92ZXIgYSB0YWJsZSB0aGF0IGRvZXNuJ3QgaGF2ZSBvbmUsIG9yIHRoZSBpdGVyYXRvciBpcyBpdGVyYXRpbmcgb3ZlciBhIHRhYmxlIHRoYXQgaGFzIGEgY29tcG91bmQgcHJpbWFyeSBrZXkuIEluIHRoZXNlIGNhc2VzLCBrZXkoKSBjYW4gcmV0dXJuIGVpdGhlcjoKdGhlIHJvdyBpbmRleCAoYmFzZWQgb24gYSBzaW1wbGUgY291bnRlciB0aGF0IHlvdSBwcm92aWRlKSwgb3IgY2FuIHNpbXBseSByZXR1cm4gbnVsbC4KCkl0ZXJhdG9ycyBjYW4gYWxzbyBiZSB1c2VkIHRvOgoKKiBpdGVyYXRlIG92ZXIgdGhlIGxpbmVzIG9mIGEgZmlsZSBvciByb3dzIG9mIGEgQ1NWIGZpbGUKKiBpdGVyYXRlIG92ZXIgdGhlIGNoYXJhY3RlcnMgb2YgYSBzdHJpbmcKKiBpdGVyYXRlIG92ZXIgdGhlIHRva2VucyBpbiBhbiBpbnB1dCBzdHJlYW0KKiBpdGVyYXRlIG92ZXIgdGhlIG1hdGNoZXMgcmV0dXJuZWQgYnkgYW4geHBhdGggZXhwcmVzc2lvbgoqIGl0ZXJhdGUgb3ZlciB0aGUgbWF0Y2hlcyByZXR1cm5lZCBieSBhIHJlZ2V4cAoqIGl0ZXJhdGUgb3ZlciB0aGUgZmlsZXMgaW4gYSBmb2xkZXIKKiBldGMuLi4=|265|26 93580|class.iterator|62|1253154003|Anthony Sterling|SGVyZSdzIGEgRmlib25hY2NpIGV4YW1wbGUgdXNpbmcgdGhlIGZvcm11bGEsIHJhdGhlciB0aGFuIGFkZGl0aW9uLgoKPD9waHAKLyoqCiAqIEBhdXRob3IJQW50aG9ueSBTdGVybGluZwogKi8KY2xhc3MgRmlib25hY2NpU2VxdWVuY2UgaW1wbGVtZW50cyBJdGVyYXRvcgp7Cglwcm90ZWN0ZWQKCQkkbGltaXQJCT0gMDsKCQkKCXByb3RlY3RlZAoJCSRrZXkJCT0gMDsJCgkJCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGxpbWl0ID0gMCkKICAgIHsKICAgICAgICAkdGhpcy0+bGltaXQgPSAoaW50ZWdlcikkbGltaXQ7CiAgICB9CgkKICAgIHB1YmxpYyBmdW5jdGlvbiBjdXJyZW50KCkKICAgIHsKICAgICAgICByZXR1cm4gcm91bmQoCiAgICAgICAgCShwb3coKCgxICsgc3FydCg1KSkgLyAyKSwgJHRoaXMtPmtleSkgLSBwb3coKC0xIC8gKDEgKyBzcXJ0KDUpKSAvIDIpLCAkdGhpcy0+a2V5KSkgLyBzcXJ0KDUpLAogICAgICAgIAludWxsCiAgICAgICAgKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24ga2V5KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmtleTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbmV4dCgpCiAgICB7CiAgICAJJHRoaXMtPmtleSsrOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiByZXdpbmQoKQogICAgewogICAgCSR0aGlzLT5rZXkgPSAwOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZCgpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5rZXkgPCAkdGhpcy0+bGltaXQ7CiAgICB9IAp9Cgpmb3JlYWNoKG5ldyBGaWJvbmFjY2lTZXF1ZW5jZSgpIGFzICRudW1iZXIpCnsKCXByaW50ZigKCQknJWQ8YnIgLz4nLAoJCSRudW1iZXIKCSk7Cn0KLyoKCTAKCTEKCTEKCTIKCTMKCTUKCTgKCTEzCgkyMQoJMzQKCTU1Cgk4OQoJMTQ0CgkyMzMKCTM3NwoJNjEwCgk5ODcKCTE1OTcKCTI1ODQKCTQxODEKCTY3NjUKCTEwOTQ2CgkxNzcxMQoJMjg2NTcKCTQ2MzY4Cgk3NTAyNQoJMTIxMzkzCgkxOTY0MTgKCTMxNzgxMQoJNTE0MjI5CiovCj8+CgpBbnRob255Lg==|18|11 91068|class.iterator|67|1243075326|Geoffrey Sneddon|U28sIHBsYXlpbmcgYXJvdW5kIHdpdGggaXRlcmF0b3JzIGluIFBIUCAoY29taW5nIGZyb20gbGFuZ3VhZ2VzIHdoZXJlIEknbSBzcG9pbGVkIHdpdGggZ2VuZXJhdG9ycyB0byBkbyB0aGluZ3MgbGlrZSB0aGlzKSwgSSB3cm90ZSBhIHF1aWNrIHBpZWNlIG9mIGNvZGUgdG8gZ2l2ZSB0aGUgRmlib25hY2NpIHNlcXVlbmNlICh0byBpbmZpbml0eSwgdGhvdWdoIG9ubHkgdGhlIGZpcnN0IHRlcm1zIHVwIHRvIEZfezEwfSBhcmUgb3V0cHV0KS4NCg0KPD9waHANCg0KY2xhc3MgRmlib25hY2NpIGltcGxlbWVudHMgSXRlcmF0b3Igew0KCXByaXZhdGUgJHByZXZpb3VzID0gMTsNCglwcml2YXRlICRjdXJyZW50ID0gMDsNCglwcml2YXRlICRrZXkgPSAwOw0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBjdXJyZW50KCkgew0KCQlyZXR1cm4gJHRoaXMtPmN1cnJlbnQ7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBrZXkoKSB7DQoJCXJldHVybiAkdGhpcy0+a2V5Ow0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gbmV4dCgpIHsNCgkJJG5ld3ByZXZpb3VzID0gJHRoaXMtPmN1cnJlbnQ7DQoJCSR0aGlzLT5jdXJyZW50ICs9ICR0aGlzLT5wcmV2aW91czsNCgkJJHRoaXMtPnByZXZpb3VzID0gJG5ld3ByZXZpb3VzOw0KCQkkdGhpcy0+a2V5Kys7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiByZXdpbmQoKSB7DQoJCSR0aGlzLT5wcmV2aW91cyA9IDE7DQoJCSR0aGlzLT5jdXJyZW50ID0gMDsNCgkJJHRoaXMtPmtleSA9IDA7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiB2YWxpZCgpIHsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KfQ0KDQokc2VxID0gbmV3IEZpYm9uYWNjaTsNCiRpID0gMDsNCmZvcmVhY2ggKCRzZXEgYXMgJGYpIHsNCgllY2hvICIkZlxuIjsNCglpZiAoJGkrKyA9PT0gMTApIGJyZWFrOw0KfQ0KPz4=|22|11 90830|class.iterator|92|1242059733|RocketInABog at techno-monks dot net|PD9waHAKIyAtIEhlcmUgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIEl0ZXJhdG9yIGludGVyZmFjZSBmb3IgYXJyYXlzCiMgICAgIHdoaWNoIHdvcmtzIHdpdGggbWFwcyAoa2V5L3ZhbHVlIHBhaXJzKQojICAgICBhcyB3ZWxsIGFzIHRyYWRpdGlvbmFsIGFycmF5cwojICAgICAoY29udGlndW91cyBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgaW5kZXhlcykuCiMgICBUaG91Z2ggaXQgcHJldHR5IG11Y2ggZG9lcyB3aGF0IGFuIGFycmF5CiMgICAgIHdvdWxkIG5vcm1hbGx5IGRvIHdpdGhpbiBmb3JlYWNoKCkgbG9vcHMsCiMgICAgIHRoaXMgY2xhc3MgbWF5IGJlIHVzZWZ1bCBmb3IgdXNpbmcgYXJyYXlzCiMgICAgIHdpdGggY29kZSB0aGF0IGdlbmVyaWNhbGx5L29ubHkgc3VwcG9ydHMgdGhlCiMgICAgIEl0ZXJhdG9yIGludGVyZmFjZS4KIyAgQW5vdGhlciB1c2Ugb2YgdGhpcyBjbGFzcyBpcyB0byBzaW1wbHkgcHJvdmlkZQojICAgICBvYmplY3QgbWV0aG9kcyB3aXRoIHRpZ2h0bHkgY29udHJvbGxpbmcgaXRlcmF0aW9uIG9mIGFycmF5cy4KCmNsYXNzIHRJdGVyYXRvcl9hcnJheSBpbXBsZW1lbnRzIEl0ZXJhdG9yIHsKICBwcml2YXRlICRteUFycmF5OwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoICRnaXZlbkFycmF5ICkgewogICAgJHRoaXMtPm15QXJyYXkgPSAkZ2l2ZW5BcnJheTsKICB9CiAgZnVuY3Rpb24gcmV3aW5kKCkgewogICAgcmV0dXJuIHJlc2V0KCR0aGlzLT5teUFycmF5KTsKICB9CiAgZnVuY3Rpb24gY3VycmVudCgpIHsKICAgIHJldHVybiBjdXJyZW50KCR0aGlzLT5teUFycmF5KTsKICB9CiAgZnVuY3Rpb24ga2V5KCkgewogICAgcmV0dXJuIGtleSgkdGhpcy0+bXlBcnJheSk7CiAgfQogIGZ1bmN0aW9uIG5leHQoKSB7CiAgICByZXR1cm4gbmV4dCgkdGhpcy0+bXlBcnJheSk7CiAgfQogIGZ1bmN0aW9uIHZhbGlkKCkgewogICAgcmV0dXJuIGtleSgkdGhpcy0+bXlBcnJheSkgIT09IG51bGw7CiAgfQp9Cgo/Pg==|48|4 90715|class.iterator|72|1241530832|mike dot thornton at firstroi dot com|SXQncyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IGZvbGxvd2luZyB3b24ndCB3b3JrIGlmIHlvdSBoYXZlIG51bGwgdmFsdWVzLgoKPD9waHAKICAgIGZ1bmN0aW9uIHZhbGlkKCkgewogICAgICAgIHZhcl9kdW1wKF9fTUVUSE9EX18pOwogICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+YXJyYXlbJHRoaXMtPnBvc2l0aW9uXSk7CiAgICB9Cj8+CgpPdGhlciBleGFtcGxlcyBoYXZlIHNob3duIHRoZSBmb2xsb3dpbmcgd2hpY2ggd29uJ3Qgd29yayBpZiB5b3UgaGF2ZSBmYWxzZSB2YWx1ZXM6Cgo8P3BocAogICAgZnVuY3Rpb24gdmFsaWQoKSB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5jdXJyZW50KCkgIT09IGZhbHNlOwogICAgfQo/PgoKSW5zdGVhZCB1c2U6Cgo8P3BocAogICAgZnVuY3Rpb24gdmFsaWQoKSB7CiAgICAgICAgcmV0dXJuIGFycmF5X2tleV9leGlzdHMoJHRoaXMtPmFycmF5LCAkdGhpcy0+cG9zaXRpb24pOwogICAgfQo/PgoKT3IgdGhlIGZvbGxvd2luZyBpZiB5b3UgZG8gbm90IHN0b3JlIHRoZSBwb3NpdGlvbi4KCjw/cGhwCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWQoKSB7CiAgICAgICAgcmV0dXJuICFpc19udWxsKGtleSgkdGhpcy0+YXJyYXkpKTsKICAgIH0KPz4=|21|8