LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiAgICAgICAgICAgICAgICAKICogRmlsZW5hbWU6ICAgICAgaXJsbXBfZnJhbWUuaAogKiBWZXJzaW9uOiAgICAgICAwLjkKICogRGVzY3JpcHRpb246ICAgCiAqIFN0YXR1czogICAgICAgIEV4cGVyaW1lbnRhbC4KICogQXV0aG9yOiAgICAgICAgRGFnIEJyYXR0bGkgPGRhZ2JAY3MudWl0Lm5vPgogKiBDcmVhdGVkIGF0OiAgICBUdWUgQXVnIDE5IDAyOjA5OjU5IDE5OTcKICogTW9kaWZpZWQgYXQ6ICAgRnJpIERlYyAxMCAxMzoyMTo1MyAxOTk5CiAqIE1vZGlmaWVkIGJ5OiAgIERhZyBCcmF0dGxpIDxkYWdiQGNzLnVpdC5ubz4KICogCiAqICAgICBDb3B5cmlnaHQgKGMpIDE5OTcsIDE5OTkgRGFnIEJyYXR0bGkgPGRhZ2JAY3MudWl0Lm5vPiwgCiAqICAgICBBbGwgUmlnaHRzIFJlc2VydmVkLgogKiAgICAgCiAqICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIAogKiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgCiAqICAgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiAKICogICAgIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiAgICAgTmVpdGhlciBEYWcgQnJhdHRsaSBub3IgVW5pdmVyc2l0eSBvZiBUcm9tc/ggYWRtaXQgbGlhYmlsaXR5IG5vcgogKiAgICAgcHJvdmlkZSB3YXJyYW50eSBmb3IgYW55IG9mIHRoaXMgc29mdHdhcmUuIFRoaXMgbWF0ZXJpYWwgaXMgCiAqICAgICBwcm92aWRlZCAiQVMtSVMiIGFuZCBhdCBubyBjaGFyZ2UuCiAqCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpZm5kZWYgSVJNTFBfRlJBTUVfSAojZGVmaW5lIElSTUxQX0ZSQU1FX0gKCiNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4KI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgoKI2luY2x1ZGUgPG5ldC9pcmRhL2Rpc2NvdmVyeS5oPgoKLyogSXJMTVAgZnJhbWUgb3Bjb2RlcyAqLwojZGVmaW5lIENPTk5FQ1RfQ01EICAgIDB4MDEKI2RlZmluZSBDT05ORUNUX0NORiAgICAweDgxCiNkZWZpbmUgRElTQ09OTkVDVCAgICAgMHgwMgojZGVmaW5lIEFDQ0VTU01PREVfQ01EIDB4MDMKI2RlZmluZSBBQ0NFU1NNT0RFX0NORiAweDgzCgojZGVmaW5lIENPTlRST0xfQklUICAgIDB4ODAKCnZvaWQgaXJsbXBfc2VuZF9kYXRhX3BkdShzdHJ1Y3QgbGFwX2NiICpzZWxmLCBfX3U4IGRsc2FwLCBfX3U4IHNsc2FwLAoJCQkJaW50IGV4cGVkaXRlZCwgc3RydWN0IHNrX2J1ZmYgKnNrYik7CnZvaWQgaXJsbXBfc2VuZF9sY2ZfcGR1KHN0cnVjdCBsYXBfY2IgKnNlbGYsIF9fdTggZGxzYXAsIF9fdTggc2xzYXAsIAoJCQlfX3U4IG9wY29kZSwgc3RydWN0IHNrX2J1ZmYgKnNrYik7CnZvaWQgaXJsbXBfbGlua19kYXRhX2luZGljYXRpb24oc3RydWN0IGxhcF9jYiAqLCBzdHJ1Y3Qgc2tfYnVmZiAqLCAKCQkJCWludCB1bnJlbGlhYmxlKTsKI2lmZGVmIENPTkZJR19JUkRBX1VMVFJBCnZvaWQgaXJsbXBfbGlua191bml0ZGF0YV9pbmRpY2F0aW9uKHN0cnVjdCBsYXBfY2IgKiwgc3RydWN0IHNrX2J1ZmYgKik7CiNlbmRpZiAvKiBDT05GSUdfSVJEQV9VTFRSQSAqLwoKdm9pZCBpcmxtcF9saW5rX2Nvbm5lY3RfaW5kaWNhdGlvbihzdHJ1Y3QgbGFwX2NiICosIF9fdTMyIHNhZGRyLCBfX3UzMiBkYWRkciwKCQkJCSAgIHN0cnVjdCBxb3NfaW5mbyAqcW9zLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKTsKdm9pZCBpcmxtcF9saW5rX2Nvbm5lY3RfcmVxdWVzdChfX3UzMiBkYWRkcik7CnZvaWQgaXJsbXBfbGlua19jb25uZWN0X2NvbmZpcm0oc3RydWN0IGxhcF9jYiAqc2VsZiwgc3RydWN0IHFvc19pbmZvICpxb3MsIAoJCQkJc3RydWN0IHNrX2J1ZmYgKnNrYik7CnZvaWQgaXJsbXBfbGlua19kaXNjb25uZWN0X2luZGljYXRpb24oc3RydWN0IGxhcF9jYiAqLCBzdHJ1Y3QgaXJsYXBfY2IgKiwgCgkJCQkgICAgICBMQVBfUkVBU09OIHJlYXNvbiwgc3RydWN0IHNrX2J1ZmYgKik7IAp2b2lkIGlybG1wX2xpbmtfZGlzY292ZXJ5X2NvbmZpcm0oc3RydWN0IGxhcF9jYiAqc2VsZiwgaGFzaGJpbl90ICpsb2cpOwp2b2lkIGlybG1wX2xpbmtfZGlzY292ZXJ5X2luZGljYXRpb24oc3RydWN0IGxhcF9jYiAqLCBkaXNjb3ZlcnlfdCAqZGlzY292ZXJ5KTsKCiNlbmRpZgo=