PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIgogICAgICAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgo8IS0tIE1hdGVyaWFsIHVzZWQgZnJvbTogSFRNTCA0LjAxIHNwZWNzOiBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNDAxLyAtLT4KPGh0bWw+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogIDx0aXRsZT5saWJjKysgVXBjb21pbmcgTWVldGluZyBTdGF0dXM8L3RpdGxlPgogIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im1lbnUuY3NzIj4KICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjb250ZW50LmNzcyI+CjwvaGVhZD4KCjxib2R5Pgo8ZGl2IGlkPSJtZW51Ij4KICA8ZGl2PgogICAgPGEgaHJlZj0iaHR0cDovL2xsdm0ub3JnLyI+TExWTSBIb21lPC9hPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJzdWJtZW51Ij4KICAgIDxsYWJlbD5saWJjKysgSW5mbzwvbGFiZWw+CiAgICA8YSBocmVmPSIvaW5kZXguaHRtbCI+QWJvdXQ8L2E+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InN1Ym1lbnUiPgogICAgPGxhYmVsPlF1aWNrIExpbmtzPC9sYWJlbD4KICAgIDxhIGhyZWY9Imh0dHA6Ly9saXN0cy5sbHZtLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2NmZS1kZXYiPmNmZS1kZXY8L2E+CiAgICA8YSBocmVmPSJodHRwOi8vbGlzdHMubGx2bS5vcmcvbWFpbG1hbi9saXN0aW5mby9jZmUtY29tbWl0cyI+Y2ZlLWNvbW1pdHM8L2E+CiAgICA8YSBocmVmPSJodHRwOi8vbGx2bS5vcmcvYnVncy8iPkJ1ZyBSZXBvcnRzPC9hPgogICAgPGEgaHJlZj0iaHR0cDovL2xsdm0ub3JnL3N2bi9sbHZtLXByb2plY3QvbGliY3h4L3RydW5rLyI+QnJvd3NlIFNWTjwvYT4KICAgIDxhIGhyZWY9Imh0dHA6Ly9sbHZtLm9yZy92aWV3dmMvbGx2bS1wcm9qZWN0L2xpYmN4eC90cnVuay8iPkJyb3dzZSBWaWV3VkM8L2E+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBpZD0iY29udGVudCI+CiAgPCEtLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi0tPgogIDxoMT5saWJjKysgSXNzYXF1YWggU3RhdHVzPC9oMT4KICA8IS0tKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLS0+CgogIDxwPlRoaXMgaXMgYSB0ZW1wb3JhcnkgcGFnZTsgcGxlYXNlIGNoZWNrIHRoZSBjKysxeiBzdGF0dXMgPGEgaHJlZj0iaHR0cDovL2xpYmN4eC5sbHZtLm9yZy9jeHgxel9zdGF0dXMuaHRtbCI+aGVyZTwvYT48L3A+CiAgPHA+VGhpcyBwYWdlIHNob3dzIHRoZSBzdGF0dXMgb2YgdGhlIHBhcGVycyBhbmQgaXNzdWVzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlIGFkb3B0ZWQgaW4gSXNzYXF1YWguPC9wPgoKICA8cD5UaGUgZ3JvdXBzIHRoYXQgaGF2ZSBjb250cmlidXRlZCBwYXBlcnM6CiAgPHVsPgogICAgPGxpPkxXRyAtIExpYnJhcnkgd29ya2luZyBncm91cDwvbGk+CiAgICA8bGk+Q1dHIC0gQ29yZSBMYW5ndWFnZSBXb3JraW5nIGdyb3VwPC9saT4KICAgIDxsaT5TRzEgLSBTdHVkeSBncm91cCAjMSAoQ29uY3VycmVuY3kgd29ya2luZyBncm91cCk8L2xpPgogIDwvdWw+CiAgPC9wPgogIAogIDxoMz5QYXBlciBTdGF0dXM8L2gzPgogIDx0YWJsZSBpZD0icGFwZXJzIiBib3JkZXI9IjEiPgoJPHRyPjx0aD5QYXBlciAjPC90aD48dGg+R3JvdXA8L3RoPjx0aD5QYXBlciBOYW1lPC90aD48dGg+TWVldGluZzwvdGg+PHRoPlN0YXR1czwvdGg+PHRoPkZpcnN0IHJlbGVhc2VkIHZlcnNpb248L3RoPjwvdHI+CjwhLS0KCTx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuLXN0ZC5vcmcvanRjMS9zYzIyL3dnMjEvZG9jcy9wYXBlcnMvMjAxMi9uMzM0Ni5wZGYiPjMzNDY8L2E+PC90ZD48dGQ+TFdHPC90ZD48dGQ+VGVybWlub2xvZ3kgZm9yIENvbnRhaW5lciBFbGVtZW50IFJlcXVpcmVtZW50cyAtIFJldiAxPC90ZD48dGQ+S29uYTwvdGQ+PHRkPkNvbXBsZXRlPC90ZD48dGQ+My40PC90ZD48L3RyPgotLT4KPCEtLSAgCTx0cj48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48L3RyPiAtLT4KICA8L3RhYmxlPgoKICA8aDM+TGlicmFyeSBXb3JraW5nIGdyb3VwIElzc3VlcyBTdGF0dXM8L2gzPgogIDx0YWJsZSBpZD0iaXNzdWVzIiBib3JkZXI9IjEiPgoJPHRyPjx0aD5Jc3N1ZSAjPC90aD48dGg+SXNzdWUgTmFtZTwvdGg+PHRoPk1lZXRpbmc8L3RoPjx0aD5TdGF0dXM8L3RoPjwvdHI+CgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyMDYyIj4yMDYyPC9hPjwvdGQ+PHRkPkVmZmVjdCBjb250cmFkaWN0aW9ucyB3L28gbm8tdGhyb3cgZ3VhcmFudGVlIG9mIHN0ZDo6ZnVuY3Rpb24gc3dhcHM8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPk5vdGhpbmcgdG8gZG8uPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyMTY2Ij4yMTY2PC9hPjwvdGQ+PHRkPkhlYXAgcHJvcGVydHkgdW5kZXJzcGVjaWZpZWQ/PC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzIyMjEiPjIyMjE8L2E+PC90ZD48dGQ+Tm8gZm9ybWF0dGVkIG91dHB1dCBvcGVyYXRvciBmb3IgbnVsbHB0cjwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+UGF0Y2ggcmVhZHk8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzIyMjMiPjIyMjM8L2E+PC90ZD48dGQ+c2hyaW5rX3RvX2ZpdCBlZmZlY3Qgb24gaXRlcmF0b3IgdmFsaWRpdHk8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPk5vdGhpbmcgdG8gZG8uPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyMjYxIj4yMjYxPC9hPjwvdGQ+PHRkPkFyZSBjb250YWluZXJzIHJlcXVpcmVkIHRvIHVzZSB0aGVpciAncG9pbnRlcicgdHlwZSBpbnRlcm5hbGx5PzwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyMzk0Ij4yMzk0PC9hPjwvdGQ+PHRkPmxvY2FsZTo6bmFtZSBzcGVjaWZpY2F0aW9uIHVuY2xlYXIgLSB3aGF0IGlzIGltcGxlbWVudGF0aW9uLWRlZmluZWQ/PC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5Ob3RoaW5nIHRvIGRvLjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjQ2MCI+MjQ2MDwvYT48L3RkPjx0ZD5MV0cgaXNzdWUgMjQwOCBhbmQgdmFsdWUgY2F0ZWdvcmllczwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+Tm90aGluZyB0byBkby48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI0NjgiPjI0Njg8L2E+PC90ZD48dGQ+U2VsZi1tb3ZlLWFzc2lnbm1lbnQgb2YgbGlicmFyeSB0eXBlczwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNDc1Ij4yNDc1PC9hPjwvdGQ+PHRkPkFsbG93IG92ZXJ3cml0aW5nIG9mIHN0ZDo6YmFzaWNfc3RyaW5nIHRlcm1pbmF0b3Igd2l0aCBjaGFyVCgpIHRvIGFsbG93IGNsZWFuZXIgaW50ZXJvcGVyYXRpb24gd2l0aCBsZWdhY3kgQVBJczwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+Tm90aGluZyB0byBkby48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI1MDMiPjI1MDM8L2E+PC90ZD48dGQ+bXVsdGlsaW5lIG9wdGlvbiBzaG91bGQgYmUgYWRkZWQgdG8gc3ludGF4X29wdGlvbl90eXBlPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI1MTAiPjI1MTA8L2E+PC90ZD48dGQ+VGFnIHR5cGVzIHNob3VsZCBub3QgYmUgRGVmYXVsdENvbnN0cnVjdGlibGU8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjUxNCI+MjUxNDwvYT48L3RkPjx0ZD5UeXBlIHRyYWl0cyBtdXN0IG5vdCBiZSBmaW5hbDwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+Tm90aGluZyB0byBkbzwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjUxOSI+MjUxOTwvYT48L3RkPjx0ZD5JdGVyYXRvciBvcGVyYXRvci09IGhhcyBncmF0dWl0b3VzIHVuZGVmaW5lZCBiZWhhdmlvdXI8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPk5vdGhpbmcgdG8gZG88L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI1MzEiPjI1MzE8L2E+PC90ZD48dGQ+ZnV0dXJlOjpnZXQgc2hvdWxkIGV4cGxpY2l0bHkgc3RhdGUgdGhhdCB0aGUgc2hhcmVkIHN0YXRlIGlzIHJlbGVhc2VkPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI1MzQiPjI1MzQ8L2E+PC90ZD48dGQ+Q29uc3RyYWluIHJ2YWx1ZSBzdHJlYW0gb3BlcmF0b3JzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI1MzYiPjI1MzY8L2E+PC90ZD48dGQ+V2hhdCBzaG91bGQgJmx0O2NvbXBsZXguaCZndDsgZG8/PC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5XZSBhbHJlYWR5IGRvIHRoaXM8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI1NDAiPjI1NDA8L2E+PC90ZD48dGQ+dW5vcmRlcmVkX211bHRpbWFwOjppbnNlcnQgaGludCBpdGVyYXRvcjwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+V2UgYWxyZWFkeSBkbyB0aGlzPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNTQzIj4yNTQzPC9hPjwvdGQ+PHRkPkxXRyAyMTQ4IChoYXNoIHN1cHBvcnQgZm9yIGVudW0gdHlwZXMpIHNlZW1zIHVuZGVyLXNwZWNpZmllZDwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+V2UgYWxyZWFkeSBkbyB0aGlzPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNTQ0Ij4yNTQ0PC9hPjwvdGQ+PHRkPmlzdHJlYW1idWZfaXRlcmF0b3IoYmFzaWNfc3RyZWFtYnVmPGNoYXJULCB0cmFpdHM+KiBzKSBlZmZlY3RzIHVuY2xlYXIgd2hlbiBzIGlzIDA8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPldlIGFscmVhZHkgZG8gdGhpczwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjU1NiI+MjU1NjwvYT48L3RkPjx0ZD5XaWRlIGNvbnRyYWN0IGZvciBmdXR1cmU6OnNoYXJlKCk8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPlBhdGNoIHJlYWR5PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNTYyIj4yNTYyPC9hPjwvdGQ+PHRkPkNvbnNpc3RlbnQgdG90YWwgb3JkZXJpbmcgb2YgcG9pbnRlcnMgYnkgY29tcGFyaXNvbiBmdW5jdG9yczwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNTY3Ij4yNTY3PC9hPjwvdGQ+PHRkPlNwZWNpZmljYXRpb24gb2YgbG9naWNhbCBvcGVyYXRvciB0cmFpdHMgdXNlcyBCYXNlQ2hhcmFjdGVyaXN0aWMsIHdoaWNoIGlzIGRlZmluZWQgb25seSBmb3IgVW5hcnlUeXBlVHJhaXRzIGFuZCBCaW5hcnlUeXBlVHJhaXRzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5Ob3RoaW5nIHRvIGRvLjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjU2OSI+MjU2OTwvYT48L3RkPjx0ZD5jb25qdW5jdGlvbiBhbmQgZGlzanVuY3Rpb24gcmVxdWlyZW1lbnRzIGFyZSB0b28gc3RyaWN0PC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5Ob3RoaW5nIHRvIGRvLjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjU3MCI+MjU3MDwvYT48L3RkPjx0ZD5bZnVuZC50cy52Ml0gY29uanVuY3Rpb24gYW5kIGRpc2p1bmN0aW9uIHJlcXVpcmVtZW50cyBhcmUgdG9vIHN0cmljdDwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNTc4Ij4yNTc4PC9hPjwvdGQ+PHRkPkl0ZXJhdG9yIHJlcXVpcmVtZW50cyBzaG91bGQgcmVmZXJlbmNlIGl0ZXJhdG9yIHRyYWl0czwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+Tm90aGluZyB0byBkbzwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjU4NCI+MjU4NDwvYT48L3RkPjx0ZD48cmVnZXg+IEVDTUFTY3JpcHQgSWRlbnRpdHlFc2NhcGUgaXMgYW1iaWd1b3VzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI1ODkiPjI1ODk8L2E+PC90ZD48dGQ+bWF0Y2hfcmVzdWx0cyBjYW4ndCBzYXRpc2Z5IHRoZSByZXF1aXJlbWVudHMgb2YgYSBjb250YWluZXI8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPk5vdGhpbmcgdG8gZG88L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI1OTEiPjI1OTE8L2E+PC90ZD48dGQ+c3RkOjpmdW5jdGlvbidzIG1lbWJlciB0ZW1wbGF0ZSB0YXJnZXQoKSBzaG91bGQgbm90IGxlYWQgdG8gdW5kZWZpbmVkIGJlaGF2aW91cjwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNTk4Ij4yNTk4PC9hPjwvdGQ+PHRkPmFkZHJlc3NvZiB3b3JrcyBvbiB0ZW1wb3JhcmllczwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+UGF0Y2ggcmVhZHk8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI2NjQiPjI2NjQ8L2E+PC90ZD48dGQ+b3BlcmF0b3IvIChhbmQgb3RoZXIgYXBwZW5kKSBzZW1hbnRpY3Mgbm90IHVzZWZ1bCBpZiBhcmd1bWVudCBoYXMgcm9vdDwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+Tm90aGluZyB0byBkbzwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjY2NSI+MjY2NTwvYT48L3RkPjx0ZD5yZW1vdmVfZmlsZW5hbWUoKSBwb3N0IGNvbmRpdGlvbiBpcyBpbmNvcnJlY3Q8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPlNlZSBCZWxvdzwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjY3MiI+MjY3MjwvYT48L3RkPjx0ZD5TaG91bGQgaXNfZW1wdHkgdXNlIGVycm9yX2NvZGUgaW4gaXRzIHNwZWNpZmljYXRpb24/PC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5XZSBhbHJlYWR5IGRvIHRoaXM8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI2NzgiPjI2Nzg8L2E+PC90ZD48dGQ+c3RkOjpmaWxlc3lzdGVtIGVudW0gY2xhc3NlcyBvdmVyc3BlY2lmaWVkPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5Ob3RoaW5nIHRvIGRvPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNjc5Ij4yNjc5PC9hPjwvdGQ+PHRkPkluY29uc2lzdGVudCBVc2Ugb2YgRWZmZWN0cyBhbmQgRXF1aXZhbGVudCBUbzwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+Tm90aGluZyB0byBkbzwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjY4MCI+MjY4MDwvYT48L3RkPjx0ZD5BZGQgIkVxdWl2YWxlbnQgdG8iIHRvIGZpbGVzeXN0ZW08L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPk5vdGhpbmcgdG8gZG88L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI2ODEiPjI2ODE8L2E+PC90ZD48dGQ+ZmlsZXN5c3RlbTo6Y29weSgpIGNhbm5vdCBjb3B5IHN5bWxpbmtzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5XZSBhbHJlYWR5IGRvIHRoaXM8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI2ODIiPjI2ODI8L2E+PC90ZD48dGQ+ZmlsZXN5c3RlbTo6Y29weSgpIHdvbid0IGNyZWF0ZSBhIHN5bWxpbmsgdG8gYSBkaXJlY3Rvcnk8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPkltcGxlbWVudGVkIGluIHRydW5rPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNjg2Ij4yNjg2PC9hPjwvdGQ+PHRkPldoeSBpcyBzdGQ6Omhhc2ggc3BlY2lhbGl6ZWQgZm9yIGVycm9yX2NvZGUsIGJ1dCBub3QgZXJyb3JfY29uZGl0aW9uPzwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+UGF0Y2ggcmVhZHk8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI2OTQiPjI2OTQ8L2E+PC90ZD48dGQ+QXBwbGljYXRpb24gb2YgTFdHIDQzNiBhY2NpZGVudGFsbHkgZGVsZXRlZCBkZWZpbml0aW9uIG9mICJmYWNldCI8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPk5vdGhpbmcgdG8gZG88L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI2OTYiPjI2OTY8L2E+PC90ZD48dGQ+SW50ZXJhY3Rpb24gYmV0d2VlbiBtYWtlX3NoYXJlZCBhbmQgZW5hYmxlX3NoYXJlZF9mcm9tX3RoaXMgaXMgdW5kZXJzcGVjaWZpZWQ8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjY5OSI+MjY5OTwvYT48L3RkPjx0ZD5NaXNzaW5nIHJlc3RyaWN0aW9uIGluIFtudW1lcmljLnJlcXVpcmVtZW50c108L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjcxMiI+MjcxMjwvYT48L3RkPjx0ZD5jb3B5X2ZpbGUoZnJvbSwgdG8sIC4uLikgaGFzIGEgbnVtYmVyIG9mIHVuc3BlY2lmaWVkIGVycm9yIGNvbmRpdGlvbnM8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPkltcGxlbWVudGVkIGluIHRydW5rPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzIyIj4yNzIyPC9hPjwvdGQ+PHRkPmVxdWl2YWxlbnQgaW5jb3JyZWN0bHkgc3BlY2lmaWVzIHRocm93cyBjbGF1c2U8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPldlIGFscmVhZHkgZG8gdGhpczwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjcyOSI+MjcyOTwvYT48L3RkPjx0ZD5NaXNzaW5nIFNGSU5BRSBvbiBzdGQ6OnBhaXI6Om9wZXJhdG9yPTwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzMyIj4yNzMyPC9hPjwvdGQ+PHRkPlF1ZXN0aW9uYWJsZSBzcGVjaWZpY2F0aW9uIG9mIHBhdGg6Om9wZXJhdG9yLz0gYW5kIHBhdGg6OmFwcGVuZDwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+Tm90aGluZyB0byBkbzwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjczMyI+MjczMzwvYT48L3RkPjx0ZD5bZnVuZC50cy52Ml0gZ2NkIC8gbGNtIGFuZCBib29sPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3MzUiPjI3MzU8L2E+PC90ZD48dGQ+c3RkOjphYnMoc2hvcnQpLCBzdGQ6OmFicyhzaWduZWQgY2hhcikgYW5kIG90aGVycyBzaG91bGQgcmV0dXJuIGludCBpbnN0ZWFkIG9mIGRvdWJsZSBpbiBvcmRlciB0byBiZSBjb21wYXRpYmxlIHdpdGggQysrOTggYW5kIEM8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjczNiI+MjczNjwvYT48L3RkPjx0ZD5udWxsb3B0X3QgaW5zdWZmaWNpZW50bHkgY29uc3RyYWluZWQ8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjczOCI+MjczODwvYT48L3RkPjx0ZD5pc19jb25zdHJ1Y3RpYmxlIHdpdGggdm9pZCB0eXBlczwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+V2UgYWxyZWFkeSBkbyB0aGlzPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzM5Ij4yNzM5PC9hPjwvdGQ+PHRkPklzc3VlIHdpdGggdGltZV9wb2ludCBub24tbWVtYmVyIHN1YnRyYWN0aW9uIHdpdGggYW4gdW5zaWduZWQgZHVyYXRpb248L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPlBhdGNoIFJlYWR5PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzQwIj4yNzQwPC9hPjwvdGQ+PHRkPmNvbnN0ZXhwciBvcHRpb25hbDxUPjo6b3BlcmF0b3ItPjwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+V2UgYWxyZWFkeSBkbyB0aGlzPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzQyIj4yNzQyPC9hPjwvdGQ+PHRkPkluY29uc2lzdGVudCBzdHJpbmcgaW50ZXJmYWNlIHRha2luZyBzdHJpbmdfdmlldzwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+UGF0Y2ggUmVhZHk8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NDQiPjI3NDQ8L2E+PC90ZD48dGQ+YW55J3MgaW5fcGxhY2UgY29uc3RydWN0b3JzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5JbXBsZW1lbnRlZCBpbiB0cnVuazwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjc0NSI+Mjc0NTwvYT48L3RkPjx0ZD5bZnVuZC50cy52Ml0gSW1wbGVtZW50YWJpbGl0eSBvZiBMV0cgMjQ1MTwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzQ3Ij4yNzQ3PC9hPjwvdGQ+PHRkPlBvc3NpYmx5IHJlZHVuZGFudCBzdGQ6Om1vdmUgaW4gW2FsZy5mb3JlYWNoXTwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+UGF0Y2ggcmVhZHk8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NDgiPjI3NDg8L2E+PC90ZD48dGQ+c3dhcHBhYmxlIHRyYWl0cyBmb3Igb3B0aW9uYWxzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5XZSBhbHJlYWR5IGRvIHRoaXM8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NDkiPjI3NDk8L2E+PC90ZD48dGQ+c3dhcHBhYmxlIHRyYWl0cyBmb3IgdmFyaWFudHM8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPjwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjc1MCI+Mjc1MDwvYT48L3RkPjx0ZD5bZnVuZC50cy52Ml0gTFdHIDI0NTEgY29udmVyc2lvbiBjb25zdHJ1Y3RvciBjb25zdHJhaW50PC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NTIiPjI3NTI8L2E+PC90ZD48dGQ+IlRocm93czoiIGNsYXVzZXMgb2YgYXN5bmMgYW5kIHBhY2thZ2VkX3Rhc2sgYXJlIHVuaW1wbGVtZW50YWJsZTwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzUzIj4yNzUzPC9hPjwvdGQ+PHRkPk9wdGlvbmFsJ3MgY29uc3RydWN0b3JzIGFuZCBhc3NpZ25tZW50cyBuZWVkIGNvbnN0cmFpbnRzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5XZSBhbHJlYWR5IGRvIHRoaXM8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NTQiPjI3NTQ8L2E+PC90ZD48dGQ+VGhlIGluX3BsYWNlIGNvbnN0cnVjdG9ycyBhbmQgZW1wbGFjZSBmdW5jdGlvbnMgYWRkZWQgYnkgUDAwMzJSMyBkb24ndCByZXF1aXJlIENvcHlDb25zdHJ1Y3RpYmxlPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5XZSBhbHJlYWR5IGRvIHRoaXM8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NTUiPjI3NTU8L2E+PC90ZD48dGQ+p1tzdHJpbmcudmlldy5pb10gdXNlcyBub24tZXhpc3RlbnQgYmFzaWNfc3RyaW5nX3ZpZXc6OnRvX3N0cmluZyBmdW5jdGlvbjwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+V2UgYWxyZWFkeSBkbyB0aGlzPC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzU2Ij4yNzU2PC9hPjwvdGQ+PHRkPkMrKyBXUCBvcHRpb25hbDxUPiBzaG91bGQgJ2ZvcndhcmQnIFQncyBpbXBsaWNpdCBjb252ZXJzaW9uczwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+SW1wbGVtZW50ZWQgaW4gdHJ1bms8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NTgiPjI3NTg8L2E+PC90ZD48dGQ+c3RkOjpzdHJpbmd7fS5hc3NpZ24oIkFCQ0RFIiwgMCwgMSkgaXMgYW1iaWd1b3VzPC90ZD48dGQ+V2UgYWxyZWFkeSBkbyB0aGlzPC90ZD48dGQ+PC90ZD48L3RyPgoJIDx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3dnMjEubGluay9MV0cyNzU5Ij4yNzU5PC9hPjwvdGQ+PHRkPmdjZCAvIGxjbSBhbmQgYm9vbCBmb3IgdGhlIFdQPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5QYXRjaCByZWFkeTwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjc2MCI+Mjc2MDwvYT48L3RkPjx0ZD5ub24tY29uc3QgYmFzaWNfc3RyaW5nOjpkYXRhIHNob3VsZCBub3QgaW52YWxpZGF0ZSBpdGVyYXRvcnM8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPk5vdGhpbmcgdG8gZG88L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NjUiPjI3NjU8L2E+PC90ZD48dGQ+RGlkIExXRyAxMTIzIGdvIHRvbyBmYXI/PC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NjciPjI3Njc8L2E+PC90ZD48dGQ+bm90X2ZuIGNhbGxfd3JhcHBlciBjYW4gZm9ybSBpbnZhbGlkIHR5cGVzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5XZSBhbHJlYWR5IGRvIHRoaXM8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NjgiPjI3Njg8L2E+PC90ZD48dGQ+YW55X2Nhc3QgYW5kIG1vdmUgc2VtYW50aWNzPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5SZXNvbHZlZCBieSBMV0cgMjc2OTwvdGQ+PC90cj4KICAgICA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjc2OSI+Mjc2OTwvYT48L3RkPjx0ZD5SZWR1bmRhbnQgY29uc3QgaW4gdGhlIHJldHVybiB0eXBlIG9mIGFueV9jYXN0KGNvbnN0IGFueSYpPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD5JbXBsZW1lbnRlZCBpbiB0cnVuazwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjc3MSI+Mjc3MTwvYT48L3RkPjx0ZD5Ccm9rZW4gRWZmZWN0cyBvZiBzb21lIGJhc2ljX3N0cmluZzo6Y29tcGFyZSBmdW5jdGlvbnMgaW4gdGVybXMgb2YgYmFzaWNfc3RyaW5nX3ZpZXc8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPldlIGFscmVhZHkgZG8gdGhpczwvdGQ+PC90cj4KCSA8dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93ZzIxLmxpbmsvTFdHMjc3MyI+Mjc3MzwvYT48L3RkPjx0ZD5NYWtpbmcgc3RkOjppZ25vcmUgY29uc3RleHByPC90ZD48dGQ+SXNzYXF1YWg8L3RkPjx0ZD48L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NzciPjI3Nzc8L2E+PC90ZD48dGQ+YmFzaWNfc3RyaW5nX3ZpZXc6OmNvcHkgc2hvdWxkIHVzZSBjaGFyX3RyYWl0czo6Y29weTwvdGQ+PHRkPklzc2FxdWFoPC90ZD48dGQ+UGF0Y2ggUmVhZHk8L3RkPjwvdHI+CgkgPHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd2cyMS5saW5rL0xXRzI3NzgiPjI3Nzg8L2E+PC90ZD48dGQ+YmFzaWNfc3RyaW5nX3ZpZXcgaXMgbWlzc2luZyBjb25zdGV4cHI8L3RkPjx0ZD5Jc3NhcXVhaDwvdGQ+PHRkPjwvdGQ+PC90cj4KICA8L3RhYmxlPgoKPGgzPkNvbW1lbnRzIGFib3V0IHRoZSBpc3N1ZXM8L2gzPgo8dWw+CjxsaT4yMDYyIC0gV2UgYWxyZWFkeSBkbyB0aGlzOyBhZGRlZCBzb21lIHRlc3RzIHRvIG1ha2Ugc3VyZSB3ZSBrZWVwIGRvaW5nIHNvLjwvbGk+CjxsaT4yMTY2IC0gSSA8Yj5zdXNwZWN0PC9iPiB0aGF0IHRoaXMgaXMganVzdCBiZXR0ZXIgc3BlY2lmaWNhdGlvbiBvZiB0aGUgZXhpc3Rpbmcgc3RydWN0dXJlLiBQcm9iYWJseSBuZWVkIG1vcmUgdGVzdHMgZm9yIHRoaXMuPC9saT4KPGxpPjIyMjEgLSBQYXRjaCBhbmQgdGVzdHMgcmVhZHk8L2xpPgo8bGk+MjIyMyAtIFRoaXMgaXMganVzdCB3b3JkaW5nIGNsZWFudXAuIDwvbGk+CjxsaT4yMjYxIC0gPGI+U3VydmV5IG91ciBjb250YWluZXJzIHRvIG1ha2Ugc3VyZSB3ZSBkbyB0aGlzLjwvYj4gSWRlYWxseSwgdGhpcyB3aWxsIHJlc3VsdCBpbiBubyBjb2RlIGNoYW5nZXMuPC9saT4KPGxpPjIzOTQgLSBUaGlzIGlzIGp1c3Qgd29yZGluZyBjbGVhbnVwLjwvbGk+CjxsaT4yNDYwIC0gVGhpcyBpcyBqdXN0IHdvcmRpbmcgY2xlYW51cC48L2xpPgo8bGk+MjQ2OCAtIDxpPkkgdGhpbmsgd2UgYWxyZWFkeSBkbyB0aGlzOyBidXQgd2lsbCBuZWVkIHRvIHN1cnZleSB0aGUgbGlicmF5IHRvIGJlIHN1cmU8L2k+PC9saT4KPGxpPjI0NzUgLSBOb3RoaW5nIHRvIGRvIGhlcmUuIDwvbGk+CjxsaT4yNTAzIC0gPC9saT4KPGxpPjI1MTAgLSA8Yj5OZWVkIHRvIHdyaXRlIHRlc3RzIGZvciBhbGwgdGhlIHRhZyB0eXBlczwvYj48L2xpPgo8bGk+MjUxNCAtIE5vdGhpbmcgdG8gZG87IFdlIGRvbid0IG1hcmsgYW55IG9mIHRoZSB0eXBlIHRyYWl0cyBhcyBmaW5hbC4gPC9saT4KPGxpPjI1MTkgLSBUaGlzIGlzIGp1c3Qgd29yZGluZyBjbGVhbnVwLiA8L2xpPgo8bGk+MjUzMSAtIFRoaXMgPGI+c2hvdWxkIGJlPC9iPiBqdXN0IHdvcmRpbmcgY2xlYW51cC4gPC9saT4KPGxpPjI1MzQgLSA8L2xpPgo8bGk+MjUzNiAtIFdlIGFscmVhZHkgZG8gdGhpcy4gPC9saT4KPGxpPjI1NDAgLSBXZSBhbHJlYWR5IGRvIHRoaXMsIGFuZCBoYXZlIHRlc3RzIGZvciBpdC48L2xpPgo8bGk+MjU0MyAtIDwvbGk+CjxsaT4yNTQ0IC0gV2UgYWxyZWFkeSBkbyB0aGlzOyBJJ3ZlIGFkZGVkIHRlc3RzIHRvIG1ha2Ugc3VyZSB3ZSBrZWVwIGRvaW5nIHNvPC9saT4KPGxpPjI1NTYgLSBQYXRjaCBhbmQgdGVzdHMgcmVhZHk8L2xpPgo8bGk+MjU2MiAtIEkgPGI+c3VzcGVjdDwvYj4gdGhhdCB0aGlzIGlzIGp1c3QgYmV0dGVyIHNwZWNpZmljYXRpb24gb2YgdGhlIGV4aXN0aW5nIHN0cnVjdHVyZS4gUHJvYmFibHkgbmVlZCBtb3JlIHRlc3RzIGZvciB0aGlzLjwvbGk+CjxsaT4yNTY3IC0gVGhpcyBpcyBqdXN0IHdvcmRpbmcgY2xlYW51cC48L2xpPgo8bGk+MjU2OSAtIFRoaXMgaXMganVzdCB3b3JkaW5nIGNsZWFudXAuPC9saT4KPGxpPjI1NzAgLSBTYW1lIGFzIDI1NjksIGJ1dCBhcHBsaWVkIHRvIExGVFM8L2xpPgo8bGk+MjU3OCAtIFRoaXMgaXMganVzdCB3b3JkaW5nIGNsZWFudXAuIDwvbGk+CjxsaT4yNTg0IC0gPC9saT4KPGxpPjI1ODkgLSBUaGlzIGlzIGp1c3Qgd29yZGluZyBjbGVhbnVwLiA8L2xpPgo8bGk+MjU5MSAtIEkgPGI+c3VzcGVjdDwvYj4gdGhhdCB0aGlzIGlzIGp1c3QgYmV0dGVyIHNwZWNpZmljYXRpb24gb2YgdGhlIGV4aXN0aW5nIHN0cnVjdHVyZS4gUHJvYmFibHkgbmVlZCBtb3JlIHRlc3RzIGZvciB0aGlzLjwvbGk+CjxsaT4yNTk4IC0gUGF0Y2ggYW5kIHRlc3RzIHJlYWR5PC9saT4KPGxpPjI2NjQgLSBObyBjaGFuZ2UgbmVlZGVkLiBfTElCQ1BQX0RFQlVHIG1vZGUgdGVzdHMgdGhlIG5ldyByZXF1aXJlbWVudHMuPC9saT4KPGxpPjI2NjUgLSBQUiBpcyBpbmNvcnJlY3QgYXMtaXMuIFdlIGltcGxlbWVudCBhIG1vZGlmaWVkIHZlcnNpb248L2xpPgo8bGk+MjY3MiAtIFBhdGNoIGFuZCB0ZXN0cyBpbiB0cmVlLiA8L2xpPgo8bGk+MjY3OCAtIE5vIGNoYW5nZSBuZWVkZWQuIE1vc3RseSB3b3JkaW5nIGNsZWFudXAuIDwvbGk+CjxsaT4yNjc5IC0gVGhpcyBpcyBqdXN0IHdvcmRpbmcgY2xlYW51cC4gPC9saT4KPGxpPjI2ODAgLSBUaGlzIGlzIGp1c3Qgd29yZGluZyBjbGVhbnVwLiA8L2xpPgo8bGk+MjY4MSAtIExHVE0gPC9saT4KPGxpPjI2ODIgLSBDdXJyZW50IFBSIGlzIGluY29ycmVjdC4gQSBtb2RpZmllZCB2ZXJzaW9uIGhhcyBiZWVuIGltcGxlbWVudGVkPC9saT4KPGxpPjI2ODYgLSBQYXRjaCBhbmQgdGVzdHMgcmVhZHk8L2xpPgo8bGk+MjY5NCAtIFJlc3RvcmluZyBpbmFkdmVydGVudGx5IGRlbGV0ZWQgdGV4dC4gTm8gY29kZSBjaGFuZ2VzIG5lZWRlZC48L2xpPgo8bGk+MjY5NiAtIEkgPGI+c3VzcGVjdDwvYj4gdGhhdCB0aGlzIGlzIGp1c3QgYmV0dGVyIHNwZWNpZmljYXRpb24gb2YgdGhlIGV4aXN0aW5nIHN0cnVjdHVyZS4gUHJvYmFibHkgbmVlZCBtb3JlIHRlc3RzIGZvciB0aGlzLjwvbGk+CjxsaT4yNjk5IC0gSSBkb24ndCB0aGluayB0aGlzIHJlcXVpcmVzIGFueSBjb2RlIGNoYW5nZXM7IGxvb2sgbW9yZSBjbG9zZWx5LjwvbGk+CjxsaT4yNzEyIC0gTEdUTS4gPC9saT4KPGxpPjI3MjIgLSBMR1RNIDwvbGk+CjxsaT4yNzI5IC0gPC9saT4KPGxpPjI3MzIgLSBPdXIgaW1wbGVtZW50YXRpb24gaXMgYWxyZWFkeSBlcXVpdmFsZW50LiA8L2xpPgo8bGk+MjczMyAtIExGVFM7IHNhbWUgYXMgMjc1OTwvbGk+CjxsaT4yNzM1IC0gSSA8Yj5zdXNwZWN0PC9iPiB0aGF0IHRoaXMgaXMganVzdCBiZXR0ZXIgc3BlY2lmaWNhdGlvbiBvZiB0aGUgZXhpc3Rpbmcgc3RydWN0dXJlLiBQcm9iYWJseSBuZWVkIG1vcmUgdGVzdHMgZm9yIHRoaXMuPC9saT4KPGxpPjI3MzYgLSA8L2xpPgo8bGk+MjczOCAtIFdlIGFscmVhZHkgZG8gdGhpczsgSSBhZGRlZCB0ZXN0cyBmb3IgY3Ytdm9pZDwvbGk+CjxsaT4yNzM5IC0gUGF0Y2ggYW5kIHRlc3RzIHJlYWR5PC9saT4KPGxpPjI3NDAgLSA8aT5zdGQ6Om9wdGlvbmFsPC9pPjogVGhlIHJlc29sdXRpb24gTEdUTS4gPC9saT4KPGxpPjI3NDIgLSBQYXRjaCBhbmQgdGVzdHMgcmVhZHk8L2xpPgo8bGk+Mjc0NCAtIDxpPnN0ZDo6YW55PC9pPjogV2UgYWxyZWFkeSBkbyB0aGlzLiBXZSBhbHNvIGNoZWNrIGZvciBhIGRlY2F5ZWQgaW5fcGxhY2VfdHlwZV90LiA8L2xpPgo8bGk+Mjc0NSAtIDxpPnN0ZDo6b3B0aW9uYWw8L2k+IGZvciBMRlRTIC0tIHNob3VsZCBiZSBjb25zaWRlcmVkIGZvciBDKysxNzwvbGk+CjxsaT4yNzQ3IC0gUGF0Y2ggcmVhZHksIGJ1dCBJIGNhbid0IHRoaW5rIG9mIGFueSB3YXkgdG8gdGVzdCBpdC48L2xpPgo8bGk+Mjc0OCAtIDxpPnN0ZDo6b3B0aW9uYWw8L2k+OiBMR1RNLiA8L2xpPgo8bGk+Mjc0OSAtIDxpPnN0ZDo6dmFyaWFudDwvaT48L2xpPgo8bGk+Mjc1MCAtIDxpPnN0ZDo6b3B0aW9uYWw8L2k+IGZvciBMRlRTIC0tIHNob3VsZCBiZSBjb25zaWRlcmVkIGZvciBDKysxNzwvbGk+CjxsaT4yNzUyIC0gPC9saT4KPGxpPjI3NTMgLSA8aT5zdGQ6Om9wdGlvbmFsPC9pPjogTEdUTS4gPC9saT4KPGxpPjI3NTQgLSA8aT5zdGQ6OmFueTwvaT46IExHVE0uIDwvbGk+CjxsaT4yNzU1IC0gQm90aCBzdHJpbmcgYW5kIHN0cmluZ192aWV3IGNhbGwgYSBjb21tb24gcm91dGluZSBmb3Igb3V0cHV0OyBzbyBubyBjb2RlIGNoYW5nZXMgbmVlZGVkLjwvbGk+CjxsaT4yNzU2IC0gPGk+c3RkOjpvcHRpb25hbDwvaT46IFZlcnkgbGFyZ2UgY2hhbmdlLiBJdCBpcyBmdWxseSBpbXBsZW1lbnRlZCBhbmQgdGVzdGVkLiA8L2xpPgo8bGk+Mjc1OCAtIFdlIGFscmVhZHkgZG8gdGhpcy4gPC9saT4KPGxpPjI3NTkgLSBQYXRjaCBhbmQgdGVzdHMgcmVhZHk8L2xpPgo8bGk+Mjc2MCAtIFRoaXMgaXMganVzdCB3b3JkaW5nIGNsZWFudXA7IG5vIGNvZGUgb3IgdGVzdCBjaGFuZ2VzIG5lZWRlZC48L2xpPgo8bGk+Mjc2NSAtIGlzIHRoaXMganVzdCB3b3JkaW5nIGNsZWFudXA/Pz8/PyBJIGRvbid0IHRoaW5rIHRoaXMgYWN0dWFsbHkgcmVxdWlyZXMgY29kZSBjaGFuZ2VzLiA8L2xpPgo8bGk+Mjc2NyAtIFRoZSB0ZXN0IGNhc2Ugb24gdGhlIGlzc3VlIGlzIGluY29ycmVjdC4gU2VlIG5vdF9mbi5wYXNzLmNwcCBmb3IgdGhlIGNvcnJlY3QgdGVzdCBjYXNlLiA8L2xpPgo8bGk+Mjc2OCAtIDxpPnN0ZDo6YW55PC9pPjogVGhlcmUgaXMgbm8gUFIgZm9yIHRoaXMgaXNzdWUuIEl0IGlzIHJlc29sdmVkIGJ5IExXRyAyNzY5LiA8L2xpPgo8bGk+Mjc2OSAtIDxpPnN0ZDo6YW55PC9pPjogVGhlIFBSIGxvb2tzIGdvb2QgZXhjZXB0IHRoYXQKCTxjb2RlPnJlbW92ZV9yZWZlcmVuY2VfdCZsdDtyZW1vdmVfY3ZfdCZsdDtUJmd0OyZndDs8L2NvZGU+IHNob3VsZCByZWFkCgk8Y29kZT5yZW1vdmVfY3ZfdCZsdDtyZW1vdmVfcmVmZXJlbmNlX3QmbHQ7VCZndDsmZ3Q7PC9jb2RlPi4gPC9saT4KPGxpPjI3NzEgLSBXZSBhbHJlYWR5IGRvIHRoaXMuPC9saT4KPGxpPjI3NzMgLSA8L2xpPgo8bGk+Mjc3NyAtIFBhdGNoIHJlYWR5OyBleGlzdGluZyB0ZXN0cyBzaG91bGQgc3VmZmljZTwvbGk+CjxsaT4yNzc4IC0gVGhpcyBpcyBtb3N0bHkgdGVzdHMuPC9saT4KPC91bD4KCjxwPkxhc3QgVXBkYXRlZDogMTAtT2N0LTIwMTY8L3A+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K