rlog reporting "branch refers to non-existent revision"
John Anderson <[email protected]> Sun, 29 Mar 2015 19:50:57 -0400
| Newsgroups | gmane.comp.gnu.rcs |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--------------020704000805040002020906
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
I am using RCS 5.9.2 and cvs 1.12.13 on a 64 bit Ubuntu 14.10. I am
having no probems with cvs, but on a few of my repository files, rlog
fails with an error message of the form:
rlog: ./handandfoot/runnables/UpdateStacks.java,v:20: branch refers
to non-existent revision `1.16.2.1'
rlog aborted
I have attached the file that produces the above error. I can't see any
problem with that file, but I am certainly not an RCS expert. Can anyone
see what the problem is? Or is this possibly a bug in RCS?
Thanks for any help you can provide.
-John
--------------020704000805040002020906
Content-Type: text/plain; charset=UTF-8;
name="UpdateStacks.java,v"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="UpdateStacks.java,v"
aGVhZAkxLjE2OwphY2Nlc3M7CnN5bWJvbHMKCXByZV9yZXNpemVfbW9kczoxLjE2LjIuMgoJ
bmV0d29ya2VkUGxheWVyczoxLjE2LjAuMgoJcHJpb3JUb05ldHdvcmtlZFBsYXllcnM6MS4x
NgoJcmVsZWFzZTFfMjoxLjEyCglyZWxlYXNlMV8xOjEuMTIKCXJlbGVhc2UxXzA6MS4xMgoJ
cmVvcmc6MS4xMi4wLjIKCXByZVJlb3JnOjEuMTIKCXZlcnNpb24xXzBfMDoxLjY7CmxvY2tz
OyBzdHJpY3Q7CmNvbW1lbnQJQCMgQDsKCgoxLjE2CmRhdGUJMjAxNC4wMS4wMS4wMC4xMS41
NTsJYXV0aG9yIGpyYTsJc3RhdGUgRXhwOwpicmFuY2hlcwoJMS4xNi4yLjE7Cm5leHQJMS4x
NTsKZGVsdGF0eXBlCXRleHQ7CmNvbW1pdGlkCTEwMDUyQzM1RDRBMTFBREVDQkY7CgoxLjE1
CmRhdGUJMjAxMy4xMS4wNS4wMC4zMy4wNzsJYXV0aG9yIGpyYTsJc3RhdGUgRXhwOwpicmFu
Y2hlczsKbmV4dAkxLjE0OwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0aWQJMTAwNTI3ODNDQzIx
MUZBOEY2NDsKCjEuMTQKZGF0ZQkyMDEzLjEwLjIxLjAwLjAxLjUxOwlhdXRob3IganJhOwlz
dGF0ZSBFeHA7CmJyYW5jaGVzOwpuZXh0CTEuMTM7CmRlbHRhdHlwZQl0ZXh0Owpjb21taXRp
ZAkxMDA1MjY0NkVFRjFEQjQwQzlFOwoKMS4xMwpkYXRlCTIwMTMuMTAuMDguMTkuNDcuMzk7
CWF1dGhvciBqcmE7CXN0YXRlIEV4cDsKYnJhbmNoZXM7Cm5leHQJMS4xMjsKZGVsdGF0eXBl
CXRleHQ7CmNvbW1pdGlkCTEwMDUyNTQ2MTU3MEJBRkVFMUM7CgoxLjEyCmRhdGUJMjAxMy4x
MC4wMi4xNC40NC4xODsJYXV0aG9yIGpyYTsJc3RhdGUgRXhwOwpicmFuY2hlczsKbmV4dAkx
LjExOwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0aWQJMTAwNTI0QzMxNDIwRDNCNUY1OTsKCjEu
MTEKZGF0ZQkyMDEzLjA4LjE5LjE2LjE0LjIwOwlhdXRob3IganJhOwlzdGF0ZSBFeHA7CmJy
YW5jaGVzOwpuZXh0CTEuMTA7CmRlbHRhdHlwZQl0ZXh0Owpjb21taXRpZAkxMDA1MjEyNDQ1
OTEwNTAxMkVFOwoKMS4xMApkYXRlCTIwMTMuMDcuMzEuMTcuMzAuMTk7CWF1dGhvciBqcmE7
CXN0YXRlIEV4cDsKYnJhbmNoZXM7Cm5leHQJMS45OwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0
aWQJMTAwNTFGOTQ5QUExMDczMkQ0QTsKCjEuOQpkYXRlCTIwMTMuMDcuMTguMDMuMzkuMTM7
CWF1dGhvciBqcmE7CXN0YXRlIEV4cDsKYnJhbmNoZXM7Cm5leHQJMS44OwpkZWx0YXR5cGUJ
dGV4dDsKY29tbWl0aWQJMTAwNTFFNzYzNUYxMUVDQzFFMzsKCjEuOApkYXRlCTIwMTMuMDcu
MTcuMDIuNTUuMTE7CWF1dGhvciBqcmE7CXN0YXRlIEV4cDsKYnJhbmNoZXM7Cm5leHQJMS43
OwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0aWQJMTAwNTFFNjA3OEQxODA0NkZBNjsKCjEuNwpk
YXRlCTIwMTMuMDcuMDcuMDQuMDAuMTE7CWF1dGhvciBqcmE7CXN0YXRlIEV4cDsKYnJhbmNo
ZXM7Cm5leHQJMS42OwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0aWQJMTAwNTFEOEU3QzcyQjI5
RDQ1ODsKCjEuNgpkYXRlCTIwMTMuMDYuMTQuMTIuNDMuMjY7CWF1dGhvciBqcmE7CXN0YXRl
IEV4cDsKYnJhbmNoZXM7Cm5leHQJMS41OwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0aWQJMTAw
NTFCQjBGRUMxMjVCQjQ1OTsKCjEuNQpkYXRlCTIwMTMuMDYuMTQuMDMuMDQuMTE7CWF1dGhv
ciBqcmE7CXN0YXRlIEV4cDsKYnJhbmNoZXM7Cm5leHQJMS40OwpkZWx0YXR5cGUJdGV4dDsK
Y29tbWl0aWQJMTAwNTFCQTg4MkExMzY3MkJFQjsKCjEuNApkYXRlCTIwMTMuMDYuMTMuMjIu
MTguNDM7CWF1dGhvciBqcmE7CXN0YXRlIEV4cDsKYnJhbmNoZXM7Cm5leHQJMS4zOwpkZWx0
YXR5cGUJdGV4dDsKY29tbWl0aWQJMTAwNTFCQTQ1NDIwREE3NUQ0OTsKCjEuMwpkYXRlCTIw
MTMuMDYuMTMuMDAuNTAuMDI7CWF1dGhvciBqcmE7CXN0YXRlIEV4cDsKYnJhbmNoZXM7Cm5l
eHQJMS4yOwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0aWQJMTAwNTFCOTE3MzkxMTEwNUE4NDsK
CjEuMgpkYXRlCTIwMTMuMDYuMTEuMDAuNTUuMTM7CWF1dGhvciBqcmE7CXN0YXRlIEV4cDsK
YnJhbmNoZXM7Cm5leHQJMS4xOwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0aWQJMTAwNTFCNjc1
NkMxMDNBNzc0MDsKCjEuMQpkYXRlCTIwMTMuMDYuMTAuMTcuMzcuNTk7CWF1dGhvciBqcmE7
CXN0YXRlIEV4cDsKYnJhbmNoZXM7Cm5leHQJOwpkZWx0YXR5cGUJdGV4dDsKY29tbWl0aWQJ
MTAwNTFCNjBFRjQwQ0MxOUQwNzsKCjEuMTYuMi4xCmRhdGUJMjAxNC4wNy4wOS4wMS41OC40
MjsJYXV0aG9yIGpyYTsJc3RhdGUgRXhwOwpicmFuY2hlczsKbmV4dAkxLjE2LjIuMjsKZGVs
dGF0eXBlCXRleHQ7CmNvbW1pdGlkCTEwMDUzQkNBMUNGMjRDODlEOUQ7CgoxLjE2LjIuMgpk
YXRlCTIwMTQuMTIuMDQuMjAuMjEuMjU7CWF1dGhvciBqcmE7CXN0YXRlIEV4cDsKYnJhbmNo
ZXM7Cm5leHQJMS4xNi4yLjM7CmRlbHRhdHlwZQl0ZXh0Owpjb21taXRpZAkxMDA1NDgwQzI0
NTBGMjg0MUYzOwoKMS4xNi4yLjMKZGF0ZQkyMDE0LjEyLjEzLjAwLjA0LjQ5OwlhdXRob3Ig
anJhOwlzdGF0ZSBFeHA7CmJyYW5jaGVzOwpuZXh0CTEuMTYuMi40OwpkZWx0YXR5cGUJdGV4
dDsKY29tbWl0aWQJMTAwNTQ4QjgyOUMyMDkxNENFNjsKCjEuMTYuMi40CmRhdGUJMjAxNC4x
Mi4xMy4wMS41My4zMDsJYXV0aG9yIGpyYTsJc3RhdGUgRXhwOwpicmFuY2hlczsKbmV4dAk7
CmRlbHRhdHlwZQl0ZXh0OwpwZXJtaXNzaW9ucwk2NDQ7CmNvbW1pdGlkCWRlYzU0OGI5YzE2
NmMzYjsKa29wdAlrdjsKZmlsZW5hbWUJQFVwZGF0ZVN0YWNrcy5qYXZhQDsKCgpkZXNjCkBA
CgoKMS4xNgpsb2cKQFJlc3RvcmVkIHByZXZpb3VzbHkgcmVtb3ZlZCBjb2RlIHRoYXQgY2Fs
bGVkIENhcmRQYW5lLnJlbW92ZSgpLiBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHdpbGRDb3Vu
dCBjb3JyZWN0LgpBZGRlZCBjb2RlIHRvIFVwZGF0ZVN0YWNrcyB0byBrZWVwIHZlcnRpY2Fs
IHBhbmUgY29sb3JzIGNvcnJlY3QuCkAKdGV4dApALyoKICogVG8gY2hhbmdlIHRoaXMgdGVt
cGxhdGUsIGNob29zZSBUb29scyB8IFRlbXBsYXRlcwogKiBhbmQgb3BlbiB0aGUgdGVtcGxh
dGUgaW4gdGhlIGVkaXRvci4KICovCnBhY2thZ2UgaGFuZGFuZGZvb3QucnVubmFibGVzOwoK
aW1wb3J0IGhhbmRhbmRmb290LkNhcmRJbWFnZVZpZXc7CmltcG9ydCBoYW5kYW5kZm9vdC5D
YXJkVmVydFBhbmVJbnRlcmZhY2U7CmltcG9ydCBoYW5kYW5kZm9vdC5HYW1lTW9kZWw7Cmlt
cG9ydCBoYW5kYW5kZm9vdC5IYW5kQW5kRm9vdDsKaW1wb3J0IGhhbmRhbmRmb290LlBsYXll
cjsKaW1wb3J0IGphdmEudXRpbC5Db2xsZWN0aW9uczsKaW1wb3J0IG9yZy5qcmEuY2FyZHMu
Q2FyZDsKCi8qKgogKgogKiBAQGF1dGhvciBqcmEKICovCnB1YmxpYyBjbGFzcyBVcGRhdGVT
dGFja3MgaW1wbGVtZW50cyBSdW5uYWJsZSB7CgogICAgQEBPdmVycmlkZQogICAgcHVibGlj
IHZvaWQgcnVuKCkgewogICAgICAgIGlmIChIYW5kQW5kRm9vdC5kZWJ1Zy5nZXQoSGFuZEFu
ZEZvb3QuREVCVUdfTE9HKSkgewogICAgICAgICAgICBHYW1lTW9kZWwubG9nKCJJbiB1cGRh
dGVTdGFja3MiKTsKICAgICAgICB9CiAgICAgICAgQ2FyZCBjYXJkID0gR2FtZU1vZGVsLmRp
c2NhcmRTdGFjay5wZWVrKCk7CiAgICAgICAgaWYgKGNhcmQgPT0gbnVsbCkgewogICAgICAg
ICAgICBHYW1lTW9kZWwuZGlzY2FyZFZpZXcuc2V0VmlzaWJsZShmYWxzZSk7CiAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgR2FtZU1vZGVsLmRpc2NhcmRWaWV3LnNldENhcmQoY2Fy
ZCk7CiAgICAgICAgICAgIEdhbWVNb2RlbC5kaXNjYXJkVmlldy5zZXRWaXNpYmxlKHRydWUp
OwogICAgICAgIH0KCiAgICAgICAgaWYgKEhhbmRBbmRGb290LmRlYnVnLmdldChIYW5kQW5k
Rm9vdC5ERUJVR19MT0cpKSB7CiAgICAgICAgICAgIEdhbWVNb2RlbC5sb2coImluIFVwZGF0
ZVN0YWNrczogbXlIYW5kIHNpemUgaXMgIiArIEdhbWVNb2RlbC5oYW5kcy5nZXQoUGxheWVy
Lk1lKS5zaXplKCkpOwogICAgICAgIH0KICAgICAgICBDb2xsZWN0aW9ucy5zb3J0KEdhbWVN
b2RlbC5oYW5kcy5nZXQoUGxheWVyLk1lKSk7CiAgICAgICAgR2FtZU1vZGVsLm15SGFuZFBh
bmUuZ2V0Q2hpbGRyZW4oKS5jbGVhcigpOwogICAgICAgIGlmIChIYW5kQW5kRm9vdC5kZWJ1
Zy5nZXQoSGFuZEFuZEZvb3QuREVCVUdfTE9HKSkgewogICAgICAgICAgICBHYW1lTW9kZWwu
bG9nKCJcdGNhcmRzRHJhd24gPSAiICsgR2FtZU1vZGVsLmNhcmRzRHJhd24uZ2V0KCkpOwog
ICAgICAgIH0KICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IEdhbWVNb2RlbC5oYW5kcy5n
ZXQoUGxheWVyLk1lKS5zaXplKCk7IGkrKykgewogICAgICAgICAgICBDYXJkIGMgPSBHYW1l
TW9kZWwuaGFuZHMuZ2V0KFBsYXllci5NZSkuZ2V0KGkpOwogICAgICAgICAgICBDYXJkSW1h
Z2VWaWV3IGl2ID0gbmV3IENhcmRJbWFnZVZpZXcoYyk7CiAgICAgICAgICAgIGlmIChHYW1l
TW9kZWwuY3VycmVudFBsYXllciA9PSBQbGF5ZXIuTWUgJiYKLy8gICAgICAgICAgICAgICAg
ICAgIEhhbmRBbmRGb290LmNhcmROb3RVc2FibGUgIT0gYyAmJgogICAgICAgICAgICAgICAg
ICAgIEdhbWVNb2RlbC5jYXJkc0RyYXduLmdldCgpID4gMSkgewogICAgICAgICAgICAgICAg
aWYgKEhhbmRBbmRGb290LmRlYnVnLmdldChIYW5kQW5kRm9vdC5ERUJVR19MT0cpKSB7CiAg
ICAgICAgICAgICAgICAgICAgR2FtZU1vZGVsLmxvZygiXHRzZXR0aW5nIE9uRHJhZ0RldGVj
dGVkIGZvciAiICsgYyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpdi5z
ZXRPbkRyYWdEZXRlY3RlZChIYW5kQW5kRm9vdC5NeUhhbmREcmFnRGV0ZWN0b3IpOwogICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKEhhbmRBbmRGb290LmRlYnVn
LmdldChIYW5kQW5kRm9vdC5ERUJVR19MT0cpKSB7CiAgICAgICAgICAgICAgICAgICAgR2Ft
ZU1vZGVsLmxvZygiXHR1bnNldHRpbmcgT25EcmFnRGV0ZWN0ZWQgZm9yICIgKyBjKTsKICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGl2LnNldE9uRHJhZ0RldGVjdGVkKG51
bGwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIEdhbWVNb2RlbC5teUhhbmRQYW5lLmdl
dENoaWxkcmVuKCkuYWRkKGl2KTsKICAgICAgICAgICAgaXYuc2V0SWQoYy50b1N0cmluZygp
KTsKICAgICAgICAgICAgaXYuc2V0WCgxLjApOwogICAgICAgICAgICBpdi5zZXRZKDEuMCAr
IEhhbmRBbmRGb290LkhBTkRfVkVSVF9PVkVSTEFQICogaSk7CiAgICAgICAgICAgIEdhbWVN
b2RlbC5teUhhbmRQYW5lLnNldE1vdXNlVHJhbnNwYXJlbnQoZmFsc2UpOwogICAgICAgIH0K
ICAgICAgICAKICAgICAgICBmb3IgKENhcmRWZXJ0UGFuZUludGVyZmFjZSBjdnBpIDogR2Ft
ZU1vZGVsLm15VmVydENhbmFzdGFzKSB7CiAgICAgICAgICAgIGlmIChjdnBpLmdldFdpbGRD
b3VudCgpID4gMCkgewogICAgICAgICAgICAgICAgY3ZwaS5zZXRTdHlsZSgiLWZ4LWJhY2tn
cm91bmQtY29sb3I6IGJsYWNrOyIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgY3ZwaS5zZXRTdHlsZSgiLWZ4LWJhY2tncm91bmQtY29sb3I6IHJlZDsiKTsKICAg
ICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IgKENhcmRWZXJ0UGFuZUludGVyZmFj
ZSBjdnBpIDogR2FtZU1vZGVsLnRoZWlyVmVydENhbmFzdGFzKSB7CiAgICAgICAgICAgIGlm
IChjdnBpLmdldFdpbGRDb3VudCgpID4gMCkgewogICAgICAgICAgICAgICAgY3ZwaS5zZXRT
dHlsZSgiLWZ4LWJhY2tncm91bmQtY29sb3I6IGJsYWNrOyIpOwogICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgY3ZwaS5zZXRTdHlsZSgiLWZ4LWJhY2tncm91bmQtY29s
b3I6IHJlZDsiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKLy8gICAgICAg
IGlmIChIYW5kQW5kRm9vdC5kZWJ1Zy5nZXQoSGFuZEFuZEZvb3QuREVCVUdfU0hPV19IQU5E
UykpIHsKLy8gICAgICAgICAgICBHYW1lTW9kZWwuaGFuZERpc3BsYXlzW1BsYXllci5XZXN0
Lm9yZGluYWwoKSAtIDFdLmRpc3BsYXlIYW5kKEdhbWVNb2RlbC53ZXN0SGFuZCk7Ci8vICAg
ICAgICAgICAgR2FtZU1vZGVsLmhhbmREaXNwbGF5c1tQbGF5ZXIuTm9ydGgub3JkaW5hbCgp
IC0gMV0uZGlzcGxheUhhbmQoR2FtZU1vZGVsLnBhcnRuZXJIYW5kKTsKLy8gICAgICAgICAg
ICBHYW1lTW9kZWwuaGFuZERpc3BsYXlzW1BsYXllci5FYXN0Lm9yZGluYWwoKSAtIDFdLmRp
c3BsYXlIYW5kKEdhbWVNb2RlbC5lYXN0SGFuZCk7Ci8vICAgICAgICB9CiAgICAgICAgc3lu
Y2hyb25pemVkIChIYW5kQW5kRm9vdC51cGRhdGVTdGFja3NMb2NrKSB7CiAgICAgICAgICAg
IEhhbmRBbmRGb290LnVwZGF0ZVN0YWNrc0xvY2subm90aWZ5QWxsKCk7CiAgICAgICAgfQog
ICAgICAgIGlmIChIYW5kQW5kRm9vdC5kZWJ1Zy5nZXQoSGFuZEFuZEZvb3QuREVCVUdfTE9H
KSkgewogICAgICAgICAgICBHYW1lTW9kZWwubG9nKCJlbmQgb2YgVXBkYXRlU3RhY2tzIik7
CiAgICAgICAgfQogICAgfQp9CkAKCgoxLjE2LjIuMQpsb2cKQEhhbmQgY2FuIG5vdyBiZSB1
bnNvcnRlZApACnRleHQKQGExMSAxCmltcG9ydCBoYW5kYW5kZm9vdC5jb25maWcuQ29uZmln
OwpkMzcgMQphMzcgMwogICAgICAgIGlmIChDb25maWcua2VlcEhhbmRTb3J0ZWQuZ2V0KCkp
IHsKICAgICAgICAgICAgQ29sbGVjdGlvbnMuc29ydChHYW1lTW9kZWwuaGFuZHMuZ2V0KFBs
YXllci5NZSkpOwogICAgICAgIH0KQAoKCjEuMTYuMi4yCmxvZwpATWlub3IgbW9kIHdpdGgg
aG9wZSBvZiBlbGltaW5hdGluZyBDTUUuCkAKdGV4dApAZDYxIDEKZDY1IDEKYTY1IDEKICAg
ICAgICAgICAgR2FtZU1vZGVsLm15SGFuZFBhbmUuZ2V0Q2hpbGRyZW4oKS5hZGQoaXYpOwph
NjYgMQogICAgICAgIEdhbWVNb2RlbC5teUhhbmRQYW5lLnNldE1vdXNlVHJhbnNwYXJlbnQo
ZmFsc2UpOwpACgoKMS4xNi4yLjMKbG9nCkBJbXByb3ZlZCBib2FyZCBsYXlvdXQgZm9yIGR5
bmFtaWMgcmVzaXppbmcuCkAKdGV4dApAZDYzIDEKYTYzIDEKICAgICAgICAgICAgaXYuc2V0
WSgxLjAgKyBIYW5kQW5kRm9vdC5IQU5EX1ZFUlRfT1ZFUkxBUC5kb3VibGVWYWx1ZSgpICog
aSk7CkAKCgoxLjE2LjIuNApsb2cKQG15SGFuZFBhbmUgaXMgbm93IHRvRnJvbnQoKS4KQAp0
ZXh0CkBhNjUgMQogICAgICAgIEdhbWVNb2RlbC5teUhhbmRQYW5lLnRvRnJvbnQoKTsKQAoK
CjEuMTUKbG9nCkBDaGFuZ2VkIGNhcmRzRHJhd24gY2hlY2sgdG8gIj4xIi4KQAp0ZXh0CkBk
OCAxCmQ2NSAxNQpACgoKMS4xNApsb2cKQEVsaW1pbmF0ZWQgSGFuZEFuZEZvb3QudW51c2Fi
bGVDYXJkLgpGaXhlZCBleGl0IHZpYSAiWCIgYnV0dG9uIHRvIGtpbGwgcGlsZUhhbmRsZXJU
aHJlYWQKQAp0ZXh0CkBkNDYgMQphNDYgMQogICAgICAgICAgICAgICAgICAgIEdhbWVNb2Rl
bC5jYXJkc0RyYXduLmdldCgpID09IDIpIHsKQAoKCjEuMTMKbG9nCkBGaXhlZCBidWcgd2l0
aCBoYW5kIGFuZCBmZWV0IGdldHRpbmcgY29uZnVzZWQuIG5vdyBhbGwgcmVmZXJlbmNlcyBz
aG91bGQgYmUgdGhyb3VnaCBHYW1lTW9kZWwuaGFuZHMgbWFwLgpACnRleHQKQGQzOSAxCmEz
OSAxCiAgICAgICAgICAgIEdhbWVNb2RlbC5sb2coIlx0Y2FyZE5vdFVzYWJsZSA9ICIgKyBI
YW5kQW5kRm9vdC5jYXJkTm90VXNhYmxlICsgIiwgY2FyZHNEcmF3biA9ICIgKyBHYW1lTW9k
ZWwuY2FyZHNEcmF3bi5nZXQoKSk7CmQ0NSAxCmE0NSAxCiAgICAgICAgICAgICAgICAgICAg
SGFuZEFuZEZvb3QuY2FyZE5vdFVzYWJsZSAhPSBjICYmCkAKCgoxLjEyCmxvZwpAU29tZSBt
b3JlIGNvZGUgY2xlYW51cC4KQAp0ZXh0CkBkMzQgMQphMzQgMQogICAgICAgICAgICBHYW1l
TW9kZWwubG9nKCJpbiBVcGRhdGVTdGFja3M6IG15SGFuZCBzaXplIGlzICIgKyBHYW1lTW9k
ZWwubXlIYW5kLnNpemUoKSk7CmQzNiAxCmEzNiAxCiAgICAgICAgQ29sbGVjdGlvbnMuc29y
dChHYW1lTW9kZWwubXlIYW5kKTsKZDQxIDIKYTQyIDIKICAgICAgICBmb3IgKGludCBpID0g
MDsgaSA8IEdhbWVNb2RlbC5teUhhbmQuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgICAgQ2Fy
ZCBjID0gR2FtZU1vZGVsLm15SGFuZC5nZXQoaSk7CkAKCgoxLjExCmxvZwpAbm93IHVzZXMg
bm90aWZ5QWxsKCkgaW5zdGVhZCBvZiBub3RpZnkoKSAoc3VnZ2VzdGVkIGJ5IGZpbmRidWdz
KQpACnRleHQKQGQ2NCA1CmE2OCA1CiAgICAgICAgaWYgKEhhbmRBbmRGb290LmRlYnVnLmdl
dChIYW5kQW5kRm9vdC5ERUJVR19TSE9XX0hBTkRTKSkgewogICAgICAgICAgICBHYW1lTW9k
ZWwuaGFuZERpc3BsYXlzW1BsYXllci5XZXN0Lm9yZGluYWwoKSAtIDFdLmRpc3BsYXlIYW5k
KEdhbWVNb2RlbC53ZXN0SGFuZCk7CiAgICAgICAgICAgIEdhbWVNb2RlbC5oYW5kRGlzcGxh
eXNbUGxheWVyLk5vcnRoLm9yZGluYWwoKSAtIDFdLmRpc3BsYXlIYW5kKEdhbWVNb2RlbC5w
YXJ0bmVySGFuZCk7CiAgICAgICAgICAgIEdhbWVNb2RlbC5oYW5kRGlzcGxheXNbUGxheWVy
LkVhc3Qub3JkaW5hbCgpIC0gMV0uZGlzcGxheUhhbmQoR2FtZU1vZGVsLmVhc3RIYW5kKTsK
ICAgICAgICB9CkAKCgoxLjEwCmxvZwpARml4ZWQgYnVnOiBVbmRvaW5nIG1vdmUgYWZ0ZXIg
cGxheSBmcm9tIGRpc2NhcmQgc3RhY2sgcmVzdWx0cyBpbiBjYXJkIGRyYXduIGZyb20gcGls
ZSBiZWluZyB1bnBsYXlhYmxlLgpACnRleHQKQGQ3MCAxCmE3MCAxCiAgICAgICAgICAgIEhh
bmRBbmRGb290LnVwZGF0ZVN0YWNrc0xvY2subm90aWZ5KCk7CkAKCgoxLjkKbG9nCkBDb2Rl
IHRvIHByZXZlbnQgY2FyZCBmcm9tIHBpbGUgKGFmdGVyIHVzaW5nIGRpc2NhcmQpIGZyb20g
YmVpbmcgcGxheWVkLgpACnRleHQKQGQzOCAzCmQ0NyAzCmQ1MiAzCkAKCgoxLjgKbG9nCkBp
bXByb3ZlZCBkaXNjYXJkIGxvZ2ljLgpIYW5kQW5kRm9vdC5kZWJ1ZyBpcyBub3cgYWEgQml0
U2V0LgpACnRleHQKQGQ0MSAzCmE0MyAxCiAgICAgICAgICAgIGlmIChHYW1lTW9kZWwuY3Vy
cmVudFBsYXllciA9PSBQbGF5ZXIuTWUgJiYgR2FtZU1vZGVsLmNhcmRzRHJhd24uZ2V0KCkg
PT0gMikgewpACgoKMS43CmxvZwpAQWRkZWQgcG9wIHVwIGZvciBsYXlkb3duIHBvaW50cy4K
QAp0ZXh0CkBkMjIgMQphMjIgMQogICAgICAgIGlmIChIYW5kQW5kRm9vdC5kZWJ1Zykgewpk
MzMgMQphMzMgMQogICAgICAgIGlmIChIYW5kQW5kRm9vdC5kZWJ1ZykgewpkNTMgMQphNTMg
MQogICAgICAgIGlmIChIYW5kQW5kRm9vdC5kZWJ1ZykgewpkNjEgMQphNjEgMQogICAgICAg
IGlmIChIYW5kQW5kRm9vdC5kZWJ1ZykgewpACgoKMS42CmxvZwpAYWRkZWQgbWF4IHdhaXQg
dGltZXMKQAp0ZXh0CkBhMTEgMgppbXBvcnQgamF2YS51dGlsLmxvZ2dpbmcuTGV2ZWw7Cmlt
cG9ydCBqYXZhLnV0aWwubG9nZ2luZy5Mb2dnZXI7CmQ1MiA2CmE1NyA1Ci8vICAgICAgICB0
cnkgewovLyAgICAgICAgICAgIFRocmVhZC5zbGVlcCgyMDApOyAgLy8gbmVlZCBzbGVlcCBo
ZXJlIHRvIGxldCBjYWxsZXIgZ2V0IGludG8gaXRzIHN5bmNocm9uaXplZCBibG9jayBiZWZv
cmUgdXMKLy8gICAgICAgIH0gY2F0Y2ggKEludGVycnVwdGVkRXhjZXB0aW9uIGV4KSB7Ci8v
ICAgICAgICAgICAgTG9nZ2VyLmdldExvZ2dlcihVcGRhdGVTdGFja3MuY2xhc3MuZ2V0TmFt
ZSgpKS5sb2coTGV2ZWwuU0VWRVJFLCBudWxsLCBleCk7Ci8vICAgICAgICB9CkAKCgoxLjUK
bG9nCkBhZGRlZCBhIGNvdXBsZSBzaG9ydCBzbGVlcHMgdG8gaW5zdXJlIHRoYXQgY2FsbGlu
ZyB0aHJlYWQgZ2V0cyB0byBzeW5jaHJvbml6ZWQgYmxvY2sgYmVmb3JlIHRoZSBBcHBsaWNh
dGlvbiBUaHJlYWQuCkAKdGV4dApAZDU0IDUKYTU4IDUKICAgICAgICB0cnkgewogICAgICAg
ICAgICBUaHJlYWQuc2xlZXAoMjAwKTsgIC8vIG5lZWQgc2xlZXAgaGVyZSB0byBsZXQgY2Fs
bGVyIGdldCBpbnRvIGl0cyBzeW5jaHJvbml6ZWQgYmxvY2sgYmVmb3JlIHVzCiAgICAgICAg
fSBjYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gZXgpIHsKICAgICAgICAgICAgTG9nZ2Vy
LmdldExvZ2dlcihVcGRhdGVTdGFja3MuY2xhc3MuZ2V0TmFtZSgpKS5sb2coTGV2ZWwuU0VW
RVJFLCBudWxsLCBleCk7CiAgICAgICAgfQpACgoKMS40CmxvZwpAbW9yZSBsb2dnaW5nCkAK
dGV4dApAZDEyIDIKZDM1IDI0CmE1OSAxOQogICAgICAgICAgICBpZiAoSGFuZEFuZEZvb3Qu
ZGVidWcpIHsKICAgICAgICAgICAgICAgIEdhbWVNb2RlbC5sb2coImluIFVwZGF0ZVN0YWNr
czogbXlIYW5kIHNpemUgaXMgIiArIEdhbWVNb2RlbC5teUhhbmQuc2l6ZSgpKTsKICAgICAg
ICAgICAgfQogICAgICAgICAgICBDb2xsZWN0aW9ucy5zb3J0KEdhbWVNb2RlbC5teUhhbmQp
OwogICAgICAgICAgICBHYW1lTW9kZWwubXlIYW5kUGFuZS5nZXRDaGlsZHJlbigpLmNsZWFy
KCk7CiAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgR2FtZU1vZGVsLm15SGFuZC5z
aXplKCk7IGkrKykgewogICAgICAgICAgICAgICAgQ2FyZCBjID0gR2FtZU1vZGVsLm15SGFu
ZC5nZXQoaSk7CiAgICAgICAgICAgICAgICBDYXJkSW1hZ2VWaWV3IGl2ID0gbmV3IENhcmRJ
bWFnZVZpZXcoYyk7CiAgICAgICAgICAgICAgICBpZiAoR2FtZU1vZGVsLmN1cnJlbnRQbGF5
ZXIgPT0gUGxheWVyLk1lICYmIEdhbWVNb2RlbC5jYXJkc0RyYXduLmdldCgpID09IDIpIHsK
ICAgICAgICAgICAgICAgICAgICBpdi5zZXRPbkRyYWdEZXRlY3RlZChIYW5kQW5kRm9vdC5N
eUhhbmREcmFnRGV0ZWN0b3IpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICAgICBpdi5zZXRPbkRyYWdEZXRlY3RlZChudWxsKTsKICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgIEdhbWVNb2RlbC5teUhhbmRQYW5lLmdldENoaWxkcmVuKCku
YWRkKGl2KTsKICAgICAgICAgICAgICAgIGl2LnNldElkKGMudG9TdHJpbmcoKSk7CiAgICAg
ICAgICAgICAgICBpdi5zZXRYKDEuMCk7CiAgICAgICAgICAgICAgICBpdi5zZXRZKDEuMCAr
IEhhbmRBbmRGb290LkhBTkRfVkVSVF9PVkVSTEFQICogaSk7CiAgICAgICAgICAgICAgICBH
YW1lTW9kZWwubXlIYW5kUGFuZS5zZXRNb3VzZVRyYW5zcGFyZW50KGZhbHNlKTsKICAgICAg
ICAgICAgfQpACgoKMS4zCmxvZwpAQWRkZWQgY2hlY2sgdG8gZWxpbWluYXRlIHRyeWluZyB0
byBwbGF5IHRvbyBtYW55IHdpbGQgY2FyZHMgaW4gQXV0b1BsYXkucGxheU9uRXhpc3RpbmdD
YW5hc3RhcygpLgpBZGRlZCBsb2NrIG9iamVjdCBmb3IgVXBkYXRlU3RhY2tzCkAKdGV4dApA
ZDIyIDMKZDU1IDMKQAoKCjEuMgpsb2cKQHByb3RlY3RlZCBsb2cgbWVzc2FnZXMgd2l0aCAi
SWYoZGVidWcpIi4KZml4ZWQgc29tZSBidWdzLgpACnRleHQKQGQzMCAxCmEzMCAxCiAgICAg
ICAgc3luY2hyb25pemVkIChHYW1lTW9kZWwucm9vdCkgewpkNTAgMQphNTAgMQogICAgICAg
ICAgICBHYW1lTW9kZWwucm9vdC5ub3RpZnkoKTsKQAoKCjEuMQpsb2cKQGltcHJvdmVkIGNv
bmN1cnJlbmN5IGFuZCBsb2NraW5nCkAKdGV4dApAZDMxIDMKYTMzIDEKICAgICAgICAgICAg
R2FtZU1vZGVsLmxvZygiaW4gVXBkYXRlU3RhY2tzOiBteUhhbmQgc2l6ZSBpcyAiICsgR2Ft
ZU1vZGVsLm15SGFuZC5zaXplKCkpOwpACgo=
--------------020704000805040002020906--