126755|ref.xml|100|1641890443|biuro at dso dot biz dot pl|QSBjbGFzcyBwcm9wb3NpdGlvbiB0aGF0IGNhbiBoYW5kbGUgdmVyeSBsYXJnZSBYTUwgZmlsZXMKCnVzZQo8P3BocAokZG9tT2JqID0gbmV3IEJpZ1hNTFRvQXJyYXkoJGZpbGVEYXRhLCB0cnVlKTsKPz4KCjw/cGhwCmNsYXNzIEJpZ1hNTFRvQXJyYXkKewogICAgcHVibGljICRhcnJheTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHhtbCwgJGdldFJvb3QgPSBmYWxzZSkgewogICAgICAgICR1c2VfZXJyb3JzID0gbGlieG1sX3VzZV9pbnRlcm5hbF9lcnJvcnModHJ1ZSk7CiAgICAgICAgJHhtbERhdGEgPSBzaW1wbGV4bWxfbG9hZF9zdHJpbmcoJHhtbCk7CiAgICAgICAgaWYgKGZhbHNlID09PSAkeG1sRGF0YSkgewogICAgICAgICAgICAkbWVzc2FnZSA9ICJGYWlsZWQgbG9hZGluZyBYTUxcclxuIjsKCiAgICAgICAgICAgIGZvcmVhY2gobGlieG1sX2dldF9lcnJvcnMoKSBhcyAkZXJyb3IpIHsKICAgICAgICAgICAgICAgICRtZXNzYWdlID0gIlx0IiAuICRlcnJvci0+bWVzc2FnZSAuICJcclxuIjsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBEbyBzb21ldGhpbmcgYWJvdXQgdGhpcyBlcnJvciBtZXNzYWdlICwgZS5nLiAKICAgICAgICAgICAgLy8gRHNvTXVsdGlJbXBvcnRlckxvZzo6c2V0RXJyb3IoWydtZXNzYWdlJyA9PiAkbWVzc2FnZSwgJ3htbCcgPT4gJHhtbF0sICdHTE9CQUwnLCBfX01FVEhPRF9fKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+YXJyYXkgPSAkdGhpcy0+eG1sMmFycmF5KCR4bWxEYXRhLCAkZ2V0Um9vdCk7CiAgICAgICAgfQogICAgICAgIGxpYnhtbF9jbGVhcl9lcnJvcnMoKTsKICAgICAgICBsaWJ4bWxfdXNlX2ludGVybmFsX2Vycm9ycygkdXNlX2Vycm9ycyk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRBdHRyaWJ1dGVzTGlzdCgkeG1sT2JqZWN0LCAkb3V0ID0gW10pCiAgICB7CiAgICAgICAgaWYgKGNvdW50KCR4bWxPYmplY3QpID4gMSkgewogICAgICAgICAgICBmb3JlYWNoICgkeG1sT2JqZWN0IGFzICRpbmRleCA9PiAkbm9kZSkgewogICAgICAgICAgICAgICAgaWYgKGlzX29iamVjdCgkbm9kZSkpIHsKICAgICAgICAgICAgICAgICAgICAkb3V0WyRpbmRleF0gPSAkdGhpcy0+Z2V0QXR0cmlidXRlc0xpc3QoJHhtbE9iamVjdCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRvdXRbJGluZGV4XSA9ICRub2RlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHhtbE9iamVjdCBhcyAkaW5kZXggPT4gJG5vZGUpIHsKICAgICAgICAgICAgICAgIGlmIChpc19vYmplY3QoJG5vZGUpKSB7CiAgICAgICAgICAgICAgICAgICAgJG91dCA9ICR0aGlzLT5nZXRBdHRyaWJ1dGVzTGlzdCgkeG1sT2JqZWN0KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJG91dCA9ICRub2RlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIHhtbDJhcnJheSgkeG1sT2JqZWN0LCAkaXNSb290ID0gZmFsc2UsICRvdXQgPSBbXSkKICAgIHsKICAgICAgICBpZiAoJGlzUm9vdCkgewogICAgICAgICAgICAkb3V0WyR4bWxPYmplY3QtPmdldE5hbWUoKV0gPSAkdGhpcy0+eG1sMmFycmF5KCR4bWxPYmplY3QsIGZhbHNlKTsKICAgICAgICB9IGVsc2VpZiAoaXNfYXJyYXkoJHhtbE9iamVjdCkgfHwgKGlzX29iamVjdCgkeG1sT2JqZWN0KSAmJiAkeG1sT2JqZWN0LT5jb3VudCgpID4gMCkpIHsKICAgICAgICAgICAgZm9yZWFjaCAoJHhtbE9iamVjdC0+Y2hpbGRyZW4oKSBhcyAkaW5kZXggPT4gJG5vZGUpIHsKICAgICAgICAgICAgICAgICR0bXAgPSBbXTsKICAgICAgICAgICAgICAgIGlmIChpc19vYmplY3QoJG5vZGUpKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkbm9kZS0+YXR0cmlidXRlcygpIGFzICRhID0+ICRiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19vYmplY3QoJGIpIHx8aXNfYXJyYXkoJGIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdG1wWydhdHRyaWInXVskYV0gPSAkdGhpcy0+Z2V0QXR0cmlidXRlc0xpc3QoKGFycmF5KSRiKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0bXBbJ2F0dHJpYiddWyRhXSA9ICRiOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChlbXB0eSgkdG1wWydhdHRyaWInXSkpIHsKICAgICAgICAgICAgICAgICAgICAkdG1wID0gJHRoaXMtPnhtbDJhcnJheSgkbm9kZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkdG1wWyd2YWx1ZSddID0gJHRoaXMtPnhtbDJhcnJheSgkbm9kZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJG91dFskaW5kZXhdKSkgewogICAgICAgICAgICAgICAgICAgIGlmIChpc19zdHJpbmcoJG91dFskaW5kZXhdKQogICAgICAgICAgICAgICAgICAgICAgICB8fCBpc19udW1lcmljKCRvdXRbJGluZGV4XSkKICAgICAgICAgICAgICAgICAgICAgICAgfHwgKGlzX2FycmF5KCRvdXRbJGluZGV4XSkgJiYgJG91dFskaW5kZXhdICE9PSBhcnJheV92YWx1ZXMoJG91dFskaW5kZXhdKSkKICAgICAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG91dFskaW5kZXhdID0gWyRvdXRbJGluZGV4XV07CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkb3V0WyRpbmRleF1bXSA9ICR0bXA7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRvdXRbJGluZGV4XSA9ICR0bXA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgJG91dCA9IGpzb25fZGVjb2RlKCR4bWxPYmplY3QpOwoKICAgICAgICAgICAgaWYgKCRvdXQgPT09IG51bGwgYW5kICFlbXB0eSgoc3RyaW5nKSAkeG1sT2JqZWN0KSkgewogICAgICAgICAgICAgICAgJG91dCA9IChzdHJpbmcpICR4bWxPYmplY3Q7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9Cn0KPz4=|1|0 120991|ref.xml|100|1492507683|filip dot rydlo at gmail dot com|Ly8gRml4IGZvciB4bWxUb0FycmF5UGFyc2VyICAuLi4uLi4uLi4uIGhvcGUgdGhpcyBoZWxwcyBzb21lYm9keS4gOi0pCgovLyBGSVhFRCB0aGUgIk1VTFRJUExFLUNBTExTIHRvIGNhbGxiYWNrIGZvciBvbmUgc3RyaW5nIiBpc3N1ZSBvZiAnY2RhdGEnIGluICB4bWxUb0FycmF5UGFyc2VyIHdyaXR0ZW4gYnk6Ci8vIEdsZW4gYXQgSVRJU3R1ZGlvcyBkb3QgY2EgICgyMDEyKQoKICBwcml2YXRlIGZ1bmN0aW9uIGNkYXRhKCRwYXJzZXIsICRjZGF0YSkgewogICAgaWYoaXNzZXQoJHRoaXMtPnBvaW50ZXJbJ2NkYXRhJ10pKSB7ICAgICAgLy8gVGhpcyBGSVhlcyB0aGUgaXNzdWUgd2l0aCAiSU5DT01QTEVURSBTVFJJTkdTIiBjb250YWluaW5nIGh0bWwtZW50aXRpZXMKICAgICAgJHRoaXMtPnBvaW50ZXJbJ2NkYXRhJ10gLj0gJGNkYXRhOwogICAgfSBlbHNlIHsKICAgICAgJHRoaXMtPnBvaW50ZXJbJ2NkYXRhJ10gPSAkY2RhdGE7CiAgICB9CiAgfQ==|1|0 118812|ref.xml|0|1455084371|anrdaemon at freemail dot ru|WW91IG11c3Qgbm90LCBuZXZlciBldmVyIHVzZSB1dGY4X2VuY29kZSgpIGFuZCB1dGY4X2RlY29kZSgpLgpJZiB5b3UgbmVlZCBtdWx0aWJ5dGUgY29udmVyc2lvbiB1dGlsaXR5LCB1c2UgaWNvbnYoKSBpbnN0ZWFkLiBBdCB0aGUgdmVyeSBsZWFzdCwgeW91IHdpbGwgZ2V0IGEgbm90aWZpY2F0aW9uLCBpZiB5b3VyIHN0cmluZyBjYW4gbm90IGJlIGNvbnZlcnRlZC4KdXRmOF8qIGNyYXAsIGxpa2Ugb3RoZXIgY3JhcCBvZiB0aGlzIG5hdHVyZSwgaXMgT05MWSBTVVBQT1JUSU5HIE9ORSBDT05WRVJTSU9OLiBJU08tODg1OS0xIDw9PiBVVEYtOC4=|0|1 112992|ref.xml|57|1376592142|Glen at ITIStudios dot ca|VXBkYXRlOiBjb25jYXRlbmF0ZSBlbGVtZW50IGNvbnRlbnRzIGluIGZ1bmN0aW9uIGNkYXRhKCkKPD9waHAKLyoqCiAqICBYTUwgdG8gQXNzb2NpYXRpdmUgQXJyYXkgQ2xhc3MKICoKICogIFVzYWdlOgogKiAgICAgJGRvbU9iaiA9IG5ldyB4bWxUb0FycmF5UGFyc2VyKCR4bWwpOwogKiAgICAgJGRvbUFyciA9ICRkb21PYmotPmFycmF5OwogKiAgIAogKiAgICAgaWYoJGRvbU9iai0+cGFyc2VfZXJyb3IpIGVjaG8gJGRvbU9iai0+Z2V0X3htbF9lcnJvcigpOwogKiAgICAgZWxzZSBwcmludF9yKCRkb21BcnIpOwogKgogKiAgICAgT24gU3VjY2VzczoKICogICAgIGVnLiAkZG9tQXJyWyd0b3AnXVsnZWxlbWVudDInXVsnYXR0cmliJ11bJ3ZhcjInXSA9PiB2YWwyCiAqCiAqICAgICBPbiBFcnJvcjoKICogICAgIGVnLiBFcnJvciBDb2RlIFs3Nl0gIk1pc21hdGNoZWQgdGFnIiwgYXQgY2hhciA1OCBvbiBsaW5lIDMKICovCgovKioKICogQ29udmVydCBhbiB4bWwgZmlsZSBvciBzdHJpbmcgdG8gYW4gYXNzb2NpYXRpdmUgYXJyYXkgKGluY2x1ZGluZyB0aGUgdGFnIGF0dHJpYnV0ZXMpOgogKiAkZG9tT2JqID0gbmV3IHhtbFRvQXJyYXlQYXJzZXIoJHhtbCk7CiAqICRlbGVtVmFsID0gJGRvbU9iai0+YXJyYXlbJ2VsZW1lbnQnXQogKiBPcjogICRkb21BcnI9JGRvbU9iai0+YXJyYXk7ICAkZWxlbVZhbCA9ICRkb21BcnJbJ2VsZW1lbnQnXS4KICoKICogQHZlcnNpb24gIDMuMAogKiBAcGFyYW0gU3RyICR4bWwgZmlsZS9zdHJpbmcuCiAqLwpjbGFzcyB4bWxUb0FycmF5UGFyc2VyIHsKICAvKiogVGhlIGFycmF5IGNyZWF0ZWQgYnkgdGhlIHBhcnNlciBjYW4gYmUgYXNzaWduZWQgdG8gYW55IHZhcmlhYmxlOiAkYW55VmFyQXJyID0gJGRvbU9iai0+YXJyYXkuKi8KICBwdWJsaWMgICRhcnJheSA9IGFycmF5KCk7CiAgcHVibGljICAkcGFyc2VfZXJyb3IgPSBmYWxzZTsKICBwcml2YXRlICRwYXJzZXI7CiAgcHJpdmF0ZSAkcG9pbnRlcjsKIAogIC8qKiBDb25zdHJ1Y3RvcjogJGRvbU9iaiA9IG5ldyB4bWxUb0FycmF5UGFyc2VyKCR4bWwpOyAqLwogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkeG1sKSB7CiAgICAkdGhpcy0+cG9pbnRlciA9JiAkdGhpcy0+YXJyYXk7CiAgICAkdGhpcy0+cGFyc2VyID0geG1sX3BhcnNlcl9jcmVhdGUoIlVURi04Iik7CiAgICB4bWxfc2V0X29iamVjdCgkdGhpcy0+cGFyc2VyLCAkdGhpcyk7CiAgICB4bWxfcGFyc2VyX3NldF9vcHRpb24oJHRoaXMtPnBhcnNlciwgWE1MX09QVElPTl9DQVNFX0ZPTERJTkcsIGZhbHNlKTsKICAgIHhtbF9zZXRfZWxlbWVudF9oYW5kbGVyKCR0aGlzLT5wYXJzZXIsICJ0YWdfb3BlbiIsICJ0YWdfY2xvc2UiKTsKICAgIHhtbF9zZXRfY2hhcmFjdGVyX2RhdGFfaGFuZGxlcigkdGhpcy0+cGFyc2VyLCAiY2RhdGEiKTsKICAgICR0aGlzLT5wYXJzZV9lcnJvciA9IHhtbF9wYXJzZSgkdGhpcy0+cGFyc2VyLCBsdHJpbSgkeG1sKSk/IGZhbHNlIDogdHJ1ZTsKICB9CiAKICAvKiogRnJlZSB0aGUgcGFyc2VyLiAqLwogIHB1YmxpYyBmdW5jdGlvbiBfX2Rlc3RydWN0KCkgeyB4bWxfcGFyc2VyX2ZyZWUoJHRoaXMtPnBhcnNlcik7fQoKICAvKiogR2V0IHRoZSB4bWwgZXJyb3IgaWYgYW4gYW4gZXJyb3IgaW4gdGhlIHhtbCBmaWxlIG9jY3VyZWQgZHVyaW5nIHBhcnNpbmcuICovCiAgcHVibGljIGZ1bmN0aW9uIGdldF94bWxfZXJyb3IoKSB7CiAgICBpZigkdGhpcy0+cGFyc2VfZXJyb3IpIHsKICAgICAgJGVyckNvZGUgPSB4bWxfZ2V0X2Vycm9yX2NvZGUgKCR0aGlzLT5wYXJzZXIpOwogICAgICAkdGhpc0Vycm9yID0gICJFcnJvciBDb2RlIFsiLiAkZXJyQ29kZSAuIl0gXCI8c3Ryb25nIHN0eWxlPSdjb2xvcjpyZWQ7Jz4iIC4geG1sX2Vycm9yX3N0cmluZygkZXJyQ29kZSkuIjwvc3Ryb25nPlwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgY2hhciAiLnhtbF9nZXRfY3VycmVudF9jb2x1bW5fbnVtYmVyKCR0aGlzLT5wYXJzZXIpIC4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gbGluZSAiLnhtbF9nZXRfY3VycmVudF9saW5lX251bWJlcigkdGhpcy0+cGFyc2VyKS4iIjsKICAgIH1lbHNlICR0aGlzRXJyb3IgPSAkdGhpcy0+cGFyc2VfZXJyb3I7CiAgICByZXR1cm4gJHRoaXNFcnJvcjsKICB9CiAKICBwcml2YXRlIGZ1bmN0aW9uIHRhZ19vcGVuKCRwYXJzZXIsICR0YWcsICRhdHRyaWJ1dGVzKSB7CiAgICAkdGhpcy0+Y29udmVydF90b19hcnJheSgkdGFnLCAnYXR0cmliJyk7CiAgICAkaWR4PSR0aGlzLT5jb252ZXJ0X3RvX2FycmF5KCR0YWcsICdjZGF0YScpOwogICAgaWYoaXNzZXQoJGlkeCkpIHsKICAgICAgJHRoaXMtPnBvaW50ZXJbJHRhZ11bJGlkeF0gPSBBcnJheSgnQGlkeCcgPT4gJGlkeCwnQHBhcmVudCcgPT4gJiR0aGlzLT5wb2ludGVyKTsKICAgICAgJHRoaXMtPnBvaW50ZXIgPSYgJHRoaXMtPnBvaW50ZXJbJHRhZ11bJGlkeF07CiAgICB9ZWxzZSB7CiAgICAgICR0aGlzLT5wb2ludGVyWyR0YWddID0gQXJyYXkoJ0BwYXJlbnQnID0+ICYkdGhpcy0+cG9pbnRlcik7CiAgICAgICR0aGlzLT5wb2ludGVyID0mICR0aGlzLT5wb2ludGVyWyR0YWddOwogICAgfQogICAgaWYgKCFlbXB0eSgkYXR0cmlidXRlcykpIHsgJHRoaXMtPnBvaW50ZXJbJ2F0dHJpYiddID0gJGF0dHJpYnV0ZXM7IH0KICB9CgogIC8qKiBBZGRzIHRoZSBjdXJyZW50IGVsZW1lbnRzIGNvbnRlbnQgdG8gdGhlIGN1cnJlbnQgcG9pbnRlcltjZGF0YV0gYXJyYXkuICovCiAgcHJpdmF0ZSBmdW5jdGlvbiBjZGF0YSgkcGFyc2VyLCAkY2RhdGEpewogICAgaWYgKGlzc2V0KCR0aGlzLT5wb2ludGVyWydjZGF0YSddKSkgeyAkdGhpcy0+cG9pbnRlclsnY2RhdGEnXSAuPSAkY2RhdGE7fQogICAgZWxzZSB7ICR0aGlzLT5wb2ludGVyWydjZGF0YSddID0gJGNkYXRhOyB9CiAgfQogIAogIHByaXZhdGUgZnVuY3Rpb24gdGFnX2Nsb3NlKCRwYXJzZXIsICR0YWcpIHsKICAgICRjdXJyZW50ID0gJiAkdGhpcy0+cG9pbnRlcjsKICAgIGlmKGlzc2V0KCR0aGlzLT5wb2ludGVyWydAaWR4J10pKSB7dW5zZXQoJGN1cnJlbnRbJ0BpZHgnXSk7fQogICAgJHRoaXMtPnBvaW50ZXIgPSAmICR0aGlzLT5wb2ludGVyWydAcGFyZW50J107CiAgICB1bnNldCgkY3VycmVudFsnQHBhcmVudCddKTsKICAgIGlmKGlzc2V0KCRjdXJyZW50WydjZGF0YSddKSAmJiBjb3VudCgkY3VycmVudCkgPT0gMSkgeyAkY3VycmVudCA9ICRjdXJyZW50WydjZGF0YSddO30KICAgIGVsc2UgaWYoZW1wdHkoJGN1cnJlbnRbJ2NkYXRhJ10pKSB7dW5zZXQoJGN1cnJlbnRbJ2NkYXRhJ10pO30KICB9CiAKICAvKiogQ29udmVydHMgYSBzaW5nbGUgZWxlbWVudCBpdGVtIGludG8gYXJyYXkoZWxlbWVudFswXSkgaWYgYSBzZWNvbmQgZWxlbWVudCBvZiB0aGUgc2FtZSBuYW1lIGlzIGVuY291bnRlcmVkLiAqLwogIHByaXZhdGUgZnVuY3Rpb24gY29udmVydF90b19hcnJheSgkdGFnLCAkaXRlbSkgewogICAgaWYoaXNzZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ10pICYmICFpc19hcnJheSgkdGhpcy0+cG9pbnRlclskdGFnXSkpewogICAgICAkY29udGVudCA9ICR0aGlzLT5wb2ludGVyWyR0YWddOwogICAgICAkdGhpcy0+cG9pbnRlclskdGFnXSA9IGFycmF5KCgwKSA9PiAkY29udGVudCk7CiAgICAgICRpZHggPSAxOwogICAgfWVsc2UgaWYgKGlzc2V0KCR0aGlzLT5wb2ludGVyWyR0YWddKSkgewogICAgICAkaWR4ID0gY291bnQoJHRoaXMtPnBvaW50ZXJbJHRhZ10pOwogICAgICBpZighaXNzZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ11bMF0pKSB7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnBvaW50ZXJbJHRhZ10gYXMgJGtleSA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgdW5zZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ11bJGtleV0pOwogICAgICAgICAgICAkdGhpcy0+cG9pbnRlclskdGFnXVswXVska2V5XSA9ICR2YWx1ZTsKICAgIH19fWVsc2UgJGlkeCA9IG51bGw7CiAgICByZXR1cm4gJGlkeDsKICB9Cn0KPz4=|4|3 111866|ref.xml|58|1365190725|Glen at ITIStudios dot ca|VXBkYXRlOiBjb3JyZWN0ZWQgaXNzZXQoKSBpbiBjb252ZXJ0X3RvX2FycmF5KCkgZnVuY3Rpb24KPD9waHAKLyoqCiAqICBYTUwgdG8gQXNzb2NpYXRpdmUgQXJyYXkgQ2xhc3MKICoKICogIFVzYWdlOgogKiAgICAgJGRvbU9iaiA9IG5ldyB4bWxUb0FycmF5UGFyc2VyKCR4bWwpOwogKiAgICAgJGRvbUFyciA9ICRkb21PYmotPmFycmF5OwogKiAgICAKICogICAgIGlmKCRkb21PYmotPnBhcnNlX2Vycm9yKSBlY2hvICRkb21PYmotPmdldF94bWxfZXJyb3IoKTsKICogICAgIGVsc2UgcHJpbnRfcigkZG9tQXJyKTsKICoKICogICAgIE9uIFN1Y2Nlc3M6CiAqICAgICBlZy4gJGRvbUFyclsndG9wJ11bJ2VsZW1lbnQyJ11bJ2F0dHJpYiddWyd2YXIyJ10gPT4gdmFsMgogKgogKiAgICAgT24gRXJyb3I6CiAqICAgICBlZy4gRXJyb3IgQ29kZSBbNzZdICJNaXNtYXRjaGVkIHRhZyIsIGF0IGNoYXIgNTggb24gbGluZSAzCiAqLwoKLyoqCiAqIENvbnZlcnQgYW4geG1sIGZpbGUgb3Igc3RyaW5nIHRvIGFuIGFzc29jaWF0aXZlIGFycmF5IChpbmNsdWRpbmcgdGhlIHRhZyBhdHRyaWJ1dGVzKToKICogJGRvbU9iaiA9IG5ldyB4bWxUb0FycmF5UGFyc2VyKCR4bWwpOwogKiAkZWxlbVZhbCA9ICRkb21PYmotPmFycmF5WydlbGVtZW50J10KICogT3I6ICAkZG9tQXJyPSRkb21PYmotPmFycmF5OyAgJGVsZW1WYWwgPSAkZG9tQXJyWydlbGVtZW50J10uCiAqCiAqIEB2ZXJzaW9uICAyLjAKICogQHBhcmFtIFN0ciAkeG1sIGZpbGUvc3RyaW5nLgogKi8KY2xhc3MgeG1sVG9BcnJheVBhcnNlciB7CiAgLyoqIFRoZSBhcnJheSBjcmVhdGVkIGJ5IHRoZSBwYXJzZXIgY2FuIGJlIGFzc2lnbmVkIHRvIGFueSB2YXJpYWJsZTogJGFueVZhckFyciA9ICRkb21PYmotPmFycmF5LiovCiAgcHVibGljICAkYXJyYXkgPSBhcnJheSgpOwogIHB1YmxpYyAgJHBhcnNlX2Vycm9yID0gZmFsc2U7CiAgcHJpdmF0ZSAkcGFyc2VyOwogIHByaXZhdGUgJHBvaW50ZXI7CiAKICAvKiogQ29uc3RydWN0b3I6ICRkb21PYmogPSBuZXcgeG1sVG9BcnJheVBhcnNlcigkeG1sKTsgKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHhtbCkgewogICAgJHRoaXMtPnBvaW50ZXIgPSYgJHRoaXMtPmFycmF5OwogICAgJHRoaXMtPnBhcnNlciA9IHhtbF9wYXJzZXJfY3JlYXRlKCJVVEYtOCIpOwogICAgeG1sX3NldF9vYmplY3QoJHRoaXMtPnBhcnNlciwgJHRoaXMpOwogICAgeG1sX3BhcnNlcl9zZXRfb3B0aW9uKCR0aGlzLT5wYXJzZXIsIFhNTF9PUFRJT05fQ0FTRV9GT0xESU5HLCBmYWxzZSk7CiAgICB4bWxfc2V0X2VsZW1lbnRfaGFuZGxlcigkdGhpcy0+cGFyc2VyLCAidGFnX29wZW4iLCAidGFnX2Nsb3NlIik7CiAgICB4bWxfc2V0X2NoYXJhY3Rlcl9kYXRhX2hhbmRsZXIoJHRoaXMtPnBhcnNlciwgImNkYXRhIik7CiAgICAkdGhpcy0+cGFyc2VfZXJyb3IgPSB4bWxfcGFyc2UoJHRoaXMtPnBhcnNlciwgbHRyaW0oJHhtbCkpPyBmYWxzZSA6IHRydWU7CiAgfQogCiAgLyoqIEZyZWUgdGhlIHBhcnNlci4gKi8KICBwdWJsaWMgZnVuY3Rpb24gX19kZXN0cnVjdCgpIHsgeG1sX3BhcnNlcl9mcmVlKCR0aGlzLT5wYXJzZXIpO30KCiAgLyoqIEdldCB0aGUgeG1sIGVycm9yIGlmIGFuIGFuIGVycm9yIGluIHRoZSB4bWwgZmlsZSBvY2N1cmVkIGR1cmluZyBwYXJzaW5nLiAqLwogIHB1YmxpYyBmdW5jdGlvbiBnZXRfeG1sX2Vycm9yKCkgewogICAgaWYoJHRoaXMtPnBhcnNlX2Vycm9yKSB7CiAgICAgICRlcnJDb2RlID0geG1sX2dldF9lcnJvcl9jb2RlICgkdGhpcy0+cGFyc2VyKTsKICAgICAgJHRoaXNFcnJvciA9ICAiRXJyb3IgQ29kZSBbIi4gJGVyckNvZGUgLiJdIFwiPHN0cm9uZyBzdHlsZT0nY29sb3I6cmVkOyc+IiAuIHhtbF9lcnJvcl9zdHJpbmcoJGVyckNvZGUpLiI8L3N0cm9uZz5cIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0IGNoYXIgIi54bWxfZ2V0X2N1cnJlbnRfY29sdW1uX251bWJlcigkdGhpcy0+cGFyc2VyKSAuICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIGxpbmUgIi54bWxfZ2V0X2N1cnJlbnRfbGluZV9udW1iZXIoJHRoaXMtPnBhcnNlcikuIiI7CiAgICB9ZWxzZSAkdGhpc0Vycm9yID0gJHRoaXMtPnBhcnNlX2Vycm9yOwogICAgcmV0dXJuICR0aGlzRXJyb3I7CiAgfQogCiAgcHJpdmF0ZSBmdW5jdGlvbiB0YWdfb3BlbigkcGFyc2VyLCAkdGFnLCAkYXR0cmlidXRlcykgewogICAgJHRoaXMtPmNvbnZlcnRfdG9fYXJyYXkoJHRhZywgJ2F0dHJpYicpOwogICAgJGlkeD0kdGhpcy0+Y29udmVydF90b19hcnJheSgkdGFnLCAnY2RhdGEnKTsKICAgIGlmKGlzc2V0KCRpZHgpKSB7CiAgICAgICR0aGlzLT5wb2ludGVyWyR0YWddWyRpZHhdID0gQXJyYXkoJ0BpZHgnID0+ICRpZHgsJ0BwYXJlbnQnID0+ICYkdGhpcy0+cG9pbnRlcik7CiAgICAgICR0aGlzLT5wb2ludGVyID0mICR0aGlzLT5wb2ludGVyWyR0YWddWyRpZHhdOwogICAgfWVsc2UgewogICAgICAkdGhpcy0+cG9pbnRlclskdGFnXSA9IEFycmF5KCdAcGFyZW50JyA9PiAmJHRoaXMtPnBvaW50ZXIpOwogICAgICAkdGhpcy0+cG9pbnRlciA9JiAkdGhpcy0+cG9pbnRlclskdGFnXTsKICAgIH0KICAgIGlmICghZW1wdHkoJGF0dHJpYnV0ZXMpKSB7ICR0aGlzLT5wb2ludGVyWydhdHRyaWInXSA9ICRhdHRyaWJ1dGVzOyB9CiAgfQoKICAvKiogQWRkcyB0aGUgY3VycmVudCBlbGVtZW50cyBjb250ZW50IHRvIHRoZSBjdXJyZW50IHBvaW50ZXJbY2RhdGFdIGFycmF5LiAqLwogIHByaXZhdGUgZnVuY3Rpb24gY2RhdGEoJHBhcnNlciwgJGNkYXRhKSB7ICR0aGlzLT5wb2ludGVyWydjZGF0YSddID0gdHJpbSgkY2RhdGEpOyB9CgogIHByaXZhdGUgZnVuY3Rpb24gdGFnX2Nsb3NlKCRwYXJzZXIsICR0YWcpIHsKICAgICRjdXJyZW50ID0gJiAkdGhpcy0+cG9pbnRlcjsKICAgIGlmKGlzc2V0KCR0aGlzLT5wb2ludGVyWydAaWR4J10pKSB7dW5zZXQoJGN1cnJlbnRbJ0BpZHgnXSk7fQogICAKICAgICR0aGlzLT5wb2ludGVyID0gJiAkdGhpcy0+cG9pbnRlclsnQHBhcmVudCddOwogICAgdW5zZXQoJGN1cnJlbnRbJ0BwYXJlbnQnXSk7CiAgIAogICAgaWYoaXNzZXQoJGN1cnJlbnRbJ2NkYXRhJ10pICYmIGNvdW50KCRjdXJyZW50KSA9PSAxKSB7ICRjdXJyZW50ID0gJGN1cnJlbnRbJ2NkYXRhJ107fQogICAgZWxzZSBpZihlbXB0eSgkY3VycmVudFsnY2RhdGEnXSkpIHt1bnNldCgkY3VycmVudFsnY2RhdGEnXSk7fQogIH0KIAogIC8qKiBDb252ZXJ0cyBhIHNpbmdsZSBlbGVtZW50IGl0ZW0gaW50byBhcnJheShlbGVtZW50WzBdKSBpZiBhIHNlY29uZCBlbGVtZW50IG9mIHRoZSBzYW1lIG5hbWUgaXMgZW5jb3VudGVyZWQuICovCiAgcHJpdmF0ZSBmdW5jdGlvbiBjb252ZXJ0X3RvX2FycmF5KCR0YWcsICRpdGVtKSB7CiAgICBpZihpc3NldCgkdGhpcy0+cG9pbnRlclskdGFnXSkgJiYgIWlzX2FycmF5KCR0aGlzLT5wb2ludGVyWyR0YWddKSl7CiAgICAgICRjb250ZW50ID0gJHRoaXMtPnBvaW50ZXJbJHRhZ107CiAgICAgICR0aGlzLT5wb2ludGVyWyR0YWddID0gYXJyYXkoKDApID0+ICRjb250ZW50KTsKICAgICAgJGlkeCA9IDE7CiAgICB9ZWxzZSBpZiAoaXNzZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ10pKSB7CiAgICAgICRpZHggPSBjb3VudCgkdGhpcy0+cG9pbnRlclskdGFnXSk7CiAgICAgIGlmKCFpc3NldCgkdGhpcy0+cG9pbnRlclskdGFnXVswXSkpIHsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+cG9pbnRlclskdGFnXSBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICB1bnNldCgkdGhpcy0+cG9pbnRlclskdGFnXVska2V5XSk7CiAgICAgICAgICAgICR0aGlzLT5wb2ludGVyWyR0YWddWzBdWyRrZXldID0gJHZhbHVlOwogICAgfX19ZWxzZSAkaWR4ID0gbnVsbDsKICAgIHJldHVybiAkaWR4OwogIH0KfQo/Pg==|7|5 106743|ref.xml|63|1322840238|Glen at ITIStudios dot ca|PD9waHANCi8qKg0KICogIFhNTCB0byBBc3NvY2lhdGl2ZSBBcnJheSBDbGFzcw0KICogDQogKiAgVXNhZ2U6DQogKiAgICAgJGRvbU9iaiA9IG5ldyB4bWxUb0FycmF5UGFyc2VyKCR4bWwpOw0KICogICAgICRkb21BcnIgPSAkZG9tT2JqLT5hcnJheTsNCiAqICAgICANCiAqICAgICBpZigkZG9tT2JqLT5wYXJzZV9lcnJvcikgZWNobyAkZG9tT2JqLT5nZXRfeG1sX2Vycm9yKCk7DQogKiAgICAgZWxzZSBwcmludF9yKCRkb21BcnIpOw0KICogDQogKiAgICAgT24gU3VjY2VzczogDQogKiAgICAgZWcuICRkb21BcnJbJ3RvcCddWydlbGVtZW50MiddWydhdHRyaWInXVsndmFyMiddID0+IHZhbDINCiAqIA0KICogICAgIE9uIEVycm9yOg0KICogICAgIGVnLiBFcnJvciBDb2RlIFs3Nl0gIk1pc21hdGNoZWQgdGFnIiwgYXQgY2hhciA1OCBvbiBsaW5lIDMNCiAqLw0KDQovKioNCiAqIENvbnZlcnQgYW4geG1sIGZpbGUgb3Igc3RyaW5nIHRvIGFuIGFzc29jaWF0aXZlIGFycmF5IChpbmNsdWRpbmcgdGhlIHRhZyBhdHRyaWJ1dGVzKTogDQogKiAkZG9tT2JqID0gbmV3IHhtbFRvQXJyYXlQYXJzZXIoJHhtbCk7IA0KICogJGVsZW1WYWwgPSAkZG9tT2JqLT5hcnJheVsnZWxlbWVudCddDQogKiBPcjogICRkb21BcnI9JGRvbU9iai0+YXJyYXk7ICAkZWxlbVZhbCA9ICRkb21BcnJbJ2VsZW1lbnQnXS4NCiAqIA0KICogQHZlcnNpb24gIDIuMA0KICogQHBhcmFtIFN0ciAkeG1sIGZpbGUvc3RyaW5nLg0KICovDQpjbGFzcyB4bWxUb0FycmF5UGFyc2VyIHsNCiAgLyoqIFRoZSBhcnJheSBjcmVhdGVkIGJ5IHRoZSBwYXJzZXIgY2FuIGJlIGFzc2lnbmVkIHRvIGFueSB2YXJpYWJsZTogJGFueVZhckFyciA9ICRkb21PYmotPmFycmF5LiovDQogIHB1YmxpYyAgJGFycmF5ID0gYXJyYXkoKTsNCiAgcHVibGljICAkcGFyc2VfZXJyb3IgPSBmYWxzZTsNCiAgcHJpdmF0ZSAkcGFyc2VyOw0KICBwcml2YXRlICRwb2ludGVyOw0KICANCiAgLyoqIENvbnN0cnVjdG9yOiAkZG9tT2JqID0gbmV3IHhtbFRvQXJyYXlQYXJzZXIoJHhtbCk7ICovDQogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkeG1sKSB7DQogICAgJHRoaXMtPnBvaW50ZXIgPSYgJHRoaXMtPmFycmF5Ow0KICAgICR0aGlzLT5wYXJzZXIgPSB4bWxfcGFyc2VyX2NyZWF0ZSgiVVRGLTgiKTsNCiAgICB4bWxfc2V0X29iamVjdCgkdGhpcy0+cGFyc2VyLCAkdGhpcyk7DQogICAgeG1sX3BhcnNlcl9zZXRfb3B0aW9uKCR0aGlzLT5wYXJzZXIsIFhNTF9PUFRJT05fQ0FTRV9GT0xESU5HLCBmYWxzZSk7DQogICAgeG1sX3NldF9lbGVtZW50X2hhbmRsZXIoJHRoaXMtPnBhcnNlciwgInRhZ19vcGVuIiwgInRhZ19jbG9zZSIpOw0KICAgIHhtbF9zZXRfY2hhcmFjdGVyX2RhdGFfaGFuZGxlcigkdGhpcy0+cGFyc2VyLCAiY2RhdGEiKTsgDQogICAgJHRoaXMtPnBhcnNlX2Vycm9yID0geG1sX3BhcnNlKCR0aGlzLT5wYXJzZXIsIGx0cmltKCR4bWwpKT8gZmFsc2UgOiB0cnVlOw0KICB9DQogIA0KICAvKiogRnJlZSB0aGUgcGFyc2VyLiAqLw0KICBwdWJsaWMgZnVuY3Rpb24gX19kZXN0cnVjdCgpIHsgeG1sX3BhcnNlcl9mcmVlKCR0aGlzLT5wYXJzZXIpO30NCg0KICAvKiogR2V0IHRoZSB4bWwgZXJyb3IgaWYgYW4gYW4gZXJyb3IgaW4gdGhlIHhtbCBmaWxlIG9jY3VyZWQgZHVyaW5nIHBhcnNpbmcuICovDQogIHB1YmxpYyBmdW5jdGlvbiBnZXRfeG1sX2Vycm9yKCkgew0KICAgIGlmKCR0aGlzLT5wYXJzZV9lcnJvcikgeyANCiAgICAgICRlcnJDb2RlID0geG1sX2dldF9lcnJvcl9jb2RlICgkdGhpcy0+cGFyc2VyKTsNCiAgICAgICR0aGlzRXJyb3IgPSAgIkVycm9yIENvZGUgWyIuICRlcnJDb2RlIC4iXSBcIjxzdHJvbmcgc3R5bGU9J2NvbG9yOnJlZDsnPiIgLiB4bWxfZXJyb3Jfc3RyaW5nKCRlcnJDb2RlKS4iPC9zdHJvbmc+XCIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0IGNoYXIgIi54bWxfZ2V0X2N1cnJlbnRfY29sdW1uX251bWJlcigkdGhpcy0+cGFyc2VyKSAuICIgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gbGluZSAiLnhtbF9nZXRfY3VycmVudF9saW5lX251bWJlcigkdGhpcy0+cGFyc2VyKS4iIjsNCiAgICB9ZWxzZSAkdGhpc0Vycm9yID0gJHRoaXMtPnBhcnNlX2Vycm9yOw0KICAgIHJldHVybiAkdGhpc0Vycm9yOw0KICB9DQogIA0KICBwcml2YXRlIGZ1bmN0aW9uIHRhZ19vcGVuKCRwYXJzZXIsICR0YWcsICRhdHRyaWJ1dGVzKSB7DQogICAgJHRoaXMtPmNvbnZlcnRfdG9fYXJyYXkoJHRhZywgJ2F0dHJpYicpOw0KICAgICRpZHg9JHRoaXMtPmNvbnZlcnRfdG9fYXJyYXkoJHRhZywgJ2NkYXRhJyk7IA0KICAgIGlmKGlzc2V0KCRpZHgpKSB7IA0KICAgICAgJHRoaXMtPnBvaW50ZXJbJHRhZ11bJGlkeF0gPSBBcnJheSgnQGlkeCcgPT4gJGlkeCwnQHBhcmVudCcgPT4gJiR0aGlzLT5wb2ludGVyKTsNCiAgICAgICR0aGlzLT5wb2ludGVyID0mICR0aGlzLT5wb2ludGVyWyR0YWddWyRpZHhdOw0KICAgIH1lbHNlIHsNCiAgICAgICR0aGlzLT5wb2ludGVyWyR0YWddID0gQXJyYXkoJ0BwYXJlbnQnID0+ICYkdGhpcy0+cG9pbnRlcik7DQogICAgICAkdGhpcy0+cG9pbnRlciA9JiAkdGhpcy0+cG9pbnRlclskdGFnXTsNCiAgICB9DQogICAgaWYgKCFlbXB0eSgkYXR0cmlidXRlcykpIHsgJHRoaXMtPnBvaW50ZXJbJ2F0dHJpYiddID0gJGF0dHJpYnV0ZXM7IH0NCiAgfQ0KDQogIC8qKiBBZGRzIHRoZSBjdXJyZW50IGVsZW1lbnRzIGNvbnRlbnQgdG8gdGhlIGN1cnJlbnQgcG9pbnRlcltjZGF0YV0gYXJyYXkuICovDQogIHByaXZhdGUgZnVuY3Rpb24gY2RhdGEoJHBhcnNlciwgJGNkYXRhKSB7ICR0aGlzLT5wb2ludGVyWydjZGF0YSddID0gdHJpbSgkY2RhdGEpOyB9DQoNCiAgcHJpdmF0ZSBmdW5jdGlvbiB0YWdfY2xvc2UoJHBhcnNlciwgJHRhZykgew0KICAgICRjdXJyZW50ID0gJiAkdGhpcy0+cG9pbnRlcjsNCiAgICBpZihpc3NldCgkdGhpcy0+cG9pbnRlclsnQGlkeCddKSkge3Vuc2V0KCRjdXJyZW50WydAaWR4J10pO30NCiAgICANCiAgICAkdGhpcy0+cG9pbnRlciA9ICYgJHRoaXMtPnBvaW50ZXJbJ0BwYXJlbnQnXTsNCiAgICB1bnNldCgkY3VycmVudFsnQHBhcmVudCddKTsNCiAgICANCiAgICBpZihpc3NldCgkY3VycmVudFsnY2RhdGEnXSkgJiYgY291bnQoJGN1cnJlbnQpID09IDEpIHsgJGN1cnJlbnQgPSAkY3VycmVudFsnY2RhdGEnXTt9DQogICAgZWxzZSBpZihlbXB0eSgkY3VycmVudFsnY2RhdGEnXSkpIHt1bnNldCgkY3VycmVudFsnY2RhdGEnXSk7fQ0KICB9DQogIA0KICAvKiogQ29udmVydHMgYSBzaW5nbGUgZWxlbWVudCBpdGVtIGludG8gYXJyYXkoZWxlbWVudFswXSkgaWYgYSBzZWNvbmQgZWxlbWVudCBvZiB0aGUgc2FtZSBuYW1lIGlzIGVuY291bnRlcmVkLiAqLw0KICBwcml2YXRlIGZ1bmN0aW9uIGNvbnZlcnRfdG9fYXJyYXkoJHRhZywgJGl0ZW0pIHsgDQogICAgaWYoaXNzZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ11bJGl0ZW1dKSkgeyANCiAgICAgICRjb250ZW50ID0gJHRoaXMtPnBvaW50ZXJbJHRhZ107DQogICAgICAkdGhpcy0+cG9pbnRlclskdGFnXSA9IGFycmF5KCgwKSA9PiAkY29udGVudCk7DQogICAgICAkaWR4ID0gMTsNCiAgICB9ZWxzZSBpZiAoaXNzZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ10pKSB7IA0KICAgICAgJGlkeCA9IGNvdW50KCR0aGlzLT5wb2ludGVyWyR0YWddKTsgDQogICAgICBpZighaXNzZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ11bMF0pKSB7IA0KICAgICAgICBmb3JlYWNoICgkdGhpcy0+cG9pbnRlclskdGFnXSBhcyAka2V5ID0+ICR2YWx1ZSkgew0KICAgICAgICAJdW5zZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ11bJGtleV0pOw0KICAgICAgICAJJHRoaXMtPnBvaW50ZXJbJHRhZ11bMF1bJGtleV0gPSAkdmFsdWU7DQogICAgfX19ZWxzZSAkaWR4ID0gbnVsbDsNCiAgICByZXR1cm4gJGlkeDsNCiAgfQ0KfQ0KPz4NCg0KVGhpcyBpcyBzdXBwbGltZW50YWwgaW5mb3JtYXRpb24gZm9yIHRoZSAiY2xhc3MgeG1sVG9BcnJheVBhcnNlciIuDQpUaGlzIGlzIGEgZnVsbHkgZnVuY3Rpb25hbCBlcnJvciBmcmVlLCBleHRlbnNpdmVseSB0ZXN0ZWQgcGhwIGNsYXNzIHVubGlrZSB0aGUgcG9zdHMgdGhhdCBmb2xsb3cgaXQuDQoNCktleSBwaHJhc2U6IEZ1bGx5IGZ1bmN0aW9uYWwsIGZ1bGx5IHRlc3RlZCwgZXJyb3IgZnJlZSBYTUwgVG8gQXJyYXkgcGFyc2VyLg0KDQo8P3BocA0KLyoqDQogKiBjbGFzcyB4bWxUb0FycmF5UGFyc2VyDQogKiANCiAgTm90ZXM6IA0KICAxLiAnYXR0cmliJyBhbmQgJ2NkYXRhJyBhcmUga2V5cyBhZGRlZCB0byB0aGUgYXJyYXkgd2hlbiB0aGUgZWxlbWVudCBjb250YWlucyBib3RoIGF0dHJpYnV0ZXMgYW5kIGNvbnRlbnQuDQogIDIuIElnbm9yZXMgY29udGVudCB0aGF0IGlzIG5vdCBpbiBiZXR3ZWVuIGl0J3Mgb3duIHNldCBvZiB0YWdzLg0KICAzLiBEb24ndCBrbm93IGlmIGl0IHJlY29nbml6ZXMgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbnMgbm9yIGRvIEkga25vdyBhYm91dCBwcm9jZXNzaW5nIGluc3RydWN0aW9ucy4NCiAgICAgPFw/c29tZV9waSBzb21lX2F0dHI9InNvbWVfdmFsdWUiPz4gIFRoaXMgaXMgdGhlIHNhbWUgYXMgYSBkb2N1bWVudCBkZWNsYXJhdGlvbi4NCiAgNC4gRW1wdHkgZWxlbWVudHMgYXJlIG5vdCBpbmNsdWRlZCB1bmxlc3MgdGhleSBoYXZlIGF0dHJpYnV0ZXMuDQogIDUuIFZlcnNpb24gMi4wLCBEZWMuIDIsIDIwMTEsIGFkZGVkIHhtbCBlcnJvciByZXBvcnRpbmcuDQogIA0KICBVc2FnZToNCiAgICAkZG9tT2JqID0gbmV3IHhtbFRvQXJyYXlQYXJzZXIoJHhtbCk7DQogICAgJGVsZW1WYWwgPSAkZG9tT2JqLT5hcnJheVsnZWxlbWVudCddDQogICAgT3IgYXNzaWduIHRoZSBlbnRpcmUgYXJyYXkgdG8gaXRzIG93biB2YXJpYWJsZToNCiAgICAkZG9tQXJyID0gJGRvbU9iai0+YXJyYXk7DQogICAgJGVsZW1WYWwgPSAkZG9tQXJyWydlbGVtZW50J10NCiAgDQogIEV4YW1wbGU6DQogICAgJHhtbCA9ICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4NCiAgICA8dG9wPg0KICAgICAgPGVsZW1lbnQxPmVsZW1lbnQgY29udGVudCAxPC9lbGVtZW50MT4NCiAgICAgIDxlbGVtZW50MiB2YXIyPSJ2YWwyIiAvPg0KICAgICAgPGVsZW1lbnQzIHZhcjM9InZhbDMiIHZhcjQ9InZhbDQiPmVsZW1lbnQgY29udGVudCAzPC9lbGVtZW50Mz4gDQogICAgICA8ZWxlbWVudDMgdmFyNT0idmFsNSI+ZWxlbWVudCBjb250ZW50IDQ8L2VsZW1lbnQzPg0KICAgICAgPGVsZW1lbnQzIHZhcjY9InZhbDYiIC8+DQogICAgICA8ZWxlbWVudDM+ZWxlbWVudCBjb250ZW50IDc8L2VsZW1lbnQzPg0KICAgIDwvdG9wPic7DQogICAgDQogICAgJGRvbU9iaiA9IG5ldyB4bWxUb0FycmF5UGFyc2VyKCR4bWwpOw0KICAgICRkb21BcnIgPSAkZG9tT2JqLT5hcnJheTsNCiAgICANCiAgICBpZigkZG9tT2JqLT5wYXJzZV9lcnJvcikgZWNobyAkZG9tT2JqLT5nZXRfeG1sX2Vycm9yKCk7DQogICAgZWxzZSBwcmludF9yKCRkb21BcnIpOw0KDQogICAgT24gU3VjY2VzczoNCiAgICAkZG9tQXJyWyd0b3AnXVsnZWxlbWVudDEnXSA9PiBlbGVtZW50IGNvbnRlbnQgMQ0KICAgICRkb21BcnJbJ3RvcCddWydlbGVtZW50MiddWydhdHRyaWInXVsndmFyMiddID0+IHZhbDINCiAgICAkZG9tQXJyWyd0b3AnXVsnZWxlbWVudDMnXVsnMCddWydhdHRyaWInXVsndmFyMyddID0+IHZhbDMNCiAgICAkZG9tQXJyWyd0b3AnXVsnZWxlbWVudDMnXVsnMCddWydhdHRyaWInXVsndmFyNCddID0+IHZhbDQNCiAgICAkZG9tQXJyWyd0b3AnXVsnZWxlbWVudDMnXVsnMCddWydjZGF0YSddID0+IGVsZW1lbnQgY29udGVudCAzDQogICAgJGRvbUFyclsndG9wJ11bJ2VsZW1lbnQzJ11bJzEnXVsnYXR0cmliJ11bJ3ZhcjUnXSA9PiB2YWw1DQogICAgJGRvbUFyclsndG9wJ11bJ2VsZW1lbnQzJ11bJzEnXVsnY2RhdGEnXSA9PiBlbGVtZW50IGNvbnRlbnQgNA0KICAgICRkb21BcnJbJ3RvcCddWydlbGVtZW50MyddWycyJ11bJ2F0dHJpYiddWyd2YXI2J10gPT4gdmFsNg0KICAgICRkb21BcnJbJ3RvcCddWydlbGVtZW50MyddWyczJ10gPT4gZWxlbWVudCBjb250ZW50IDcNCiAgICANCiAgICBPbiBFcnJvcjoNCiAgICBFcnJvciBDb2RlIFs3Nl0gIk1pc21hdGNoZWQgdGFnIiwgYXQgY2hhciA1OCBvbiBsaW5lIDMNCiAqDQogKi8NCj8+|34|20 84758|ref.xml|67|1217257764|wolfon.AT-DoG.inbox.ru|RmluYWxseSBhIHNpbXBsZSB4bWwgPT4gYXJyYXkgY2xhc3MuCkZ1bmN0aW9uaW5nIGxpa2UgU2ltcGxlWE1MIGxpYnJhcnkuCgo8P3BocApjbGFzcyB4bWwgIHsKICAgIHByaXZhdGUgJHBhcnNlcjsKICAgIHByaXZhdGUgJHBvaW50ZXI7CiAgICBwdWJsaWMgJGRvbTsKICAgIAogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkYXRhKSB7CiAgICAgICAgJHRoaXMtPnBvaW50ZXIgPSYgJHRoaXMtPmRvbTsKICAgICAgICAkdGhpcy0+cGFyc2VyID0geG1sX3BhcnNlcl9jcmVhdGUoKTsKICAgICAgICB4bWxfc2V0X29iamVjdCgkdGhpcy0+cGFyc2VyLCAkdGhpcyk7CiAgICAgICAgeG1sX3BhcnNlcl9zZXRfb3B0aW9uKCR0aGlzLT5wYXJzZXIsIFhNTF9PUFRJT05fQ0FTRV9GT0xESU5HLCBmYWxzZSk7CiAgICAgICAgeG1sX3NldF9lbGVtZW50X2hhbmRsZXIoJHRoaXMtPnBhcnNlciwgInRhZ19vcGVuIiwgInRhZ19jbG9zZSIpOwogICAgICAgIHhtbF9zZXRfY2hhcmFjdGVyX2RhdGFfaGFuZGxlcigkdGhpcy0+cGFyc2VyLCAiY2RhdGEiKTsKICAgICAgICB4bWxfcGFyc2UoJHRoaXMtPnBhcnNlciwgJGRhdGEpOwogICAgfQogICAKICAgIHByaXZhdGUgZnVuY3Rpb24gdGFnX29wZW4oJHBhcnNlciwgJHRhZywgJGF0dHJpYnV0ZXMpIHsKICAgIAlpZiAoaXNzZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ11bJ0BhdHRyaWJ1dGVzJ10pKSB7CiAgICAJCSRjb250ZW50ID0gJHRoaXMtPnBvaW50ZXJbJHRhZ107CiAgICAJCSR0aGlzLT5wb2ludGVyWyR0YWddID0gYXJyYXkoMCA9PiAkY29udGVudCk7CiAgICAJCSRpZHggPSAxOwogICAgCX0gZWxzZSBpZiAoaXNzZXQoJHRoaXMtPnBvaW50ZXJbJHRhZ10pKQogICAgCQkkaWR4ID0gY291bnQoJHRoaXMtPnBvaW50ZXJbJHRhZ10pOwoKICAgIAlpZiAoaXNzZXQoJGlkeCkpIHsKCSAgICAgICAgJHRoaXMtPnBvaW50ZXJbJHRhZ11bJGlkeF0gPSBBcnJheSgKCSAgICAgICAgCSdAaWR4JyA9PiAkaWR4LAoJICAgICAgICAgICAgJ0BwYXJlbnQnID0+ICYkdGhpcy0+cG9pbnRlcik7CgkgICAgICAgCSR0aGlzLT5wb2ludGVyID0mICR0aGlzLT5wb2ludGVyWyR0YWddWyRpZHhdOwogICAgCX0gZWxzZSB7CgkgICAgCSR0aGlzLT5wb2ludGVyWyR0YWddID0gQXJyYXkoCgkgICAgICAgICAgICAnQHBhcmVudCcgPT4gJiR0aGlzLT5wb2ludGVyKTsKCSAgICAJJHRoaXMtPnBvaW50ZXIgPSYgJHRoaXMtPnBvaW50ZXJbJHRhZ107CiAgICAJfQogICAgCWlmICghZW1wdHkoJGF0dHJpYnV0ZXMpKQogICAgCQkkdGhpcy0+cG9pbnRlclsnQGF0dHJpYnV0ZXMnXSA9ICRhdHRyaWJ1dGVzOwogICAgfQoKICAgIHByaXZhdGUgZnVuY3Rpb24gY2RhdGEoJHBhcnNlciwgJGNkYXRhKSB7CiAgICAgICAJJHRoaXMtPnBvaW50ZXJbJ0BkYXRhJ10gPSAkY2RhdGE7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiB0YWdfY2xvc2UoJHBhcnNlciwgJHRhZykgewogICAgCSRjdXJyZW50ID0gJiAkdGhpcy0+cG9pbnRlcjsKICAgIAlpZiAoaXNzZXQoJHRoaXMtPnBvaW50ZXJbJ0BpZHgnXSkpCiAgICAgICAgCXVuc2V0KCRjdXJyZW50WydAaWR4J10pOwogICAgCQogICAgCSR0aGlzLT5wb2ludGVyID0gJiAkdGhpcy0+cG9pbnRlclsnQHBhcmVudCddOwogICAgCQogICAgICAJdW5zZXQoJGN1cnJlbnRbJ0BwYXJlbnQnXSk7CiAgICAgICAJaWYgKGlzc2V0KCRjdXJyZW50WydAZGF0YSddKSAmJiBjb3VudCgkY3VycmVudCkgPT0gMSkKICAgICAgIAkJJGN1cnJlbnQgPSAkY3VycmVudFsnQGRhdGEnXTsKICAgICAgIAllbHNlIGlmIChlbXB0eSgkY3VycmVudFsnQGRhdGEnXSl8fCRjdXJyZW50WydAZGF0YSddPT0wKQogICAgICAgCQl1bnNldCgkY3VycmVudFsnQGRhdGEnXSk7CiAgICB9Cn0KPz4KCm1heWJlIEknbGwgZG8gc29tZSBleHBsYW5hdGlvbnMgb24gaGFicg==|4|2 79043|ref.xml|33|1194470010|geoff at spacevs dot com|UmVhZGluZyB4bWwgaW50byBhIGNsYXNzOgoKPD9QSFAKICAgICAgICBjbGFzcyBYbWxEYXRhIHt9CiAgICAgICAgJGVsZW1lbnRzID0gYXJyYXkoKTsKICAgICAgICAkZWxlbWVudHNbXSA9JiBuZXcgWG1sRGF0YSgpOwogICAgICAgIGZ1bmN0aW9uIHN0YXJ0RWxlbWVudCgkcGFyc2VyLCAkbmFtZSwgJGF0dHJzKSB7CiAgICAgICAgICAgICAgICBnbG9iYWwgJGVsZW1lbnRzOwogICAgICAgICAgICAgICAgJGVsZW1lbnQgPSYgbmV3IFhNTERhdGEoKTsKICAgICAgICAgICAgICAgICRlbGVtZW50c1tjb3VudCgkZWxlbWVudHMpLTFdLT4kbmFtZSA9JiAkZWxlbWVudDsKICAgICAgICAgICAgICAgICRlbGVtZW50c1tdID0mICRlbGVtZW50OwogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBlbmRFbGVtZW50KCRwYXJzZXIsICRuYW1lKSB7CiAgICAgICAgICAgICAgICBnbG9iYWwgJGVsZW1lbnRzOwogICAgICAgICAgICAgICAgYXJyYXlfcG9wKCRlbGVtZW50cyk7CiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIGNoYXJhY3RlckRhdGEoJHBhcnNlciwgJGRhdGEpIHsKICAgICAgICAgICAgICAgIGdsb2JhbCAkZWxlbWVudHM7CiAgICAgICAgICAgICAgICAkZWxlbWVudHNbY291bnQoJGVsZW1lbnRzKS0xXS0+ZGF0YSA9ICRkYXRhOwogICAgICAgIH0KICAgICAgICAkeG1sX3BhcnNlciAgICAgPSB4bWxfcGFyc2VyX2NyZWF0ZSgpOwogICAgICAgIHhtbF9zZXRfZWxlbWVudF9oYW5kbGVyKCR4bWxfcGFyc2VyLCAic3RhcnRFbGVtZW50IiwgImVuZEVsZW1lbnQiKTsKICAgICAgICB4bWxfc2V0X2NoYXJhY3Rlcl9kYXRhX2hhbmRsZXIoJHhtbF9wYXJzZXIsICJjaGFyYWN0ZXJEYXRhIik7CiAgICAgICAgeG1sX3BhcnNlKCR4bWxfcGFyc2VyLCAkeG1sLCB0cnVlKTsKICAgICAgICB4bWxfcGFyc2VyX2ZyZWUoJHhtbF9wYXJzZXIpOwogICAgICAgICRyZXF1ZXN0ID0mIGFycmF5X3BvcCgkZWxlbWVudHMpOwoKICAgICAgICBlY2hvICRyZXF1ZXN0LT5MT0dJTi0+VVNFUi0+ZGF0YTsKPz4=|1|2 78678|ref.xml|60|1193086744|demonpants at gmail dot com|SSB3YW50ZWQgdG8gYWNjZXNzIHRoZSBJU0JOIGRhdGFiYXNlLCBhbmQgd2FzIHByZXZpb3VzbHkgcGFyc2luZyB0aGUgSFRNTCBzdHJpbmcgZ2VuZXJhdGVkIGZyb20gdGhlaXIgbWFpbiBwYWdlLCB0aGF0IGlzIHVudGlsIEkgZGlzY292ZXJlZCB0aGV5IGhhdmUgYW4gQVBJIHRoYXQgcmV0dXJucyBYTUwuCgpTbywgaWYgYW55b25lIHdhbnRzIHRvIGdldCBzb21lIGluZm9ybWF0aW9uIGZyb20gdGhlIElTQk4gZGF0YWJhc2UsIGFsbCB5b3UgbmVlZCB0byBkbyBpcyB0aGUgZm9sbG93aW5nLgoKPD9waHAKLy9TZWFyY2ggdGhlIElTQk4gZGF0YWJhc2UgZm9yIHRoZSBib29rLgoJCQkkdXJsID0gImh0dHA6Ly93d3cuaXNibmRiLmNvbS9hcGkvYm9va3MueG1sPyBhY2Nlc3Nfa2V5PUtFWSZpbmRleDE9aXNibiZ2YWx1ZTE9JF9HRVRbSVNCTl0iOwoJCQkkcCA9IHhtbF9wYXJzZXJfY3JlYXRlKCk7CgkJCXhtbF9wYXJzZV9pbnRvX3N0cnVjdCgkcCxmaWxlX2dldF9jb250ZW50cygkdXJsKSwkcmVzdWx0cywkaW5kZXgpOwoJCQl4bWxfcGFyc2VyX2ZyZWUoJHApOwoKCQkJJHRpdGxlID0gJHJlc3VsdHNbJGluZGV4W1RJVExFTE9OR11bMF1dW3ZhbHVlXTsKCQkJJGF1dGhvciA9ICRyZXN1bHRzWyRpbmRleFtBVVRIT1JTVEVYVF1bMF1dW3ZhbHVlXTsKCQkJJHB1Ymxpc2hlciA9ICRyZXN1bHRzWyRpbmRleFtQVUJMSVNIRVJURVhUXVswXV1bdmFsdWVdOwo/PgoKWW91IHdpbGwgbmVlZCB0byBnZXQgYW4gYWNjZXNzIGtleSBmcm9tIGlzYm5kYi5jb20sIGJ1dCBpdCB0YWtlcyB0d28gc2Vjb25kcyBhbmQgaXMgZnJlZS4gV2hlbiB5b3UgZ2V0IGl0LCByZXBsYWNlIEtFWSBpbiB0aGUgVVJMIHdpdGggeW91ciBvd24ga2V5LiBBbHNvLCBteSBjb2RlIGFib3ZlIHdpbGwgc2VhcmNoIGZvciB0aGUgYm9vayB0aGF0IGZpdHMgdGhlIElTQk4gbnVtYmVyIHN0b3JlZCBpbiB0aGUgR0VUIHZhcmlhYmxlIElTQk4gLSB5b3UgY2FuIHNlYXJjaCBieSBvdGhlciBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gbW9yZSB0aGFuIG9uZSByZXN1bHQsIGJ1dCBteSBleGFtcGxlIGlzICBmb3IgYSBzaW1wbGUgSVNCTiBzZWFyY2gu|3|2 77700|ref.xml|29|1189326123|Zvjezdan Patz|VGhlIHByb2JsZW0gSSBoYWQgd2FzIEkgbmVlZGVkIHRvIGdlbmVyYXRlIHhtbCBvbiB0aGUgc2NyZWVuIGZvciB1c2VycyB0byBhY3R1YWxseSBzZWUgYW5kIGNvcHkgdG8gYSBmaWxlLiAgDQoNCkknbSBnZW5lcmF0aW5nIHRoZSB4bWwgbWFudWFsbHkgZnJvbSBhIHBocCBmaWxlIGFuZCB0aGUgYnJvd3NlciBrZXB0IGludGVycHJldGluZyB0aGUgeG1sLi4ubm90IHZlcnkgaGVscGZ1bC4gIA0KDQpUaGlzIGlzIGhvdyB5b3UgZ2V0IGFyb3VuZCBpdDoNCg0KPD9waHANCg0KJGZpbGUgID0gZmlsZV9nZXRfY29udGVudHMoImh0dHA6Ly9leGFtcGxlLmNvbS94bWwucGhwP3doYXRldmVyPSR3aGF0ZXZlciIpOw0KcHJpbnQgbmwyYnIoaHRtbGVudGl0aWVzKCRmaWxlKSk7DQoNCj8+IA0KDQpQcmludHMgYWxsIG15IHhtbCBxdWl0ZSBuaWNlbHku|2|5 76417|ref.xml|17|1184357072|v9 at fakehalo dot us|SSBuZWVkZWQgdGhpcyBmb3Igd29yay9wZXJzb25hbCB1c2UuICBTb21ldGltZXMgeW91J2xsIGhhdmUgYSBYTUwgc3RyaW5nIGdlbmVyYXRlZCBhcyBvbmUgbG9uZyBzdHJpbmcgYW5kIG5vIGxpbmUgYnJlYWtzLi4ubnVzb2FwIGluIHRoZSBjYXNlIG9mIHRvZGF5L3dvcmssIGJ1dCB0aGVyZSBhcmUgYW55IG90aGVyIG51bWJlciBvZiBwb3NzaWJsZSB0aGluZ3MgdGhhdCB3aWxsIGdlbmVyYXRlIHRoZXNlLiAgQW55d2F5cywgdGhpcyBzaW1wbHkgdGFrZXMgYSBsb25nIFhNTCBzdHJpbmcgYW5kIHJldHVybnMgYW4gaW5kZW50ZWQvbGluZS1icmVha2VkIHZlcnNpb24gb2YgdGhlIHN0cmluZyBmb3IgZGlzcGxheS9yZWFkYWJpbGl0eS4NCg0KPD9waHANCmZ1bmN0aW9uIHhtbEluZGVudCgkc3RyKXsNCgkkcmV0ID0gIiI7DQoJJGluZGVudCA9IDA7DQoJJGluZGVudEluYyA9IDM7DQoJJG5vSW5kZW50ID0gZmFsc2U7DQoJd2hpbGUoKCRsID0gc3RycG9zKCRzdHIsIjwiLCRpKSkhPT1mYWxzZSl7DQoJCWlmKCRsIT0kciAmJiAkaW5kZW50PjApeyAkcmV0IC49ICJcbiIgLiBzdHJfcmVwZWF0KCIgIiwkaW5kZW50KSAuIHN1YnN0cigkc3RyLCRyLCgkbC0kcikpOyB9DQoJCSRpID0gJGwrMTsNCgkJJHIgPSBzdHJwb3MoJHN0ciwiPiIsJGkpKzE7DQoJCSR0ID0gc3Vic3RyKCRzdHIsJGwsKCRyLSRsKSk7DQoJCWlmKHN0cnBvcygkdCwiLyIpPT0xKXsNCgkJCSRpbmRlbnQgLT0gJGluZGVudEluYzsNCgkJCSRub0luZGVudCA9IHRydWU7DQoJCX0NCgkJZWxzZSBpZigoJHItJGwtc3RycG9zKCR0LCIvIikpPT0yIHx8IHN1YnN0cigkdCwwLDIpPT0iPD8iKXsgJG5vSW5kZW50ID0gdHJ1ZTsgfQ0KCQlpZigkaW5kZW50PDApeyAkaW5kZW50ID0gMDsgfQ0KCQlpZigkcmV0KXsgJHJldCAuPSAiXG4iOyB9DQoJCSRyZXQgLj0gc3RyX3JlcGVhdCgiICIsJGluZGVudCk7DQoJCSRyZXQgLj0gJHQ7DQoJCWlmKCEkbm9JbmRlbnQpeyAkaW5kZW50ICs9ICRpbmRlbnRJbmM7IH0NCgkJJG5vSW5kZW50ID0gZmFsc2U7DQoJfQ0KCSRyZXQgLj0gIlxuIjsNCglyZXR1cm4oJHJldCk7DQp9DQo/Pg0KDQooLi4udGhpcyB3YXMgb25seSB0ZXN0ZWQgZm9yIHdoYXQgaSBuZWVkZWQgYXQgd29yaywgY291bGQgUE9TU0lCTFkgbmVlZCBhZGRpdGlvbnMp|1|5 72051|ref.xml|60|1167492440|geoffers [at] gmail [dot] com|VGltZSB0byBhZGQgbXkgYXR0ZW1wdCBhdCBhIHZlcnkgc2ltcGxlIHNjcmlwdCB0aGF0IHBhcnNlcyBYTUwgaW50byBhIHN0cnVjdHVyZToKCjw/cGhwCgpjbGFzcyBTaW1wbGVfUGFyc2VyIAp7Cgl2YXIgJHBhcnNlcjsKCXZhciAkZXJyb3JfY29kZTsKCXZhciAkZXJyb3Jfc3RyaW5nOwoJdmFyICRjdXJyZW50X2xpbmU7Cgl2YXIgJGN1cnJlbnRfY29sdW1uOwoJdmFyICRkYXRhID0gYXJyYXkoKTsKCXZhciAkZGF0YXMgPSBhcnJheSgpOwoJCglmdW5jdGlvbiBwYXJzZSgkZGF0YSkKCXsKCQkkdGhpcy0+cGFyc2VyID0geG1sX3BhcnNlcl9jcmVhdGUoJ1VURi04Jyk7CgkJeG1sX3NldF9vYmplY3QoJHRoaXMtPnBhcnNlciwgJHRoaXMpOwoJCXhtbF9wYXJzZXJfc2V0X29wdGlvbigkdGhpcy0+cGFyc2VyLCBYTUxfT1BUSU9OX1NLSVBfV0hJVEUsIDEpOwoJCXhtbF9zZXRfZWxlbWVudF9oYW5kbGVyKCR0aGlzLT5wYXJzZXIsICd0YWdfb3BlbicsICd0YWdfY2xvc2UnKTsKCQl4bWxfc2V0X2NoYXJhY3Rlcl9kYXRhX2hhbmRsZXIoJHRoaXMtPnBhcnNlciwgJ2NkYXRhJyk7CgkJaWYgKCF4bWxfcGFyc2UoJHRoaXMtPnBhcnNlciwgJGRhdGEpKQoJCXsKCQkJJHRoaXMtPmRhdGEgPSBhcnJheSgpOwoJCQkkdGhpcy0+ZXJyb3JfY29kZSA9IHhtbF9nZXRfZXJyb3JfY29kZSgkdGhpcy0+cGFyc2VyKTsKCQkJJHRoaXMtPmVycm9yX3N0cmluZyA9IHhtbF9lcnJvcl9zdHJpbmcoJHRoaXMtPmVycm9yX2NvZGUpOwoJCQkkdGhpcy0+Y3VycmVudF9saW5lID0geG1sX2dldF9jdXJyZW50X2xpbmVfbnVtYmVyKCR0aGlzLT5wYXJzZXIpOwoJCQkkdGhpcy0+Y3VycmVudF9jb2x1bW4gPSB4bWxfZ2V0X2N1cnJlbnRfY29sdW1uX251bWJlcigkdGhpcy0+cGFyc2VyKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHRoaXMtPmRhdGEgPSAkdGhpcy0+ZGF0YVsnY2hpbGQnXTsKCQl9CgkJeG1sX3BhcnNlcl9mcmVlKCR0aGlzLT5wYXJzZXIpOwoJfQoKCWZ1bmN0aW9uIHRhZ19vcGVuKCRwYXJzZXIsICR0YWcsICRhdHRyaWJzKQoJewoJCSR0aGlzLT5kYXRhWydjaGlsZCddWyR0YWddW10gPSBhcnJheSgnZGF0YScgPT4gJycsICdhdHRyaWJzJyA9PiAkYXR0cmlicywgJ2NoaWxkJyA9PiBhcnJheSgpKTsKCQkkdGhpcy0+ZGF0YXNbXSA9JiAkdGhpcy0+ZGF0YTsKCQkkdGhpcy0+ZGF0YSA9JiAkdGhpcy0+ZGF0YVsnY2hpbGQnXVskdGFnXVtjb3VudCgkdGhpcy0+ZGF0YVsnY2hpbGQnXVskdGFnXSktMV07Cgl9CgoJZnVuY3Rpb24gY2RhdGEoJHBhcnNlciwgJGNkYXRhKQoJewoJCSR0aGlzLT5kYXRhWydkYXRhJ10gLj0gJGNkYXRhOwoJfQoKCWZ1bmN0aW9uIHRhZ19jbG9zZSgkcGFyc2VyLCAkdGFnKQoJewoJCSR0aGlzLT5kYXRhID0mICR0aGlzLT5kYXRhc1tjb3VudCgkdGhpcy0+ZGF0YXMpLTFdOwoJCWFycmF5X3BvcCgkdGhpcy0+ZGF0YXMpOwoJfQp9CgokeG1sX3BhcnNlciA9IG5ldyBTaW1wbGVfUGFyc2VyOwokeG1sX3BhcnNlci0+cGFyc2UoJzxmb28+PGJhcj50ZXN0PC9iYXI+PC9mb28+Jyk7Cgo/Pg==|6|4 71941|ref.xml|33|1166954003|Didier: dlvb ** free * fr|SGkgIQ0KDQpBZnRlciBwYXJzaW5nIHRoZSBYTUwgYW5kIG1vZGlmeWluZyBpdCwgSSBqdXN0IGFkZCBhIG1ldGhvZCB0byByZWJ1aWxkIHRoZSBYTUwgZm9ybSB0aGUgaW50ZXJuYWwgc3RydWN0dXJlICh4bWxwLT5kb2N1bWVudCkuIA0KVGhlIG1ldGhvZCB4bWxwLT50b1hNTCB3cml0ZXMgaW50byB4bWxwLT5YTUwgYXR0cmlidXRlcy4gVGhlbiwgeW91IGp1c3QgaGF2ZSB0byBvdXRwdXQgaXQuDQpJIGhvcGUgaXQgaGVscHMuDQoNCjw/cGhwDQpjbGFzcyBYTUxQYXJzZXIgew0KDQp2YXIgJHBhcnNlcjsNCnZhciAkZmlsZVBhdGg7DQp2YXIgJGRvY3VtZW50Ow0KdmFyICRjdXJyVGFnOw0KdmFyICR0YWdTdGFjazsNCnZhciAkWE1MOw0KdmFyICRfdGFnX3RvX2Nsb3NlID0gZmFsc2U7DQp2YXIgJFRBR19BVFRSSUJVVCA9ICdhdHRyJzsNCnZhciAkVEFHX0RBVEEgPSAnZGF0YSc7DQoNCmZ1bmN0aW9uIFhNTFBhcnNlcigkcGF0aCkgew0KCSR0aGlzLT5wYXJzZXIgPSB4bWxfcGFyc2VyX2NyZWF0ZSgpOw0KCSR0aGlzLT5maWxlUGF0aCA9ICRwYXRoOw0KCSR0aGlzLT5kb2N1bWVudCA9IGFycmF5KCk7DQoJJHRoaXMtPmN1cnJUYWcgPSYgJHRoaXMtPmRvY3VtZW50Ow0KCSR0aGlzLT50YWdTdGFjayA9IGFycmF5KCk7DQoJJHRoaXMtPlhNTCA9ICIiOw0KfQ0KDQpmdW5jdGlvbiBwYXJzZSgpIHsNCgl4bWxfc2V0X29iamVjdCgkdGhpcy0+cGFyc2VyLCAkdGhpcyk7DQoJeG1sX3NldF9jaGFyYWN0ZXJfZGF0YV9oYW5kbGVyKCR0aGlzLT5wYXJzZXIsICdkYXRhSGFuZGxlcicpOw0KCXhtbF9zZXRfZWxlbWVudF9oYW5kbGVyKCR0aGlzLT5wYXJzZXIsICdzdGFydEhhbmRsZXInLCAnZW5kSGFuZGxlcicpOw0KDQogICBpZighKCRmcCA9IGZvcGVuKCR0aGlzLT5maWxlUGF0aCwgInIiKSkpIHsNCiAgICAgICBkaWUoIkNhbm5vdCBvcGVuIFhNTCBkYXRhIGZpbGU6ICR0aGlzLT5maWxlUGF0aCIpOw0KICAgICAgIHJldHVybiBmYWxzZTsNCiAJfQ0KDQoJd2hpbGUoJGRhdGEgPSBmcmVhZCgkZnAsIDQwOTYpKSB7DQoJCWlmKCF4bWxfcGFyc2UoJHRoaXMtPnBhcnNlciwgJGRhdGEsIGZlb2YoJGZwKSkpIHsNCgkJCWRpZShzcHJpbnRmKCJYTUwgZXJyb3I6ICVzIGF0IGxpbmUgJWQiLA0KCQkJICAgIHhtbF9lcnJvcl9zdHJpbmcoeG1sX2dldF9lcnJvcl9jb2RlKCR0aGlzLT5wYXJzZXIpKSwNCiAgICAgICAgICAgICB4bWxfZ2V0X2N1cnJlbnRfbGluZV9udW1iZXIoJHRoaXMtPnBhcnNlcikpKTsNCiAgICAgIH0NCgl9DQoNCglmY2xvc2UoJGZwKTsNCgl4bWxfcGFyc2VyX2ZyZWUoJHRoaXMtPnBhcnNlcik7DQoNCglyZXR1cm4gdHJ1ZTsNCn0NCg0KZnVuY3Rpb24gc3RhcnRIYW5kbGVyKCRwYXJzZXIsICRuYW1lLCAkYXR0cmlicykgew0KCSBpZighaXNzZXQoJHRoaXMtPmN1cnJUYWdbJG5hbWVdKSkNCgkJICAkdGhpcy0+Y3VyclRhZ1skbmFtZV0gPSBhcnJheSgpOw0KDQoJICRuZXdUYWcgPSBhcnJheSgpOw0KCSBpZighZW1wdHkoJGF0dHJpYnMpKQ0KCQkgICRuZXdUYWdbJHRoaXMtPlRBR19BVFRSSUJVVF0gPSAkYXR0cmliczsNCgkgYXJyYXlfcHVzaCgkdGhpcy0+Y3VyclRhZ1skbmFtZV0sICRuZXdUYWcpOw0KDQoJICR0ID0mICR0aGlzLT5jdXJyVGFnWyRuYW1lXTsNCgkgJHRoaXMtPmN1cnJUYWcgPSYgJHRbY291bnQoJHQpLTFdOw0KCSBhcnJheV9wdXNoKCR0aGlzLT50YWdTdGFjaywgJG5hbWUpOw0KfQ0KDQpmdW5jdGlvbiBkYXRhSGFuZGxlcigkcGFyc2VyLCAkZGF0YSkgew0KCSRkYXRhID0gdHJpbSgkZGF0YSk7DQoNCglpZighZW1wdHkoJGRhdGEpKSB7DQoJICBpZihpc3NldCgkdGhpcy0+Y3VyclRhZ1skdGhpcy0+VEFHX0RBVEFdKSkNCgkJCSR0aGlzLT5jdXJyVGFnWyR0aGlzLT5UQUdfREFUQV0gLj0gJGRhdGE7DQoJICBlbHNlDQoJCQkkdGhpcy0+Y3VyclRhZ1skdGhpcy0+VEFHX0RBVEFdID0gJGRhdGE7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBlbmRIYW5kbGVyKCRwYXJzZXIsICRuYW1lKSB7DQoJICR0aGlzLT5jdXJyVGFnID0mICR0aGlzLT5kb2N1bWVudDsNCgkgYXJyYXlfcG9wKCR0aGlzLT50YWdTdGFjayk7DQoNCgkgZm9yKCRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+dGFnU3RhY2spOyAkaSsrKSB7DQoJCSAgJHQgPSYgJHRoaXMtPmN1cnJUYWdbJHRoaXMtPnRhZ1N0YWNrWyRpXV07DQoJCSAgJHRoaXMtPmN1cnJUYWcgPSYgJHRbY291bnQoJHQpLTFdOw0KCSB9DQp9DQoNCmZ1bmN0aW9uIGNsZWFyT3V0cHV0ICgpIHsNCgkkdGhpcy0+WE1MID0gIiI7DQp9DQoNCmZ1bmN0aW9uIG9wZW5UYWcgKCR0YWcpIHsNCgkkdGhpcy0+WE1MLj0iPCIuc3RydG9sb3dlciAoJHRhZyk7DQoJJHRoaXMtPl90YWdfdG9fY2xvc2UgPSB0cnVlOw0KfQ0KDQpmdW5jdGlvbiBjbG9zZVRhZyAoKSB7DQoJaWYgKCR0aGlzLT5fdGFnX3RvX2Nsb3NlKSB7DQoJCSR0aGlzLT5YTUwuPSI+IjsNCgkJJHRoaXMtPl90YWdfdG9fY2xvc2UgPSBmYWxzZTsNCgl9DQp9DQoNCmZ1bmN0aW9uIGNsb3NpbmdUYWcgKCR0YWcpIHsNCgkkdGhpcy0+WE1MLj0iPC8iLnN0cnRvbG93ZXIgKCR0YWcpLiI+IjsNCn0NCg0KZnVuY3Rpb24gb3V0cHV0X2F0dHJpYnV0ZXMgKCRjb250ZW51X2ZpbHMpIHsNCglmb3JlYWNoICgkY29udGVudV9maWxzWyR0aGlzLT5UQUdfQVRUUklCVVRdIGFzICRub21BdHRyaWJ1dCA9PiAkdmFsZXVyKSB7DQoJCSR0aGlzLT5YTUwuPSAiICIuc3RydG9sb3dlcigkbm9tQXR0cmlidXQpLiI9XCIiLiR2YWxldXIuIlwiIjsNCgl9DQp9DQoNCmZ1bmN0aW9uIGFkZERhdGEgKCR0ZXh0ZSkgew0KLy8gdG8gYmUgY29tcGxldGVkDQoJJGNhICA9IGFycmF5ICgiw6kiLCAiw6giLCAiw6oiLCAiw6AiKTsNCgkkcGFyID0gYXJyYXkgKCImZWFjdXRlOyIsICImZWdyYXZlOyIsICImZWNpcmM7IiwgImFncmF2ZTsiKTsNCglyZXR1cm4gaHRtbHNwZWNpYWxjaGFycyhzdHJfcmVwbGFjZSAoJGNhLCAkcGFyLCAkdGV4dGUpLCBFTlRfTk9RVU9URVMpOw0KfQ0KDQpmdW5jdGlvbiB0b1hNTCAoJHRhZ3M9IiIpIHsNCglpZiAoJHRhZ3M9PSIiKSB7DQoJCSR0YWdzID0gJHRoaXMtPmRvY3VtZW50Ow0KICAgICAgJHRoaXMtPmNsZWFyT3V0cHV0ICgpOw0KCX0NCg0KCWZvcmVhY2ggKCR0YWdzIGFzICR0YWcgPT4gJGNvbnRlbnUpIHsNCgkJJHRoaXMtPnByb2Nlc3MgKCR0YWcsICRjb250ZW51KTsNCgl9DQp9IA0KDQpmdW5jdGlvbiBwcm9jZXNzICgkdGFnLCAkY29udGVudSkgew0KIAkvLyBQb3VyIHRvdXMgbGVzIFRBR3MNCglmb3JlYWNoICgkY29udGVudSBhcyAkaW5kaWNlID0+ICRjb250ZW51X2ZpbHMpIHsNCiAJCSR0aGlzLT5vcGVuVGFnICgkdGFnKTsNCg0KIAkJLy8gUG91ciB0b3VzIGxlcyBmaWxzIChub24gYXR0cmlidXQgZXQgbm9uIGRhdGEpDQogCQlmb3JlYWNoICgkY29udGVudV9maWxzIGFzICR0YWdGaWxzID0+ICRmaWxzKSB7DQogCQkJc3dpdGNoICgkdGFnRmlscykgew0KIAkJCQljYXNlICR0aGlzLT5UQUdfQVRUUklCVVQ6DQogCQkJCQkJJHRoaXMtPm91dHB1dF9hdHRyaWJ1dGVzICgkY29udGVudV9maWxzKTsNCgkJCQkJCSR0aGlzLT5jbG9zZVRhZyAoKTsNCiAJCQkJCQlicmVhazsNCiAJCQkJY2FzZSAkdGhpcy0+VEFHX0RBVEE6DQoJCQkJCQkkdGhpcy0+Y2xvc2VUYWcgKCk7DQogCQkJCQkJJHRoaXMtPlhNTC49ICR0aGlzLT5hZGREYXRhICgkY29udGVudV9maWxzIFskdGhpcy0+VEFHX0RBVEFdKTsNCiAJCQkJCQlicmVhazsNCiAJCQkJZGVmYXVsdDogDQogCQkJCQkJJHRoaXMtPmNsb3NlVGFnICgpOw0KIAkJCQkJCSR0aGlzLT5wcm9jZXNzICgkdGFnRmlscywgJGZpbHMpOw0KIAkJCQkJCWJyZWFrOw0KIAkJCX0NCiAJCX0gDQoNCgkJJHRoaXMtPmNsb3NpbmdUYWcgKCR0YWcpOw0KCX0NCn0NCg0KfQ0KPz4=|1|2 61231|ref.xml|33|1138463148|forquan|SGVyZSdzIGNvZGUgdGhhdCB3aWxsIGNyZWF0ZSBhbiBhc3NvY2lhdGl2ZSBhcnJheSBmcm9tIGFuIHhtbCBmaWxlLiAgS2V5cyBhcmUgdGhlIHRhZyBkYXRhIGFuZCBzdWJhcnJheXMgYXJlIGZvcm1lZCBmcm9tIGF0dHJpYnV0ZXMgYW5kIGNoaWxkIHRhZ3MKCjw/cGhwCiRwID0mIG5ldyB4bWxQYXJzZXIoKTsKJHAtPnBhcnNlKCcvKnhtbCBmaWxlKi8nKTsKcHJpbnRfcigkcC0+b3V0cHV0KTsKPz4KCjw/cGhwCmNsYXNzIHhtbFBhcnNlcnsKICAgdmFyICR4bWxfb2JqID0gbnVsbDsKICAgdmFyICRvdXRwdXQgPSBhcnJheSgpOwogICB2YXIgJGF0dHJzOwoKICAgZnVuY3Rpb24geG1sUGFyc2VyKCl7CiAgICAgICAkdGhpcy0+eG1sX29iaiA9IHhtbF9wYXJzZXJfY3JlYXRlKCk7CiAgICAgICB4bWxfc2V0X29iamVjdCgkdGhpcy0+eG1sX29iaiwkdGhpcyk7CiAgICAgICB4bWxfc2V0X2NoYXJhY3Rlcl9kYXRhX2hhbmRsZXIoJHRoaXMtPnhtbF9vYmosICdkYXRhSGFuZGxlcicpOyAKICAgICAgIHhtbF9zZXRfZWxlbWVudF9oYW5kbGVyKCR0aGlzLT54bWxfb2JqLCAic3RhcnRIYW5kbGVyIiwgImVuZEhhbmRsZXIiKTsKICAgfQoKICAgZnVuY3Rpb24gcGFyc2UoJHBhdGgpewogICAgICAgaWYgKCEoJGZwID0gZm9wZW4oJHBhdGgsICJyIikpKSB7CiAgICAgICAgICAgZGllKCJDYW5ub3Qgb3BlbiBYTUwgZGF0YSBmaWxlOiAkcGF0aCIpOwogICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgIH0KCiAgICAgICB3aGlsZSAoJGRhdGEgPSBmcmVhZCgkZnAsIDQwOTYpKSB7CiAgICAgICAgICAgaWYgKCF4bWxfcGFyc2UoJHRoaXMtPnhtbF9vYmosICRkYXRhLCBmZW9mKCRmcCkpKSB7CiAgICAgICAgICAgICAgIGRpZShzcHJpbnRmKCJYTUwgZXJyb3I6ICVzIGF0IGxpbmUgJWQiLAogICAgICAgICAgICAgICB4bWxfZXJyb3Jfc3RyaW5nKHhtbF9nZXRfZXJyb3JfY29kZSgkdGhpcy0+eG1sX29iaikpLAogICAgICAgICAgICAgICB4bWxfZ2V0X2N1cnJlbnRfbGluZV9udW1iZXIoJHRoaXMtPnhtbF9vYmopKSk7CiAgICAgICAgICAgICAgIHhtbF9wYXJzZXJfZnJlZSgkdGhpcy0+eG1sX29iaik7CiAgICAgICAgICAgfQogICAgICAgfQoKICAgICAgIHJldHVybiB0cnVlOwogICB9CgogICBmdW5jdGlvbiBzdGFydEhhbmRsZXIoJHBhcnNlciwgJG5hbWUsICRhdHRyaWJzKXsKICAgICAgICRfY29udGVudCA9IGFycmF5KCk7CiAgICAgICBpZighZW1wdHkoJGF0dHJpYnMpKQogICAgICAgICAkX2NvbnRlbnRbJ2F0dHJzJ10gPSAkYXR0cmliczsKICAgICAgIGFycmF5X3B1c2goJHRoaXMtPm91dHB1dCwgJF9jb250ZW50KTsKICAgfQoKICAgZnVuY3Rpb24gZGF0YUhhbmRsZXIoJHBhcnNlciwgJGRhdGEpewogICAgICAgaWYoIWVtcHR5KCRkYXRhKSAmJiAkZGF0YSE9IlxuIikgewogICAgICAgICAgICRfb3V0cHV0X2lkeCA9IGNvdW50KCR0aGlzLT5vdXRwdXQpIC0gMTsKICAgICAgICAgICAkdGhpcy0+b3V0cHV0WyRfb3V0cHV0X2lkeF1bJ2NvbnRlbnQnXSAuPSAkZGF0YTsKICAgICAgIH0KICAgfQoKICAgZnVuY3Rpb24gZW5kSGFuZGxlcigkcGFyc2VyLCAkbmFtZSl7CiAgICAgICBpZihjb3VudCgkdGhpcy0+b3V0cHV0KSA+IDEpIHsKICAgICAgICAgICAkX2RhdGEgPSBhcnJheV9wb3AoJHRoaXMtPm91dHB1dCk7CiAgICAgICAgICAgJF9vdXRwdXRfaWR4ID0gY291bnQoJHRoaXMtPm91dHB1dCkgLSAxOwogICAgICAgICAgICRhZGQgPSBhcnJheSgpOwogICAgICAgICAgIGlmICgkX2RhdGFbJ2F0dHJzJ10pCiAgICAgICAgICAgICAgICAkYWRkWydhdHRycyddID0gJF9kYXRhWydhdHRycyddOwogICAgICAgICAgIGlmICgkX2RhdGFbJ2NoaWxkJ10pCiAgICAgICAgICAgICAgICAkYWRkWydjaGlsZCddID0gJF9kYXRhWydjaGlsZCddOwogICAgICAgICAgICR0aGlzLT5vdXRwdXRbJF9vdXRwdXRfaWR4XVsnY2hpbGQnXVskX2RhdGFbJ2NvbnRlbnQnXV0gPSAkYWRkOwogICAgICAgfSAgICAgCiAgIH0KfQo/Pg==|2|4 58845|ref.xml|67|1132217766|Greg S|SWYgeW91IG5lZWQgdXRmOF9lbmNvZGUgc3VwcG9ydCBhbmQgY29uZmlndXJlIFBIUCB3aXRoIC0tZGlzYWJsZS1hbGwgeW91IHdpbGwgaGF2ZSBzb21lIHRyb3VibGUuIFVuZm9ydHVuYXRlbHkgdGhlIGNvbmZpZ3VyZSBvcHRpb25zIGFyZW4ndCBjb21wbGV0ZWx5IGRvY3VtZW50ZWQuIElmIHlvdSBuZWVkIHV0ZjggZnVuY3Rpb25zIGFuZCBoYXZlIGV2ZXJ5dGhpbmcgZGlzYWJsZWQganVzdCByZWNvbXBpbGUgUEhQIHdpdGggLS1lbmFibGUteG1sIGFuZCB5b3Ugc2hvdWxkIGJlIGdvb2QgdG8gZ28u|6|3 45802|ref.xml|100|1095600925|compu_global_hyper_mega_net_2 at yahoo dot com|VGhlIGRvY3VtZW50YXRpb24gcmVnYXJkaW5nIHdoaXRlIHNwYWNlIHdhcyBuZXZlciBjb21wbGV0ZSBJIHRoaW5rLgoKVGhlIFhNTF9PUFRJT05fU0tJUF9XSElURSBkb2Vzbid0IGFwcGVhciB0byBkbyBhbnl0aGluZy4gIEkgd2FudCB0byBwcmVzZXJ2ZSB0aGUgbmV3bGluZXMgaW4gYSBjZGF0YSBzZWN0aW9uLiAgU2V0dGluZyBYTUxfT1BUSU9OX1NLSVBfV0hJVEUgdG8gMCBvciBmYWxzZSBkb2Vzbid0IGFwcGVhciB0byBoZWxwLiAgTXkgY2hhcmFjdGVyX2RhdGFfaGFuZGxlciBpcyBnZXR0aW5nIGNhbGxlZCBvbmNlIGZvciBlYWNoIGxpbmUuICBUaGlzIG9idmlvdXNseSBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBkb2N1bWVudGF0aW9uIGFzIHdlbGwuICBXaGVuL2hvdyBvZnRlbiBkb2VzIHRoZSBoYW5kbGVyIGdldCBjYWxsZWQgZXhhY3RseT8gIEhhdmluZyB0byBidWlsZCBzZXBhcmF0ZSB0ZXN0IGNhc2VzIGlzIHZlcnkgdGltZSBjb25zdW1pbmcuCgpJbnNlcnRpbmcgbmV3bGluZXMgbXlzZWxmIGluIG15IGNkYXRhIGhhbmRsZXIgaXMgbm8gZ29vZCBlaXRoZXIuICBGb3Igbm9uIGFjdHVhbCBDREFUQSBzZWN0aW9ucyB0aGF0IGNhdXNlIG15IGhhbmRsZXIgdG8gZ2V0IGNhbGxlZCwgbG9uZyBsaW5lcyBhcmUgc3BsaXQgdXAgaW4gbXVsdGlwbGUgY2FsbHMuICBNeSBoYW5kbGVyIHdvdWxkIG5vdCBiZSBhYmxlIHRvIHRlbGwgdGhlIGRpZmZlcmVuY2Ugd2hldGhlciBvciBub3QgdGhlIHN1YnNlcXVlbnQgY2FsbHMgd291bGQgYmUgZHVlIHRvIHRoZSBmYWN0IHRoYXQgdGhlIGRhdGEgaXMgY29taW5nIGZyb20gdGhlIG5leHQgbGluZSBvciB0aGUgZmFjdCB0aGF0IHNvbWUgaW50ZXJuYWwgYnVmZmVyIGlzIGxvbmcgZW5vdWdoIGZvciBpdCB0byAnZmx1c2gnIG91dCBhbmQgY2FsbCB0aGUgaGFuZGxlci4KVGhpcyBiZWhhdmlvdXIgYWxzbyBuZWVkcyB0byBiZSBwcm9wZXJseSBkb2N1bWVudGVkLg==|1|0 40918|ref.xml|33|1079649404|odders|SSB3cm90ZSBhIHNpbXBsZSB4bWwgcGFyc2VyIG1haW5seSB0byBkZWFsIHdpdGggcnNzIHZlcnNpb24gMi4gSSBmb3VuZCBsb3RzIG9mIGV4YW1wbGVzIG9uIHRoZSBuZXQsIGJ1dCB0aGV5IHdlcmUgYWxsIG1hc2l2ZSBhbmQgYmxvYXRlZCBhbmQgaGFyZCB0byBtYW5pcHVsYXRlLgoKT3V0cHV0IGlzIHNlbnQgdG8gYW4gYXJyYXksIHdoaWNoIGhvbGRzIGFycmF5cyBjb250YWluZyBkYXRhIGZvciBlYWNoIGl0ZW0uCgpPYnZpb3VzbHksIHlvdSB3aWxsIGhhdmUgdG8gbWFrZSBtb2RpZmljYXRpb25zIHRvIHRoZSBjb2RlIHRvIHN1aXQgeW91ciBuZWVkcywgYnV0IHRoZXJlIGlzbnQgYSBsb3Qgb2YgY29kZSB0aGVyZSwgc28gdGhhdCBzaG91bGRudCBiZSBhIHByb2JsZW0uCgo8P3BocAoKICAgJGN1cnJlbnRFbGVtZW50cyA9IGFycmF5KCk7CiAgICRuZXdzQXJyYXkgPSBhcnJheSgpOwoKICAgcmVhZFhtbCgiLi9uZXdzLnhtbCIpOwoKICAgZWNobygiPHByZT4iKTsKICAgcHJpbnRfcigkbmV3c0FycmF5KTsKICAgZWNobygiPC9wcmU+Iik7CgogICAvLyBSZWFkcyBYTUwgZmlsZSBpbnRvIGZvcm1hdHRlZCBodG1sCiAgIGZ1bmN0aW9uIHJlYWRYTUwoJHhtbEZpbGUpCiAgIHsKCiAgICAgICR4bWxQYXJzZXIgPSB4bWxfcGFyc2VyX2NyZWF0ZSgpOwoKICAgICAgeG1sX3BhcnNlcl9zZXRfb3B0aW9uKCR4bWxQYXJzZXIsIFhNTF9PUFRJT05fQ0FTRV9GT0xESU5HLCBmYWxzZSk7IAogICAgICB4bWxfc2V0X2VsZW1lbnRfaGFuZGxlcigkeG1sUGFyc2VyLCBzdGFydEVsZW1lbnQsIGVuZEVsZW1lbnQpOyAKICAgICAgeG1sX3NldF9jaGFyYWN0ZXJfZGF0YV9oYW5kbGVyKCR4bWxQYXJzZXIsIGNoYXJhY3RlckRhdGEpOwoKICAgICAgJGZwID0gZm9wZW4oJHhtbEZpbGUsICJyIik7CgogICAgICB3aGlsZSgkZGF0YSA9IGZyZWFkKCRmcCwgZmlsZXNpemUoJHhtbEZpbGUpKSl7CiAgICAgICAgIHhtbF9wYXJzZSgkeG1sUGFyc2VyLCAkZGF0YSwgZmVvZigkZnApKTt9CgogICAgICB4bWxfcGFyc2VyX2ZyZWUoJHhtbFBhcnNlcik7CgogICB9CgogICAvLyBTZXRzIHRoZSBjdXJyZW50IFhNTCBlbGVtZW50LCBhbmQgcHVzaGVzIGl0c2VsZiBvbnRvIHRoZSBlbGVtZW50IGhpZXJhcmNoeQogICBmdW5jdGlvbiBzdGFydEVsZW1lbnQoJHBhcnNlciwgJG5hbWUsICRhdHRycykKICAgewoKICAgICAgZ2xvYmFsICRjdXJyZW50RWxlbWVudHMsICRpdGVtQ291bnQ7CgogICAgICBhcnJheV9wdXNoKCRjdXJyZW50RWxlbWVudHMsICRuYW1lKTsKCiAgICAgIGlmKCRuYW1lID09ICJpdGVtIil7JGl0ZW1Db3VudCArPSAxO30KCiAgIH0gCgogICAvLyBQcmludHMgWE1MIGRhdGE7IGZpbmRzIGhpZ2hsaWdodHMgYW5kIGxpbmtzCiAgIGZ1bmN0aW9uIGNoYXJhY3RlckRhdGEoJHBhcnNlciwgJGRhdGEpCiAgIHsKCiAgICAgIGdsb2JhbCAkY3VycmVudEVsZW1lbnRzLCAkbmV3c0FycmF5LCAkaXRlbUNvdW50OwoKICAgICAgJGN1cnJlbnRDb3VudCA9IGNvdW50KCRjdXJyZW50RWxlbWVudHMpOwogICAgICAkcGFyZW50RWxlbWVudCA9ICRjdXJyZW50RWxlbWVudHNbJGN1cnJlbnRDb3VudC0yXTsKICAgICAgJHRoaXNFbGVtZW50ID0gJGN1cnJlbnRFbGVtZW50c1skY3VycmVudENvdW50LTFdOwoKICAgICAgaWYoJHBhcmVudEVsZW1lbnQgPT0gIml0ZW0iKXsKICAgICAgICAgJG5ld3NBcnJheVskaXRlbUNvdW50LTFdWyR0aGlzRWxlbWVudF0gPSAkZGF0YTt9CiAgICAgIGVsc2V7CiAgICAgICAgIHN3aXRjaCgkbmFtZSl7CiAgICAgICAgICAgIGNhc2UgInRpdGxlIjoKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgImxpbmsiOgogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAiZGVzY3JpcHRpb24iOgogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAibGFuZ3VhZ2UiOgogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAiaXRlbSI6CiAgICAgICAgICAgICAgIGJyZWFrO319CgogICB9IAoKICAgLy8gSWYgdGhlIFhNTCBlbGVtZW50IGhhcyBlbmRlZCwgaXQgaXMgcG9wZWQgb2ZmIHRoZSBoaWVyYXJjaHkKICAgZnVuY3Rpb24gZW5kRWxlbWVudCgkcGFyc2VyLCAkbmFtZSkKICAgewoKICAgICAgZ2xvYmFsICRjdXJyZW50RWxlbWVudHM7CgogICAgICAkY3VycmVudENvdW50ID0gY291bnQoJGN1cnJlbnRFbGVtZW50cyk7CiAgICAgIGlmKCRjdXJyZW50RWxlbWVudHNbJGN1cnJlbnRDb3VudC0xXSA9PSAkbmFtZSl7CiAgICAgICAgIGFycmF5X3BvcCgkY3VycmVudEVsZW1lbnRzKTt9CgogICB9IAoKPz4=|1|2 28744|ref.xml|33|1043244506|software at serv-a-com dot com|dXNlOg0KDQo8P3BocA0Kd2hpbGUgKCRkYXRhID0gc3RyX3JlcGxhY2UoIlxuIiwiIixmcmVhZCgkZnAsIDQwOTYpKSl7DQogLy8gLi4uDQp9DQo/Pg0KDQppbnN0ZWFkIG9mOg0KDQo8P3BocA0Kd2hpbGUgKCRkYXRhID0gZnJlYWQoJGZwLCA0MDk2KSkgew0KICAvLyAuLi4NCn0NCj8+DQoNCltVUERBVEUgMTctRkVCLTIwMDM6IFRoaXMgcG9zdF0gcmVzdWx0ZWQgaW4gc29tZSBvZiB0aGUgdmlzaXRvcnMgZS1tYWlsZyBtZSBvbiB0aGUgY2FycmlhZ2UgcmV0dXJuIHN0cmlwcGluZyBpc3N1ZSB3aXRoIHF1ZXN0aW9ucy4gSSdsbCB0cnkgdG8gbWFrZSB0aGUgZm9sbG93aW5nIG11bWJsZSBhcyBicmllZiBhbmQgZWFzeSB0byB1bmRlcnN0YW5kIGFzIHBvc3NpYmxlLiANCg0KMS4gT3ZlcnZpZXcgb2YgdGhlIDQwOTYgZnJhZ21lbnRhdGlvbiBpc3N1ZSANCkFzIHlvdSBrbm93IHRoZSBmb2xsb3dpbmcgZnJlYWRzIHRoZSBmaWxlIDQwOTYgYnl0ZXMgYXQgYSB0aW1lICh0aGF0IGlzIDRLQikgdGhpcyBpcyBwZXJoYXBzIG9rIGZvciB0ZXN0aW5nIGV4cGF0IGFuZCBmaWd1cmluZyBvdXQgaG93IHRoaW5ncyB3b3JrLCBidXQgaXQgaXQgcmF0aGVyIGRhbmdlcm91cyBpbiB0aGUgcHJvZHVjdGlvbiBlbnZpcm9ubWVudC4gRGF0YSBtYXkgbm90IGJlIGZ1bGx5IHVuZGVyc3RhbmRhYmxlIGR1ZSB0byBmcmVhZCBmcmFnbWVudGF0aW9uIGFuZCBpbXByb3Blcmx5IGZvcm1hdHRlZCBkdWUgdG8gbnVtZXJvdXMgc291cmNlcyhmb3JtYXRzKSBvZiBkYXRhIGNvbnRhaW5lZCB3aXRoaW4gKGkuZS4gZW5kIG9mIGxpbmUgZGVsaW1pdGVkIENEQVRBKS4gDQoNCjw/cGhwIA0Kd2hpbGUgKCRkYXRhID0gZnJlYWQoJGZwLCA0MDk2KSkgeyANCiAgaWYgKCF4bWxfcGFyc2UoJHhtbF9wYXJzZXIsICRkYXRhLCBmZW9mKCRmcCkpKSB7IA0KICAgIC8vIC4uLiANCiAgfSANCn0gDQo/PiANCg0KU29tZXRpbWVzIHRvIHNhdmUgdGltZSBvbmUgbWF5IHdhbnQgdG8gbG9hZCBpdCBhbGwgdXAgaW50byBhIG9uZSBiaWcgdmFyaWFibGUgYW5kIGxlYXZlIGFsbCB0aGUgd29ycmllcyB0byBleHBhdC4gSSB0aGluayBhbnl0aGluZyB1bmRlciA1MDAgS0IgaXMgb2sgKGFzIGxvbmcgYXMgbm9ib2R5IGtub3dzIGFib3V0IGl0KS4gU29tZSBtYXkgYXJndWUgdGhhdCBsYXJnZXIgdmFyaWFibGVzIGFyZSBhY2NlcHRhYmxlIG9yIGV2ZW4gbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgdGhlIG1hZ2ljIHRoYXQgdGFrZSBwbGFjZSB3aGlsZSBwYXJzaW5nIHVzaW5nIHhtbF9wYXJzZS4gT3VyIFhNTCBwYXJzZXIoZXhwYXQpIHdvcmtzIGFuZCBjYW4gYmUgc3VjY2Vzc2Z1bGx5IGltcGxlbWVudGVkIG9ubHkgd2hlbiB3ZSBrbm93IHdoYXQgdHlwZSBvZiBYTUwgZGF0YSB3ZSBhcmUgZGVhbGluZyB3aXRoLCBpdCdzIGF2ZXJhZ2Ugc2l6ZSBhbmQgc3RydWN0dXJlIG9mIGdlbmVyYWwgbGF5b3V0IGFuZCBkYXRhIGNvbnRhaW5lZCB3aXRoaW4gdGFncy4gRm9yIGV4YW1wbGUgaWYgdGhlIHRhZ3MgYXJlIGZvbGxvd2VkIGJ5IGEgbGluZSBkZWxpbWl0ZXIgbGlrZSBhIG5ldyBsaW5lIHdlIGNhbiByZWFkIGl0IHdpdGggZmdldHMgaW4gYW5kIHdpdGggbWluaW1hbCBlZmZvcnQgbWFrZSBzdXJlIHRoYXQgbm8gZGF0YSB3aWxsIGJlIHNlbnQgdG8gdGhlIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3QgZW5kIHdpdGggYSBlbmQgdGFnLiBCdXQgdGhpcyByZXF1aXJlIGEgZmFpciBrbm93bGVkZ2Ugb2YgdGhlIGZpbGUncyBwcmVmZXJlbmNlIGZvciBzdG9yaW5nIFhNTCBkYXRhIGFuZCB0YWdzIChhbmQgYSBiaXQgb2YgY29kZSBiZXR3ZWVuIHJlYWRpbmcgZGF0YSBhbmQgeG1sX3BhcnNlJ2luZyBpdCkuDQpJdCB3aWxsIHNhdmUgeW91IGEgaGVhZGFjaGUuDQoNCjIuIFByZSBQYXJzZXIgU3RyaW5ncyBhbmQgTmV3IExpbmUgRGVsaW1pdGVkIERhdGEgDQpPbmUgaW1wb3J0YW50IHRoaW5nIHRvIG5vdGUgYXQgdGhpcyBwb2ludCBpcyB0aGF0IHRoZSB4bWxfcGFyc2UgZnVuY3Rpb24gcmVxdWlyZXMgYSBzdHJpbmcgdmFyaWFibGUuIFlvdSBjYW4gbWFuaXB1bGF0ZSB0aGUgY29udGVudCBvZiBhbnkgc3RyaW5nIHZhcmlhYmxlIGVhc2lseSBhcyB3ZSBhbGwga25vdy4gDQoNCkEgYmV0dGVyIGFwcHJvYWNoIHRvIHJlbW92aW5nIG5ld2xpbmVzIHRoYW46IA0KDQo8P3BocCANCndoaWxlICgkZGF0YSA9IGZyZWFkKCRmcCwgNDA5NikpIHsgDQokZGF0YSA9IHByZWdfcmVwbGFjZSgiL1xufFxyLyIsIiIsJGRhdGEpOyAvL2ZsYXJwIA0KaWYgKCF4bWxfcGFyc2UoJHhtbF9wYXJzZXIsICRkYXRhLCBmZW9mKCRmcCkpKSB7Li4uIA0KPz4gDQoNCkFib3ZlIHdvcmtzIGFjcm9zcyBhbGwgMyBsaW5lLWRlbGltaXRlZCB0ZXh0IGZpbGVzICAoXG4sIFxyLCBcclxuKS4gQnV0IHRoaXMgY291bGQgcG90ZW50aWFsbHkgKG9yIHdpbGwgbW9zdCBsaWtlbHkpIGRhbWFnZSBvciBzY3JhbWJsZSBkYXRhIGNvbnRhaW5lZCBpbiBmb3IgZXhhbXBsZSBDREFUQSBhcmVhcy4gQXMgZmFyIGFzIEkgYW0gY29uY2VybmVkIGVuZCBvZiBsaW5lIGNoYXJhY3RlcnMgc2hvdWxkIG5vdCBiZSB1c2VkIF93aXRoaW5fIFhNTCB0YWdzLiBXaGF0IHNlZW1zIHRvIGJlIHRoZSB1bHRpbWF0ZSBzb2x1dGlvbiBpcyB0byBwcmUtcGFyc2UgdGhlIGxvYWRlZCBkYXRhIHRoaXMgd291bGQgcmVxdWlyZSBjaGVja2luZyB0aGUgcG9zaXRpb24gd2l0aGluIHRoZSBYTUwgZG9jdW1lbnQgYW5kIGFkZGluZyBvciBzdWJ0cmFjdGluZyAodXNpbmcgYSBpbi1iZXR3ZWVuIGZyZWFkIHRlbXBvcmFyeSB2YXJpYWJsZSkgZGF0YSBiYXNlZCBvbiBjb25kaXRpb25zIGxpa2U6ICJJcyB3aXRoaW4gdGFnIiwgIklzIHdpdGhpbiBDREFUQSIgZXRjLiBiZWZvcmUgZmVkZGluZyBpdCB0byB0aGUgcGFyc2VyLiBUaGlzIG9mIGNvdXJzZSBvcGVucyB1cCBhIG5ldyBjYW4gb2Ygd29ybXMgKGFzIGluIHBhcnNlIGRhdGEgZm9yIHRoZSBwYXJzZXIuLi4pLiAoYWJvdmUgcHJvY2VkdXJlIHdvdWxkIHRha2UgcGxhY2UgYmV0d2VlbiBmcmVhZCBhbmQgeG1sX3BhcnNlciBjYWxscyB0aGlzIG1ldGhvZCB3b3VsZCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIGdlbmVyYWwgdXNhZ2UgZXhhbXBsZXMgb24gdG9wIG9mIHRoZSBwYWdlKSANCg0KMy4gVGhlIEFuc3dlciB0byBwYXJzaW5nIGFyYml0cmFyeSBYTUwgYW5kIFByZXByb2Nlc3NvciBSZXZpc2l0ZWQgDQpZb3UgY2FuJ3QganVzdCBmZWVkIGFueSBYTUwgZG9jdW1lbnQgdG8gdGhlIHBhcnNlciB5b3UgY29uc3RydWN0ZWQgYW5kIGFzc3VtaW5nIHRoYXQgaXQgd2lsbCB3b3JrISBZb3UgaGF2ZSB0byBrbm93IHdoYXQga2luZCBvZiBtZXRob2RzIGZvciBzdG9yaW5nIGRhdGEgYXJlIHVzZWQsIGZvciBleGFtcGxlIGlzIHRoZXJlIGEgZW5kIG9mIGxpbmUgZGVsaW1pdGVkIGRhdGEgaW4gdGhlICBmaWxlID8sIEFyZSB0aGVyZSBhbnkgY2FycmlhZ2UgcmV0dXJucyBpbiB0aGUgdGFncyBldGMuLi4gWE1MIGZpbGVzIGNvbWUgZm9ybWF0dGVkIGluIGRpZmZlcmVudCB3YXlzIHNvbWUgYXJlIGp1c3QgYSBvbmUgbG9uZyBzdHJpbmcgb2YgY2hhcmFjdGVycyB3aXRoIG91dCBhbnkgZW5kIG9mIGxpbmUgbWFya2VycyBvdGhlcnMgaGF2ZSBuZXdsaW5lcywgY2FycmlhZ2UgcmV0dXJucyBvciBib3RoIChNaWNyb3Nsb3RoIFdpbmRvd3MpLiBNYXkgb3IgbWF5IG5vdCBjb250YWluIHNwYWNlIGFuZCBvdGhlciB3aGl0ZXNwYWNlIGJldHdlZW4gdGFncy4gRm9yIHRoaXMgcmVhc29uIGl0IGlzIGltcG9ydGFudCB0byB3aGF0IEkgY2FsbCBOb3JtYWxpemUgdGhlIGRhdGEgYmVmb3JlIGZlZWRpbmcgaXQgdG8gdGhlIHBhcnNlci4gWW91IGNhbiBwZXJmb3JtIHRoaXMgd2l0aCByZWd1bGFyIGV4cHJlc3Npb25zIG9yIHBsYWluIG9sZCBzdHJfcmVwbGFjZSBhbmQgY29uY2F0ZW5hdGlvbi4gSW4gbWFueSBjYXNlcyB0aGlzIGNhbiBiZSBkb25lIHRvIHRoZSBmaWxlIGl0IHNlbGYgc29tZXRpbWVzIHRvIHN0cmluZyBkYXRhIG9uIHRoZSBmbHkoIGFzIHNob3duIGluIHRoZSBleGFtcGxlIGFib3ZlKS4gQnV0IEkgZmVlbCBpdCBpcyBpbXBvcnRhbnQgdG8gbm9ybWFsaXplIHRoZSBkYXRhIGJlZm9yZSBldmVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9uIHRvIGNhbGwgeG1sX3BhcnNlLiBJZiB5b3UgaGF2ZSB0aGUgYWJpbGl0eSB0byBhY2Nlc3MgYWxsIGRhdGEgYmVmb3JlIHRoYXQgY2FsbCB5b3UgY2FuIGNvbnZlcnQgaXQgdG8gd2hhdCB5b3UgZmVsbCB0aGUgZGF0YSBzaG91bGQgaGF2ZSBiZWVuIGluIHRoZSBmaXJzdCBwbGFjZSBhbmQgb21pdCBtYW55IHN1cnByaXNlcyBhbmQgZXhwZW5zaXZlIHJlZ3VsYXIgZXhwcmVzc2lvbiBzdWJzdGl0dXRpb24gKGluIGEgdGlnaHQgc3BvdCkgd2hpbGUgZnJlYWQnaW5nIHRoZSBkYXRhLg==|1|2 25557|ref.xml|67|1033128068|guy at bhaktiandvedanta dot com|Rm9yIGEgc2ltcGxlIFhNTCBwYXJzZXIgeW91IGNhbiB1c2UgdGhpcyBmdW5jdGlvbi4gSXQgZG9lc24ndCByZXF1aXJlIGFueSBleHRlbnNpb25zIHRvIHJ1bi4NCg0KPD9waHANCi8vIEV4dHJhY3RzIGNvbnRlbnQgZnJvbSBYTUwgdGFnDQoNCmZ1bmN0aW9uIEdldEVsZW1lbnRCeU5hbWUgKCR4bWwsICRzdGFydCwgJGVuZCkgew0KDQoJZ2xvYmFsICRwb3M7DQoJJHN0YXJ0cG9zID0gc3RycG9zKCR4bWwsICRzdGFydCk7DQoJaWYgKCRzdGFydHBvcyA9PT0gZmFsc2UpIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCgkkZW5kcG9zID0gc3RycG9zKCR4bWwsICRlbmQpOw0KCSRlbmRwb3MgPSAkZW5kcG9zK3N0cmxlbigkZW5kKTsJDQoJJHBvcyA9ICRlbmRwb3M7DQoJJGVuZHBvcyA9ICRlbmRwb3MtJHN0YXJ0cG9zOw0KCSRlbmRwb3MgPSAkZW5kcG9zIC0gc3RybGVuKCRlbmQpOw0KCSR0YWcgPSBzdWJzdHIgKCR4bWwsICRzdGFydHBvcywgJGVuZHBvcyk7DQoJJHRhZyA9IHN1YnN0ciAoJHRhZywgc3RybGVuKCRzdGFydCkpOw0KDQoJcmV0dXJuICR0YWc7DQoNCn0NCg0KLy8gT3BlbiBhbmQgcmVhZCB4bWwgZmlsZS4gWW91IGNhbiByZXBsYWNlIHRoaXMgd2l0aCB5b3VyIHhtbCBkYXRhLg0KDQokZmlsZSA9ICJkYXRhLnhtbCI7DQokcG9zID0gMDsNCiROb2RlcyA9IGFycmF5KCk7DQoNCmlmICghKCRmcCA9IGZvcGVuKCRmaWxlLCAiciIpKSkgew0KICAgIGRpZSgiY291bGQgbm90IG9wZW4gWE1MIGlucHV0Iik7DQp9DQp3aGlsZSAoJGdldGxpbmUgPSBmcmVhZCgkZnAsIDQwOTYpKSB7DQoJJGRhdGEgPSAkZGF0YSAuICRnZXRsaW5lOw0KfQ0KDQokY291bnQgPSAwOw0KJHBvcyA9IDA7DQoNCi8vIEdvZXMgdGhyb3cgWE1MIGZpbGUgYW5kIGNyZWF0ZXMgYW4gYXJyYXkgb2YgYWxsIDxYTUxfVEFHPiB0YWdzLg0Kd2hpbGUgKCRub2RlID0gR2V0RWxlbWVudEJ5TmFtZSgkZGF0YSwgIjxYTUxfVEFHPiIsICI8L1hNTF9UQUc+IikpIHsNCgkkTm9kZXNbJGNvdW50XSA9ICRub2RlOw0KCSRjb3VudCsrOw0KCSRkYXRhID0gc3Vic3RyKCRkYXRhLCAkcG9zKTsNCn0NCg0KLy8gR2V0cyBpbmZvbWF0aW9uIGZyb20gdGFnIHNpYmxpbmdzLg0KZm9yICgkaT0wOyAkaTwkY291bnQ7ICRpKyspIHsNCiRjb2RlID0gR2V0RWxlbWVudEJ5TmFtZSgkTm9kZXNbJGldLCAiPENvZGU+IiwgIjwvQ29kZT4iKTsNCiRkZXNjID0gR2V0RWxlbWVudEJ5TmFtZSgkTm9kZXNbJGldLCAiPERlc2NyaXB0aW9uPiIsICI8L0Rlc2NyaXB0aW9uPiIpOw0KJHByaWNlID0gR2V0RWxlbWVudEJ5TmFtZSgkTm9kZXNbJGldLCAiPEJhc2VQcmljZT4iLCAiPC9CYXNlUHJpY2U+Iik7DQp9DQo/Pg0KDQpIb3BlIHRoaXMgaGVscHMhIDopDQpHdXkgTGFvcg==|2|1 25301|ref.xml|33|1032352039|dmarsh dot NO dot SPAM dot PLEASE at spscc dot ctc dot edu|U29tZSByZWZlcmVuY2UgY29kZSBJIGFtIHdvcmtpbmcgb24gYXMgIlhNTCBMaWJyYXJ5IiBvZiB3aGljaCBJIGFtIGZvbGRpbmcgaXQgaW5mbyBhbiBvYmplY3QuIE5vdGljZSB0aGUgdXNlIG9mIHRoZSBERUZJTkU6CgpNYWlubHkgRXhhbXBsZSAxIGFuZCBwYXJ0cyBvZiAyICYgMyByZS13cml0dGVuIGFzIGFuIG9iamVjdDogCi0tLSBNeVhNTFdhbGsubGliLnBocCAtLS0KPD9waHAKCmlmICghZGVmaW5lZCgiUEhQWE1MV2FsayIpKSB7CmRlZmluZSgiUEhQWE1MV2FsayIsVFJVRSk7CgpjbGFzcyBYTUxXYWxrIHsKIHZhciAkcDsgLy9zaG9ydCBmb3IgeG1sIHBhcnNlcjsKIHZhciAkZTsgLy9zaG9ydCBmb3IgZWxlbWVudCBzdGFjay9hcnJheQoKICBmdW5jdGlvbiBwcmwoJHgsJGk9MCkgewogICAgb2Jfc3RhcnQoKTsKICAgIHByaW50X3IoJHgpOwogICAgJGJ1Zj1vYl9nZXRfY29udGVudHMoKTsKICAgIG9iX2VuZF9jbGVhbigpOwogICAgcmV0dXJuIGpvaW4oIlxuIi5zdHJfcmVwZWF0KCIgIiwkaSksc3BsaXQoIlxuIiwkYnVmKSk7CiAgfQoKIGZ1bmN0aW9uIFhNTFdhbGsoKSB7CiAgJHRoaXMtPnAgPSB4bWxfcGFyc2VyX2NyZWF0ZSgpOwogICR0aGlzLT5lID0gYXJyYXkoKTsKICB4bWxfcGFyc2VyX3NldF9vcHRpb24oJHRoaXMtPnAsIFhNTF9PUFRJT05fQ0FTRV9GT0xESU5HLCB0cnVlKTsKICB4bWxfc2V0X2VsZW1lbnRfaGFuZGxlcigkdGhpcy0+cCwgYXJyYXkoJiR0aGlzLCAic3RhcnRFbGVtZW50IiksIGFycmF5KCYkdGhpcywgImVuZEVsZW1lbnQiKSk7CiAgeG1sX3NldF9jaGFyYWN0ZXJfZGF0YV9oYW5kbGVyKCR0aGlzLT5wLCBhcnJheSgmJHRoaXMsICJkYXRhRWxlbWVudCIpKTsKICByZWdpc3Rlcl9zaHV0ZG93bl9mdW5jdGlvbihhcnJheSgmJHRoaXMsICJmcmVlIikpOyAvLyBtYWtlIGEgZGVzdHJ1Y3RvcgogIH0KCiAgZnVuY3Rpb24gc3RhcnRFbGVtZW50KCRwYXJzZXIsICRuYW1lLCAkYXR0cnMpIHsKICAgIGlmIChjb3VudCgkYXR0cnMpPj0xKSB7CiAgICAgICR4ID0gJHRoaXMtPnBybCgkYXR0cnMsICR0aGlzLT5lWyRwYXJzZXJdKzYpOwogICAgfSBlbHNlIHsKICAgICAgJHggPSAiIjsKICAgIH0KCiAgICBwcmludCBzdHJfcmVwZWF0KCIgIiwkdGhpcy0+ZVskcGFyc2VyXSswKS4gIiRuYW1lICR4XG4iOwogICAgJHRoaXMtPmVbJHBhcnNlcl0rKzsKICAgICR0aGlzLT5lWyRwYXJzZXJdKys7CiAgfQoKICBmdW5jdGlvbiBkYXRhRWxlbWVudCgkcGFyc2VyLCAkZGF0YSkgewogICAgcHJpbnQgc3RyX3JlcGVhdCgiICIsJHRoaXMtPmVbJHBhcnNlcl0rMCkuIGh0bWxzcGVjaWFsY2hhcnMoJGRhdGEsIEVOVF9RVU9URVMpIC4iXG4iOwogIH0KCiAgZnVuY3Rpb24gZW5kRWxlbWVudCgkcGFyc2VyLCAkbmFtZSkgewogICAgJHRoaXMtPmVbJHBhcnNlcl0tLTsKICAgICR0aGlzLT5lWyRwYXJzZXJdLS07CiAgfQogIGZ1bmN0aW9uIHBhcnNlKCRkYXRhLCAkZnApIHsKICAgIGlmICgheG1sX3BhcnNlKCR0aGlzLT5wLCAkZGF0YSwgZmVvZigkZnApKSkgewogICAgICAgIGRpZShzcHJpbnRmKCJYTUwgZXJyb3I6ICVzIGF0IGxpbmUgJWQiLAogICAgICAgICAgICAgICAgICAgIHhtbF9lcnJvcl9zdHJpbmcoeG1sX2dldF9lcnJvcl9jb2RlKCR0aGlzLT5wKSksCiAgICAgICAgICAgICAgICAgICAgeG1sX2dldF9jdXJyZW50X2xpbmVfbnVtYmVyKCR0aGlzLT5wKSkpOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZnJlZSgpIHsKICAgIHhtbF9wYXJzZXJfZnJlZSgkdGhpcy0+cCk7CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCn0gLy8gZW5kIG9mIGRlZmluZQoKPz4KCi0tLSBlbmQgb2YgZmlsZSAtLS0KCkNhbGxpbmcgY29kZToKPD9waHAKCi4uLgoKcmVxdWlyZSgiTXlYTUxXYWxrLmxpYi5waHAiKTsKCiRmaWxlID0gIngueG1sIjsKCiR4bWUgPSBuZXcgWE1MV2FsazsKCmlmICghKCRmcCA9IGZvcGVuKCRmaWxlLCAiciIpKSkgewogICAgZGllKCJjb3VsZCBub3Qgb3BlbiBYTUwgaW5wdXQiKTsKfQoKd2hpbGUgKCRkYXRhID0gZnJlYWQoJGZwLCA0MDk2KSkgewogICR4bWUtPnBhcnNlKCRkYXRhLCAkZnApOwp9CgouLi4KPz4=|1|2 24378|ref.xml|0|1029333553|jon at gettys dot org|W0VkaXRvcidzIG5vdGU6IHNlZSBhbHNvIHhtbF9wYXJzZV9pbnRvX3N0cnVjdCgpLl0NCg0KVmVyeSBzaW1wbGUgcm91dGluZSB0byBjb252ZXJ0IGFuIFhNTCBmaWxlIGludG8gYSBQSFAgc3RydWN0dXJlLiAkb2JqLT54bWwgY29udGFpbnMgdGhlIHJlc3VsdGluZyBQSFAgc3RydWN0dXJlLiBJIHdvdWxkIGJlIGludGVyZXN0ZWQgaWYgc29tZW9uZSBjb3VsZCBzdWdnZXN0IGEgY2xlYW5lciBtZXRob2QgdGhhbiB0aGUgZXZhbHMgSSBhbSB1c2luZy4NCg0KPD9waHANCiRmaWxlbmFtZSA9ICdzYW1wbGUueG1sJzsNCiRvYmotPnRyZWUgPSAnJG9iai0+eG1sJzsNCiRvYmotPnhtbCA9ICcnOw0KDQpmdW5jdGlvbiBzdGFydEVsZW1lbnQoJHBhcnNlciwgJG5hbWUsICRhdHRycykgew0KICAgIGdsb2JhbCAkb2JqOw0KICAgIA0KICAgIC8vIElmIHZhciBhbHJlYWR5IGRlZmluZWQsIG1ha2UgYXJyYXkNCiAgICBldmFsKCckdGVzdD1pc3NldCgnLiRvYmotPnRyZWUuJy0+Jy4kbmFtZS4nKTsnKTsNCiAgICBpZiAoJHRlc3QpIHsNCiAgICAgIGV2YWwoJyR0bXA9Jy4kb2JqLT50cmVlLictPicuJG5hbWUuJzsnKTsNCiAgICAgIGV2YWwoJyRhcnI9aXNfYXJyYXkoJy4kb2JqLT50cmVlLictPicuJG5hbWUuJyk7Jyk7DQogICAgICBpZiAoISRhcnIpIHsNCiAgICAgICAgZXZhbCgndW5zZXQoJy4kb2JqLT50cmVlLictPicuJG5hbWUuJyk7Jyk7DQogICAgICAgIGV2YWwoJG9iai0+dHJlZS4nLT4nLiRuYW1lLidbMF09JHRtcDsnKTsNCiAgICAgICAgJGNudCA9IDE7DQogICAgICB9DQogICAgICBlbHNlIHsNCiAgICAgICAgZXZhbCgnJGNudD1jb3VudCgnLiRvYmotPnRyZWUuJy0+Jy4kbmFtZS4nKTsnKTsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgJG9iai0+dHJlZSAuPSAnLT4nLiRuYW1lLiJbJGNudF0iOw0KICAgIH0NCiAgICBlbHNlIHsNCiAgICAgICRvYmotPnRyZWUgLj0gJy0+Jy4kbmFtZTsNCiAgICB9DQogICAgaWYgKGNvdW50KCRhdHRycykpIHsNCiAgICAJZXZhbCgkb2JqLT50cmVlLictPmF0dHI9JGF0dHJzOycpOw0KICAgIH0NCn0NCg0KZnVuY3Rpb24gZW5kRWxlbWVudCgkcGFyc2VyLCAkbmFtZSkgew0KICAgIGdsb2JhbCAkb2JqOw0KICAgIC8vIFN0cmlwIG9mZiBsYXN0IC0+DQogICAgZm9yKCRhPXN0cmxlbigkb2JqLT50cmVlKTskYT4wOyRhLS0pIHsNCiAgICAJaWYgKHN1YnN0cigkb2JqLT50cmVlLCAkYSwgMikgPT0gJy0+Jykgew0KICAgIAkJJG9iai0+dHJlZSA9IHN1YnN0cigkb2JqLT50cmVlLCAwLCAkYSk7DQogICAgCQlicmVhazsNCiAgICAJfQ0KICAgIH0NCn0NCg0KZnVuY3Rpb24gY2hhcmFjdGVyRGF0YSgkcGFyc2VyLCAkZGF0YSkgew0KICAgIGdsb2JhbCAkb2JqOw0KDQogICAgZXZhbCgkb2JqLT50cmVlLictPmRhdGE9XCcnLiRkYXRhLidcJzsnKTsNCn0NCg0KJHhtbF9wYXJzZXIgPSB4bWxfcGFyc2VyX2NyZWF0ZSgpOw0KeG1sX3NldF9lbGVtZW50X2hhbmRsZXIoJHhtbF9wYXJzZXIsICJzdGFydEVsZW1lbnQiLCAiZW5kRWxlbWVudCIpOw0KeG1sX3NldF9jaGFyYWN0ZXJfZGF0YV9oYW5kbGVyKCR4bWxfcGFyc2VyLCAiY2hhcmFjdGVyRGF0YSIpOw0KaWYgKCEoJGZwID0gZm9wZW4oJGZpbGVuYW1lLCAiciIpKSkgew0KICAgIGRpZSgiY291bGQgbm90IG9wZW4gWE1MIGlucHV0Iik7DQp9DQoNCndoaWxlICgkZGF0YSA9IGZyZWFkKCRmcCwgNDA5NikpIHsNCiAgICBpZiAoIXhtbF9wYXJzZSgkeG1sX3BhcnNlciwgJGRhdGEsIGZlb2YoJGZwKSkpIHsNCiAgICAgICAgZGllKHNwcmludGYoIlhNTCBlcnJvcjogJXMgYXQgbGluZSAlZCIsDQogICAgICAgICAgICAgICAgICAgIHhtbF9lcnJvcl9zdHJpbmcoeG1sX2dldF9lcnJvcl9jb2RlKCR4bWxfcGFyc2VyKSksDQogICAgICAgICAgICAgICAgICAgIHhtbF9nZXRfY3VycmVudF9saW5lX251bWJlcigkeG1sX3BhcnNlcikpKTsNCiAgICB9DQp9DQp4bWxfcGFyc2VyX2ZyZWUoJHhtbF9wYXJzZXIpOw0KcHJpbnRfcigkb2JqLT54bWwpOw0KcmV0dXJuIDA7DQoNCj8+|0|1 18477|ref.xml|0|1011861824|hans dot schneider at bbdo-interone dot de|SSBoYWQgdG8gVFJJTSB0aGUgZGF0YSB3aGVuIEkgcGFzc2VkIG9uZSBsYXJnZSBTdHJpbmcgY29udGFpbmlnIGEgd2VsbGZvcm1lZCBYTUwtRmlsZSB0byB4bWxfcGFyc2UuIFRoZSBTdHJpbmcgd2FzIHJlYWQgYnkgQ1VSTCwgd2hpY2ggYXBhcmVudGx5IHB1dCBhIEJMQU5LIGF0IHRoZSBlbmQgb2YgdGhlIFN0cmluZy4gVGhpcyBCTEFOSyBwcm9kdWNlZCBhICJYTUwgbm90IHdlbGxmb3JtZWQiLUVycm9yIGluIHhtbF9wYXJzZSE=|0|1 8799|ref.xml|75|970126746|sam at cwa dot co dot nz|SSd2ZSBkaXNjb3ZlcmVkIHNvbWUgdW51c3VhbCBiZWhhdmlvdXIgaW4gdGhpcyBBUEkgd2hlbiBhbXBlcnNhbmQgZW50aXRpZXMgYXJlIHBhcnNlZCBpbiBjZGF0YTsgZm9yIHNvbWUgcmVhc29uIHRoZSBwYXJzZXIgYnJlYWtzIHVwIHRoZSBzZWN0aW9uIGFyb3VuZCB0aGUgZW50aXRpZXMsIGFuZCBjYWxscyB0aGUgaGFuZGxlciByZXBlYXRlZCB0aW1lcyBmb3IgZWFjaCBvZiB0aGUgc2VjdGlvbnMuIElmIHlvdSBkb24ndCBhbGxvdyBmb3IgdGhpcyBvZGRpdHkgYW5kIHlvdSBhcmUgdHJ5aW5nIHRvIHB1dCB0aGUgY2RhdGEgaW50byBhIHZhcmlhYmxlLCBvbmx5IHRoZSBsYXN0IHBhcnQgd2lsbCBiZSBzdG9yZWQuIA0KDQpZb3UgY2FuIGdldCBhcm91bmQgdGhpcyB3aXRoIGEgbGluZSBsaWtlOg0KDQokZm9vIC49ICRjZGF0YTsNCg0KSWYgdGhlIGhhbmRsZXIgaXMgY2FsbGVkIHNldmVyYWwgdGltZXMgZnJvbSB0aGUgc2FtZSB0YWcsIGl0IHdpbGwgYXBwZW5kIHRoZW0sIHJhdGhlciB0aGFuIHJld3JpdGluZyB0aGUgdmFyaWFibGUgZWFjaCB0aW1lLiBJZiB0aGUgZW50aXJlIGNkYXRhIHNlY3Rpb24gaXMgcmV0dXJuZWQsIGl0IGRvZXNuJ3QgbWF0dGVyLg0KDQpNYXkgaGFwcGVuIGZvciBvdGhlciBlbnRpdGllcywgYnV0IEkgaGF2ZW4ndCBpbnZlc3RpZ2F0ZWQuDQoNClRvb2sgbWUgYSB3aGlsZSB0byBmaWd1cmUgb3V0IHdoYXQgd2FzIGhhcHBlbmluZzsgaG9wZSB0aGlzIHNhdmVzIHNvbWVvbmUgZWxzZSB0aGUgdHJvdWJsZS4=|3|1 1108|ref.xml|33|931342895|Daniel dot Rendall at btinternet dot com|V2hlbiB1c2luZyB0aGUgWE1MIHBhcnNlciwgbWFrZSBzdXJlIHlvdSdyZSBub3QgdXNpbmcgdGhlIG1hZ2ljIHF1b3RlcyBvcHRpb24gKGUuZy4gdXNlIHNldF9tYWdpY19xdW90ZXNfcnVudGltZSgwKSBpZiBpdCdzIG5vdCB0aGUgY29tcGlsZWQgZGVmYXVsdCksIG90aGVyd2lzZSB5b3UnbGwgZ2V0ICdub3Qgd2VsbC1mb3JtZWQnIGVycm9ycyB3aGVuIGRlYWxpbmcgd2l0aCB0YWdzIHdpdGggYXR0cmlidXRlcyBzZXQgaW4gdGhlbS4=|1|2