BEGIN:VCARD
VERSION:3.0
N;CHARSET=utf-8:Palacios;Francisco;;;
FN;CHARSET=utf-8:Francisco Palacios
EMAIL:fpalacios@bdoargentina.com
SOURCE:https://www.bdoargentina.com/VCard/e92546dc-c263-4ae5-b611-a1920cb9da1e
ORG;CHARSET=utf-8:BDO
TITLE;CHARSET=utf-8:GRC Director
URL:https://www.bdoargentina.com/en-gb/our-people/francisco-palacios
REV:20260611T095729Z
LOGO;TYPE=image/HTML:PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPkJsb2NrZWQgYnkgV2ViIEFwcGxpY2F0aW9uIEZpcmV3YWxsPC90aXRsZT4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMy41LjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnl1aS8xLjEyLjEvanF1ZXJ5LXVpLm1pbi5qcyI+PC9zY3JpcHQ+CgogICAgPGxpbmsKICAgICAgcmVsPSJzdHlsZXNoZWV0IgogICAgICBtZWRpYT0ic2NyZWVuIgogICAgICBocmVmPSJodHRwczovL2ZvbnRzLmNkbmZvbnRzLmNvbS9jc3MvcHJveGltYS1ub3ZhLTIiCiAgICAvPgogICAgPGxpbmsKICAgICAgcmVsPSJzdHlsZXNoZWV0IgogICAgICBtZWRpYT0ic2NyZWVuIgogICAgICBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjMuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiCiAgICAvPgoKICAgIDxzdHlsZT4KICAgICAgKiB7CiAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICBodG1sLAogICAgICBib2R5LAogICAgICBkaXYsCiAgICAgIHNwYW4sCiAgICAgIG9iamVjdCwKICAgICAgaWZyYW1lLAogICAgICBoMSwKICAgICAgaDIsCiAgICAgIGgzLAogICAgICBoNCwKICAgICAgaDUsCiAgICAgIGg2LAogICAgICBwLAogICAgICBibG9ja3F1b3RlLAogICAgICBwcmUsCiAgICAgIGFiYnIsCiAgICAgIGFkZHJlc3MsCiAgICAgIGNpdGUsCiAgICAgIGNvZGUsCiAgICAgIGRlbCwKICAgICAgZGZuLAogICAgICBlbSwKICAgICAgaW1nLAogICAgICBpbnMsCiAgICAgIGtiZCwKICAgICAgcSwKICAgICAgc2FtcCwKICAgICAgc21hbGwsCiAgICAgIHN0cm9uZywKICAgICAgc3ViLAogICAgICBzdXAsCiAgICAgIHZhciwKICAgICAgYiwKICAgICAgaSwKICAgICAgZGwsCiAgICAgIGR0LAogICAgICBkZCwKICAgICAgb2wsCiAgICAgIHVsLAogICAgICBsaSwKICAgICAgZmllbGRzZXQsCiAgICAgIGZvcm0sCiAgICAgIGxhYmVsLAogICAgICBsZWdlbmQsCiAgICAgIGNhcHRpb24sCiAgICAgIGFydGljbGUsCiAgICAgIGFzaWRlLAogICAgICBjYW52YXMsCiAgICAgIGRldGFpbHMsCiAgICAgIGZpZ2NhcHRpb24sCiAgICAgIGZpZ3VyZSwKICAgICAgZm9vdGVyLAogICAgICBoZWFkZXIsCiAgICAgIGhncm91cCwKICAgICAgbWVudSwKICAgICAgbmF2LAogICAgICBzZWN0aW9uLAogICAgICBzdW1tYXJ5LAogICAgICB0aW1lLAogICAgICBtYXJrLAogICAgICBhdWRpbywKICAgICAgdmlkZW8gewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBvdXRsaW5lOiAwOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgYXJ0aWNsZSwKICAgICAgYXNpZGUsCiAgICAgIGRldGFpbHMsCiAgICAgIGZpZ2NhcHRpb24sCiAgICAgIGZpZ3VyZSwKICAgICAgZm9vdGVyLAogICAgICBoZWFkZXIsCiAgICAgIGhncm91cCwKICAgICAgbmF2LAogICAgICBzZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgaHRtbCB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgfQoKICAgICAgaW1nIHsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7CiAgICAgIH0KCiAgICAgIGJvZHkgewogICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7CiAgICAgIH0KCiAgICAgIC5jbGVhcmZpeCB7CiAgICAgICAgY2xlYXI6IGJvdGg7CiAgICAgICAgem9vbTogMTsKICAgICAgfQogICAgICAuY2xlYXJmaXg6YmVmb3JlLAogICAgICAuY2xlYXJmaXg6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICJcMDAyMCI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQogICAgICAuY2xlYXJmaXg6YWZ0ZXIgewogICAgICAgIGNsZWFyOiBib3RoOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHN0eWxlPgogICAgICBib2R5LmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyLAogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIucHJldmlldyB7CiAgICAgICAgZm9udC1mYW1pbHk6ICJQcm94aW1hIE5vdmEiLCBzYW5zLXNlcmlmOwogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyOwogICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuY29udGVudC1jb250YWluZXIgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICAgIHBhZGRpbmc6IDUwcHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDUyNXB4OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNjJweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5jb250ZW50LWNvbnRhaW5lci5pbiB7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuaGVhZC1saW5lIHsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjsKICAgICAgICBmb250LXNpemU6IDM1cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIGNvbG9yOiAjY2NjOwogICAgICB9CiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuc3ViaGVhZGVyIHsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7CiAgICAgICAgY29sb3I6ICMzMzM7CiAgICAgIH0KICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5ociB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsKICAgICAgICB3aWR0aDogNjAlOwogICAgICAgIG1heC13aWR0aDogMjUwcHg7CiAgICAgICAgbWFyZ2luOiAzNXB4IGF1dG87CiAgICAgIH0KICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5jb250ZXh0IHsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7CiAgICAgICAgY29sb3I6ICNiYmI7CiAgICAgIH0KICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5jb250ZXh0IHAgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmNvbnRleHQgcDpudGgtY2hpbGQobiArIDIpIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICB9CiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgewogICAgICAgIG1hcmdpbi10b3A6IDM1cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIGEgewogICAgICAgIHRyYW5zaXRpb246IHRleHQtaW5kZW50IDAuMnMgZWFzZS1vdXQsIGNvbG9yIDAuMnMgbGluZWFyLAogICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhcjsKICAgICAgICB0ZXh0LWluZGVudDogMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmVjYzcxOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAwIDEzcHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogNDUlOwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIC5mYSB7CiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjJzIGVhc2Utb3V0OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAtNTBweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWluZGVudDogMTVweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciBhOm50aC1jaGlsZCgxKSB7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIH0KCiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgYTpudGgtY2hpbGQoMikgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciAuZmEtaG9tZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIHRvcDogMTVweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciBhOmhvdmVyIC5mYS1ob21lIHsKICAgICAgICBsZWZ0OiAxMHB4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIC5mYS13YXJuaW5nIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgdG9wOiAxN3B4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIGE6aG92ZXIgLmZhLXdhcm5pbmcgewogICAgICAgIGxlZnQ6IDVweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciAuZmEtcG93ZXItb2ZmIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgdG9wOiAxN3B4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIGE6aG92ZXIgLmZhLXBvd2VyLW9mZiB7CiAgICAgICAgbGVmdDogOXB4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyLnNpbmdsZS1idXR0b24gewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lci5zaW5nbGUtYnV0dG9uIGEgewogICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1NXB4KSB7CiAgICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIHsKICAgICAgICAgIHBhZGRpbmc6IDMwcHggNSU7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuY29udGVudC1jb250YWluZXIgewogICAgICAgICAgcGFkZGluZzogMzdweDsKICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuaGVhZC1saW5lIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDsKICAgICAgICB9CiAgICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5zdWJoZWFkZXIgewogICAgICAgICAgZm9udC1zaXplOiAyN3B4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuaHIgewogICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87CiAgICAgICAgICB3aWR0aDogMjE1cHg7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgLmZhIHsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgYTpob3ZlciB7CiAgICAgICAgICB0ZXh0LWluZGVudDogMHB4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHsKICAgICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgewogICAgICAgICAgcGFkZGluZzogMzBweDsKICAgICAgICB9CiAgICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5oZWFkLWxpbmUgewogICAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIH0KICAgICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmhyIHsKICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvOwogICAgICAgICAgd2lkdGg6IDE4MHB4OwogICAgICAgIH0KICAgICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmNvbnRleHQgewogICAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7CiAgICAgICAgfQoKICAgICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmNvbnRleHQgcDpudGgtY2hpbGQobiArIDIpIHsKICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgewogICAgICAgICAgbWFyZ2luLXRvcDogMjlweDsKICAgICAgICB9CiAgICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciBhIHsKICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgICB3aWR0aDogNjUlOwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBwYWRkaW5nOiA5cHggMDsKICAgICAgICB9CgogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgYTpudGgtY2hpbGQoMikgewogICAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICB9CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHN0eWxlPgogICAgICAuYmFja2dyb3VuZC1pbWFnZSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImh0dHBzOi8vY2RuLmJkby5nbG9iYWwvaW1hZ2VzL2Jkb19nd3QvbWFpbnRlbmFuY2UlMjBiYWNrZ3JvdW5kLnBuZyIpICFpbXBvcnRhbnQ7CiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsOwogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87CiAgICAgIH0KCiAgICAgIC5wcmltYXJ5LXRleHQtY29sb3IgewogICAgICAgIGNvbG9yOiAjNDk0OTQ5ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5zZWNvbmRhcnktdGV4dC1jb2xvciB7CiAgICAgICAgY29sb3I6ICNhYWFhYWEgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmJvcmRlci1idXR0b24gewogICAgICAgIGNvbG9yOiByZ2JhKDIzNywgMjYsIDU5LCAxKSAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzcsIDI2LCA1OSwgMSkgIWltcG9ydGFudDsKICAgICAgfQogICAgICAuYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNywgMjYsIDU5LCAxKSAhaW1wb3J0YW50OwogICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5zaGFkb3cgewogICAgICAgIGJveC1zaGFkb3c6IDAgMCA2MHB4ICMwMDAwMDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgogIDxib2R5IGNsYXNzPSJiYWNrZ3JvdW5kIGVycm9yLXBhZ2Utd3JhcHBlciBiYWNrZ3JvdW5kLWNvbG9yIGJhY2tncm91bmQtaW1hZ2UiPgogICAgPGNlbnRlcj4KICAgICAgPGRpdiBjbGFzcz0iY29udGVudC1jb250YWluZXIgc2hhZG93Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkLWxpbmUgc2Vjb25kYXJ5LXRleHQtY29sb3IiPgogICAgICAgICAgWW91ciByZXF1ZXN0IGhhcyBiZWVuIGJsb2NrZWQuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3ViaGVhZGVyIHByaW1hcnktdGV4dC1jb2xvciI+CiAgICAgICAgICBJZiB5b3UgYmVsaWV2ZSB0aGlzIGFjdGlvbiB3YXMgdGFrZW4gaW4gZXJyb3IsIHBsZWFzZSBjb250YWN0IFNlcnZpY2UKICAgICAgICAgIERlc2sgYW5kIHByb3ZpZGUgdGhlIGJlbG93IFJlZmVyZW5jZSBJZDoKICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdWJoZWFkZXIgcHJpbWFyeS10ZXh0LWNvbG9yIj4yMDI2MDYxMVQwOTU3MjlaLTE1ZDg5Yjg2NTVkZjJyNmJoQzFDUFF6bTBuMDAwMDAwMGQzMDAwMDAwMDAwM2U3MzwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhyIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGV4dCBzZWNvbmRhcnktdGV4dC1jb2xvciI+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgPGEKICAgICAgICAgICAgICBocmVmPSJodHRwczovL2Jkb2dsb2JhbC5zZXJ2aWNlLW5vdy5jb20vc3A/aWQ9c2NfY2F0X2l0ZW0mc3lzX2lkPTM2YjJhYzgwODcxYTc5MTAzYzFkYTZjNzNjYmIzNWI5JnN5c3Bhcm1fY2F0ZWdvcnk9MTQzZDU1ZjVkYjRlOGMxMGM3Mjc3MmQ4ZjQ5NjE5YmIiCiAgICAgICAgICAgICAgPlN1Ym1pdCBzdXBwb3J0IHRpY2tldDwvYQogICAgICAgICAgICA+CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9jZW50ZXI+CgogICAgPHNjcmlwdD4KICAgICAgZnVuY3Rpb24gRXJyb3JQYWdlKGNvbnRhaW5lciwgcGFnZVR5cGUsIHRlbXBsYXRlTmFtZSkgewogICAgICAgIHRoaXMuJGNvbnRhaW5lciA9ICQoY29udGFpbmVyKTsKICAgICAgICB0aGlzLiRjb250ZW50Q29udGFpbmVyID0gdGhpcy4kY29udGFpbmVyLmZpbmQoCiAgICAgICAgICB0ZW1wbGF0ZU5hbWUgPT0gInNpZ24iID8gIi5zaWduLWNvbnRhaW5lciIgOiAiLmNvbnRlbnQtY29udGFpbmVyIgogICAgICAgICk7CiAgICAgICAgdGhpcy5wYWdlVHlwZSA9IHBhZ2VUeXBlOwogICAgICAgIHRoaXMudGVtcGxhdGVOYW1lID0gdGVtcGxhdGVOYW1lOwogICAgICB9CgogICAgICBFcnJvclBhZ2UucHJvdG90eXBlLmNlbnRlckNvbnRlbnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGNvbnRhaW5lckhlaWdodCA9IHRoaXMuJGNvbnRhaW5lci5vdXRlckhlaWdodCgpIHx8IG51bGwsCiAgICAgICAgICBjb250ZW50Q29udGFpbmVySGVpZ2h0ID0gdGhpcy4kY29udGVudENvbnRhaW5lci5vdXRlckhlaWdodCgpIHx8IG51bGwsCiAgICAgICAgICB0b3AgPSAoY29udGFpbmVySGVpZ2h0IC0gY29udGVudENvbnRhaW5lckhlaWdodCkgLyAyLAogICAgICAgICAgb2Zmc2V0ID0gdGhpcy50ZW1wbGF0ZU5hbWUgPT0gInNpZ24iID8gLTEwMCA6IDA7CgogICAgICAgIHRoaXMuJGNvbnRlbnRDb250YWluZXIuY3NzKCJ0b3AiLCB0b3AgKyBvZmZzZXQpOwogICAgICB9OwoKICAgICAgRXJyb3JQYWdlLnByb3RvdHlwZS5pbml0aWFsaXplID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgdGhpcy5jZW50ZXJDb250ZW50KCk7CiAgICAgICAgdGhpcy4kY29udGFpbmVyLm9uKCJyZXNpemUiLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgIHNlbGYuY2VudGVyQ29udGVudCgpOwogICAgICAgIH0pOwoKICAgICAgICAvLyBmYWRlcyBpbiBjb250ZW50IG9uIHRoZSBwbGFpbiB0ZW1wbGF0ZQogICAgICAgIGlmICh0aGlzLnRlbXBsYXRlTmFtZSA9PSAicGxhaW4iKSB7CiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHNlbGYuJGNvbnRlbnRDb250YWluZXIuYWRkQ2xhc3MoImluIik7CiAgICAgICAgICB9LCA1MDApOwogICAgICAgIH0KCiAgICAgICAgLy8gc3dpbmdzIHNpZ24gaW4gb24gdGhlIHNpZ24gdGVtcGxhdGUKICAgICAgICBpZiAodGhpcy50ZW1wbGF0ZU5hbWUgPT0gInNpZ24iKSB7CiAgICAgICAgICAkKCIuc2lnbi1jb250YWluZXIiKS5hbmltYXRlKAogICAgICAgICAgICB7IHRleHRJbmRlbnQ6IDAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgIHN0ZXA6IGZ1bmN0aW9uIChub3cpIHsKICAgICAgICAgICAgICAgICQodGhpcykuY3NzKHsKICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAicm90YXRlKCIgKyBub3cgKyAiZGVnKSIsCiAgICAgICAgICAgICAgICAgICJ0cmFuc2Zvcm0tb3JpZ2luIjogInRvcCBjZW50ZXIiLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMCwKICAgICAgICAgICAgICBlYXNpbmc6ICJlYXNlT3V0Qm91bmNlIiwKICAgICAgICAgICAgfQogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgIH07CgogICAgICBFcnJvclBhZ2UucHJvdG90eXBlLmNyZWF0ZVRpbWVSYW5nZVRhZyA9IGZ1bmN0aW9uIChzdGFydCwgZW5kKSB7CiAgICAgICAgcmV0dXJuICgKICAgICAgICAgICI8dGltZSB1dGltZT0iICsKICAgICAgICAgIHN0YXJ0ICsKICAgICAgICAgICcgc2ltcGxlX2Zvcm1hdD0iTU1NIERELCBZWVlZIEhIOm1tIj4nICsKICAgICAgICAgIHN0YXJ0ICsKICAgICAgICAgICI8L3RpbWU+IC0gPHRpbWUgdXRpbWU9IiArCiAgICAgICAgICBlbmQgKwogICAgICAgICAgJyBzaW1wbGVfZm9ybWF0PSJNTU0gREQsIFlZWVkgSEg6bW0iPicgKwogICAgICAgICAgZW5kICsKICAgICAgICAgICI8L3RpbWU+LiIKICAgICAgICApOwogICAgICB9OwoKICAgICAgRXJyb3JQYWdlLnByb3RvdHlwZS5oYW5kbGVTdGF0dXNGZXRjaFN1Y2Nlc3MgPSBmdW5jdGlvbiAocGFnZVR5cGUsIGRhdGEpIHsKICAgICAgICBpZiAocGFnZVR5cGUgPT0gIjUwMyIpIHsKICAgICAgICAgICQoIiNyZXBsYWNlLXdpdGgtZmV0Y2hlZC1kYXRhIikuaHRtbChkYXRhLnN0YXR1cy5kZXNjcmlwdGlvbik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICghIWRhdGEuc2NoZWR1bGVkX21haW50ZW5hbmNlcy5sZW5ndGgpIHsKICAgICAgICAgICAgdmFyIG1haW50ID0gZGF0YS5zY2hlZHVsZWRfbWFpbnRlbmFuY2VzWzBdOwogICAgICAgICAgICAkKCIjcmVwbGFjZS13aXRoLWZldGNoZWQtZGF0YSIpLmh0bWwoCiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUaW1lUmFuZ2VUYWcoCiAgICAgICAgICAgICAgICBtYWludC5zY2hlZHVsZWRfZm9yLAogICAgICAgICAgICAgICAgbWFpbnQuc2NoZWR1bGVkX3VudGlsCiAgICAgICAgICAgICAgKQogICAgICAgICAgICApOwogICAgICAgICAgICAkLmZuLmxvY2FsaXplVGltZSgpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJCgiI3JlcGxhY2Utd2l0aC1mZXRjaGVkLWRhdGEiKS5odG1sKAogICAgICAgICAgICAgICI8ZW0+KHRoZXJlIGFyZSBubyBhY3RpdmUgc2NoZWR1bGVkIG1haW50ZW5hbmNlcyk8L2VtPiIKICAgICAgICAgICAgKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH07CgogICAgICBFcnJvclBhZ2UucHJvdG90eXBlLmhhbmRsZVN0YXR1c0ZldGNoRmFpbCA9IGZ1bmN0aW9uIChwYWdlVHlwZSkgewogICAgICAgICQoIiNyZXBsYWNlLXdpdGgtZmV0Y2hlZC1kYXRhIikuaHRtbCgKICAgICAgICAgICI8ZW0+KGVudGVyIGEgdmFsaWQgU3RhdHVzcGFnZSB1cmwpPC9lbT4iCiAgICAgICAgKTsKICAgICAgfTsKCiAgICAgIHZhciBlcCA9IG5ldyBFcnJvclBhZ2UoImJvZHkiLCAibWFpbnRlbmFuY2UiLCAiYmFja2dyb3VuZCIpOwogICAgICBlcC5pbml0aWFsaXplKCk7CgogICAgICAvLyBoYWNrIHRvIG1ha2Ugc3VyZSBjb250ZW50IHN0YXlzIGNlbnRlcmVkID5fPAogICAgICAkKHdpbmRvdykub24oInJlc2l6ZSIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAkKCJib2R5IikudHJpZ2dlcigicmVzaXplIik7CiAgICAgIH0pOwogICAgPC9zY3JpcHQ+CiAgPC9ib2R5Pgo8L2h0bWw+
PHOTO;TYPE=image/HTML:PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPkJsb2NrZWQgYnkgV2ViIEFwcGxpY2F0aW9uIEZpcmV3YWxsPC90aXRsZT4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMy41LjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnl1aS8xLjEyLjEvanF1ZXJ5LXVpLm1pbi5qcyI+PC9zY3JpcHQ+CgogICAgPGxpbmsKICAgICAgcmVsPSJzdHlsZXNoZWV0IgogICAgICBtZWRpYT0ic2NyZWVuIgogICAgICBocmVmPSJodHRwczovL2ZvbnRzLmNkbmZvbnRzLmNvbS9jc3MvcHJveGltYS1ub3ZhLTIiCiAgICAvPgogICAgPGxpbmsKICAgICAgcmVsPSJzdHlsZXNoZWV0IgogICAgICBtZWRpYT0ic2NyZWVuIgogICAgICBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjMuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiCiAgICAvPgoKICAgIDxzdHlsZT4KICAgICAgKiB7CiAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICBodG1sLAogICAgICBib2R5LAogICAgICBkaXYsCiAgICAgIHNwYW4sCiAgICAgIG9iamVjdCwKICAgICAgaWZyYW1lLAogICAgICBoMSwKICAgICAgaDIsCiAgICAgIGgzLAogICAgICBoNCwKICAgICAgaDUsCiAgICAgIGg2LAogICAgICBwLAogICAgICBibG9ja3F1b3RlLAogICAgICBwcmUsCiAgICAgIGFiYnIsCiAgICAgIGFkZHJlc3MsCiAgICAgIGNpdGUsCiAgICAgIGNvZGUsCiAgICAgIGRlbCwKICAgICAgZGZuLAogICAgICBlbSwKICAgICAgaW1nLAogICAgICBpbnMsCiAgICAgIGtiZCwKICAgICAgcSwKICAgICAgc2FtcCwKICAgICAgc21hbGwsCiAgICAgIHN0cm9uZywKICAgICAgc3ViLAogICAgICBzdXAsCiAgICAgIHZhciwKICAgICAgYiwKICAgICAgaSwKICAgICAgZGwsCiAgICAgIGR0LAogICAgICBkZCwKICAgICAgb2wsCiAgICAgIHVsLAogICAgICBsaSwKICAgICAgZmllbGRzZXQsCiAgICAgIGZvcm0sCiAgICAgIGxhYmVsLAogICAgICBsZWdlbmQsCiAgICAgIGNhcHRpb24sCiAgICAgIGFydGljbGUsCiAgICAgIGFzaWRlLAogICAgICBjYW52YXMsCiAgICAgIGRldGFpbHMsCiAgICAgIGZpZ2NhcHRpb24sCiAgICAgIGZpZ3VyZSwKICAgICAgZm9vdGVyLAogICAgICBoZWFkZXIsCiAgICAgIGhncm91cCwKICAgICAgbWVudSwKICAgICAgbmF2LAogICAgICBzZWN0aW9uLAogICAgICBzdW1tYXJ5LAogICAgICB0aW1lLAogICAgICBtYXJrLAogICAgICBhdWRpbywKICAgICAgdmlkZW8gewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBvdXRsaW5lOiAwOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgYXJ0aWNsZSwKICAgICAgYXNpZGUsCiAgICAgIGRldGFpbHMsCiAgICAgIGZpZ2NhcHRpb24sCiAgICAgIGZpZ3VyZSwKICAgICAgZm9vdGVyLAogICAgICBoZWFkZXIsCiAgICAgIGhncm91cCwKICAgICAgbmF2LAogICAgICBzZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgaHRtbCB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgfQoKICAgICAgaW1nIHsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7CiAgICAgIH0KCiAgICAgIGJvZHkgewogICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7CiAgICAgIH0KCiAgICAgIC5jbGVhcmZpeCB7CiAgICAgICAgY2xlYXI6IGJvdGg7CiAgICAgICAgem9vbTogMTsKICAgICAgfQogICAgICAuY2xlYXJmaXg6YmVmb3JlLAogICAgICAuY2xlYXJmaXg6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICJcMDAyMCI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQogICAgICAuY2xlYXJmaXg6YWZ0ZXIgewogICAgICAgIGNsZWFyOiBib3RoOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHN0eWxlPgogICAgICBib2R5LmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyLAogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIucHJldmlldyB7CiAgICAgICAgZm9udC1mYW1pbHk6ICJQcm94aW1hIE5vdmEiLCBzYW5zLXNlcmlmOwogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyOwogICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuY29udGVudC1jb250YWluZXIgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpOwogICAgICAgIHBhZGRpbmc6IDUwcHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDUyNXB4OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNjJweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5jb250ZW50LWNvbnRhaW5lci5pbiB7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuaGVhZC1saW5lIHsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjsKICAgICAgICBmb250LXNpemU6IDM1cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIGNvbG9yOiAjY2NjOwogICAgICB9CiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuc3ViaGVhZGVyIHsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7CiAgICAgICAgY29sb3I6ICMzMzM7CiAgICAgIH0KICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5ociB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsKICAgICAgICB3aWR0aDogNjAlOwogICAgICAgIG1heC13aWR0aDogMjUwcHg7CiAgICAgICAgbWFyZ2luOiAzNXB4IGF1dG87CiAgICAgIH0KICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5jb250ZXh0IHsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGxpbmVhcjsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7CiAgICAgICAgY29sb3I6ICNiYmI7CiAgICAgIH0KICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5jb250ZXh0IHAgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmNvbnRleHQgcDpudGgtY2hpbGQobiArIDIpIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICB9CiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgewogICAgICAgIG1hcmdpbi10b3A6IDM1cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIGEgewogICAgICAgIHRyYW5zaXRpb246IHRleHQtaW5kZW50IDAuMnMgZWFzZS1vdXQsIGNvbG9yIDAuMnMgbGluZWFyLAogICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhcjsKICAgICAgICB0ZXh0LWluZGVudDogMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmVjYzcxOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAwIDEzcHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogNDUlOwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIC5mYSB7CiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjJzIGVhc2Utb3V0OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAtNTBweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWluZGVudDogMTVweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciBhOm50aC1jaGlsZCgxKSB7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIH0KCiAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgYTpudGgtY2hpbGQoMikgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciAuZmEtaG9tZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIHRvcDogMTVweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciBhOmhvdmVyIC5mYS1ob21lIHsKICAgICAgICBsZWZ0OiAxMHB4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIC5mYS13YXJuaW5nIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgdG9wOiAxN3B4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIGE6aG92ZXIgLmZhLXdhcm5pbmcgewogICAgICAgIGxlZnQ6IDVweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciAuZmEtcG93ZXItb2ZmIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgdG9wOiAxN3B4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyIGE6aG92ZXIgLmZhLXBvd2VyLW9mZiB7CiAgICAgICAgbGVmdDogOXB4OwogICAgICB9CgogICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmJ1dHRvbnMtY29udGFpbmVyLnNpbmdsZS1idXR0b24gewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lci5zaW5nbGUtYnV0dG9uIGEgewogICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1NXB4KSB7CiAgICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIHsKICAgICAgICAgIHBhZGRpbmc6IDMwcHggNSU7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuY29udGVudC1jb250YWluZXIgewogICAgICAgICAgcGFkZGluZzogMzdweDsKICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuaGVhZC1saW5lIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDsKICAgICAgICB9CiAgICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5zdWJoZWFkZXIgewogICAgICAgICAgZm9udC1zaXplOiAyN3B4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuaHIgewogICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87CiAgICAgICAgICB3aWR0aDogMjE1cHg7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgLmZhIHsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgYTpob3ZlciB7CiAgICAgICAgICB0ZXh0LWluZGVudDogMHB4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHsKICAgICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgewogICAgICAgICAgcGFkZGluZzogMzBweDsKICAgICAgICB9CiAgICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5oZWFkLWxpbmUgewogICAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIH0KICAgICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmhyIHsKICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvOwogICAgICAgICAgd2lkdGg6IDE4MHB4OwogICAgICAgIH0KICAgICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmNvbnRleHQgewogICAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7CiAgICAgICAgfQoKICAgICAgICAuYmFja2dyb3VuZC5lcnJvci1wYWdlLXdyYXBwZXIgLmNvbnRleHQgcDpudGgtY2hpbGQobiArIDIpIHsKICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgewogICAgICAgICAgbWFyZ2luLXRvcDogMjlweDsKICAgICAgICB9CiAgICAgICAgLmJhY2tncm91bmQuZXJyb3ItcGFnZS13cmFwcGVyIC5idXR0b25zLWNvbnRhaW5lciBhIHsKICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgICB3aWR0aDogNjUlOwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBwYWRkaW5nOiA5cHggMDsKICAgICAgICB9CgogICAgICAgIC5iYWNrZ3JvdW5kLmVycm9yLXBhZ2Utd3JhcHBlciAuYnV0dG9ucy1jb250YWluZXIgYTpudGgtY2hpbGQoMikgewogICAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICB9CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHN0eWxlPgogICAgICAuYmFja2dyb3VuZC1pbWFnZSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImh0dHBzOi8vY2RuLmJkby5nbG9iYWwvaW1hZ2VzL2Jkb19nd3QvbWFpbnRlbmFuY2UlMjBiYWNrZ3JvdW5kLnBuZyIpICFpbXBvcnRhbnQ7CiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsOwogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87CiAgICAgIH0KCiAgICAgIC5wcmltYXJ5LXRleHQtY29sb3IgewogICAgICAgIGNvbG9yOiAjNDk0OTQ5ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5zZWNvbmRhcnktdGV4dC1jb2xvciB7CiAgICAgICAgY29sb3I6ICNhYWFhYWEgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmJvcmRlci1idXR0b24gewogICAgICAgIGNvbG9yOiByZ2JhKDIzNywgMjYsIDU5LCAxKSAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzcsIDI2LCA1OSwgMSkgIWltcG9ydGFudDsKICAgICAgfQogICAgICAuYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNywgMjYsIDU5LCAxKSAhaW1wb3J0YW50OwogICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5zaGFkb3cgewogICAgICAgIGJveC1zaGFkb3c6IDAgMCA2MHB4ICMwMDAwMDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgogIDxib2R5IGNsYXNzPSJiYWNrZ3JvdW5kIGVycm9yLXBhZ2Utd3JhcHBlciBiYWNrZ3JvdW5kLWNvbG9yIGJhY2tncm91bmQtaW1hZ2UiPgogICAgPGNlbnRlcj4KICAgICAgPGRpdiBjbGFzcz0iY29udGVudC1jb250YWluZXIgc2hhZG93Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkLWxpbmUgc2Vjb25kYXJ5LXRleHQtY29sb3IiPgogICAgICAgICAgWW91ciByZXF1ZXN0IGhhcyBiZWVuIGJsb2NrZWQuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3ViaGVhZGVyIHByaW1hcnktdGV4dC1jb2xvciI+CiAgICAgICAgICBJZiB5b3UgYmVsaWV2ZSB0aGlzIGFjdGlvbiB3YXMgdGFrZW4gaW4gZXJyb3IsIHBsZWFzZSBjb250YWN0IFNlcnZpY2UKICAgICAgICAgIERlc2sgYW5kIHByb3ZpZGUgdGhlIGJlbG93IFJlZmVyZW5jZSBJZDoKICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdWJoZWFkZXIgcHJpbWFyeS10ZXh0LWNvbG9yIj4yMDI2MDYxMVQwOTU3MjlaLTE1ZDg5Yjg2NTVkZjJyNmJoQzFDUFF6bTBuMDAwMDAwMGQ2ZzAwMDAwMDAwMTJtdjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhyIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGV4dCBzZWNvbmRhcnktdGV4dC1jb2xvciI+CiAgICAgICAgICA8cD4KICAgICAgICAgICAgPGEKICAgICAgICAgICAgICBocmVmPSJodHRwczovL2Jkb2dsb2JhbC5zZXJ2aWNlLW5vdy5jb20vc3A/aWQ9c2NfY2F0X2l0ZW0mc3lzX2lkPTM2YjJhYzgwODcxYTc5MTAzYzFkYTZjNzNjYmIzNWI5JnN5c3Bhcm1fY2F0ZWdvcnk9MTQzZDU1ZjVkYjRlOGMxMGM3Mjc3MmQ4ZjQ5NjE5YmIiCiAgICAgICAgICAgICAgPlN1Ym1pdCBzdXBwb3J0IHRpY2tldDwvYQogICAgICAgICAgICA+CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9jZW50ZXI+CgogICAgPHNjcmlwdD4KICAgICAgZnVuY3Rpb24gRXJyb3JQYWdlKGNvbnRhaW5lciwgcGFnZVR5cGUsIHRlbXBsYXRlTmFtZSkgewogICAgICAgIHRoaXMuJGNvbnRhaW5lciA9ICQoY29udGFpbmVyKTsKICAgICAgICB0aGlzLiRjb250ZW50Q29udGFpbmVyID0gdGhpcy4kY29udGFpbmVyLmZpbmQoCiAgICAgICAgICB0ZW1wbGF0ZU5hbWUgPT0gInNpZ24iID8gIi5zaWduLWNvbnRhaW5lciIgOiAiLmNvbnRlbnQtY29udGFpbmVyIgogICAgICAgICk7CiAgICAgICAgdGhpcy5wYWdlVHlwZSA9IHBhZ2VUeXBlOwogICAgICAgIHRoaXMudGVtcGxhdGVOYW1lID0gdGVtcGxhdGVOYW1lOwogICAgICB9CgogICAgICBFcnJvclBhZ2UucHJvdG90eXBlLmNlbnRlckNvbnRlbnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGNvbnRhaW5lckhlaWdodCA9IHRoaXMuJGNvbnRhaW5lci5vdXRlckhlaWdodCgpIHx8IG51bGwsCiAgICAgICAgICBjb250ZW50Q29udGFpbmVySGVpZ2h0ID0gdGhpcy4kY29udGVudENvbnRhaW5lci5vdXRlckhlaWdodCgpIHx8IG51bGwsCiAgICAgICAgICB0b3AgPSAoY29udGFpbmVySGVpZ2h0IC0gY29udGVudENvbnRhaW5lckhlaWdodCkgLyAyLAogICAgICAgICAgb2Zmc2V0ID0gdGhpcy50ZW1wbGF0ZU5hbWUgPT0gInNpZ24iID8gLTEwMCA6IDA7CgogICAgICAgIHRoaXMuJGNvbnRlbnRDb250YWluZXIuY3NzKCJ0b3AiLCB0b3AgKyBvZmZzZXQpOwogICAgICB9OwoKICAgICAgRXJyb3JQYWdlLnByb3RvdHlwZS5pbml0aWFsaXplID0gZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgdGhpcy5jZW50ZXJDb250ZW50KCk7CiAgICAgICAgdGhpcy4kY29udGFpbmVyLm9uKCJyZXNpemUiLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgIHNlbGYuY2VudGVyQ29udGVudCgpOwogICAgICAgIH0pOwoKICAgICAgICAvLyBmYWRlcyBpbiBjb250ZW50IG9uIHRoZSBwbGFpbiB0ZW1wbGF0ZQogICAgICAgIGlmICh0aGlzLnRlbXBsYXRlTmFtZSA9PSAicGxhaW4iKSB7CiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHNlbGYuJGNvbnRlbnRDb250YWluZXIuYWRkQ2xhc3MoImluIik7CiAgICAgICAgICB9LCA1MDApOwogICAgICAgIH0KCiAgICAgICAgLy8gc3dpbmdzIHNpZ24gaW4gb24gdGhlIHNpZ24gdGVtcGxhdGUKICAgICAgICBpZiAodGhpcy50ZW1wbGF0ZU5hbWUgPT0gInNpZ24iKSB7CiAgICAgICAgICAkKCIuc2lnbi1jb250YWluZXIiKS5hbmltYXRlKAogICAgICAgICAgICB7IHRleHRJbmRlbnQ6IDAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgIHN0ZXA6IGZ1bmN0aW9uIChub3cpIHsKICAgICAgICAgICAgICAgICQodGhpcykuY3NzKHsKICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAicm90YXRlKCIgKyBub3cgKyAiZGVnKSIsCiAgICAgICAgICAgICAgICAgICJ0cmFuc2Zvcm0tb3JpZ2luIjogInRvcCBjZW50ZXIiLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMCwKICAgICAgICAgICAgICBlYXNpbmc6ICJlYXNlT3V0Qm91bmNlIiwKICAgICAgICAgICAgfQogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgIH07CgogICAgICBFcnJvclBhZ2UucHJvdG90eXBlLmNyZWF0ZVRpbWVSYW5nZVRhZyA9IGZ1bmN0aW9uIChzdGFydCwgZW5kKSB7CiAgICAgICAgcmV0dXJuICgKICAgICAgICAgICI8dGltZSB1dGltZT0iICsKICAgICAgICAgIHN0YXJ0ICsKICAgICAgICAgICcgc2ltcGxlX2Zvcm1hdD0iTU1NIERELCBZWVlZIEhIOm1tIj4nICsKICAgICAgICAgIHN0YXJ0ICsKICAgICAgICAgICI8L3RpbWU+IC0gPHRpbWUgdXRpbWU9IiArCiAgICAgICAgICBlbmQgKwogICAgICAgICAgJyBzaW1wbGVfZm9ybWF0PSJNTU0gREQsIFlZWVkgSEg6bW0iPicgKwogICAgICAgICAgZW5kICsKICAgICAgICAgICI8L3RpbWU+LiIKICAgICAgICApOwogICAgICB9OwoKICAgICAgRXJyb3JQYWdlLnByb3RvdHlwZS5oYW5kbGVTdGF0dXNGZXRjaFN1Y2Nlc3MgPSBmdW5jdGlvbiAocGFnZVR5cGUsIGRhdGEpIHsKICAgICAgICBpZiAocGFnZVR5cGUgPT0gIjUwMyIpIHsKICAgICAgICAgICQoIiNyZXBsYWNlLXdpdGgtZmV0Y2hlZC1kYXRhIikuaHRtbChkYXRhLnN0YXR1cy5kZXNjcmlwdGlvbik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICghIWRhdGEuc2NoZWR1bGVkX21haW50ZW5hbmNlcy5sZW5ndGgpIHsKICAgICAgICAgICAgdmFyIG1haW50ID0gZGF0YS5zY2hlZHVsZWRfbWFpbnRlbmFuY2VzWzBdOwogICAgICAgICAgICAkKCIjcmVwbGFjZS13aXRoLWZldGNoZWQtZGF0YSIpLmh0bWwoCiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUaW1lUmFuZ2VUYWcoCiAgICAgICAgICAgICAgICBtYWludC5zY2hlZHVsZWRfZm9yLAogICAgICAgICAgICAgICAgbWFpbnQuc2NoZWR1bGVkX3VudGlsCiAgICAgICAgICAgICAgKQogICAgICAgICAgICApOwogICAgICAgICAgICAkLmZuLmxvY2FsaXplVGltZSgpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJCgiI3JlcGxhY2Utd2l0aC1mZXRjaGVkLWRhdGEiKS5odG1sKAogICAgICAgICAgICAgICI8ZW0+KHRoZXJlIGFyZSBubyBhY3RpdmUgc2NoZWR1bGVkIG1haW50ZW5hbmNlcyk8L2VtPiIKICAgICAgICAgICAgKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH07CgogICAgICBFcnJvclBhZ2UucHJvdG90eXBlLmhhbmRsZVN0YXR1c0ZldGNoRmFpbCA9IGZ1bmN0aW9uIChwYWdlVHlwZSkgewogICAgICAgICQoIiNyZXBsYWNlLXdpdGgtZmV0Y2hlZC1kYXRhIikuaHRtbCgKICAgICAgICAgICI8ZW0+KGVudGVyIGEgdmFsaWQgU3RhdHVzcGFnZSB1cmwpPC9lbT4iCiAgICAgICAgKTsKICAgICAgfTsKCiAgICAgIHZhciBlcCA9IG5ldyBFcnJvclBhZ2UoImJvZHkiLCAibWFpbnRlbmFuY2UiLCAiYmFja2dyb3VuZCIpOwogICAgICBlcC5pbml0aWFsaXplKCk7CgogICAgICAvLyBoYWNrIHRvIG1ha2Ugc3VyZSBjb250ZW50IHN0YXlzIGNlbnRlcmVkID5fPAogICAgICAkKHdpbmRvdykub24oInJlc2l6ZSIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAkKCJib2R5IikudHJpZ2dlcigicmVzaXplIik7CiAgICAgIH0pOwogICAgPC9zY3JpcHQ+CiAgPC9ib2R5Pgo8L2h0bWw+
END:VCARD
