PCEtLQogIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQogIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAogIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAogICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCiAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0tPgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+DQo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUdCMjMxMiIgLz4NCjxsaW5rIGhyZWY9Im1haW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPC9oZWFkPg0KPGJvZHkgbGVmdG1hcmdpbj0iMTAiIHRvcG1hcmdpbj0iMTAiPg0KPGZvbnQgc2l6ZT0iMiI+DQo8cD5GbGFzaCBCdWlsZGVyIMTauqwgRmxleCA0IFNES6OsyOfQ6LWltsDPwtTYIFNESyC78tXfzsS1taOsx+u3w87K0tTPwsG0vdOjujxhIHRhcmdldD0iX25ldyIgaHJlZj0iaHR0cDovL3d3dy5hZG9iZS5jb20vcHJvZHVjdHMvZmxleC8iPs/C1NggRmxleCA0PC9hPg0KPC9wPg0KDQo8cD4NCg0Kz8LD5sHQs/bBy8bky/zT0NPDtcQgRmxleCA0IMG0vdOjug0KPFVMPg0KPGxpPjxhIHRhcmdldD0iX25ldyIgaHJlZj0iaHR0cDovL3d3dy5hZG9iZS5jb20vZGV2bmV0L2ZsZXgvYXJ0aWNsZXMvZmxleDRzZGtfd2hhdHNuZXcuaHRtbC8iPkZsZXggNCC1xNDC1Pa5psTczsTVwjwvYT4NCjxsaT48YSB0YXJnZXQ9Il9uZXciIGhyZWY9Imh0dHA6Ly93d3cuYWRvYmUuY29tL2Rldm5ldC9mbGV4L3Rlc3Rkcml2ZS9hcnRpY2xlcy8xX2J1aWxkX2FfZmxleF9hcHAuaHRtbCI+RmxleCCy4srUx/22ryAtINTa0rvQocqxxNq5ub2o0ru49tOm08OzzNDyPC9hPg0KPGxpPjxhIHRhcmdldD0iX25ldyIgaHJlZj0iaHR0cDovL3d3dy5hZG9iZS5jb20vcHJvZHVjdHMvZmxleC8iPkZsZXggNCBTREsg0MXPojwvYT4NCjxsaT48YSB0YXJnZXQ9Il9uZXciIGhyZWY9Imh0dHA6Ly93d3cuYWRvYmUuY29tL2Rldm5ldC9mbGV4L3ZpZGVvdHJhaW5pbmcvIj5GbGV4IDQgvcyzzLrNytPGtTwvYT4NCjxsaT48YSB0YXJnZXQ9Il9uZXciIGhyZWY9Imh0dHA6Ly93d3cuYWRvYmUuY29tL2Rldm5ldC9mbGV4L2FydGljbGVzL2ZsZXgzYW5kNF9kaWZmZXJlbmNlcy5odG1sLyI+RmxleCAzILrNIEZsZXggNCDWrrzktcSy7tLsDQo8bGk+PGEgdGFyZ2V0PSJfbmV3IiBocmVmPSJodHRwOi8vZm9ydW1zLmFkb2JlLmNvbS9jb21tdW5pdHkvZmxleC8iPkZsZXggyefH+MLbzLM8L2E+DQo8bGk+PGEgdGFyZ2V0PSJfbmV3IiBocmVmPSJodHRwOi8vZmxleC5vcmcvIj5GbGV4Lm9yZzwvYT4NCjxsaT48YSB0YXJnZXQ9Il9uZXciIGhyZWY9Imh0dHA6Ly93d3cuZmlyc3RzdGVwc2luZmxleC5jb20vIj5GbGV4IMbBxLvCvM/xyOvDxTwvYT4NCjxsaT48YSB0YXJnZXQ9Il9uZXciIGhyZWY9Imh0dHA6Ly93d3cubHluZGEuY29tL2hvbWUvRGlzcGxheUNvdXJzZS5hc3B4P2xwazI9NTIzNDMiPkx5bmRhLmNvbSDJz7XEIEZsZXggNCBTREsgus0gRmxhc2ggQnVpbGRlciDK08a1xeDRtTwvYT4NCjxsaT48YSB0YXJnZXQ9Il9uZXciIGhyZWY9Imh0dHA6Ly9mbGV4Lm9yZy9yZXNvdXJjZXMiPrbg1tbXytS0wbS90zwvYT4NCjxsaT48YSB0YXJnZXQ9Il9uZXciIGhyZWY9Imh0dHA6Ly9ibG9ncy5hZG9iZS5jb20vZmxleC8iPkZsZXggzcW207XEudm3vbKpv808L2E+DQo8bGk+PGEgdGFyZ2V0PSJfbmV3IiBocmVmPSJodHRwOi8vYmxvZy5mbGV4ZXhhbXBsZXMuY29tLyI+QWRvYmUgLSBQZXRlciBEZUhhYW4gtcQmbGRxdW87RmxleCDKvsD9JnJkcXVvO7Kpv808L2E+DQo8bGk+PGEgdGFyZ2V0PSJfbmV3IiBocmVmPSJodHRwOi8vYnV0dGVyZmxpZXNhbmRidWdzLndvcmRwcmVzcy5jb20vIj5BZG9iZSAtIEpvYW4gTGFmZmVydHkgtcSyqb/NPC9hPg0KPGxpPjxhIHRhcmdldD0iX25ldyIgaHJlZj0iaHR0cDovL2Rldmdpcmwud29yZHByZXNzLmNvbS8yMDEwLzAzLzIyL21ham9yLXRvdXItZGUtZmxleC11cGRhdGVzLWZvci1mbGV4LTQvIj652NPa1eLQqcq+wP28sLj8tuAgRmxleCA0IMG0vdMgLSBIb2xseSBTY2hpbnNreSC1xLKpv808L2E+DQoNCjwvVUw+DQoNCjwvcD4NCjxwPg0KxuTL/Nei0uLKws/uo7rX7rrD1NogVG91ciBkZSBGbGV4ILXEIEFJUiCw5rG+1tCy6b+01eLQqcq+wP2ho9TaIFdlYiDEo8q9z8KjrM7Sw8e9qNLpyrnTw9PSyc+9x7XE1bm/qrC0xaXS1MirxsHEo8q91bm/qrLlzbyho87Sw8fEv8ew1f3U2tfFyta94r72tPPQobX31fu1xM7KzOKhow0KPC9wPg0KPC9ib2R5Pg0KPC9odG1sPg==