IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IGhhbmRsaW5nIG9mIGlucHV0IGZpbGVzIHdpdGggZGlmZmVyZW50IHRyYW5zbGF0aW9uczoKIyB0cnkgLS11c2UtZmlyc3QKCmNhdCA8PFxFT0YgPiBtY2F0LXRlc3Q1LmluMQojIEdlcm1hbiBtZXNzYWdlIGZpbGUgZm9yIHh5ei4KIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEgeHl6LgojIEthYiBEZWYgPGtlQHp6ei51dWNwPiwgMjAwMC4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogeHl6XG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMS0wNC0yNCAxMjo1MTozNCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAxLTA0LTI0IDEzOjAyKzAyOjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEthYiBEZWYgPGtlQHp6ei51dWNwPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxpMThuQHp6ei51dWNwPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojLiBIZWxwIHRleHQgKEhUTUwtbGlrZSkgU1RBUlQKIzogY2xpZW50cy9pbnN0X2Fza19jb25maWcueWNwOjExOQptc2dpZCAiIgoiQ29uZ3JhdHVsYXRpb25zISIKbXNnc3RyICIiCiJHbPxja3d1bnNjaCEiCkVPRgoKY2F0IDw8XEVPRiA+IG1jYXQtdGVzdDUuaW4yCiMgR2VybWFuIG1lc3NhZ2UgZmlsZSBmb3IgeHl6LgojIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMSB4eXouCiMgS2FiIERlZiA8a2VAenp6LnV1Y3A+LCAyMDAwLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiB4eXpcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAxLTA0LTI0IDEyOjUxOjM0KzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDEtMDQtMjQgMTM6MDIrMDI6MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogS2FiIERlZiA8a2VAenp6LnV1Y3A+XG4iCiJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPGkxOG5Aenp6LnV1Y3A+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiMuIEhlbHAgdGV4dCAoSFRNTC1saWtlKSBTVEFSVAojOiBjbGllbnRzL2luc3RfYXNrX2NvbmZpZy55Y3A6MTE5Cm1zZ2lkICIiCiJDb25ncmF0dWxhdGlvbnMhIgptc2dzdHIgIiIKIkhlcnpsaWNoZW4gR2z8Y2t3dW5zY2ghIgpFT0YKCnJtIC1mIG1jYXQtdGVzdDUudG1wCgo6ICR7TVNHQ0FUPW1zZ2NhdH0KJHtNU0dDQVR9IC0tdXNlLWZpcnN0IC0tbW9yZS10aGFuPTAgLW8gbWNhdC10ZXN0NS50bXAgXAogICAgbWNhdC10ZXN0NS5pbjEgbWNhdC10ZXN0NS5pbjIgfHwgRXhpdCAxCkxDX0FMTD1DIHRyIC1kICdccicgPCBtY2F0LXRlc3Q1LnRtcCA+IG1jYXQtdGVzdDUub3V0IHx8IEV4aXQgMQoKY2F0IDw8IFxFT0YgPiBtY2F0LXRlc3Q1Lm9rCiMgR2VybWFuIG1lc3NhZ2UgZmlsZSBmb3IgeHl6LgojIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMSB4eXouCiMgS2FiIERlZiA8a2VAenp6LnV1Y3A+LCAyMDAwLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiB4eXpcbiIKIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDAxLTA0LTI0IDEyOjUxOjM0KzAyMDBcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMDEtMDQtMjQgMTM6MDIrMDI6MDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogS2FiIERlZiA8a2VAenp6LnV1Y3A+XG4iCiJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPGkxOG5Aenp6LnV1Y3A+XG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiMuIEhlbHAgdGV4dCAoSFRNTC1saWtlKSBTVEFSVAojOiBjbGllbnRzL2luc3RfYXNrX2NvbmZpZy55Y3A6MTE5Cm1zZ2lkICJDb25ncmF0dWxhdGlvbnMhIgptc2dzdHIgIkds/GNrd3Vuc2NoISIKRU9GCgo6ICR7RElGRj1kaWZmfQoke0RJRkZ9IG1jYXQtdGVzdDUub2sgbWNhdC10ZXN0NS5vdXQKcmVzdWx0PSQ/CgpleGl0ICRyZXN1bHQK